针对应用协助的自动上下文敏感搜索的制作方法

文档序号:10663605阅读:197来源:国知局
针对应用协助的自动上下文敏感搜索的制作方法
【专利摘要】通过生成基于上下文的帮助给应用用户提供帮助的系统和方法搜索在公共网络上由第三方使之可用的公共可用的帮助信息。该系统和方法确定是否在使用主要计算应用和主要计算的使用的上下文中用户将受益于协助。执行基于上下文的搜索查询,以检索与所需要的帮助相关的公共可用的网络驻留帮助信息,并且这些结果被输出至显示器。
【专利说明】
针对应用协助的自动上下文敏感搜索
【背景技术】
[0001]诸如视听游戏之类的应用的用户被呈现被设计来增强其对于游戏的享受的许多挑战。玩家时常到达此时他们难以通过特别挑战的游戏中的点。游戏给用户呈现各种级别的困难,这使得在新手级别上通过一个关卡(Stage)不同于在更难级别上通过相同的挑战。一些用户求助于经由因特网来搜索帮助。时常,第三方张贴(post)描绘如何在游戏中通过特别困难关卡的“通关(walk through)”的书面描述和玩游戏视频。正常地,这意味着用户必须停止玩游戏、构造搜索并在返回到游戏之前查看帮助。用户通常具有有限的有关其在游戏中的位置的上下文的信息(例如,区域的名称是什么,他们正遭遇到什么老板(boss)),这使得用户难以自己建立搜索查询。

【发明内容】

