用户存在指示数据管理的制作方法

文档序号:36241454发布日期:2023-12-02 03:25阅读:50来源:国知局
用户存在指示数据管理的制作方法
用户存在指示数据管理
1.优先权要求
2.本技术是
2021
年8月9日提交的美国专利申请序列号第
17/396,983
号的延续,其要求于
2021
年3月
31
日提交的美国临时申请序列号第
63/168,506
号的优先权的权益,该美国专利申请和美国临时申请通过引用整体并入本文



背景技术:

3.电子消息收发特别是即时消息收发继续在全球范围内流行

用户能够快速地即时共享电子媒体内容项,包括文本

电子图像

音频和视频

附图说明
4.在不一定按比例绘制的附图中,类似的附图标记可以描述不同视图中的类似部件

为了容易地识别对任何特定元素或动作的讨论,附图标记中的一个或多个最高位数字指该元素被首次引入时所在的图号

在附图的各图中以示例而非限制的方式示出了一些实施方式,在附图中:
5.图1是根据一些示例的其中可以部署本公开内容的联网环境的图解表示

6.图2是根据一些示例的具有客户端侧功能和服务器侧功能两者的消息收发系统的图解表示

7.图3是根据一些示例的如在数据库中维护的数据结构的图解表示

8.图4是根据一些示例的消息的图解表示

9.图5是根据一些示例的关于访问限制处理的流程图

10.图6示出了根据一个实施方式的在对话中提供用户的存在指示符的处理

11.图7示出了根据一个实施方式的基于用户存在状况提供页面源指示符的处理

12.图8示出了根据一个实施方式的基于用户存在状况暂停页面源指示符的处理

13.图9示出了根据一个实施方式的与客户端设备上显示的存在指示符相关的用户界面

14.图
10
示出了根据一个实施方式的与客户端设备上显示的存在指示符和页面源指示符相关的用户界面

15.图
11
示出了根据一个实施方式的与客户端设备上显示的页面源指示符相关的用户界面

16.图
12
是根据一些示例的呈计算机系统形式的机器的图解表示,在该机器内可以执行一组指令以使该机器执行本文中讨论的方法中的任何一种或更多种

17.图
13
是示出可以在其中实现示例的软件架构的框图

具体实施方式
18.在消息收发系统中,用户以不同等级和不同类型的关系与各种其他用户相关联

随着社交联网系统上的用户的数目的增加,每个用户也具有她所关注的个体的增长的网


因此,为了维持用户在社交联网系统上的参与度,重要的是系统具有用于整合用户存在指示的能力,以在用户彼此交换媒体内容项时提供更具互动性和同步性的参与环境

19.消息收发系统可以实现社交联网系统或者以其他方式与社交联网系统结合工作

这样,现有的社交联网系统面临的挑战是:当用户与可从群组对话或私人对话访问的共享全屏体验页面中的其他用户一起参与活动时,在系统中创建对用户不存在的感知

例如,由消息收发应用提供的群组对话或私人对话可以包括主对话视图,从该主对话视图可以以全屏模式启动其他体验
(
例如,媒体内容
、web
链接

游戏等
)。
在对话
(
例如,消息线程
)
包括多个用户时,可能难以检测出哪个用户存在于对话中
(
例如,正在查看对话
)
,以及如果用户存在,那么他们存在于哪个用户界面中

20.本公开内容的实施方式通过向用户提供高互动性和参与度的交流环境和无缝交流体验来改进电子消息收发软件和系统的功能

具体地,消息收发系统可以使得用户能够在可从群聊或私聊的主对话视图访问的各种类型的全屏体验页面中继续交流

根据用户当前与其交互的用户界面,消息收发系统还可以在用户界面上生成并显示其他群组用户的存在指示符

下面进一步详细描述的诸如图标
(
例如,图形元素
)
的存在指示符反映其他群组用户的存在状况以及由群组用户当前访问的体验页面的类型

体验页面可以是激活的媒体内容项例如图像

视频

音频或链接的全屏显示

体验页面还可以是激活的迷你程序

游戏

与其他用户的视频通话或音频通话

或者消息收发系统中的用户可用的内容的全屏显示

21.在一些实施方式中,消息收发系统提供多个用户
(
包括第一用户和第二用户
)
之间的群组对话

群组对话包括主对话视图和可从主对话视图访问的多个体验页面

在一些实施方式中,消息收发系统确定第二用户在主对话视图或体验页面中的一者内活跃

在确定第二用户在主对话视图内活跃时,消息收发系统会提供第一图形元素以在与第一用户相关联的第一设备上显示

第一图形元素包括第二用户的化身和名称

在确定第二用户在体验页面内活跃时,消息收发系统会提供第二图形元素以在第一设备上显示

第二图形元素包括第二用户的化身和名称以及表示体验页面的类型的图标

例如,如果体验页面是图像,则图标可以是轮廓符号,例如较小版本的图像
(
例如元素
904)。
22.在一些实施方式中,在确定第二用户在主对话视图或体验页面中的一者内不再活跃时,消息收发系统提供仅包括第二用户的名称的第三图形元素

在一些实施方式中,第一图形元素和第二图形元素可以与鲜艳的颜色相关联,以使用户的“存在”或“在线”状况的表示增强,而第三图形元素可以与诸如半透明灰色的柔和的颜色相关联,以表示用户的“离开”或“离线”状况

23.在一些实施方式中,每个体验页面包括可扩展文本输入栏和第四图形元素,第四图形元素是可扩展的以显示由多个用户从主对话视图和体验页面中的每一个体验页面发送的按时间顺序排列的消息
(
例如,消息线程
)
的列表

因此,无论用户是否存在于主对话视图或体验页面中的任何一个体验页面中,用户都可以从当前页面查看所有的传入消息并且回复这些消息

24.在一些实施方式中,在消息收发系统接收到来自第一用户的消息时,系统确定第一用户和设备用户
(
例如,第二用户
)
是否在同一页面内活跃

如果他们不在同一页面内活跃,则消息收发系统可以在第二用户的用户界面上显示消息以及可选择的页面源图形元素
(
例如,页面源指示符
)。
页面源图形元素包括由第一用户当前查看的页面的指示

例如,如
果第一用户从
web
链接“xyz.com”的全屏显示发送消息,则第三图形元素可以包括示出“来自
xyz.com”作为页面源指示符的可选择的文本显示,连同对第一用户的消息和名称的显示

25.在一些实施方式中,如果消息收发系统确定第一用户和第二用户均在同一页面
(
例如,“xyz.com”)
内活跃,则消息收发系统可以暂停页面源指示符“来自
xyz.com”的显示,而仅显示第一用户的名称和消息的内容

26.经改进的消息收发系统使得用户能够通过在体验页面中的每一个中并入文本输入栏并且显示在群组对话中的全部消息线程来维持交流流程

它使得用户能够在体验页面上花费时间,同时参与与他人的对话,而不必担心仅为了查看和回复未读消息而急于返回至主对话视图

另外,存在指示符使得用户能够查看他人的存在状况以及其他用户当前正在访问的全屏体验页面的类型

这样,用户就可以在对话中随时了解他人的存在状况,以及他们当前正在访问的内容的类型

此外,经改进的消息收发系统使得用户能够查看正在被发送的特定消息的页面源,使得用户可以选择访问体验页面来参与与消息的发送者的进一步交流

经改进的消息收发系统增加了用户之间的交换媒体内容项的数目,以及用户选择在消息收发系统上花费的时间

27.联网计算环境
28.图1是示出用于通过网络来交换数据
(
例如消息和相关联的内容
)
的示例消息收发系统
100
的框图

消息收发系统
100
包括客户端设备
102
的多个实例,所述多个实例中的每一个托管包括消息收发客户端
104
和其他应用
106
的多个应用

每个消息收发客户端
104
经由网络
112(
例如,因特网
)
通信地耦接至消息收发客户端
104
的其他实例
(
例如,托管在相应的其他客户端设备
102

)、
消息收发服务器系统
108
和第三方服务器
110。
消息收发客户端
104
还可以使用应用程序接口
(api)
与本地托管的应用
106
通信

29.消息收发客户端
104
能够经由网络
112
与其他消息收发客户端
104
和消息收发服务器系统
108
通信并交换数据

在消息收发客户端
104
之间以及在消息收发客户端
104
与消息收发服务器系统
108
之间交换的数据包括功能
(
例如,激活功能的命令
)
以及有效载荷数据
(
例如,文本

音频

视频或其他多媒体数据
)。
30.消息收发服务器系统
108
经由网络
112
向特定消息收发客户端
104
提供服务器侧功能

虽然消息收发系统
100
的特定功能在本文中被描述为由消息收发客户端
104
或由消息收发服务器系统
108
执行,但是特定功能的在消息收发客户端
104
或消息收发服务器系统
108
内的定位可以是设计选择

例如,在技术上可以优选的是:最初将特定技术和功能部署在消息收发服务器系统
108
内,但是后面将该技术和功能迁移至客户端设备
102
具有足够处理能力的消息收发客户端
104。
31.消息收发服务器系统
108
支持向消息收发客户端
104
提供的各种服务和操作

这样的操作包括向消息收发客户端
104
发送数据

从消息收发客户端
104
接收数据以及对由消息收发客户端
104
生成的数据进行处理

作为示例,该数据可以包括消息内容

客户端设备信息

地理定位信息

媒体增强和覆盖

消息内容持续条件

社交网络信息和实况事件信息

通过经由消息收发客户端
104
的用户界面可用的功能来激活和控制消息收发系统
100
内的数据交换

32.现在具体地转至消息收发服务器系统
108

api
服务器
116
耦接至应用服务器
114

且向应用服务器
114
提供编程接口

应用服务器
114
通信地耦接至数据库服务器
120
,数据库服务器
120
有助于对数据库
126
进行访问,数据库
126
存储与由应用服务器
114
处理的消息相关联的数据

类似地,
web
服务器
128
耦接至应用服务器
114
,并且向应用服务器
114
提供基于
web
的接口

为此,
web
服务器
128
通过超文本传输协议
(http)
和若干其他相关协议处理传入的网络请求

