方法、计算机可读非临时性存储介质和系统与流程

文档序号:11459143阅读:233来源:国知局
方法、计算机可读非临时性存储介质和系统与流程

本申请是国际申请号为pct/us2013/065551的国际申请的申请号为201380054708.9的国家阶段申请的分案申请。

本公开通常涉及移动装置和移动装置用户并且涉及关于移动装置的方法、计算机可读非易失性存储介质、和系统。



背景技术:

如智能手机、平板电脑、或便携式计算机的移动装置可以包括确定其位置、方向、或方位的功能,如全球定位系统(gps)、接收器、指南针、或陀螺仪。这样的装置还可以包括无线通信的功能,如蓝牙通信、近场通信(nfc)、或红外线(ir)通信,或者与无线局域网(wlan)或蜂窝电话网的通信。这样的装置还可以包括一个或多个照相机、扫描仪、触摸屏、麦克风、或扬声器。移动装置还可以执行软件应用,如游戏、网络浏览、或社交网络应用程序。利用社交网络应用程序,用户可以与他们的社交网络中的其他用户联系、通信、和共享信息。



技术实现要素:

根据本发明的实施方式在所附权利要求中公开,针对方法、计算机可读非易失性存储介质、和系统,其中一个权利要求种类中提到的任何特征,例如,方法,可以以另一个权利要求种类的形式要求保护,例如,系统或介质。

具体实施方式使移动装置能够预测该移动装置的用户的未来状态。实际上,移动装置记录以下信息,如装置报告的本地时间、装置的位置、或装置的网络连通性并且相互参考针对历史数据的信息以预测装置的用户的未来状态。在一个实施方式中,移动装置用户是社交网络的用户并且历史数据是从用户的社交线图(socialgraph)数据提取的。基于预测的未来的用户状态,移动装置改变其性能以更好满足用户的未来需要或要求。

在一些实施方式中,预测的移动装置用户的未来的用户状态可以是用户乘车上下班、用户在家、用户在工作、用户与朋友吃晚饭、用户在公众社交环境、用户在外国、或用户将通过具体的通讯网络被联系。移动装置使用这个预测的状态满足用户的需要。移动装置可以缓存新消息直至用户到达她的预测的目的地。可替换地,移动装置可自动起动与用户正在吃晚饭的餐馆相关的软件应用。在具体实施方式中,移动装置在预测被连接至特定通讯网络的同时可以请求较低的带宽服务。这允许移动装置针对用户的活动自动定制操作。

附图说明

图1示出与社交网络系统相关联的示例性网络环境。

图2示出了示例性移动装置。

图3示出预测移动装置用户的未来状态的示例性方法。

图4示出预测函数的示例性框图。

图5示出了示例性计算机系统。

具体实施方式

图1示出与社交网络系统相关联的示例性网络环境100。网络环境100包括通过网络110连接至彼此的客户端系统130、社交网络系统160、第三方系统170。尽管图1示出客户端系统130、社交网络系统160、第三系统170、和网络110的具体布置,但本公开可包括客户端系统130、社交网络系统160、第三方系统170、和网络110的任何合适的布置的设计。举例来说而不是以限制的方式,客户端系统130、社交网络系统160、和第三方系统170中的两个或多个可直接连接至彼此,而绕过网络110。作为另一实例,客户端系统130、社交网络系统160、和第三方系统170的两个或多个可物理上或逻辑上完全或部分地彼此共同定位。此外,尽管图1示出客户端系统130、社交网络系统160、第三方系统170、和网络110的特定数量,本公开可包括任何合适的数量的客户端系统130、社交网络系统160、第三方系统170、和网络110的设计。举例来说而不是以限制的方式,网络环境100可以包括多个客户端系统130、社交网络系统160、第三方系统170、和网络110。

本公开可包括任何合适的网络110的设计。举例来说而不是以限制的方式,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网的部分、公众电话交换网的部分(pstn)、蜂窝电话网络、或两个或多个这些网络的组合。网络110可以包括一个或多个网络110。

链路150可以将客户端系统130、社交网络系统160、和第三方系统170连接至通信网络110或连接至彼此。本公开包括任何合适的链路150的设计。在具体实施方式中,一个或多个链路150包括一个或多个有线(例如数字用户线路(dsl)或有线电缆数据服务接口规范(docsis))、无线(例如wi-fi或微波接入全球互通(wimax))、或光学(例如同步光学网络(sonet)或同步数字分级(sdh))链路。在具体实施方式中,一个或多个链路150均包括自组织网络、内联网、外联网、vpn、lan、wlan、wan、wwan、man、因特网的部分、pstn的部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一个链路150、或者两个或多个这样的链路150的组合。在整个网络环境100中链路150不一定必须是相同的。一个或多个第一链路150可以在一个或多个方面与一个或多个第二链路150不同。

在具体实施方式中,客户端系统130可以是包括硬件、软件、或嵌入式逻辑部件、或两个或多个这样的部件的组合并能够执行由客户端系统130实施或支持的适当功能的电子装置。举例来说而不是以限制的方式,客户端系统130可以包括计算机系统,如台式计算机、笔记本、或便携式计算机、网本、平板电脑、电子书阅读器、gps装置、照相机、个人数字助理(pda)、手提式电子装置、蜂窝电话、智能手机、其他合适的电子装置、或者其任意合适的组合。本公开设想到了任何合适的客户端系统130。客户端系统130可以使客户端系统130处的网络用户能够接入网络110。客户端系统130可以使其用户能够与其他客户端系统130处的其他用户通信。