[0002]呈现这样的技术,其在用户在应用中遭遇到问题时通过访问从第三方源或专用帮助数据库中可获得的帮助信息而给应用的用户在使用该应用时提供协助。该技术对于其中用户可能发现他们自己受困于在没有帮助的情况下他们不能克服的游戏中的特别场景或任务的游戏应用而言具有特别适用性。给应用用户提供帮助的系统和方法针对在公共网络上通过第三方而使之可用的公共可用的帮助信息来生成基于上下文的帮助搜索。该系统和方法确定是否用户在使用主要计算应用以及主要计算的使用的上下文中将受益于协助。执行基于上下文的搜索查询,以检索与所需要的帮助相关的公共可用的网络驻留(resident)帮助信息,并且这些结果被输出至显示器。
[0003]提供这个概述部分来以简化的形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并不打算识别所请求保护的主题的关键特征或基本特征,也不打算被用作辅助手段来确定所请求保护的主题的范畴。
【附图说明】
[0004]图1是说明根据本技术的方法的流程图。
[0005]图2A说明关于图1的方法的第一变体。
[0006]图2B说明关于图1的方法的第二变体。
[0007]图3A-3E是说明适合于实现本技术的系统以及系统之间的数据流的方框图。
[0008]图4是说明用于确定是否用户在应用中需要帮助的过程的流程图。
[0009]图5是说明用于使用实时事件系统来确定是否用户需要帮助的过程的流程图。
[0010]图6是说明用于确定应用中的用户的上下文的方法的流程图。
[0011 ]图7是说明创建搜索查询的第一方法的流程图。
[0012]图8是说明创建搜索查询的第二方法的流程图。
[0013]图9是说明提供搜索结果的输出至设备的过程的流程图。
[0014]图10是说明利用多个设备创建搜索查询的一种方法的流程图。
[0015]图11是实时事件系统的方框图。
[0016]图12是适合于实现本技术的第一处理设备的方框图。
[0017]图13是适合于执行本技术的第二类型处理设备的方框图。
[0018]图14是适合于实现本技术的第三类型处理似乎(seemed)设备的方框图。
【具体实施方式】
[0019]呈现给应用的用户提供上下文相关帮助的技术。上下文相关帮助基于通过第三方而使之可用的信息来提供,其中该信息通过搜索公共可用源或存储在利用多用户应用服务所提供的数据库中的公共可用源的选集(collect1n)而是可访问的。作出用户在应用中需要帮助的确定,并且应用中用户的进程或工作的上下文被确定。相对于公共可用的帮助信息来执行基于上下文的搜索查询,并且这些结果在相同的处理设备或配套(compan1n)处理设备上被返回至应用用户。该技术对于难以通过成就的游戏玩家而言是特别有利的,其中众多第三方已经提供有关如何完成麻烦任务的指示。虽然该技术被有利地使用在游戏中,但是该技术可以与许多类型的应用之中的任何应用一起进行使用。
[0020]图1是提供本技术的综述的流程图。图1的方法说明可以利用本文所说明的一个或多个处理设备来执行的一般步骤。在这个公开的上下文中,该技术将结合在主要处理设备上操作的主要应用的性能来描述。该应用可以是能够在主要处理设备上执行的任何类型的应用。该技术特别适用于游戏应用,其中用户可以在完成游戏内(in-game)成就中寻求帮助,并且利用完成游戏的某些关卡的重复失败能够检测到相对于某些游戏方面的失败。因此,术语玩家和用户被同义地使用。
[0021]在10上,作出有关是否用户已经到达其中用户需要协助的应用中的点的确定。在本文描述用于确定是否用户已经到达其中用户需要协助的应用中的点的方法。如果在10上的确定是用户需要协助,则在15上确定在应用内用户状态的上下文。应用中用户的上下文包括围绕用户在应用中正具有的问题的性质的信息。在该应用是游戏的情况下,上下文可以包括其中用户完成特别任务有问题的游戏中的点。在基于故事的游戏中,在游戏中提供标记用户通过特别游戏故事的进程的检查点。一般地,在故事中具有为了到达下一个检查点或成就而必须完成的任务。另外,游戏内用户的状态可以利用用户技能级别、游戏内清单、玩游戏历史和在完成以前任务中的记录来反映。所有这样的信息包括游戏的上下文。当用户到达其中用户重复相同的应用内(in-applicat1ns)任务而没有成功的应用中的特别点时,能够作出有关游戏上下文以及围绕与该特别应用和任务相关的术语所开发的搜索的确定。因此,在游戏应用中,用户技能级别、用户清单、游戏级别以及上下文的其它方面在15上进行确定。
[0022]一旦在15上确定游戏内的用户上下文,则在20上制定针对在所确定的上下文内的帮助的搜索查询。如下面所讨论的,搜索查询能够利用许多标准的商业搜索引擎之中的任何一个搜索引擎来运行,其中这些搜索引擎访问公共可用的、基于网络的数据源,以寻求帮助信息。在另一实施例中,搜索查询被制定来相对于数据库运行,其中数据库从公共可用的数据源中收集帮助信息并且以一种或多种方式将数据分类,这些方式包括例如按照应用和应用上下文来组织数据。基于公共可用的网络的数据源的示例包括网站、网络视频、博客和其它公布的信息,其中其它的用户或用户在应用的上下文中已提供如何实现特别任务的描述和/或演示。
[0023]在30上,在30上制定的查询被运行,以检索潜在帮助结果的列表。在一个实施例中,可以给用户提供结果的列表作为在40上的搜索的结果。当用户选择这些结果之中的一个结果以便呈现时,该结果被渲染在用于用户的界面中。
[0024]图2A和2B说明用于在20上制定搜索查询的两个可供选择的方案。在图2A中,第一类型的查询包括使用关键词相对于公共可用的网络资源的搜索。在65上,上下文的确定提供许多关键术语,其在被提供给搜索引擎时生成显示针对该应用的基于上下文的帮助的结果。使用基于上下文的关键词,在70上生成公共网络搜索查询。查询可以被运行在商业可用的搜索引擎上。图2b说明可供选择的方案,其中针对公共可用的帮助信息的数据库来创建搜索。公共可用的帮助信息的数据库可以由多用户服务提供商来创建和维护。多用户服务提供商的示例是由Microsoft Corporat1n(微软公司)提供的XBOX LIVE ?服务。该数据库可以包含至其中提供公共可用的帮助信息的公共地址的链接或者可以缓存公共可用的信息的各种拷贝,以便直接供应给搜索设备。在这样的数据库存在的情况下,针对每一个应用的学习信息的集合将随着时间的推移来创建,从而显示有关在哪里用户典型地需要帮助的趋势。另外,可以提供通用集合的搜索术语以及应用结构的表征。例如,可以与在特别游戏中寻求的成就相关来组织数据库。因此,在55上,搜索可以通过访问应用的已知结构来首先访问已知帮助信息的数据库,并且可以在60上提供结构化的查询来查询对于用户正具有的问题以及应用中的用户的表征而言特定的相关任务数据。
[0025]图3A至3E说明用于本技术的各种实施例的各种处理设备和设备之间的数据流。如在图3A至3E中所描述的,可以利用各种类型的设备来运行主要应用并提供基于上下文的帮助信息。可以在执行主要应用的处理设备或由主要应用和主要应用设备的用户所利用的辅助的配套设备上提供基于上下文的帮助信息。在图3A-3E中,这些设备之间的数据连接利用实线来说明,而数据流利用虚线来代表一应明白:这些附图中的实际数据流可以通过在这些设备自身之间或经由其中所代表的网络的物理或无线连接。
[0026]图3A说明本技术的第一实施例,其中计算环境300被利用来执行主要应用以及提供基于上下文的帮助信息。由计算环境300向运行主要应用的上下文帮助的网络驻留第三方数据350发出与主要应用的执行相关的基于上下文的搜索查询,并且这些结果被呈现在计算环境300上。
[0027]图3A说明计算环境300和经由网络80而可访问的网络驻留第三方数据350。网络80代表一系列的公共和/或私人网络诸如因特网,其允许在计算环境300和网络驻留第三方数据350之间的通信。应明白:虽然只说明一个计算环境300,但是根据该技术可以利用同时执行针对网络驻留第三方数据350的搜索的多个计算环境。计算环境300可以包括本文在图12-14中所说明的计算设备之中的一个计算设备。另外,应明白:可以在诸如那些在图12至14中所说明的一个或多个处理设备上提供网络驻留第三方数据350。
[0028]由应用用户利用计算环境300来执行主要应用320。(应用用户未被说明)。计算环境300—般包括网络接口 305、处理器306和存储器307。存储器可以包括例如主要应用320、用户上下文信息330和基于上下文的搜索应用335。显示器301可以被耦合到计算环境300。主要应用320在被执行时将提供应用内的用户的性能的上下文。这个上下文信息330可以利用应用来维护或者可以通过访问利用该应用所提供的信息来导出。在另一实施例中,从利用该应用分发给多用户事件服务的事件中导出上下文信息。基于用户上下文的搜索应用335能够经由网络80与网络驻留第三方数据350进行通信。可以在一个或多个服务器或网站上提供网络驻留第三方数据350,其中这一个或多个服务器或网站提供针对有关主要应用的用户的第三方生成的信息的访问,其中第三方生成的信息包括有关如何完成主要应用中的任务的描述、呈现、说明和教程,其全部是使用标准标准信息协议而可访问的。基于上下文的搜索应用335能够利用标准的网络搜索引擎诸如Microsoft’s BING ? (微软的必应? )搜索引擎或Google ? (谷歌? )搜索引擎来访问网络驻留第三方数据350。可供选择地或另夕卜,基于上下文的搜索应用335可以并入它自己的搜索技术。基于上下文的搜索结果能够提供对于普通用户而言已知的输出,其包括检索到的结果的列表,其中在此列表中具有检索内容并在已知的渲染媒体中显示内容的超链接。这样的渲染媒体可以包括具有用于渲染图形、音频和视频信息的已知插件的网络浏览器。
[0029]当确定将要获得针对主要应用的帮助时,基于上下文的搜索应用335将经由网络80、基于上下文信息330、相对于网络驻留第三方数据350生成搜索。潜在的帮助结果被返回至利用计算环境所提供的显示器301上的用户界面。
[0030]在图3A的实施例中,计算环境300执行主要应用以及启动和检索上下文搜索信息的结果二者。
[0031]图3B说明其中利用配套计算环境312的本技术的可供选择的实施例。配套计算环境312—般包括网络接口 333、网络处理器336、存储器337以及显示器334。配套计算环境312可以包括其它元素,诸如照相机338、传感器339和显示器334。如图3B中所说明的,配套计算环境312是平板设备,但是包括计算环境300和在图12-14中所说明的那些设备的任何类型的处理设备在这个上下文中可以充当配套计算环境。图3B也说明本地网络75连接计算环境300和计算环境312。应明白:本地网络75可以是本身连接到网络80的私人网络。进一步应明白:本地网络75不需要被利用在图3B的实施例中,但是被说明来呈现其中可以使用本技术的主题的通用配置。
[0032]在图3B所示的实施例中,从主要应用提供上下文信息至计算环境312。配套计算环境312包括基于上下文的搜索应用335,其基于上下文信息相对于网络驻留第三方数据350生成搜索。上下文帮助结果被返回至配套计算环境312,以便在计算环境312的显示器334上呈现。
[0033]在又一实施例中,图3B中所说明的相同配置可以将帮助结果返回至计算环境300而非配套计算环境312。
[0034]图3C说明又一实施例,其中多用户应用服务提供网络驻留第三方数据350的上下文帮助数据库。在这个实施例中,从计算环境300提供上下文信息至计算环境312。计算环境312上的基于上下文的搜索应用335相对于上下文帮助数据库360来运行搜索,并且基于上下文的帮助结果被提供至配套计算环境312。如在图3A的实施例中,这些结果可以可供选择地被提供至计算环境300。多用户应用服务370可以生成重复搜索,以更新数据库360。作为接收针对每一个事件的上下文信息330的结果,针对利用计算环境312生成的每一个搜索,能够更新上下文帮助数据库360,或者数据库360中的信息能够利用多用户应用服务370以一定间隔进行更新。例如,多用户应用服务370能够连续地更新数据库,以致利用计算环境312所请求的搜索总是接收在基于网络的第三方数据350中可获得的最新的信息。
[0035]在图3C所示的实施例中,利用在计算环境312上操作的基于上下文的搜索应用335来生成搜索。然而,应该认识到:基于上下文的搜索应用335能够驻留在计算环境300上以搜索数据库360,并且没有配套计算环境312被使用。在再一实施例中,能够利用计算环境312生成搜索,并且这些结果被反向提供至计算环境300。
[0036]图3D说明其中多用户应用服务提供实时事件服务380的本技术的实施例。在图3D中,来自应用320的事件数据被提供至事件服务102。第三方应用和基于上下文的搜索应用335可以向事件服务380订阅(subscribe to)利用事件服务102所提供的事件和统计量并且获得用户上下文信息。事件服务380提供许多应用编程接口和数据馈送,其允许诸如配套计算环境312之类的任何计算环境访问利用主要应用320所生成的事件。在这个实施例中,应用335可以订阅服务102,并且根据计算环境312上的应用335来生成搜索,以响应利用事件服务102所提供的事件数据。在这个上下文中,能够直接相对于驻留在网络80上的第三方数据350来运行搜索。在图3E所示的实施例中,也在多用户应用服务上提供上下文帮助数据库360,并且上下文帮助搜索可以相对于上下文帮助数据库360来运行。
[0037]如在图3D和3E中所说明的,搜索结果被返回至计算环境312。如上面所提到的,搜索结果能够被直接反向提供至计算环境300。
[0038]在给定图3A-3E中所说明的各种实施例的情况下,将认识到:根据本文中的技术,具有任何数量的配置,用于分发事件数据和工作负载,以生成上下文敏感的帮助搜索以及返回上下文敏感的帮助结果。
[0039]该技术可以与利用多用户应用服务370所提供的事件服务102—起使用。能够由主要应用开发商来开发并且补充的应用开发商将希望针对其来开发辅助应用的任何类型的应用能够受益于本文所描述的技术。图11说明事件服务102,其经由网络80被耦合至一个或多个处理设备100(包括计算环境300、312)。
[0040]实时事件服务102包括实时数据系统110、存储库(repository)数据系统140、游戏管理服务126、用户鉴别服务124、API 138以及用户帐户记录130。一般在处理设备100上执行应用,并且主要应用(诸如游戏)生成和输出应用事件。根据该技术,离散的或聚集的事件被发射到实时事件服务102以及被发射到辅助应用诸如在其它处理设备诸如计算环境312上执行的搜索应用335。事件的示例是那些可以发生在游戏的上下文中的事件。例如,在赛车游戏中,最高速度、平均速度、赢、输、布局等等全部是可以发生的事件。在动作游戏中,开枪射击、得分、杀死、使用的武器、达到的级别等等以及其他类型的成就全部是可以发生的事件。在一个实施例中,利用多用户游戏服务为事件生成统计量。
[0041 ]包括存储库数据系统140和实时数据系统110以及APl 138的多用户事件服务102的组成部分连同这些系统之间的事件流和数据流一起进行说明。在事件数据利用主要应用处理设备100来生成时,这些事件利用通过API被发射至存储库数据系统140和实时数据系统110 二者的服务102来收集。这个事件数据利用实时数据系统110和存储库数据系统140来变换和维护。通过获得/订阅API 302、304,信息被返回至处理设备100。实时数据系统110给存储库数据系统140馈送利用实时数据系统110所创建的事件和统计信息,以便由存储库数据系统用于跟踪事件和验证利用实时数据系统110所提供的信息的精确度。存储库数据系统反过来利用它认为已丢失或需要校正的任何信息来更新实时数据系统110。
[0042]实时数据系统110以事件和统计量的形式提供实时游戏信息至可以建立应用来使用该服务的辅助应用开发商以及存储库数据系统140。诸如基于上下文的搜索应用335之类的应用是辅助的,这是因为它们支持主要应用320的功能。实时数据系统110从许多处理设备之中的任何处理设备上的多个运行主要应用中接收事件数据,并将这些事件变换为对于辅助应用开发商而言是有用的数据。统计量服务可以利用应用服务来提供并且给第三方应用开发商提供不同类型的统计量和信息。另一示例是针对事件服务102或个别游戏内的成就的排行榜服务。多用户应用服务的附加细节可以在题为APPLICAT1N EVENTDISTRIBUT1N SYSTEM(应用事件分发系统)的美国申请序列号14/167,769(其被本申请的受让人共同拥有)中找到。
[0043]图4-10说明用于完成图1所示的步骤的各种技术。图4是说明用于确定是否用户在应用的性能中需要协助的方法的流程图。在一个实施例中,图4提供完成图1中的步骤10的方法。
[0044]在402上,涉及应用的用户的性能的数据被接收。如上面所提到的,信息可以利用搜索应用诸如运行在与该应用相同的处理设备或对于该应用的用户而言可访问的配套计算环境312上的应用335来接收。如本文所描述的,经由利用主要应用或事件服务102所提供的API,可以直接从主要应用接收数据。在404上,应用内用户的位置被检测。这可以包括检测游戏内用户的位置以及确定用户的位置的上下文。应用中用户的上下文包括围绕用户在应用中正具有的问题的性质的信息。在406上,作出有关是否用户已重复应用中的特别任务或挑战而超过阈值次数的确定。例如,如果用户已尝试通过特别成就但是还没有成功的话,那么在步骤406上的确定将登记肯定的(affirmati ve)。应认识到:对于可以决定是否需要帮助的阈值和任务而言,存在许多可供选择的方案。在一些情况中,单个失败或未完成的任务可能足以启动搜索。在其它情况中,使用失败的更高数量。如果用户没有重复阈值次数的任务或挑战,那么可以作出有关是否可以在408上构造用户帮助的某一其它限定词的确定。例如,在应用的用户界面中,可以提供允许用户向上下文敏感搜索应用请求帮助高达三十五次的选择器。如果或406或408是肯定的,则在410上启动帮助搜索。
[0045]图5说明用于当在上面描述的系统中使用事件服务102时确定用户在哪里需要帮助的方法的附加步骤。在412上,对于订阅服务102的任何应用而言,来自实时事件服务102的事件或统计流在414上被访问。服务102的一个组成部分可以生成需要帮助的统计量。需要帮助的统计量或事件可以是利用服务102使用步骤406或408的技术所生成的指示符或者能够启动基于上下文的帮助搜索的由用户进行的人工请求。如果需要帮助的统计量在416上是可用的,则在418上能够根据所提供的事件或统计量作出需要帮助的确定。这能够在410上直接启动帮助搜索。如果需要帮助的统计量不是可用的话,则利用事件服务102所提供的事件可以被提供至在步骤406和408上的确定,以确定是否将在410上启动帮助搜索。
[0046]图6是说明用于完成图1的步骤15以确定应用中的用户状态的上下文的方法的流程图。在622上,基于应用上下文数据并且在一个选项中基于在应用性能中已知的麻烦点,作出有关需要完成的用户任务的确定。在执行某些游戏的上下文中,在由多个用户重复玩游戏之后,能够收集有关是否用户典型地在实现游戏的某些方面中发现困难的知识。这能够用于添加至或上下文帮助数据库或基于上下文的搜索应用335中的上下文数据确定。例如,应用335可以利用有关由其它用户针对特别任务所使用的以前有效的搜索和结果的数据随着时间的推移来更新,从而增加在未来搜索中基于上下文的搜索的效率。在624上,任务的目标被确定。一些目标将要求一个人执行某些行动或者特写(feature)游戏中的组成部分。在626上,作出有关完成任务所必要的任何递增(incremental)步骤和要求(如果有的话)的确定。例如,在没有特别车辆或特别武器的情况下,可能不可能在赛车游戏或战斗游戏中打败特别对手。递增步骤可以是获得完成在624上所确定的最终目标或任务所必要的车辆或工具。在628上,作出有关应用中实际的用户装备和能力是什么以及是否这些装备或能力满足在626上所确定的任务递增步骤的确定。能够利用这个上下文信息来开发根据该技术执行上下文帮助搜索所必要的关键词。
[0047]图7是用于在图1中在步骤20上制定搜索查询的第一实施例,其中该查询将相对于网络驻留第三方数据350来运行。该搜索能够利用处理设备和应用335之一或在更新多用户上下文帮助数据库360时利用多用户应用服务370来正确执行。在722上,收集与游戏相关的潜在相关的关键词搜索术语。示例包括游戏标题、序列、引用用户的游戏内的里程碑或成就、成就寻求和/或检查点名称。应认识到:任何数量的不同类型的关键词可以在722上进行确定。在724上,作出是否特别限制因素对于每一个应用而言是必要的确定。某些游戏和应用利用非常通用的并且在被搜索时将返回不完全的或过度(搜索)造成(overreaching)的结果的标题和词。例如,具有标题“open wheel racing(开轮式赛车)”的游戏可能检索有关游戏以及赛车的运动二者的结果。针对具有常用词的标题或大受欢迎游戏的搜索限制因素可以包括在具体引用中放置游戏标题来将搜索限制于确切词组,或添加术语来识别处理设备的特定平台或特定应用版本。在726上,创建该应用的具体搜索术语。随后,在测试之后,可以在728上提供针对从722中导出的上下文相关搜索术语的添加或修正。
[0048]在一些实施例中,步骤722-726利用应用来执行。在其它实施例中,通过创建利用人类搜索专家所创作的搜索的参考图书馆,能够针对特定主要应用来精选(cull)搜索。在这样的实施例中,搜索在伴随着应用335的搜索参考数据库中供应之前可以被测试并被修正,并且基于上下文的搜索通过参考人类构造的搜索或搜索字符串来执行,其中这些搜索或搜索字符串稍后可以针对具体应用上下文进行组合。例如,对于有关游戏Halo(晕)的数据的搜索可以利用有限的字符串“Halo for PC”来开始,其中具体上下文诸如"achievement one(成就一)”被添加至该有限的字符串。因而,针对该游戏所得到的关键词查询可以是例如“Halo for PC defeat achievement one(用于PC的晕击败成就一)”。
[0049]图8是用于制定搜索查询120的第二实施例,其中查询将相对于诸如数据库360之类的搜索数据库来运行。被配置成相对于具体帮助数据库来运行的搜索可以轻微地不同,这是因为数据库和服务可以随着时间的推移来学习其中用户寻求帮助信息的应用中的特殊点。在步骤822上,针对已知为需要的已知系列的帮助点来匹配应用中的上下文点。在824r,制定基于术语和数据库的针对应用任务的具体搜索。在826上,相对于其中用户寻求帮助的应用上下文中的点的帮助数据库中的游戏具体数据被访问。在828上,上下文相关的搜索术语可以被添加,其包括应用中的特殊点上的用户清单的具体特性。
[0050]图9是说明用于如在图1的步骤40中向输出设备呈现搜索结果的方法的流程图。在步骤902上,确定输出设备的能力。搜索的结果可以提供音频、视频、文本和图像二者。一些设备可能不包括渲染帮助反馈的所有类型的视听格式的能力。在902上,该方法确定是否该设备能够渲染可以通过搜索来接收的帮助的类型之中的每一种类型。在904上,作出有关是否在针对其请求帮助的主要应用正在运行时该搜索将被渲染在相同的设备或单独的设备上的确定。如果搜索结果将被提供在相同的输出设备(例如图3A的计算环境300)上,那么在906上作出是否应用和帮助二者的同时显示是可能的确定。例如,Xbox ONE具有在“捕捉(snap)”窗口中显示信息的能力,并且这将使之能够在输出设备上同时显示帮助和主要应用。在步骤910上,在源设备上根据其能力显示搜索结果。这可以包括在显示器的单独区段中显示帮助、完全接管显示器或者等待直到主要应用已停止执行并且在用户所希望的时间上提供帮助的单独显示。在910上和在911上在设备上显示所检索的帮助结果的选择,以响应所检索的所列出的帮助项目的选择,帮助资源被显示在主要应用处理环境输出设备上。如果单独或配套处理设备用于显示搜索的结果,那么所检索的帮助结果的选择被显示在辅助设备上,并且在912上,响应于所检索的所列出的帮助项目的选择,帮助资源被显示在配套处理环境输出设备上。
[0051]图10是说明利用计算环境300、环境312和搜索引擎之中的每一个来执行的步骤的一个实施例的流程图,以执行基于上下文的帮助查询。在一个实施例中,每一个搜索应用335可以包含与用于主要应用的上下文相关联的已知应用的查询或查询的部分的表格。主要应用(或事件服务,在一个实施例中)可以访问查询表格以检索全搜索或用于建立全搜索查询的搜索字符串。在又一实施例中,该表格是散列(hash)表格,并且来自主要应用的散列指示应用内用户针对其需要帮助的上下文。
[0052]在步骤1002上,请求帮助所需要的帮助的检测根据图4来确定。在步骤1004上,识别能够用于建立搜索查询的一个或许多搜索术语的散列标签被从主要应用处理环境诸如环境300输出到配套设备。在步骤1006上,在配套处理环境上,通过参考散列表进行关键词列表查找。在步骤1008上,根据利用由主要应用设备所提供的散列标签所识别的关键词来建立搜索查询。在步骤1010上,公共网络上的关键词搜索查询通过将该查询发射至搜索引擎来启动。在步骤1012上,搜索引擎相对于公共可用的网络驻留第三方数据350来执行搜索查询。在步骤1014上,该搜索的输出被返回至配套设备。在1016上,生成搜索结果的用户界面,并且依据在1018导致的选择,帮助信息被显示在配套设备上。
[0053]图12是游戏和媒体系统200的功能方框图并且更详细地显示游戏和媒体系统200的功能组件。控制台(conSole)292具有中央处理单元(CPU)275和存储器控制器202,其中存储器控制器方便处理器访问各种类型的存储器,其包括闪速只读存储器(R0M)204、随机访问存储器(RAM)206、硬盘驱动器208以及便携式媒体驱动器207。在一种实现方式中,CHJ275包括级别I缓存210和级别2缓存212,以便临时存储数据并因此减少针对硬盘驱动器208进行的存储器访问循环的数量,从而改善处理速度和吞吐量。
[0054]CPU 275、存储器控制器202以及各种存储器设备经由一条或多条总线(未示出)进行互连。在这种实现方式中使用的总线的细节对于理解本文中正讨论的感兴趣的主题而言不是特别相关的。然而,将明白:这样的总线可能包括使用各种各样的总线架构之中的任何架构的串行和并行总线、存储器总线、外设总线以及处理器或本地总线之中的一种或多种总线。通过示例,这样的架构能够包括Industry Standard Architecture(工业标准架构)(ISA)总线、Micro Channel Architecture(微通道架构)(MCA)总线、Enhanced(增强)ISA(EISA)总线、Video Electronics Standards Associat1n(视频电子标准协会)(VESA)本地总线以及也被称为Mezzanine(夹层)总线的Peripheral Component Interconnects(外设组件互连)(PCI)总线。
[0055]在一种实现方式中,CPU 275、存储器控制器202、R0M 204以及RAM 206被集成在通用模块214上。在这种实现方式中,ROM 204被配置成闪速ROM,其经由PCI总线和ROM总线(二者都未示出)被连接到存储器控制器202 AAM 206被配置成多个Double Data RateSynchronous Dynamic(双倍数据速率同步动态)RAM(DDR SDRAM)模块,其经由单独的总线(未示出)利用存储器控制器202来独立控制。硬盘驱动器208和便携式媒体驱动器106被示出为经由PCI总线和AT Attachment(附件)(ATA)总线216被连接到存储器控制器202。然而,在其它的实现方式中,不同类型的专用数据总线结构也能够在可供选择的方案中被应用。
[0056]图形处理单元220和视频编码器222形成视频处理管道(pipeline),用于高速和高分辨率(例如,High Definit1n(高清晰度))图形处理。经由数字视频总线(未示出)将数据从图形处理单元220运载到视频编码器222。音频处理单元224和音频编解码器(编码器/解码器)226形成用于各种数字音频格式的多通道音频处理的对应的音频处理管道。音频数据经由通信链路(未示出)在音频处理单元224和音频编解码器226之间进行运载。视频和音频处理管道输出数据至A/V(音频/视频)端口228,以便传输至电视或其它显示器。在所说明的实现方式中,视频和音频处理组件220-228被安装在模块214上。
[0057]图12示出模块214,其包括USB主机控制器230和网络接口 232 WSB主机控制器230被示出为经由总线(例如PCI总线)与CPU 275和存储器控制器202进行通信,并且充当外设控制器104(I)-104(4)的主机。网络接口232提供针对网络(例如因特网、家庭网络等等)的访问并且可以是种类繁多的包括以太网卡、调制解调器、无线接入卡、Bluetooth(蓝牙)模块、电缆调制解调器等等的各种有线或无线接口组件之中的任何组件。
[0058]在图12所描绘的实现方式中,控制台292包括用于支持四个控制器294(1)-294(4)的控制器支持部件240。控制器支持部件240包括利用外部控制设备例如诸如媒体和游戏控制器来支持有线和无线操作所需要的任何硬件和软件组件。前面板1/0部件242支持电源按钮282、退出按钮284以及被暴露在控制台292的外表面上的任何LED(发光二极管)或其它指示器的多个功能。部件240和242经由一个或多个电缆配件244与模块214进行通信。在其它的实现方式中,控制台292能够包括附加的控制器部件。所说明的实现方式也显示出光学I/O接口 235,其被配置成发送和接收能够被传送至模块214的信号。
[0059]MU 270(1)和270(2)被说明为分别可连接至MU端口 “A”280(1)和“B”280(2)。附加的MU(例如MU 270(3)-270(6))被说明为可连接至控制器294(1)和294(3),S卩,对于每一个控制器而言,两个MU。控制器294(2)和294(4)也能够被配置成接收MU(未示出)。每一个MU270提供在其上面可以存储游戏、游戏参数和其它数据的附加储存器。在一些实现方式中,其它数据能够包括数字游戏组件、可执行游戏应用、用于扩展游戏应用的指令集以及媒体文件之中的任何一种。当被插入到控制台292或控制器中时,MU 270能够被存储器控制器202访问。系统电源模块250给媒体系统200的组件提供电源。风扇252冷却控制台292内的电路。
[0060]包括机器指令的应用260被存储在硬盘驱动器208上。当控制台292被通电时,应用260的各个部分被加载到RAM 206、和/或缓存210和212中,以便在CPU 275上执行,其中应用260是一个这样的示例。各种应用能够被存储在硬盘驱动器208上,以便在CPU 275上执行。
[0061]游戏和媒体系统200可以通过简单地将该系统连接到监视器、电视、视频投影仪或其它显示设备而作为独立系统来操作。在这种独立模式中,游戏和媒体系统200使得一个或多个用户能够玩游戏或者例如通过观看电影或收听音乐来享受数字媒体。然而,随着通过网络接口 232而使得宽带连接性的集成是可用的,游戏和媒体系统200可以进一步作为更大网络游戏社区中的参与者来操作,如结合图1所讨论的。
[0062]图13说明用于实现所公开的技术的操作的通用计算设备。参考图13,用于实现所公开的技术的实施例的示例系统包括采用计算机510的形式的通用计算设备。计算机510的组件可以包括但不限于处理单元520、系统存储器530和系统总线521,其中系统总线521将包括系统存储器的各种系统组件耦合到处理单元520。系统总线521可以是若干类型的总线结构之中的任何总线结构,其包括使用各种各样的总线架构之中的任何架构的存储器总线或存储器控制器、外设总线以及本地总线。通过示例而非限制,这样的架构包括IndustryStandard Architecture!;ISA)总线、Micro Channel Architecture(MCA)总线、EnhancedISA(EISA)总线、Video Electronics Standards Associat1n(VESA)本地总线以及也被称为Mezzanine总线的Peripheral Component Interconnect(PCI)总线。
[0063]计算机510典型地包括各种各样的计算机可读取媒体。计算机可读取媒体能够是利用计算机510能够访问的任何可用媒体,并且包括易失性和非易失性媒体、可移除和不可移除媒体二者。通过示例而非限制,计算机可读取媒体可以包括计算机存储媒体。计算机存储媒体包括采用用于信息诸如计算机可读指令、数据结构、程序模块或其它数据的存储的任何方法或技术来实现的易失性和非易失性、可移除和不可移除媒体二者。计算机存储媒体包括但不限于RAM、R0M、EEPR0M、闪速存储器或其它存储器技术、CD-R0M、数字多用盘(DVD)或其它光盘储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备或者能够用于存储所希望的信息并能够利用计算机510来访问的任何其它介质。
[0064]系统存储器530包括采用易失性和/或非易失性存储器诸如只读存储器(R0M)531和随机存取存储器(RAM)532的形式的计算机存储媒体。包含帮助诸如在启动期间在计算机510内的元素之间传递信息的基本例程的基本输入/输出系统533(B10S)典型地被存储在ROM 531中。RAM 532典型地包含数据和/或程序模块,其对于处理单元520而言是立即可访问的和/或目前正由处理单元520对其进行操作。通过示例而非限制,图13说明操作系统534、应用程序535、其它程序模块536以及程序数据537。
[0065]计算机510也可以包括其它的可移除/不可移除、易失性/非易失性计算机存储媒体。通过示例,图13说明硬盘驱动器541、磁盘驱动器551以及光盘驱动器555,其中硬盘驱动器541从不可移除、非易失性磁媒体中读取或写入不可移除、非易失性磁媒体,磁盘驱动器551从可移除、非易失性磁盘552中读取或写入可移除、非易失性磁盘552,而光盘驱动器555从诸如CD ROM或其它光学媒体之类的可移除、非易失性光盘556中读取或写入诸如CD ROM或其它光学媒体之类的可移除、非易失性光盘556。能够在示例性操作环境中使用的其它可移除/不可移除、易失性/非易失性计算机存储媒体包括但不限于磁带盒、闪速记忆卡、数字多用盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器541典型地通过诸如接口 540之类的不可移除存储器接口而被连接到系统总线521,并且磁盘驱动器551和光盘驱动器555典型地通过可移除存储器接口诸如接口 550而被连接到系统总线521。
[0066]在本文所讨论的并在图12-14中所说明的驱动器及其相关联的计算机存储媒体(或计算机存储介质)针对计算机510提供计算机可读指令、数据结构、程序模块和其它数据的存储。在图13中,例如,硬盘驱动器541被说明为存储操作系统544、应用程序545、其它程序模块546以及程序数据547。注意:这些组件能够与操作系统534、应用程序535、其它程序模块536以及程序数据537或相同或不同。操作系统544、应用程序545、其它程序模块546以及程序数据547在此被赋予不同的数字来说明:在最低限度上,它们是不同的拷贝。用户可以通过输入设备诸如键盘562和通常被称为鼠标、轨迹球或触摸板的指示设备561将命令和信息输入计算机510。其它输入设备(未示出)可以包括麦克风、操作杆、游戏垫、卫星天线(satellite dish)、扫描仪等等。这些和其它输入设备时常通过被耦合到系统总线的用户输入接口 560而被连接到处理单元520,但是可以利用其它接口和总线结构诸如并行端口、游戏端口或通用串行总线(USB)进行连接。监视器591或其它类型的显示设备也经由诸如视频接口 590之类的接口被连接到系统总线521 ο除了监视器之外,计算机也可以包括诸如扬声器597和打印机596之类的其它外设输出设备,其可以通过输出外设接口 590进行连接。
[0067]计算机510可以使用至诸如远程计算机580之类的一个或多个远程计算机的逻辑连接而操作在联网环境中。远程计算机580可以是个人计算机、服务器、路由器、网络PCji等设备或其它通用网络节点,并且典型地包括上面相对于计算机510所描述的元素之中的许多或所有元素,尽管在图13中只说明了记忆存储设备581。在图13中描绘的逻辑连接包括局域网(LAN)571和广域网(WAN)573,但是也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是司空见惯的。
[0068]当被使用在LAN联网环境中时,计算机510通过网络接口或适配器570而被连接到LAN 571。当被使用在WAN联网环境中时,计算机510典型地包括调制解调器572或用于在诸如因特网之类的WAN 573上建立通信的其它装置。可以是内部或外部的调制解调器572可以经由用户输入接口 560或其它适当机制而被连接到系统总线521。在联网环境中,相对于计算机510所描绘的程序模块或其部分可以被存储在远程记忆存储设备中。通过示例而非限制,图13将远程应用程序585说明为驻留在存储设备581上。将意识到:所示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它装置。
[0069]图14描绘用于实现所公开技术的操作的移动设备的示例方框图。典型的移动电话的示例电子电路被描绘。移动设备1400包括一个或多个微处理器1412和存储器1410(例如,诸如ROM之类的非易失性存储器和诸如RAM之类的易失性存储器),其存储利用控制处理器1412的一个或多个处理器来执行以实现本文所描述的功能的处理器可读代码。
[0070]移动设备1400可以包括例如处理器1412、存储器1410,其包括应用和非易失性储存器。处理器1412能够实现通信以及任何数量的应用,其包括本文所讨论的应用。存储器1410能够是各种各样的记忆存储媒体类型之中的任何类型,其包括非易失性和易失性存储器。设备操作系统处理移动设备1400的不同操作并且可以包含用于操作诸如设置和接收电话呼叫、文本消息传送、检查语音信箱等等的用户界面。应用1430能够是任何分类的程序,诸如用于照片和/或视频的照相机应用、地址簿、日历应用、媒体用户、因特网浏览器、游戏、报警应用或其它的第三方应用。存储器1410中的非易失性存储组件1440包含数据诸如网络缓存、音乐、照片、联系人数据、日程安排数据以及其它文件。
[0071]处理器1412也与反过来被耦合到天线1402的RF发射/接收电路1406、与红外发射/接收器1408以及与诸如加速计和磁力计1415之类的运动/方位传感器1414进行通信。加速计已被并入移动设备中,以启用这样的应用作为让用户通过手势输入命令的智能用户界面、在与GPS卫星进行的联系被断开之后计算该设备的运动和方向的室内GPS功能,以及检测该设备的方位并且在电话被旋转时自动地将显示从人像改变为景观。加速计能够例如利用微机电系统(MEMS)来提供,其中MEMS是在半导体芯片上建立的(微米尺寸的)微小机械设备。加速度方向以及方位、振动和冲击能够被感测。处理器1412进一步与响铃器/振动器1416、用户界面小型键盘/屏幕1418、扬声器1420、麦克风1422、照相机1424、光传感器1426以及温度传感器1428进行通信。磁力计已被并入移动设备中,以启用这样的应用作为数字罗盘,其测量磁场在移动设备的附近的方向和大小、跟踪磁场的变化并且向用户显示磁场的方向。
[0072]处理器1412控制无线信号的发射和接收。在发射模式期间,处理器1412给发射/接收电路1406提供来自麦克风1422的话音信号或其它数据信号。发射/接收电路1406发射信号至远程站(例如,固定站、操作器、其它蜂窝电话等等)以便通过天线1402进行通信。响铃器/振动器1416用于向用户用信号传送(signal)输入呼叫、文本消息、日历提醒、闹钟提醒或其它通知。在接收模式期间,发射/接收电路1406通过天线1402从远程站接收话音或其它数据信号。接收的话音信号被提供至扬声器1420,而其它接收的数据信号也被适当地处理。
[0073]另外,物理连接器1488能够用于将移动设备1400连接到外部电源,诸如AC适配器或通电的对接站。物理连接器1488也能够被用作至计算设备的数据连接。数据连接虑及诸如将移动设备数据与另一设备上的计算数据进行同步之类的操作。利用基于卫星的无线电导航来中继用户应用的位置的全球定位服务(GPS)接收器1465为了这样的服务而被启用。
[0074]如上面所提到的,这个技术的一种实现方式包括被应用使用的图书馆,以便触发事件并将其推入变换流(transformat1n flow)。服务102包括客户端-服务器API i,以接受来自应用的事件的流并将其摄入利用服务102来管理的基于云的变换管道。事件服务102接受输入事件并且应用变换和聚合来提供统计量。这些统计量随后被存储在数据储存器中,并且值也被转发至其它服务。
[0075]存储库数据系统140创建能够被查询并被使用来随着时间的推移而生成显示事件/值的报告的历史档案文件。实时事件服务102暴露API,其允许所计算的值利用其它的内部和外部客户端和服务来检索。实时数据系统Il0进行所计算的值的馈送并且允许客户端和服务订阅来改变那些值的通知。
[0076]在可供选择的实现方式中,反而可以利用本地事件变换。本地变换可以是全部或部分的。一个或多个变换组件可以运行在处理设备100上并且将事件和统计量分发至其它处理设备100,而不是在处理设备上生成的所有事件被推送至事件服务102。不需要利用主机事件服务102直接与客户端发生通信;不与托管式服务发生通信。这些实施例显著地减少事件和统计分发的等待时间(latency ),这是因为其可以发生在本地网络或无线连接上。
[0077]上面的两种实现方式甚至能够同时出现并且同时服务于不同的配套应用(其中的一些被连接至主机应用、正在分析历史储存器的其它应用以及订阅针对所计算的值的实时改变的另一组应用)。
[0078]在又一实施例中,不需要由应用开发商或服务102来提供事件定义。在这样的情况中,每一个事件可以是自描述的。变换规则将查看每一个事件的结构并且使用基于图案(pattern)的方案来应用其规则。
[0079]该技术允许对于主要应用开发商的角色而言以最小的努力来激发(fire)触发高级集合的事件,并且将可扩展性的负担转移到利用这个技术所描述的变换系统上。这个去耦合也为第三方提供集成点:能够使得变换系统的输出可用于其它的开发商,并且那些开发商能够在主机应用的顶部建立体验而不牵涉主机应用的开发商。
[0080]尽管已经采用结构特征和/或方法动作所特定的语言描述了主题,但是将明白:在所附权利要求书中定义的主题不一定限制于上面描述的具体特征或动作。相反,上面描述的具体特征和动作被公开为实现这些权利要求的示例形式。
【主权项】
1.一种处理设备,可操作来执行给用户提供协助的方法,所述方法包括: 确定是否在主要计算应用正在执行的同时在使用在所述处理设备上执行的所述主要计算应用中用户将受益于协助; 确定由所述用户在所述主要计算应用的执行期间使用的上下文,所述上下文至少利用在所述应用的使用中的问题来定义; 检索包括与所述上下文相关的关键术语的搜索查询; 执行所述搜索查询,以检索与所述问题相关的公共可用的网络驻留帮助信息; 将搜索结果输出至显示器;以及 响应于搜索结果的用户选择,在所述显示器中渲染所述帮助信息。2.根据权利要求1所述的处理设备,其中所述执行包括向公共可用的搜索引擎提交所述搜索查询,所述公共可用的搜索引擎返回所述搜索结果之中的至少一部分,以便输出。3.根据权利要求1所述的处理设备,其中所述执行包括相对于以前收集的并存储的公共可用的网络驻留帮助的数据库来运行所述搜索查询。4.根据权利要求1所述的处理设备,其中确定上下文包括从所述主要应用接收输出,其识别在查询术语表格中的一个或多个查询术语。5.根据权利要求1所述的处理设备,其中所述处理设备包括第一处理设备,并且所述确定上下文包括在第一处理设备上从实时事件数据系统接收事件数据,并且根据事件数据的所述确定上下文、制定、执行、输出和渲染发生在第二处理设备上。6.—种在显示器上向用户渲染帮助信息的系统,包括: 显示器;和 处理器以及指示所述处理器执行包括以下的方法的代码: 确定在使用在所述处理器上执行的应用中的用户帮助要求; 确定由所述用户进行的在所述应用内的执行的上下文以及在所述应用的执行的上下文中的用户帮助信息; 提交包括与所述上下文和所述应用相关的关键术语的搜索查询,以检索与所述应用中的上下文相关的公共可用的网络驻留帮助信息;以及 响应于在所述显示器中渲染的搜索结果的用户选择,在所述显示器中渲染所述帮助信息。7.根据权利要求6所述的系统,其中所述用户帮助要求包括在执行的上下文内由用户完成一个或多个任务中的帮助,所述确定是否用户将受益于帮助包括确定所述用户不能完成所述一个或多个任务之中的至少一个任务。8.根据权利要求7所述的系统,其中所述提交搜索查询包括向数据库提交所述搜索查询,其中所述数据库包括在所述搜索查询之前收集的公共可用的网络驻留帮助的预下载存储,通过相对于说明所述一个或多个任务的完成的来自第三方的公共可用的网络信息执行单独的搜索查询来创建所述数据库。9.根据权利要求8所述的系统,进一步包括:从利用所述搜索所识别的一个或多个公共网络资源中检索公共可用的网络帮助信息。10.根据权利要求6所述的系统,其中所述应用被执行在与包括所述处理器的第二计算设备进行通信的第一计算设备上,所述系统包括与第一计算设备进行通信的第二计算设 bο Μ,
【文档编号】G06F17/30GK106030581SQ201580010835
【公开日】2016年10月12日
【申请日】2015年2月23日
【发明人】P.M.普罗菲特
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1