33.api
服务器
116
在客户端设备
102
与应用服务器
114
之间接收和发送消息数据
(
例如,命令和消息有效载荷
)。
具体地,
api
服务器
116
提供一组接口
(
例如,例程和协议
)
,消息收发客户端
104
可以调用或查询该组接口以激活应用服务器
114
的功能
。api
服务器
116
公开应用服务器
114
所支持的各种功能,包括:账户注册;登录功能;经由应用服务器
114
从特定消息收发客户端
104
向另一消息收发客户端
104
发送消息,从消息收发客户端
104
向消息收发服务器
118
发送媒体文件
(
例如,图像或视频
)
并用于另一消息收发客户端
104
的可能访问;设置媒体数据的集合
(
例如,故事
)
;检索客户端设备
102
的用户的朋友列表;检索这样的集合;检索消息和内容;对实体图
(
例如,社交图
)
添加和删除实体
(
例如,朋友
)
;在社交图内定位朋友;以及打开应用事件
(
例如,与消息收发客户端
104
有关
)。
34.应用服务器
114
托管多个服务器应用和子系统,包括消息收发服务器
118、
图像处理服务器
122
以及社交网络服务器
124。
消息收发服务器
118
实现了多个消息处理技术和功能,特别是与从消息收发客户端
104
的多个实例接收到的消息中包括的内容
(
例如,文本和多媒体内容
)
的聚合和其他处理相关的消息处理技术和功能

如将进一步详细地描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合
(
例如,被称为故事或图库
(gallery))。
然后,使这些集合对消息收发客户端
104
可用

鉴于对这样的处理的硬件要求,也可以由消息收发服务器
118
在服务器侧执行数据的其他处理器和存储器密集型处理

35.应用服务器
114
还包括图像处理服务器
122
,该图像处理服务器
122
专用于执行各种图像处理操作,通常关于在从消息收发服务器
118
发送或者在消息收发服务器
118
处接收的消息的有效载荷内的图像或视频,执行各种图像处理操作

36.社交网络服务器
124
支持各种社交联网功能和服务,并且使这些功能和服务可用于消息收发服务器
118。
为此,社交网络服务器
124
维护并访问数据库
126
内的实体图
308(
如图3所示
)。
由社交网络服务器
124
支持的功能和服务的示例包括识别消息收发系统
100
中的特定用户与之有关系或该特定用户正在“关注”的其他用户,以及识别特定用户的兴趣和其他实体

37.返回到消息收发客户端
104
,外部源
(
例如,应用
106、
小程序
(mini-program)
或小应用
(applet))
的特征和功能经由消息收发客户端
104
的接口对用户可用

在该上下文中,“外部”是指应用
106
或小应用在消息收发客户端
104
外部的事实

外部源通常由第三方提供,但是也可以由消息收发客户端
104
的创建者或提供者提供

消息收发客户端
104
接收对用于启动或访问这样的外部源的特征的选项的用户选择

外部源可以是安装在客户端设备
102
上的应用
106(
例如,“本地
app”)
,或者托管在客户端设备
102
上或者远离客户端设备
102(
例如,在第三方服务器
110

)
的应用的小规模版本
(
例如,“小应用”)。
应用的小规模版本包括应用
(
例如,应用的完整规模

本地版本
)
的特征和功能的子集,并且使用标记语言文档来实现

在一些实施方式中,应用的小规模版本
(
例如“小应用”)
是应用的基于
web
的标记语言版本,并且被嵌入在消息收发客户端
104


除了使用标记语言文档
(
例如,
*ml
文件
)

外,小应用可以并入脚本语言
(
例如,
.*js
文件或
.json
文件
)
和样式表
(
例如,
*ss
文件
)。
38.响应于接收到对启动或访问外部资源的特征的选项的用户选择,消息收发客户端
104
确定所选择的外部源是基于
web
的外部源还是本地安装的应用
106。
在一些情况下,可以例如通过在客户端设备
102
的主页画面上选择与应用
106
对应的图标而独立于消息收发客户端
104
并且与消息收发客户端
104
分开启动本地安装在客户端设备
102
上的应用
106。
这样的小规模版本的应用可以经由消息收发客户端
104
启动或访问,并且在一些实施方式中,小规模应用中的各部分都不能在消息收发客户端
104
之外被访问或者小规模应用的有限的部分可以在消息收发客户端
104
之外被访问

可以通过消息收发客户端
104
例如从第三方服务器
110
接收与小规模应用相关联的标记语言文档并处理这样的文档来启动小规模应用

39.响应于确定外部资源是本地安装的应用
106
,消息收发客户端
104
通过执行与外部资源对应的本地存储的代码来指示客户端设备
102
启动外部资源

响应于确定外部资源是基于
web
的资源,消息收发客户端
104

(
例如
)
第三方服务器
110
通信以获得与所选择的外部资源对应的标记语言文档

然后消息收发客户端
104
处理获得的标记语言文档以在消息收发客户端
104
的用户界面内呈现基于
web
的外部资源

40.消息收发客户端
104
可以向客户端设备
102
的用户或与这样的用户有关的其他用户
(
例如,“朋友”)
通知一个或更多个外部资源中正发生的活动

例如,消息收发客户端
104
可以向消息收发客户端
104
中的对话
(
例如,聊天会话
)
的参与者提供与用户群组中的一个或更多个成员当前或最近使用外部资源有关的通知

可以邀请一个或更多个用户加入活跃的外部资源或者启动
(
在朋友群组中
)
最近使用过但当前不活跃的外部资源

外部资源可以向对话中的各自使用相应的消息收发客户端
104
的参与者提供与用户群组中的一个或更多个成员将外部资源中的项目

状况

状态或位置共享到聊天会话中的能力

共享项可以是交互式聊天卡,聊天的成员可以利用该交互式聊天卡进行交互,例如,以启动对应的外部资源

查看外部资源内的特定信息或将聊天的成员带到外部资源内的特定位置或状态

在给定的外部资源内,可以在消息收发客户端
104
上向用户发送响应消息

外部资源可以基于外部资源的当前情境在响应中选择性地包括不同的媒体项

41.消息收发客户端
104
可以向用户呈现可用外部资源
(
例如,应用
106
或小应用
)
的列表以启动或访问给定的外部资源

该列表可以呈现在上下文敏感菜单中

例如,表示应用
106(
或小应用
)
中的不同应用的图标可以基于用户如何启动菜单
(
例如,从对话界面或从非对话界面
)
而变化

42.系统架构
43.图2是示出根据一些示例的关于消息收发系统
100
的其他细节的框图

具体地,消息收发系统
100
被示出为包括消息收发客户端
104
和应用服务器
114。
消息收发系统
100
包含多个子系统,这些子系统在客户端侧由消息收发客户端
104
支持并且在服务器侧由应用服务器
114
支持

这些子系统包括例如短暂定时器系统
202、
集合管理系统
204、
增强系统
208、
地图系统
210、
游戏系统
212、
外部资源系统
214
和存在指示数据管理系统
216。
44.短暂定时器系统
202
负责强制由消息收发客户端
104
和消息收发服务器
118
对内容的临时或限时访问

短暂定时器系统
202
包含多个定时器,这些定时器基于与消息或消息的集合
(
例如,故事
)
相关联的持续时间和显示参数,选择性地实现经由消息收发客户端
104
访问
(
例如,用于呈现和显示
)
消息和相关联的内容

下面提供关于短暂定时器系统
202
的操作
的其他细节

45.集合管理系统
204
负责管理媒体的集或集合
(
例如,文本

图像

视频和音频数据的集合
)。
可以将内容
(
例如,消息,包括图像

视频

文本和音频
)
的集合组织成“事件图库”或“事件故事”。
可以使这样的集合在指定时间段
(
例如,与内容有关的事件的持续时间
)
内可用

例如,可以在音乐会的持续时间内使与音乐会有关的内容作为“故事”可用

集合管理系统
204
还可以负责向消息收发客户端
104
的用户界面发布提供特定集合的存在的通知的图标

46.此外,集合管理系统
204
包括使得集合管理器能够管理和策展特定内容集合的策展接口
206。
例如,策展接口
206
使得事件组织者能够策展与特定事件有关的内容的集合
(
例如,删除不适当的内容或冗余消息
)。
此外,集合管理系统
204
采用机器视觉
(
或图像识别技术
)
和内容规则来自动地策展内容集合

在某些示例中,可以向用户支付补偿以用于将用户生成的内容包括到集合中

在这样的情况下,集合管理系统
204
进行操作以自动地向这样的用户进行支付以使用用户的内容

47.增强系统
208
提供使得用户能够增强
(
例如,注解或以其他方式修改或编辑
)
与消息相关联的媒体内容的各种功能

例如,增强系统
208
提供与生成和发布用于由消息收发系统
100
处理的消息的媒体覆盖
(media overlay)
有关的功能

增强系统
208
基于客户端设备
102
的地理定位可操作地向消息收发客户端
104
提供媒体覆盖或增强
(
例如,图像过滤器
)。
在另一示例中,增强系统
208
基于诸如客户端设备
102
的用户的社交网络信息的其他信息可操作地向消息收发客户端
104
供应媒体覆盖

媒体覆盖可以包括音频和视觉内容以及视觉效果

音频和视觉内容的示例包括图片

文本

标识

动画和声音效果

视觉效果的示例包括颜色覆盖

音频和视觉内容或视觉效果可以被应用于客户端设备
102
处的媒体内容项
(
例如,照片
)。
例如,媒体覆盖可以包括可以覆盖在由客户端设备
102
拍摄的照片之上的文本或图像

在另一示例中,媒体覆盖包括定位标识
(
例如,威尼斯海滩
)
覆盖

实况事件的名称或商家名称
(
例如,海滩咖啡馆
)
覆盖

在另一示例中,增强系统
208
使用客户端设备
102
的地理定位来识别包括客户端设备
102
的地理定位处的商家名称的媒体覆盖

媒体覆盖可以包括与商家相关联的其他标志

媒体覆盖可以存储在数据库
126
中并通过数据库服务器
120
进行访问

48.在一些实施方式中,增强系统
208
提供基于用户的发布平台,该基于用户的发布平台使得用户能够选择地图上的地理定位并上传与所选择的地理定位相关联的内容

用户还可以指定应当向其他用户提供特定媒体覆盖的环境

增强系统
208
生成媒体覆盖,该媒体覆盖包括所上传的内容并将所上传的内容与所选择的地理定位相关联