在具体实施方式中,客户端系统130可包括网络浏览器132,诸如,microsoftinternetexplorer、googlechrome、或mozillafirefox,并且可具有一个或多个附加元件、插件、或其他扩展,诸如,toolbar或yahootoolbar。客户端系统130处的用户可以进入统一资源定位符(url)或者将网络浏览器132引导至具体服务器的其他地址(如服务器162、或与第三方系统170相关联的服务器),并且网络浏览器132可以产生超文本传输协议(http)请求并且将http请求传达至服务器。服务器可接受http请求并且响应于http请求将一个或多个超文本标记语言(html)文件传达至客户端系统130。客户端系统130可基于html文件从服务器渲染(render)网页以用于展示给用户。本公开包括任何合适的网页文件的设计。举例来说而不是以限制的方式,网页可根据具体需要从html文件、可扩展的超文本标记语言(xhtml)文件、或可扩展的标记语言(xml)文件进行渲染。这些网页还可执行脚本程序,诸如,例如但并不是以限制的方式,以javascript、java、microsoftsilverlight,诸如ajax(异步javascript和xml)等标记语言和脚本程序组合编写的程序等。此处,网页参考包括(浏览器可用于渲染网页的)一个或多个对应的网页文件,并且如果合适的话,反之亦然。

在具体实施方式中,社交网络系统160可以是可承载线社交网络的网络可寻址计算系统。社交网络系统160可生成、存储、接收、并且发送社交网络数据,诸如,用户资料数据、概念资料数据、社交线图信息、或者与在线社交网络有关的其他合适数据。社交网络系统160可被网络环境100中的其他部件直接或者经由网络110访问。在具体实施方式中,社交网络系统160可以包括一个或多个服务器162。每个服务器162可以是单一服务器或跨越多个计算机或多个数据中心的分布式服务器。服务器162可以是各种类型的,诸如,例如但不限于,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于进行本文中描述的功能或处理的另一个服务器、或者其任何组合。在具体实施方式中,每个服务器162均可包括硬件、软件、或嵌入式逻辑部件、或用于进行由服务器162实施或支持的适当功能的两个或多个该部件的组合。在具体实施方式中,社交网络系统164可以包括一个或多个数据存储器164。数据存储器164可以用于存储各种类型的信息。在具体实施方式中,可根据特定数据结构组织数据存储器164中存储的信息。在具体实施方式中,每个数据存储器164均可以是相关的数据库。具体实施方式可以提供使客户端系统130、社交网络系统160、或第三方系统170能够管理、检索、修改、添加、或删除数据存储器164中存储的信息的界面。

在具体实施方式中,社交网络系统160可将一个或多个社交线图存储在一个或多个数据存储器164中。在具体实施方式中,社交线图可以包括多个节点,其可包括多个用户节(每个节点对应于具体用户)点或多个概念节点(每个节点对应于具体概念),以及连接节点的多个边界(edge)。社交网络系统160可提供向线上社交网络的用户提供与其他用户通信和交互的能力。在具体实施方式中,用户可以通过社交网络系统160加入线上社交网络并且然后添加到他们想要连接的社交网络系统160的许多其他用户的连接(即,关系)。本文中,术语“朋友”可指代用户与其形成通过社交网络系统160的连接、关联、或关系的社交网络系统160的任何其他用户。

在具体实施方式中,社交网络系统160可向用户提供对由社交网络系统160支持的各种类型的项目或对象采取行动的能力。举例来说而不是以限制的方式,项目和对象可以包括社交网络系统160的用户所属于的社交网络的组、用户可能感兴趣的事件或日历条目、用户可以使用的利用计算机的应用程序、允许用户通过服务购买或出售项目的交易、用户可以进行的与广告的交互、或者其他合适的项目或对象。用户可以与能够在社交网络系统160中或由第三方系统170的外部系统表示的任何事交互,第三方系统170独立于社交网络系统160并且经由网络110耦接至社交网络系统160。

在具体实施方式中,社交网络系统160可以是能够链接各种实体的。举例来说而不是以限制的方式,社交网络系统160可以使用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用程序编程界面(api)或其他通信信道与这些实体交互。

在具体实施方式中,第三方系统170可以包括一个或多个类型的服务器、一个或多个数据存储器、包括但不限于api的一个或多个接口,一个或多个网络服务、一个或多个内容源、一个或多个网络、或任何其他合适的部件,例如,可以与其通信的服务器。第三方系统170可以由与操作社交网络系统160的实体不同的实体操作。然而,在具体实施方式中,社交网络系统160和第三方系统170可以彼此结合地操作以提供社交网络服务给社交网络系统160或第三方系统170的用户。在这种意义上,社交网络系统160可以提供平台或者骨干链路,诸如第三方系统170的其他系统可使用该平台或骨干链路通过因特网将社交网络服务和功能提供给用户。

