基于天气的化身

文档序号:91103 发布日期:2021-10-08 浏览:24次 >En<

阅读说明:本技术 基于天气的化身 (Weather-based avatar ) 是由 D·阿米泰 M·C·格兰瑟姆 D·怀特 于 2020-02-26 设计创作,主要内容包括:本公开的各方面涉及一种用于基于天气状况生成化身的系统和方法,该系统包括存储程序的计算机可读存储介质。该程序和方法包括确定用户设备的当前位置;取得用户设备的当前位置处的天气状况;自动生成针对与用户设备相关联的人的基于天气的化身,基于天气的化身具有与天气状况相对应的视觉属性;以及,响应于来自请求设备的请求,使得在请求设备上显示基于天气的化身。(Aspects of the present disclosure relate to a system and method for generating an avatar based on weather conditions, the system including a computer-readable storage medium storing a program. The program and method include determining a current location of a user device; obtaining weather conditions at a current location of the user equipment; automatically generating a weather-based avatar for a person associated with the user device, the weather-based avatar having visual attributes corresponding to weather conditions; and causing a weather-based avatar to be displayed on the requesting device in response to the request from the requesting device.)

具体实施方式

以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对各种实施例的理解。然而,对于本领域技术人员显而易见的是,也可以在没有这些具体细节的情况下实践实施例。通常,众所周知的指令实例、协议、结构和技术不必详细示出。

通常,天气信息以指定特定位置处的当前温度和下雨/下雪的可能性的通用形式呈现给用户。虽然此类系统可以很好地呈现一般的天气信息,但缺乏视觉吸引力或与特定用户的联系使得它们缺少吸引力和使用不那么直观,这增加了它们的整体复杂性。这是因为仅仅知道温度和下雨/下雪的可能性可能不足以让每个用户充分了解天气状况的重要性(例如,选择合适的衣服或确定状况的严重程度)。例如,居住在全年温暖地区的用户可能不会意识到低于40华氏度的温度对于选择适合温度的服装的重要性。

此外,典型的天气应用和网站要求用户输入特定位置以确定该位置处的天气状况。此类界面使用户查看在其朋友和家人居住的其他位置的天气信息变得困难且繁重。例如,用户需要先选择一个朋友,然后用户需要确定该朋友住在哪里,然后用户才能将该朋友的位置输入到天气网站或应用程序中,以获取该朋友所在位置的天气信息。即便如此,当用户最终找到朋友所在位置的天气信息时,如果用户通常没有遭受过这种状况,用户可能仍然不会意识到天气状况的严重性。例如,居住在全年温暖地区的用户可能不会意识到用户朋友居住的位置即将到来的暴风雪的重要性。

所公开的实施例通过将一个或多个化身结合到天气应用中以在一个或多个给定位置可视地描绘天气状况来提高使用电子设备的效率。具体地,根据一些实施例,从用户设备接收对天气信息的请求。响应于该请求,取得用户设备的当前位置处的天气状况,并且生成与用户设备相关联的包括与天气状况相对应的视觉属性的化身。例如,当用户设备的当前位置处的天气状况为下雨时,生成代表用户设备的用户的化身以用于显示,其中化身的脸看起来愁眉苦脸并且化身撑着伞。在一些实施例中,化身可以被放置在显示下雨天气状况的背景上,并且化身和背景与天气状况的视觉表示一起呈现给用户。

通过向用户呈现所请求的给定位置的天气信息以及具有与给定位置处的天气状况相关联的属性的化身,向用户提供对天气状况的重要性的更清楚的理解和评价。也就是说,用户用最少的用户输入获得所请求位置处的天气状况,并且可以直观地确定(通过显示某人的衣服、动作和面部表情的化身)遭受这些天气状况的感觉。

在一些实施例中,在用户有朋友或家人的位置处的天气信息在与朋友或家人相关联的一个或多个页面中被提供。使用朋友或家人的一个或多个化身在每个页面中呈现这种天气信息,该化身具有与他们所在位置的天气状况相关联的属性。为了查看用户有朋友或家人的位置处的当前或未来的天气状况,用户通过执行特定手势(例如在屏幕上向左或向右滑动)来访问朋友或家人的相应页面。此外,住在同一位置或同一位置的指定范围内的朋友或家人的集合被分组到同一页面中。通过这种方式,不是通过翻阅多屏信息来获取用户的朋友或家人居住的一个地点的天气信息,而是通过执行给定手势导航到包含朋友或家庭成员位置的天气信息的页面,快速简单地向用户呈现包括使用视觉属性表示天气的化身的有意义的天气信息。

在一些实施例中,为了进一步提高访问用户的朋友或家庭成员的位置的相关天气信息的速度和简单性,基于用户对朋友或家庭成员的兴趣和/或该地点的天气状况的严重性来对页面进行排序和组织。例如,如果确定在给定位置处发生异常天气(例如,暴风雪或飓风或与平均或正常天气状况不同的其他天气状况),则与该位置相关联的页面被重新定位并且按顺序排列在其他页面之前。这样,当用户浏览包含用户的朋友和家人居住的不同位置的天气信息的不同页面时,针对确定发生异常天气的位置的页面将首先到达并呈现,或者在其他页面之前。此外,当确定发生异常天气时,该页面可包括用户向居住在与该页面相关联的位置的朋友和家人发送消息的选项。在一些实施方式中,当确定给定位置发生异常天气时,与该位置相关联的页面在用户访问或启动天气应用时作为初始登陆页面自动呈现给用户。

