搜索中的直接答案触发的制作方法

文档序号:12287976阅读:266来源:国知局
搜索中的直接答案触发的制作方法与工艺

传统的搜索引擎通过提供搜索结果和一些基于索引的答案的组合来满足用户的意图。伴随着搜索引擎行业中的激烈的竞争,用户明显地更喜欢可以更快速地获得最终结果的引擎。然而,传统的方法需要来自用户方的大量的努力来过滤不相关的信息并且找到期望的结果。



技术实现要素:

下文呈现了简化的概要以便提供对在本文中所描述的一些新颖的实现的基本理解。该概要不是详细的综述,并且不旨在标识关键/重要元素或者描绘其范围。其唯一的目的是以简化的形式呈现一些概念,作为将在之后呈现的更加详细的描述的前序。

所公开的架构包括针对直接答案触发的框架、分步答案、以及促进该架构的用户界面。通常而言,该架构可以包括对答案数据的答案索引进行存储的答案数据存储、以及被配置为响应于对触发搜索结果页面中的直接答案的查询的处理而调用答案数据的触发组件。所述触发组件可以被配置为向答案数据存储发送答案触发消息并且基于所述答案触发消息而接收答案数据。

架构可以包括方法,所述方法具有以下操作:处理查询以识别针对答案的触发;基于所述触发而生成触发消息,所述触发消息被配置为定义答案名称和答案约束,并且被应用至在线答案约束索引;以及基于所述触发消息而从答案数据存储接收答案,所述答案是作为经由在线答案约束索引所得出的限定性答案而返回并且在结果页面中呈现。

该架构可以包括可替代的方法,所述方法具有以下操作:处理查询以识别针对答案的触发;生成基于所述触发的触发消息,所述触发消息被配置为定义答案名称和答案约束,并且被应用至在线答案键值属性索引;将所述触发消息和一个或多个语法规则应用至所述答案键值属性索引;从在线答案数据存储中接收答案,所述答案是基于触发消息和一个或多个语法规则的直接答案;以及在搜索结果页面中呈现所述直接答案。

为实现前述和有关的目的,结合以下的描述和附图在本文中描述了某些说明性方面。这些方面指示能够实践在本文中所公开的原理的各种方式,并且其所有方面和等同物旨在落入所要求保护的主题的范围内。当结合附图考虑时,其他的优点和新颖的特征将从以下的详细说明中显而易见。

附图说明

图1示出了根据所公开的架构的系统。

图2示出了根据所公开的架构的答案触发和部署框架。

图3示出了图2的触发管理和部署工具的部署工作流。

图4示出了答案触发在线模型的工作流、数据流、和数据结构的系统。

图5示出了示例答案数据触发数据流。

图6示出了示例性用户界面框架中的分步答案的示例初始视图。

图7示出了示例性用户界面框架中的分步答案的示例过渡视图。

图8示出了示例性用户界面框架中的分步答案的示例最终视图。

图9示出了根据所公开的架构的方法。

图10示出了根据所公开的架构的可替代的方法。

图11示出了根据所公开的架构的在搜索中执行直接答案触发的计算系统的框图。

具体实施方式

伴随着搜索引擎行业中的激烈的竞争,用户明显地更喜欢可以更快速地提供最终结果的引擎。在该行业的响应中,存在基于精确查询意图理解而向用户提供直接答案(例如,分步)的动力。

所公开的架构提供了针对具有高度精确查询和用户意图理解的直接答案触发的一般性的框架和机制。另外,当用户在寻找分步的指导(例如,用于完成瑜伽姿势的分步的列表、针对食谱的分步的指导、针对计算机硬件/软件故障排除的分步的列表等)时,该架构提出满足值得考虑的用户意图的答案思想。

如在本文中所描述的,答案是在搜索引擎中所利用以直接地满足用户的查询意图的方法。答案被直接表示在SERP(搜索引擎结果页面)上而不需要用户点击网络文档的链接(例如,统一资源定位符(URL))。例如,针对查询{<演员名字>身高},将答案5’7”作为文本在SERP上示出,而不需要用户导航离开SERP至针对<演员名字>的身高信息的源。