在具体实施方式中,第三方系统170可以包括第三方内容对象供应商。第三方内容对象供应商可以包括内容对象的一个或多个来源,其可以被传达至客户端系统130。举例来说而不是以限制的方式,内容对象可以包括用户感兴趣的有关东西的信息或活动,诸如,例如,电影放映次数、电影评论、餐馆评论、餐馆菜单、产品资料和评论、或其他合适的信息。作为另一个实例而不是以限制的方式,内容对象可以包括激励内容对象,如赠券、折扣票、礼品券、或其他合适的动机对象。

在具体实施方式中,社交网络系统160还包括用户生成内容对象,其可以提高用户与社交网络系统160的交互。用户生成内容可包括用户可添加、上传、发送、或者“发帖(post)”到社交网络系统160的任何事。举例来说而不是以限制的方式,用户将帖子从客户端系统130传送至社交网络系统160。帖子可包括诸如状态更新或者其他文本数据、位置信息、照片、视频、链接、音乐、或者其他类似数据或媒体等的数据。第三方通过诸如新闻递送或者流等的“通信信道”也可将内容添加到社交网络系统160。

在具体实施方式中,社交网络系统160可以包括各种服务器、子系统、程序、模块、日志、和数据存储器164。在具体实施方式中,社交网络系统160可以包括一个或多个以下部分:网络服务器、动作日志、api请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象曝光日志、推论模块、授权/隐私服务器、检索模块、以广告为目标的模块、用户界面模块、用户资料储存器、连接储存器、第三方内容储存器、或位置储存器。社交网络系统160还可以包括如网络接口的部件、安全机构、负载均衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在具体实施方式中,社交网络系统160可以包括存储用户资料的一个或多个用户资料存储器。用户资料可以包括,例如,传记信息、人口统计信息、行为信息、社交信息、或其他类型的描述信息,如工作经验、教育史、爱好或偏好、兴趣、亲合力、或位置。兴趣信息可以包括与一个或多个种类相关的兴趣。种类可以是总体的或者具体的。举例来说而不是以限制的方式,如果用户“喜欢”关于鞋的品牌的项目,那么种类可以是品牌,或“鞋”或“衣服”的总体种类。连接存储器可以用于存储关于用户的连接信息。连接信息可以指示用户具有相似的或共同的工作经验,组成员资格、爱好、教育史、或者以任何方式相关的或分享共同的特质的人。连接信息还可以包括不同的用户和内容之间用户限定的连接(内部和外部两者)。网络服务器可以用于将社交网络系统160通过网络110链接至一个或多个客户端系统130或一个或多个第三方系统170。网络服务器可包括用于接收和路由社交网络系统160与一个或者多个客户端系统130之间的消息的邮件服务器或者其他消息功能。api请求服务器可以允许第三方系统170通过调用一个或多个api访问来自社交网络系统160的信息。动作日志记录器可以用于接收来自网络服务器的关于用户在社交网络系统160之上或之外的行动的信息。结合动作日志,第三方内容对象日志可以保存用户对第三方内容对象的曝光。通知控制器可以提供有关客户端系统130的内容对象的信息。信息可以作为通知推送至客户端系统130,或者信息可以响应于从客户端系统130接收的请求从客户端系统130推出。授权服务器可以用于执行社交网络系统160的用户的一个或多个隐私设置。用户的隐私设置确定如何分享与用户相关联的特定信息。授权服务器可以允许用户决定是否允许由社交网络系统160记录其活动,或者诸如通过设置合适的隐私设置与其他系统(例如,第三方系统170)共享其活动。第三方内容对象存储器可以用于存储从如第三方系统170的第三方接收的内容对象。位置存储器可以用于存储从与用户相关联的客户端系统130接收的位置信息。广告价格模块可以结合社交信息、当前时间、位置信息、或其他合适的信息以便以通知的形式向用户提供相关的广告。地理社交网络系统是地理服务和功能被用以实现额外的社交交互的社交网络系统。用户提交的位置数据或者地理定位技术(例如,移动手机位置记录)能够允许地理社交网络连接并协调用户和与他们的兴趣匹配的当地人或事件。例如,用户可使用移动客户端应用通过提供地名(或者从预先建立的地点列表中选择地点)来对地点签到。除其他事项外,地理社交网络系统能够记录关于用户在该地点存在的信息并且可以将该信息提供给地理社交网络系统的其他用户。

社交网络系统160可以保留关于地理位置或地点的信息的数据存储器164。地点可对应于各种物理位置,诸如餐馆、酒吧、、企业、火车站、和机场。社交网络系统160允许用户使用由诸如移动装置的客户端系统130承载的客户端应用程序(例如,网络浏览器132)来访问有关每个地方的信息。除了用户资料和地点信息之外,社交网络系统160可以记录和保存关于用户的其他信息。例如,社交网络系统可以支持包括记录用户位置的一个或多个基于位置的服务的地理社交网络系统功能。例如,用户可以使用由客户端系统130承载的专用的客户端应用程序访问地理社交网络系统。客户端系统130可以自动访问gps、蜂窝三角网、或由客户端系统130支持的其他地理位置功能并且报告用户的当前位置至地理社交网络系统。当用户身处于地点处并且使用客户端系统130访问地理社交网络系统时,可出现对给定地点的签到以注册在该地点的用户存在。用户可以从靠近用户当前位置的现有地点的列表中选择一个地点或创建新的地点。用户也可确定与签到有关的一个或多个其他用户(诸如,用户的朋友)并且同样利用签到将他们相关联。例如,用户签到活动的记录可以存储在数据存储器164中。