图1是示出了用于在网络106上交换数据(例如消息和相关联内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104和天气应用105的多个应用。每个消息传递客户端应用104通过网络106(例如互联网)通信地耦接到消息传递客户端应用104、天气应用105和消息传递服务器系统108的其他实例。

因此,每个消息传递客户端应用104和天气应用105能够经由网络106与另一个消息传递客户端应用104和(一个或多个)天气应用105以及与消息传递服务器系统108进行通信并交换数据。在消息传递客户端应用104与天气应用105之间和在消息传递客户端应用104与消息传递服务器系统108之间交换的数据包括函数(例如调用函数的命令)以及有效载荷数据(例如文本、音频、视频或其他多媒体数据)。

天气应用105是包括允许客户端设备102访问天气化身生成系统124的功能集的应用程序。在一些实现方式中,天气应用105是作为消息传递客户端应用程序104的一部分的组件或特征。天气应用105允许用户访问用户位置和/或用户的朋友和家人居住的位置的天气信息。天气应用105通过访问天气化身生成系统124来取得用户位置处的天气状况,并将这些天气状况与具有与当前天气状况相关联的属性的化身一起呈现。例如,如果天气应用105确定当前在用户的位置处正在下雨或者如果预报有雨,则天气应用105指示下雨的可能性并呈现用户的化身,该化身具有愁眉苦脸的面部表情并且撑着伞。天气应用105可从天气化身生成系统124取得与用户相关联的化身并访问与当前天气相关联的化身属性。使用从天气化身生成系统124获得的化身属性,天气应用105调整所取得的化身的特性或属性以具有所取得的与天气相关联的属性。

这里讨论的实施例是在天气应用105中使用化身提供天气信息的示例。应当理解,可以在任何其他类型的应用中向用户提供相同类型的信息。例如,可以在其他社交媒体应用中采用相同的技术。在这种情况下,描绘在给定位置处的天气的用户化身可以在聊天界面、社交媒体活动或数据馈送中呈现,或者在基于地图的界面上呈现,该界面基于用户的朋友的当前位置在地图上描绘他们的化身。在基于地图的界面中,可以修改用户朋友的每个化身以描绘与化身的位置处的天气相关联的属性。

在一些实施例中,天气应用105确定用户正在使用的客户端设备102的当前情景。例如,天气应用105确定客户端设备102在汽车或飞机中。在这种情况下,天气应用105取得与情景相关联的图形(例如,敞篷汽车的图像)并调整图形的属性以匹配当前天气状况。例如,如果天气应用105确定当前正在下雨,则天气应用105将该汽车呈现为敞篷车的顶部撑起并且挡风玻璃刮水器打开。另一方面,如果天气应用105确定当前是晴天,则天气应用105将该汽车呈现为敞篷车的顶部放下。天气应用105在当前情景中插入具有与天气状况相关联的属性的化身(例如,具有与天气相关联的属性的汽车内部)。

在一些实施例中,天气应用105取得与当前天气状况相关联的背景。天气应用105将具有与当前天气状况相关联的属性的化身和/或表示客户端设备102的当前情景的图形一起呈现。

在一些实施例中,天气应用105呈现用户的朋友/家人居住的位置处的天气状况。此类天气状况以专用于特定位置的单独页面的形式呈现。用户可最初选择包括用户的朋友/家人的一组用户,并且天气应用105可确定每个所选择的朋友/家人的位置。位置可通过与其中存储了所选择的朋友/家人的简档的消息传递客户端应用程序104和/或社交网络系统122通信来确定。对于每个唯一位置或每个超过指定阈值的位置,天气应用105生成单独的页面。页面基于在与页面相关联的给定位置处的朋友的重要性或用户对其的兴趣水平和/或基于用户在该位置拥有的朋友/家庭成员的数量来被依序排列。例如,如果用户在洛杉矶有10个朋友,在纽约有3个朋友,则与洛杉矶相关联的页面在页面序列中的位置比针对纽约的页面更早。

用户通过执行特定手势(例如,在屏幕上向左/向右滑动)在不同页面之间导航。当访问给定页面时,与该页面相关联的位置的天气信息与居住在与该页面相关联的位置的朋友/家庭成员的一个或多个化身一起呈现。页面上呈现的每个化身可包括与该位置处的当前天气状况相关联的属性。例如,如果用户导航到与用户的十个朋友居住的洛杉矶市相关联的页面,则天气应用105呈现代表这些朋友中的每一个的十个不同的化身。当天气应用105确定洛杉矶的当前天气状况晴朗且温度高于75华氏度时,这十个化身可以穿着沙滩装并打沙滩排球。如果用户随后导航到与用户的三个朋友居住的纽约市相关联的另一个页面,则天气应用105呈现代表这三个朋友中的每一个的三个不同的化身。当天气应用105确定纽约的当前天气状况是寒冷多雨且温度低于45华氏度时,三个化身可以穿着大衣,他们的脸上皱着眉头。

在一些实施例中,天气应用105从天气化身生成系统124接收警报,指示在与天气应用105的页面之一相关联的位置处检测到异常天气状况。异常天气状况可以是与同一时间段(例如,同一月份、同一季节或同一天)的历史平均天气状况相差超过指定量的天气状况。例如,天气化身生成系统124向天气应用105发送警报,指示在用户的三个朋友居住的纽约市检测到暴风雪。在这种情况下,天气应用105重新组织天气应用105的页面以将与纽约市相关联的页面定位在其他页面(例如,与洛杉矶市相关联的页面)中的所有或一些之前。

在一些实施方式中,响应于接收到指示异常天气状况的警报,可以将与纽约市相关联的页面定位为天气应用105的首页。该页面可指示在纽约市存在异常天气状况并且可包括具有与异常天气状况相关联的属性的三个化身。该页面现在还可包括向居住在与所显示的页面相关联的位置处的朋友/家庭成员的全部或选定子集发送消息的选项。响应于接收到用户对选项的选择,用户可以使用消息传递客户端应用104编写消息以发送给选定的朋友/家庭成员。

消息传递服务器系统108经由网络106向特定的消息传递客户端应用104提供服务器端函数。尽管在本文中将消息传递系统100的某些函数描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些函数在消息传递客户端应用104或消息传递服务器系统108内的位置是设计选择。例如,在技术上优选地是首先在消息传递服务器系统108内部署某些技术和函数,然后将该技术和函数迁移到其中客户端设备102具有足够处理能力的消息传递客户端应用104。

消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加(overlay)、虚拟对象、消息内容持久性条件、社交网络信息、和现场事件信息。消息传递系统100中的数据交换通过经由消息传递客户端应用104的用户界面(UI)可用的函数来调用和控制。

现在具体转到消息传递服务器系统108,应用程序接口(API)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,数据库120中存储有与由应用服务器112处理的消息相关联的数据。

特别地处理API服务器110,该服务器110在客户端设备102和应用服务器112之间接收和发送消息数据(例如命令和消息有效载荷)。具体地,API服务器110提供可被消息传递客户端应用104调用或查询的一组接口(例如例程和协议),以便调用应用服务器112的函数。API服务器110公开由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如图像或视频),以供另一消息传递客户端应用104进行可能的访问;媒体数据(例如故事)集合的设置;此类集合的取得;客户端设备102的用户的好友列表的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;对用户对话数据的访问;对存储在消息传递服务器系统108上的化身信息的访问;以及打开应用事件(例如与消息传递客户端应用104有关)。