答案触发是指给定用户查询的情况下在搜索结果页面上触发答案的技术。答案数据是指针对答案的支持数据,其可以包括事实数据、实时股票数据、天气数据、地图和地理位置数据、应用清单、介绍方法(how-to)的答案等。

分步答案是这样一种类型的答案,其可以利用分步的指导或者信息来关于完成任务对用户进行引导。例如,可以输入查询<如何烤胡萝卜蛋糕>以针对胡萝卜蛋糕的原料和食谱进行搜索。接着,食谱可以是以分步的指导为形式的答案。

针对答案触发和部署框架的架构可以采用在线工作流、离线工作流、以及快速部署和管理工具以用于答案触发。在线工作流从用户查询开始。接着,通过包括在线触发逻辑的在线触发组件来对查询进行处理,所述在线触发组件至少调用在线答案数据来确定该查询是否将触发任何答案。如果将触发答案,则触发组件生成触发消息,所述触发消息指定诸如触发答案名称、触发约束、从答案约束索引中取回哪些索引之类的信息。接着,基于具体的答案触发消息而从答案数据在线存储中取回答案。

在离线工作流中,针对在线触发组件而开发了一个或多个模型。离线答案数据被利用以被格式化为经约束索引的离线触发属性,并且随后被使用以开发机器学习模型和/或基于规则的模型以用于触发具体的答案。可以由机器学习模型和基于规则的模型两者来生成白名单。可以将模型部署至在线工作流中的在线触发组件,并且可以将离线属性的约束索引以及白名单部署至触发组件的在线触发逻辑的在线直接访问存储。可以使用离线答案数据来部署在线约束索引答案数据存储。

可以将触发管理和部署工具实现为包括三个组件:用于管理触发逻辑和触发数据的触发管理组件;用于经由调度器、在线答案数据发布器、以及在线触发模型发布器来发布和刷新数据的发布器组件;以及,用于自动缺陷检测、离线测量管理、以及在线/离线度量监视仪表盘的分析组件。

在一个实现中,可以采用可扩展的跨索引以使用任何属性来取回任何其他属性。可以通过键和/或属性来执行搜索。接着,索引在键值数据存储中以供查询。

现在对附图进行参考,其中,相同的附图标记用于表示通篇中相同的元素。在以下描述中,出于解释的目的而阐述了多个具体的细节以便提供对本发明的彻底的理解。然而显而易见的是,可以在没有这些具体细节的情况下实践新颖的实施例。在其他实例中,以框图的形式示出了公知的结构和设备,以便于促进对其的描述。其意图是覆盖落入所要求保护的主题的精神和范围内的所有修改、等同物和替代物。

图1示出了根据所公开的架构的系统100。系统100可以包括存储答案数据的答案索引104的答案数据存储102,以及被配置为响应于对查询110的处理而从答案数据存储102调用答案数据108的触发组件106。查询处理触发搜索结果页面114中的直接答案112。触发组件106被配置为将答案触发消息116发送至答案数据存储102并且基于答案触发消息116而接收答案数据108。直接答案112可以是在搜索结果页面114中所呈现的分步答案。

触发组件106包括被配置为执行白名单查询匹配、短语匹配、以及同义词替换的触发逻辑。触发组件106包括触发逻辑,该触发逻辑被配置为执行规则匹配以基于一组规则和分类来解释整个查询,从而预测期望的答案。

答案数据的答案索引是答案数据的键值属性索引。答案触发消息116指定触发答案名称、触发约束、以及待从键值属性索引中取回的属性。答案数据108是基于规则匹配和分类而针对查询110直接地生成的。

触发组件106还包括聚合器,该聚合器被配置为对与以下中的至少一项有关的信息进行聚合,包括:属性字典、同义词、自动生成的和人类书写的规则、查询白名单、或者查询分类器。系统100还可以包括被配置为对直接访问存储的刷新和触发组件106的触发逻辑进行调度的发布器组件118。

图2示出了根据所公开的架构的答案触发和部署框架200。框架200可以包括三个组件:在线工作流202、离线工作流204、以及部署工作流206。