而且,用户的移动装置上承载的专用目的的客户端应用可被配置为连续地获取移动装置的位置数据并将该位置数据发送至社交网络系统。以这种方式,社交网络系统可以记录用户的位置。

在特定实施方式中,与社交网络系统160相关联的数据存储器164可以存储地点的信息库,在该库中每个地点都包括名字、地理位置及元信息(诸如最初创建地点、签到活动数据等的用户)。例如,因特网连接的计算机或计算装置的地理位置可以通过被分配的互联网协议(ip)地址确定。例如,通过手机信号塔三角测量法、wi-fi定位和/或gps定位能够识别装备有蜂窝、wi-fi和/或gps功能的蜂窝电话的地理位置。在具体实施方式中,数据存储器164可以存储多个地点的地理位置以及附加信息。例如,例如,地点可以是本地企业、兴趣点(例如,unionsquareinsanfrancisco,ca)、大学、城市、或国家公园。例如,地点的地理地点(例如,本地咖啡店)可以是地址、一组地理坐标(纬度和经度)或参考另一个地点(例如,“紧挨着火车站的咖啡店”)。例如,具有巨大面积的地点(例如,优胜美地(yosemite)国家公园)的地理位置可以是近似该地点的边界线的形状(例如,圆形或者多边形)和/或该形状的质心。例如,地点的附加信息可以是营业时间或地点的照片。在具体实施方式中,社交网络系统160可以基于用户的用户资料信息、签到活动、和/或由客户端应用程序报告的地理位置数据(见上)计算用户的一个或多个路线,并且存储一个或多个路线。例如,社交网络系统可以通过使用地图绘制服务应用程序,或者通过使用在用户行驶至工作地时来自用户的配备gps的移动电话的地理位置数据点计算用户的家和工作地之间的用户的“乘车上下班路线”。

在具体实施方式中,移动装置(例如,客户端系统130)可以包括硬件、固件、和软件。图2示出示例性移动装置客户端系统130。在具体的实施方式中,客户端系统130可以是智能电话(例如,iphone或黑莓),该智能电话是提供比传统移动电话更高级的计算能力和连通性的移动电话。其可以被视为与移动电话集成的手持式计算机。在具体的实施方式中,客户端系统130可以是上网本或平板电脑(例如,ipad)。在具体的实施方式中,客户端系统130可通过无线连接被连接至网络。

在具体的实施方式中,客户端系统130可以包括硬件210和软件220。在具体实施方式中,硬件210可以包括任意数量的硬件部件,诸如,例如但不限于,处理器211、内存212、存储器213、收发器214、输入/输出装置215(例如,显示器、触摸屏、键盘、麦克风、扬声器等)、照相机216、全球定位系统(gps)传感器217、传感器集线器218、通知控制开关219、射频识别(rfid)读取器241、射频(rf)传感器242等。本公开包括任何合适的硬件部件的设计。在具体的实施方式中,一些或全部的用户的用户数据可以存储在存储器213中。

在具体的实施方式中,软件220可以包括操作系统221,该操作系统221可以包括内核231和/或对应于在客户端系统130上可用的部分硬件部件的任何数量的设备驱动器232。可以基于客户端系统130的实际设备类型为客户端系统130选择操作系统221。例如,如果客户端系统130是移动装置(例如,智能电话),那么操作系统221可以是移动操作系统,诸如,例如但不局限于,microsoft的windowsmobile、google的android、nokia的symbian、apple的ios和samsung的bada。

在具体实施方式中,可在客户端系统130上执行一个或多个软件应用程序223。在具体实施方式中,它们可以是在客户端系统130中安装和驻留的本地应用。例如,一个应用(例如,google地图)使装置用户能够观看地图、搜索地址和企业、并获取方向;第二应用使装置用户能够读取、发送、和接收电子邮件;第三应用(例如,网络浏览器)使装置用户能够浏览和搜索因特网;第四应用使装置用户能够使用照相机216拍照或记录视频;第五应用允许装置用户接收和发起voip和/或蜂窝网络呼叫等。在具体的实施方式中,可存在使装置用户能够管理推送至客户端系统130的通知的软件应用程序(例如,通知控制241)。在下文中更详细地描述通知控制241。每个软件应用程序220可以具有用户界面并且可以实现一个或多个具体功能。每个软件应用程序220可以包括实现单个功能的一个或多个软件模块。包括通知控制241的软件应用程序220的可执行代码可以被存储在移动装置130上的计算机可读和非易失性介质(例如,存储器213或内存212)中。

图3示出预测移动装置的用户的未来的用户状态的示例性方法。方法可以起始于步骤310,其中系统访问与用户使用的移动计算装置(例如,客户端系统130)相关联的数据。在具体实施方式中,这个数据可以由社交网络系统160存储。在具体实施方式中,这个数据可以是客户端系统130的唯一标识符或者客户端系统130上的应用程序的唯一标识符。在具体实施方式中,这个数据可以是客户端系统130的互联网协议(ip)地址。在具体实施方式中,这个数据可以是由客户端系统130报告的本地时间。在具体实施方式中,这个数据可以是客户端系统130的当前位置或移动矢量。位置和移动矢量可以通过gps、辅助gps、蜂窝三角网、或获得位置或移动矢量的任何其他合适的方式确定。