49.在其他示例中,增强系统
208
提供基于商家的发布平台,该基于商家的发布平台使得商家能够经由投标处理来选择与地理定位相关联的特定媒体覆盖

例如,增强系统
208
使最高出价商家的媒体覆盖与对应地理定位相关联达预定义时间量

50.地图系统
210
提供各种地理定位功能,并且支持由消息收发客户端
104
呈现基于地图的媒体内容和消息

例如,地图系统
210
使得能够在地图上显示
(
例如,存储在简档数据
316
中的
)
用户图标或化身,以在地图上下文内指示用户的“朋友”的当前定位或过去定位以及由这样的朋友生成的媒体内容
(
例如,包括照片和视频的消息的集合
)。
例如,可以在消息收发客户端
104
的地图界面上将用户从特定地理定位发布到消息收发系统
100
的消息在地
图的该特殊定位的上下文内显示给特定用户的“朋友”。
用户还可以经由消息收发客户端
104
与消息收发系统
100
的其他用户
(
例如,使用适当的状况化身
)
分享他或她的定位和状况信息,其中,该定位和状况信息在消息收发客户端
104
的地图界面的上下文内被类似地显示给选择的用户

51.游戏系统
212
在消息收发客户端
104
的上下文中提供各种游戏功能

消息收发客户端
104
提供游戏界面,该游戏界面提供可用游戏的列表,该游戏可以由用户在消息收发客户端
104
的上下文中启动并与消息收发系统
100
的其他用户一起玩

消息收发系统
100
还使特定用户能够通过从消息收发客户端
104
向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏

消息收发客户端
104
还支持游戏上下文内的语音消息收发和文本消息收发两者
(
例如,聊天
)
,为游戏提供排行榜,并且还支持提供游戏内奖励
(
例如,游戏币和物品
)。
52.外部资源系统
214
为消息收发客户端
104
提供接口以与远程服务器
(
例如,第三方服务器
110)
进行通信以启动或访问外部资源,即应用或小应用

外部资源可以是小程序

每个第三方服务器
110
托管例如基于标记语言
(
例如,
html5)
的应用或小规模版本的应用
(
例如,入场券

游戏

实用程序

支付或乘车共享应用
)。
消息收发客户端
104
可以通过从与基于
web
的资源相关联的第三方服务器
110
访问
html5
文件来启动基于
web
的资源
(
例如,应用
)。
在某些示例中,利用由消息收发服务器
118
提供的软件开发工具包
(sdk)

javascript
对由第三方服务器
110
托管的应用进行编程
。sdk
包括具有可以由基于
web
的应用调用或激活的功能的
api。
在某些示例中,消息收发服务器
118
包括
javascript
库,该库向给定的外部资源提供对消息收发客户端
104
的某些用户数据的访问
。html5
被用作用于对游戏进行编程的示例技术,但是可以使用基于其他技术编程的应用和资源

53.为了将
sdk
的功能集成到基于
web
的资源中,
sdk
由第三方服务器
110
从消息收发服务器
118
下载,或者由第三方服务器
110
以其他方式接收

一旦被下载或接收,
sdk
被包括作为基于
web
的外部资源的应用代码的一部分

然后,基于
web
的资源的代码可以调用或激活
sdk
的某些功能以将消息收发客户端
104
的特征集成到基于
web
的资源中

54.存储在消息收发服务器
118
上的
sdk
有效地提供外部资源
(
例如,应用
106
或小应用
)
与消息收发客户端
104
之间的桥接

这为用户提供了在消息收发客户端
104
上与其他用户交流的无缝体验,同时还保留了消息收发客户端
104
的外观和感觉

为了桥接外部资源与消息收发客户端
104
之间的通信,在某些示例中,
sdk
有助于第三方服务器
110
与消息收发客户端
104
之间的通信

在某些示例中,在客户端设备
102
上运行的
webviewjavascriptbridge
在外部资源与消息收发客户端
104
之间建立两个单向通信通道

消息经由这些通信通道在外部资源与消息收发客户端
104
之间异步发送

每个
sdk
功能激活被作为消息和回调来发送

每个
sdk
功能通过构造唯一的回调标识符并发送具有该回调标识符的消息来实现

55.通过使用
sdk
,并非来自消息收发客户端
104
的所有信息都与第三方服务器
110
共享
。sdk
基于外部资源的需要来限制共享哪些信息

在某些示例中,每个第三方服务器
110
向消息收发服务器
118
提供与基于
web
的外部资源对应的
html5
文件

消息收发服务器
118
可以在消息收发客户端
104
中添加基于
web
的外部资源的视觉表示
(
例如,盒设计或其他图形
)。
一旦用户通过消息收发客户端
104
的图形用户界面选择视觉表示或者指示消息收发客户端
104
访问基于
web
的外部资源的特征,消息收发客户端
104
则获得
html5
文件并且使访问基于
web
的外部资源的特征所需的资源实例化

56.在一些实施方式中,基于
web
的外部资源例如小程序的视觉表示可从主对话视图或体验页面访问

在对指示消息收发客户端
104
启动的视觉表示的用户选择后,生成基于
web
的外部资源类型的体验页面
(
例如,图
10
中的用户界面
1010

1020)
,以用于访问基于
web
的外部资源的特征

体验页面可以包括文本输入栏和可扩展以显示消息线程的图形元素

57.消息收发客户端
104
呈现用于外部资源的图形用户界面
(
例如,登录页面或标题画面
)。
在呈现登陆页面或标题画面期间

之前或之后,消息收发客户端
104
确定所启动的外部资源是否先前已被授权访问消息收发客户端
104
的用户数据

响应于确定所启动的外部资源先前已被授权访问消息收发客户端
104
的用户数据,消息收发客户端
104
呈现外部资源的另一图形用户界面,该界面包括外部资源的功能和特征

响应于确定所启动的外部资源先前未被授权访问消息收发客户端
104
的用户数据,在显示外部资源的登录页面或标题画面的阈值时间段
(
例如,3秒
)
之后,消息收发客户端
104
向上滑动用于授权外部资源访问用户数据的菜单
(
例如,将菜单动画化为从屏幕底部或中间部分或者屏幕的其他部分浮现
)。
该菜单标识了外部资源将被授权使用的用户数据类型

响应于接收到对接受选项的用户选择,消息收发客户端
104
将外部资源添加至授权的外部资源的列表,并且允许外部资源从消息收发客户端
104
访问用户数据

在一些实施方式中,由消息收发客户端
104
根据
oauth2
框架来授权外部资源访问用户数据

58.消息收发客户端
104
基于被授权的外部资源类型来控制与外部资源共享的用户数据类型

例如,包括完整规模的应用
(
例如,应用
106)
的外部资源被提供有对第一类型的用户数据
(
例如,仅用户的具有或不具有不同化身特征的二维化身
)
的访问

作为另一示例,包括小规模版本的应用
(
例如,基于
web
的版本的应用
)
的外部资源被提供有对第二类型的用户数据
(
例如,支付信息

用户的二维化身

用户的三维化身

以及具有各种化身特征的化身
)
的访问

化身特性包括定制化身的外观和感觉
(
例如,不同姿势

面部特征

服装等
)
的不同方式

59.存在指示数据管理系统
216
提供了使得用户能够在群组对话中随时了解他人的存在的高互动性和参与度的交流环境

在一些实施方式中,存在指示数据管理系统
216
使得用户能够在可从群组对话的主对话视图访问的各种类型的全屏体验页面中继续进行交流

存在指示数据管理系统
216
可以在主对话视图或体验页面上生成并显示其他群组用户的用户存在指示符

存在指示符表示其他群组用户的存在状况以及由群组用户当前访问的体验页面的类型

60.在一些实施方式中,存在指示数据管理系统
216
生成并显示指示从其发送消息的页面源的页面源图形元素

可以激活页面源图形元素,以将用户重定向到源页面

61.在一些实施方式中,存在指示数据管理系统
216
生成并显示可扩展文本输入栏和从主对话视图和体验页面中活跃的群组用户接收的按时间顺序排列的消息
(
例如,如图
10
所示的包括消息
1008、1018

1006
的消息线程
)
的列表

62.数据架构
63.图3是示出根据某些示例的可以存储在消息收发服务器系统
108
的数据库
126
中的数据结构
300
的示意图

虽然数据库
126
的内容被示出为包括多个表,但将理解的是,可以以其他类型的数据结构来存储数据
(
例如,作为面向对象的数据库
)。
64.数据库
126
包括存储在消息表
302
内的消息数据

对于任何特定的一个消息,该消息数据包括至少消息发送者数据

消息接收方
(
或接收者
)
数据和有效载荷

下面参照图4描述关于可以被包括在消息中并且被包括在存储在消息表
302
中的消息数据内的信息的另外的细节

65.实体表
306
存储实体数据,并且
(
例如,参考地
)
链接到实体图
308
和简档数据
316。
在实体表
306
内为其维持记录的实体可以包括个人

公司实体

组织

对象

地点

事件等

无论实体类型如何,消息收发服务器系统
108
存储关于其的数据的任何实体可以是识别的实体

每个实体被提供唯一标识符以及实体类型标识符
(
未示出
)。
66.实体图
308
存储与实体之间的关系和关联有关的信息

仅作为示例,这样的关系可以是基于兴趣或者基于活动的社交的

职业的
(
例如,在共同的公司或组织工作
)。
67.简档数据
316
存储关于特定实体的多种类型的简档数据

基于由特定实体指定的隐私设置,简档数据
316
可以被选择性地使用并呈现给消息收发系统
100
的其他用户

在实体是个人的情况下,简档数据
316
包括例如用户名

电话号码

地址和设置
(
例如,通知和隐私设置
)
以及用户选择的化身表示
(
或这样的化身表示的集合
)。
然后,特定用户可以将这些化身表示中的一个或更多个选择性地包括在经由消息收发系统
100
传送的消息的内容内以及在由消息收发客户端
104
向其他用户显示的地图界面上

化身表示的集合可以包括“状况化身”,其呈现用户可以选择在特定时间进行通信的状况或活动的图形表示

68.在实体是群组的情况下,除了群组名称

成员和相关群组的各种设置
(
例如,通知
)
之外,群组的简档数据
316
还可以类似地包括与群组相关联的一个或更多个化身表示

69.数据库
126
还在增强表
310
中存储例如覆盖或过滤器的增强数据

