向应用提供个性化和上下文相关的内容的制作方法

文档序号:6364775阅读:296来源:国知局
专利名称:向应用提供个性化和上下文相关的内容的制作方法
技术领域
本发明涉及向应用提供内容,尤其是向应用提供个性化和上下文相关的内容。
背景技术
随着因特网的广泛采用,更多的人比以前访问更多的信息,并且用户可用来访问该信息的应用想要关于该用户的更多数据来提供更相关的结果或处理。应用曾寻找跟踪其用户的方式。通常,应用依赖于用户使用其应用的历史来提供个性化服务。应用通常期望能够将最相关的内容推送给用户,但是首先要构建历史。尝试共享数据以捕捉用户的更真实图片的应用与他或她期望的服务之间的交互通常是ー对一的共享遭遇并且可能只能提供用户兴趣的一瞥。此外,应用可能具有在应用实例或会话期间关于用户的有限的上下文信息。尽管全部的跟踪努力,但应用可能仍然错过标识重要的关系和信息以便提高用户在使用该应用中的体验。

发明内容
系统自动地并持续地对关于用户关心的人和事的相关和当前信息进行聚集。基于当前用户上下文(例如,用户在哪里,用户在干什么,用户说了/键入什么等)和/或用户感兴趣的主题来过滤该信息。由干与在计算设备上加载的应用(例如,智能电话上的联系人和Internet Explorer )以及第三方应用(例如,智能电话上的Yelp! )的API,使得信息收集的结果可用。应用程序可以与相关的上下文、内容数据获取和分发系统进行交互以获得关于用户生活的方方面面。当用户启动应用程序的一个实例吋,以计算机可访问的形式作为内容来表示的信息可被该应用程序用来为用户提高个性化并且上下文相关的处理。这种处理的ー个示例是生成对具有与用户的上下文和偏好最高相关性的内容区分优先级的输出。上下文相关、内容聚集和分发服务系统可在云计算系统或环境中实现,计算机系统在该云计算系统或环境中使用不同的通信协议进行通信。此外,上下文相关、内容聚集和分发服务访问不同类型的不同的在线资源,其中的ー些是公开可访问的,而ー些是私有的,因为它们需要凭证来访问。内容服务可基于由ー个应用在发出请求的应用不能访问的用户账户中存储的用户数据来提供内容,例如推荐。另外,该服务可基于从发出请求的应用当前未与之通信的另ー个应用检索的用户数据来提供内容。此外,该服务可基于从在与该用户相关联的另ー个用户客户机设备上执行的另ー个应用检索的用户数据来提供内容。在一个实施例中,技术提供一个或多个处理器可读存储设备,其具有在该ー个或多个处理器可读存储设备上实现的处理器可读代码。该处理器可读代码对ー个或多个处理器进行编程以执行向应用提供关于用户的个性化内容以供上下文相关处理的方法。该方法包括从在线资源自动地和持续地收集关于用户感兴趣的一个或多个主题的内容,该在线资源在经由不同的通信协议可以访问的计算机系统上执行。从应用接收对描述用户对ー个或多个主题感兴趣的数据以及用户的上下文的请求。基于来自应用的应用数据请求、用户简档数据和当前的用户上下文来自动地对为用户收集的内容进行过滤。向发出请求的应用提供来自经过滤的上下文的上下文相关内容。在另ー个实施例中,技术提供了为用户对应用处理进行个性化的方法。通过正在执行的应用实例。该方法包括从上下文相关、内容聚集和分发服务接收用户的上下文相关和个性化的内容。所接收的内容是基于服务从应用实例不可用的不同的正在执行的应用接收的数据。该方法还包括接收用户在内容中的上下文,并且输出对于用户个性化的并与用户上下文相关的内容。在另ー个实施例中,技术提供了向应用实例提供关于用户的个性化内容以供上下文相关处理的系统。该系统包括存储用户简档数据的ー个或多个数据存储,该用户简档数 据包括用户的当前上下文数据。一个或多个服务器可以访问ー个或多个数据存储,并且使用不同的通信协议通过通信网络与执行在线资源的计算机系统通信。在线资源包括正在执行的应用实例不可用的资源。该ー个或多个服务器执行用于从正在执行的应用实例接收对关于用户的所选的数据类别的请求的软件。该ー个或多个服务器还执行用于从在线资源搜索并收集关于用户的所选数据类别的内容的软件。该ー个或多个服务器执行基于用户的当前上下文数据以及为所选类别收集的内容来向正在执行的应用实例发送内容的软件。提供本发明内容以便以简化形式介绍将在以下具体实施例中进ー步描述的ー些概念。本发明内容并非g在标识所要求保护的主题的关键特征或必要特征,也不g在用于帮助确定所要求保护的主题的范围。