应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122、和天气化身生成系统124。消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如文本和多媒体内容)的聚合和其他处理。如将进一步详细描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如被称为故事或图库(gallery))。然后,消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。考虑到此类处理的硬件要求,消息传递服务器应用114还可以在服务器端对数据进行其他处理器和存储器密集型处理。

应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递服务器应用114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理操作。图像处理系统116的一部分也可以由天气化身生成系统124来实现。

社交网络系统122支持各种社交网络功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关系或者“正在关注”的消息传递系统100的其他用户,以及还识别特定用户的其他实体和兴趣。此类其他用户可被称为用户的朋友。社交网络系统122可访问与用户的每个朋友相关联的位置信息,以确定他们的住所或当前所处的地理位置。社交网络系统122可为用户的每个朋友维护位置简档,指示该用户的朋友居住的地理位置。

应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。

图2是示出根据某些示例实施例的可存储在消息传递服务器系统108的数据库120中的数据的示意图200。尽管数据库120的内容被示出为包括多个表,但是应当理解,数据可以以其他类型的数据结构(例如作为面向对象的数据库)来存储。

数据库120包括存储在消息表214中的消息数据。实体表202存储包括实体图204的实体数据。在实体表202中为其维护记录的实体可包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,消息传递服务器系统108所存储的数据有关的任何实体都可以是公认的实体。每个实体具有唯一的标识符以及实体类型标识符(未示出)。

实体图204还存储关于实体之间的关系和关联的信息。仅作为示例,此类关系可以是社交的、专业的(例如在同一家公司或组织中工作)、基于兴趣的或基于活动的。

消息表214可存储用户与一个或多个朋友或实体之间的对话的集合。消息表214可包括每个对话的各种属性,例如参与者列表、对话的大小(例如,用户数和/或消息数)、对话的聊天颜色、对话的唯一标识符、以及任何其他与对话相关的特征。

数据库120还以滤镜的示例形式将注释数据存储在注释表212中。数据库120还将所接收的被注释的内容存储在注释表212中。针对其数据被存储在注释表212中的滤镜与视频(针对其数据被存储在视频表210中)和/或图像(针对其数据被存储在图像表208中)相关联并且被应用于该视频和/或图像。在一个示例中,滤镜是在向接收方用户呈现的过程中被显示为叠加在图像或视频上的叠加。滤镜可以是各种类型的,包括当发送方用户正在编写消息时,来自由消息传递客户端应用104向发送方用户呈现的滤镜库中的用户选择的滤镜。其他类型的滤镜包括可基于地理位置呈现给发送方用户的地理位置滤镜(也称为地理滤镜)。例如,基于由客户端设备102的全球定位系统(GPS)单元所确定的地理位置信息,消息传递客户端应用104可在UI内呈现特定于邻居或特定位置的地理位置滤镜。另一类型的滤镜是数据滤镜,它可基于在消息创建过程期间由客户端设备102收集的其他输入或信息,由消息传递客户端应用104选择性地将其呈现给发送方用户。数据滤镜的示例包括特定位置处的当前温度、发送方用户正在行进的当前速度、客户端设备102的电池寿命或当前时间。

可存储在图像表208内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可添加到图像或视频中的实时的特殊效果和声音。

如上所述,视频表210存储视频数据,在一个实施例中,该视频数据与在消息表214内为其维护记录的消息相关联。类似地,图像表208存储与消息相关联的图像数据,其中,在实体表202内为该消息存储消息数据。实体表202可将来自注释表212的各种注释与存储在图像表208和视频表210中的各种图像和视频相关联。

化身天气属性207存储天气化身生成系统124用来生成表示不同天气状况的化身的化身属性或参数。例如,化身天气属性207将针对第一天气状况的第一多个化身属性和针对第二天气状况的第二多个化身属性相关联。化身属性可指定面部表情、动画特征、化身配饰(例如伞)、化身服装和化身姿势。每个天气状况可包括不同属性的不同集合或组合。化身属性可被存储为用于修改特定化身以描绘给定的化身属性集的通用指令。例如,可基于第一化身属性集来调整包括特定于第一用户的特征(例如,发型和肤色)的第一化身以描绘特定姿势并具有与第一化身属性集相关联的特定服装集。可基于相同的第一化身属性集来调整包括特定于第二用户的特征的第二化身,以描绘与第一化身相同的特定姿势并具有与第一化身相同的与第一化身属性集相关联的特定服装集,同时维护第二用户独有的特征。

化身天气属性207可存储天气化身生成系统124用来生成情景的图形表示的图形或情景属性。例如,化身天气属性207可存储用于在第一天气状况(例如,雨天)下驾驶的汽车的第一参数集和用于在第二天气状况(例如,晴天)下驾驶的汽车的第二参数集。第一参数集可指示挡风玻璃刮水器正在运行并且敞篷车的顶部撑起,而第二参数集可指示敞篷车的顶部放下或被打开。

风景天气属性209可存储天气化身生成系统124用于使用化身来提供天气信息的背景。例如,风景天气属性209关联针对第一天气状况的第一多个背景和针对第二天气状况的第二多个背景。第一天气状况可以是小雨天气,并且在这种情况下,第一多个背景可包括描绘彩虹和太阳的一个背景和描绘阻挡太阳的灰云的另一个背景。第二天气状况可以是下雪天气,并且在这种情况下,第二多个背景可包括描绘从天而降的雪的一个背景和描绘地上雪人的另一个背景。