在步骤320,系统访问与用户的过去的用户状态相关联的数据。过去的用户状态可以是用户的时间、空间、模式(modal)、或社交可访问性。在具体实施方式中,这个数据可以由社交网络系统160存储。在具体实施方式中,过去的用户状态可以是通勤(commuting)于用户的工作地点。这个状态具有与用户有关的时间、空间、模式、和社交方面。在具体实施方式中,过去的用户状态可以是参加由社交网络系统160存储的活动。在具体实施方式中,过去的用户状态可以是在与由社交网络系统160存储的信息有关的地理区域中移动。例如,在接近用户的移动计算装置指示夏威夷的位置的时间,用户已发帖状态更新,显示用户在度假。在具体实施方式中,过去的用户状态可以从与由社交网络系统160存储的用户的联系人中的一个相关联的数据确定。例如,用户的联系人可能先前已保存显示用户和位置的签到活动数据。在具体实施方式中,过去的用户状态可用户当前使用中的客户端系统130有关。例如,在接近所接收的唯一的客户端系统标识符指示客户端系统130是车载导航单元的时间,过去的用户状态可以是用户在途中。作为另一实例,当客户端系统130是具体的笔记本电脑时,过去的用户状态可以是用户在“工作”,或者当客户端系统130是移动游戏设备时用户“很忙”。

在步骤330,系统预测在未来时间的未来的用户状态和在未来用户对客户端系统130的使用。在具体的实施方式中,社交网络系统160可以使用许多地理社会因素。例如,社交网络系统160已通过相互参照存储数据来发展关联的用户状态和客户端系统使用数据点的数据集。社交网络系统160还可以访问客户端系统130的当前时间或位置数据。此外,社交网络系统160还可以存储与用户的未来事件和日历约会有关的数据。社交网络系统160可以使用在步骤310和步骤320中访问的一个或多个数据以在算法上预测未来的用户状态。

在具体实施方式中,系统可以对步骤310或步骤320中访问的某些或所有数据使用回归分析以预测未来的用户状态。在具体实施方式中,系统可以使用多个自变量的线性回归以对多个可能的状态分配可能性。示例性线性回归可以是yi=β1xi1+β2xi2+...+βpxip,其中yi表示从在步骤320中访问的一组过去的用户状态选择的可能的未来状态,xin表示自变量,βin表示分配至每个变量的权重系数,并且其中n在值1至p范围内。在具体实施方式中,自变量可以是与步骤310有关的以上讨论的任何类型的数据。

在具体实施方式中,系统可以对步骤310或步骤320中访问的某些或所有数据使用决策树分析以预测未来的用户状态。系统可以使用历史数据发展决策树的决策节点和机会结点以预测未来的用户状态。例如,基于历史数据,输入的某个组合可以预测用户状态。如果未来本地时间对应于与“乘车上下班”的过去的用户状态相关联的过去的本地时间、而当前报告的客户端系统130是车载导航单元、并且客户端系统130的当前报告的位置是已知的用户的乘车上下班路径,那么系统可以通过决策树工作以确定用户的未来的用户状态是在给定的时期乘车去工作。在具体实施方式中,决策树分析适合用于具有少量潜在的未来的用户状态的系统。在具体的实施方式中,决策树分析可以与其他预测方法相结合。

在具体实施方式中,系统可以对步骤310或步骤320中访问的某些或所有数据使用神经网络分析以预测未来的用户状态。例如,系统可以实现有监督的学习神经网络以便找到将从在步骤310中访问的数据提取的将输入变量映射到在步骤320中访问的数据中提取的用户状态的函数。神经网络分析可以尝试最小化网络所预测的用户状态和已知的过去的用户状态之间的均方误差。通过最小化这个误差,网络能够发展预测未来的用户状态的近似的函数。

在具体实施方式中,系统可以对步骤310或步骤320中访问的某些或所有数据使用专家系统分析以预测未来的用户状态。系统可以基于历史数据构造专家系统的知识库。例如,系统可以开发规则,即“如果(if)客户端系统130是笔记本电脑001,那么(then)用户在工作”。作为另一实例,系统可以开发规则“如果当前位置是夏威夷,那么用户在度假中”。作为另一实例,系统可以开发规则“如果当前本地时间是7pm和6am之间,那么用户在家”。通过开发所述知识库,然后系统可以通过专家系统推理引擎分批地或连续地运行输入变量以预测未来的用户状态。

本公开包括预测未来的用户状态和利用步骤310和步骤320中访问的因素的任何组合或在预测未来的用户状态的计算中加权因素的任何合适的方式。

在步骤340,系统响应于预测的未来的用户状态适配在未来时间用户的客户端系统130的操作,在此处方法可以结束。在具体实施方式中,预测的用户状态可以是用户将在地理区域中移动。系统可以通过推送与地理区域有关的数据至客户端系统130来适配。例如,如果预测的用户状态是用户将在夏威夷度假,那么系统可以推送相关的数据(例如,气象信息、旅游公告、餐馆评论、和出租汽车广告)至客户端系统130。某些或所有数据可以显示为给用户的通知。可替换地,某些或所有数据可以缓存在客户端系统130上并且用于预先填充建议的搜索和建议的结果,或者减少客户端系统130使用的未来数据。