增强数据与视频
(
视频数据存储在视频表
304

)
和图像
(
图像数据存储在图像表
312

)
相关联并且应用于视频和图像

70.在一些实施方式中,过滤器是在向接收方用户呈现期间被显示为覆盖在图像或视频上的覆盖

过滤器可以是各种类型的,包括当发送用户正在编写消息时从由消息收发客户端
104
呈现给发送用户的一组过滤器中用户选择的过滤器

其他类型的过滤器包括地理定位过滤器
(
也称为地理过滤器
)
,其可以基于地理定位被呈现给发送用户

例如,可以基于由客户端设备
102
的全球定位系统
(gps)
单元确定的地理定位信息,由消息收发客户端
104
在用户界面内呈现特定于附近或特殊定位的地理定位过滤器

71.另一类型的过滤器是数据过滤器,其可以由消息收发客户端
104
基于在消息创建处理期间由客户端设备
102
收集的其他输入或信息选择性地呈现给发送用户

数据过滤器的示例包括特殊定位处的当前温度

发送用户行进的当前速度

客户端设备
102
的电池寿命或当前时间

72.可以存储在图像表
312
内的其他增强数据包括增强现实内容项
(
例如,对应于应用透镜或增强现实体验
)。
增强现实内容项可以是可以被添加至图像或视频的实时特殊效果和声音

73.如上面所描述的,增强数据包括增强现实内容项

覆盖

图像变换和增强现实图像,以及涉及可以应用于图像数据
(
例如,视频或图像
)
的修改的类似术语

这包括实时修改,其在使用客户端设备
102
的设备传感器
(
例如,一个或多个摄像装置
)
捕获图像时对图像进行修改并且然后在修改的情况下在客户端设备
102
的屏幕上显示图像

这还包括对所存
储的内容的修改,例如对可以被修改的图库中的视频片段的修改

例如,在访问多个增强现实内容项的客户端设备
102
中,用户可以使用具有多个增强现实内容项的单个视频片段来查看不同的增强现实内容项将如何修改所存储的片段

例如,通过为内容选择不同的增强现实内容项,可以将应用不同伪随机移动模型的多个增强现实内容项应用于该相同内容

类似地,实时视频捕获可以与所示出的修改一起使用,以示出当前由客户端设备
102
的传感器捕获的视频图像将如何修改所捕获的数据

这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改
(
或两者
)
的情况下被记录并被存储在存储器中

在一些系统中,预览特征可以同时显示不同的增强现实内容项在显示器的不同窗口中看起来如何

例如,这可以使得能够同时在显示器上查看具有不同伪随机动画的多个窗口

74.因此,使用增强现实内容项的数据和各种系统或使用该数据修改内容的其他这样的变换系统可以涉及视频帧中的对象
(
例如,面部



身体





表面

物体等
)
的检测,在这些对象离开视场

进入视场以及在视场四处移动时对这些对象的跟踪,以及在跟踪这些对象时对这样的对象的修改或变换

在各种示例中,可以使用用于实现这样的变换的不同方法

一些示例可以涉及生成一个或多个对象的三维网格模型,以及在视频内使用模型的变换和动画纹理来实现变换

在其他示例中,可以使用对对象上的点的跟踪来将图像或纹理
(
其可以是二维或三维的
)
放置在跟踪的位置处

在更进一步的示例中,可以使用视频帧的神经网络分析将图像

模型或纹理放置在内容
(
例如,图像或视频帧
)


因此,增强现实内容项既指代用于在内容中创建变换的图像

模型和纹理,也指代利对象检测

跟踪和放置实现这样的变换所需的附加建模和分析信息

75.可以用保存在任何类型的计算机化系统的存储器中的任何类型的视频数据
(
例如,视频流

视频文件等
)
来执行实时视频处理

例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流

此外,可以使用计算机动画模型来处理任何对象,例如,人的面部以及人体的部位,动物或者诸如椅子

汽车的非生物,或者其他对象

76.在一些实施方式中,当连同要变换的内容一起选择特定修改时,由计算设备标识要变换的元素,并且然后如果要变换的元素存在于视频帧中,则对要变换的元素进行检测和跟踪

根据修改的请求来修改对象的元素,从而变换视频流的帧

对于不同类型的变换,可以通过不同的方法对视频流的帧进行变换

例如,对于主要涉及改变对象的元素的形式的帧的变换,计算对象的每个元素的特征点
(
例如,使用主动形状模型
(asm)
或其他已知方法
)。
然后,针对对象的至少一个元素中的每一个生成基于特征点的网格

该网格被用于跟踪视频流中对象的元素的后续阶段

在跟踪处理中,所提及的每个元素的网格与每个元素的位置对准

然后,在网格上生成附加点

基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改请求针对每个元素生成第二点的集合

然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元素来变换视频流的帧

在这样的方法中,也可以通过跟踪和修改背景来使修改的对象的背景改变或扭曲

77.在一些实施方式中,可以通过计算对象的每个元素的特征点并基于计算的特征点生成网格来执行使用对象的元素改变对象的一些区域的变换

在网格上生成点,然后生成基于所述点的各种区域

然后,通过将每个元素的区域与至少一个元素中的每一个的位置
对准来跟踪对象的元素,并且可以基于修改请求来修改区域的属性,从而对视频流的帧进行变换

根据具体的修改要求,提及的区域的属性可以以不同的方式进行变换

这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除区域中的至少一些部分;将一个或更多个新对象包括在基于修改请求的区域中;以及修改或扭曲区域或对象的元素

在各种示例中,可以使用这样的修改或其他类似修改的任何组合

对于要被动画化的某些模型,可以选择一些特征点作为控制点,以用于确定模型动画的选项的整个状态空间

78.在使用面部检测来变换图像数据的计算机动画模型的一些实施方式中,使用特定的面部检测算法
(
例如,
viola-jones)
在图像上检测面部

然后,将主动形状模型
(asm)
算法应用于图像的面部区域以检测面部特征参考点

79.可以使用适用于面部检测的其他方法和算法

例如,在一些实施方式中,使用界标来定位特征,该界标表示在所考虑的大多数图像中存在的可区分点

例如,对于面部界标,可以使用左眼瞳孔的定位

如果初始界标不可标识
(
例如,如果人具有眼罩
)
,则可以使用次级界标

这样的界标标识处理可以用于任何这样的对象

在一些实施方式中,界标的集合形成形状

可以使用形状中的点的坐标将形状表示为矢量

利用相似变换
(
允许平移

缩放和旋转
)
将一个形状与另一形状对准,该相似变换使形状点之间的平均欧几里德距离最小化

平均形状是对准的训练形状的均值

80.在一些实施方式中,从与由全局面部检测器确定的面部的位置和大小对准的平均形状开始搜索界标

然后,这样的搜索重复以下步骤直至发生收敛:通过每个点周围的图像纹理的模板匹配来调整形状点的位置而建议暂定形状,并且然后使暂定形状符合全局形状模型

在一些系统中,单独的模板匹配是不可靠的,并且形状模型对弱模板匹配的结果进行池化,以形成较强的整体分类器

整个搜索在图像金字塔的每一级处重复,从粗略分辨率到精细分辨率

81.变换系统可以在客户端设备
(
例如,客户端设备
102)
上捕获图像或视频流,并在客户端设备
102
上本地执行复杂的图像操纵,同时保持适当的用户体验

计算时间和功率消耗

复杂的图像操纵可以包括大小和形状改变

情绪转换
(
例如,将面部从皱眉变为微笑
)、
状态转换
(
例如,使对象变老

减小表观年龄

改变性别
)、
风格转换

图形元素应用以及由已经被配置成在客户端设备
102
上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵

82.在一些实施方式中,用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有神经网络的客户端设备
102
来捕获用户的图像或视频流
(
例如,自拍
)
,该神经网络作为在客户端设备
102
上操作的消息收发客户端
104
的一部分进行操作

在消息收发客户端
104
内操作的变换系统确定图像或视频流内的面部的存在,并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以被呈现为与本文中描述的接口相关联

修改图标包括以下变化,该变化可以是作为修改操作的一部分的修改图像或视频流内的用户的面部的基础

一旦选择了修改图标,则变换系统发起转换用户的图像以反映所选择的修改图标
(
例如,在用户上生成笑脸
)
的处理

一旦图像或视频流被捕获并且指定的修改被选择,则经修改的图像或视频流可以呈现在客户端设备
102
上显示的图形用户界面中

变换系统可以对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改

也就是说,一旦已经选择了修改图标,用户就可以捕获图
像或视频流并且实时或接近实时地呈现经修改的结果

此外,当正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换

经机器学习的神经网络可以用于实现这样的修改

83.呈现由变换系统执行的修改的图形用户界面可以为用户提供附加的交互选项

这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的界面
(
例如,从内容创建者用户界面发起
)。
在各种示例中,在修改图标的初始选择之后,修改可以持续存在

用户可以通过轻击或以其他方式选择由变换系统修改的面部来打开或关闭修改,并且将其存储以供以后查看或浏览到成像应用的其他区域

在由变换系统修改多个面部的情况下,用户可以通过轻击或选择在图形用户界面内修改和显示的单个面部来全局地打开或关闭修改

在一些实施方式中,可以单独地修改一组多个面部之中的各个面部,或者可以通过轻击或选择图形用户界面内显示的各个面部或一系列各个面部来单独切换这样的修改

在一些实施方式中,图形用户界面可以是群组对话的主对话视图,或者可从主对话视图访问的体验页面

84.故事表
314
存储与消息和相关联的图像

视频或音频数据的集合有关的数据,这些数据被编译成集合
(
例如,故事或图库
)。
特定集合的创建可以由特定用户
(
例如,在实体表
306
中维护其记录的每个用户
)
发起

用户可以以已由该用户创建和发送
/
广播的内容的集合的形式创建“个人故事”。
为此,消息收发客户端
104
的用户界面可以包括用户可选择的图标,以使得发送用户能够将特定内容添加到他或她的个人故事

85.集合还可以构成作为来自多个用户的内容的集合的“实况故事”,该“实况故事”是手动地

自动地或者使用手动技术和自动技术的组合创建的

例如,“实况故事”可以构成来自各种定位和事件的用户提交的内容的策划流