故事表206存储与消息以及相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成一个集合(例如故事或图库)。特定集合的创建可以由特定用户(例如在实体表202中为其维护记录的每个用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用104的UI可包括用户可选择的图标,以使发送方用户能够将特定内容添加到他或她的个人故事中。

集合还可构成“现场故事”,它是来自多个用户的内容的集合,该内容的集合是手动、自动或使用手动和自动技术的组合创建的。例如,“现场故事”可从各种位置和事件组成用户提交的内容的策展流。例如,可以经由消息传递客户端应用104的UI向其客户端设备启用了位置服务并且在特定时间处在共同位置事件的用户呈现选项,以向特定的现场故事贡献内容。现场故事可由消息传递客户端应用104基于他或她的位置识别给用户。最终的结果是从社区角度讲的“现场故事”。

另一类型的内容集合被称为“位置故事”,其使得其客户端设备102位于特定地理位置内(例如在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要二级认证,以验证最终用户属于特定组织或其他实体(例如是大学校园中的学生)。

图3是示出根据一些实施例的消息300的结构的示意图,该消息300由消息传递客户端应用104生成以用于与另一消息传递客户端应用104或消息传递服务器应用114进行通信。特定消息300的内容被用于填充消息传递服务器应用114可访问的、存储在数据库120中的消息表214。类似地,消息300的内容被存储在存储器中,作为客户端设备102或应用服务器112的“传输中(in-transit)”或“运行中(in-flight)”数据。消息300被示为包括以下成分:

·消息标识符302:识别消息300的唯一标识符。

·消息文本有效载荷304:将由用户通过客户端设备102的用户界面生成的并被包括在消息300中的文本。

·消息图像有效载荷306:由客户端设备102的相机组件采集或从客户端设备102的存储器中取得的并被包括在消息300中的图像数据。

·消息视频有效载荷308:由相机组件采集的或从客户端设备102的存储器组件中取得的并被包括在消息300中的视频数据。

·消息音频有效载荷310:由麦克风采集的或从客户端设备102的存储器组件中取得的并被包括在消息300中的音频数据。

·消息注释312:表示要应用于消息300的消息图像有效载荷306、消息视频有效载荷308或消息音频有效载荷310的注释的注释数据(例如滤镜、贴纸(sticker)或其他增强功能)。

·消息持续时间参数314:以秒为单位指示消息的内容(例如消息图像有效载荷306、消息视频有效载荷308,消息音频有效载荷310)要经由消息传递客户端应用104呈现给用户或使用户可以访问的时间量的参数值。

·消息地理位置参数316:与消息的内容有效载荷相关联的地理位置数据(例如纬度和经度坐标)。多个消息地理位置参数316值可被包括在有效载荷中,这些参数值中的每一个都与内容中包括的相应的内容项相关联(例如消息图像有效载荷306内的特定图像、或消息视频有效载荷308中的特定视频)。

·消息故事标识符318:标识符值,该值标识与消息300的消息图像有效载荷306中的特定内容项相关联的一个或多个内容集合(例如“故事”)。例如,消息图像有效载荷306内的多个图像可各自使用标识符值与多个内容集合相关联。

·消息标记320:每个消息300可被标记有多个标记,每个标记指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷306中包括的特定图像描绘了动物(例如狮子)的情况下,可以在消息标记320内包括指示相关动物的标记值。标记值可基于用户输入手动生成,或者可使用例如图像识别自动生成。

·消息发送方标识符322:指示在其上生成消息300并且从其发送消息300的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址,或设备标识符)。

·消息接收方标识符324:指示消息300被寻址到的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址、或设备标识符)。在多个用户之间的对话的情况下,标识符可识别对话中所涉及的每个用户。

消息300的各个成分的内容(例如值)可以是指向在存储内容数据值的表中的位置的指针。例如,消息图像有效载荷306中的图像值可以是指向图像表208中的位置的指针(或地址)。类似地,消息视频有效载荷308中的值可指向视频表210中存储的数据,消息注释312中存储的值可指向注释表212中存储的数据,消息故事标识符318中存储的值可指向故事表206中存储的数据,以及消息发送方标识符322和消息接收方标识符324中存储的值可指向实体表202中存储的用户记录。

图4是示出根据示例实施例的示例天气化身生成系统124的框图。天气化身生成系统124包括天气状况模块414、用户位置模块419、化身属性选择模块416、背景选择模块418和化身显示模块420。天气化身生成系统124可选地还包括异常天气确定模块422、情景确定模块412和情景图形选择模块413。

用户位置模块419访问用户指定要被包括在天气应用105中的朋友/家庭成员的列表。具体地,用户可打开天气应用105并选择添加朋友的选项。添加朋友选项可从社交网络系统122取得用户的所有朋友的列表。用户可选择用户最有兴趣将哪些朋友包括在天气应用105中。特别地,从该列表中选择的任何朋友可用于生成与所选朋友相关联的位置的对应页面。用户位置模块419访问朋友列表并与社交网络系统122通信以确定每个所选朋友的地理位置。

在一些实施方式中,由用户位置模块419获得的地理位置代表与每个访问的朋友相关联的设备的实时当前位置和/或代表朋友生活或居住的地方的与该朋友相关联的预存储或预先指定的位置。用户位置模块419可基于用户位置的相似度将用户选择的朋友分组。例如,与在给定城市的指定范围内(例如,小于50英里)的给定位置相关联的朋友可以被分组在一起。指定范围可由用户输入或者可由天气化身生成系统124的操作员选择。用户位置模块419可输出多个朋友组,在每个组中,该组中的每一个与相同的共同位置相关联。用户位置模块419针对每组朋友生成不同的页面,以使得每个页面代表给定位置。

由用户位置模块419生成的页面与客户端设备102的用户的当前地理位置或预定位置一起被提供给天气状况模块414。天气状况模块414访问第三方网站或应用程序,以获得与由用户位置模块419提供的页面相关联的每个位置的天气信息。例如,天气状况模块414可确定客户端设备102的用户当前处于纽约,并相应地从天气应用的第三方网站获取包括纽约市的天气预报的天气状况。天气状况模块414可确定由用户位置模块419指示的一组朋友与代表洛杉矶市的页面相关联,并且因此,天气状况模块414可与第三方天气网站或应用程序通信以获取洛杉矶市的天气状况(例如,当前天气和/或天气状况预报)。在一些实施例中,天气状况模块414可实时持续地、周期性地、或响应于接收到访问天气应用105的用户请求来获得天气状况。

天气状况模块414将天气状况提供给化身属性选择模块416、异常天气确定模块422和情景确定模块412。化身属性选择模块416访问化身天气属性207。具体地,化身属性选择模块416从化身天气属性207取得与从天气状况模块414接收的天气状况相关联的化身属性列表。化身属性选择模块416以随机、伪随机或循环方式(例如,以顺序方式)选择属性中的从化身天气属性207获得的与天气状况相关联的属性。

