位置感知应用搜索的制作方法
【专利摘要】计算机可读媒体、计算机系统以及计算方法被提供用于隐式地发现具有对应的位置的应用。最初,维护apps与它们相应的地理边界之间的映射的应用清单被构造。在操作中,在检测到正从移动设备发射的位置信号时,位置信号被采用来识别一组有效的应用。一般地,位置信号表示键入到移动设备或者从移动设备接收到的基于位置的信息。识别该组有效的应用牵涉对照应用清单来比较位置信号,并且基于比较,将被映射到满足位置信号的地理边界的那些apps指定为该组有效的应用。在识别到该组有效的应用时,包括在该组有效的应用内的apps的选择被发送到移动设备以用于在操作上下文内显示给用户。
【专利说明】位置感知应用搜索
【背景技术】
[0001] 应用或如本文中所使用的"apps"在跨越因特网上正变得更加可用,并且在移动设 备(例如,膝上型电脑、触摸屏设备、移动电话以及其它手特式设备)上是普遍存在的。越来 越多的用户正在将应用用于他们日常任务。但是,如果真有可能的话,在移动活动期间发现 适当的一组apps仍然是非直观的且费时的。在一个实例中,当用户正在访问特定位置(例 如,洛杉矶)时,目前不存在帮助识别是否存在与和特定位置相关联的本地旅行和导游、过 夜住宿、进餐的地方、本地新闻和活动等相关的任何apps的例行程序。
[0002] 在另一实例中,如果用户物理上接近于感兴趣点(例如,迪斯尼乐园 (Disneyland)),则目前不存在帮助识别是否存在与感兴趣点相关的任何apps的例行程 序。例如,参考迪斯尼乐园感兴趣点,常规移动设备不给用户提供与迪斯尼乐园相关的信 息,诸如要做的事情(例如,Di sney?游乐设施app )、节约时间和金钱的方式、本地企业的客 户评论或联机预定服务(例如,OpenTable?)。
[0003] 进一步地,因为存在适用于特定位置或感兴趣点的许多apps,所以与在特定位置 处的用户相关的apps很可能取决于用户的简档而不同。在一个实例中,如果用户被辨认为 靠近企业(例如Best Buy? (百思买?)),则目前不存在通过显现与该企业相关的apps (例 如,每日折扣app)来发现是否存在当前开发的可能帮助用户节约时间和金钱的app的方 式。在另一实例中,如果用户的简档指示用户是作为特定城市(例如,洛杉矶)的居民的个 体,则不存在区分对于特定城市的访问者有帮助的旅游apps和对于该城市的居民有帮助 的本地化apps的例行程序。在另一实例中,Best Buy?的初次客户或Disneyland?的初次 访问者可能与作为频繁访问者的人们期望不同的apps ;然而,目前的例行程序不能够满足 这些客户/访问者要求。因此,在apps被发现后,组织apps的技术将允许用户迅速地且直 观地浏览可用的apps。
【发明内容】
[0004] 本
【发明内容】
被提供来以简化的形式引入在下面在【具体实施方式】中被进一步描述 的构思的选择。本
【发明内容】
不旨在识别所要求保护的主题的关键特征或必要特征,它也不 旨在被孤立地用来帮助确定所要求保护的主题的范围。
[0005] 本申请的实施例引入了用于发现与响应于由用户所键入的查询而生成的搜索结 果相关的应用并且用于将那些应用集成在搜索结果内以便协助用户履行待决任务的技术。 术语"应用"和"apps"在本文中被可交换地使用,以及广泛地和设计成被容宿在计算设备 上的操作系统执行的并且协助用户执行单个或多个相关的特定任务的应用软件相关。在操 作中,apps提供现实世界的数字解决方案,诸如字处理、游戏、基于通信的接口等。apps的 例子包括企业软件、会计软件、办公套件、图形软件以及媒体播放机。和管理并且集成计算 机的能力的操作系统软件或中间件对比,这些apps或应用软件只是典型地不直接地将它 们应用于执行对用户有利的任务。应理解和了解,apps的定义不限于本文中所提供的例子 的范围,并且可以包括在被执行时执行一个或多个操作的任何代码。
[0006] 最初,本发明的实施例牵涉构建并且维护可以被以某种方式映射到搜索结果的 apps的注册表。这种注册表可以在数据储存器(store)中被持久化并且经由(一个或多个) 搜索引擎可访问的应用清单被索引。搜索结果的各种准则或属性可以被用来将搜索结果映 射到一个或多个apps。在一个实例中,搜索结果的属性可以是将用户导向与该搜索结果相 关联的网站或web页面的统一资源定位符(URL)或统一资源标识符。在另一实例中,准则 可以是由app开发者所提供的声明,所述声明指向先前被视为与app相关的一组单独的搜 索结果或一类搜索结果(例如,实体或实体类)。在又一个实例中,搜索结果的属性可以从搜 索结果的标题、描述和/或元数据中被提取,然而服务可以被采用来构造这些属性与各种 apps之间的链接。也就是说,在实施例中,与简单地使用来自查询的术语和短语相反,来自 web页面的内容的术语或短语可以被应用来发现相关的apps。在再一个实例中,诸如网站 能力或与(一个或多个)抽象对象(例如,任务、实体动作等等)的预定义相关性这样的由搜 索结果所表达的元素据可以被依靠来使可用apps的领域变窄为很可能对应于用户的搜索 意图的那些。
[0007] 在搜索事件期间(例如,在web浏览器或其它图形用户界面(GUI)处接收到查询 时),搜索引擎被使得能够从查询生成搜索结果并且对照应用清单来比较搜索结果以便发 现相关的apps。尽管在下面更详细地描述的搜索引擎与应用清单之间的交互自始至终作为 示范性实施例被提供,但是本发明的其它实施例设想到利用不同的技术以用于发现相关的 apps。通过例子,与域名服务器(DNS)技术类似地操作的协议可以被用于定位、下载应用以 及将应用安装在用户的设备上。在这种情况下,协议采用从搜索结果或底层网站解析的术 语或短语,以便对apps (例如,app数据库、app目录或app商店)进行联机搜索,或者在用 户的设备上的安装的apps的详细目录内执行本地搜索。
[0008] 在识别一批相关的apps时,这些apps可以根据任何度量被排名,所述度量能够被 用来对信息进行排序和/或组织。一般地,排名牵涉使用如apps的流行度这样的度量相对 于其它apps对apps进行排名,其中流行度可以是从各种源得到的。用于排名的这些源可以 包括特定服务,诸如社交网络、来自其它用户的推荐、大众(crowd-source)评级以及评论。 在建立了排名时,将apps的数目限于排名最高的apps (例如,特定水平的相关性)的门限可 以被实施。在一个实例中,门限是部分地基于在搜索结果页面上为apps所分配的空间的。
[0009] 排名最高的apps然后被放置或者嵌入在搜索结果内(见例如,图5-8)。在一个实 施例中,放置牵涉接近于与app对等的搜索结果呈现app的表示以便向用户指示用于选择 app的基本原理。在另一实施例中,放置牵涉当术语或短语在web页面内的内容内被选择时 在所述内容之上的弹出式窗口中暴露app。其它实施例在本文中被描述,其提供用于在GUI 上向用户显现apps的方案的非限制性例子。
[0010] 在已显示搜索结果内检测到对app的用户发起的选择时,一个或多个动作可以发 生。例如,如果app未被辨认为驻留在用户的设备的详细目录内,则搜索引擎可以将用户导 航到app商店,从而提示用户购买相关的app。然而,如果app被辨认为被列举在设备的详 细目录中(即,先前安装在设备上),则搜索引擎可以自动地启动app。以这种方式,用户节约 了手动地定位并且起动app的步骤。在示范性实施例中,这些动作可以作为选项被提供,所 述选项在视觉上靠近被显现在搜索结果内的app的表示被呈现。
[0011] 在app是从搜索结果启动的实例中,用户的搜索的上下文可以被从搜索引擎传递 给app以供当前或将来使用。这种上下文可以作为表示用户的搜索的各种方面的参数被传 递,所述各种方面诸如搜索结果页面的内容、查询关键词、导航事件、链接选择历史、用户简 档数据或其它搜索行为信息。通过例子,查询关键词"restaurants in Seattle (西雅图的 餐馆)"可以被转换成参数,以便调用启动的app (例如,Yelp? app)到入口点(例如,特定特 征或任务水平),所述入口点表面上与用户的首要意图(即,计划西雅图的晚餐)相关,其与 强迫用户用先前在搜索引擎处键入的相同搜索准则来浏览app相反。
[0012] 存在这些参数可以被从搜索引擎传递给app的各种方式。在一个实例中,参数可 以基于app的预期被定制。通过例子,搜索引擎可以被使得能够辨认每个单独的app在接 收参数时更喜欢的适当的格式。例如,搜索引擎然后可以通过对查询关键词执行特定操作 来执行适当的格式化。这些操作可以包括将查询关键词解析成术语以及对术语进行分类以 便与app的预定输入结构相符。解析和表征的这种过程使得搜索引擎或app能够高效地将 适当的术语填充到app的输入结构的适当的入口位置中。
[0013] 尽管已经描述了用于传递参数(表示用户的搜索的上下文)的各种不同的方法,但 是应理解和了解,传递将app引导到入口点的参数的其它类型的适合的方法可以被使用, 并且本发明的实施例不限于如本文中所描述的简单地解析、分类以及填充。例如,如果企业 的标识符(ID)是从由用户提交的查询关键词中提取的,则与企业ID相关联的专门URL可 以被发现并且提供给app,其中专门URL可以引导app在与正被搜索的企业相关的入口点处 启动。
[0014] 在入口点处(例如,依照用户的搜索的上下文)启动app时,用户可以在返回以便 在搜索引擎上进行另外的搜索之前与app交互一定时间段。这些交互可以被记录在app处 的用户交互日志中并且可以在某一时刻被传递给搜索引擎以用于定制用户的继续搜索。例 如,伴随完成与app的计算会话,app可以在用户返回到搜索引擎时将用户交互日志转移到 搜索引擎。在拥有用户交互日志后,搜索引擎可以采用日志内的一些或全部信息来在以许 多方式进行附加的搜索时帮助细化用户的体验。在实施例中,这种细化可以包括搜索引擎 自动地(主动地)重新提交并入了来自日志的信息的新的查询或者选择性地(被动地)使用 来自日志的信息来修改后续搜索。
[0015] 因此,由本发明的实施例所引入的技术允许详述查询以便执行搜索apps的广泛 任务,允许将对查询进行响应的apps集成在搜索结果内,以及,在启动来自搜索结果的app 时,允许使得搜索引擎能够将数据传递给启动的应用并且从启动的app接收数据。
[0016] 由本发明的实施例所引入的附加的技术提供使用本地意图来发现apps、对apps 进行排名以及显现apps的平台。如本文中所使用的,短语"本地意图"不意在为限制性的, 而是可以包含提供与应用相关的位置的标记的任何基于位置的信息,诸如拥有或者支持 app的诸方面(例如,销售)的当前物理位置、由app所描述的感兴趣点(Ρ0Ι)或接近于由app 所覆盖的特定地理点的企业/实体。进一步地,本地意图可以包含其它基于位置的信息, 诸如旅行相关的数据(例如,假期目的地的Ρ0Ι )、旅游相关的数据(例如,包含在城市内的界 标)或能够被识别为具有位置分量的任何其它数据。
[0017] 在本地意图针对特定app被识别了后,app就可以根据基于位置的信息被自动地 "地理围栏(geofenced)"并且根据地理围栏以及其它准则(例如,由app所支持的用户实施 的任务)进行分类。在实施例中,地理围栏涉及根据本地意图确定与特定app相关的一个或 多个地理区以及将特定app映射到(一个或多个)那些地理区的过程。在地理围栏的一个实 例中,针对西雅图出租车服务app所发现的本地意图可以指示app应该与在西雅图市周围 的边界链接。在地理围栏的另一实例中,针对华盛顿踪迹向导app所发现的本地意图可以 指示app应该与在华盛顿州周围的边界链接。因此,出租车服务app可以被分类为与西雅 图市相关的市级app,然而踪迹向导app可以被分类为与华盛顿州相关的州级app。进一步 地,相对于按任务的分类,出租车服务app可以被分类为公共运输服务,然而踪迹向导app 可以被分类为室外娱乐服务。
[0018] 在实施例中,地理围栏和分类的过程被脱机执行以便构建表示apps与实体(诸如 位置和/或任务)之间的映射的清单。在一个实施例中,另一脱机过程牵涉最初对常见类别 内的apps进行排名。在又一个实施例中,排名牵涉包括动态地在运行时期间根据从移动设 备所输送的位置信号和/或任务信号动态地对给定类别内的apps进行排名的联机过程。
[0019] 除排名之外,apps还能够基于用户特定的面向任务的信息(例如,用户简档)在类 别内被动态地重组或者过滤。例如,访问洛杉矶市的初次用户可以被提供有在针对L. A.的 市级类别内被内部重组的apps,使得最相关的apps被确定为针对旅游(例如,观光游览)。 在另一例子中,洛杉矶市的频繁访问者可以提供有在针对L.A.的市级类别内被内部重组 的apps,使得最相关的apps被确定为针对居民(例如,本地新闻文章)。
[0020] 从用户的视角看,对于特定位置来说相关的或"有效的"应用的发现以非透明方式 发生,而不使用户分心(例如,在远程服务器处的后端进程中),然而从所发现的相关的apps 选择的apps的显示被实时地进行(例如,在移动设备处的前端进程中)。如上面所讨论的, 排名可以最初脱机(例如,使用流行度的度量)和/或联机(例如,使用用户个人的偏好)执 行。在操作中,在接收到位置信号(例如,用户的当前位置或由用户搜索的位置)或任务信号 (例如,用户的正在进行的努力)的指示时,后端进程采取以下步骤:经由映射检索对于位置 信号来说有效的apps,将有效的apps过滤成与任务信号相关的那些,并且显示相关的apps 中的排名最高的apps的数目,其中所述数目取决于可用的显示区域不动产的量。在示范性 实施例中,可用的显示区域不动产根据移动主页、搜索引擎结果页面、解锁的主屏幕或锁定 的主屏幕被计算。
【专利附图】
【附图说明】
[0021] 参考附图在下面对本发明的实施例进行详细的描述,其中: 图1是适合于实施本发明的实施例的示范性计算设备的框图; 图2是被配置用于在实施本发明的实施例时使用的分布式计算环境的示范性系统架 构的框图; 图3是依照本发明的实施例的在图2的示范性系统架构内的构件间通信方案的框图; 图4A-4C描绘了操作流程图,其图示依照本发明的实施例的用于发现apps并且与所发 现的apps交互的技术的高级概述; 图5是描绘了依照本发明的实施例的第一说明性Π 显示的示意图,所述第一说明性Π 显示包括与搜索结果同时地显现的应用的表示; 图6是描绘了依照本发明的实施例的第二说明性Π 显示的示意图,所述第二说明性Π 显示包括接近于相关的搜索结果所显现的应用的表示; 图7是描绘了依照本发明的实施例的第三说明性Π 显示的示意图,所述第三说明性Π 显示包括被配置用于暴露应用信息并且用于重叠 web页面的内容的显示区域; 图8是描绘了依照本发明的实施例的第四说明性UI显示的示意图,所述第四说明性UI 显示包括展示出与相应的搜索结果的对等的应用的表示; 图9是依照本发明的实施例的用于根据搜索结果来显现一个或多个应用的方法的总 体流程图; 图10是依照本发明的实施例的用于在web页面的评论期间显现至少一个应用的方法 的总体流程图; 图11是被配置用于在实施本发明的实施例时使用的分布式计算环境的示范性系统架 构的框图; 图12是描绘了依照本发明的实施例的第五说明性UI显示的示意图,所述第五说明性 Π 显示包括与基于位置的搜索结果同时地显现的应用的表示; 图13和14是描绘了依照本发明的实施例的第六说明性Π 显示和第七说明性Π 显示 的示意图,其包括在搜索结果页面上接近于相关的基于位置的入口所显现的应用的表示; 图15和16是描绘了依照本发明的实施例的第八说明性Π 显示和第九说明性Π 显示 的示意图,其包括在移动设备上下文内接近于基于位置的项目所显现的应用的表示; 图17是依照本发明的实施例的用于使用基于位置的信息来显现一个或多个应用的方 法的总体流程图;以及 图18是依照本发明的实施例的用于选择要在计算设备的显示区域上呈现的至少一个 应用的方法的总体流程图。
【具体实施方式】
[0022] 本文中所公开的本发明的实施例的主题被具体地描述以便满足法定要求。然而, 描述本身不旨在限制该专利的范围。相反地,发明人已设想到所要求保护的主题还可能被 与其它目前的或将来的技术相结合地以其它方式具体化,以便包括不同的步骤或与本文档 中所描述的步骤类似的步骤的组合。
[0023] -般地,本发明的实施例和采用搜索引擎来产生对查询进行响应的搜索结果相 关。然而,当查询不在显式地寻找应用或apps时,那么常规搜索引擎典型地返回它们 认为与查询相关的网站。例如,如果查询包括关键词"Italian restaurants Bellevue reservation (意大利餐馆贝尔维尤预定)",则常规搜索引擎将很可能返回针对本地企业 的许多网站。然而,对于这个查询,显然用户的真实意图是查找关于在华盛顿州贝尔维尤 的意大利餐馆的信息,并且可能进行预定。虽然由常规搜索引擎所产生的网站可能一般与 查询相关,但是可能存在还可能更有力地服务用户的意图的许多apps。也就是说,与相关 的网站相结合地在搜索结果内提供apps将很可能帮助用户更快地完成他们的任务。在这 种情况下,将帮助用户更方便地实现他们的任务的那些apps可能是Yelp?、Urbanspoon?、 OpenTable?,或能够接受、作出并且确认预定的任何其它app。遗憾的是,常规搜索引擎不能 在其中用户正在具体地并且显式地寻找应用的那些情况之外显现应用。
[0024] 为了解决常规搜索引擎的这种缺陷,本发明的示范性实施例包括将搜索引擎配置 成返回并且显现与查询相关的apps,所述查询不显式地以apps作为目标。结果,将这些 apps作为搜索结果的一部分来提供将潜在地帮助用户更快地且更准确地完成他们的任务。
[0025] 在一个实例中,提供apps可以通过利用apps与网站之间的对等或内在关联而被 实现。通过例子,聚焦餐馆的app可以在处理烹饪的网站的内容(例如,评论用于查找餐馆 的最流行apps的文章)内具有重要的存在。如将在下面更全面地描述的那样,本发明的搜 索引擎可以被配置成即便在用户的查询不包括"apps"或甚至apps的名称的记载时也返回 并且显现这种聚焦餐馆的app。以这种方式,这些搜索引擎可以被配置成返回隐式地与在查 询后面的用户的意图相关联的相关的apps,而不用查询显式地以应用作为目标。
[0026] 如能够从以上公开内容所搜集到的那样,本发明的各种实施例牵涉采用apps与 搜索结果之间的映射以及实施该映射以便生成具有集成在其中的apps的搜索结果。常常, 搜索结果通过采用基于任务的引擎(例如,判定引擎、任务引擎、单独的应用或操作、小程序 (applet)系统、操作系统以及基于任务的移动系统)或允许用户通过使apps与用户意图相 匹配来实现任务的通用系统而被生成并且显现在用户界面(UI)显示上。为了讨论的简单, 这些引擎和/或系统将在下文中被称为"搜索引擎"。
[0027] 例如,这些搜索引擎能够发布包括(一个或多个)app的表示的搜索结果,其中(一 个或多个)app基于apps与搜索结果内的网站之间的映射被选择。例如,查询"Italian restaurants Bellevue reservation"可以促使本发明的搜索引擎与其它搜索结果直列地 返回到针对Yelp?、Urbanspoon?或OpenTable?的apps的链接。在用户选择特定app的表 示时,搜索引擎然后可以启动底层app(如果先前安装了),并且将查询的上下文传递给app。 因此,app可以被启动到入口点,所述入口点将用户直接地带到在app内和用户的任务相关 的小程序。
[0028] 因此,本发明的一个实施例可以牵涉在其上支持计算机可执行指令的操作的计算 机可读媒体。当被执行时,计算机可执行指令可以执行用于根据搜索结果来显现一个或多 个应用的方法。在一个实例中,该方法包括步骤:接收在搜索引擎处提交的查询以及采用该 查询的关键词(例如,术语或短语)来生成初始的一组搜索结果。该方法可以进一步包括识 别初始的该组搜索结果的主题结果的(一个或多个)特性以及确定所述与(一个或多个)特 性相关的(一个或多个)应用。
[0029] 与主题结果的特性相关的(一个或多个)应用的这种确定可以包括以下步骤中的 一个或多个:访问包括应用与预定义特性之间的映射的应用清单;对照应用清单的预定义 特性来比较主题结果的特性以便确定匹配;以及,当在主题结果的特性与应用清单的预定 义特性之间存在匹配时,将与匹配的预定义特性相关联的(一个或多个)应用识别为与主题 结果相关。(一个或多个)这些识别的应用可以响应于查询而被呈现在用户界面(UI)显示 上。在特定实例中,呈现可以牵涉将(一个或多个)应用集成在初始的该组搜索结果内以及 与初始的该组搜索结果同时地将(一个或多个)所集成的应用显现在Π 显示上。
[0030] 在本发明的另一实施例中,计算机系统被建立并且配置用于使用搜索结果的一个 或多个特性来选择至少一个应用。一般地,计算机系统包括耦合到计算机存储介质的处理 单元,其中计算机存储介质存储可由处理单元执行的多个计算机软件构件。如在下面更全 面地描述的那样,计算机软件构件可以包括应用清单、搜索引擎、特性匹配构件以及选择构 件。应用清单用来持久化从应用市场挖掘的应用的列表并且提供对其的访问。典型地,列 表内的应用被映射到预定义特性。搜索引擎被配置用于根据由用户所提交的查询来生成初 始的一组搜索结果。特性匹配构件行动来将初始搜索结果中的高排名搜索结果识别为主题 结果,并且在实施例中,行动来对照应用清单的预定义特性来比较主题结果所固有的特性。 选择构件被提供用于选择在应用清单内所列举的与和主题结果的固有特性匹配的预定义 特性相关联的(一个或多个)应用。在某一时刻,选择构件可以触发将(一个或多个)应用存 储为用于与初始的该组搜索结果同时显示的候选。
[0031] 在本发明的又一个实施例中,在处理器上运行的搜索引擎可以被提供用于执行相 对于web页面的内容(例如,联机文档)来显现至少一个应用的方法。该方法可以最初牵涉 将具有内容(例如,文本)的web页面渲染在计算设备的UI显示上。在实例中,该方法可以 包括步骤:接收对内容内的术语或短语的用户发起的选择以及响应于选择来确定与术语或 短语相关的(一个或多个)应用。(一个或多个)这些相关的应用然后可以被呈现在重叠 web 页面的至少一部分的显示区域中。
[0032] 由本发明所引入的技术的其它实施例牵涉在基于位置的上下文中发现并且显现 apps的能力。因此,本发明的一个实施例可以牵涉支持计算机可执行指令在其上的操作的 计算机可读媒体。当被执行时,计算机可执行指令可以执行用于根据基于位置的信息来显 现一个或多个应用的方法。在一个实例中,该方法包括步骤:自动地检测在正由用户所操作 的移动装置处的位置信号并且使用该位置信号来识别一组有效的应用。在实施例中,位置 信号表示被键入到移动设备或者从移动设备接收到的基于位置的信息。
[0033] 在特定实例中,使用位置信号来识别该组有效的应用的过程包括以下步骤:对照 维护apps与它们相应的地理边界之间的映射的应用清单来比较位置信号;以及,基于比 较,将被映射到满足位置信号的地理边界的那些apps指定为该组有效的应用。在识别了该 组有效的应用时,该方法可以进一步牵涉将对包括在该组有效的应用内的apps的选择发 送到移动设备以用于在操作上下文内显示给用户。
[0034] 在另一实施例中,计算机系统被提供用于在从移动设备接收到基于位置的信息和 基于任务的信息时识别一组有效的应用。最初,计算机系统包括数据储存器、移动设备以及 处理设备。数据储存器被配置用于容宿应用清单,所述应用清单暴露从应用市场挖掘的应 用的列表。一般地,列表内的应用被映射到相应的地理边界和类别。
[0035] 移动设备典型地被配置用于提供位置信号和任务信号。如上面所提到的那样,位 置信号表示由移动设备的用户所键入的或者从移动设备的地理位置得到的基于位置的信 息。另一方面,任务信号表示基于任务的信息,其暴露在移动设备上执行的用户发起的操 作。处理设备被配置用于从移动设备接收位置信号和任务信号。在一个实施例中,处理设 备被配置用于对照应用清单来比较位置信号以便识别映射到对于位置信号为有效的地理 边界的一个或多个应用。在另一实施例中,处理设备被配置用于对照应用清单来比较任务 信号以便识别映射到对于任务信号为相关的类别的一个或多个应用。进一步地,处理设备 可以执行用于从一个或多个有效的应用和一个或多个相关应用的重叠集选择应用的过程。
[0036] 在又一个实施例中,由处理单元所执行的计算机化的方法被本发明引入。该计算 机化方法一般地牵涉选择要在计算设备的显示区域上呈现的至少一个应用。在一个实例 中,该方法包括为(一个或多个)应用识别一个或多个地理边界。特别地,识别的过程包括 以下步骤:在提交给应用市场内的目录时从伴随(一个或多个)应用的元数据中抽象本地意 图;以及根据本地意图来分配一个或多个地理边界。
[0037] 该方法可以附加地牵涉将地理边界映射到(一个或多个)应用,并且将映射存储在 应用清单内。在某个后面的时刻,位置信号可以从计算设备(例如,移动手机)被接收,其中 位置信号表示由计算设备所提供的基于位置的信息。典型地,位置信号对照应用清单被比 较并且(一个或多个)应用根据比较被选择以用于显示在计算设备上。
[0038] 已经对本发明的实施例的概述进行了描述,本发明的实施例在其中可以被实施的 示范性操作环境在下面被描述,以便为本发明的各种方面提供一般上下文。
[0039] 以下讨论对本发明的各种实施例进行描述。注意,在下面所描述的数个示范性实 施例是基于当前应用的以便使讨论变得更加具体。然而,本发明的诸方面也不应该被解释 为限于特定应用或提供该特定应用的平台。也就是说,本发明的实施例可以被设计成被应 用于应用市场的不同平台(例如,包括PC、iPhone?以及Microsoft Windows?)和其它各种 实施方案。
[0040] 首先参考图1,特别地,用于实施本发明的实施例的示范性操作环境被示出并且一 般地指定为计算设备100。计算设备100只是适合的计算环境的一个例子,并且不旨在就本 发明的功能性或使用范围建议任何限制。计算设备100不应该被解释为具有与所图示的构 件中的任何一个或组合相关的任何依赖性或要求。
[0041] 本发明可以在计算机代码或机器可用指令的一般上下文中被描述,所述计算机代 码或机器可用指令包括正由计算机或其它机器所执行的诸如程序模块这样的计算机可执 行指令,所述其它机器诸如个人数据助理或其它手持式设备。一般地,包括例行程序、程序、 对象、构件、数据结构等的程序模块指的是执行特定任务或者实施特定抽象数据类型的代 码。本发明可以在各种系统配置中被实践,所述系统配置包括手持式设备、消费电子装置、 通用计算机、更专用的计算设备等。本发明还可以在分布式计算环境中被实践,其中任务由 通过通信网络被链接的远程处理设备来执行。
[0042] 参考图1,计算设备100包括总线110,所述总线110直接地或者间接地耦合以下 设备:存储器112、一个或多个处理器114、一个或多个呈现构件116、输入/输出(I/O)端 口 118、输入/输出构件120以及说明性电源122。总线110表示可以是一个或多个总线的 总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,图1的各种框被用线示出, 但是实际上,刻划各种构件不是如此清楚的,并且比喻地,线更准确地说将是灰色的且模糊 的。例如,一个人可以将诸如显示设备这样的呈现构件认为是I/O构件。并且,处理器具有 存储器。发明人认识到这是本领域的性质,并且重申图1的图仅仅说明能够连同本发明的 一个或多个实施例被使用的示范性计算设备。在如"工作站"、"服务器"、"膝上型电脑"、"手 持式设备"等这样的类别之间不做区分,因为全部都被设想在图1的范围内并且是对"计算 设备"的引用。
[0043] 计算设备100典型地包括各种计算机可读媒体。计算机可读媒体可以是能够被计 算设备100访问的任何可用媒体,并且包括易失性和非易失性媒体、可拆卸和非可拆卸媒 体两者。通过例子而非限制,计算机可读媒体可以包括计算机存储媒体和通信媒体。计算 机存储媒体包括以任何方法或技术实施以用于存储信息的易失性和非易失性媒体、可拆卸 和非可拆卸媒体两者,所述信息诸如计算机可读指令、数据结构、程序模块或其它数据。计 算机存储媒体包括但不限于RAM、ROM、EEPR0M、闪速存储器或其它存储器技术、CD-ROM、数 字通用盘(DVD)或其它光盘存储装置、磁盒、磁带、磁盘存储装置或其它磁存储设备,或能够 被用来存储所期望的信息并且能够被计算设备100访问的任何其它介质。通信媒体典型地 将计算机可读指令、数据结构、程序模块或其它数据具体化为诸如载波或其它传输机制这 样的已调制数据信号并且包括任何信息输送媒体。术语"已调制数据信号"意指这样的信 号,所述信号使其特性中的一个或多个以这样的方式被设置或改变以便将信息编码在所述 信号中。通过例子而非限制,通信媒体包括诸如有线网络或直接有线连接这样的有线媒体, 以及诸如声学、RF、红外线这样的无线媒体和其它无线媒体。上述中的任一个的组合也应该 被包括在计算机可读媒体的范围内。
[0044] 存储器112包括形式为易失性和/或非易失性存储器的计算机存储媒体。存储器 可以为可拆卸的、非可拆卸的或其组合。示范性硬件设备包括固态存储器、硬盘驱动器、光 盘驱动器等。计算设备100包括一个或多个处理器,所述处理器从诸如存储器112或I/O 构件120这样的各种实体读取数据。(一个或多个)呈现构件116将数据指示呈现给用户或 其它设备。示范性的呈现构件包括显示设备、扬声器、打印构件、振动构件等。
[0045] I/O端口 118允许计算设备100被逻辑上耦合到包括I/O构件120的其它设备,其 中的一些可以被内置。说明性构件包括话筒、游戏杆、游戏板、卫星碟形天线、扫描器、打印 机、无线设备等。
[0046] 由本发明的实施例所引入的用于自动地发现与查询相关的apps并且将相关的 apps的(一个或多个)表示作为搜索结果的一部分显现在Π 显示上的技术现将参考图2 被讨论。特别地,图2描绘了图示适合于在实施本发明的实施例时使用的分布式计算环境 的示范性系统架构200的框图。一般地,实施本发明的实施例涉及响应于隐式查询来发现 apps以及将那些apps作为搜索结果呈现给用户(例如,在Π 显示的搜索结果页面上和网站 直列地渲染apps)。应理解和了解,图2中所示出的示范性系统架构200仅仅是一个适合的 计算环境的例子,并且不旨在就本发明的功能性或使用范围建议任何限制。示范性系统架 构200也不应该被解释为具有与在其中所图示的构件中的任何单个构件或组合相关的任 何依赖性或要求。
[0047] 最初,示范性系统架构200包括应用清单201、客户端设备210、数据储存器230、服 务器250、应用市场290以及互连这些项目中的每一个的网络240。图2中所示出的客户端 设备210、数据储存器230、服务器250以及应用市场290中的每一个都可以采取各种类型 的计算设备的形式,诸如例如参考图1上面所描述的计算设备1〇〇。仅通过例子而非限制, 客户端设备210和/或服务器250可以是个人计算机、台式计算机、膝上型计算机、消费电 子设备、手持式设备(例如,个人数字助理)、各种服务器、处理设备等等。然而,应指出的是, 本发明不限于这样的计算设备上的实施方案,而是在本发明的实施例的范围内可以被实施 在各种不同类型的计算设备中的任一个上。
[0048] 典型地,设备210和250中的每一个都包括或者被链接到某种形式的计算单元(例 如,中央处理单元、微处理器等)以便支持在其上运行的(一个或多个)构件(例如,搜索引擎 275、索引引擎205等等)的操作。如本文中所利用的,短语"计算单元"一般地指的是具有 处理能力和存储存储器的专用计算设备,其支持作为在其上执行软件、应用以及计算机程 序的基础的操作软件。在一个实例中,计算单元配置有有形的硬件元件或机器,其对设备 210和250是不可或缺的一部分或者在操作上被耦合到设备210和250以便使得每个设备 能够执行通信相关的过程和其它操作(例如,访问数据储存器230或者发现应用清单201内 的apps 202)。在另一实例中,计算单元可以包含处理器(未示出),其被耦合到由设备210 和250中的每一个所容纳的计算机可读介质。
[0049] -般地,计算机可读介质包括物理存储器,其至少暂时存储可由处理器执行的多 个计算机软件构件。如本文中所利用的,术语"处理器"不意在为限制性的,并且可以包含 计算单元的在计算能力中起作用的任何元件。在这样的能力中,处理器可以被配置为处理 指令的有形物品。在示范性实施例中,处理可以涉及取出、解码/解释、执行以及写回指令。
[0050] 并且,除处理指令外,处理器可以向和从其它资源转移信息,所述其它资源对设备 210和250是不可或缺的一部分或者被布置于设备210和250上。一般地,资源指的是使得 设备210和250能够执行特定功能的软件构件或硬件机制。仅通过例子,由服务器250所容 纳的资源可以包括下列中的一个或多个:索引引擎205 ;抽象对象构件260 ;web索引265 ; 排名构件270 ;以及搜索引擎275。
[0051] 客户端设备210可以包括输入设备(未示出)和呈现设备215。一般地,输入设备 被提供来接收尤其影响搜索结果在显现在Π 显示区域220处的浏览器窗口 225中的呈现 的(一个或多个)输入。说明性的设备包括鼠标、游戏杆、键盘、话筒、图1的I/O构件120, 或能够接收用户输入并且将该输入的指示传送到客户端设备210的任何其它构件。仅通过 例子,输入设备便于查询的输入并且控制悬停在对查询进行响应的搜索结果之上的选择工 具(例如,鼠标指针)的位置。
[0052] 在实施例中,呈现设备215被配置成将Π 显示220渲染和/或呈现在其上。被操 作地耦合到客户端设备210的输出的呈现设备215可以被配置为能够将信息呈现给用户的 任何呈现构件,诸如数字监视器、电子显示板、触摸屏、模拟机顶盒、等离子屏、音频扬声器、 盲文(Braille)垫等等。在一个示范性实施例中,呈现设备215被配置成呈现丰富内容,诸 如包括用搜索结果(例如,数字图像)所填充的显示区域的浏览器窗口 225。在另一示范性 实施例中,呈现设备215能够渲染其它形式的媒体(例如,音频信号)。在又一个示范性实施 例中,呈现设备215可以与apps的表示接近地呈现搜索结果的一部分(例如,网站的描述或 到网站的链接),如在下面更全面地讨论的那样。
[0053] (-个或多个)数据储存器230 -般地被配置成存储与用户提交的查询和/或从先 前的查询结果以及用户与其的交互所生成的数据相关联的信息,其在下面讨论。在各种实 施例中,这样的信息可以包括但不限于记录的通常社会的搜索行为231 (例如,查询日志、相 关的搜索列表等)、特定用户与搜索引擎275的跟踪交互的日志232、以及和本发明的实施 例相关的其它信息233。此外,(一个或多个)数据储存器230可以被配置成是可搜索的以 用于对已存储信息的适合的访问。例如,(一个或多个)数据储存器230可能针对先前键入 的或当前待决的一个或多个用户发起的查询是可搜索的。本领域的普通技术人员应理解和 了解,在(一个或多个)数据储存器230中存储的信息可以是可配置的并且可以包括与搜索 引擎275的执行相关的任何信息。这样的信息的内容和量不旨在以任何方式限制本发明的 实施例的范围。进一步地,尽管被图示为单个独立构件,但是(一个或多个)数据储存器230 事实上可以是多个数据库,例如,数据库集群,其的诸个部分可以驻留在客户端设备210、服 务器250、另一外部计算设备(未示出)和/或其任何组合上。
[0054] 这个示范性系统架构200只是可以被实施来执行本发明的诸方面的适合的环境 的一个例子,并且不旨在就本发明的功能性或使用范围建议任何限制。如所图示的那样,所 图示的示范性系统架构200也不应该被解释为具有与客户端设备210、数据储存器230、服 务器250、应用市场290以及构件205、260、265、270和275中的任何一个或组合相关的任何 依赖性或要求。在一些实施例中,构件205、260、265、270以及275中的一个或多个可以被 实施为独立设备。在其它实施例中,构件205、260、265、270以及275中的一个或多个可以 被直接地集成到服务器250中,或者集成在互连以形成服务器250的分布式节点上。本领 域的普通技术人员应当理解,构件205、260、265、270以及275 (在图2中图示)在性质上和 在数目上是示范性的,并且不应该被解释为限制性的。
[0055] 因此,在本发明的实施例的范围内,任何数目的构件可以被采用来实现所期望的 功能性。尽管为了清楚起见,图2的各种构件被用线示出,但是实际上,刻划各种构件不是 如此清楚的,并且比喻地,线更准确地说将是灰色的且模糊的。进一步地,尽管图2的一些 构件被描绘为单个框,但是描绘在性质上和在数目上是示范性的,并且将不被解释为限制 性的(例如,尽管仅一个呈现设备215被示出,但是更多个可以被通信地耦合到客户端设备 210)。
[0056] 进一步地,示范性系统架构的设备可以通过相关领域中已知的任何方法被互连。 例如,服务器250和客户端设备210可以经由分布式计算环境而被操作地耦合,所述分布式 计算环境包括经由一个或多个网络240与彼此耦合的多个计算设备。在实施例中,网络240 可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。这样的联网环境在办公 室、企业范围的计算机网络、内联网以及因特网中是常见的。因此,网络在本文中未被进一 步描述。
[0057] 在操作中,构件205、260、265、270以及275被设计成执行过程,该过程至少包括以 下步骤:从在客户端设备210上运行的web浏览器222接收查询285 ;生成对查询285进行 响应的搜索结果295 ;用搜索结果295的特性203来检查应用清单201以便识别映射到其 的apps 202 ;以及将相关的apps 280发送到web浏览器222以用于作为搜索结果295的 一部分呈现在浏览器窗口 225处。最初,如图2中所图示的那样,应用清单201典型地包括 apps 202与网站的特性203之间的映射。这些特性203可以牵涉网站的任何已知属性,所 述已知属性可以被识别以用于在数字化地将那些网站链接到apps 202时使用,如在下面 更全面地讨论的那样。
[0058] 在实施例中,索引引擎205负责构造并且维护应用清单201。通过例子,构造应用 清单201可以牵涉爬取应用市场290以得到可用的apps 202以及使用网站的特性203来 使apps 202与网站相关联。爬取应用市场290可以包括从如app商店291、app评级论坛 292和/或app目录293这样的源中挖掘应用。应理解和了解,用于访问应用的其它源可以 被使用,并且所图示的源291-293不表示详尽的列表。进一步地,应用市场290可以基于在 客户端设备210上运行的应用平台(例如,Microsoft? apps、Android?等等)而变化。
[0059] 构造 apps 202与特性203之间的映射可以牵涉定义或者提炼特定网站的属性。例 如,当应用和网站于其间展示出对等(parity )时,web地址(诸如统一源标识符(URI)和/或 统一源定位符(URL))可以被用作将应用链接到网站的特性203。如本文中所使用的那样, 术语"对等"广泛地涉及基于被执行的常见任务、对应的联机服务提供商和/或类似的底层 程序或功能性的在一个或多个应用与一或多个网站之间的关联。展示出对等的这些应用和 网站被认为是直接相关的,使得在实施例中,这些应用与网站之间的映射可以从网站的URL 的内容得到。URL的这种内容(例如,网站的特性203)然后可以被链接到具有与URL的内容 中的一些或全部类似的名称或描述符的应用(例如,应用清单201的apps 202)。
[0060] 在一个例子中,如图8的示范性Π 显示800中所图示的那样,根据URL或web地址 "www. urbanspoon. com"825,索引引擎能够推断Urbanspoon?应用820将展不出与具有web 地址"www. urbanspoon. com"的网站821的对等。因此,Urbanspoon?应用820将很可能直 接地与查询 835 (例如,"Italian restaurants Bellevue reservation")相关,所述查询 835生成了包括具有web地址825 "www. urbanspoon. com"的网站821的搜索结果。因此, 在确定具有web地址825 "www. urbanspoon. com"的网站821被列举在搜索结果页面805 中时,Urbanspoon?应用820被从应用清单201选择(S卩,搜索引擎275对照预定义特性203 来比较web地址825以便查找一个或多个匹配apps 202)作为要被在搜索结果页面805内 直列返回给用户的候选app。而且,如果展示出与候选app (例如,应用810 Yelp?)的对等 的网站(例如,包括web地址815的网站811)被列举到在Π 显示800处所呈现的搜索结果 页面805的顶部,则存在该候选app对于完成用户的任务有用的强烈指示。排名构件270 在确定是否选择候选应用以用于并入搜索结果内时,可以考虑该网站相对于其它网站在搜 索结果内的这种放置。
[0061] 在另一实施例中,当应用明确地与响应于查询而发现的网站相关时,应用可以被 确定为与查询相关。当网站包括指向应用的元数据(例如,名称、描述或其它内容)时,应用 与web地址之间的这种明确关系出现。进一步地,这种明确关系可以经由在应用清单201 中的映射被存储和更新。例如,标题为Doodle Jump?的应用可以明确地与具有web地址 http://www. 148apps. com/reviews/doodle-jump 的 app 评论网站相关,因为该应用的名称 在app评论网站的URL内被提到。因此,生成使这个app评论网站列举在其中的搜索结果的 查询将很可能发动相关的Doodle Jump?应用在搜索结果内的发现和显示。在实施例中,如 在下面更全面地讨论的那样,在讨论Doodle Jump?应用的app评论网站处所张贴的文章的 一部分可以在搜索结果295内被显现以便描绘搜索引擎275的用于选择Doodle Jump?应 用的基本原理,并且进一步地,以便帮助用户做出关于是否下载或者启动Doodle Jump?应 用的知情判定。
[0062] 应理解和了解,网站内的任何内容可以被用作为用于对照apps 202进行映射的 特性203,并且本发明的实施例设想到在用于提取要被变换成网站特性203的内容的网站 内的或与其相关联的各种替代源。例如,应用可以虚拟地与第一网站链接,第一网站的内容 刚好包括到第二网站的链接,所述第二网站张贴提到该应用的实际讨论(例如,apps的评论 文章)。
[0063] 在使用web地址来发现应用的变型实施例中,搜索结果的URL可以被变短以便包 含更广泛范围的应用。最初,应用清单内的特性203可以表示缩短的URL,其典型地指向网 站而没有引用其中的特定web页面或子位置。因此,在接收到查询时,在web索引265处识 别为对查询285进行响应的网站被规格化(normalized)。典型地,规格化牵涉将每个网站 的URL从特定页面定位符修改为通用站点定位符。搜索引擎275然后可以对照应用清单的 缩短的URL来比较通用站点定位符或规格化URL以便确定匹配。在比较时,映射到匹配的 缩短URL的apps 202被识别并且指定为用于在搜索结果295旁边呈现的候选。
[0064] 返回到应用清单201,间接地与给定查询相关的应用可以基于应用与网站的首要 构思或目标的匹配能力而被映射。例如,如果搜索结果包括针对餐馆的网站(例如,http: // seastarrestaurant. com),则这个网站能够基于索引引擎205的理解对照Urbanspoon? 应用被映射,所述理解即:餐馆网站的内容引用了 Urbanspoon?应用的能力或者与 Urbanspoon?应用的能力配对。在特定实例中,餐馆网站可以包括对Urbanspoon?应用的评 论,其将生成用户对测试Urbanspoon?应用的兴趣。或者,在另一实例中,餐馆网站可能建 议有趣的餐厅,而Urbanspoon?应用将允许用户向该餐厅进行预定。
[0065] 在采用应用清单201来识别间接地与查询相关的应用的另一例子中,用户的在搜 索事件内的一个或多个查询可能与实体相关。抽象对象构件260可能能够访问预定义实 体,并且可以管理这些实体到应用的映射。在操作中,实体被用来查找共享类似构思的相关 应用。
[0066] 如本文中所使用的,术语"实体" 一般地指的是不能够通过关键词被充分地管理的 抽象对象。也就是说,抽象对象考虑用户的搜索事件的上下文,与仅仅采用不总是以用户的 意图作为目标的关键词匹配技术相反,其暴露用户的真实意图。因此,实体可以是可以由特 定联机描述所表示的逻辑对象。这些逻辑对象可以为人、地方、东西或其任何组合。例如,逻 辑对象的一些例子如下:特定电影;加利福尼亚山景城的卡斯特罗街道(Castro Street) 上的餐馆;Microsoft?的CEO ;从圣何塞到西雅图的阿拉斯加航空公司的航班#AS331 ;或 数码相机。
[0067] 典型地,预定义实体可以在应用清单201内作为特性203被索引,所述特性203可 以用与正在进行的搜索事件相关的一个或多个实体询问。在实践中,进行搜索事件(例如, 包括至少一个用户发起的查询和/或至少对搜索结果的选择)的用户可能希望以例如特定 电影而不是具有类似名称的书籍或其它产品作为目标。搜索引擎275可以从搜索事件得到 与目标电影相对应的实体并且将所得到的实体输送到抽象对象构件260,所述抽象对象构 件260进而对照应用清单201内的预定义实体来比较所得到的实体。在找到匹配时,抽象 对象构件260然后可以识别被映射到匹配的预定义实体的apps 202并且将经识别的apps 202指定为用于呈现在搜索结果295内的候选。以这种方式,搜索引擎识别与用户的真实意 图相关的apps 202,并且避免将与查询共享关键词但是未能共享常见构思的那些应用放入 搜索结果。
[0068] 在使用实体的例子中,示例性查询285可以包括关键词"Seattle to Boston (西 雅图到波士顿)"。基于查询285的和/或在正在进行的搜索事件内的其它查询的主题,搜 索引擎275可以确定用户的意图是预约航班。因此,搜索引擎275可以选择基于旅行的实 体以便与正在进行的搜索事件相关联,并且经由与web索引265的交互来识别与空中旅行 相关的网站。进一步地,搜索引擎275可以将基于旅行的实体传送给和/或将空中旅行相 关的网站传递给抽象对象构件260。作为响应,抽象对象构件260可以用基于旅行的实体 和/或空中旅行相关的网站检验应用清单201以便分别查找匹配的一个或多个预定义实体 和/或网站。映射到匹配的预定义实体和/或网站的apps 202被指定为用于显示的候选 并且然后被排名构件270排名。排名最高的候选(例如,基于购买次数、流行度或app评级 论坛292)然后被作为apps 280返回给搜索引擎275以用于并入搜索结果295内。因此, 尽管关键词"Seattle (西雅图)"和"Boston (波士顿)"很可能哪儿也不在apps 280的元 数据内,但是apps 280经由实体的使用被确定为与查询相关,并且比在它们的元数据内确 实包括关键词的应用甚至更加满足用户的搜索事件的意图。
[0069] 在另一实施例中,应用清单201的特性203涉及查询285,其与由抽象对象构件 260所管理的搜索结果295或预定义实体相反。在该实施例中,apps 202内的元数据可以 被预先确定为隐式地与查询的一个或多个关键词相关。因此,应用清单201中的映射可以 捕获并且暴露apps 202与关键词之间的这种隐式关系。在操作中,当查询285被搜索引擎 275接收到时,查询285被解析以便从其提取关键词并且对照应用清单201内的关键词来比 较以便发现映射到其的apps 202。
[0070] 在又一个实施例中,应用清单201的特性203可以牵涉和常见构思、任务或意图相 关的编目关键词。在一个例子中,目录可以通过诸如app开发者或app商店291这样的第 三方被开发。在另一例子中,目录可以直接地从与在应用市场290内可访问的联机app目 录293相关联的搜索术语得到。在操作中,在接收到查询285时,查询285的(一个或多个) 术语或(一个或多个)短语可以对照目录被隐式地匹配以便确定正被引用的apps 202。
[0071] 在再一个实施例中,应用清单201的特性203可以和用户在进行搜索事件时当前 正在执行的任务相关。典型地,任务可以被从在搜索事件期间所执行的用户动作(例如,链 接选择、停留时间、先前的查询和/或与web浏览器222的其它交互)的序列中提炼,或者一 般地表示在搜索事件期间所执行的用户动作的序列。特别地,由用户所采取的用户动作可 以被搜索引擎275记录并且存储在图2的数据储存器230处。抽象对象构件260可以检查 在数据储存器230处的所记录的用户动作,并且在分析时,以包含用户动作的目标的适当 任务作为目标。该任务可以对照应用清单201的特性203被比较以便确定被映射到任务的 那些 apps 202。
[0072] 尽管已经描述了被采用来将查询285和/或搜索结果295的网站映射到apps 202 的各种类型的特性203,但是应理解和了解,隐式地或者构思上描述应用的其它类型的适合 的特性203可以被使用,并且本发明的实施例不限于上面所讨论的那些特性203。例如,除 使用从搜索事件得到的和针对应用清单201中的apps所预定义的实体外,搜索引擎275可 以从查询285、搜索结果295和/或正在进行的搜索事件中提炼其它信息,诸如用户正试图 执行(例如,计划在西雅图夜晚外出)的总体任务或用户正在试图执行的动作(例如,搜索歌 曲或艺术家)。
[0073] 参考图3和4A-4C,现将对示范性系统架构300的功能性进行讨论。首先,图4A-4C 的操作流程图引入了用于发现与搜索结果相关的和/或与查询相关的apps而不用查询显 式地以apps为目标的技术,如由图3中所示出的示范性系统架构300所实施的。应指出的 是,同样的附图标记在各图中识别同样的构件,诸如图2、3以及4A-4C的web浏览器222。
[0074] 如所图示的那样,搜索引擎275被配置成针对具有隐式意图的查询285来发现 apps 202以便在搜索结果295内产生应用。如上面所讨论的那样,实现apps 202的发现的 一个方式是搜索引擎275利用对查询285进行响应的web站点来判定什么应用是相关的并 且应该被返回。因此,其它指示符(例如,在应用清单201内的web站点的特性203)可以被 用来在显式措辞没有被包括在查询285本身中的情况下发现apps 202。为了实施这个过 程,搜索引擎275可以依靠负责管理具有定义操作的子过程的各种构件276、277以及278, 如在下面相对于图4A-4C所讨论的那样。
[0075] 用于发现相关的apps 202的过程典型地在用户发起的查询285在web浏览器222 处被接收到时开始。例如,查询285可以在输入Π 显示220 (见图2)的工具栏或浏览器窗 口 225的搜索框时被接收到。在将查询285提交给web浏览器222或设计成访问因特网的 任何其它应用时,查询285被输送到搜索引擎275。如在操作405处所描绘的那样,术语或 短语401可以从查询285中被提取。这些术语或短语401可以在请求中被传送以便从web 索引265 (见图2)中检索搜索结果。在答复请求时,web索引265可以将对查询285进行 响应的搜索结果295返回给搜索引擎275。如在操作410处所描绘的那样,搜索引擎275可 以识别初始的该组搜索结果295的固有的特性310。
[0076] 在这些特性310从搜索结果295被识别后(例如,URL是网站的通用站点定位符), 与搜索结果295的固有特性相关的apps 280通过采用特性310来检查应用清单201而被确 定。特性匹配构件276 (见图3)可以在搜索引擎275内被提供来通过对照预定义特性203 比较特性310来检查应用清单201以便查找匹配app 280,如在操作420处所描绘的那样。 如上面所提到的那样,图2的索引引擎205被提供来挖掘apps 202,以及构造并且维护所挖 掘的apps 202与预定义特性203之间的映射。在实例中,预定义特性203可以包括描述用 户在实施搜索事件时的相应意图的抽象对象。
[0077] 在示范性实施例中,特性匹配构件276可以将初始搜索结果295中的高排名的一 个识别为主题结果,并且对照应用清单201的预定义特性203来询问该主题结果。这个实施 例有效地将所发现的apps 280限于被视为与查询285高度相关的那些。在其它实施例中, 如上面所讨论的那样,查询285的特质可以被提取并且直接地用来在不考虑搜索结果295 的情况下发现相关的apps。在又一些其它的实施例中,从逻辑的单独流(例如,查询285的 搜索结果295和隐式特质)得到的相关的apps可以经由选择构件277被加入以便显现被确 定为对于用户的搜索意图最有用的那些应用330。
[0078] 如在操作425处所描绘的那样,最高评级的应用330可以通过实施选择构件277 从相关的apps 280选择。在一个实例中,选择构件277被配置用于选择从特性匹配构件 276所返回的(一个或多个)相关的app 280并且用于将(一个或多个)app 280存储为用于 与初始的该组搜索结果295同时地显示的候选。在另一实例中,如在操作425处所描绘的 那样,选择构件277可以负责通过与排名构件270交互来使相关的apps 280缩小为最高评 级的应用330。排名构件270像上面参考图2更全面地讨论的那样,用来基于一个或多个评 级方案来组织相关的apps 280并且用来基于至少一个预定义门限来限制在搜索结果295 内显现的应用。
[0079] 在又一个实例中,选择构件277可以与在客户端设备210上运行的app客户端223 相接,如在图3处所图示的那样。app客户端223可能能够访问安装在客户端设备处的apps 221 (见图2)。因此,app客户端223可以帮助选择构件277基于驻留在客户端设备210的 存储器内的已安装apps 221的身份从相关的apps 280选择最高评级的应用330。
[0080] 在再一个实例中,选择构件277可以被设计成汇编在用户正在实施搜索事件时积 累的用户交互的日志或者被提供对其的访问。在评论在用户交互日志内持久化的数据时, 选择构件277可以对照应用清单201的预定义特性203来比较来自日志的信息以便发现相 关的apps 280。或者,选择构件277可以应用日志信息来从相关的apps 280过滤低评级的 应用。
[0081] 在又一个实例中,选择构件277可以被配置成检查apps的(一个或多个)排名标度 (例如,基于流行度的排名和/或基于相关性的排名)以便从相关的apps 280中提炼最商评 级的应用330。(一个或多个)这些排名标度可以是从任何数目的源(例如,图2的app评级 论坛292、从一般搜索和/或下载记录的数据、以app为中心的博客、文章、意见张贴或其它 信誉良好的源)得到的,并且可以被采用来有效地排除考虑最初确定为不相干的那些apps 280。例如,如果视频游戏作为相关的app 280被返回,则选择构件277可以依照(一个或多 个)排名标度将视频游戏的主版本确定为最高评级的,同时将剩余的版本(例如,假期版本、 特别版以及指南和提示)列举为较低评级的。作为结果,具有最高评级的应用330的传输 320可以被输送以用于渲染在web浏览器222,然而在用户想要在检查搜索结果295时显现 附加的应用的情况下较低评级的应用可以被缓存。
[0082] 现转向图3,渲染构件278可以在搜索引擎275内被提供以用于将至少一个应用 的视觉表示放置在搜索结果页面的布局上的位置中。如在操作430处所描绘的那样,渲染 构件278被使得能够根据一个或多个准则将最高评级的应用330的表示放置在搜索结果页 面内。例如,当准则指示在搜索结果页面内可用的不动产是有限的时,渲染构件278可以选 择约束在搜索结果页面处所渲染的最高评级的应用330的数目。在一个实例中,当作为搜 索结果所返回的网站的描述被设置成占据图6的显示区域600内的大多数空间时,可用的 不动产可能是有限的。相比之下,如果搜索结果页面被预先配置有充足的不动产,则渲染构 件278可以选择附加的最高评级的应用330以供显示。在一个实例中,当存在为显现应用 所分配和保留的图5的显示空间510时,不动产可以被视为充足的。
[0083] 在另一实施例中,由渲染构件278用来将最高评级的应用330的表示放置在搜索 结果页面内的准则可能牵涉由选择构件277所识别的最高评级的应用330的数目。例如, 如果仅两个最高评级的应用330被识别,则仅仅那些最高评级的应用330经由传输320而 被发送到web浏览器222以用于并入搜索结果页面内,如在图4B处所图示的。
[0084] 在接收到传输320时,web浏览器222可以将最高评级的应用330的表示呈现在 搜索结果页面内,如在操作435处所描绘的那样。在实施例中,将最高评级的应用330的表 示呈现在搜索结果页面内可以包括基于搜索结果295的结构将最高评级的应用330放置在 搜索结果页面内。例如,对于图5 (图示了描绘第一说明性Π 显示500的示意图),web浏 览器222可以将应用520和530的表示与搜索结果521和531独立地显现在搜索结果页面 505 内。
[0085] 如所示,这些应用520和530可以被显现在为应用所分配和保留的显示空间510 内。因此,在搜索结果页面505内的被称为显示空间510的这种特定区域被配置成在视觉上 使应用与搜索结果521和531的剩余部分分隔。尽管被示出在搜索结果页面505的中间, 但是显示空间510可以位于搜索结果页面505的顶部、底部或任何其它部分处,如由渲染构 件278所支配的。在一个实例中,显示空间510的尺寸和位置和/或在其中所指示的应用 的数目是基于被选择用于包括在搜索结果295内的最高评级的应用330的数目的。
[0086] 然而,如所示,应用520和530在显示空间510内的分组与单独的搜索结果521和 531是分离的并且不提供关于应用520和530为什么被选择或它们如何与查询和/或搜索 结果521和531相关的上下文。因此,当选择构件277在应用520和530的相关性中指示 高的置信水平时和/或当应用520和530对查询进行响应或者满足用户的在正在进行的搜 索事件后面的意图是很明显的时,渲染构件278可以采用搜索结果页面505的结构。
[0087] 在其它实施例中,将最高评级的应用330放置在搜索结果页面内可以包括接近于 特定搜索结果或与特定搜索结果相关联地定位被选择用于显现的应用的表示。例如,参考 图6,描绘了依照本发明的实施例的第二说明性Π 显示的示意图被图示,其包括显示区域 600,显示区域600具有接近于相关的搜索结果615显现的应用610的表示。如图6中所示, 应用610的表示接近于搜索结果615被定位。应用610的这种直列表示在视觉上指示应用 610与搜索结果615之间的关联。如上面更全面地讨论的那样,应用610与搜索结果615之 间的关联可以在图2和3的应用清单201内被维护,并且可以从下列中的一个或多个得到: 搜索结果615的web地址展示出与应用610的对等;应用610的能力与搜索结果615的内 容相关;以及搜索结果615和应用610的特性与常见的预定义实体匹配。
[0088] 如在图6处所图示的那样,被呈现的应用中的每一个(包括应用610)使不同的搜 索结果(例如,搜索结果615)与其相关联。典型地,这种关联通过与搜索结果615接近地呈 现应用而被传送给用户;然而,链接搜索结果和应用的其它方式可以被使用。常常,应用与 搜索结果之间的一对一关系被呈现,以便给用户提供一致的搜索体验。附加的搜索结果和 相关的应用将随着用户在示范性显示区域600上向上或向下滚动而变得可见。
[0089] 以这种方式,接近于所关联的搜索结果615或与其直列地结构化放置应用610隐 式地给用户提供了关于应用610为什么与查询相关的信息。也就是说,应用610和搜索结 果615在搜索结果页面605内的空间配对直观地向用户说明该应用如何被从查询推断出。 作为结果,如果用户对搜索结果615感兴趣,则应用610的直列位置可以向用户发信号通知 应用610由于类似原因也可能是感兴趣的。进一步地,空间配对就应用610将在选择时被 启动所在的入口点的上下文而通知用户。例如,如果Cooking Mama?应用610从搜索结果 页面605被启动,则应用610与搜索结果615 (描述鸡肉披萨的菜谱)的接近可以向用户提 醒,在选择应用610时,Cooking Mama?的入口点的上下文可能和鸡肉披萨相关。
[0090] 返回到图4B,在像在操作435处所指示的那样将搜索结果页面呈现给用户时,对 在搜索结果页面中所列举的主题应用的选择可以被接收。在实施例中,选择可以包括针对 在搜索结果内直列显现的应用的表示的用户发起的选择(例如,鼠标点击或悬停动作)。例 如,参考图6,在应用610的表不的边界内做出的选择可以发动关于应用610的动作。在另一 实例中,参考图5,控制按钮525和535可以被提供用于分别启动或者安装应用520和530。 在操作中,针对控制按钮525的选择可以直接地从搜索结果页面505启动Yelp?应用520, 而针对控制按钮535的选择可以将名录应用530安装到客户端设备210以便与图2的已安 装apps 221-起索引。
[0091] 在web浏览器222处接收到主题应用的选择时,web浏览器222可以试图在客户 端设备210上打开该主题应用。如在操作445处所描绘的那样,当主题应用被安装在客户 端设备210上时,该主题应用被直接地从搜索结果页面启动。然而,当主题应用未被安装在 客户端设备210上时,web浏览器222可以自动地将用户导航到销售主题应用(例如,图2 的app商店291)的网站,如在操作450处所描绘的那样。或者,在客户端设备210上运行 的app客户端223可以自动地将主题应用安装在其上,如在操作455处所描绘的那样。
[0092] 在示范性实施例中,如图2中所示,app客户端223被设计成通过充当web浏览器 222与已安装apps 221的(一个或多个)目录之间的接口来检测主题应用是否当前驻留在 客户端设备210上。在一个实例中,app客户端223被配置为协议处理机和/或系统提供 的应用编程接口(API)。在应用被安装到客户端设备210时,安装的应用被向协议处理机注 册。因此,安装的应用现在能够通过发动协议处理机所知的协议而被启动。在操作中,在接 收到用户已从搜索结果页面选择了主题应用的指示时,web浏览器222可以将选择指示输 送到协议处理机(例如,app客户端223),所述协议处理机进而发出"打开"命令或者发动对 已安装apps 221的调用。如果主题应用响应于命令被启动,则app客户端223明白主题应 用被安装到客户端设备210。如果主题应用未被启动,则app客户端223明白主题应用未 被安装到客户端设备210并且给用户提供从应用市场290下载应用的选项。因此,通过利 用app客户端223的协议处理机能力,在已安装apps 221内检测主题应用是相对高效的, 并且对于劳动力密集查找不需要获取已安装apps 221的列表。
[0093] 在一个实例中,被安装到客户端设备210的应用的检测可以伴随着将最高评级的 应用添加到搜索结果而被执行。以这种方式,在web浏览器222从搜索引擎275接收到一 个或多个应用被选择用于包括在搜索结果页面内的通知时,app客户端223的协议处理机 机制可以被发动。app客户端223然后可以经由任何已知过程(例如,使用"打开"命令的 检测)来检查已安装apps 221以便确定被选择用于渲染的(一个或多个)应用被实际安装 在客户端设备210上。如果是的话,app客户端223可以指示web浏览器222修改正被渲 染的(一个或多个)应用的呈现方面,使得用户被通知(一个或多个)应用被先前下载到客户 端设备210 (例如,修改控制按钮525以便指示对其施加的点击动作将启动应用)。如果不 是,则app客户端223可以指示web浏览器222修改正被渲染的(一个或多个)应用的呈现 方面,使得用户被通知(一个或多个)应用未被安装到客户端设备210 (例如,修改控制按钮 535以便指示对其施加的点击动作将安装应用)。
[0094] 转向图4C,在用户将发动主题应用以启动的选择导向主题应用时,上下文(例如, 用户与图2的web浏览器222的交互)可以被转移到主题应用以用于建立高级入口点,其 与被配置为针对主题应用的默认启动主页的根入口点相反。这种上下文在特定情况下可以 是基于与搜索引擎275的用户交互的。例如,搜索引擎275可以将当前的和/或先前的查 询记录在搜索事件内(例如,利用数据储存器230)并且从查询内的术语和短语得到上下文。 这种上下文然后可以被转换成在启动期间被插入到主题应用的参数,从而将用户直接地带 到与查询相关的内容或高级入口点。
[0095] 如上面所提到的那样,得到上下文的一个方式牵涉解析至少一个查询并且使用来 自该查询的关键词来操纵已启动的应用。另一方式牵涉解析与被选择用于呈现的应用相关 联的搜索结果的web地址。在不例性查询"Italian restaurants Bellevue reservation (意大利餐馆贝尔维尤预定)"中,作为搜索结果的一部分所返回的URL (例如," www. urbanspoon. com/Seattle/Bellevue/Italian-Restaurants")可以提供上下文。在这种情 况下,上下文指示用户正在寻找在华盛顿州贝尔维尤的位置中的意大利餐馆。这种上下文 然后被转换为参数并且在启动时插入到Urbanspoon?应用。参考以上的示例性查询,转换 成参数的过程可以包括辨认在查询内的关键词后面的意图以及将分类指示符附连到关键 词,诸如下列的:域=餐馆;烹饪=意大利;位置=贝尔维尤;以及任务=预定。
[0096] 将搜索事件上下文的参数插入到启动的应用的过程可以牵涉以下步骤:确定应用 为了导航到高级入口点所需要的适当的信息;以及确定将很可能被应用接受以便适当地与 用户相接的参数的格式。例如,应用可以被设计成解析原始的非操纵的查询或URL而不使 用专门参数,从而,模糊在app客户端223处转换上下文的需要。在另一实例中,app客户端 223可以被触发来辨认已启动的应用的优选格式以便适当地将上下文作为参数来传递并且 以便适当地与已启动的应用相接。因此,app客户端223可以行动来桥接搜索事件上下文 与启动的应用之间的沟通隔阂。
[0097] 例如,如果餐馆经由查询被搜索到并且响应的搜索结果包括Yelp?应用,则app客 户端223可以辨认到在启动期间在将数据传递给Yelp?应用之前Yelp?应用需要对该查 询应用的预处理。在这种情况下,预处理可以包括从查询中提取企业标识符(ID)以及将所 搜索到的餐馆的企业ID传递给Yelp?应用以用于输入为企业ID数据类型所指定的实参 (argument)。作为结果,Yelp?应用将启动到与所搜索到的餐馆相关联的高级入口点。
[0098] 进一步地,已启动的应用可以在用户与应用交互时将参数返回给app客户端223。 这些参数可以由 web浏览器222在试图从搜索引擎275生成搜索结果时采用,如在图4C的 操作470处所描绘的那样。也就是说,在已启动的应用处指示上下文的参数(例如,被执行 的用户动作、被键入的数据或在与应用相接时选择的链接)可以被从已启动的应用传递给 app客户端223以用于在搜索时后续使用。在操作中,在用户在app会话期间将信息提供给 已启动的应用时或者在用户终止app会话时,信息被传递给app客户端223或者被app客 户端223收集以用于与搜索引擎275 -起主动或被动使用。主动使用包括自动地将上下文 提交给搜索引擎275以便生成并入了来自应用的上下文的新的一组搜索结果。例如,如果 用户在基于电影院的应用中选择特定电影,则所选电影和/或相关信息(例如,电影位置、 电影演出时间或电影剧院)被保存并且返回给搜索引擎275以供进一步使用。这种进一步 使用可以包括生成为所选电影定制的新的一组搜索结果(例如,靠近电影的剧院的餐馆或 停车场,或电影的导演)。
[0099] -般地,被动使用包括存储上下文以用于在适当的时间最后使用。例如,web浏览 器222可以在没有用户的知识的情况下将上下文中的一些或全部附加到后续查询以便进 一步使搜索结果个性化。或者,上下文可以被用来修改在数据储存器230处维护和更新的 用户简档。用户简档然后可以被间歇地采用来提高后续查询的相关性。
[0100] 现转向图9,依照本发明的实施例的用于根据搜索结果来显现一个或多个应用的 方法900的总体流程图被示出。尽管术语"步骤"和/或"框"可以在本文中被用来隐含所 采用的方法的不同要素,但是除非并且除了当单独步骤的次序被显式地描述时,术语不应 该被解释为暗示在此公开的各种步骤之中或之间的任何特定次序。最初,方法900包括步 骤:接收在搜索引擎处提交的查询(见框902)以及采用该查询的关键词(例如,术语或短语) 来生成初始的一组搜索结果(见框904)。方法900可以进一步包括识别初始的该组搜索结 果的主题结果的(一个或多个)特性(见框906)以及确定与(一个或多个)特性相关的(一个 或多个)应用(见框908)。
[0101] 与主题结果的特性相关的(一个或多个)应用的这种确定可以包括以下步骤中的 一个或多个:访问包括应用与预定义特性之间的映射的应用清单(见框910);对照应用清单 的预定义特性来比较主题结果的特性以便确定匹配(见框912);以及,当在主题结果的特性 与应用清单的预定义特性之间存在匹配时,将与匹配的预定义特性相关联的(一个或多个) 应用识别为与主题结果相关(见框914)。(一个或多个)这些识别的应用可以响应于查询而 被呈现在显示器上,如在框916处所描绘的那样。在特定实例中,呈现可以牵涉将(一个或 多个)应用集成在初始的该组搜索结果内(见框918)以及与初始的该组搜索结果同时地在 Π 显示上显现(一个或多个)所集成的应用(见框920)。
[0102] 参考图10,图示了依照本发明的实施例的用于在web页面的评论期间显现至少一 个应用的方法1000的总体流程图被示出。该方法1000的讨论将与依照本发明的实施例的 图7中所图示的第三说明性UI显示的讨论一致,所述UI显示包括显示区域700,其暴露重 叠 web页面的内容705的应用信息730和(一个或多个)链接725。方法1000可以最初牵 涉将具有内容705或文本的web页面或文档渲染在计算设备的Π 显示上的显示区域700 内(见框1002)。
[0103] 在实例中,方法1000可以包括接收对内容705内的术语或短语的用户发起的选择 的步骤(见框1004)。如所图示的那样,术语或短语(例如,"inc印tion (开始)")的选择可以 经由各种方式之一而发生,所述各种方式诸如找词器工具740或手动地加亮。响应于选择, 与术语或短语相关的(一个或多个)应用720被确定(见框1006)。(一个或多个)相关的应 用720的这种确定可以通过上面所描述的过程中的任一个(诸如采用图2的应用清单201) 而被执行。(一个或多个)这些相关的应用720然后可以被呈现在重叠显示区域700的至少 一部分的弹出式显示窗口 710中(见框1008)。如图7中所图示的那样,显示窗口 710包括 应用信息730、应用720的表示以及到应用720的链接725。
[0104] 现将参考图11-18对本发明的附加的实施例进行描述。实施例牵涉用apps与地 理边界之间的映射来构造应用清单以及在从移动设备接收到位置信号时采用该应用清单, 以便识别对于移动设备的特定位置和/或被用户提交给移动设备的特定位置来说有效的 apps。现转向图11,被配置用于在实施本发明的实施例时使用的分布式计算环境的示范性 系统架构1100的框图现将被描述。
[0105] 一般地,实施本发明的实施例涉及响应于位置信号(例如,键入到移动设备的或由 移动设备所收集到的基于位置的信息)来发现apps以及将那些apps作为搜索结果呈现给 用户(例如,在Π 显示的搜索结果页面上与网站直列地的apps渲染)。应理解和了解,图11 中所示出的示范性系统架构1100仅仅是一个适合的计算环境的例子,并且不旨在就本发 明的功能性或使用范围建议任何限制。示例性系统架构1100也不应该被解释为具有与在 其中所图示的构件中的任何单个构件或组合相关的任何依赖性或要求。
[0106] 最初,示范性系统架构1100包括应用清单201(参考上面图2和3所讨论的)、移动 设备1105、(一个或多个)数据储存器230 (上面参考图2所讨论的)、处理设备1110以及互 连这些项目中的每一个的网络240。图11中所示出的移动设备1105、数据储存器230以及 处理设备1110中的每一个都可以采取各种类型的计算设备的形式,诸如例如上面参考图1 所描述的计算设备100。仅通过例子而非限制,移动设备1105和/或处理设备1110可以像 上面所定义的那样表示或者包括个人计算机、台式计算机、膝上型计算机、消费电子设备、 手持式设备(例如,个人数字助理)、各种服务器、处理设备、处理器等等。然而,应注意的是, 本发明不限于这样的计算设备上的实施方案,而是在本发明的实施例的范围内可以被实施 在各种不同类型的计算设备中的任一个上。
[0107] 典型地,设备1105和1110中的每一个都包括或者被链接到某种形式的计算单元 (例如,中央处理单元、微处理器、处理器等)以便支持在其上运行的(一个或多个)构件(例 如,比较构件1111、选择构件1112等等)的操作。一般而言,处理设备1110被提供用于在 从移动设备1105接收到基于位置的信息(例如,位置信号1106)和/或基于任务的信息(例 如,任务信号1107 )时识别一组有效的应用。数据储存器230被配置用于容宿应用清单201, 所述应用清单201暴露从应用市场挖掘的应用的列表(如上面所描述的那样)。一般地,列 表内的应用被映射到相应的地理边界和类别。
[0108] 移动设备1105典型地被配置用于自动地或响应于来自移动设备1105的用户的 命令来提供位置信号1106和/或任务信号1107。"位置信号" 1106 -般地表示由移动设 备1105的用户所键入的(例如,涉及特定位置或地点的搜索)或(例如,使用对设备的移动的 GPS跟踪)从移动设备1105的地理位置得到的基于位置的信息。另一方面,"任务信号"1107 一般地表示暴露在移动设备1105上执行的用户发起的操作的基于任务的信息。
[0109] 处理设备1110被配置用于经由网络240从移动设备1105接收位置信号1106和 /或任务信号1107。在一个实施例中,处理设备1110的比较构件1111被配置用于对照应 用清单201来比较位置信号1106以便识别映射到对于位置信号1106为有效的地理边界的 一个或多个应用。在另一实施例中,处理设备1110的比较构件1111被配置用于对照应用 清单201来比较任务信号1107以便识别映射到对于任务信号1107为相关的类别的一个或 多个应用。进一步地,处理设备1110的选择构件1112可以执行从有效的应用和相关的应 用的重叠集选择应用1108的过程。这些选择的应用1108可以经由网络240被发送到移动 设备1105以用于显示在其上。
[0110] 对构造或修改应用清单201以包括apps与地理边界之间的映射的讨论现将开始。 最初,针对apps的位置实体被发现。这些"位置实体"涉及具有确切的地理表示的任何地 点、位置、项目或特性。例如,可以针对Southwest Airlines?所被发现的位置实体可以包 括用作枢纽的航空站的位置、公司总部的城市和州、销售航线机票的地点、提供度假套餐、 附属航线服务的零售商等等。在另一例子中,针对体育应用的位置实体可以是体育露天大 型运动场的位置。这种示范性位置实体可以使用遥测数据被发现(即,确定在体育露天大型 运动场的附近内存在体育应用的增加的使用、下载、启动等)。应指出的是,短语"位置实体" 和术语"位置"的使用在本文中被可交换地使用,并且不旨在表示迥然不同的构思。
[0111] 在又一个例子中,针对旅游应用的位置实体可以使用本地意图被发现。"本地意 图"一般地指的是能够被解释为以特定地点或位置作为目标的应用的任何属性。例如,在旅 游应用内或伴随旅游应用提交的元数据可以包括该旅游应用在其中适用的城市的名称或 描述。
[0112] 在再一个例子中,针对徒步旅行(hiking-trai 1)应用的位置实体可以使用与该徒 步旅行应用相对应的地理或"地理围栏"边界被发现。如本文中所使用的那样,短语"地理 边界"不意在为限制性的,而是可以包含对于给定应用来说有效的或相关的全球覆盖的范 围。在示范性的徒步旅行应用的情况下,当徒步旅行应用涉及横过特定州的大量部分的踪 迹时,地理边界可以包括州级区域。在操作中,当来自移动设备1105的位置信号1106指示 移动设备1105目前被定位于特定州内时,徒步旅行应用可以被认为是用于呈现在移动设 备1105的Π 显示上的可能候选。
[0113] 在一个实例中,针对应用的地理边界可以通过确定针对位置实体中的每一个的地 理边界、位置意图以及与应用相关联的遥测数据而被发现。地理边界还可以被调整大小以 便简明地捕获与应用最相关的或对于应用最直观的(一个或多个)区域,其中地理边界的 一些示例性维度包括街区级、市级、县级、州级、国家级,或在地球的表面上的其它尺寸的拼 贴。因此,在实施例中,针对应用所发现的(一个或多个)地理边界很可能包含相对于未包括 在地理边界内的其它区域展示出对应用的高水平的使用的区域。
[0114] 在有效的地理边界针对主题应用被发现后,用于将有效的地理边界链接到主题应 用的脱机过程开始。在一个实施例中,用于链接的过程包括用对应的位置实体和/或地理 边界来给主题应用加标签,所述位置实体和/或地理边界被发现对于主题应用为有效的。 在一个实例中,加标签牵涉显式加标签。显式加标签包括访问在开发者向app商店注册主 题应用时与主题应用一起被显式地提交的元数据。在一个实例中,开发者在用户界面处被 提供有当开发者正在试图将主题应用上传到应用市场内的联机目录或其它资源时明确地 请求并且收集基于位置的信息的工具(例如,被认为与主题应用相关的特定位置被开发者 键入)。特定位置可以与主题应用相关联。地理边界可以针对特定位置中的每一个被识别。 这些识别的地理边界然后可以经由显示标签被链接到应用清单内的主题应用。
[0115] 在另一实例中,加标签牵涉隐式加标签。隐式加标签一般地指的是依靠逻辑来从 围绕主题应用的隐式信息中提炼位置的脱机过程。在这种情况下,位置可以通过从围绕 主题应用的元数据读取主题应用的名称和/或主题应用的描述而被提炼。例如,将短语 "Train System in NYC (NYC中的列车系统)"包括在名称或描述内的元数据能够被识别为 对于城市纽约市来说是有效的,其中地理边界在市级上被调整尺寸并且位置实体集中于纽 约市市区内的运输路线和站台。
[0116] 因此,元数据显式地揭示针对主题应用的位置实体和地理边界。在元数据显式地 揭示针对主题应用的位置的情形下,主题应用可以使用直接映射被链接到该位置。一般地, "直接映射"牵涉从元数据读取位置以及用所述位置给主题应用加标签,而不使用有意义的 外推法或解释法。
[0117] 在另一例子中,元数据可以将短语"Rides for Disneyland (迪斯尼乐园的游乐设 施)"包括在主题应用的名称或描述内。迪斯尼乐园的感兴趣点能够从元数据中被提炼并且 识别为感兴趣点。尽管迪斯尼乐园是感兴趣点(与特定位置不同),但是处理设备1110被提 供有用来确定与特定感兴趣点相关的特定位置的逻辑。在这个例子中,对于迪斯尼乐园的 感兴趣点,特定城市佛罗里达奥兰多可能已知与迪斯尼乐园相符,并且可以被用来为与"迪 斯尼乐园的游乐设施"相关联的主题应用建立地理边界的位置和尺寸。
[0118] 照此,元数据在处理感兴趣点时隐式地揭示针对主题应用的位置实体和地理边 界。在元数据隐式地揭示针对主题应用的位置的情形下,主题应用可以使用间接映射被链 接到该位置。一般地,"间接映射"牵涉从元数据中提取一些信息(例如,感兴趣点)以及用 从所提取的信息外推或者解释的位置来给主题应用加标签。
[0119] 在又一个例子中,元数据可以指示主题应用涉及具有各种物理位置的连锁企业。 例如,如果主题应用涉及电子零售商百思买(Best Buy),则图11的处理设备1110可以推断 存在这样的多个位置,在所述多个位置处主题应用是相关的。因此,那些多个位置可以通过 参考暴露百思买商店的地理位置的名录(例如,电话/地址列表)而被发现。这些地理位置 可以被聚合并且映射(例如,经由企业名称到(一个或多个)特定位置的间接映射)到应用清 单201内的主题应用。
[0120] 或者,由处理设备1110所采用的机制可以被用来通过跟踪用户最频繁地/最近使 用主题应用的位置来确定主题应用的最相关的位置。最初,遥测数据可以从主题应用的用 户随着时间的推移而被累积。如本文中所使用的那样,短语"遥测数据"指的是主题应用的 高度使用的位置(例如,相对于在其它位置处的使用频率比较高的用户活动、下载或启动的 位置),其可能影响由选择构件1112所提供的建议。因此,遥测数据可以被用来识别被间接 地映射到主题应用的高度使用的位置。
[0121] 对于百思买应用例子,与在百思买商店的实际场址内相反,经累积的遥测数据的 分析可以表明百思买应用最常在百思买商店的已知地理位置的附近内被访问。因此,遥测 数据可以指示百思买应用在被映射到围绕百思买商店的较大尺寸的地理边界时可能是更 加相关的。包含百思买商店中的一些或全部的这种较大尺寸的地理边界能够用百思买应用 间接地加以映射并且保存到应用清单201。
[0122] 在应用被用(一个或多个)位置和/或(一个或多个)地理边界直接地或间接地加以 映射后,它们可以在它们相应的类别内被分类和排名。在实施例中,分类牵涉经由静态分类 或动态分类将应用组织成基于用户的和/或基于功能的类别。静态分类一般地牵涉确定由 主题应用所执行或者提供的一个或多个离散操作以及使那些操作与通用类别的预定义列 表相匹配。例如,提供城市导游功能性的应用可以被分类为旅游app,具有餐馆评论功能性 的应用可以被分类为进餐app,以及具有本地新闻台功能性的应用可以被分类为新闻app 和/或天气app。
[0123] 动态分类被采用来基于正由移动设备1105的用户所执行的任务和/或基于接近 于用户的感兴趣点或事件(例如,雷德蒙德Marymoor中的电影的票)来重组应用。在一个示 范性实施例中,动态分类可以被进行来基于"任务信号"将应用组织成相关的任务,所述"任 务信号"描述用户的简档(例如,用户的位置的历史)的和/或正在移动设备1105上执行的 用户的动作的部分。在另一实施例中,动态分类可以被进行来基于"位置信号"将应用组织 成相关的位置,所述"位置信号"描述移动设备1105的物理位置和/或与在移动设备1105 上的搜索相关联的位置。这些位置信号可以是隐式的(例如,基于诸如设备位置、IP地址等 等这样的信号)或显式的(例如,牵涉位置的关键词搜索)。
[0124] 例如,应用清单内的应用可以在用户正步行通过购物商场时被动态地分类。最初, 处理设备1110可以考虑对在应用清单201内涉及购物商场内的本地企业的应用进行排序 的位置信号。然后,处理设备1110可以考虑任务信号1107,任务信号表示围绕去购物商场 的任务的其它准则。在一个实例中,任务信号1107可以捕获一天的时间,从而确定用户正 在购物还是进餐。在另一实例中,任务信号1107可以捕获用户的最近搜索历史,从而确定 用户最倾向于购买的商品的类型。
[0125] 在应用被映射到位置并且根据相关性分类后,应用可以通过动态地在运行时期间 使用各种准则(例如,用户的简档、社交简档、位置历史等等的属性)对类别内的应用进行排 名而被进一步排序。在一个实例中,用来对应用进行排名的准则可以牵涉所检测到的用户 的当前位置和/或跟踪到的用户的位置历史(例如,确定用户是旅游者、本地居民还是介于 中间的人)。在另一实例中,用于排名的准则可以是从用户的简档得到的。例如,如果用户当 前处于同样在用户的简档中被指定为用户的家乡的位置,则排名算法可以相对于旅游型应 用更喜欢本地新闻和天气应用。因此,排名用来将低的重要性放置于不相干的应用并且将 不相干的应用从考虑中滤出,同时针对单独用户的时间和地点显现最有效的(一个或多个) 应用。
[0126] 在其它实例中,用于对类别内的应用进行排名的准则可以考虑由用户进行的先前 搜索或已知的用户的兴趣(例如,用户更喜欢免费apps还是付费apps,或者用户已经拥有 该app)。在又一些其它的实例中,用于排名的准则可能不是用户特定的,而是可以是描画其 它用户的。这种非用户特定的准则可以考虑如下的这样的事情:app流行度、下载次数、评 论和评级、发布日期、其它人在搜索中的趋势和/或新闻或社交媒体的最近评论。因此,排 名一般地导致将高度相关的应用移动到类别的顶部,从而提高高度相关的应用将被选择构 件1112选择用于显现在移动设备1105上的机会。
[0127] 在操作中,在应用清单内建立了应用到位置的映射时,在静态地或动态地对应用 进行了分类时,以及在对类别内的应用进行了排名时,移动设备1105位置和/或用户活 动被监视以便向用户呈现最相关的应用。如上面所提到的,任务信号1107和位置信号 1108被处理设备1110收集。在实施例中,如上面所提到的,任务信号1107可以表示向搜 索引擎发出的搜索、在移动设备1105处放置的调用和/或用户已对联机网站做出的检入 (check-ins),然而位置信号1106可以表示在搜索查询内显式或隐式的位置或移动设备 1105的当前GPS位置。尽管已经在本文中描述了数个特定任务信号1107和位置信号1108, 但是应了解和理解,存在使位置/任务信息与其相关联的许多移动活动,并且这种位置/任 务信息被本发明的实施例设想用于在选择和过滤应用时使用。
[0128] 在信号1106和/或1107在处理设备1110处被接收或者检索到后,比较构件111 1 使用信号1106和/或1107以及在移动设备1105处被监视的任何其它移动活动在应用清单 201处发动应用搜索。在一个实例中,发动搜索牵涉响应于用户键入具有显式位置意图的查 询来触发搜索。在另一实例中,发动搜索牵涉响应于用户执行与用户的当前位置(例如,移 动设备1105的GPS位置)或潜在位置(例如,在搜索查询内固有的)相关联的某个操作来触 发搜索。因此,比较构件1111被装配成在显式地或隐式地被触发时用信息来检验应用清单 201。
[0129] 比较构件1111使用信号1106和/或1107来从应用清单201汇编一批可能的候 选应用。这批候选应用在选择构件1112处被评论,所述选择构件1112像上面所讨论的那 样动态地对应用进行分类和排名,以便提供应用1108的选择以用于在移动设备1105的Π 显示上呈现给用户。存在所选应用1108在Π 显示处被呈现的各种方式。这些方式是变化 的以便解决移动设备1105在其中正起作用的不同的操作上下文。如本文中所使用的,短语 "操作上下文"不意在为限制性的,而是包含计算设备、移动设备、膝上型电脑、平板等在被 加电时可以采取的任何状态。
[0130] 在一个实例中,参考图12,所选应用1108的(一个或多个)表示可以在基于位置的 搜索结果1215的操作上下文内被同时显现在Π 显示1200上。也就是说,所选应用1108 可以作为本地基于任务的apps 1220被提供,所述apps 1220被与其它搜索结果一起集成 在搜索引擎结果页面(SERP)或地点/本地页面上,使得本地基于任务的apps 1220响应于 搜索查询而被推荐。
[0131] 在示范性操作中,apps 1220 (S卩,对由比较构件1111所聚合的该组有效应用中的 apps的选择)可以响应于在联机搜索期间所键入的查询而被呈现在Π 显示1200上。在图 12中所图示的实例中,apps 1220可能已响应于查询"trip to NYC (去NYC旅行)"被发 现了,其中术语"NYC"显式地触发搜索纽约市的位置的任务信号。有利地,所推荐的apps 1220与计划去纽约市旅行相关(app 1125是排名最高的),同时用户也在搜索引擎处表达 出对访问纽约市的兴趣。进一步地,如在来自移动设备的位置信号中所反映的那样,用户可 以位于另一城市(例如,芝加哥)中;然而,任务信号可以覆盖用户的当前位置并且在该特定 时间点显现被视为对于用户是更感兴趣的apps 1220。
[0132] 现转向图13和14,描绘了依照本发明的实施例的说明性Π 显示1300和1400的示 意图被示出,其包括接近于相关基于位置的入口在搜索结果页面上显现的应用的表示。对 于图13,当用户正在进行搜索时,查询"New York (纽约)" 1305可以在搜索入口区域1301 内被键入。apps 1335的选择可以基于查询1335被发现并且与初始的该组搜索结果(例如, 搜索结果项目1330)集成,使得apps 1335和搜索结果项目1330被同时呈现在Π 显示1300 上。
[0133] 如图13中所图示的,与图12类似,查询1305的显式内容或隐式用户意图实质上 驱动对要发布哪些apps 1335的确定。然而,在选择在搜索的操作上下文内为相关的应用 时,还可以考虑用户的位置。在实例中,web浏览器可以装配有用来给用户提供垂直体验的 逻辑,其中一组页面被提供来针对用户的意图定制搜索结果。在一个实例中,当图13的"以 web为中心的"页面被用户选择时,apps的选择可以涉及查询1305的内容并且与搜索结果 的题目相符。
[0134] 然而,当"以地点为中心的"页面被用户选择时,靠近当前位置的流行的本地apps 可以被视为与用户更相关并且被显现。或者,搜索结果内的内容(例如,地点、吸引人的事物 等等的场地)可以帮助规定哪些apps被选择用于呈现。在这种情况下,所选apps可以被呈 现在与单独的搜索结果接近地分配的区域中,所述apps分别与所述单独的搜索结果相关 联。这些流行的本地apps还可以在输入任何查询之前在web浏览器主页处被发布。
[0135] 参考图14,操作上下文可以牵涉将对该组有效应用的apps 1335的选择呈现在以 地点为中心的页面上。常常,以地点为中心的页面在用户针对特定位置、界标、吸引人的事 物或感兴趣点进行联机搜索时被发布。和其它web页面一样,对apps 1335的选择可以嵌 入在以地点为中心的页面的其它内容内。
[0136] 在另一例子中,当"以本地为中心的"页面被用户选择时,如图16中所示,操作上 下文牵涉响应于用户设备的位置1615将对该组有效应用的apps 1620的选择呈现在以本 地为中心的页面1610上。在实施例中,以本地为中心的页面1610在通过监视移动设备的 地理定位辨认到用户的位置时被发布。在操作中,以本地为中心的页面1610暴露这样的内 容,其描述在物理上接近于用户的位置的企业。例如,如果用户步行进贝尔维尤广场,则他 /她得到在该位置周围可用的apps的通知。一些apps包括下列:基于剧院的电影app、咖 啡店以及其它企业apps。在一些实施例中,用户被提示订阅或者退订实时位置敏感的app 发现。
[0137] 图16的以本地为中心的页面1610可以在自动地通过从用户的移动设备读取位置 信号时到来。或者,以本地为中心的页面1610可以从图15中所示出的Π 显示1510被手 动地选择。如所图示的,UI显示1500包括用户可以从中拾取的各种页面的列表1520。在 操作中,在选择了 "本地apps"表示1525时,用户可以被导向图16的以本地为中心的页面 1610。列表1520内的其它表示的选择可以将用户导航到其它页面,诸如上面所被讨论的以 web为中心的或以地点为中心的页面。
[0138] 本发明的实施例提供了图11的所选应用1108能够被显现在的其它入口点。例如, 如上面所提到的那样,所选apps 1108可以被呈现在移动主页和/或搜索主页上。因此,应 用1108能够被呈现在搜索的界限外。事实上,图15和16的Π 显示1500和1610可以简 单地使用信号1106和/或1107在搜索的操作上下文外被生成。
[0139] 在另一例子中,在搜索的界限外的操作上下文牵涉将对该组有效应用的apps 1108的选择呈现在移动设备的锁定的主屏幕上。一般地,锁定的主屏幕在最初给移动设备 加电时在用户登录之前遇到。也就是说,锁定的主屏幕在键入适当的凭证并且到达解锁的 主屏幕之前遇到。
[0140] 在又一个例子中,如参考图15上面所提到的,在搜索的界限外的操作上下文可以 牵涉在移动设备的解锁的主屏幕1500上响应于用户选择了表示1525来呈现apps的选择。 解锁的主屏幕1500在用户在给移动设备加电之后正确地登录时遇到。在这个实例中,移动 设备本身的物理位置可以规定apps 1525的选择的内容。有利地,主屏幕的操作上下文单 独地牵涉位置信号,而无需用户执行任何特定动作。进一步地,对apps 1108的选择可以在 用户移动时自动地更新(例如,使用用于感测位置中的改变的内部软件,所述位置中的改变 触发apps到移动设备1105的推送)。通过例子,因为用户的位置中的改变在主屏幕上发动 对apps的更新,所以在主屏幕上呈现的apps可以改变以便在用户正在迪斯尼乐园里绕公 园行走时指示各种游乐设施。
[0141] 参考图17,依照本发明的实施例的用于使用基于位置的信息来显现一个或多个 应用的方法1700的总体流程图被示出。最初,方法1700包括步骤:自动地检测在正由用 户所操作的移动装置处的位置信号(见框1710)以及使用该位置信号来识别一组有效的应 用。在实施例中,位置信号表示被键入到移动设备或者从移动设备接收到的基于位置的信 息(见框1712)。在特定实例中,使用位置信号来识别该组有效的应用的过程包括以下步骤: 对照维护apps与它们相应的地理边界之间的映射的应用清单来比较位置信号(见框1714); 以及,基于比较,将被映射到满足位置信号的地理边界的那些apps指定为该组有效的应用 (见框1716)。在识别了该组有效的应用时,方法1700可以进一步牵涉将对包括在该组有效 的应用内的apps的选择发送到移动设备以用于在操作上下文内显示给用户,如在框1718 所指示的。
[0142] 在其它实例中,方法1700可以牵涉自动地检测在移动设备处的任务信号。一般 地,任务信号表示在移动设备处所被键入或者接收到的基于任务的信息。在操作中,任务信 号可以被用来识别一组相关的应用。例如,识别该组相关的应用可以包括以下步骤:对照维 护apps与它们相应的类别之间的映射的应用清单来比较任务信号;以及,基于比较,将被 映射到满足任务信号的类别的那些apps指定为该组相关的应用。因此,所选apps可以表 示对于该组相关的应用和该组有效的应用两者是共同的一批apps。
[0143] 现转向图18,依照本发明的实施例的用于选择要在计算设备的显示区域上呈现的 至少一个应用的方法1800的总体流程图被示出。方法1800 -般地牵涉选择要在计算设备 的显示区域上呈现的至少一个应用。在一个实例中,方法1800包括为(一个或多个)应用识 别一个或多个地理边界,如在框1810处所指示的。特别地,识别的过程包括以下步骤:在提 交给应用市场内的目录时从伴随(一个或多个)应用的元数据中提取本地意图(见框1812); 以及根据本地意图来分配一个或多个地理边界(见框1814)。
[0144] 在特定实例中,元数据可以包括规定或者固有地涉及与(一个或多个)应用相关联 的位置的名称或描述。在这个实例中,根据本地意图来分配地理边界牵涉隐式地用与所规 定的位置或固有位置相符的地理边界来给(一个或多个)应用加标签。
[0145] 方法1800可以附加地牵涉将地理边界映射到(一个或多个)应用(见框1816),以 及将映射存储在应用清单内(见框1818)。在一个实例中,将地理边界映射到(一个或多个) 应用包括直接地将(一个或多个)应用映射到所规定的位置。在另一实例中,将地理边界映 射到(一个或多个)应用包括间接地将(一个或多个)应用映射到固有位置。
[0146] 在某个后面的时刻,如在框1820处所指示的,位置信号可以从计算设备(例如,移 动手机)被接收,其中位置信号表示由计算设备所提供的基于位置的信息。典型地,位置信 号对照应用清单被比较(将框1822),并且(一个或多个)应用根据比较被选择用于显示在计 算设备上(见框1824)。
[0147] 在其它实施例中,方法1800可以牵涉检测到开发者提交了与(一个或多个)应用相 关联的特定位置。在这个实例中,根据本地意图来分配地理边界包括显式地用与该特定位 置相符的地理边界来给(一个或多个)应用加标签。
[0148] 方法1800还可以牵涉收集计算设备的遥测数据。在实施例中,遥测数据捕获用户 访问、下载、启动至少一个app所在的位置。在遥测数据被从各种用户收集到后,(一个或多 个)应用就可以被映射到与该遥测数据相符的地理位置。
[0149] 本发明的各种实施例已被描述为说明性的而不是约束性的。替代实施例在不背离 本发明的实施例的范围的情况下将时常变得明显。应当理解,特定特征和子组合是有用的, 并且可以在没有参考其它特征和子组合的情况下被采用。这被权利要求的范围设想到并且 在权利要求的范围内。
【权利要求】
1. 一个或多个计算机可读媒体,其具有体现在其上的计算机可执行指令,所述计算机 可执行指令当被执行时,执行用于使用基于位置的信息来显现一个或多个应用的方法,所 述方法包括: 自动地检测正由用户操作的移动设备处的位置信号,其中位置信号表示被键入到移动 设备或者从移动设备接收到的基于位置的信息; 使用位置信号来识别一组有效的应用,其中识别的过程包括: (a) 对照维护apps与它们相应的地理边界之间的映射的应用清单来比较位置信号; (b) 基于比较,将被映射到满足位置信号的地理边界的那些apps指定为该组有效的应 用; 将包括在该组有效的应用内的apps的选择发送到移动设备以用于在操作上下文内显 示给用户。
2. 根据权利要求1所述的媒体,其中所述操作上下文牵涉响应于在联机搜索期间所 键入的查询将该组有效的应用中的apps的选择呈现在用户界面(UI)显示上。
3. 根据权利要求2所述的媒体,其中呈现该组有效的应用中的apps的选择包括: 将apps的选择集成在初始的该组搜索结果内;以及 将apps的选择中的至少一个与初始的该组搜索结果同时地显现在Π 显示上。
4. 根据权利要求1所述的媒体,其中所述操作上下文牵涉将该组有效的应用中的 apps的选择呈现在移动设备的锁定的主屏幕上,其中锁定的主屏幕在最初给移动设备加电 时在用户登录之前被遇到。
5. 根据权利要求1所述的媒体,其中所述操作上下文牵涉将该组有效的应用中的 apps的选择呈现在移动设备的解锁的主屏幕上,其中解锁的主屏幕在用户在给移动设备加 电之后登录时遇到。
6. 根据权利要求1所述的媒体,其中所述方法进一步包括:其中识别该组相关的应用 包括: 对照维护apps与它们相应的类别之间的映射的应用清单来比较任务信号,其中任务 信号表示在移动设备处正被键入或者接收到的基于任务的信息;以及 基于比较,将被映射到满足任务信号的类别的那些apps指定为该组相关的应用。
7. -种用于在从移动设备接收到基于位置的信息和基于任务的信息时识别一组有效 的应用的计算机系统,所述计算机系统包括: 用于容宿应用清单的数据储存器,所述应用清单包括从应用市场挖掘的应用的列表, 其中列表内的应用被映射到相应的地理边界和类别; 用于提供位置信号和任务信号的移动设备,其中位置信号表示由移动设备的用户所键 入的或从移动设备的地理位置得到的基于位置的信息,并且其中任务信号表示基于任务的 信息,所述基于任务的信息暴露在移动设备上被执行的用户发起的操作;以及 处理设备,用于从移动设备接收位置信号和任务信号,用于对照应用清单来比较位置 信号以便识别映射到对于位置信号为有效的地理边界的一个或多个应用,用于对照应用清 单来比较任务信号以便识别映射到对于任务信号为相关的类别的一个或多个应用,用于从 一个或多个有效的应用或一个或多个相关的应用的重叠集选择应用。
8. -种由处理单元执行以便选择要在计算设备的显示区域上呈现的至少一个应用的 计算机化的方法,所述方法包括: 为至少一个应用识别一个或多个地理边界,其中识别的过程包括: (a) 在提交给应用市场内的目录时从伴随至少一个应用的元数据中抽象本地意图; (b) 根据本地意图来分配一个或多个地理边界; 将一个或多个地理边界映射到所述至少一个应用; 至少暂时将映射存储在应用清单内; 接收表示由计算设备所提供的基于位置的信息的位置信号; 对照应用清单来比较位置信号; 根据比较来选择至少一个应用以用于显示在计算设备上。
9. 根据权利要求8所述的方法,其中元数据包括规定或者固有地涉及与至少一个应 用相关联的位置的名称或描述,并且其中根据本地意图来分配一个或多个地理边界包括隐 式地用与所规定的位置或固有位置相符的一个或多个地理边界来给所述至少一个应用加 标签。
10. 根据权利要求9所述的方法,其中将一个或多个地理边界映射到至少一个应用包 括直接地将至少一个应用映射到所规定的位置或者间接地将至少一个应用映射到固有位 置。
【文档编号】H04W4/02GK104115147SQ201380009598
【公开日】2014年10月22日 申请日期:2013年2月10日 优先权日:2012年2月16日
【发明者】M.马哈简, A.库马 申请人:微软公司