在具体实施方式中,如在图3中示出的预测移动装置用户的未来状态的系统可以与社交网络系统160相关联。在这种情况下,社交网络系统可以实现在图3中示出的方法(例如,作为计算机软件)并且使用该方法预测同样是社交网络系统160的成员的用户的未来的用户状态。

客户端系统130上的社交网络应用程序优选的可能是响应预测的用户状态改变其操作。在具体实施方式中,系统通过修改客户端系统130上的社交网络应用程序的逻辑操作来适配客户端系统130的操作。例如,如果预测的未来的用户状态是用户不可用的(例如,在航线飞行、工作、观看电影),那么用户的客户端系统130上的社交网络应用程序可以被设置为使得所有的给用户的通知排队等待,直至预测的未来的用户状态改变。作为另一实例,如果预测的未来的用户状态是用户将外出到公众社交环境(例如,参加生日晚会),用户的客户端系统130上的社交网络应用程序可以被设置为当访问时发起照相机应用程序。

在具体实施方式中,系统通过改变由客户端系统130请求的并由社交网络系统160发送的数据的特性来适配客户端系统130的操作。在具体实施方式中,优选的是当装置经由某些类型的链路150连接时社交网络系统160时提供较低带宽服务给客户端系统130。例如,某些通讯供应商提供数据下载限制并且对于超过那些限制的进行收费。作为另一实例,某些通讯合约对于在外国旅行时的数据传输收取额外的费用。如果预测的未来的用户状态指示客户端系统130将经由与数据限制或者增加费用相关联的链路150连接,那么社交网络系统160可以发送较低带宽的内容。在具体实施方式中,可以期望增加社交网络系统160轮询(poll)客户端系统130以确定装置的位置的间隔。例如,如果预测的未来的用户状态是用户将在家,那么社交网络系统160可以通过增加轮询间隔至每小时一次来适配。通过增加轮询间隔,社交网络系统160可以增加客户端系统130的电池使用时间。

在合适的情况下,具体实施例可以重复图3的方法的步骤。此外,虽然本公开将图3中的该方法的具体步骤描述并示出以具体顺序出现,但是本公开包括以任何合适顺序出现的图3中的方法以任何合适步骤的设计。此外,尽管本公开描述并且示出了完成图3中的方法的具体步骤的具体部件、装置、或者系统,然而,本公开包括完成图3中的方法的任何合适步骤的任何合适部件、装置、或者系统的任何合适的设计。

图4是用于预测未来的用户状态的示例性函数(function)的框图。为了预测未来的用户状态415,权重405被应用至预测函数(predictorfunctions)410,然后被组合以获得预测的未来的用户状态415。虽然图4示出了三个预测函数410,但本发明的其他实施方式可采用任何数量的预测函数。此外,在图4的实施方式中,对加权的预测函数410进行线性组合。在不同的实施方式中,可以使用其他形式的组合,包括调和平均、均方以及几何平均。此外,可以在如方法步骤340中描述的适配客户端系统130的操作之前计算具有变化的权重405的多个预测的未来的用户状态415。

系统可包括负责计算预测未来的用户状态的设定的预测函数的一个或多个预测模块(例如,应用程序)。如上所述,每个预测函数可以是预测未来的用户状态的任何合适的方法。在一些实施方式中,可以使用利用与具体用户状态相关联的用户的历史活动训练的机器学习算法生成预测函数。机器学习是涉及允许计算机基于数据学习的算法的设计和开发的科学学科。机器学习算法和他们的性能的计算分析是被称为计算学习理论的理论计算机科学的分支。期望的目标是通过经验改善算法(例如,通过将数据应用至算法以便“训练”算法)。因此数据通常被称为“培训用数据”。因此,每个预测模块提供每组可能的未来的用户状态的预测函数,其中预测函数可以被视为输入方法步骤310中访问的部分或所有数据并且然后输出用户将具有预测的未来的用户状态的可能性的测量结果。

在一些实施方式中,一个或多个预测函数可以使用减弱因子,其中,用户的历史活动的信号的强度随时间减弱(decay)。而且,不同预测函数可以不同的速率减弱历史活动。例如,相比预示更短暂的连接的其他类型的活动(像参加非经常性活动(例如婚礼)),某些类型的预测的未来的用户状态(像通勤去工作)预示更多持久的连接。因此,预测函数可以基于关于过去的用户状态随着时间的推移变得不那么相关的程度的理解而减弱历史活动的影响。各种减弱机制可用于该目的。例如,预测函数可使用诸如指数减弱等的数学函数来减弱有关预测的用户状态的统计。在另一实施方式中,通过仅选择有关具体时间窗口(诸如24小时或30天)内发生的用户状态的这些统计来实施减弱。