在一些实施例中,化身属性选择模块416确定多个用户由与相同天气状况相关联的给定页面表示。例如,三个用户可与洛杉矶市页面相关联,由天气状况模块414指示的该城市当前天气状况为晴天。在这种情况下,化身属性选择模块416以随机、伪随机或循环方式从与晴天天气状况相关联的化身天气属性207中选择三个不同的化身属性。在一些实施例中,基于所选择的多个不同化身属性,可以针对给定位置(例如,在单个页面上)一起显示多个化身。

化身属性选择模块416获得与给定页面所代表的特定用户相关联的化身。例如,化身属性选择模块416获得第一页面所代表的客户端设备102的用户的化身,并获得与洛杉矶市相对应的第二页面所代表的三个用户的三个化身。化身属性选择模块416修改所获得的化身以包括从化身天气属性207中选择的属性。例如,化身属性选择模块416调整给定化身的姿势、配饰和服装以表示显示化身的页面所代表的位置的天气状况。

化身属性选择模块416向背景选择模块418提供天气状况和每个页面的经修改的化身。背景选择模块418访问风景天气属性209。具体地,背景选择模块418从风景天气属性209取得与从化身属性选择模块416接收的天气状况相关联的背景列表。背景选择模块418以随机、伪随机或循环方式(例如,以顺序方式)选择背景中的从风景天气属性209获得的与天气状况相关联的背景。背景选择模块418针对获得天气状况的每个页面从风景天气属性209中选择不同的背景。

背景选择模块418将由化身属性选择模块416提供的经修改的化身与所选择的相应背景组合。例如,给定页面对应于用户的三个朋友居住的洛杉矶市。在这种情况下,化身属性选择模块416生成描绘三个穿着沙滩装的朋友打排球(例如,具有排球特定姿势)的三个化身,并且背景选择模块418选择沙滩作为背景。背景选择模块418将穿着沙滩装打排球的三个化身组合在沙滩背景上。

背景选择模块418将针对每个页面组合的化身和背景提供给化身显示模块420。化身显示模块420将所接收的背景和化身安排到天气应用105的页面的集合或页面集中。例如,化身显示模块420呈现客户端设备102的用户的具有与用户位置处的天气状况相关联的属性的化身以及表示用户位置处的天气状况的背景,作为第一页面。化身显示模块420可呈现与居住在洛杉矶或洛杉矶指定范围内的用户相关联的三个化身,作为第二页面,这些化身具有与洛杉矶当前天气状况相关联的属性,并与表示该天气状况的背景相结合。

情景确定模块412访问社交网络系统122以获得针对被选择以被包括在天气应用105中的用户的当前情景信息。在一些实施例中,情景确定模块412与被选择以被包括在天气应用105中的每个用户的设备通信来推断情景。例如,情景确定模块412可与给定用户设备的加速度计通信以确定设备移动的速度。如果速度超过第一指定量,则情景确定模块412确定设备和用户在汽车中。如果速度超过大于第一量的第二指定量,则情景确定模块412确定设备和用户在飞机中。作为另一个示例,情景确定可以是单独基于位置或与速度相结合。例如,情景确定模块412可以确定用户位于海上或湖上,并且作为响应,呈现描绘用户在小船、游艇等上的化身。

情景确定模块412将所确定的情景提供给情景图形选择模块413,其取得表示所确定的情景的图形(例如,汽车或飞机的化身)。情境确定模块412将所确定的情境和当前天气状况提供给化身天气属性207以获得与天气状况相关联的图形属性。情景图形选择模块413从化身天气属性207中选择给定的图形属性并基于所选择的图形属性修改图形。例如,情景图形选择模块413修改代表汽车化身的图形以在天气状况晴朗时使车顶放下或打开,并且修改代表汽车化身的图形以在天气状况为下雨时撑起或关闭车顶并动画化挡风玻璃刮水器。作为另一示例,情景图形选择模块413修改代表在具有恶劣水况(在雨天)或平静水况(在晴天)的水上的小船的图形。

经修改的化身被提供给化身显示模块420,其将给定页面上的一个或多个化身与经修改的图形集成在一起。例如,化身显示模块420识别给定页面上的哪个化身与从情景图形选择模块413接收的图形相关联。化身显示模块420然后可在页面上将化身插入到经修改的图形中。例如,在晴朗的状况下,化身显示模块420生成页面,在该页面中穿着沙滩装的化身被添加或放置在车顶打开或自顶向下的汽车化身内。

异常天气确定模块422接收从天气状况模块414为其生成页面的每个位置的天气状况。异常天气确定模块422将对应位置处的天气状况与历史平均值进行比较,以确定当前状况与历史平均值相差是否超过指定量。例如,异常天气确定模块422存储具有各种地理位置的历史天气平均值的数据库。平均值可以是任何时间范围的,例如季节性平均值、日平均值、月平均值或年平均值。

在一个示例中,异常天气确定模块422可确定为其生成页面的给定城市(例如,洛杉矶)的当前天气状况包括超过99华氏度的温度。异常天气确定模块422从所存储的历史平均值中取得一年中当前日期或月份的平均每日温度,并确定一年中洛杉矶的平均温度为65华氏度。异常天气确定模块422可确定洛杉矶的当前天气状况比平均值高20华氏度以上,并且因此可以生成该天气状况异常的指示或警报。

在另一示例中,异常天气确定模块422可确定为其生成页面的给定城市(例如,纽约)的当前天气状况包括低于负5华氏度的温度。异常天气确定模块422从所存储的历史平均值中取得一年中当前日期或月份的平均每日温度,并确定一年中纽约的平均温度为32华氏度。异常天气确定模块422可确定纽约的当前天气状况比平均值低15华氏度以上,并且因此可生成该天气状况异常的指示或警报。

在另一个示例中,异常天气确定模块422可确定为其生成页面的给定城市(例如,纽约)的当前天气状况包括超过25英寸的雪。异常天气确定模块422从所存储的历史平均值中取得一年中当前日期或月份的平均每日下雪状况,并确定一年中纽约的平均下雪状况为2英寸的雪。异常天气确定模块422可确定纽约的当前天气状况比平均值高出超过10英寸的雪,并且因此可生成该天气状况异常的指示或警报。