其客户端设备启用了定位服务并且在特定时间处于共同定位事件处的用户可以例如经由消息收发客户端
104
的用户界面被呈现有将内容贡献给特定实况故事的选项

可以由消息收发客户端
104
基于用户的定位向他或她标识实况故事

最终结果是从群体角度讲述的“实况故事”。
86.另外类型的内容集合被称为“定位故事”,该“定位故事”使得其客户端设备
102
位于特定地理定位
(
例如,在学院或大学校园
)
内的用户能够对特定集合做出贡献

在一些实施方式中,对定位故事的贡献可能需要二级认证来验证终端用户属于特定组织或其他实体
(
例如,是大学校园中的学生
)。
87.如以上提及的,视频表
304
存储视频数据,在一些实施方式中,该视频数据与其记录维持在消息表
302
内的消息相关联

类似地,图像表
312
存储与消息数据存储在实体表
306
中的消息相关联的图像数据

实体表
306
可以使来自增强表
310
的各种增强与存储在图像表
312
和视频表
304
中的各种图像和视频相关联

88.数据通信架构
89.图4是示出根据一些示例的消息
400
的结构的示意图,该消息
400
由消息收发客户端
104
生成,以传送至另外的消息收发客户端
104
或消息收发服务器
118。
特定消息
400
的内容被用于填充存储在可由消息收发服务器
118
访问的数据库
126
内的消息表
302。
类似地,消息
400
的内容被存储在存储器中作为客户端设备
102
或应用服务器
114
的“传输中”或“飞行中”数据

消息
400
被示出为包括以下示例组成部分:
90.●
消息标识符
402
:标识消息
400
的唯一标识符

91.●
消息文本有效载荷
404
:要由用户经由客户端设备
102
的用户界面生成并且包括在消息
400
中的文本

92.●
消息图像有效载荷
406
:由客户端设备
102
的摄像装置部件捕获的或从客户端设备
102
的存储器部件检索到的

并且包括在消息
400
中的图像数据

用于发送或接收到的消息
400
的图像数据可以存储在图像表
312


93.●
消息视频有效载荷
408
:由摄像装置部件捕获的或从客户端设备
102
的存储器部件检索到的

并且包括在消息
400
中的视频数据

用于发送或接收到的消息
400
的视频数据可以存储在视频表
304


94.●
消息音频有效载荷
410
:由麦克风捕获或从客户端设备
102
的存储器部件检索并且包括在消息
400
中的音频数据

95.●
消息增强数据
412
:表示要应用于消息
400
的消息图像有效载荷
406、
消息视频有效载荷
408
或消息音频有效载荷
410
的增强的增强数据
(
例如,过滤器

标贴或其他注释或增强
)。
用于发送或接收到的消息
400
的增强数据可以存储在增强表
310


96.●
消息持续时间参数
414
:参数值,其指示消息的内容
(
例如,消息图像有效载荷
406、
消息视频有效载荷
408、
消息音频有效载荷
410)
将经由消息收发客户端
104
呈现给用户或使其对于用户可访问的以秒为单位的时间量

97.●
消息地理定位参数
416
:与消息的内容有效载荷相关联的地理定位数据
(
例如,纬度和经度坐标
)。
多个消息地理位置参数
416
值可以包括在有效载荷中,这些参数值中的每一个与内容中包括的内容项
(
例如,消息图像有效载荷
406
中的特定图像,或者在消息视频有效载荷
408
内的特定视频
)
相关联

98.●
消息故事标识符
418
:标识一个或更多个内容集合
(
例如,在故事表
314
中标识的“故事”)
的标识符值,其中消息
400
的消息图像有效载荷
406
中的特定内容项与一个或更多个内容集合相关联

例如,可以使用标识符值将消息图像有效载荷
406
内的多个图像各自与多个内容集合相关联

99.●
消息标签
420
:每个消息
400
可以用多个标签来标记,所述多个标签中的每一个指示消息有效载荷中包括的内容的主题

例如,在消息图像有效载荷
406
中包括的特定图像描绘动物
(
例如,狮子
)
的情况下,标签值可以被包括在指示相关动物的消息标签
420


标签值可以基于用户输入手动生成,或者可以使用例如图像识别自动生成

100.●
消息发送者标识符
422
:指示在其上生成消息
400
并且从其发送消息
400
的客户端设备
102
的用户的标识符
(
例如,消息收发系统标识符

电子邮件地址或设备标识符
)。
101.●
消息接收者标识符
424
:指示消息
400
寻址到的客户端设备
102
的用户的标识符
(
例如,消息收发系统标识符

电子邮件地址或设备标识符
)。
102.消息
400
的各组成部分的内容
(
例如,值
)
可以是指向其内存储内容数据值的表中的定位的指针

例如,消息图像有效载荷
406
中的图像值可以是指向图像表
312
内的定位的指针
(
或图像表
316
内的定位的地址
)。
类似地,消息视频有效载荷
408
内的值可以指向存储在视频表
304
内的数据,存储在消息增强数据
412
内的值可以指向存储在增强表
310
中的数据,存储在消息故事标识符
418
内的值可以指向存储在故事表
314
中的数据,以及存储在消息发送者标识符
422
和消息接收者标识符
424
内的值可以指向存储在实体表
306
内的用户记录

103.基于时间的访问限制架构
104.图5是示出访问限制处理
500
的示意图,根据该访问限制处理,对内容
(
例如,短暂消息
502
和相关联的数据的多媒体有效载荷
)
或内容集合
(
例如,短暂消息组
504)
的访问可以是时间受限的
(
例如,使得是短暂的
)。
105.短暂消息
502
被示出为与消息持续时间参数
506
相关联,消息持续时间参数
506
的值确定消息收发客户端
104
将向短暂消息
502
的接收用户显示短暂消息
502
的时间量

在一些实施方式中,接收用户可查看短暂消息
502
长达最多
10
秒,这取决于发送用户使用消息持续时间参数
506
指定的时间量

106.消息持续时间参数
506
和消息接收者标识符
424
被示出为消息定时器
510
的输入,消息定时器
510
负责确定向由消息接收者标识符
424
标识的特定接收用户示出短暂消息
502
的时间量

特别地,仅在由消息持续时间参数
506
的值确定的时间段内向相关接收用户示出短暂消息
502。
消息定时器
510
被示出为向更一般化的短暂定时器系统
202
提供输出,该短暂定时器系统
202
负责向接收用户显示内容
(
例如,短暂消息
502)
的总体定时

107.在图5中短暂消息
502
被示出为包括在短暂消息组
504(
例如,个人故事或事件故事中的消息的集合
)


短暂消息组
504
具有相关联的组持续时间参数
508
,组持续时间参数
508
的值确定短暂消息组
504
被呈现并且可由消息收发系统
100
的用户访问的持续时间

例如,组持续时间参数
508
可以是音乐会的持续时间,其中,短暂消息组
504
是属于该音乐会的内容的集合

替选地,用户
(
拥有用户或策展者用户
)
可以在执行短暂消息组
504
的设置和创建时指定组持续时间参数
508
的值

108.另外,短暂消息组
504
内的每个短暂消息
502
具有相关联的组参与参数
512
,该组参与参数
512
的值确定在短暂消息组
504
的上下文内可访问短暂消息
502
的持续时间

因此,在短暂消息组
504
本身根据组持续时间参数
508
到期之前,特定的短暂消息组
504
可以“到期”并且在短暂消息组
504
的上下文中变得不可访问

组持续时间参数
508、
组参与参数
512
和消息接收者标识符
424
各自向组定时器
514
提供输入,组定时器
514
可操作地首先确定短暂消息组
504
中的特定短暂消息
502
是否将被显示给特定接收用户,并且如果为是,则确定显示多长时间

注意,由于消息接收者标识符
424
,短暂消息组
504
也知道特定接收用户的身份

109.因此,组定时器
514
可操作地控制相关联的短暂消息组
504
以及包括在短暂消息组
504
中的单独的短暂消息
502
的总寿命

在一些实施方式中,短暂消息组
504
内的每个短暂消息
502
在由组持续时间参数
508
指定的时间段内保持可查看和可访问

在另一示例中,在短暂消息组
504
的上下文内,某个短暂消息
502
可以基于组参与参数
512
而到期

注意,即使在短暂消息组
504
的上下文内,消息持续时间参数
506
也仍然可以确定向接收用户显示特定短暂消息
502
的持续时间

因此,消息持续时间参数
506
确定向接收用户显示特定短暂消息
502
的持续时间,而不管接收用户是在短暂消息组
504
的上下文之内还是之外查看该短暂消息
502。
110.短暂定时器系统
202
还可以基于确定已经超过相关联的组参与参数
512
而从短暂消息组
504
中可操作地移除该特定的短暂消息
502。
例如,当发送用户已经建立了从发布起
24
小时的组参与参数
512
时,短暂定时器系统
202
将在指定的
24
小时之后从短暂消息组
504
中移除相关的短暂消息
502。
当针对短暂消息组
504
内的每个短暂消息
502
的组参与参数
512
已到期时,或者当短暂消息组
504
本身根据组持续时间参数
508
已经到期时,短暂定时器系

202
还进行操作以移除短暂消息组
504。
111.在某些使用情况下,特定短暂消息组
504
的创建者可以指定无期限的组持续时间参数
508。
在这种情况下,针对短暂消息组
504
内最后剩余的短暂消息
502
的组参与参数
512
的到期将确定短暂消息组
504
本身何时到期

在这种情况下,添加至短暂消息组
504
的具有新的组参与参数
512
的新的短暂消息
502
,有效地将短暂消息组
504
的寿命延长至等于组参与参数
512
的值

112.响应于短暂定时器系统
202
确定短暂消息组
504
已经到期
(
例如,不再是可访问的
)
,短暂定时器系统
202
与消息收发系统
100(
并且例如特别是消息收发客户端
104)
通信,以使与相关短暂消息组
504
相关联的标记
(
例如,图标
)
不再显示在消息收发客户端
104
的用户界面内

类似地,当短暂定时器系统
202
确定针对特定短暂消息
502
的消息持续时间参数
506
已经到期时,短暂定时器系统
202
使消息收发客户端
104
不再显示与短暂消息
502
相关联的标记
(
例如,图标或文本标识
)。
113.用户存在指示数据管理
114.在一些实施方式中,存在指示数据管理系统
216
使得用户能够在可从群组对话的主对话视图访问的各种类型的全屏体验页面中继续进行交流