图I描绘了向应用实例提供关于用户的个性化内容以供上下文相关处理的云计算系统的一个实施例。图2是向应用实例提供关于用户的个性化内容以供上下文相关处理的系统的软件组件的一个实施例的框图。图3示出了可用于向应用实例提供关于用户的个性化内容的系统的用户数据的数据类别的实施例。图4A是示出用于在用户简档数据中组织和存储数据的方法的一个实施例的流程图。图4B是示出应用访问用户简档数据中的数据的方法的一个实施例的流程图。图5A是示出向应用实例提供关于用户的个性化内容以供上下文相关处理的方法的一个实施例的流程图。图5B是示出为用户个性化应用处理的方法的一个实施例的流程图。图6是描绘向应用实例提供关于用户的个性化内容以供上下文相关处理的服务系统的软件架构的另一个实施例的逻辑框图。图7A是服务客户机模块向用于聚集和分发上下文相关内容的服务提供用户上下文信息的方法的流程图。图7B是服务为用户更新当前上下文的过程的流程图。图7C是服务客户机模块向用于聚集和分发上下文相关内容的服务指示用户活动的过程的流程图。图7D是服务基于所指示的用户活动捜索用户感兴趣的主题的内容的过程的流程图。图7E是服务处理来自应用实例的对与所选择的数据类别相关的数据的请求的过程的流程图。图7F是应用从服务接收并处理上下文相关的内容的过程的流程图。图8A至8F示出了应用可如何修改其处理以向用户提供个性化和相关内容的各个示例。图SG示出了一个或多个应用图标在其中描绘该应用所提供的内容的并且对用户进行个性化的用户界面的ー个示例。 图9是示例性计算环境的框图。图10是示例性游戏控制台的框图。图11是示例性移动设备的框图。
具体实施例方式了解什么与用户相关的智能应用显著地改善了用户在与这些应用交互中的体验。此处所描述的技术允许应用利用诸如来自上下文相关、内容聚集和分发服务的推荐等内容,以供个性化它们向用户提供的数据和服务并使其上下文相关。该技术提供上下文相关、内容聚集和分发服务的实施例,该服务持续地收集与用户以及从各种各样的在线资源请求关于用户的信息的应用相关的内容。该服务对与用户的上下文相关的内容以及应用为其请求信息的数据种类或类别进行过滤。该服务向发出请求的正在执行的应用提供内容(例如,关于用户偏好的推荐以及由此的相关性分数),因此它可以实时地修改其处理,使其对用户而言是个人的并且是上下文相关的。从该服务接收的内容还可包括或指示用户的当前上下文。可从通常存储在用户简档中的诸如用户的人口统计数据(例如年龄、性別、和居住地以及所标识的感兴趣的主題)等信息中确定内容与用户的相关性。感兴趣的主题可由用户明确地标识,而内容聚集和分发系统可通过例如监控用户的浏览历史和社交联网历史来被动地标识主題。 内容是计算机系统可以访问的形式的信息。例如,对智能电话的对话的记录和流传输带来可由计算机处理的经流传输的音频数据。其他示例包括以计算机可读格式存储的视频、摄影和音频数据,以及表示物理传感(例如,振动的智能电话)和移动的文本数据和计算机可读数据。还可以生成从其他内容项得出的内容。可用于确定用户的上下文的上下文信息的某些示例是实际的物理位置,该物理位置可由以下各项提供GPS,WiFi连接点,或蜂窝传输点半径,用户已经登录的计算机的IP地址,图像识别技术所应用的照片,照片元数据,一天中的时间和一年中的时间,与计算机设备相关联的计算机网络连接模式(例如工作、家庭、公共等),谁与用户在一起(例如在诸如预定义物理距离的附近内),与用户相关联的并且当前參与到活动中或计划这样做的人,用户正在执行的活动,基于安排软件应用所存储的信息的用户是否有空,或者用户正在向通信地耦合到聚集和分发系统的相关联计算机设备的用户输入设备中输入什么。服务可被实现为利用云计算系统的能力。云计算系统或系统环境能够使用不同的协议来通过通信网络通信。例如,云计算系统可由以下计算机来实现,该计算机可与不同类型的通信系统接ロ并使信息以其他计算机可访问的格式而可用。不同类型的通信系统的某些示例是各种无线电信系统,该无线电信系统接收并转发电话呼叫和短消息服务(SMS)消息、普通老式电话业务(POTS)和ISDN线以及计算机联网标准,诸如TCP/IP、以太网和无线802. 11系列连接协议。该服务提供优于其他数据发现系统的以下优点从很多不同类型的在线资源收集内容,诸如电子邮件、社交联网站点、网站和经由在线通信网络可以访问的其他数据。另外,可从跨用户的很多不同类型的计算设备收集的用户数据中得出向应用提供的内容。图I描绘了向应用实例提供关于用户的个性化内容以供上下文相关处理的云计算系统60的一个实施例。 系统60包括属于单个用户80的多个计算设备82、84、86。在一个示例中,计算设备82可以是移动电话网络的移动电话,计算设备84可以是诸如台式计算机、膝上型计算机或平板计算机的个人计算机,而计算设备86可以是具有相关联的显示器88的机顶盒或游戏控制台。计算设备82、84、86还可经由云通信网络50连接到服务90。下面參考图16、17和18阐述这些计算设备的示例实施例。计算或客户机设备82、84、86中的每ー个可本地地或经由通过云网络50可以访问的服务器78来执行应用72、74、76。在服务器78上执行的应用的某些示例是社交联网站点,可以处理对商品和服务的购买的网站,像媒体下载站点和财经站点的用户服务帐户,以及因特网服务提供方,像在线游戏服务、电子邮件服务和搜索引擎网站。各种类型计算设备中的每个可将数据本地存储或存储“在云中”,例如,服务90中的用户简档数据存储位置282中,如下面所解释的。每个设备可具有相同的数据、不同的数据或相同数据的不同版本。作为ー个示例,移动设备82可包括具有数据的信息83,该数据诸如联系人信息、日历信息、地理的(地理)位置信息、应用使用数据、应用专用数据、用户的消息收发和呼叫历史、浏览历史和购买历史。个人计算设备84可包括具有数据的信息85,该数据诸如联系人信息、日历信息、地理位置信息、应用使用、应用数据、即时消息(IM)历史以及相关联用户80的浏览和购买历史。游戏控制台86可包括信息87,诸如玩游戏的历史,购买游戏的历史、用户80玩得最多的应用的历史、和应用数据(诸如成绩、奖品、和已记录的会话)。除真实世界社交互动以外,用户可參与虚拟社交互动。例如,用户80可与(诸如图2中示出的那些)其他用户參与在线游戏。在游戏中,用户可以不仅通过玩游戏,还通过他们之间的ロ头或消息收发通信——通信应用可存储来自其的数据——来交互。图I中所示的计算设备82、84、86仅作为示例,并且在其他实施例中可以省略这些中的ー个或多个。此外,在其他实施例中,用户80可具有各种其他计算设备、或计算设备82、84、86的附加副本。这种计算或客户机设备可通常包括但不限于台式计算机、膝上型计算机、平板计算机、蜂窝电话、智能电话、电视机/机顶盒、视频游戏控制台、基于汽车的计算机系统、相机和智能设备。构想了其他计算设备。服务90是在服务器92的一个或多个计算设备上执行的上下文相关、内容聚集和分发服务,该服务例如可包括如下面所解释的数据库管理服务218。在实施例中,图I所示的每个计算设备82、84、86、92可以经由ー个或多个公共或专用网络50彼此耦合。网络50可包括因特网、蜂窝网络、或任何其它类型的已知公共或私有数据和/或语音传输网络。在其他实施例中,作为对连接到网络50的补充或替换,计算设备82、84、86、92可以通过对等连接来彼此连接。服务90还提供用户登录服务94,该服务94由用户客户机设备82、84、86来访问以向上下文相关、聚集和分发服务来认证用户80。用户80可通过各种认证协议向服务90认证他或她自己,包括例如使用诸如用户名和密码的ID。可以使用单个登录过程,其中用户许可该服务90维护与该用户的私人帐户的会话,例如电子邮件帐户、游戏服务帐户、社交联网站点、像信用卡的财务服务帐户和电话支付帐户。认证由服务90执行吋,ID和密码可被存储在数据结构96内的用户简档数据282中。用户简档数据282可存储各种各样的数据,包括所收集的实际内容、从所收集的内容得出的内容、以及从所收集的内容推断出的关于用户的内容。尽管服务器92、登录服务94和 数据结构96被示为单个服务90的一部分,但是,在其他实施例中,这些组件中的一些或全部可以跨不同的网络50来分布。图2是向应用实例提供关于用户的个性化内容以供上下文相关处理的系统60的软件组件的一个实施例的框图。图I的示例用户客户机或计算设备加上笔记本计算机81各自包括客户机模块32和应用模块34。应用服务器78还包括表示可用于执行的各种应用的执行实例的应用模块34。应用的某些示例是web浏览器、搜索引擎、预测文本程序、联系人管理和日历软件、网站(例如Yelp )、游戏、电子邮件和在线游戏服务。在操作中,用户80可(在不同的时间或并发地)使用她相关联的客户机设备81、82、84、86中的任一个以便执行各种任务(例如,工作、娱乐、社交等)。这些设备具有在像存储器的处理器可读存储介质上实现或存储的服务客户机模块软件32,该软件可以是多种形式(易失性或非易失性)中的任一种并且在这些设备的ー个或多个中的处理器上执行。在操作这些设备时,用户80经由她的动作来指示感兴趣的主题,她的动作被在ー个或多个设备上执行的客户机模块软件32跟踪并被传递给基于云的服务系统90。这种动作的某些示例是所访问的站点类型和在以下因特网浏览期间的时间段内访问的频率和时间(用户对各个棒球站点的访问超出阈值可触发服务添加棒球作为感兴趣的主题)、检查电子邮件、电话呼叫、文本消息、所下载的视频和照片、所下载的音频、视频、照片和其它类型的媒体文件的元数据、所存储的数据、捜索术语、和所查阅的捜索结果、未查阅的捜索结果、社交联网站点的帖子,以及明确地向主题列表输入主题,和用户与之交互的或具有诸如在数据结构中用于定义像朋友列表的关系的数据的其他用户。另外,通过从源(诸如,用户登录的计算机的IP地址、计算机网络连接模式指定(例如,工作、家庭、公共)、全球定位系统(GPS)模块、WiFi连接节点、一天中的时间、日历、日程、移动电话的订户标识模块(SM)、在用户计算机设备(例如,文档处理应用或游戏)上执行的应用等)收集信息,在设备上执行的客户机模块软件可为用户确定上下文信息并经由云网络50将该上下文信息传递给服务90。基于云的服务系统90可以基于从来自多种设备和在线资源的信息得出的上下文信息来为用户确定的上下文,诸如服务90可联系以便内容聚集和分发的某些应用34n。图2中所示的每个计算设备可以经由ー个或多个公共或专用网络50彼此耦合以及耦合到云服务,如上面所描述的。
除服务90以外,图2还示出了作为用于存储信息170的基于云的数据存储的数据结构96,该信息170包括用户80的公共和/或私有信息并被存储在经由云网络50可用的网络可访问的数据存储96上。公共信息170可包括例如Facebook简档172、个人web日志174、MySpace 简档176、地址位置存在178、和/或游戏历史180。云信息还可包括经由云可访问的私有数据190,其中该私有数据190可包括诸如购买记录、银行历史、和经由任意其他数量的已知供应商(vendor)的购买交易历史的数据。在一个实施例中,私有数据190仅基于经该私有数据的所有者授权的访问是可访问的。图3示出用户简档数据282的一个示例的框图。用户简档数据282例如可以是或包括关系数据库,诸如在SQL Server 技术上构建的SQL Azure 数据库。构想了其它类型的数据库。在该示例中,用户简档数据282可包括多个类别,每个类别202、204、206、208、210、212、214、216包括不同类别的数据。该服务为每个用户存储其自己的类别集202至206,这些类别集包括从用户自己的计算设备82、84、86和她在在线活动中与之交互的其他计算系统中收集的数据。这种所收集的数据可以表示指示可在类别内发现的用户感兴趣 的主题的数据和活动。当前系统还包括API 240,该API允许数据作为整体被上传和访问,如下面所解释的。这提供了跨全部用户计算设备和在线活动所集成的用户及其体验的增强视图。可在类别202至206中存储的数据类型可以是关于用户的任何类型的数据。此处的术语“用户”被广义地定义为包括用户以及用户与之交互的对象和/或实体。在该上下文中,用户可包括人,但也可包括汽车、房屋、公司等。他可以从ー个、ー个以上、或全部的用户计算设备中来收集,但也可来自除用户计算设备以外的源(例如,在线游戏服务)。作为示例而非限制,图3中可对用户数据进行分解的类别202至216包括位置数据、个人数据、用户的活动、用户是否有空、用户的环境、用户具有的设备、用户已经访问过的介质和用户的历史。位置数据类别202通常可包括关于用户当前位置的数据,并且可由从ー个或多个用户计算设备中提取的多种数据中的任ー个来赋予。该数据可由计算设备中的全球定位服务(GPS)接收机(诸如,用户所携帯的移动电话82)来给定。位置数据还可由对已知位置的计算设备的用户账户登录或由已知的IP地址来给定。位置数据还可来自拾取移动电话的蜂窝站点,或者它可以来自用户所连接的WiFi连接点,其中WiFi连接点的位置是已知的。在实施例中,用户所拍摄的照片可包括与照片被拍摄的时间和地点相关的元数据。该信息也可用于实时地标识照片被拍摄时用户的位置。构想了其它类型的位置数据。类别204可具有包括用户的隐私设置以及其他信息的个人数据。当前系统将关于用户的大量信息推送至发出请求的应用。每个用户具有建立关于他们的数据和个人信息中的多少被共享的隐私设置的能力。用户可以选择退出与发出请求的应用一起共享他们的数据;用户可以实行仅与特定用户共享他们的数据的隐私设置,诸如在他们的朋友列表上的那些用户;以及用户可以建立他们的隐私设置以便仅共享他们的数据中具有低于特定阈值的隐私评级的部分。用户可通过服务90所提供的隐私界面手动地设定这些设置。个人类别204还可包括各种其他用户个人数据,诸如他们的游戏统计数据(玩家简档统计数据、所玩和所购买的游戏、成绩、奖品、已记录的会话等);诸如用户的年龄、家庭成员和联系人信息的他们的人口统计数据;他们的朋友列表;浏览和搜索历史;和他们的职业信息。构想了其它类型的个人数据。活动数据类别206通常包括实时地关于用户在干什么的数据。可以用多种直接和间接的方式来生成该数据。收集这种数据的直接方法例如由控制台或机顶盒来提供以示出用户正在玩游戏或者在看电视。类似地,用户的PC或移动设备可以示出用户正在执行什么浏览和web捜索。用户的设备可以示出用户已经购买了赛事的门票,或者已经进行了与旅游、餐食、购物和其他休闲活动相关的特定购买(这些购买可以实时地发生,或者在未来的某些时候进行)。活动数据类别206可包括各种其他活动,该活动可由他们的计算设备直接感测并被实时地上传到用户简档数据282。在其他 实施例中,可通过诸如合成引擎230来间接地获得活动类别数据206。下面更详细地解释合成引擎230,但一般地,该引擎230可检查用户简档数据282中的各种类别内的数据以便推断其他数据,该数据可随后被添加到用户简档数据282。例如,如果用户正在拍照片并且照片被识别为游览胜地,则合成引擎230可为活动数据类别206推断用户正在度假和/或观光的数据。可在活动数据类别206中提供各种其它类型的活动数据。可用性数据类别208可以实时地示出用户是否有空。该信息的良好源可以是用户的日历,因为从他或她计算设备中的任ー个来更新它并且在中央数据存储(作为服务90的一部分或者在别处)中对其进行维护。然而,其他指示符也可用于确立用户的可用性。例如,可通过由用户的计算设备所检测的她的活动和购买从已确立的工作日和周末的日常エ作来推断用户的可用性。可用性可由(在活动类别206中所存储的)用户在执行什么活动来指示。例如,如果用户处于游戏会话中,则可以假设用户此时没空。还可以从合成引擎230由其他数据来间接地推断类别208的可用性数据。例如,如果用户的汽车(或其他设备)指示用户已经在车中开始以高速行驶,并且用户的日历示出该用户有ー个非现场会议,则合成引擎可以推断用户正在驾驶并且某ー时间段没空。构想了其它类型的可用性数据。类别210中的环境数据可包括对用户环境的经验测量,诸如当前的GPS位置、温度、湿度、高度、环境光等。在上面的示例中,GPS数据被包括在位置和环境数据类别202和210中。这示出了至少特定类型的数据可被包括在ー个以上的类别中。设备数据类别212可包括用户具有的计算设备的类型和这些设备的位置。数据类别212还可包括在这些设备上加载的应用、使用这些设备的频率和时间、和应用数据。设备数据类别212可包括其它类型的数据。媒体数据类别214可包括用户此时正在观看或收听、或过去已经访问过的任何媒体。该媒体可包括诸如音乐、图片、游戏、视频和电视的信息。媒体数据类别214可包括该媒体的已存储的副本、或者仅是用户正在或已经访问什么媒体的元数据列表,如果存储在用户的计算设备或存储位置,则媒体被存储在哪里。历史数据类别216可包括用户过去做过什么的历史视图。当前系统的ー个特征是实时地上传用户数据并使该数据可用于消费的能力,如下面更详细地解释的。然而,也可存储历史数据。这种历史数据可包括过去的活动(即,一旦用户结束该活动,就将被存储在活动类别206中的数据移至历史数据类别216)。历史数据类别216可包括电话和/或消息历史(SMS、即时消息收发、电子邮件等),以及计算设备使用和web-浏览/捜索的历史。它还可包括用户在哪里居住、工作、访问等的历史。类别216中的历史数据可以是仅过时几秒或几分钟,或者它可能过时了几年。类别202至216中的以上信息仅作为示例。除上面阐述的数据以夕卜,用户简档数据282还可包括但不限干来自云信息170(图2)以及诸如Facebook、Four Square 、Twitter 和My Space之类的其他社交网站的数据;服务数据,诸如从例如XBOX LIVE 之类的游戏服务可用的数据;社交图形数据,包括朋友、朋友的朋友、家庭和其他社交定义的关系,以及来自用户的朋友和其他级别的社交图的被展示的数据。可在用户简档数据282中提供各种各样的其他数据和其他数据类别。一旦数据被上传到用户简档数据282,则可在图3所示的DBMS的控制下对数据执 行各种处理操作。DBMS 218仅作为示例被公开。应当理解,在其他实施例中,下面所描述的处理操作可由除DBMS以外的控制算法来执行。不管是由DBMS 218还是某些其他控制来执行,这些处理步骤都可包括以下动作中的ー个或多个将数据分类到类别中,汇总数据,对数据进行标记,和检查是否可从已检测的数据合成新的数据。下面再參考图3和图4A的流程图来解释这些操作。在步骤340,从用户计算设备接收新数据。在步骤344,数据分类引擎220检查所接收的数据是否可被分类到现有数据类别中。数据分类引擎220可以是DBMS 218的已知组件,以供设置字段、每个字段的关系集和查询的定义,该查询可用于访问与不同字段和关系集相关联的数据。给定ー组预定义的约束,数据分类引擎220能够将所接收的数据分类到不同的类别,以及检测何时需要用于新数据的新类别。分类引擎220可使用已知的方法来将数据分类到类别中和/或创建新的类别。数据库管理员还可监视用户简档数据282并方便数据分类引擎220的操作以便分类数据并确定何时需要新的数据类别。如果数据分类引擎220确定新数据适于所定义的类别,则在步骤348中将该数据添加至该类别。如果引擎220确定新数据需要新的数据类别,则在步骤346中引擎可创建该新类别,并且在步骤348可将该新数据添加到该新的数据类别中。在步骤352,可由数据汇总引擎224对给定数据类别的数据进行汇总。具体而言,当接收到新数据时,可具有关于该数据的可靠性的某个指示符,诸如置信度值。可靠性指示符可以例如基于源的已知准确性,以及数据是由计算设备直接测量的还是从下面所解释的合成引擎中推断的。多种其他因素可以參与确定可靠性指示符的置信度值。可靠性指示符可作为常量保持,或者它可随时间衰減。例如,位置数据最好是实时的,但随着位置数据变旧变得不太可靠。在一个实施例中,汇总引擎224分析类别中的每个数据记录的可靠性指示符,井且确定具有表示数据值类别的最佳数据值的汇总236。这可以基于可靠性指示符表明一个数据值比其他数据值更可靠的判断。例如,对于给出用户的位置,GPS数据可以比IP地址更可靠。在这种实施例中,汇总引擎224可以返回具有与最高可靠性指示符相关联的数据的汇总236。在其他实施例中,汇总引擎224可以返回汇总236,该汇总具有基于若干可靠性指示符的合成值。汇总引擎224可返回多种其他因素,包括数据的总体可靠性、媒体值和标准偏差。作为汇总引擎224的操作的ー个示例,用户简档数据可具有多个位置数据输入(GPS纬度/经度、WiFi节点等)。这些数据值的可靠性指示符可包括诸如GPS信号的信号強度、和WiFi网络的范围之类的信息。通过使用可靠性指示符,汇总引擎224可确定使用ー个数据点并丢弃另ー个。或者,汇总引擎可使用ー个以上数据点来创建汇总236,该汇总具有带有单个汇总值(例如,纬度/经度)或多个数据点(例如,纬度/经度加上总体可靠性分数)的合成位置。在步骤354,数据标记引擎228可用于提供关于至少特定数据项的元数据标签。具体而言,可使用描述符来标记类别中的数据项以供以多种方式中的任ー种来使用,以便跨多种计算设备、应用程序和场景使用该数据。某些计算设备可能需要以特定方式被格式化的该数据,在该方式中可在元数据标签中提供信息。某些应用程序可以按照ー种方式来使用数据,而其他程序按照另ー种方式使用数据,在后一方式中可在元数据标签中提供信息。元数据标签可由数据标记引擎228来生成并与特定的数据项相关联。数据标记引擎228可以基于关于数据将如何以及何时被标记的预定义规则来生成标签,可由DBMS 218提供该信息。另选地或另外地,标记引擎228可利用使用数据项上传的元数据。
合成引擎230接下来在步骤358中检查用户简档数据282内的数据项是否可被独立地使用、或对照其他数据项被交叉引用,以便合成新数据。具体而言,管理员可以创建在DBMS 218中存储的规则,该规则定义何时可从特定的数据类型提取逻辑推断以便创建新的数据项。上面已经阐述了若干示例与日历约会数据一同使用汽车的速度数据可用于推断关于用户可用性的数据,对用户照片主题的识别(例如通过已知的照片识别技木)可用于推断用户在度假和/或观光的新数据。可以提供各种各样的其他预定义规则以便定义合成引擎230可以何时进行关于用户简档数据282中的数据的逻辑推断,从而推导新数据。存储282中的数据可由一个或多个引擎220、224、228和230来处理,如上面所描述的。应当理解,这些处理步骤中的一个或多个可在替换实施例中省略在上面所描述的处理步骤之前或之后,在步骤360中,系统可检查所接收的数据是否具有与其相关联的用户或DBMS 218的某些隐私方面。每个用户具有建立关于数据项的隐私设置的能力,该设置指定数据是否可被查看以及可被谁查看。用户可将ー组特定的隐私规则与每个数据项相关联,该隐私规则详细阐述了将与该数据项相关联的隐私设置。或者,用户可以简单地向数据项分配一般隐私评级。该一般评级可随后由DBMS 218用来建立数据的隐私分层结构。有了该分层结构,用户可在例如他们的简档数据中指定阈值隐私设置。通过这样做,用户同意允许访问具有位于所指定阈值设置以下(或以上)的隐私评级的全部数据。这允许用户快速并且轻松地向大范围的数据应用隐私设置。用户还可以此方式轻松地改变大范围数据的隐私设置。在步骤360,DBMS 218可以检查一个新数据是否具有相关联的隐私设置,诸如详细的规则和/或一般评级。若是,则在步骤364中可将隐私设置如上面所描述地存储在简档类别204中。—旦数据已被上传、处理和组织,它可供一个或多个应用程序来访问。现在參考图3和图4B的流程图来描述该过程的一个实施例。在步骤370,用户可执行来自他们计算设
备之ー的应用程序,诸如例如一个或多个应用程序234-1、234-2、......、234_n。这些应用程
序中的任ー个可导致计算设备周期性地调用API 240以便访问用户简档数据282。根据本技术,单个一般化API 240可用于跨全部数据类别并针对全部设备类型来展示存储282中的用户数据的完整范围,以便访问应用程序。具体而言,API能够基于访问应用程序的目标来制定查询,以便捜索用户数据和数据类别的全部以得到满足该查询的全部字段。如上所述,常规系统可能已经提供了允许到用户数据的不连续片段的视图的多个API。然而,常规API不提供对在用户简档数据282中存储的全部范围的数据的访问。相对于通过常规和/或不同的API可以访问的内容,API 240展示全部范围的数据和数据类别的操作允许更清晰的图片和增强的体验。例如,当前系统允许用户与其各种计算设备无缝地交互,以使它们协同工作而不是作为离散的处理设备来工作。再次參考图4B的流程图,在步骤370 —旦应用程序234进行API调用,则API 240在步骤378接收呼叫并在步骤380制定基于对象的查询,以便跨全部类别来捜索满足该呼叫的数据。在步骤384,DBMS 218可响应于该查询而检索数据字段。在步骤388,所检索的数据字段可被制定为响应以供转发到计算设备。不同的设备具有不同的能力,并且在步骤392可为特定的访问设备格式化响应数据(或者可将格式化指令与响应一同转发)。该响 应随后在步骤396被发送到计算设备并在步骤398在设备中被接收。如上所述,合成引擎230可对在用户简档数据282中存储的数据进行合成。可能发生的是,应用程序234查询用户简档数据282以得到不同片的数据,井随后执行与合成引擎230所执行的操作分开的合成步骤。若是,则在步骤400针对所返回数据的分开的合成步骤可由应用程序234来处理。步骤400是用虚线来示出的,因为它是可选的并且可被省略。在步骤402,可通过接收计算设备来呈现所制定的响应。此处注意的是“呈现”响应可以指通过接收方计算设备的视觉或可听响应。它还可指在计算设备上执行程序,或者在计算设备上执行某些其他动作。在图5A和5B中示出了从应用的角度和上下文相关聚集和分发服务的角度来执行的计算机实现的方法的实施例。在其他系统实施例中,方法可由上面以及下面所讨论的系统实施例来实现。图5A是示出向应用提供关于用户的个性化内容以供上下文相关处理的方法的一个实施例的流程图。在步骤52,像服务90的服务自动地并持续地从在线资源收集用户感兴趣的内容。在该对内容的正在进行、连续的收集的过程中,在步骤54,聚集和分发服务90从应用接收对数据的请求,该数据描述了ー个或多个感兴趣的主题中用户的兴趣以及用户的上下文。可从来自在线资源以及来自诸如人口统计数据和浏览历史的所存储的用户简档数据的内容得出描述用户兴趣的数据。服务为用户所收集的关于主题的内容通常将包括来自未与发出请求的应用通信的至少ー个其他应用的内容。例如,不向服务请求内容的新闻服务网站根据新闻服务与社交联网站点之间的关系,可以能够访问关于用户登录同一计算设备的社交联网用户帐户中的用户朋友列表的内容。然而,新闻服务将不能访问基于新闻服务与其无关的应用的内容,或用户当前未登录到该设备的内容。聚集服务基于从对发出请求的应用不可用的一个或多个应用接收的数据,向发出请求的应用提供内容。此外,聚集和分发服务90可以基于诸如电子邮件帐户的新闻服务无法访问的私有账户的用户数据,以推荐的形式来提供内容。另夕卜,与聚集服务不同,新闻服务无法访问在用户的其他设备上执行的应用,但该应用不在执行新闻服务。聚集服务90提供来自跨设备和跨时间的并且上下文地相关的数据。在步骤56,基于应用数据请求、用户简档数据和用户的当前上下文来自动地对所收集的内容进行过滤。在步骤58,聚集服务90向发出请求的应用提供基于过滤的用户的上下文相关的内容。图5B是示出为用户个性化应用处理的方法的一个实施例的流程图。从正在执行的应用实例的角度执行图5B的方法实施例。正在执行的应用实例可以是例如在客户机设备上、在服务器上执行的应用模块34,或者应用服务器模块34和一同操作以执行步骤的应用客户机设备模块34。在步骤61,应用实例从服务接收用户的上下文相关的和个性化的内容,并在步骤62接收上下文中的用户的上下文。步骤61和62可同时发生。在步骤64,应用实例通过输出为用户进行个性化的并与用户上下文相关的内容来执行为用户进行个性化的处理。图6是描绘向应用实例提供关于用户的个性化内容以供上下文相关处理的服务系统的软件架构的另一个实施例的逻辑框图。服务是基于云的,因为它在计算机硬件内操作,该计算机硬件使用不同的通信协议通过不同类型的通信网络来通信。
在该实施例中,标识为雷达客户机250的客户机模块32的一个示例是在用户的物理计算设备的任一个上运行的软件,该软件经由诸如示例应用编程接ロ(API)286的软件接ロ与基于云的上下文相关内容聚集和分发服务(此处称为“雷达”服务252)的一个或多个应用进行通信。此外,应用模块34也通过API 286与雷达服务252通信。可选地,应用模块34可经由与客户机模块250的API 285来与该服务交互。软件开发者可以修改现有的应用以使用ー个或多个API 286、285来最初注册,并设置执行时服务与应用实例之间的数据交换的格式。开发者对数据类别及其内的可选项进行编程,API发布这些数据类别以供应用使用。API不时地发布新的数据类别,因为它们可能被创建,并且更新应用选择的类别。与雷达ー样,服务252和客户机模块250搜索信息并跟踪它。雷达客户机250向雷达服务252提供上下文信息(以及可选地,关于用户兴趣的信息),并且接收回内容,诸如对用户帐户的推荐。在该实施例中,应用模块34向服务发送带有所选数据类别、用户标识信息以及应用和实例标识的消息,并且也从该服务接收内容,该内容的某些示例是用户的人口统计数据;诸如位置、当前活动、可用性的上下文数据;历史和对用户(在当前执行实例中为该用户进行处理)的ー个或多个推荐。所请求的数据中的某些可由服务252经由对用户简档数据282的数据库搜索来检索,该数据库搜索形成下面所讨论的智能系统270的一部分。例如,雷达服务可经由另ー个API 272来联系数据库管理软件218。例如,可最初从所存储的用户简档数据282发送人口统计数据和其他个人信息,像隐私设置所允许的朋友或朋友的人口统计日期,并且稍后发送基于应用磁体(magnet)的结果的任何更新。还可以向可由应用磁体更新的应用模块34提供当前上下文数据。基于云的雷达服务252包括ー组推荐引擎254、256、258和260的API,每个推荐引擎为不同类型的内容进行不同类型的推荐。例如,一个推荐引擎可以针对音乐进行推荐,另ー个针对购物,另ー个针对聚会,另ー个针对餐厅等。一个系统可具有四个以上的推荐引擎。雷达服务252包括磁体265、应用磁体263和相关性引擎264。磁体265是自动地并持续地收集关于感兴趣主题(例如,人、地点或事)的内容的软件进程。例如,磁体(经由云50)寻找与种子(例如,主题或特定内容)相关的内容。针对用户的磁体是持久存储的软件进程,即使在用户未登录到雷达服务时该软件进程也可收集关于用户的数据。例如,如果向磁体提供种子主题(例如,ー种类型的鞋子、音乐团体、主题等),则该磁体将搜索因特网(或其他源)以发现与该种子相关的可用的内容。磁体与典型的因特网搜索引擎的区别之处在于磁体是持久存储的、基于信息和其他用户信息来个性化的,该信息是磁体关于用户来检索的并可存储在用户简档中,该其他用户信息由其他服务和数据库来存储,服务252经由像通过智能系统240可访问的那些接ロ的接ロ来访问数据库。例如,另ー个服务可以是社交联网站点或存储用户的游戏统计数据和偏好的在线游戏服务,诸如XBOX Live。磁体还可在其捜索中使用上下文,并且可与其他磁体交互,可以示出来自公共(例如274)和私有(例如280)索引的很多类型的内容,并且被返回的内容具有上下文(诸如返回ー个地点并说明那里还有谁)。一个或多个磁体可被定义为捜索与用户上下文相关的用户内容。一个应用磁体是这样的ー种类型的磁体其捜索由应用模块所表示的执行应用实例选择的、关于用户的数据类别。应用磁体可接收其所选择的数据类别的数据更新,以便在应用实例执行时从其进行捜索。例如,用户可以在针对产品和服务的消费者评论网站(像Yelp )上从餐厅导航至计算机硬件。应用为用户实时地个性化该内容,因此服务可快速 地提供信息。应用磁体可被创建,并且可在应用实例期间持久保持,例如直到用户退出与该应用实例的会话。与其他磁体一样,可在运行时生成应用磁体,或者经由API 286从实例34或间接地经由API 285从客户机模块250接收对所选类别的更新时,现有的应用磁体可被更新为包括新的捜索术语。应用磁体可以搜索被个性化并且上下文相关的应用井向其进行推荐。应用磁体可替代地或附加地与为特定用户持久地捜索感兴趣主题的现有磁体通信,其主题可落入应用实例的所选类别内。雷达服务252可将永磁体的输出链接到应用磁体。应用磁体可随后向应用进行推荐。磁体的用户界面表示允许用户与它们交互(例如,以获得关于特定主题的信息)。例如,用户可经由用户界面(例如,触摸屏)与磁体交互以建立、配置和查看磁体的结果。如果用户(例如,在用户界面上)将两个磁体表示彼此拉近,则它们将彼此影响。例如,ー个人在触摸屏显示器上将其餐厅磁体拉至纽约磁体附近,则作为响应,两个磁体进行交互并输出被捜索的主题的交集(例如,纽约的餐厅)。客户机模块250报告将磁体拖动到服务252的用户输入,该用户输入对捜索參数进行更新以将餐厅结果限制到纽约的餐厅。磁体还可被“修剪”。例如,用户可对关于歌手的磁体进行个性化以示出时尚、音乐和绯闻,但绝没有任何与监狱相关的事。应用磁体可接收相同的“修剪”和用户对磁体表示的通知以进ー步使应用的内容结果更加个性化和上下文相关。在一个实施例中,磁体是吸引相似粒子的虚拟对象,关于用户和用户的上下文而定制的。磁体通常集中于感兴趣的主题并吸引与该主题相关的粒子集合,并基于拥有该磁体的用户简档和用户的当前上下文(例如,时间、位置、设备、活动以及像宠物和与用户在一起的人的生物)来被过滤和区分优先级。粒子是可被显示或输出的声明或建议。声明粒子具有少量的文本信息,诸如“股票现在下跌”或“妈妈的生日是明天”。建议粒子可具有到诸如“KarmaClub DJ Night”或“Halo 2”的某些数字内容的链接。可对建议粒子类(即,找出全部Karma事件细节,或去玩这个游戏)行动。例如,粒子可包括用户可选择以发现在Karma Club的事件细节或在线登录到Halo 2游戏的统ー资源定位符(URL)或磁体链接。用户可磁化粒子,给出对粒子的反馈,隐藏或保存粒子。粒子可具有值和动作。值的示例包括对实际内容、元数据(类型、格式、缩略图)、活力(通过超过相关性阈值,粒子得到吸引其注意力的活力)、和相关性(服务系统252计算出相关性并应用这些值)的指针。动作的某些示例包括“到内容那里”,“磁化这个(使其吸引相似的粒子,基本将其转为临时磁体)”,“给出关于这个的反馈(赞成、反对)”,“隐藏这个(使其离开)”和“记住这个,以便我可以回到这里”。也可包括其他值和动作。磁体吸引与特定主题或兴趣相关的粒子。数字历史可包括一个人所采取动作的或过去在某个点查看的粒子轨迹。数字历史可作为用户历史的一部分被存储在他或她的用户简档数据282中。客户机服务模块250基于从服务252接收的当前上下文来输出最相关的粒子。 磁体264和应用磁体263利用推荐引擎254、256、258、260来为用户标识内容。另夕卜,推荐引擎可在不包括磁体的情况下进行推荐。磁体和应用磁体使用到智能系统270的API 272来挖掘知识世界以得到与用户感兴趣的一个或多个主题相关的信息。磁体基于用户的当前上下文使用推荐引擎来为用户进行关于ー个或多个主题的推荐,并且应用磁体基于用户当前上下文为用户的应用模块34进行落入所选数据类别内的条目的推荐。全部信息和由磁体、应用磁体和推荐引擎所进行的推荐随后由相关性引擎264来分类,并被提供给用户的雷达客户机250,或者在发出请求的应用实例的情形中被提供给该实例的应用模块34。在一个实施例中,磁体生成触发过滤的事件。如上所述,磁体是搜索与种子相关的内容的软件进程。一个或多个磁体将基于诸如用户感兴趣的主题的种子主题来搜索内容。当发现内容时,磁体将创建数据库入ロ并生成与该数据库入ロ相关联的事件。所标识的内容用于创建被存储并作为过滤过程的一部分来使用的数据库入ロ,以便潜在地标识将被推送至用户的数据。事件将触发过滤。推荐引擎(例如,254、256、258、260)确定是否基干与事件和用户的上下文数据相关联的数据库入口来为用户进行推荐。由其他磁体为用户收集并存储的数据也可作为确定是否进行推荐的基础来访问。另外,将还可在分析中包括用户的上下文数据,该用户在数据中作为朋友和用户的家人或联系人来链接。(用户可能已经在诸如电子邮件应用、社交联网应用、即时消息收发应用等的一个或多个应用中指示了朋友、家人和联系人。)如果推荐被生成,则推荐由客户机模块250或应用34来推送至用户。在一个实施例中,如果生成事件的磁体是应用磁体,则所生成的推荐经由API 286被发送给与事件生成应用磁体相关联的一个或多个应用34。在另ー个示例中,如果生成事件的磁体执行对应用磁体的搜索,则应用磁体可基于其他磁体的数据库入口来生成事件,因此如果生成了一个推荐,则该推荐前往其相关联的应用34。如果未标识推荐,则不推送内容。推荐的示例可包括将在商店、剧院的演出、音乐会等的销售通知给用户。在一个实施例中,磁体和应用磁体利用推荐引擎来为用户标识内容,并且相关性引擎的ー个或多个实例基于其所感知的与用户当前上下文的相关性来对每个内容项打分。在一个实施例中,相关性引擎264基于内容项与用户当前上下文的相关程度来提供数字相关性分数。例如,餐厅推荐在下午3-5点可得到更高的相关性分数,随后是在午夜。类似地,关于足球队的信息在足球赛季期间比在赛季间可接收更高的相关性分数。关于用户当前正在收听的乐队的信息相比另ー个乐队或与工作相关的其他内容,将得到更高的分数。如上所述,雷达服务252经由API 272与智能系统270通信。智能系统270创建、获得并存储关于雷达服务252可用的数据的信息。在一个实施例中,雷达服务252由ー组一个或多个计算机(例如,服务器场)来实现,并且智能系统270由ー组不同的ー个或多个计算机(例如,服务器场)来实现。在其他实施例中,一个或多个相同的计算机可实现雷达服务252和智能系统270两者。在一个示例中,数据库管理软件218可由雷达服务经由API 272来联系以访问来自智能系统270的数据,该智能系统270包括公共索引274、广告和优惠278的数据存储或索引、私有索引280和用户简档数据282。公共索引274可以是万维网上网站的因特网搜索索引。私有索引280包括每个用户的私有站点的単独索引。例如,每个用户将具 有提供关于他们的社交联网页、电子邮件、联系人等的信息的私有索弓I。在某些实施例中,用户经由单个登陆过程登录到雷达服务,该登陆过程允许雷达服务维护与用户的私有账户的会话。广告和优惠数据存储278(例如,用指针或实际内容)向消费者提供可用且若与用户的上下文相关则可被选择的广告和优惠列表。用户简档数据282存储已知的(例如,知识库)和推断的(例如,对每个用户的推断以及包括各个用户的数字历史的上下文数据和历史)信息。在一个实施例中,智能系统270包括推断引擎283,该推断引擎是基于用户的行为来猜测关于该用户的信息的软件。推断引擎可提供用户的上下文信息,该上下文信息包括从基于用户动作的推断得出的用户的意图或状态。例如,如果用户正在阅读有关餐厅,则推断引擎可以假设用户想要吃饭(例如,用户饿了)。响应可以是向用户示出来自附近餐厅的名人“朋友”的评论,该餐厅提供用户被观察在过去吃过的食物。基于在万维网、社交联网系统、协作服务、多玩家游戏服务、捜索引擎、电影和音乐分发服务、购买系统、文本消息、呼叫历史、电子邮件帐户上的爬寻或搜索来创建公共索引274、广告和优惠存储(或索引)278和私有索引280,其示例被示为订阅源284和/或其他网络或资源。在操作中,磁体265和应用磁体263将利用推荐引擎254、256、258、260,公共索引274,广告和优惠存储(或索引)278,私有索引280和用户简档数据282来标识用户感兴趣的内容。相关性引擎264基于用户的当前上下文提供所发现的条目的相关性分数。与用户的当前上下文最接近的内容项将被赋予更高的分数。具有更高分数的条目将由基于云的雷达服务252推送至用户设备上的雷达客户机模块250。他们提供的进程、软件组件或功能可以作为处理器可读存储介质上的代码、软件、指令、固件等来实现或存储,并且可由处理器来执行。处理器可读存储介质的ー个示例是诸如存储器的计算机可读存储介质,无论是易失性或非易失性形式,可移动或不可移动。此夕卜,对模块、应用、软件组件的特定命名和划分以及其他方面不是强制性的,而是用于说明性目的。实现技术或其特征的机制可具有不同的名称、划分和/或格式。图7A至7F表示可在诸如图6中的服务实施例的服务实施例中执行的功能。持续地和并发地执行功能,因为在启动和退出不同的应用时,用户上下文和感兴趣的主题可能改变。图7A是服务客户机模块向聚集和分发上下文相关内容的服务提供用户上下文信息的方法的流程图。在步骤410,在一个或多个客户机设备上执行的一个或多个客户机模块获得用户的上下文信息和用户感兴趣的人。该上下文信息可通过与用户的交互来获得,以对用户被动的方式或以对用户主动的方式或以上的组合。例如參考图3和4,上面讨论了上下文信息的示例。在步骤412,在与用户相关联的各个设备上的ー个或多个客户机模块的执行向服务系统提供上下文信息。图7B是服务为用户更新当前上下文的过程的流程图。服务252在步骤414从ー个或多个客户机模块接收上下文信息,并在步骤416更新用户的当前上下文数据。图7C是服务客户机模块向聚集和分发上下文相关内容的服务指示用户活动的过程的流程图。ー个或多个服务客户机模块250在步骤400获得对用户感兴趣的主题的指示,并在步骤402向服务系统发送对感兴趣的主题的指示。例如,客户机模块(32、250)可将诸如83、85和87中所描绘的示例的信息上传到服务。游戏控制台87上传对游戏统计数据、在游戏会话期间一起玩的任何新人、用户目前正在玩哪个游戏的更新。蜂窝电话或智能电话82上传对日历的改变、因特网搜索中刚使用的捜索术语、以及已更新的呼叫历史和地理位置数据。在台式计算机84上执行的客户机模块32在应用已被退出时更新,并且用户已经购买了在两个月内要使用的到Aruba(阿鲁巴岛)的机票。这些都是对用户感兴趣的主 题的指示的示例。例如,机票购买可以被动地指示对关于旅客可以打包什么的机场安全规定的改变的兴趣、和在Aruba要看和要做的事情的兴趣。通过与服务接ロ,应用可利用关于用户的知识库,该服务基于从各种各样的设备和与用户相关联的其他应用收集的信息来开发该知识库。具体而言,在步骤403,响应于用户对客户机模块在其上执行的客户机设备上的应用的启动,客户机模块可将对该应用的启动通知给服务。该服务可用消息发起到该应用的联系,以使应用知道该服务是可用的。在其他示例中,应用实例发起联系。客户机服务模块可能未在用户发起应用的客户机设备上执行,但是服务在与用户相关联的另一个设备上可以是活动的。此外,虽然所提供的内容可以基于来自用户所使用的各种在线资源的历史而非用户当前上下文,即使用户当前未登录该服务,该服务252仍可向发出请求的应用模块34提供内容。图7D是服务基于所指示的用户活动捜索用户感兴趣的主题的内容的过程的流程图。在步骤404,服务持续地创建并更新磁体以自动地和持续地搜索不同类型的在线资源(公共和私有两者),以得到用户感兴趣的主题的内容。在步骤406,磁体自动地和重复地搜索并收集与用户感兴趣的主题相关的内容,并且在步骤408,基于为用户收集的内容来更新用户的用户简档数据。图7E是服务处理来自应用实例的对与所选择的数据类别相关的数据的请求的过程的流程图。服务252经由客户机模块或基于云的服务的服务器的接ロ从正在执行的应用实例接收带有用户标识(ID)和对步骤418中所选数据类别的或与其相关的数据的请求的消息。用户ID数据可以是IP地址,或者用户可以具有诸如名称的更多的信息。基于该信息,服务系统标识用户,并在步骤420基于所标识的用户和所选的数据类别来生成或更新一个或多个应用实例磁体。在步骤422,应用实例磁体自动地和持续地收集所选数据类别的内容。在步骤424,服务基于用户的当前上下文而过滤来自一个或多个应用实例磁体的内容。可选地,在步骤426,服务基于内容过滤的结果来生成与一个或多个所选数据类别相关的推荐。在某些示例中,该推荐可以基于来自与该应用不同的一个应用的用户的私有偏好数据。例如,可能已经从用户的电子邮件应用中的餐厅联系人中推断出用户对餐厅类型(例如,素食、印度南部、意大利)的偏好,该电子邮件应用是仅通过使用他的登录凭证才能访问的私有资源。在步骤428,服务基于过滤结果将内容作为上下文相关的内容发送给应用实例。图7F是应用从服务接收并处理上下文相关的内容的过程的流程图。在步骤430,应用实例从服务系统接收用户的上下文相关的内容,并且在步骤432,应用实例基于所接收的用户的上下文相关的内容来修改其处理。图8A至8F示出了应用可如何修改其处理以向用户提供个性化和相关内容的各个示例。 图8A示出了用于对产品和服务的消费者评论的网站的一个示例,该网站输出个性化的并与用户的上下文相关的内容。这种网站的一个示例是Yelp !处于说明性目的,在名为“Ryan”的用户的移动智能电话800上呈现虚构的这种消费者评论网站的一个示例,“你是批评家”。智能电话800具有通过“你是批评家”应用在其上显示个性化和相关内容的显示器802。所显示的个性化内容是基于从上下文相关内容聚集和分发服务的一个实施例接收的内容。作为该示例的背景,Ryan在周末访问Vancouver (范库弗峰)。在他离开旅馆探索城市之前,他在他的移动智能电话800上启动了“你是批评家”应用。由该启动所创建的“你是批评家”应用实例向服务的API (像雷达服务2582的API 286)发送消息。基于用户ID数据(像智能电话的IP地址)和位置数据(像Ryan的智能电话正与之通信的蜂窝塔或用户ID数据中的WiFi连接点标识符),雷达服务252标识Ryan在Vancouver及其旅馆。消费者评论应用已从餐厅类别请求数据。启动应用磁体263或其他内容搜索软件过程以发现Vancouver中与Ryan相关的餐厅以及在Ryan的用户简档数据282中标识的对Vancouver中餐厅的偏好。具有关于Ryan的“朋友”的数据的在线资源还可向应用磁体报告在Vancouver的餐厅中Ryan的朋友当前或过去的活动。服务向应用实例发送回如下消息=Ryan最喜欢泰国菜,并且他的三个朋友,Andy、June和Mei-Ling已经去过Vancouver的Chill Winston餐厅。服务还向消费者评论应用标识出Andy和June在他们的社交联网帐户中给了 ChillWinston —个喜欢推荐。Ryan目前没有在他的移动电话上或别处登录他的社交联网帐户,而Andy或June也没有,但他有Andy和June帐户中的朋友状态,因此他能看到他们喜欢和不喜欢的偏好数据。如果Ryan登录到雷达服务,则在提供内容中可通过该服务来访问来自私有账户的最近信息,例如,对应用的推荐。该服务向消费者评论应用提供带有朋友数据和相关性分数的对Chill Winston推荐,以及作为所偏好的食物类型的带有较低相关性分数的对泰国菜的另一个推荐。另外,服务提供上下文信息Ryan自己没有开车。该服务无需分享为什么,而可从所注意到的没有汽车预定和Ryan飞到Vancouver的事实来推导出这一点。基于评论站点应用实例已经接收的个性化和上下文相关的内容,和现在是Vancouver的吃饭时间的事实,应用鉴于Chill Winston的较高的相关性分数和位于步行距离内对其区分优先级,并随后按照距离和站点的标准评级系统对泰国餐厅区分优先级。图8B示出提供个性化和上下文相关的内容的导航应用的一个示例。这种导航系统的一个示例是可在汽车内操作或独立地操作的GPS导航系统设备810。GPS导航系统可在其显示器812上提供关于地点的推荐,像用户正在驾驶或以其他方式导航的区域中的加油站、咖啡店等。服务可提供GPS系统可能无法访问的上下文相关的内容。服务可基于活动监视来确定驾驶者通常由旅客陪伴。旅客也可以是该服务的用户,或者服务基于旅客与之交互的客户机模块已经形成了该旅客的用户简档,诸如在上学或工作。基于购买交易历史,服务知道驾驶者不经常出入咖啡店,而旅客确实经常出入这些店以及哪个是她偏好的品牌。 当驾驶者在GPS触摸屏上选择咖啡时,导航系统联系服务,而服务提供驾驶者带有旅客(用户附近的一个人)在驾驶的上下文信息,并且提供该旅客最喜欢的咖啡品牌是Tully’s 的推荐。另外,该服务可以提供关于他们的目的地(例如,工作、学校)的信息,以及他们在路上有多少时间可以停下来喝杯咖啡。例如,今天是星期二,并且星期二的课程在半小时后开始。导航系统在移动设备的显示器812上提供显示视图814,该显示视图可能基于推荐的相关性分数对Tully” s品牌的咖啡店区分优先级,即使比其他咖啡店(像Starbuck (O. I英里和O. 3英里)、Andre’ s咖啡店(O. 4英里)、和麦当劳(O. 4英里))稍微远一点(O. 5英里)。下一个最近的位于7英里远的Tully’ s也被显示以给旅客到她喜欢的下一个位置的距离感。在该示例中,用户驾驶者的上下文包括物理位置以及一个或多个人位于用户的附近。响应于接收关于驾驶者附近的旅客对咖啡个人偏好的上下文相关的信息,GPS应用在其显示器上输出内容,该内容可由旅客以及驾驶者来访问并且在以下方面被个性化显示视图如由来自服务的相关性分数所辅助地对旅客的咖啡偏好区分优先级。图8C和8D示出预测文本应用的一个示例,该应用利用了个性化和相关上下文信息以改进其对用户的处理。Ryan决定写下Mei-Ling以查看她喜欢还是不喜欢ChillWinston。预测文本应用已经联系了在电话上执行的雷达服务252或服务客户机模块250,并且已经请求用户的上下文信息。Ryan在Richmond大街附近的旅馆中的位置被发送到预测文本应用。另外,Ryan已经访问在线资源所关于的最近被标记的项可被发送,该项包括用于“Chill Winston”的被标记的数据项。如图8C所示,Ryan正在显示器802上键入文本消息818并且已经键入了 “Ch”。响应于“Ch”和上下文信息以及可选地关于Chill Winston的数据标签,预测文本软件提供字母的其他部分“ill Winston”,作为由下划线所指示的建议。图SE示出了使用日历软件应用中的信息向在用户的台式计算机84上执行的因特网搜索引擎应用852提供个性化内容的服务850的一个示例,该日历软件应用被用户单独地保存在她的蜂窝电话82上并且不能与她台式计算机上的日历应用进行同步。她的蜂窝电话可能不是智能电话,并且例如缺少USB端口。她的电话日历软件854指示她在晚上6点被安排在镇的特定地区。她的台式计算机84上的客户机模块250在中午12点和下午12点30分之间照常是空闲的。现在是下午I点。用户已经开始基于晚上6点她将在大城市中的位置的邮编来搜索意大利餐厅,因此结果将是巨大的并且可能不如所期望的那么近。服务252在智能系统270的推断引擎的帮助下进行如下推断她正在寻找她的朋友(也是服务用户)所登记的旅馆附近的餐厅。服务向因特网搜索引擎提供旅馆的街道地址以及作为附加推荐的种子搜索术语的晚餐。这样,引擎852可以呈现提供晚餐而非午餐以及他们的晚餐菜单而非午餐菜单的意大利餐厅。服务还可基于在朋友的服务帐户中存储的食物偏好来提供“意大利南部”作为建议的搜索术语。搜索引擎使用搜索术语并显示关于旅馆附近的提供晚餐的餐厅的信息,并按照意大利南部菜和意大利菜对旅馆区分优先级。
图SE中的示例利用服务从另一个应用不与之通信的一个应用接收内容和/或得出内容,以便向其他应用提供个性化和上下文相关的内容。另外,图8E的示例示出了服务确定相关晚餐时间段的用户上下文被安排为包括她的朋友,并且还提供朋友的相关和个性化内容。搜索引擎输出个性化的并与朋友和用户两者相关的内容。图8F是像图1、2、3和6中的实施例的服务系统的另一个示例,该示例向第一应用提供用户的个性化内容,该个性化内容是从来自第一应用不与之通信的第二应用的数据得出的。在该示例中,用户B在用户A的蜂窝电话82的联系人管理软件中被列出,但未在联系人中列出或以其他方式由控制台86或在线游戏服务标识为以某种程度与用户A相关的人。用户A和用户B 二者具有雷达服务的用户帐户,并同时在线玩同一游戏应用。用户不知道彼此的玩家身份。游戏应用实例1862和游戏应用实例2864无法或目前未与用户A的蜂窝电话的联系人管理软件进行通信。然而,服务850正与正在执行的应用的全部三个实例、两个游戏实例和联系人管理软件实例864通信。作为在雷达服务客户机模块250在其上执行的用户A的设备82之一中存储的联系人,用户A的磁体为用户A的帐户捕捉关于用户B的数据。A的在线游戏服务实例可通过API 286请求用户A的数据,或者在游戏服务之前已用API 286注册过时,该服务可向游戏应用实例I推送数据。服务可向游戏应用实例I发送推荐以向用户A显示建议,以便邀请用户B —起玩游戏。游戏应用还可询问用户A他是否希望将用户B添加到游戏服务维护的他的联系人列表。图SG示出了一个或多个应用图标在其中描绘该应用所提供的内容的并且对用户进行个性化的用户界面的一个示例。应用图标可用于通过显示个性化并与用户的上下文相关的信息将用户吸引到他们的应用。在该实施例中,移动计算设备800将小块(tile)示为可被选择以供启动他们相关联的应用的应用图标的示例。例如,存在应用的小块SSe1和8862,由这些应用提供的上下文相关的内容当前不可用或者已被查看过。用户可能刚检查过她的Outlook 电子邮件和她的Facebook 页。然而,对小块或其他图标的覆盖的示例显 示对经由相关联的应用可以访问的上下文相关的内容的通知。像Fandango 提供的电影票购买智能电话应用的小块图标显示覆盖88七,它可以是包括文本“Tron 预售票销售今天开始! ”的粒子。基于上个月中访问过的搜索和网站,内容聚集和分发服务已将Tron标识为用户感兴趣的主题,并已经通知Fandango应用用户对这部电影感兴趣。根据用户住所和工作位置的上下文信息、以及预售票销售开始的时间,在用户的环境中关于剧院的预售的信息是与用户上下文相关的,并与用户的兴趣相关。应用可在其图标上显示通知,或者客户机模块32可在用户的设备上的该应用的块图标上对其进行显示。另外,为用户的电子邮件帐户中最近已经通信超过触发级别的联系人Sally在Flickr 小块上提供指示“已张贴的Sally的约塞米蒂国家公园的照片”的通知。另外,在Twitter 小块上显示包括来自Sally的“Sally :我回来了 ! ”的tweet的覆盖。在另一个示例中,用户目前正在Macy (梅西)的位置附近,其中她的浏览和社交联网指示她感兴趣的一双鞋正在低价出售。在像Internet Explorer 的web浏览器的块上显示带有标题“Macy的鞋子销售”和鞋子照片的覆盖8843。当用户点击通知时,web浏览器显示Macy的鞋子网页。
图9示出了合适的通用计算系统环境500的示例,其可以包括例如台式计算机、笔记本计算设备81、或服务器92、78中的任一个。计算系统环境500只是一个合适的计算环境的示例,而并非旨在对本发明系统的使用范围或功能提出任何限制。也不应当将计算系统环境500解释为对在示例性计算系统环境500中所示的组件中的任何一个或其组合有任何依赖或要求。本发明系统可运行于各种其他通用或专用计算系统、环境或配置。适用于本系统的公知计算系 统、环境和/或配置的示例包括,但不限于个人计算机、服务器计算机、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、膝上型计算机和掌上计算机、手持式设备、包括以上系统或设备的任一个的分布式计算环境等等。参考图9,用于实现本技术的示例性系统包括计算机510的形式的通用计算设备。计算机510的组件可包括,但不限于,处理单元520、系统存储器530、以及将包括系统存储器的各种系统组件耦合到处理单元521的系统总线520。系统总线521可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为夹层总线的外围部件互连(PCI)总线。计算机510可以包括各种计算机可读介质。计算机可读介质可以是能被计算机510访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不局限于随机存取存储器(RAM)、只读存储器(ROM)、EEPR0M、闪存或其它存储术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息并可由计算机510访问的任何其它介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来具体化计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何组合也包括在计算机可读介质的范围内。系统存储器530包括诸如ROM 531和RAM 532之类的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统533 (BIOS)通常存储在ROM 531中,包含了诸如在启动过程中帮助在计算机510内的元件之间传输信息的基本例程。RAM 532通常包含处理单元520可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图9示出了操作系统534、应用程序535、其它程序模块536和程序数据537。计算机510也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图9示出了对不可移动、非易失性磁介质读写的硬盘驱动器541以及对可移动、非易失性磁盘552读写的磁盘驱动器551。计算机510还可包括对光介质读和/或写的光介质读取设备555。
可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、DVD、数字录像带、固态RAM、固态ROM等。硬盘驱动器541通常通过诸如接口 540之类的不可移动存储器接口连接到系统总线521,而磁盘驱动器551和光学介质读取设备555通常通过诸如接口 550之类的可移动存储器接口连接到系统总线521。上文讨论并在图9中示出的驱动器及其相关联的计算机存储介质为计算机510提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图9中,硬盘驱动器541被示为存储操作系统544、应用程序545、其他程序模块546和程序数据547。这些组件可以与操作系统534、应用程序535、其他程序模块536,以及程序数据537相同,也可以不同。在此操作系统544、应用程序545、其他程序模块546以及程序数据547被给予了不同的编号,以说明至少它们是不同的副本。用户可通过诸如键盘562和定点设备561 (通常称为鼠标、跟踪球或触摸垫)之类的输入设备将命令和信息输入计算机510。其他输入设备 (未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到系统总线的用户输入接口 560连接到处理单元520,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口、通用串行总线(USB)端口、来进行连接。监视器591或其他类型的显示设备也通过诸如视频接口 590之类的接口连接至系统总线521。除了监视器以外,计算机还可包括诸如扬声器597和打印机596之类的其他外围输出设备,它们可通过输出外围接口 595来连接。计算机510可使用到一个或多个远程计算机(诸如,远程计算机580)的逻辑连接而在联网环境中操作。远程计算机580可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机510描述的许多或所有元件,但在图9中只示出存储器存储设备581。图9中所示的逻辑连接包括局域网(LAN) 571和广域网(WAN)573,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机510通过网络接口或适配器571连接到LAN570。当用于WAN网络环境中时,计算机510通常包括调制解调器572,或用于通过WAN573(如通过因特网)建立通信的其他装置。调制解调器572可以是内置的或外置的,可经由用户输入接口 560或其他适当的机制连接到系统总线521。在联网环境中,相对于计算机510所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图9示出了远程应用程序585驻留在存储器设备581上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。图10是游戏和媒体系统600的功能框图,并更加详细地示出了游戏和媒体系统600的功能组件。系统600可与如上所述的计算设备86相同。控制台602具有中央处理单元(CPU)700以及便于处理器访问各种存储器的存储器控制器702,这些存储器包括闪存只读存储器(ROM) 704、随机存取存储器(RAM) 706、硬盘驱动器708,以及便携式媒体驱动器606。在一种实现中,CPU 700包括I级高速缓存710和2级高速缓存712,这些高速缓存用于临时存储数据并因此减少对硬盘驱动器708进行的存储器访问周期的数量,从而提高了处理速度和吞吐量。CPU 700、存储器控制器702、以及各种存储器设备经由一个或多个总线(未示出)互连在一起。在本实现中所使用的总线的细节对理解此处所讨论的关注主题不是特别相关。然而,应该理解,这样的总线可以包括串行和并行总线、存储器总线、外围总线、使用各种总线体系结构中的任何一种的处理器或局部总线中的一个或多个。作为示例,这样的体系结构可以包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为夹层总线的外围部件互连(PCI)总线 。在一个实施方式中,CPU 700、存储器控制器702、ROM 704、以及RAM706被集成到公用模块714上。在此实施方式中,ROM 704被配置为通过PCI总线和ROM总线(两者都没有示出)连接到存储器控制器702的闪速ROM。RAM 706被配置为多个双倍数据速率同步动态RAM (DDR SDRAM)模块,它们被存储器控制器702通过分开的总线(未示出)独立地进行控制。硬盘驱动器708和便携式媒体驱动器606被示为通过PCI总线和AT附加(ATA)总线716连接到存储器控制器702。然而,在其他实现中,也可以备选地应用不同类型的专用数据总线结构。三维图形处理单元720和视频编码器722构成了视频处理流水线,用于进行高速度和高分辨率(例如,高清晰度)图形处理。数据通过数字视频总线(未示出)从图形处理单元720传输到视频编码器722。音频处理单元724和音频编解码器(编码器/解码器)726构成了对应的音频处理流水线,用于对各种数字音频格式进行多通道音频处理。通过通信链路(未示出)在音频处理单元724和音频编解码器726之间传输音频数据。视频和音频处理流水线向A/V(音频/视频)端口 728输出数据,以便传输到电视机或其他显示器。在所示出的实现中,视频和音频处理组件720-728安装在模块714上。图10示出了包括USB主控制器714和网络接口 730的模块732。USB主控制器730被示为通过总线(例如,PCI总线)与CPU 700和存储器控制器702进行通信,并作为外围控制器604(I)-604(4)的主机。网络接口 732提供对网络(例如,因特网、家庭网络等等)的访问,并可以是各种有线或无线接口组件中的任何一种,包括以太网网卡、调制解调器、无线接入卡、蓝牙模块、电缆调制解调器等等。在图10中描述的实现中,控制台602包括用于支持四个控制器740(1)-604(4)的控制器支持子部件604。控制器支持子部件740包括支持与诸如,例如,媒体和游戏控制器之类的外部控制设备的有线和无线操作所需的任何硬件和软件组件。前面板I/O子部件742支持电源按钮612、弹出按钮614,以及任何LED(发光二极管)或暴露在控制台602的外表面上的其他指示器等多个功能。子部件740和742通过一个或多个电缆部件744与模块714进行通信。在其他实现中,控制台602可以包括另外的控制器子部件。所示出的实现还示出了被配置成发送和接收可以传递到模块714的信号的光学I/O接口 735。MU 640(1)和640 (2)被示为可以分别连接到MU端口 “A” 630 (I)和“B” 630⑵。附加MU (例如,MU 640(3)-640(6))被示为可连接到控制器604 (I)和604 (3),即每一个控制器两个MU。控制器604(2)和604(4)也可以被配置成接纳MU(未示出)。每一个MU 640都提供附加存储,在其上面可以存储游戏、游戏参数、及其他数据。在一些实现中,其他数据可以包括数字游戏组件、可执行的游戏应用,用于扩展游戏应用的指令集、以及媒体文件中的任何一种。当被插入到控制台602或控制器中时,MU 640可以被存储器控制器702访问。系统电源模块750向游戏和媒体系统600的组件提供电源。风扇752冷却控制台602内的电路。包括机器指令的应用760被存储在硬盘驱动器708上。当控制台602被接通电源时,应用760的各个部分被加载到RAM 706,和/或高速缓存710以及712中以在CPU 700上执行,其中应用760是一个这样的示例。各种应用可以存储在硬盘驱动器708上以用于在CPU 700上执行。通过简单地将游戏和媒体系统600连接到监视器88 (图I)、电视机、视频投影仪或其他显示设备,该系统100就可以作为独立系统来操作。在此独立模式下,游戏和媒体系统600允许一个或多个玩家玩游戏或欣赏数字媒体,例如观看电影或欣赏音乐。然而,随着宽带连接的集成通过网络接口 732而成为可能,游戏和媒体系统600还可以作为较大的网络 游戏社区的参与者来操作。图11描绘移动设备的示例框图。描绘了典型移动电话的示例性电子电路。电话800包括一个或多个微处理器912,以及存储由控制处理器912的一个或多个处理器执行来实现此处所述的功能的处理器可读代码的存储器910 (例如,诸如ROM等非易失性存储器和诸如RAM等易失性存储器)。移动设备800可包括例如处理器912、包括应用程序和非易失性存储的存储器910。处理器912可实现通信以及任何数量的应用程序,包括本文中所描述的交互应用程序。存储器910可以是任何种类的存储器存储介质类型,包括非易失性和易失性存储器。设备操作系统处理移动设备800的不同操作,并可包含用于操作的用户界面,如拨打和接听电话呼叫、文本消息收发、检查语音邮件等。应用程序930可以是任何种类的程序,如用于照片和/或视频的照相机应用程序、地址簿应用程序、日历应用程序、媒体播放器、因特网浏览器、游戏、闹钟应用程序、其他第三方应用程序、本文中讨论的交互应用程序等。存储器910中的非易失性存储组件940包含诸如web高速缓存、音乐、照片、联系人数据、日程安排数据、以及其他文件等数据。处理器912还与RF发射/接收电路906进行通信,该电路906又耦合到天线902,它带有红外线发射器/接收器908,带有像Wi-Fi或蓝牙等任何附加通信信道1160,并带有像加速度计等移动/定向传感器914。加速度计被包括到移动设备中,以启用诸如让用户通过姿势输入命令的智能用户界面之类的应用程序,在与GPS卫星断开联系之后计算设备的移动和方向的室内GPS功能,并检测设备的定向,并且,当旋转电话时自动地将显示从纵向变为横向。可以,例如,通过微机电系统(MEMS)来提供加速度计,该微机电系统是构建在半导体芯片上的微小机械设备(微米尺寸)。可以感应加速方向、以及定向、振动和震动。处理器912进一步与响铃器/振动器816、用户界面键区/屏幕918、扬声器920、话筒922、相机924、光传感器926和温度传感器928进行通信。处理器912控制无线信号的发射和接收。在发射模式期间,处理器912向发射/接收电路906提供来自话筒922的语音信号或其它数据信号。发射/接收电路906将该信号发射到远程站(例如固定站、运营商、其他蜂窝电话等)来通过天线902进行通信。响铃器/振动器816被用于向用户发传入呼叫、文本消息、日历提醒、闹钟提醒或其他通知等信号。在接收模式期间,发射/接收电路906通过天线902接收来自远程站的语音或其他数据信号。所接收到的语音信号被提供给扬声器920,同时所接收到的其它数据信号也被适当地处理。
另外,物理连接器988可被用来将移动设备800连接到外部电源,如AC适配器或加电对接底座。物理连接器988还可被用作到计算设备的数据连接。该数据连接允许诸如将移动数据与另一设备上的计算数据进行同步等操作。为这种服务启用使用基于卫星的无线电导航来中继用户应用的位置的GPS接收 机 965。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种由正在执行的应用实例为用户对应用处理进行个性化的计算机实现的方法,包括 从上下文相关、内容聚集和分发服务接收用户的上下文相关和个性化内容(61),其中所接收的内容是基于所述服务从所述应用实例不可用的不同的正在执行的应用接收的数据; 接收所述内容中的所述用户的上下文(62);以及 输出为所述用户个性化的并与所述用户的所述上下文相关的内容(64)。
2.如权利要求I所述的方法,其特征在于,还包括 所述用户的所述上下文包括所述用户的物理位置和所述用户的邻近区内物理存在的ー个或多个人;以及 响应于接收所述物理存在的ー个或多个人的上下文相关和个性化的内容,在显示设备上输出为所述用户的邻近区中的所述ー个或多个人进行个性化的内容。
3.如权利要求I所述的方法,其特征在于,还包括 所述用户的所述上下文包括ー个或多个人;以及 响应于接收所述ー个或多个人的上下文相关和个性化的内容,所述应用在显示设备上输出为所述ー个或多个人和所述用户进行个性化的内容。
4.一种向应用实例提供关于用户的个性化内容以供上下文相关处理的系统,包括 存储用户简档数据(282)的ー个或多个数据存储(96),所述用户简档数据包括所述用户的当前上下文数据; 一个或多个服务器(92),其可以访问所述ー个或多个数据存储,并且使用不同的通信协议通过通信网络(50)与执行在线资源(170、284)的计算机系统(78)进行通信; 所述ー个或多个服务器执行用于从正在执行的应用实例接收对关于所述用户的所选的数据类别的请求的软件(252、286); 所述ー个或多个服务器执行用于从所述在线资源搜索和收集关于所述用户的所选的数据类别的内容的软件(218、252、270),其中所述在线资源包括所述正在执行的应用实例不可用的资源;以及 所述ー个或多个服务器执行基于所述用户的当前上下文数据以及为所选类别收集的内容来向所述正在执行的应用实例发送内容的软件(240、252、286)。
5.如权利要求4所述的系统,其特征在于,还包括 所述ー个或多个服务器与同所述用户及服务器相关联的ー个或多个客户机计算机设备(81、82、84、86、88)通信,所述服务器执行用于基于从所述ー个或多个客户机计算机设备接收的上下文信息来确定所述用户的上下文数据的软件。
6.如权利要求4所述的系统,其特征在于,还包括在所述ー个或多个服务器上执行的数据库管理系统(218),所述数据库管理系统用于对从所述在线资源聚集到类别的内容进行分类并将所述数据类别存储到所述ー个或多个数据存储中。
7.如权利要求4所述的系统,其特征在于 所述ー个或多个服务器执行包括用于接收对关于所述用户的所选的数据类别的请求的应用编程接ロ(240、286)的软件;以及 所述ー个或多个服务器执行包括用于基于所述用户的当前上下文数据来发送内容的应用编程接ロ(240、286)的软件。
8.如权利要求7所述的系统,其特征在干所述数据类别包括位置数据(202)、活动数据(206)、可用性数据(208)、历史数据(216)、以及关干与所述用户相关联的ー个或多个客户机设备的设备数据(212)。
9.一个或多个处理器可读存储设备,具有在所述ー个或多个处理器可读存储设备上实现的处理器可读代码,所述处理器可读代码用于对ー个或多个处理器编程以执行向应用提供关于用户的个性化内容以供上下文相关处理的方法,所述方法包括 从在线资源自动地和持续地收集关于用户感兴趣的一个或多个主题的内容(52),所述在线资源在经由不同的通信协议可以访问的计算机系统上执行; 从应用接收对描述用户对ー个或多个主题感兴趣的数据以及所述用户的上下文的请求(54); 基于来自所述应用的应用数据请求、用户简档数据和当前用户上下文来自动地对为所述用户收集的内容进行过滤;以及 通过基于对所述应用数据请求的一个或多个所选数据类别的过滤来提供推荐,基于对发出请求的应用的过滤来提供所述用户的上下文相关的内容,其中所述推荐是基于来自与所述发出请求的应用不同的应用的所述用户的私有偏好数据。
10.如权利要求9所述的ー个或多个处理器可读存储设备,其特征在于 所述上下文相关的内容包括基于从在与所述用户相关联的另ー个用户客户机设备(81、82、84、86、88)上执行的另ー个应用检索的用户数据的内容。
全文摘要
本发明涉及向应用提供个性化和上下文相关的内容。技术向应用当前正在执行的实例提供关于用户的内容,该实例使用所提供的内容来个性化并使其处理对于用户是上下文相关的。当启动应用实例时,向内容相关、内容聚集和分发系统发送请求与用户的类别相关的数据的消息。服务在云计算系统内执行,并向应用实例提供从像其他应用的源得出的内容、以及在应用实例未在或无法与之通信的设备上存储的数据。服务从很多不同类型的在线资源收集内容,诸如电子邮件、社交联网站点、网站、以及使用不同的通信协议通过通信网络可以访问的其他数据。
文档编号G06F17/30GK102693261SQ201210032780
公开日2012年9月26日 申请日期2012年2月14日 优先权日2011年2月15日
发明者A·O·A·安德鲁斯, A·O·M·莫尔, J·P·帕克, R·鲍威尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1