异常天气状况的警报或指示被提供给化身显示模块420。化身显示模块420可基于该警报或指示重新排列页面或对页面排序。例如,异常天气确定模块422指示纽约具有异常天气状况。在这种情况下,化身显示模块420将与纽约市相关联的页面定位或放置在与其他城市相关联的所有其他页面之前。这样,当用户从天气应用105的第一页面导航到后续页面时,与纽约市相关联的页面将首先被导航并呈现在其他城市的页面之前。

图5是示出根据示例实施例的在执行过程500中天气化身生成系统124的示例操作的流程图。过程500可被体现在计算机可读指令中,以由一个或多个处理器执行,以使得过程500的操作可以部分地或全部地由消息传递服务器系统108和/或天气应用105的功能组件来执行;因此,下面通过参考其示例来描述过程500。然而,在其他实施例中,过程500的至少一些操作可以被部署在各种其他硬件配置上。因此,过程500并不旨在限于消息传递服务器系统108,而是可以全部或部分地由任何其他组件来实现。过程500的一些或全部操作可以是并行的,次序颠倒的,或完全省略的。

在操作502,天气化身生成系统124确定用户设备的当前位置。例如,用户位置模块419(例如,通过获得客户端设备102的GPS坐标)确定用户朋友的客户端设备102的当前位置。

在操作503,天气化身生成系统124取得用户设备的当前位置处的天气状况。例如,天气状况模块414确定与客户端设备102的当前位置或客户端设备102的GPS坐标相关联的城市。天气状况模块414与第三方天气服务(例如,网站或第三方天气应用)通信以获取当前天气状况和/或针对所确定的城市或GPS坐标的天气预报。

在操作504,天气化身生成系统124自动生成针对人的基于天气的化身,该人与具有对应于天气状况的视觉属性的用户设备相关联。例如,化身属性选择模块416从天气状况模块414接收当前天气状况并选择与所接收的天气状况相关联的化身属性。所选择的化身属性用于修改与客户端设备102相关联的用户朋友的化身以表示天气状况(例如,修改化身的姿势和服装以表示当前的天气状况)。

在操作505,天气化身生成系统124响应于从请求设备接收到请求,使得在请求设备上显示基于天气的化身。例如,天气应用105向另一客户端设备102的用户呈现页面,该页面包括由天气状况模块414获得的天气状况(例如,温度)和由化身属性选择模块416生成的经修改的化身。

图6A、图6B、图7和图8示出了根据示例实施例的天气化身生成系统124的说明性输入和输出。图6A、图6B、图7和图8所示的输入和输出可以由天气应用105实现。天气应用105可接收用户对天气的请求。作为响应,天气应用105确定用户居住在纽约并访问用户位置的天气信息。天气应用105生成显示601,在显示601中用户的当前位置612与当前天气614一起被指示。天气应用105呈现与当前天气614相关联的背景610。在这种情况下,背景610显示下雪和一个雪人,因为当前天气614指示温度为30华氏度并且正在下雪。天气应用105呈现具有与下雪天气相关联的属性的化身616(例如,化身穿着毛衣并且被动画化为与雪人玩耍)。在另一天,天气应用105确定天气是下雨。在这种情况下,天气应用105呈现描绘下雨的背景620和愁眉苦脸并拿着雨伞的化身620。

响应于天气应用105接收到用户向左滑动的手势,天气应用105访问第二页面,在该第二页面中与用户的朋友相关联的化身632被呈现在屏幕602中。屏幕602底部的指示符624使用多个点显示天气应用105中有多少页面可用并且突出显示与正在显示的当前页面相关联的给定点。天气应用105确定用户的朋友住在蒙大拿州,那里的当前天气包括雷暴。因此,背景630描绘了闪电并且朋友的化身632被描绘成以害怕姿势蹲伏。

响应于天气应用105接收到用户向左滑动的手势,天气应用105访问第三页面,在该第三页面中在屏幕603中呈现与用户的第二个朋友相关联的化身。天气应用105确定第二个朋友住在牙买加,那里当前天气晴朗,温度超过60度。因此,选择多个背景中的与此类状况(例如,温度高于60度的晴天)相关联的第一背景640,其中描绘了日落和沙滩。选择与此类状况(例如,温度高于60度的晴天)相关联的多个化身属性中的第一化身属性642,其中化身正在打排球,并且第一化身属性642用于修改第二个朋友的化身。

响应于天气应用105接收到用户向左滑动的手势,天气应用105访问第四页面,在该第四页面中在屏幕604中呈现与用户的第三个朋友相关联的化身。天气应用105确定第三个朋友住在加利福尼亚,那里当前天气晴朗,温度在60度以上。因此,选择多个背景中的与此类状况(例如,温度高于60度的晴天)相关联的第二背景650,其中描绘了具有晴朗天空的城市景观。选择多个化身属性中的与此类状况(例如,温度高于60度的晴天)相关联的第二化身属性652,其中,第二化身属性652穿着短袖和太阳镜并用于修改第三个朋友的化身。

响应于天气应用105接收到用户向左滑动的手势,天气应用105访问第五页面,在该第五页面中在屏幕605中呈现与用户的第四个朋友相关联的化身。天气应用105确定第四个朋友住在华盛顿州,那里当前天气晴朗,温度超过60度。因此,选择多个背景中的与此类状况(例如,温度高于60度的晴天)相关联的第三背景660,其中描绘了花草树木。选择多个化身属性中的与此类状况(例如,温度高于60度的晴天)相关联的第三化身属性662,其中化身正在慢跑,并且第三化身属性662用于修改第四个朋友的化身。

图7示出了用于响应于接收到用户对天气信息的请求而向用户呈现天气信息的另一个屏幕710。天气应用105确定用户所在位置的温度低于冰点。因此,化身720被呈现为具有其中化身720在冰块内部颤抖的属性。化身720与该位置接下来几天的天气预报730一起被呈现。指示符712呈现在屏幕710的顶部,显示当前页面代表用户的位置并包括多个点,该点指示还有多少包括用户朋友居住的位置的天气信息的页面可用。如果用户向上或向下滑动,则会显示有关当前页面所对应的位置的更多天气详细信息。当用户向左滑动时,图8示出了从屏幕710(其中显示了代表用户位置的页面)到相邻页面820(其中显示了用户朋友的位置)的转变。指示符712被更新为指示符810以通过指定朋友的姓名来识别针对其提供天气信息的用户的朋友。朋友的化身830也被显示在页面820中,其具有与朋友所在位置处的天气相关联的属性。