在线工作流202开始于将用户查询208接收到查询理解答案触发组件210(类似于图1的触发组件106)中。一旦被接收到触发组件210中,就通过(触发组件210的)在线触发逻辑212来处理查询208,并且调用直接访问存储214中的在线数据以确定查询208是否将触发任何答案。如果将触发答案,则触发组件210生成触发消息216(类似于图1的答案触发消息116),该触发消息216可以包括触发答案名称、一个或多个触发约束、从约束(键值-属性)索引218中取回哪些属性等。接着基于具体的答案触发消息216而从索引218(存储在在线答案数据存储220中并且类似于图1的答案数据存储102)中取回答案数据222(类似于图1的答案数据108)。

离线工作流204详述了如何产生针对在线触发组件210的模型。离线答案数据存储224的离线答案数据可以被发送至离线触发数据组件226,并且被利用和格式化为离线触发属性228的约束索引,并且也可以用于开发机器学习模型230和/或基于规则的模型232,其使能触发具体的答案(答案数据222)。可以使用机器学习模型230和基于规则的模型232两者来生成白名单234。

两个模型(230和232)都可以被部署至在线工作流202中的在线触发逻辑212,并且离线触发属性的约束索引228和白名单234可以被部署和刷新至在线直接访问存储214以用于由在线触发逻辑212来访问。可以使用离线答案数据来部署和刷新在线数据存储220中的答案数据的在线约束索引。

在线工作流202和离线工作流204两者都是经由触发管理和部署工具236而由部署工作流206使能的,这将在下文中更加详细地描述。

作为示例,至在线答案触发组件210的输入数据是查询208,而触发组件210的经定义的输出格式可以是SQL(结构化查询语言)语句,例如,与由现有的系统和/或基础设施所使用的API(应用程序接口)类似的统一API。例如,查询208“李连杰最著名的动作电影是什么”的触发答案格式可以如下所示:

可以知道的是,用户实际上想要获得Actor(演员)“jet li(李连杰)”的Genre(类型)为“action(动作)”的电影名称。针对答案数据库220,可以基于SQL语句般的查询而获得答案数据222。

图3示出了图2的触发管理和部署工具236的部署工作流。工具236包括至少三个组件:触发管理组件302、发布器组件304、以及分析组件306。

触发管理组件302还包括被配置为对在线触发逻辑212进行管理的触发逻辑管理308,以及被配置为对离线触发数据组件226进行管理的触发数据管理310。

发布器组件304执行对数据和信号的发布、及其刷新调度。更加具体而言,发布器组件304包括:被配置为对针对在线直接访问存储214和在线触发逻辑212进行刷新的数据进行调度的刷新调度器312;被配置为将数据发布至在线直接访问存储214的在线直接答案访问发布器314;以及,被配置为将数据发布至在线触发逻辑312的在线触发逻辑发布器316。

分析组件306包括用于经由缺陷检测组件318进行自动缺陷检测、经由离线测量组件320进行离线测量管理、以及经由在线/离线度量监视仪表盘322进行在线/离线度量监视的功能/操作。

管理工具236还可以包括与用户体验(UX)324的接口以及与在线和离线触发数据326的接口。

该框架通过提供可扩展的答案触发机制、自动答案监视、以及对答案数据的第三方贡献来使能快速答案生效(onboarding)。

图4示出了答案触发在线模型的工作流、数据流、以及数据结构的系统400。在线触发逻辑工作流202包括几个部分:查询预先处理、中央触发逻辑、以及结果生成。

流程由接收查询208开始。接着在402处,对查询208进行预先处理。预先处理包括但不限于例如分割和拼写校正。首先主要通过将查询分割成短语来对查询208进行预先处理。针对包括印刷错误并且已经在查询日志中的一些查询而言,可以用正确的形式来替换这些查询。查询分割技术可以不同;查询日志和网络文档是用于建立好的分隔算法(或方法)的。分割基本上是基于n元的;而对于英语而言,可以采用基于一元的方法来分割查询。对于包含n个词语的应用查询而言,可以将该查询分割为n个短语。

关于中央触发逻辑(在线触发逻辑212),可以执行涉及白名单查询匹配404、同义词替换406、短语匹配408、正则表达式/规则匹配410、以及分类412的操作。