存在指示数据管理系统
216
可以在主对话视图或体验页面上生成并显示其他群组用户的用户存在指示符

存在指示符表示其他群组用户的存在状况以及由群组用户当前访问的体验页面的类型

115.在一些实施方式中,存在指示数据管理系统
216
生成并显示指示从其发送消息的页面源的页面源图形元素

可以激活页面源图形元素,以将用户重定向到源页面

116.在一些实施方式中,存在指示数据管理系统
216
生成并显示可扩展文本输入栏和图形元素,所述图形元素是可扩展的以显示由多个用户从主对话视图和每个体验页面发送的按时间顺序排列的消息的列表
(
例如消息线程
)。
117.图6示出了根据一个实施方式的在对话中提供用户的存在指示符的处理
600。
处理
600
的操作可以由任何数目的不同系统执行,系统例如是本文中描述的消息收发客户端
104
或消息收发服务器
114
或其任何部分例如包括在所述系统中任一系统中的处理器,所述系统包括存在指示数据管理系统
216。
118.在操作
602
处,处理器提供多个用户之间的群组对话,多个用户包括第一用户和第二用户

群组对话可以是多于两个用户之间的群聊,或者是两个用户之间的私聊

群组对话包括主对话视图和可从主对话视图访问的体验页面

在一些实施方式中,群组对话可以包括多于一个体验页面

体验页面可以是在可从群组对话访问的激活媒体内容项

基于
web
的外部资源

或全屏通话后生成的在用户界面上的全屏显示

媒体内容项可以是图像

视频

音频或
web
链接

119.在操作
604
处,处理器确定第二用户在主对话视图或体验页面中的一者内活跃

确定特定用户的活跃状况可以包括检测与特定用户界面
(
主对话视图或体验页面
)
相关联的用户活动

例如,如果处理器在预定的时间段内检测到与主对话视图的用户交互,则处理器可以确定用户当前在主对话视图内活跃

120.在操作
606
处,在确定第二用户在主对话视图中活跃时,处理器提供第一图形元素以在第一用户的第一设备上显示

第一图形元素
(
未示出
)
包括第二用户的化身和名称

121.在操作
608
处,在确定第二用户在体验页面而非主对话视图中活跃时,处理器提供
第二图形元素以在第一设备上显示

第二图形元素包括第二用户的化身和名称以及表示体验页面类型的图标

例如,如图9所示,用户界面
910、920、930

940
是不同类型的体验页面的示例

具体地,体验页面
910
生成为图像的全屏显示,体验页面
920
生成为视频或音频的全屏显示,体验页面
930
生成为
web
链接的全屏显示,以及体验页面
940
生成为基于
web
的外部资源
(
例如,小程序
)
的全屏显示

122.图形元素
902、912、922、932
是第二图形元素
(
例如,存在指示符
)
的示例

每个示例示出了针对不同类型的体验页面生成的第二图形元素

具体地,元素
902
表示图像类型的体验页面,元素
912
表示视频或音频类型的体验页面,元素
922
表示
web
链接类型的体验页面,以及元素
932
表示小程序类型的体验页面

在一个示例中,如果处理器确定第二用户当前正在查看如体验页面
910
所示的图像,则处理器可以在群组对话中的其他用户的设备上生成表示图像的轮廓符号
(
例如,元素
904)。
如元素
902
所示,处理器可以在群组对话中的其他用户的设备上显示包括轮廓符号以及第二用户的名称
(
例如,约翰
)
和化身
(
例如,具有双手的露出半张脸的窥视化身
)
的存在指示符

由此,其他人可以知道约翰当前正在查看的内容类型以及他当前是否存在于群组对话中

123.在操作
610
处,处理器可以确定第二用户在主对话视图或体验页面中的一者内不再活跃

检测可以基于在预定的时间段内从第二用户的设备检测不到用户活动

例如,预定的时间段可以被配置成从几秒钟到几分钟的范围

预定的时间段越短,用户越有可能在主对话视图或体验页面内保持活跃

124.在操作
612
处,在确定第二用户不再活跃时,处理器可以提供第三图形元素以在第一用户的第一设备上显示

第三图形元素仅包括第二用户的名称

第三图形元素的示例可以是如图
10
所示的元素
1002。
元素
1002
可以以与鲜艳的颜色进行对比的柔和的颜色显示,以表示用户
(
例如,艾玛
)
的“离开”或“离线”状况

125.在一些实施方式中,每个体验页面可以包括可扩展文本输入栏
(
如图9所示的元素
934)
和第四图形元素
(
例如,元素
936)
,该第四图形元素是可扩展的以显示来自群组对话的用户的消息的列表

例如,用户可以点击用户界面上的可扩展文本输入栏
934
来触发键盘
(
未示出
)
的显示,并且也可以点击图形元素
936
以触发来自群组对话的完整消息线程或仅未读消息的显示

未读消息的数目可以出现在第四图形元素上

如元素
936
中示出的数字“1”表示一个未读消息

消息线程
(
未示出
)
可以在用户界面
940
的左侧部分显示,并且可以在用户点击用户界面的任何空白空间
(
例如,未显示消息的部分
)
时取消

126.图7示出了根据一个实施方式的基于用户存在状况提供页面源指示符的处理
700。
处理
700
的操作可以由任何数目的不同系统执行,系统例如是本文中描述的消息收发客户端
104
或消息收发服务器
114
或其任何部分例如包括在所述系统的任何一个系统中的处理器,所述系统包括存在指示数据管理系统
216。
127.在操作
702
处,处理器从与第一用户相关联的第一设备接收第一消息

第一消息可以被发送至多个用户加入的群组对话,多个用户包括第一用户和第二用户

群组对话包括主对话视图和可从主对话视图访问的体验页面

在一些实施方式中,群组对话可以包括多于一个体验页面

体验页面可以是在可从群组对话访问的激活媒体内容项

基于
web
的外部资源

或视频通话或音频通话时生成的在用户界面上的全屏显示

媒体内容项可以是图像

视频

音频或
web
链接

128.在操作
704
处,处理器确定第一消息是从第一体验页面发送的

例如,处理器可以识别第一消息的元数据中包括的页面源标识符,以确定消息是否从第一体验页面的用户界面发送

129.在操作
706
处,处理器检测到第一用户当前在第一体验页面内活跃,并且第二用户在主对话视图中活跃

确定特定用户的活跃状况可以包括检测与特定用户界面相关联的用户活动

例如,如果处理器在预定的时间段内检测到与主对话视图的用户交互,则处理器可以确定用户当前在主对话视图内活跃

130.在操作
708
处,处理器使第一消息和页面源图形元素显示在与第二用户相关联的第二设备上

页面源图形元素的示例可以是图
10
所示的元素
1004
或图
11
所示的元素
1102。
页面源图形元素包括第一用户的名称和第一体验页面的页面源指示符,例如元素
1004
中的“来自主聊天”或元素
1102
中的“来自
xyz.com”。
131.在操作
710
处,处理器确定第二用户先前未访问过第一体验页面

该确定可以基于与第一体验页面相关联的元数据中的访问标识符

132.在操作
712
处,在检测到对页面源图形元素的用户选择时,处理器使第一体验页面以全屏显示的方式显示在第二设备上

用户可以点击页面源图形元素以触发对应的体验页面的全屏显示

例如,在用户界面
1020
中,如图
10
所示,用户可以点击页面源图形元素
1004
,以激活主对话视图例如用户界面
1120
的显示

作为另一示例,在如图
11
所示的用户界面
1120
中,用户可以点击页面源图形元素
1102
以激活如用户界面
1110
所示的
web
链接类型的体验页面的显示

133.图8示出了根据一个实施方式的基于用户存在状况暂停页面源指示符的处理
800。
处理
800
的操作可以由任何数目的不同系统执行,系统例如是本文中描述的消息收发客户端
104
或消息收发服务器
114
或其任何部分例如包括在所述系统的任何一个系统中的处理器,所述系统包括存在指示数据管理系统
216。
134.在操作
802
处,处理器从与第一用户相关联的第一设备接收第二消息

第一消息可以被发送至多个用户加入的群组对话,多个用户包括第一用户和第二用户

群组对话包括主对话视图和可从主对话视图访问的体验页面

135.在操作
804
处,处理器确定第二消息是从第一体验页面发送的

例如,处理器可以识别第一消息的元数据中包括的页面源标识符,以确定消息是否从第一体验页面的用户界面发送

136.在操作
806
处,处理器检测到第一用户和第二用户两者都在第一体验页面内活跃

确定特定用户的活跃状况可以包括检测与特定用户界面相关联的用户活动

例如,如果处理器在预定的时间段内检测到与主对话视图的用户交互,则处理器可以确定用户当前在主对话视图内活跃

137.在操作
808
处,处理器使得第二消息的显示包括第二消息的内容而无需示出引用第一体验页面作为发送消息的页面源的页面源图形元素

例如,如图
10
所示,第二消息可以显示为元素
1006。
在一些实施方式中,如果两个用户访问同一体验页面,例如如图
10
所示的用户界面
1020
,则处理器暂停页面源图形元素的显示

138.图9示出了根据一个实施方式的与客户端设备上显示的存在指示符相关的用户界面

如图9所示,用户界面
910、920、930

940
是不同类型的体验页面的示例

具体地,用户界

910
是图像类型体验页面,用户界面
920
是视频或音频类型体验页面,用户界面
930

web
链接类型的体验页面,以及用户界面
940
是小程序或游戏类型的体验页面

每个体验页面中包括的图形元素
902、912、922、932
是名称为“约翰”的特定用户的第二图形元素
(
例如,存在指示符
)
的示例

如果更多用户包括在群组对话中,则体验页面可以包括除显示设备的用户之外的针对每个用户的存在指示符

存在指示符可以显示在体验页面的底部部分处
(
例如,可扩展文本栏的上方
)。
139.图
10
示出了根据一个实施方式的与在客户端设备上显示的存在指示符和页面源指示符相关的用户界面

用户界面
1010
可以是小程序类型的体验页面

用户界面
1010
上显示的消息
1016
包括消息的内容“没法来”、
用户的名称“约翰”和页面源指示符“来自主聊天”。
页面源指示符可以是柔和的灰色,以指示显示设备的用户已经在主对话视图中查看了该消息