在一些实施例中,用户可以通过点击指示符810中所示的页面中的对应点直接跳到特定页面。即,不是向左/向右滑动多次以到达给定页面,用户可以点击与用户想要访问的页面相对应的点。例如,如果用户在第一页面上并且总共有六个页面,则用户可以在查看第一页面的同时点击第六个点而直接访问第六页面,而不是向左/向右滑动五次才能到达该页。

图9是示出示例软件架构906的框图,该示例软件架构906可以与本文所述的各种硬件架构结合使用。图9仅是软件架构的非限制性示例,并且将理解,可以实现多个其他架构以促进本文描述的功能。软件架构906可以在诸如图10的机器1000的硬件上执行,机器1000尤其包括处理器1004、存储器1014和输入/输出(I/O)组件1018等。代表性硬件层952被示出并且可以表示例如图10的机器1000。代表性硬件层952包括具有相关联的可执行指令904的一个或多个处理单元954。可执行指令904表示软件架构906的可执行指令,包括在此描述的方法、组件等的实现。硬件层952还包括也具有可执行指令904的存储器和/或存储模块956。硬件层952还可包括其他硬件958。

在图9的示例架构中,软件架构906可以被概念化为层的堆叠,其中每个层提供特定的功能。例如,软件架构906可包括诸如操作系统902、库920、框架/中间件918、应用916、和呈现层914的层。在操作上,这些层内的应用916或其他组件可通过软件堆栈来调用API调用908,并且响应于API调用908,接收消息912。所示出的层本质上是代表性的,并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件918,而其他操作系统可提供此类层。其他软件架构可包括附加的或不同的层。

操作系统902可管理硬件资源并提供公共服务。操作系统902可包括例如内核922、服务924和驱动器926。内核922可以充当硬件和其他软件层之间的抽象层。例如,内核922可负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设置等。服务924可为其他软件层提供其他公共服务。驱动器926负责控制底层硬件或与底层硬件接口连接。例如,驱动器926包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等,取决于硬件配置。