白名单查询匹配涉及已经有答案(例如,北京天气查询触发天气答案)并且被指定为关于可靠性等进行审查的那些查询。将这些答案直接地传递至结果生成的步骤。

针对可以是现有的流行形式的同义词的短语(例如,“SFO”→“旧金山机场”),由于涉及到同义词替换406,因此将所述短语替换成流行形式。可以根据查询日志而建立同义词数据集,其中,共享阈值数量的被点击的网络文档的查询是同义词替换406的好的候选者。

关于短语匹配408,针对对短语的每个子串,所述子串与原先建立的字典相匹配,并且所述子串可以映射至给定的数据集的预先定义的属性(事实)。例如,“北京”可以与地点数据库中的“城市”相匹配。

关于正则表达式/规则匹配410,在执行了短语匹配408之后,每个短语都可以标记有“属性”,并且在字典中没有找到短语的情况下,可以将该短语标记为“无”。该匹配操作接着开始在字典上搜索并查找可以用于基于预先定义的规则来解释整个查询的最有可能的标签。例如,可以将查询“旧金山机场地图”映射为“<地点>地图”而不是“<城市>机场地图”。可以将该规则定义为正则表达式形式、文本形式、和/或基于上下文无关语法的形式。

关于分类412,在目标答案分类的过程中采用机器学习方法。这意味着对用户最想要的类型的答案的预测。分类模型是对不容易通过规则来匹配的基于规则的匹配的补充。例如,“旧金山机场地图”→“<地图>”可以是一个规则,而可以使用分类方法来对诸如“sfo机场地图”或者甚至是“旧金山机场地图视图”之类的查询进行分类。

接着,流程从中央触发逻辑212到答案生成414。基于中央触发逻辑212的输出,应当知道给定的查询208是否与预先定义的规则或分类器匹配,以及用户想要的答案的类型。接着,可以直接地生成答案。基于数据集合和应用的需求来进一步自定义答案是可能的。

图5示出了答案数据触发数据流500。答案触发系统内的数据主要是从以下的源中得出的:答案数据库502(类似于答案数据存储102和220)、查询日志504、规则数据库506、以及分类器数据库508。以下是对数据流的描述。

答案数据库502存储最终有用的答案数据510。将答案数据510预先处理以将该答案数据510与唯一的标识符(ID)相关联,所述唯一的标识符可以是全局唯一的标识符(GUID)(例如,包含多位信息,例如128位、256位等)。每个数据项可以包括多个属性(或事实),所述属性可以用作满足用户查询的答案。例如,国家数据项可以包括诸如“首都”、“人口”等之类的多个属性。所述属性可以支持诸如“哪里是<国家>的首都?”、“<国家>的人口是多少?”等之类的查询。可以使用答案数据510来生成属性字典512,其中,可以在中央触发模型聚合器514中使用字典512。

可以针对至少以下两种场景来采用查询日志504:生成同义词516的场景以及用于使能自动地生成(自动生成的)规则518的场景。同义词516可以处于短语模式并且短语可以相互替代。例如,短语“佳能相机”可以是其同义词“相机佳能”的好的形式。可以将同义词516直接地传递到聚合器514中。自动生成的规则518被输入至集成规则框520,该集成规则框520将自动生成的规则518与人类书写规则522组合在一起,其中,集成规则520接着被传递到聚合器514中。

采用规则数据库506来存储查询白名单524和人类书写的规则522。人类书写的规则522可以是以正则表达式、字符串、和/或上下文无关的语法为形式的。查询白名单524被直接地输入到聚合器514中。

分类器数据库508存储基于机器学习的分类器(用于生成基于机器学习的模型230),该分类器与基于规则的分类器(用于生成基于规则的模型232)不同。分类器中的详细的信息可以是具有参数的模型文件、所使用的模型的名称、查准率/查全率/覆盖的测试结果、用于对模型进行训练的离线数据集等。

以下是根据所公开的架构的所得出的示例直接分步答案。以下的表1是针对“蒜味鸡”的短答案数据。字段名称可以是属性,而食谱名称可以是键值。

表1、针对“蒜味鸡”的答案数据