140.用户界面
1020
可以是在文本输入栏
1014
被激活并扩展至键盘
1012
之后的用户界面
1010。
用户约翰

尤妮斯和艾玛的存在指示符显示在键盘
1012
上方

消息
1008
显示在用户界面
1020
中,并且包括消息内容“我饿了
——
我们去吃饭吧”、
用户的名称“迈克”和页面源指示符“来自主聊天”。
消息
1008
中的页面源指示符可以与鲜艳的颜色相关联,以指示显示设备的用户尚未在主对话视图中查看消息,并且可以被激活以将用户引导至主对话视图

141.图
11
示出了根据一个实施方式的在客户端设备上显示的与页面源指示符相关的用户界面

用户界面
1120
可以是群组对话的主对话视图,并且用户界面
1110
可以是可从主对话视图访问的体验页面之一

消息
1104
包括消息的内容“我爱他”、
用户的名称迈克以及可选择的页面源指示符“来自
xyz.com”。
在用户选择激活后,页面源指示符可以被触发,以使得显示用户界面
1110
,用户界面
1110

web
链接类型的体验页面

用户界面
1110
包括文本输入栏
1106
,文本输入栏
1106
是可扩展的以显示键盘,例如如图
10
所示的键盘
1012。
142.机器架构
143.图
12
是机器
1200
的图解表示,在该机器
1200
中可以执行用于使机器
1200
执行本文中所讨论的方法中的任何一种或更多种方法的指令
1208(
例如,软件

程序

应用

小应用
、app
或其他可执行代码
)。
例如,指令
1208
可以使机器
1200
执行本文中描述的方法中的任何一种或更多种方法

指令
1208
将通用的未编程的机器
1200
转换成被编程为以所描述的方式执行描述和示出的功能的特定机器
1200。
机器
1200
可以作为独立设备操作,或者可以耦接
(
例如,联网
)
至其他机器

在联网部署中,机器
1200
可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等
(
或分布式
)
网络环境中作为对等机器进行操作

机器
1200
可以包括但不限于服务器计算机

客户端计算机

个人计算机
(pc)、
平板计算机

膝上型计算机

上网本

机顶盒
(stb)、
个人数字助理
(pda)、
娱乐媒体系统

蜂窝电话

智能电话

移动设备

可穿戴设备
(
例如,智能手表
)、
智能家居设备
(
例如,智能电器
)、
其他智能设备
、web
设备

网络路由器

网络交换机

网络桥接器或能够顺序地或以其他方式执行指定要由机器
1200
采取的具体动作的指令
1208
的任何机器

此外,虽然仅示出了单个机器
1200
,但是术语“机器”还应当被视为包括单独地或联合地执行指令
1208
以执行本文中讨论的方法中的任何一种或更多种方法的机器的集合

例如,机器
1200
可以包括客户端设备
102
或者形成消息收发服务器系统
108
的一部分的多个服务器设备中的任何一个

在一些实施方式中,机器
1200
还可以包括客户端系统和服务器系统两者,其中,在服务器侧执行特
定方法或算法的某些操作,并且在客户端侧执行特定方法或算法的某些操作

144.机器
1200
可以包括可以被配置成经由总线
1240
彼此通信的处理器
1202、
存储器
1204
和输入
/
输出
(i/o)
部件
1238。
在示例中,处理器
1202(
例如,中央处理单元
(cpu)、
精简指令集计算
(risc)
处理器

复杂指令集计算
(cisc)
处理器

图形处理单元
(gpu)、
数字信号处理器
(dsp)、
专用集成电路
(asic)、
射频集成电路
(rfic)、
另一处理器或其任何合适的组合
)
可以包括例如执行指令
1208
的处理器
1206
和处理器
1210。
术语“处理器”旨在包括多核处理器,所述多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器
(
有时被称为“核”)。
尽管图
12
示出了多个处理器
1202
,但是机器
1200
可以包括具有单个核的单个处理器

具有多个核的单个处理器
(
例如,多核处理器
)、
具有单个核的多个处理器

具有多个核的多个处理器

或者其任意组合

145.存储器
1204
包括主存储器
1212、
静态存储器
1214
以及存储单元
1216
,其均可由处理器
1202
经由总线
1240
访问

主存储器
1204、
静态存储器
1214
和存储单元
1216
存储实现本文所述的方法或功能中的任何一种或更多种的指令
1208。
指令
1208
在其被机器
1200
执行期间还可以完全地或部分地驻留在主存储器
1212


在静态存储器
1214


在存储单元
1216
内的机器可读介质
1218


在处理器
1202
中的至少一个处理器内
(
例如,在处理器的高速缓存存储器内
)、
或者在其任何合适的组合内

146.i/o
部件
1238
可以包括用于接收输入

提供输出

产生输出

发送信息

交换信息

捕获测量结果等的各种部件

包括在特定机器中的特定
i/o
部件
1238
将取决于机器类型

例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备

应当理解,
i/o
部件
1238
可以包括图
12
中未示出的许多其他部件

在各种示例中,
i/o
部件
1238
可以包括用户输出部件
1224
和用户输入部件
1226。
用户输出部件
1224
可以包括视觉部件
(
例如,诸如等离子显示面板
(pdp)、
发光二极管
(led)
显示器

液晶显示器
(lcd)、
投影仪或阴极射线管
(crt)
的显示器
)、
听觉部件
(
例如,扬声器
)、
触觉部件
(
例如,振动马达

阻力机构
)、
其他信号发生器等

用户输入部件
1226
可以包括字母数字输入部件
(
例如,键盘

被配置成接收字母数字输入的触摸屏

光电键盘或其他字母数字输入部件
)、
基于点的输入部件
(
例如,鼠标

触摸板

轨迹球

操纵杆

运动传感器或另一指向仪器
)、
触觉输入部件
(
例如,物理按钮

提供触摸或触摸姿势的定位和力的触摸屏或其他触觉输入部件
)、
音频输入部件
(
例如,麦克风
)


147.在其他示例中,
i/o
部件
1238
可以包括生物识别部件
1228、
运动部件
1230、
环境部件
1232、
或位置部件
1234
以及各种其他部件

例如,生物识别部件
1228
包括用于检测表达
(
例如,手表达

面部表情

声音表达

身体姿势或眼睛跟踪
)、
测量生物信号
(
例如,血压

心率

体温

出汗或脑波
)、
识别人
(
例如,声音识别

视网膜识别

面部识别

指纹识别或基于脑电图的识别
)
等的部件

运动部件
1230
包括加速度传感器部件
(
例如,加速计
)、
重力传感器部件

或者旋转传感器部件
(
例如,陀螺仪
)。
148.环境部件
1232
包括例如一个或更多个摄像装置
(
具有静态成像
/
摄像和拍摄视频能力
)、
照明传感器部件
(
例如,光度计
)、
温度传感器部件
(
例如,检测周围温度的一个或更多个温度计
)、
湿度传感器部件

压力传感器部件
(
例如,气压计
)、
声学传感器部件
(
例如,检测背景噪声的一个或更多个麦克风
)、
接近度传感器部件
(
例如,检测附近对象的红外传感器
)、
气体传感器
(
例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体
检测传感器
)、
或者可以提供与周围物理环境对应的指示

测量或信号的其他部件

149.关于摄像装置,客户端设备
102
可以具有摄像装置系统,该摄像装置系统包括例如在客户端设备
102
的前表面上的前置摄像装置和在客户端设备
102
的后表面上的后置摄像装置

前置摄像装置可以例如用于捕获客户端设备
102
的用户的静止图像和视频
(
例如,“自拍”)
,然后可以利用上述增强数据
(
例如,过滤器
)
对该静止图像和视频进行增强

后置摄像装置可以例如用于以更传统的摄像装置模式捕获静止图像和视频,这些图像类似地使用增强数据进行增强

除了前置摄像装置和后置摄像装置之外,客户端设备
102
还可以包括用于捕获
360
°
照片和视频的
360
°
摄像装置

150.此外,客户端设备
102
的摄像装置系统可以包括双后置摄像装置
(
例如,主摄像装置以及深度感测摄像装置
)
,或者甚至在客户端设备
102
的前侧和后侧上包括三重

四重或五重后置摄像装置配置

例如,这些多摄像装置系统可以包括广角摄像装置

超广角摄像装置

长焦摄像装置

微距摄像装置和深度传感器

151.定位部件
1234
包括定位传感器部件
(
例如,
gps
接收器部件
)、
海拔传感器部件
(
例如,检测可以得到海拔的气压的高度计或气压计
)、
取向传感器部件
(
例如,磁力计
)


152.可以使用各种各样的技术来实现通信
。i/o
部件
1238
还包括通信部件
1236
,该通信部件
1236
可操作以经由相应的耦接或连接将机器
1200
耦接至网络
1220
或设备
1222。
例如,通信部件
1236
可以包括与网络
1220
对接的网络接口部件或其他合适的设备

在另外的示例中,通信部件
1236
可以包括有线通信部件

无线通信部件

蜂窝通信部件

近场通信
(nfc)
部件

部件
(
例如,低功耗
)、
部件以及经由其他模态提供通信的其他通信部件

设备
1222
可以是另一机器或各种外围设备中的任何外围设备
(
例如,经由
usb
耦接的外围设备
)。
153.此外,通信部件
1236
可以检测标识符或者包括可操作以检测标识符的部件

例如,通信部件
1236
可以包括射频识别
(rfid)
标签阅读器部件
、nfc
智能标签检测部件

光学阅读器部件
(
例如,用于检测诸如通用产品代码
(upc)
条形码的一维条形码,诸如快速反应
(qr)

、aztec


数据矩阵

数据符号
(dataglyph)、
最大码
(maxicode)、pdf417、
超码
(ultra code)、ucc rss-2d
条形码的多维条形码和其他光学码的光学传感器
)
或声学检测部件
(
例如,用于识别标记的音频信号的麦克风
)。
另外,可以经由通信部件
1236
得到各种信息,例如经由因特网协议
(ip)
地理定位的定位

经由信号三角测量的定位

经由检测可以指示特定定位的
nfc
信标信号的定位等