图5示出了示例性计算机系统500。在具体实施方式中,一种或者多种计算机系统500执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。在具体实施方式中,一种或者多种计算机系统500提供此处所描述或者示出的功能。在具体实施方式中,在一种或者多种计算机系统500上运行的软件执行此处所描述或者示出的一种或者多种方法的一个或多个步骤或者提供此处所描述或者示出的功能。具体实施方式包括一个或多个计算机系统500的一个或多个部分。本文中,在适当的情况下,参考计算机系统可以包括计算装置。此外,在适当的情况下,参考计算机系统可以包括一个或多个计算机系统。本公开设想到了任何合适的数量的计算机系统500。本公开设想到了采用任何合适的物理形式的计算机系统500。作为实例但并不以限制的方式,计算机系统500可以是嵌入式计算机系统、芯片上系统(soc)、单板计算机系统(sbc)(诸如,例如,模块上计算机(com)或者模块上系统(som))、台式计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统网络、移动电话、个人数字助理(pda)、服务器、平板计算机系统、或者这些中两种或者多种的组合。在适当的情况下,计算机系统500可包括跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的单一式或者分布式的一种或者多种计算机系统500,云可包括一个或多个网络中的一个或多个云部件。在适当的情况下,一种或者多种计算机系统500可在无大致空间或者时间限制的情况下执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。作为实例而不是以限制的方式,一种或者多种计算机系统500可实时或者以分批模式执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。在适当的情况下,一种或者多种计算机系统500可在不同时间或者在不同位置执行此处所描述或者示出的一种或者多种方法的一个或多个步骤。

在具体实施方式中,计算机系统500包括处理器502、内存504、存储器506、输入/输出(i/o)接口508、通信接口510、以及总线512。尽管本公开描述并且示出了以特定布置具有特定数目的特定部件的特定计算机系统,然而,本公开设定了以任意合适布置具有任意合适数目的任意合适部件的任意合适计算机系统。

在具体实施方式中,处理器502包括用于执行指令的硬件,诸如,组成计算机程序的指令。举例来说而不是以限制的方式,为了执行指令,处理器502可以从内部寄存器、内部缓存、内存504、或存储器506检索(或取得)指令;解码并执行他们;并且然后将一个或多个结果写入到内部寄存器、内部缓存、内存504、或存储器506。在具体实施方式中,处理器502可包括有关数据、指令、或者地址的一个或多个内部缓存。本公开设想到了,在适当的情况下,包括任何合适的数量的任何合适内部缓存的处理器502。举例来说而不是以限制的方式,处理器502可包括一个或多个指令缓存、一个或多个数据缓存、以及一个或多个转译后备缓冲器(tlb)。指令缓存中的指令可以是内存504或者存储器506中的指令的副本,并且指令缓存可加快处理器502对这些指令的检索。数据缓存中的数据可以是使在处理器502上执行的指令运行的内存504或者存储器506中的数据副本、在处理器502上执行以用于在处理器502上执行的后续指令进行访问或者用于写入内存504或者存储器506中的之前指令结果、或者其他合适的数据。数据缓存可加快处理器502的读取或者写入操作。tlb可加快处理器502的虚拟地址转译。在具体实施方式中,处理器502可包括数据、指令、或者地址的一个或多个内部寄存器。本公开设想到了,在适当的情况下,包括任何合适的数量的任何合适内部寄存器。处理器502根据需要可包括一个或多个算法逻辑单元(alu)、可以是多核处理器、或者包括一个或多个处理器502。尽管本公开描述并且示出了特定处理器,然而,本公开设想到了任何合适的处理器。

在具体实施方式中,内存504包括用于存储处理器502执行的指令或者处理器502运行的数据的主内存。举例来说而不是以限制的方式,计算机系统500可将指令从存储器506或者另一来源(诸如,另一计算机系统500)加载到内存504中。然后,处理器502可将指令从内存504加载到内部寄存器或者内部缓存中。为了执行指令,处理器502可从内部寄存器或者内部缓存检索指令并且对其进行解码。在执行指令过程中或者之后,处理器502可将一条或者多条结果(其可以是中间结果或者最终结果)写入内部寄存器或者内部缓存中。然后,处理器502可将这些结果中的一条或者多条写入内存504中。在具体实施方式中,处理器502仅执行一个或多个内部寄存器或者内部缓存中或者内存504(与存储器506相对或者其他地方)中的指令并且仅运行一个或多个内部寄存器或者内部缓存中或者内存504(与存储器506相对或者其他地方)中的数据。一条或者多条内存总线(每条均可包括地址总线和数据总线)可将处理器502耦接至内存504。总线512可包括如下所述一条或者多条内存总线。在具体实施方式中,一个或多个存储管理单元(mmu)驻留在处理器502与内存504之间并且便于访问通过处理器502请求的内存504。在具体实施方式中,内存504包括随机存取内存(ram)。根据需要,ram可以是易失性内存,ram可以是动态ram(dram)或者静态ram(sram)。而且,根据需要,ram可以是单端口或者多端口ram。本公开设定了任意合适的ram。在适当的情况下,内存504可包括一个或多个内存504。尽管本公开描述并且示出了特定内存,然而,本公开设定了任意合适的内存。