表2示出了可以应用于在线约束索引的一些语法规则。美元符号($)可以用作数据集中的项目属性的前缀,而问号(?)可以针对目标问题属性的前缀来使用。

表2、约束索引语法规则

可以将烹饪指导内的步骤分解成更加详细的表示。例如,如在表3中所示出的,可以扩展数据集。

表3、具有详细的步骤的针对“蒜味鸡”的答案数据字段。

在这里,烹饪步骤1至烹饪步骤3在该具体的“蒜味鸡”的食谱中是自定义的。更加宽泛地,烹饪步骤1可以被扩展为针对给定的步骤而示出其他类似的食谱步骤,例如,至N个步骤(烹饪步骤N),其中,N是其他食谱中的步骤数。额外地,规则可以继续地改进/扩展/增加,如在表4中所示出的。

表4、额外的约束索引语法规则

使用在以上的示例中所示出的方法,可以将所讨论的这些类型的分步答案推广至瑜伽姿势、防火墙设置、电子邮件应用配置、硬件组装/拆卸、个人护理等。

图6示出了示例性用户界面框架中的分步答案602的示例初始视图600。该框架包括顶端位置(pole position)604、上下文区域606、以及主线区域608。在该示例实现中,在主线区域608中部分地呈现了答案602,其示出了三个步骤:第一步骤、第二步骤、和第三步骤。呈现了使得用户能够扩展额外的步骤的“更多”对象。也可以呈现答案数据的源(例如,“信息来源:HTTP://data.source.url”)。

图7示出了示例性用户界面框架中的分布答案602的示例过渡视图700。在这里,用户与“更多”对象进行交互以访问并呈现分布答案602的额外的步骤。

用户交互功能可以是支持触觉的和/或支持手势的,从而用户采用一个或多个手势来进行交互。例如,所述手势可以是自然用户界面(NUI)手势。可以将NUI定义为使得用户能够以“自然”的方式与设备进行交互,而不受由诸如鼠标、键盘、远程控制等之类的输入设备所施加的人为限制的任何接口技术。NUI方法的示例包括那些采用手势的方法,在本文中将所述方法宽泛地定义为包括但不限于触觉和非触觉界面,例如语音识别、触摸识别、面部识别、触控笔识别、空中手势(例如,手部姿态和移动和其他身体/附属器的动作/姿态)、头部和眼部追踪、语音和话音话语、以及至少与例如视觉、话音、语音、姿态、和触摸数据有关的机器学习。

NUI技术包括但不限于触摸感应显示器、语音和话音识别、意图和目的理解、使用深度相机(例如,立体相机系统、红外相机系统、彩色相机系统及其组合)的运动手势检测、使用加速度计/陀螺仪的运动手势检测、面部识别、3D显示、头部、眼部和视线追踪、沉浸式增强现实和虚拟现实系统、以及使用电场传感电极(例如,脑电图(EEG))和其他神经生物反馈方法的技术,其全都提供更加自然的用户界面。

图8示出了示例性用户界面框架中的分布答案602的示例最终视图800。在这里,该架构响应于与“更多”对象进行的用户动作而做出反应,从而访问并呈现分步答案602的所有步骤(剩余的三个步骤)。

应当理解的是,在所公开的架构中,某些组件可以被组合、重新布置、省略,并且也可以包括额外的组件。额外地,在一些实现中,组件中的全部或一些组件呈现在客户端上,而在其他实施例中,一些组件可以驻留在服务器上,或者由本地或远程服务来提供。

在本文中所包括的是表示用于执行所公开架构的新颖方面的示例性方法的一组流程图。尽管为了解释的简单起见,以一系列动作示出并描述了在本文中所示出的例如流程图或流向图形式的一种或多种方法,但应当理解并意识到的是,所述方法并不限于动作的顺序,而由此一些动作可以以不同的顺序进行,和/或与在本文中所示出和描述的其他动作同时进行。例如,本领域技术人员将理解并意识到,所述方法可以可替代地被表示为例如状态图中的一系列相互关联的状态或事件。此外,新颖的实现不需要在方法中所示出的所有操作。

图9示出了根据所公开的架构的方法。在900处,对查询进行处理以识别针对答案的触发。在902处,基于触发而生成触发消息。触发消息被配置为定义答案名称和答案约束,并且触发消息被应用至在线答案约束索引。在904处,基于触发消息而从答案数据存储接收答案。可以将答案作为经由在线答案约束索引得出的限定性回答而返回并且在结果页面中呈现。

所述方法还包括将限定性答案作为分步答案来在搜索结果页面中输出。所述发放还可以包括将一个或多个语法规则应用至索引以使能直接接收限定性答案。所述方法还可以包括调用在线答案数据来确定查询是否将触发任何答案。

所述方法还可以包括采用直接访问存储和在线触发逻辑的白名单。所述方法还可以包括开发基于机器学习的模型和基于规则的模型以用于由答案触发逻辑来访问。所述方法还可以包括对来自直接访问存储发布器和在线触发模型发布器的针对答案触发逻辑的更新进行调度。

图10示出了根据所公开的架构的可替代的方法。该方法可以以计算机可读存储介质上的计算机可执行指令来实现,其中当由微处理器执行时,所述计算机可执行指令使得该微处理器执行以下动作。

在1000处,对查询进行处理以识别答案的触发。在1002处,基于所述触发而生成触发消息。触发消息可以被配置为定义答案名称和答案约束,并且触发消息可以被应用至在线答案键值属性索引。在1004处,将触发消息和一个或多个语法规则应用至答案键值属性索引。在1006处,从在线答案数据存储接收答案。所述答案是基于触发消息和一个或多个语法规则的直接答案。在1008处,在搜索结果页面中呈现直接答案。

所述方法还包括调用在线答案数据以确定查询是否将触发任何答案。所述发放还包括根据基于机器学习的模型或基于规则的模型中的至少一个模型来开发语法规则。所述方法还包括针对缺陷检测而对查询进行预先处理。所述方法还包括将直接答案呈现为部分的分步答案,该部分的分步答案响应于用户交互而可扩展为所有答案步骤。

如在该申请中所使用的,术语“组件”和“系统”旨在指代有关计算机的实体,其是硬件、软件和有形的硬件的组合、软件、或执行中的软件中的一个。例如,组件可以是但不限于,诸如微处理器、芯片存储器、大容量存储设备(例如,光盘驱动器、固态驱动器、和/或磁存储介质驱动器)、和计算机等之类的有形的组件,以及诸如在微处理器上运行的进程、对象、可执行文件、数据结构(存储在易失性或非易失性存储介质中)、模块、执行线程、和/或程序等之类的软件组件。

作为示例,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。词语“示例性”在本文中可以用于意指充当示例、实例、或图示。在本文中被描述为“示例性”的任何方面或设计都非必须被解释为比其他方面或设计更加优选或有利。

现在参考图11,示出了根据所公开的架构的执行在搜索中的直接答案触发的计算系统1100的框图。然而,应当理解的是,可以将所公开的方法和/或系统的一些或所有方面实现为片上系统,其中,模拟、数字、混合信号以及其他功能都是在单个芯片衬底上制造的。

为了针对其各个方面来提供额外的上下文,图11及以下描述旨在提供对其中可以实现各个方面的合适的计算系统1100的简短、概括的描述。尽管以上的描述是在可以在一个或多个计算机上运行的计算机可执行指令的一般性的上下文中的,但本领域技术人员将认识到,也可以结合其他程序模块和/或作为硬件和软件的组合来实现新颖的实施例。

用于实现各个方面的计算系统1100包括计算机1102,其具有微处理单元1104(也被称为微处理器和处理器)、诸如系统存储器1106之类的计算机可读存储介质(计算机可读存储介质还包括磁盘、光盘、固态驱动器、外部存储器系统、和闪速存储器驱动器)、以及系统总线1108。微处理单元1104可以是各种商业上可获得的微处理器中的任何一种,例如单处理器、多处理器、处理和/或存储电路的单核单元和多核单元。此外,本领域技术人员应当理解,可以利用其它计算机系统配置(包括小型计算机、大型计算机、以及个人计算机(例如,台式计算机、膝上计算机、平板PC、等)、手持式计算设备、基于微处理器的或可编程的消费型电子设备等,它们中的每个都可以可操作地耦合至一个或多个相关联的设备)来实践新颖的系统和方法。

计算机1102可以是在数据中心和/或计算资源(硬件和/或软件)中所采用的支持针对便携式和/或移动计算系统(例如,无线通信设备、蜂窝式电话和其他移动功能的设备)的云计算服务的几个计算机中的一个计算机。云计算服务包括但不限于,例如,基础设施即服务、平台即服务、软件即服务、存储即服务、桌面即服务、数据即服务、安全即服务、以及API(应用程序接口)即服务。

系统存储器1106可以包括诸如易失性(VOL)存储器1110(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)1112(例如,ROM、EPROM、EEPROM等)之类的计算机可读存储(物理存储)介质。基本输入/输出系统(BIOS)可以被存储在非易失性存储器1112中,并且包括基础例程,所述基础例程促进计算机1102内的组件之间的数据和信号的通信,例如,在启动期间。易失性存储器1110还可以包括用于对数据进行缓存的高速RAM(例如,静态RAM)。

系统总线1108为系统组件提供了接口,这些系统组件包括但不限于,到一个或多个微处理单元1104的系统存储器1106。系统总线1108可以是可以进一步互联至存储器总线(具有或不具有存储控制器)和外围总线(例如,PCI、PCIe、AGP、LPC等)的、使用商业上可获得的多种总线架构中的任何一种的、多种类型的总线结构中的任何一种。

计算机1102还包括机器可读的存储子系统1114以及用于将存储子系统1114接合至系统总线1108以及其它期望的计算机组件和电路的存储接口1116。存储子系统1114(物理存储介质)可以包括以下存储设备中的一个或多个:例如,硬盘驱动器(HDD)、磁软盘驱动器(FDD)、固态驱动器(SSD)、闪存驱动器、和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)。存储接口1116可以包括诸如EIDE、ATA、SATA、以及IEEE 1394之类的接口技术。