154.各种存储器
(
例如,主存储器
1212、
静态存储器
1214
以及处理器
1202
的存储器
)
以及存储单元
1216
可以存储由本文中描述的方法或功能中的任何一种或更多种实现或使用的指令和数据结构
(
例如,软件
)
中的一组或更多组

这些指令
(
例如,指令
1208)
在由处理器
1202
执行时使各种操作实现所公开的示例

155.可以经由网络接口设备
(
例如,通信部件
1236
中包括的网络接口部件
)
使用传输介质并且使用若干公知的传输协议中的任意一种传输协议
(
例如,
http)
,通过网络
1220
来发送或接收指令
1208。
类似地,可以使用传输介质经由到设备
1222
的耦接
(
例如,对等耦接
)
来发送或接收指令
1208。
156.软件架构
157.图
13
是示出软件架构
1304
的框图
1300
,该软件架构
1304
可以安装在本文中描述的
设备中的任何一个或更多个设备上

软件架构
1304
由硬件例如包括处理器
1320、
存储器
1326

i/o
部件
1338
的机器
1302
支持

在该示例中,软件架构
1304
可以被概念化为层的堆栈,在该层的堆栈中,每个层提供特定的功能

软件架构
1304
包括诸如操作系统
1312、

1310、
框架
1308
和应用
1306
的层

在操作上,应用
1306
通过软件堆栈来激活
api
调用
1350
并且响应于
api
调用
1350
而接收消息
1352。
158.操作系统
1312
管理硬件资源并且提供公共服务

操作系统
1312
包括例如内核
1314、
服务
1316
和驱动器
1322。
内核
1314
充当硬件层与其他软件层之间的抽象层

例如,内核
1314
提供存储器管理

处理器管理
(
例如,调度
)、
部件管理

联网和安全设置等功能

服务
1316
可以为其他软件层提供其他公共服务

驱动器
1322
负责控制底层硬件或与底层硬件对接

例如,驱动器
1322
可以包括显示驱动器

摄像装置驱动器

或低功耗驱动器

闪存驱动器

串行通信驱动器
(
例如,
usb
驱动器
)、
驱动器

音频驱动器

电力管理驱动器等

159.库
1310
提供由应用
1306
使用的公共低级基础设施


1310
可以包括系统库
1318(
例如,c标准库
)
,该系统库
1318
提供诸如存储器分配功能

字符串操纵功能

数学功能等的功能

另外,库
1310
可以包括
api

1324
,例如媒体库
(
例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(mpeg4)、
高级视频编码
(h.264

avc)、
运动图像专家组层-3(mp3)、
高级音频编码
(aac)、
自适应多速率
(amr)
音频编解码器

联合图像专家组
(jpeg

jpg)
或便携式网络图形
(png))、
图形库
(
例如,用于在显示器上的图形内容中以二维
(2d)
和三维
(3d)
呈现的
opengl
框架
)、
数据库库
(
例如,提供各种关系数据库功能的
sqlite)、web

(
例如,提供
web
浏览功能的
webkit)



1310
还可以包括各种其他库
1328
,以向应用
1306
提供许多其他
api。
160.框架
1308
提供由应用
1306
使用的公共高级基础设施

例如,框架
1308
提供各种图形用户界面功能

高级资源管理以及高级定位服务

框架
1308
可以提供可由应用
1306
使用的广泛的其他
api
,所述
api
中的一些可以专用于特定的操作系统或平台

161.在示例中,应用
1306
可以包括家庭应用
1336、
联系人应用
1330、
浏览器应用
1332、
书籍阅读器应用
1334、
定位应用
1342、
媒体应用
1344、
消息收发应用
1346、
游戏应用
1348
和诸如第三方应用
1340
的各种各样的其他应用

应用
1306
是执行程序中限定的功能的程序

可以采用各种编程语言来创建以各种方式构造的应用
1306
中的一个或更多个,编程语言例如面向对象的编程语言
(
例如,
objective-c、java

c++)
或过程编程语言
(
例如,c语言或汇编语言
)。
在特定示例中,第三方应用
1340(
例如,由特定平台的供应商以外的实体使用
android
tm

ios
tm
sdk
开发的应用
)
可以是移动操作系统例如
ios
tm
、android
tm
、phone、
或另一移动操作系统上运行的移动软件

在该示例中,第三方应用
1340
可以激活由操作系统
1312
提供的
api
调用
1350
以便于本文中描述的功能

162.术语表
[0163]“载波信号”是指能够存储

编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信

可以使用传输介质经由网络接口设备来通过网络发送或接收指令

[0164]“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器

客户端设备可以是但不限于移动电话

桌上型计算机

膝上型计
算机
、pda、
智能电话

平板计算机

超级本

上网本

笔记本电脑

多处理器系统

基于微处理器或可编程消费电子产品

游戏控制台

机顶盒或用户可以用于访问网络的任何其他通信设备

[0165]“通信网络”是指网络的一个或更多个部分,网络可以是自组织网络

内联网

外联网

虚拟专用网络
(vpn)、
局域网
(lan)、
无线
lan(wlan)、
广域网
(wan)、
无线
wan(wwan)、
城域网
(man)、
因特网

因特网的一部分

公共交换电话网
(pstn)
的一部分

普通老式电话服务
(pots)
网络

蜂窝电话网络

无线网络

网络

其他类型的网络或者两个或更多个这样的网络的组合

例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址
(cdma)
连接

全局移动通信系统
(gsm)
连接或其他类型的蜂窝或无线耦接

在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术
(1xrtt)、
演进数据优化
(evdo)
技术

通用分组无线电服务
(gprs)
技术

增强型数据速率
gsm
演进
(edge)
技术

包括
3g
的第三代合作伙伴计划
(3gpp)、
第四代无线
(4g)
网络

通用移动通讯系统
(umts)、
高速分组接入
(hspa)、
全球微波接入互操作性
(wimax)、
长期演进
(lte)
标准

由各种标准设置组织定义的其他数据传输技术

其他长距离协议或其他数据传输技术

[0166]“部件”是指具有以下边界的设备

物理实体或逻辑,该边界由功能或子例程调用

分支点
、api
或者对特定处理或控制功能提供分区或模块化的其他技术定义

部件可以经由它们的接口与其他部件组合以执行机器处理

部件可以是被设计用于与其他部件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分

部件可以构成软件部件
(
例如,体现在机器可读介质上的代码
)
或硬件部件
。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置

在各种示例实施方式中,可以通过软件
(
例如,应用或应用部分
)
将一个或更多个计算机系统
(
例如,独立计算机系统

客户端计算机系统或服务器计算机系统
)
或者计算机系统的一个或更多个硬件部件
(
例如,处理器或处理器组
)
配置为进行操作以执行本文中描述的某些操作的硬件部件

也可以机械地

电子地或以其任何合适的组合来实现硬件部件

例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑

硬件部件可以是专用处理器,例如现场可编程门阵列
(fpga)

asic。
硬件部件还可以包括通过软件被临时配置成执行某些操作的可编程逻辑或电路系统

例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件

一旦通过这样的软件而配置,硬件部件就成为被唯一地定制成执行所配置功能的特定机器
(
或机器的特定部件
)
,而不再是通用处理器

将认识到,可以出于成本和时间考虑来决定是机械地在专用且永久配置的电路系统中实现硬件部件还是在临时配置
(
例如,通过软件配置
)
的电路系统中实现硬件部件

因此,短语“硬件部件”(
或“硬件实现的部件”)
应当被理解成包含有形实体,即被物理构造

永久配置
(
例如,硬连线
)
或临时配置
(
例如,编程
)
成以某种方式操作或者执行本文中描述的某些操作的实体

考虑硬件部件被临时配置
(
例如,被编程
)
的实施方式,无需在任一时刻处对硬件部件中的每一个进行配置或实例化

例如,在硬件部件包括通过软件配置成变成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器
(
例如,包括不同的硬件部件
)。
软件相应地配置一个或多个特定处理器以例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件

硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信


因此,所描述的硬件部件可以被认为通信地耦接

在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中
(
例如,通过适当的电路和总线
)
的信号传输来实现通信

在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信

例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接到的存储器设备中

然后,其他硬件部件可以在随后的时间处访问存储器设备以检索和处理所存储的输出

硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源
(
例如,信息的集合
)
进行操作

在本文中描述的示例方法的各种操作可以至少部分地由临时地配置
(
例如,由软件
)
或永久地配置成执行相关操作的一个或更多个处理器来执行

无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件

如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件

类似地,在本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例

例如,方法的至少一些操作可以由一个或更多个处理器或者处理器实现的部件执行

此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(saas)
操作

例如,操作中的至少一些操作可以由计算机组
(
作为包括处理器的机器的示例
)
执行,其中这些操作可经由网络
(
例如,因特网
)
并且经由一个或更多个适当的接口
(
例如,
api)
来访问

某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署

在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理定位中
(
例如,在家庭环境

办公室环境或服务器群内
)。
在其他实施方式中,处理器或处理器实现的部件可以跨多个地理定位而分布

[0167]“计算机可读存储介质”是指机器存储介质和传输介质两者

因此,这些术语包括存储设备
/
介质和载波
/
调制数据信号两者

术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物并且可以在本公开内容中互换使用

[0168]“短暂消息”是指在时间有限的持续时间内可访问的消息

短暂消息可以是文本

图像

视频等

短暂消息的访问时间可以由消息发送者设置

替选地,访问时间可以是默认设置或者由接收者指定的设置

无论设置技术如何,该消息都是暂时的

[0169]“机器存储介质”是指存储可执行指令

例程和数据的单个或多个存储设备和介质
(
例如,集中式或分布式数据库,以及相关联的高速缓存和服务器
)。
因此,该术语应当被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器

机器存储介质

计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器
(eprom)、
电可擦除可编程只读存储器
(eeprom)、fpga
和闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及
cd-rom

dvd-rom


术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换使用

术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波

调制数据信号和其他这样的介质,所述载波

调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中

[0170]“非暂态计算机可读存储介质”是指能够存储

编码或携载由机器执行的指令的有形介质

[0171]“信号介质”是指能够存储

编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信

术语“信号介质”应当被视为包括任何形式的调制数据信号

载波等

术语“调制数据信号”意指使其特性中的一个或更多个特性以将信息编码在信号中的方式来设置或改变的信号

术语“传输介质”和“信号介质”意指相同的事物,并且可以在本公开内容中互换使用

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1