在具体实施方式中,存储器506包括有关数据或者指令的大容量存储器。举例来说而不是以限制的方式,存储器506可包括硬盘驱动(hdd)、软盘驱动、闪存、光盘、磁光盘、磁带、或者通用串行接口(usb)驱动、或者其中的两种或者多种的组合。存储器506可根据需要包括可移动式或者非移动式(或者固定)媒体。在适当的情况下,存储器506可以位于计算机系统500内部或者外部。在具体实施方式中,存储器506是非易失性固态内存。在具体实施方式中,存储器506包括只读内存(rom)。在适当的情况下,rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可更改rom(earom)、或者闪存、或者其中的两种或者多种的组合。本公开设定了采用任意合适物理形式的大容量存储器506。在适当的情况下,存储器506可包括便于处理器502与存储器506之间通信的一个或多个储存控制单元。根据需要,存储器506可包括一个或多个存储器506。尽管本公开描述并且示出了特定存储器,然而,本公开设定了任意合适的存储器。

在具体实施方式中,i/o接口508包括硬件、软件、或者提供用于计算机系统500与一个或多个i/o设备之间通信的一个或多个接口的硬件和软件。在适当的情况下,计算机系统500可包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个可支持人与计算机系统500之间的通信。举例来说而不是以限制的方式,i/o设备可包括键盘、键区、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、静态摄像头、铁笔、平板电脑、触摸屏、轨迹球、视频摄像头、另一合适的i/o设备或者其中两种或者多种的组合。i/o设备可包括一个或多个传感器。本公开设想到了任意合适的i/o设备和与其有关的任意合适的i/o接口508。在适当的情况下,i/o接口508可包括能够使处理器502驱动这些i/o设备中的一个或多个的一个或多个设备或者软件驱动器。在适当的情况下,i/o接口508可包括一个或多个i/o接口508。尽管本公开描述并且示出了特定i/o接口,然而,本公开设定了任意合适的i/o接口。

在具体实施方式中,通信接口510包括硬件、软件、或者提供用于计算机系统500与一个或多个其他计算机系统500或者一个或多个网络之间通信(诸如,基于分组的通信)的一个或多个接口的硬件和软件。举例来说而不是以限制的方式,通信接口510可包括网络接口控制器(nic)、或者用于与以太网或其他基于有线网络通信的网络适配器、或者用于与诸如wi-fi网络等无线网络通信的无线nic(wnic)或无线适配器。本公开设想了任意合适的网络和与其有关的任意合适通信接口510。举例来说而不是以限制的方式,计算机系统500可与自组网、个人局域网(pan)、局域网(lan)、广域网(wan)、城域网(man)、或者因特网的一个或多个部分、或者其中的两种或者多种的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线或者无线。例如,计算机系统500可与无线pan(wpan)(诸如,例如,蓝牙wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(诸如,例如,全球移动通信系统(gsm)网络)、或其他合适的无线网络、或这些中两种或多种的组合通信。在适当的情况下,计算机系统500可包括与这些网络中任一个有关的任意合适通信接口510。在适当的情况下,通信接口510可包括一个或多个通信接口510。尽管本公开描述并且示出了特定通信接口,然而,本公开设定了任意合适的通信接口。

在具体实施方式中,总线512包括硬件、软件、或者将计算机系统500的部件耦接至彼此的硬件和软件。举例来说而不是以限制的方式,总线512可以包括加速图形端口(agp)或其他图形总线、增强型工业标准体系结构(eisa)总线、前端总线(fsb)、hypertransport(ht)互连、工业标准体系结构(isa)总线、infiniband互连、低引脚数(lpc)总线、内存总线、微通道体系结构(mca)总线、外围组件互连(pci)总线、pci-express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或者另一个合适的总线或者这些中的两个或多个的组合。在适当的情况下,总线512根据需要可包括一个或多个总线512。尽管本公开描述并且示出了特定总线,然而,本公开设定了任意合适的总线或者互连。

本文中,在适当的情况下,计算机可读非易失性存储介质或媒体可以包括一个或多个基于半导体的或其他的集成电路(ic)(诸如,例如,现场可编程门阵列(fpga)或应用特定的ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动装置(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字卡或驱动器,任何其他合适的计算机可读的非易失性存储介质、或这些中的两个或多个的任何合适的组合。在适当的情况下,计算机可读非易失性储存介质可以是易失性、非易失性、或者易失性与非易性和组合。

此处,“或者”为包含的并且并不排他,除非另有明确指示或者上下文另有指示。因此,此处,“a”或者“b”指“a、b、或者a和b”,除非另有明确指示或者上下文另有指示。而且,“和”为连带的,除非另有明确指示或者上下文另有指示。因此,此处,“a和b”指“连带地a和b”,除非另有明确指示或者上下文另有指示。

本公开的范围包括本领域中普通技术人员可理解的对描述或示出的示例性实施方式的所有变更、替换、改造、更改以及变形。本公开的范围不限于本文中描述或示出的示例性实施方式。而且,尽管本公开描述并且示出了包括具体部件、元件、功能、操作、或者步骤的相应实施方式,然而,这些实施方式中的任一种均可包括此处任何地方所描述或者示出的本领域普通技术人员所理解的部件、元件、功能、操作、或者步骤中任意一个的任意组合或者置换。此外,所附权利要求中参考的适配成、布置成、有能力、被配置为、能够、可操作、或可操作以进行具体功能的装置或系统或装置或系统的部件包括设备、系统、部件,无论是否其或那个具体功能被激活、打开、或解锁,只要那个设备、系统、或部件是这样适配、布置、有能力、配置、能够、可操作、或操作即可。

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