可以将一个或多个程序和数据存储在存储子系统1106、机器可读和可移动存储子系统1118(例如,闪存驱动器形式因子技术)、和/或存储子系统1114(例如,光的、磁的、固态的),所述一个或多个程序和数据包括操作系统1120、一个或多个应用程序1122、其它程序模块1124、以及程序数据1126。

操作系统1120、一个或多个应用程序1122、其它程序模块1124、和/或程序数据1126可以包括:例如图1的系统100中的项目和组件、图2的框架200中的项目和组件、图3的项目和工作流、图4的项目和工作流、由图5的数据流的项目和组件、图6-8的视图、以及由图9和10的流程图所表示的方法。

概括而言,程序包括执行特定的任务、功能、或实现特定的抽象数据类型的例程、方法、数据结构、其它软件组件等。操作系统1120、应用1122、模块1124、和/或数据1126中的全部或部分也可以被缓存在诸如易失性存储器1110和/或非易失性存储器之类的存储器中。应当理解的是,可以利用各种商业上可获得的操作系统或操作系统的组合(例如,作为虚拟机器)来实现所公开的架构。

存储子系统1114和存储器子系统(1106和1118)充当用于对数据、数据结构、计算机可执行指令等易失性和非易失性存储的计算机可读介质。当这样的指令由计算机或其它机器执行时,可以使得计算机或其它机器执行方法的一个或多个动作。计算机可执行指令包括例如使得通用计算机、专用计算机、或者专用微处理器设备执行某个功能或某组功能的指令和数据。计算机可执行指令可以例如是二进制的、中间格式的指令,例如汇编语言、或者甚至是源代码。可以将用于执行动作的指令存储在一个介质上、或者可以跨多个介质而存储,以使得指令共同出现在一个或多个计算机可读存储介质/多个介质上,而不管是否所有指令都在相同介质上。

