上下文导航菜单的制作方法

文档序号:28736560发布日期:2022-02-07 19:33阅读:105来源:国知局
上下文导航菜单的制作方法
上下文导航菜单
1.优先权要求
2.本技术要求于2020年6月24日提交的序列号为16/946,488的美国专利申请和于2019年6月28日提交的序列号为62/868,747的美国临时申请的优先权,其中每一者通过整体引用并入本文。
技术领域
3.本公开的实施例总体上涉及图形用户界面,并且更具体地涉及在图形用户界面内呈现的界面元素。


背景技术:

4.图形用户界面(gui)是一种用户界面的形式,其允许用户通过图形图标和视觉指示器而不是纯粹基于文本的用户界面、键入的命令标签或文本导航来与电子设备交互。
附图说明
5.为了容易地识别对任何特定元素或动作的讨论,在参考数字中的一个或多个最高有效数字指的是在其中该元素首次被引入的附图号。
6.图1是示出根据一些实施例的用于在网络上交换数据(例如,消息和相关联的内容)的示例消息系统的框图,其中,消息系统包括上下文导航菜单系统。
7.图2是示出根据示例实施例的关于消息传递系统的进一步细节的框图。
8.图3是示出根据某些示例实施例的上下文导航菜单系统的各种模块的框图。
9.图4是示出根据某些示例实施例的用于生成上下文导航菜单并导致上下文导航菜单的显示的方法的流程图。
10.图5是示出根据某些示例实施例的上下文导航菜单的各种状态的界面流程图。
11.图6是示出了代表性软件架构的框图,该软件架构可与本文描述的各种硬件架构结合使用并用于实现各种实施例。
12.图7是示出根据一些示例实施例的机器的组件的框图,该机器的组件能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法。
具体实施方式
13.如上所述,gui是一种用户界面形式,其允许用户通过图形图标和视觉指示器而不是纯粹基于文本的用户界面、键入的命令标签或文本导航来与电子设备交互。在此描述的示例实施例涉及用于在gui内生成上下文导航菜单并引起上下文导航菜单的显示的系统和方法,其中上下文导航菜单呈现上下文相关的界面元素。
14.上下文相关性可以例如基于在客户端设备处访问的上下文数据。上下文数据可以例如包括时间数据、位置数据、设备属性、媒体属性、用户会话的状态以及用户简档数据。因此,上下文导航菜单系统可以执行包括以下的操作:导致在gui内显示媒体内容,其中菜单
元素被配置为显示一组导航图标,并且其中该组导航图标中的每个图标与相应的一组用户操作相关联;响应于导致媒体内容的显示,访问上下文数据,其中,上下文数据包括媒体内容的属性;基于上下文数据生成上下文图标;并且导致在菜单元素内的位置处显示上下文图标的呈现。
15.作为从用户角度来看的说明性示例,客户端设备可以执行一个或多个应用来显示gui以呈现媒体内容。客户端设备的用户可以在gui内呈现媒体内容,其中媒体内容包括一组媒体属性。gui还包括在gui内的位置处的上下文导航菜单的显示,其中上下文导航菜单包括多个图形图标的显示。图形图标可以对应于各种用户会话状态,包括但不限于消息传递状态、相机/媒体生成状态和发现/媒体消费状态。
16.因此,每个用户会话状态可以与对应的一组用户动作相关联。例如,消息传递状态可以与一组与生成用户消息有关的用户动作(即文本输入字段、媒体输入字段、联系人列表)相关联,相机/媒体生成状态可以与一组与生成内容有关的用户动作(即媒体选择菜单、滤镜选择选项)相关联,并且发现/媒体消费状态可以与一组与搜索相关内容和识别相关内容以供消费者和查看(即搜索菜单)有关的用户动作相关联。
17.因此,响应于在客户端设备的gui内显示媒体内容,上下文导航菜单系统访问上下文数据,其中上下文数据包括媒体内容的属性,以及基于用户会话状态的数据。例如,上下文数据可以包括:位置数据、时间数据、用户简档数据和通信会话数据。上下文导航菜单系统然后可以生成上下文图标并导致在gui的菜单元素内的位置处显示上下文图标,其中上下文图标包括可以基于所访问的上下文数据的特性。
18.例如,在一些实施例中,上下文图标可以包括从在gui内呈现的媒体内容中提取的元素,或者在gui内呈现的媒体内容的特性。例如,媒体内容可以包括在媒体内容内的位置处的一个或多个用户标识符的显示(即,“提及”)。响应于检测到一个或多个用户标识符的显示,系统可以生成上下文图标,该上下文图标被配置为接收输入并显示二级菜单元素以显示来自媒体内容的一个或多个用户标识符。
19.在一些实施例中,媒体内容可以包括网站链接(即,url)的显示。响应于检测到网站链接的显示,所公开的系统生成上下文图标,该图标包括在gui中呈现的菜单元素内的位置处的网站链接的显示。
20.在一些实施例中,媒体内容可以包括音频或视频数据。响应于检测到音频或视频数据,系统可以生成上下文图标,该图标包括一个或多个媒体控制符号的显示(即,播放、暂停、倒退、停止、快进、倒带、重复)。
21.在一些实施例中,媒体内容可以包括查询,其中查询包括请求响应,并且其中响应可以包括二元响应(即,真或假、是或否)、从单选选择中选择选项、或文本输入。响应于检测到查询,系统可以生成上下文图标,该图标包括一个或多个选项的显示,以在gui的菜单元素中呈现的图形图标内响应查询。
22.图1是示出用于在网络上交换数据(例如,消息和相关内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104经由网络106(例如,因特网)与消息传递客户端应用104的其它实例和消息传递服务器系统108通信地耦接。
23.因此,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应
用104和消息传递服务器系统108进行通信并交换数据。在消息传递客户端应用104之间以及在消息传递客户端应用104与消息传递服务器系统108之间交换的数据包括函数(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频、或其它多媒体数据)。
24.消息传递服务器系统108经由网络106向特定消息传递客户端应用104提供服务器端功能。尽管在本文中将消息传递系统100的某些功能描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些功能在消息传递客户端应用104或消息传递服务器系统108中的位置是设计选择。例如,在技术上优选地是首先在消息传递服务器系统108内部署某些技术和功能,然后将该技术和功能迁移到其中客户端设备102具有足够处理能力的消息传递客户端应用104。
25.消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。在一些实施例中,作为示例,该数据包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持续条件、社交网络信息、以及现场活动信息。在其它实施例中,使用其它数据。消息传递系统100内的数据交换通过经由消息传递客户端应用104的gui可用的功能来调用和控制。
26.现在具体转到消息传递服务器系统108,应用程序接口(api)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由应用服务器112处理的消息相关联的数据。
27.具体处理应用程序接口(api)服务器110,该服务器在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(api)服务器110提供可被消息传递客户端应用104调用或查询的接口集合(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(api)服务器110暴露由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如,图像或视频),以供另一消息传递客户端应用104进行可能的访问;媒体数据的集合(例如,故事)的设置;客户端设备102的用户的好友列表的取得;此类集合的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;打开并应用事件(例如,与消息传递客户端应用104有关的)。
28.应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122以及上下文导航菜单系统124。消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容)的聚合和其他处理。如将在进一步的细节中描述的,来自多个源的文本和媒体内容可被聚合成内容的集合(例如,被称为故事、图库、或集合)。然后,消息传递服务器应用114使得消息传递客户端应用104可用这些集合。考虑到此类处理的硬件要求,对数据的其他处理器和存储器密集型处理还可在服务器端由消息传递服务器应用114来执行。
29.应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递应用服务器114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理
操作。
30.社交网络系统122支持各种社交联网功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图304。社交网络系统122支持的功能和服务的示例包括识别消息传递系统100的其他用户(他与特定用户具有关系或者特定用户“关注”他),以及还识别特定用户的其他实体和兴趣。
31.应用服务器112通信地耦接到数据库服务器118,该数据库服务器118促进对数据库120的访问,该数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
32.图2是示出根据示例实施例的关于消息传递系统100的进一步细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们又进而体现了多个特定子系统,即,短暂计时器系统202、集合管理系统204、和注释系统206。
33.短暂计时器系统202负责对由消息传递客户端应用104和消息传递服务器应用114所允许的内容执行临时访问。为此,短暂计时器系统202并入了多个计时器,这些计时器基于与消息、消息集合、或图形元素相关联的持续时间和显示参数,经由消息传递客户端应用104选择性地显示并使能对消息和相关联内容的访问。在下面提供关于短暂计时器系统202的操作的进一步细节。
34.集合管理系统204负责管理媒体的集合(例如,包括文本、图像视频和音频数据的媒体集合)。在一些示例中,内容的集合(例如,包括图像、视频、文本和音频的消息)可被组织成“事件图库”或“事件故事”。这种集合可在指定时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。
35.集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件有关的内容的集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,为了将用户生成的内容包括到集合中,可向用户支付补偿。在这种情况下,策展界面208操作以自动向此类用户就使用其内容而支付费用。
36.注释系统206提供使用户能够注释或以其他方式修改或编辑媒体内容的各种功能,诸如由用户接收的将要转发或重新分发给一个或多个接收者的用户支持内容。例如,注释系统206提供与针对由消息传递系统100处理的消息产生和发布媒体叠加有关的功能。注释系统206可操作地基于客户端设备102的地理位置向消息传递客户端应用104提供媒体叠加。在另一个示例中,注释系统206基于其他信息(例如,客户端设备102的用户的社交网络信息)可操作地向消息传递客户端应用104提供媒体叠加。媒体叠加可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括:图片、文本、徽标、动画和声音效果,以及动画面部模型、图像滤镜、以及增强现实媒体内容。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可在客户端设备102处被应用于媒体内容项(例如,照片或视频或实时流)。例如,媒体叠加包括可被叠加在由客户端设备102拍摄的照片上的文本。在另一个示例中,媒体叠加包括位置叠加(例如,威尼斯海滩)的标识、现场事件的名称、或商家叠加的名称
(例如,海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备102的地理位置处的商家的名称。媒体叠加可包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可通过数据库服务器118来访问。
37.在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置,并上载与所选地理位置相关联的内容。用户还可指定在什么情况下应向其他用户提供特定媒体叠加。注释系统206生成包括所上载内容的媒体叠加,并将所上载内容与所选地理位置相关联。
38.在另一个示例实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定的时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。
39.图3是示出根据某些示例实施例的上下文导航菜单系统124的组件的框图,该组件配置上下文导航菜单系统124以生成上下文导航菜单并引起上下文导航菜单的显示。
40.上下文导航菜单系统124被示为包括图像模块302,上下文模块304,菜单模块306和呈现模块308,它们均被配置为彼此通信(例如,经由总线,共享存储器或开关)。这些模块中的任何一个或多个可使用一个或多个处理器310来实现(例如,通过配置该一个或多个处理器以执行针对该模块描述的功能),因此可包括一个或多个处理器310。
41.可使用单独的硬件(例如,机器的一个或多个处理器310)或硬件和软件的组合来实现所描述的模块中的任何一个或多个。例如,上下文导航菜单系统124中描述的任何模块可在物理上包括被配置为执行本文所述的用于该模块的操作的一个或多个处理器310(例如,机器的一个或多个处理器的子集或其之中的一个子集)的布置。作为另一示例,上下文导航菜单系统124的任何模块可包括软件,硬件或两者,其将一个或多个处理器310(例如,机器的一个或多个处理器之中)的布置配置为执行本文所述的针对该模块的操作。因此,上下文导航菜单系统124的不同模块可包括并配置该处理器310的不同布置或该处理器310在不同时间点处的单个布置。此外,上下文导航菜单系统124的任何两个或更多个模块可被组合成单个模块,并且本文针对单个模块描述的功能可在多个模块之间被细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库、或设备内实现的模块可被分布在多个机器、数据库或设备上。
42.图4是示出根据某些示例实施例的用于生成上下文导航菜单并引起上下文导航菜单的显示的方法400的流程图。方法400的操作可由以上参照图3描述的模块执行。如图4所示,方法400包括一个或多个操作402、404、406和408。
43.在操作402,图像模块302导致在客户端设备102的gui内显示媒体内容,其中gui包括菜单元素以显示一组导航图标(即,图形图标),其中一组导航图标中的每个导航图标对应于一个或多个用户操作。例如,在一些实施例中,菜单元素可以包括在菜单元素内的位置处的一组“静态”图标,其中静态图标不会基于上下文而改变。菜单元素还可包括显示上下文图标的区域,其中上下文图标可基于本文讨论的多个上下文因素而变化。
44.在操作404,上下文模块304响应于gui内的媒体内容的显示来访问上下文数据,其中上下文数据包括媒体内容的属性,以及指示用户处于浏览应用会话的会话状态的用户会话状态数据。
45.在一些实施例中,媒体内容的属性可以包括以下一项或多项:在媒体内容内呈现的元素、媒体内容的媒体类型(即图像、视频、音频、网络url)、媒体内容的来源(即发送者)、媒体内容的图形属性、以及媒体内容的音频属性。
46.在操作406,菜单模块306基于上下文数据生成上下文图标。例如,在一些实施例中,菜单模块306可以从gui内显示的媒体内容中解析一个或多个元素,并基于该一个或多个元素生成上下文图标。例如,如图5的界面图500中所见,gui可以显示媒体内容504,其中媒体内容504包括用户标识符518(即,“提及”)的显示。响应于在媒体内容504内检测到用户标识符518,菜单模块306可以生成上下文图标512,其中上下文图标512包括用户标识符的显示,并且其中选择上下文图标512的输入可以导致显示媒体内容504内显示的所有用户标识符的呈现。
47.类似地,媒体内容508可以包括到网页(即,youtube.com)的超链接。响应于检测到网页的超链接,菜单模块306可以生成上下文图标516,其中上下文图标516包括对到网页的url的显示,并且其中选择上下文图标516的输入可以将客户端设备102的浏览器引向对应的网页。
48.在操作408,呈现模块308使得在菜单元素内的一个或多个界面元素之中的位置处显示上下文图标的呈现。因此,上下文导航菜单系统124可以呈现变化的、和基于上下文的菜单元素,其中在菜单元素中呈现的图标中的至少一些可以是基于对应的上下文因素的。
49.图5是示出根据某些示例实施例的可以由上下文导航菜单系统124呈现的上下文导航菜单的界面图500。如方法400中所讨论的,根据某些示例实施例,上下文导航菜单系统124可以在菜单元素内呈现上下文图标,其中可以基于上下文因素来生成上下文图标,上下文图标包括在客户端设备102的gui内呈现的媒体内容的属性。
50.例如,如界面图500中所见,媒体内容502可包括视频内容。响应于确定媒体内容502包括视频内容,上下文导航菜单系统124可以生成上下文图标510并导致在菜单元素内的位置处显示上下文图标510,其中上下文图标510包括媒体控制元素的显示,例如播放按钮。
51.在一些实施例中,媒体内容可以包括媒体内容504,其中媒体内容504包括一个或多个用户标识符518的显示。响应于检测到媒体内容504内的一个或多个用户标识符518,上下文导航菜单系统124可以生成上下文图标512并引起上下文图标512的显示,其中上下文图标512被配置为接收用户输入,并且作为响应呈现媒体内容504内列出的用户标识符列表的显示。
52.在一些实施例中,如媒体内容506所描绘的,媒体内容可以包括查询或请求的显示,例如查询520。响应于在媒体内容506内检测到查询520,上下文导航菜单系统124可以生成上下文图标514并引起上下文图标514的显示,其中上下文图标514包括对请求的一个或多个响应选项的显示,或者类似地,可以简单地为用户提供字段以提供包括对请求的响应的输入(即文本输入字段)。
53.在一些实施例中,如媒体内容508所描绘的,媒体内容可以包括到网页的链接。响应于检测到媒体内容508内的网页链接,上下文导航菜单系统124可以生成上下文图标516并引起上下文图标516的显示,其中上下文图标516可以包括与网页相关联的url的显示,并且可以被配置为接收用户输入,并且响应于用户输入,使客户端设备102的浏览器导航到与
媒体内容508中描绘的链接相关联的网页。
54.软件架构
55.图6是示出示例软件架构606的框图,该示例软件架构606可与本文所述的各种硬件架构结合使用。图6是软件架构的非限制性示例,并且应当理解,可实现许多其他架构以促进本文描述的功能。软件架构606可在诸如图8的机器800的硬件上执行,除其它外,该硬件还包括处理器804,存储器814和i/o组件818。代表性的硬件层652被示出,并且可表示例如图6的机器600。代表性的硬件层652包括具有相关联的可执行指令604的处理单元654。可执行指令604表示软件架构606的可执行指令,包括本文描述的方法、组件等的实现。硬件层652还包括存储器和/或存储模块存储器/存储设备656,其还具有可执行指令604。硬件层652还可包括其他硬件658。
56.在图6的示例架构中,软件架构606可被概念化为层的堆栈,其中每个层提供特定的功能。例如,软件架构606可包括诸如操作系统602、库620、应用616、和表示层614的层。在操作上,这些层内的应用616和/或其他组件可通过软件堆栈来调用应用程序接口(api)api调用608,并接收响应于api调用608的响应。所示的层本质上是代表性的,并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件618,而其他操作系统可提供这种层。其他软件架构可包括其他或不同的层。
57.操作系统602可管理硬件资源并提供通用服务。操作系统602可包括例如内核622、服务624、和驱动器626。内核622可用作硬件与其他软件层之间的抽象层。例如,内核622可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务624可为其他软件层提供其他公共服务。驱动器626负责控制或与基础硬件接口连接。例如,取决于硬件配置,驱动器626包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
58.库620提供由应用616和/或其他组件和/或层使用的公共基础结构。库620提供允许其他软件组件以比直接与底层操作系统602功能(例如,内核622,服务624和/或驱动器626)接口连接的方式更容易的方式执行任务的功能。库620可包括系统库644(例如,c标准库),其可提供诸如存储器分配功能,字符串操纵功能,数学功能等的功能。此外,库620可包括api库646,例如媒体库(例如,支持各种媒体格式(例如mpreg4,h.264,mp3,aac,amr,jpg,png)的呈现和操作的库)、图形库(例如,可用于在显示器上以图形内容呈现2d和3d的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、网络库(例如,可提供网络浏览功能的webkit))等。库620还可包括各种各样的其他库648,以向应用616和其他软件组件/模块提供许多其他api。
59.框架/中间件618(有时也称为中间件)提供可由应用616和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件618可提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件618可提供可由应用616和/或其他软件组件/模块使用的广泛的其他api,其中一些可以特定于特定操作系统602或平台。
60.应用616包括内置应用638和/或第三方应用640。代表性内置应用638的示例可包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用640可包括由除特定平台的卖方以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm

或其它移动操作系统的移动操作系统上运行的移动软件。第三方应用640可调用由移动操作系统(例如,操作系统602)提供的api调用608,以促进本文描述的功能。
61.应用616可使用内置操作系统功能(例如,内核622、服务624和/或驱动器626)、库620、以及框架/中间件618来创建用户界面以与系统的用户进行交互。替代地,或者附加地,在一些系统中,可以通过呈现层(例如呈现层614)与用户进行交互。在这些系统中,应用/组件“逻辑”可以与跟用户进行互动的应用/组件的各个方面分开。
62.图8是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器800的组件的框图。具体地,图8示出了具有计算机系统的示例形式的机器800的图解表示,在其中可执行用于使机器800执行本文讨论的任何一种或多种方法的指令810(例如,软件、程序、应用、小应用、应用程序或其他可执行代码)。这样,指令810可用于实现本文描述的模块或组件。指令810将通用的、未编程的机器800转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器800。在替代实施例中,机器800作为独立设备运行,或者可耦接(例如,联网)到其他机器。在联网部署中,机器800可在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器800可包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其它智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其它方式执行指令810的任何机器,这些指令指定了机器800将要采取的动作。此外,尽管仅示出了单个机器800,但术语“机器”还应被认为包括单独地或共同地执行指令810以执行本文讨论的方法中的任何一个或多个方法的机器的集合。
63.机器800可包括处理器804,存储器/存储设备806和i/o组件818,其可被配置为例如经由总线802彼此通信。存储器/存储设备806可包括存储器814(诸如主存储器、或其他存储器),以及存储单元816,二者可被处理器804诸如经由总线802访问。存储单元816和存储器814存储体现此处描述的方法或功能中的任何一个或多个的指令810。指令810还可在由机器800执行期间全部或部分地驻留在存储器814内,存储单元816内,处理器804中的至少一个内(例如,处理器的高速缓存存储器内),或其任何合适的组合内。因此,存储器814、存储单元816和处理器804的存储器是机器可读介质的示例。
64.i/o组件818可包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器800中的特定i/o组件818将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应当理解,i/o组件818可包括在图8中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对i/o组件818进行分组,并且分组绝不是限制性的。在各种示例实施例中,i/o组件818可包括输出组件826和输入组件828。输出组件826可包括视觉组件(例如显示器,诸如,等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪、或阴极射线管(crt))、听觉组件(例如扬声器)、触觉组件(例如,振动马达,抗性机制)、其他信号发生器等。输入组件828可包括字母数字输入组件
(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘、或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或其他指向仪器)、触知输入组件(例如,物理按钮、提供触摸的位置和力或触摸手势的触摸屏,或其它触知输入组件)、音频输入组件(例如,麦克风)等。
65.在进一步的示例实施例中,i/o组件818可包括除各种各样的其他组件外的生物特征组件830、运动组件834、环境组件836或位置组件838。例如,生物特征组件830可包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势、或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水、或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别、或基于脑电图的识别)等的组件。运动组件834可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件836可包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件838可包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如,磁力计)等。
66.可使用多种技术来实现通信。i/o组件818可包括通信组件840,该通信组件840可操作以分别经由耦接(coupling)822和耦接824将机器800耦接到网络832或设备820。例如,通信组件840可包括网络接口组件或与网络832接口连接的其它合适的设备。在进一步的示例中,通信组件840可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如低能耗)、组件和经由其它形态提供通信的其它通信组件。设备820可以是另一机器或各种各样的外围设备(例如,经由通用串行总线(usb)耦接的外围设备)中的任何一个。
67.此外,通信组件840可检测标识符或包括可操作以检测标识符的组件。例如,通信组件840可包括射频识别(rfid)标签读取器组件、nfc智能标记检测组件、光学读取器组件(例如,用于检测诸如通用产品代码(upc)条形码的一维条形码、多维条形码(例如快速响应(qr)码、aztec码、数据矩阵、数字图形、最大码、pdf417、超码、ucc rss-2d条形码)和其他光学码的光学传感器)、或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可经由通信组件840来获得各种信息,例如经由互联网协议(ip)地理位置来获得位置、经由信号三角测量来获得位置、经由检测可指示特定位置的nfc信标信号来获得位置等。
68.术语表
69.在此上下文中,“载波信号”是指能够存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令的通信。指令可经由网络接口设备使用传输介质并且使用许多公知的传输协议中的任何一种来在网络上发送或接收。
70.在此上下文中,“客户端设备”是指与通信网络接口连接以从一个或多个服务器系统或其他客户端设备获取资源的任何机器。客户端设备可以是但不限于:移动电话、台式计
算机、便携式计算机、便携式数字助理(pda)、智能电话、平板电脑、超级本、上网本、便携式计算机、多处理器系统、基于微处理器的或可编程的消费类电子产品、游戏机、机顶盒、或用户可用于访问网络的任何其他通信设备。
71.在此上下文中,“通信网络”是指网络的一个或多个部分,其可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网、互联网的一部分、公共交换电话网络(pstn)的一部分、老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络,或两个或更多个此类网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一类型的蜂窝或无线耦接。在该示例中,耦接可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。
72.在此上下文中,“短暂消息”是指在时间受限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。或者,访问时间可以是默认设置,也可以是接收者指定的设置。无论设置技术如何,消息都是短暂的。
73.在此上下文中,“机器可读介质”是指能够临时或永久存储指令和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁性介质、高速缓冲存储器、其他类型的存储设备(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被理解为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储由机器执行的指令(例如,代码)的任何介质或多种介质的组合,以使得这些指令在被机器的一个或多个处理器执行时使机器执行本文所述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
74.在此上下文中,“组件”是指具有由功能或子例程调用、分支点、应用程序接口(api)、或其他用于特定处理或控制功能的分区或模块化的技术定义的边界的设备,物理实体或逻辑。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件一起使用的被封装的功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可构成软件组件(例如,体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统、或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可被软件(例如,应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。硬件组件也可机械地、电子地或以其任何合适的组合来实现。例如,硬件组件可包括永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如,现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可包括由软件临时配置以执行某些操作的可
编程逻辑或电路。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。一旦通过此类软件进行配置,硬件组件将成为为执行配置的功能而专门定制的特定机器(或机器的特定组件),并且不再是通用处理器。应理解,可出于成本和时间方面的考虑来作出在专用且永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实施硬件组件的决定。因此,短语“硬件组件”(或“硬件实现的组件”)应被理解为包含有形实体,是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行此处所述的某些操作的实体。考虑其中硬件组件被临时配置(例如,编程)的实施例,每个硬件组件不需要在时间的任何实例处被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件组件)。因此,软件相应地配置一个或多个特定处理器,例如,以在一个时间实例上构成特定的硬件组件,并在不同的时间实例上构成不同的硬件组件。硬件组件可向其他硬件组件提供信息,或从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,通信可以通过在两个或多个硬件组件之间的信号传输(例如,在适当的电路和总线上)来实现。在其中多个硬件组件在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件组件可访问的存储器结构中存储和取得信息来实现这种硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在以后的时间访问存储器设备以取得和处理所存储的输出。硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。本文描述的示例方法的各种操作可以至少部分地由临时(例如,通过软件)配置或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这种处理器都可构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的组件来执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中的相关操作的性能或者作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)和经由一个或多个适当的接口(例如,应用程序接口(api))来访问。某些操作的性能可能会分布在处理器之间,不仅驻留在单个计算机中,而且会部署在多个计算机上。在一些示例实施例中,处理器或处理器实现的组件可位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场中)。在其他示例实施例中,处理器或处理器实现的组件可被分布在多个地理位置上。
75.在此上下文中,“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值,并产生用于操作机器的相应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑仿真的物理电路)。处理器例如可以是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任意组合。处理器可进一步是具有两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器。
76.在此上下文中,“时间戳”是指字符或编码信息的序列,其标识何时发生特定事件,
例如给出日期和时间,有时精确到几分之一秒。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1