库920可提供可被应用916和/或其他组件和/或层使用的公共基础结构。库920通常提供如下功能:允许其他软件组件以比通过直接与基础操作系统902功能(例如内核922、服务924和/或驱动器926)接口连接更容易的方式执行任务。库920可包括系统库944(例如C标准库),该系统库944可提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库920可包括诸如媒体库的API库946(例如,用于支持各种媒体格式(例如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现二维和三维图形内容的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、网络库(例如,可提供网络浏览功能的WebKit),等。库920还可包括各种各样的其他库948,以向应用916和其他软件组件/模块提供多个其他API。

框架/中间件918(有时也称为中间件)提供可由应用916和/或其他软件组件/模块使用的高级通用基础设施。例如,框架/中间件918可提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件918可提供可被应用916和/或其他软件组件/模块使用的广泛的其他API,其中一些可能是特定于特定操作系统902或平台的。

应用916包括内置应用938和/或第三方应用940。代表性内置应用938的示例可包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用,和/或游戏应用。第三方应用940可包括由特定平台的卖方以外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用,可以是在移动操作系统(例如iOSTM、AndroidTMPhone或其他移动操作系统)上运行的移动软件。第三方应用940可以调用由移动操作系统(诸如操作系统902)提供的API调用908,以促进本文描述的功能。

应用916可利用内置的操作系统功能(例如内核922、服务924和/或驱动器926)、库920和框架/中间件918来创建UI以与系统的用户进行交互。替代地或附加地,在一些系统中,与用户的交互可通过诸如呈现层914的呈现层发生。在这些系统中,可将应用/组件“逻辑”与跟用户交互的应用/组件的各方面分开。

图10示出了根据一些示例实施例的机器1000的组件的框图,该组件能够从机器可读介质(例如,机器可读存储介质)读取指令,并执行本文所讨论的方法中的任何一个或多个。具体地,图10示出了具有计算机系统的示例形式的机器1000的图解表示,在其中可以执行用于使机器1000执行本文讨论的任何一种或多种方法的指令1010(例如软件、程序、应用、小应用、应用程序或其他可执行代码)。这样,指令1010可用于实现本文描述的模块或组件。指令1010将通用的、未编程的机器1000转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器1000。在替代实施例中,机器1000作为独立设备运行,或者可耦接(例如联网)到其他机器。在网络部署中,机器1000可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1000可包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能电器)、其他智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其他方式执行指令1010的任何机器,这些指令指定了机器1000要采取的动作。此外,尽管仅示出了单个机器1000,但术语“机器”还应认为为包括单独地或共同地执行指令1010以执行本文讨论的方法中的任何一个或多个方法的机器的集合。

机器1000可包括处理器1004、存储器/存储装置1006和I/O组件1018,它们可以被配置为例如经由总线1002彼此通信。在示例实施例中,处理器1004(例如中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或其任何合适的组合)可包括例如可执行指令1010的处理器1008和处理器1012。术语“处理器”旨在包括可包括两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器1004。虽然图10示出了多个处理器1004,机器1000可包括具有单个核的单个处理器、具有多个核的单个处理器(例如多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器/存储装置1006可包括存储器1014,(诸如,主存储器,或其它存储器存储装置)和存储单元1016,它们都可以诸如经由总线1002被处理器1004访问。存储单元1016和存储器1014存储体现本文所述方法或功能中的任何一个或多个的指令1010。在由机器1000执行期间,指令1010还可全部或部分地驻留在存储器1014内、存储单元1016内、处理器1004中的至少一个处理器内(例如在处理器的高速缓冲存储器内)或其任何组合。因此,存储器1014,存储单元1016和处理器1004的存储器是机器可读介质的示例。

I/O组件1018可以包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器1000中的特定I/O组件1018将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机构,而无头(headless)服务器机器将可能不包括此类触摸输入设备。应当理解,I/O组件1018可包括在图10中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对I/O组件1018进行分组,并且分组绝不是限制性的。在各种示例实施例中,I/O组件1018可包括输出组件1026和输入组件1028。输出组件1026可包括视觉组件(例如显示器,诸如,等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪,或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件1028可包括字母数字输入组件(例如键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触知输入组件(例如物理按钮、提供触摸的位置和/或力或触摸手势的触摸屏,或其他触知输入组件)、音频输入组件(例如麦克风)等。

在进一步的示例实施例中,I/O组件1018可包括各种各样的其他组件中的生物特征组件1039、运动组件1034、环境组件1036或位置组件1038。例如,生物特征组件1039可包括用于检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如血压、心率、体温、汗水或脑波)、识别人(例如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1034可包括加速度传感器组件(例如加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1036可包括例如照明传感器组件(例如光度计)、温度传感器组件(例如检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1038可包括位置传感器组件(例如GPS接收器组件)、高度传感器组件(例如检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如磁力计)等。

可使用多种技术来实现通信。I/O组件1018可包括通信组件1040,该通信组件1040可操作以分别经由耦接(coupling)1024和耦接1022将机器1000耦接到网络1037或设备1029。例如,通信组件1040可包括网络接口组件或与网络1037接口连接的其它合适的设备。在进一步的示例中,通信组件1040可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如低能耗)、组件和经由其它形态提供通信的其他通信组件。设备1029可以是另一机器或各种各样的外围设备(例如经由USB耦接的外围设备)中的任何一个。

此外,通信组件1040可检测标识符或包括可操作以检测标识符的组件。例如,通信组件1040可包括射频识别(RFID)标签读取器组件、NFC智能标记检测组件、光学读取器组件(例如用于检测诸如通用产品代码(UPC)条形码的一维条形码、多维条形码(例如快速响应(QR)码、Aztec码、数据矩阵、数字图形、最大码、PDF417、超码、UCC RSS-2D条形码)和其他光学码的光学传感器),或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可以经由通信组件1040来获得各种信息,例如经由互联网协议(IP)地理位置来获得位置、经由信号三角测量来获得位置、经由检测可指示特定位置的NFC信标信号来获得位置等。

词汇表

在本文中,“载波信号”是指能够存储、编码或携带暂态或非暂态指令以由机器执行的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令的通信。指令可使用暂态或非暂态传输介质通过网络接口设备以及使用多个众所周知的传输协议中的任何一个在网络上发送或接收。

在本上下文中,“客户端设备”是指与通信网络接口连接以从一个或多个服务器系统或其他客户端设备获取资源的任何机器。客户端设备可以是但不限于:移动电话、台式计算机、笔记本电脑、PDA、智能电话、平板电脑、超级本、上网本、笔记本电脑、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏机、机顶盒或用户可用来接入网络的任何其他通信设备。

在此上下文中,“通信网络”是指网络的一个或多个部分,其可以是自组网、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共电话交换网(PSTN)的一部分、老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络,或两个或多个此类网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一类型的蜂窝或无线耦接。在此示例中,耦接可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议,或其他数据传输技术。

在本上下文中,“短暂消息”是指在时间限制的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可由消息发送器设置。替代地,访问时间可以是默认设置,也可以是接收方指定的设置。不管设置技术如何,消息都是暂时的。

在本上下文中,“机器可读介质”是指能够临时或永久存储指令和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存、其他类型的存储设备(例如可擦除可编程只读存储器(EPROM))和/或其任何合适的组合。术语“机器可读介质”应被认为包括能够存储指令的单个介质或多个介质(例如集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被理解为包括能够存储由机器执行的指令(例如代码)使得指令在由机器的一个或多个处理器执行时使得机器执行本文描述的任何一种或多种方法的任何介质或多种介质的组合。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”自身不包括信号。

在本上下文中,“组件”是指具有边界的设备、物理实体或逻辑,该边界由提供对特定处理或控制功能的分区或模块化的函数或子例程调用、分支点、API或其他技术来定义。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件以及通常执行相关功能的特定功能的程序的一部分一起使用的经封装的功能硬件单元。组件可构成软件组件(例如体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或设置。在各种示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统,或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如处理器或一组处理器)可以由软件(例如应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。

硬件组件也可机械地、电子地或其任何合适的组合来实现。例如,硬件组件可包括被永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件组件还可包括可编程逻辑或电路,其由软件临时配置为执行某些操作。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。在由此类软件进行配置之后,硬件组件变成专门被定制以执行配置的功能的特定机器(或机器的特定组件),并且不再是通用处理器。可以理解,机械地在专用和永久配置的电路中或者在临时配置的电路中(例如由软件配置的)实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现的组件”)应理解为包括有形实体,其是物理构造的、永久配置的(例如硬连线的)或临时配置的(例如编程的),以某种方式操作或执行本文所述的某些操作的实体。考虑到其中硬件组件被临时配置(例如编程)的实施例,每个硬件组件不需要在任何时刻被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器的情况下,通用处理器可在不同时间被分别配置为不同的专用处理器(例如包括不同的硬件组件)。因此,软件对应地配置特定处理器或处理器,例如以在一个时刻构成一个特定硬件组件,而在另一个不同时刻构成另一个不同硬件组件。

硬件组件可向其他硬件组件提供信息并从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间的信号传输(例如通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和取得信息来实现此类硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在稍后的时间访问该存储器设备以取得和处理所存储的输出。

硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如信息的集合)上进行操作。本文所述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,此类处理器都可以构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文中所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的处理器或处理器是硬件的示例。例如,一种方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的组件执行。此外,一个或多个处理器还可操作以在“云计算”环境中或作为“软件即服务”(SaaS)来支持相关操作的执行。例如,操作中的至少一些操作可由一组计算机来执行(作为包括处理器的机器的示例),其中这些操作可以经由网络(例如互联网)以及经由一个或多个适当的接口(例如API)来访问。某些操作的执行可分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例实施例中,处理器或处理器实现的组件可位于单个地理位置中(例如在家庭环境、办公室环境,或服务器场中)。在其他示例实施例中,处理器或处理器实现的组件可分布在多个地理位置上。

在此上下文中,“处理器”是指根据控制信号(例如“命令”、“操作码”、“机器码”等)操纵数据值并产生适用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑来仿真的物理电路)。处理器可以例如是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)或其任意组合。处理器可进一步是具有可同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。

在本上下文中,“时间戳”是指一系列的字符或编码信息,其识别何时发生特定事件,例如给出日期和时间,有时精确到几分之一秒。

在不脱离本公开的范围的情况下,可以对所公开的实施例进行改变和修改。如所附权利要求所表达的,这些和其他改变或修改旨在被包括在本公开的范围内。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理方法、装置、系统、平台及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类