多个计算机可读存储介质(单个介质)排除了传播的信号本身、可以由计算机1102访问、并且包括可移动的和/或不可移动的易失性和非易失性内部和/或外部介质。对于计算机1102而言,各种类型的存储介质以任何适当的数字格式来适应对数据的存储。本领域技术人员应当理解,可以采用诸如zip驱动器、固态驱动器、磁带、闪速存储器卡、闪存驱动器、盒式磁带等之类的其它类型的计算机可读介质,以对用于执行所公开的架构的新颖方法(动作)的计算机可执行指令进行存储。

用户可以使用诸如键盘和鼠标之类的外部用户输入设备1128以及通过由话音识别所促成的语音命令来与计算机1102、程序、和数据进行交互。其它外部用户输入设备1128可以包括:麦克风、IR(红外)远程控制、操纵杆、游戏手柄、相机识别系统、触控笔、触摸屏、手势系统(例如,眼部运动、例如涉及手、手指、手臂、头部等的身体姿势)等。用户可以使用诸如触摸板、麦克风、键盘等之类的板载用户输入设备1130来与计算机1102、程序、以及数据进行交互,其中,计算机1102例如是便携式计算机。

将这些和其它输入设备经由系统总线1108、通过输入/输入(I/O)设备接口1132而连接至微处理单元1104,但也可以通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、短距离无线(例如,蓝牙)和其它个域网(PAN)技术等之类的其它接口来连接。I/O设备接口1132还便于使用诸如打印机、音频设备、相机设备等之类的输出外设1134,例如声卡和/或板载音频处理能力。

一个或多个图形接口1136(通常也被称为图形处理单元(GPU))在计算机1102与外部显示器1138(例如,LCD、等离子)和/或板载显示显示器1140(例如,用于便携式计算机)之间提供图形和视频信号。一个或多个图形接口1136也可以被制造为计算机系统板的一部分。

计算机1102可以在使用经由有线/无线通信子系统1142至一个或多个网络和/或其它计算机的逻辑连接的网络化的环境(例如,基于IP的)中运行。其它计算机可以包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐家电、对等设备、或其它公共网络节点,并且通常包括关于计算机1102所描述的元件中的许多元件或全部元件。逻辑连接可以包括至局域网(LAN)、广域网(WAN)、热点等的有线/无线连通性。LAN和WAN联网环境在办公室和公司中是司空见惯的,并促进了企业范围的计算机网络,例如内联网,所有这些网络都可以连接至诸如互联网之类的全球通信网络。

当在联网环境中使用时,计算机1102经由有线/无线通信子系统1142(例如,网络接口适配器、板载收发机子系统等)连接至网络,以与有线/无线网络、有线/无线打印机、有线/无线输入设备1144等进行通信。计算机1102可以包括调制解调器或者用于建立通过网络的通信的其它单元。在网络化的环境中,可以将与计算机1102相关的程序和数据存储在远程存储器/存储设备中,如与分布式系统相关联。应当理解的是,所示出的网络连接是示例性的,并且可以使用建立了计算机之间的通信链接的其它单元。

计算机1102用于使用诸如IEEE 802.xx系列的标准之类的无线技术来与有线/无线设备或实体进行通信,例如可操作地设置在与例如打印机、扫描仪、台式计算机和/或便携式计算机、个人数字助理(PDA)、通信卫星、与无线可检测的标签相关联的任何一个装置或位置(例如,信报亭、新闻站、休息室)、以及电话的无线通信(例如,IEEE 802.11无线调制技术)中的无线设备。这至少包括针对热点的Wi-FiTM(用于验证无线计算机联网设备的互操作性)、WiMax、以及蓝牙TM无线技术。因此,通信可以是正如传统网络的预先定义的结构或者在至少在两个设备之间的简单的自组织通信。Wi-Fi网络使用被称为IEEE 802.11x(a、b、g、等)的无线技术以提供安全、可靠、快速的无线连通性。Wi-Fi网络可用于将计算机彼此连接、连接至互联网、以及连接至无线网络(其使用有关IEEE-802.3的技术和功能)。

在上文中已经描述的内容包括所公开的架构的示例。当然,不可能描述组件和/或方法的每种能想到的组合,但本领域技术人员可以理解的是,许多进一步的组合和排列是可能的。从而,新颖的架构旨在包含落入所附权利要求的精神和范围内的所有这些改变、修改和变型。此外,就在具体实施方式或权利要求中所使用的术语“包括”而言,这样的术语旨在以类似于术语“包含”的方式是包含性的,如当在权利要求中用作过渡词时“包含”被翻译的那样。

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