利用流动上下文的自动任务完成转让专利

申请号 : CN201110394174.7

文献号 : CN102521317B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : G.谢希特S.S.J-M.劳尔特G.A.惠勒L.丹尼尔R.沃波蒂施L.B.里普谢尔S.V.罕加柯慧玲J.P.约翰森蒋昭玮M.B.菲利普斯

申请人 : 微软公司

摘要 :

提供上下文给目标将用户必须输入的信息量减至最小。上下文转移页为目标接收上下文和重新格式化。至这样的页面的链接的选择提供上下文,所述上下文随后被重新格式化并被提供给目标,以便为用户预填充信息。可以指定返回链接,以使得目标能够依据用户交互完成而返回进一步上下文。返回链接能够指定进一步上下文转移页,这些上下文转移页能够使用返回的上下文来指导便利动作的执行,这包括调用在用户的计算设备上的其他应用以及将信息输入其中。这些上下文转移页自身能够收集来自用户的信息,以提供合适的界面而不需要来自目标的资源投资。

权利要求 :

1.一种用于利用上下文信息来预填充目标的方法,所述方法包括以下步骤:接收查询(131);

识别响应于所述查询(131)的一个或多个目标;

识别与响应于所述查询的一个或多个目标中的至少一个目标相关联的第一上下文转移页(161,220);

接收所述上下文信息;

重新格式化所述上下文信息;

重定向到进入所述目标的深层链接,所述深层链接参考接收到的上下文信息来识别;

利用重新格式化的上下文信息来预填充所述目标的至少一部分;

生成至第一上下文转移页(161,220)的链接(215),所生成的链接包括识别第二上下文转移页(162,250)的返回链接以及至少部分从所述查询(131)和响应于所述查询(131)的结果中获得的上下文信息;以及响应于所述查询(131),呈现所生成的链接(215)作为至一个或多个目标中的至少一个目标的链接。

2.根据权利要求1所述的方法,其中所述上下文转移页是目标特定的上下文转移页,其包括所述目标特定的上下文转移页与之相关联的一个或多个目标中的至少一个目标特定的功能。

3.根据权利要求1所述的方法,其中所述上下文信息进一步包括与先前接收到的查询相关联的信息,其中所述先前接收到的查询是从与所述查询相同的客户机中接收的。

4.根据权利要求1所述的方法,其中所述目标特定的上下文转移页符合用于将内容传送给所述一个或多个目标中的至少一个目标的现有协议,所述一个或多个目标中的至少一个目标也符合所述现有协议。

5.根据权利要求1所述的方法,其中预填充所述目标的至少一部分包括将重新格式化的上下文信息输入到所述目标上的至少一个用户可修改字段中。

6.根据权利要求1所述的方法,进一步包括以下步骤:请求额外的上下文信息;响应于所述请求,接收额外的上下文信息;以及利用额外的上下文信息来预填充所述目标的至少另一部分。

7.根据权利要求1所述的方法,进一步包括以下步骤:经由所述返回链接从所述目标接收返回的上下文信息;在从中接收到所述查询的客户机上引起至少一个应用程序的调用;以及引起利用返回的上下文信息来填充至少一个应用程序的至少一部分。

8.一种用于利用上下文信息来预填充目标的计算设备,所述计算设备包括:用于接收查询的装置;

用于识别响应于所述查询的一个或多个目标的装置;

用于识别与响应于所述查询的一个或多个目标中的至少一个目标相关联的第一上下文转移页的装置;

用于接收所述上下文信息的装置;

用于重新格式化所述上下文信息的装置;

用于重定向到进入所述目标的深层链接的装置,所述深层链接参考接收到的上下文信息来识别;

用于利用重新格式化的上下文信息来预填充所述目标的至少一部分的装置;

用于生成至第一上下文转移页的链接的装置,所生成的链接包括识别第二上下文转移页的返回链接以及至少部分从所述查询和响应于所述查询的结果中获得的上下文信息;以及用于响应于所述查询来呈现所生成的链接作为至一个或多个目标中的至少一个目标的链接的装置。

说明书 :

利用流动上下文的自动任务完成

背景技术

[0001] 作为移动计算设备的处理、显示和通信能力增加的结果,这样的移动计算设备的用户越来越多使用这些移动计算设备来执行更大数量的任务。例如,除了传统的语音通信功能和网络浏览功能之外,移动计算设备还越来越多地被用于执行更复杂的基于网络的任务,例如,诸如进行餐厅预订、购买电影票、制定旅行安排以及其他类似的任务。然而,虽然移动计算设备的处理、通信和显示能力使得这样的任务成为可能,但是其仅仅由于时常需要由用户通过移动设备的数据输入机制输入的信息量而仍然是不切实际的。此外,用于这样的任务的许多界面(interface)并未考虑移动设备上有限的显示空间,从而导致在移动设备上导航是不切实际的界面。
[0002] 传统的移动计算设备通常并不包括全尺寸数据输入外设,例如,诸如全尺寸键盘。相反,移动计算设备通常包括小型化键盘或虚拟键盘,其中小型化键盘只是全尺寸键盘大小的一小部分,而虚拟键盘仅仅是在屏幕上显示的图像。这样的键盘由于移动计算设备的物理约束而在尺寸方面受到限制,其中移动计算设备通常被设计成舒适地容纳在用户的手中并且能够被携带在口袋、带皮套、钱包等等中。然而,例如,这样的物理限制导致键盘实在太小,以致不允许用户像他们能使用全尺寸键盘那样有效地键入或以其他方式输入信息。
理论上,移动计算设备的输入外设的物理限制可以通过语音输入来克服,其中用户仅说出命令或输入数据。然而,对于将信息输入复杂的模板而言,语音输入是不切实际的,并且语音输入还具有不准确的缺陷,从而再一次将用户移交给诸如小型化或虚拟键盘之类的输入外设。因此,在尝试完成需要用户诸如经由移动计算设备的键盘来输入大量信息的任务时,用户可能经常变得沮丧,并且可能寻求推迟这样的活动,直至他们接入物理上更大的计算设备或者至少他们能够与移动计算设备通信耦合的物理上更大的数据输入外设。

发明内容

[0003] 在一个实施例中,为了将用户必须手动输入的信息量减至最小,能够从可利用的有关用户的先前动作或其他信息中获得上下文,并且那个上下文能够被传递至目标服务,以便为用户自动填充该目标服务所需要的至少一些信息,从而免除用户自己这样做的努力。这样的实施例在移动计算设备或其他的其物理特性限制能够由用户便利输入的信息量的计算设备的上下文内是特别有用的。
[0004] 在另一个实施例中,可以建立上下文转移页(context transfer page),并且能够给用户提供至这样的页面的链接,例如,诸如以响应用户输入的查询或搜索项。例如,由用户对这样的链接的选择能够允许上下文诸如从用户输入的查询或搜索项中获得,并且该上下文随后以适合于特定目标的方式被传递到那个特定目标。这样的上下文转移页可以依照标准,以致这些页面由于符合标准而以适合于目标的方式提供上下文给那个目标,或者替代地,这样的上下文转移页可以是目标特定的上下文转移页,其被特别制作为以适合于特定目标的方式来接受用于该特定目标的上下文和提供上下文给该特定目标。
[0005] 在进一步实施例中,在传递上下文给目标时,能够指定返回链接或其他标识符。一旦完成与用户进行的活动,目标能够使用这样的返回链接来返回进一步上下文,例如,诸如确认号码或与用户利用该目标执行的活动相关的其他信息。返回链接能够允许所返回的上下文用于诸如在移动计算设备上自动为用户执行便利的动作。这些便利的动作可以包括将信息输入日历应用、通知一个或多个个人或其他类似的便利动作,这又将需要用户通过潜在限制物理界面输入的信息量减至最小。
[0006] 在又一个实施例中,上下文转移页本身可以在转发预期集合的信息给目标之前请求用户输入这样的信息,从而使得该目标能够提供简化的用户界面,例如,诸如将适合于移动计算设备的用户界面,而不需要该目标投资必要的资源来自己开发这样的界面。
[0007] 提供这个概述部分来以简化的形式介绍下面在详细描述部分中进一步描述的概念的选择。这个概述部分并不打算标识所请求保护主题的关键特征或基本特征,也不打算用于限制所请求保护主题的范围。
[0008] 附加的特征和优点从以下结合附图进行的详细描述中将变为显而易见的。

附图说明

[0009] 下面的详细描述当结合附图考虑时可以得到最佳理解,其中:
[0010] 图1是计算设备的示例网络的框图;
[0011] 图2是与提供上下文给目标相关的示例系列的元素和界面的流程图;
[0012] 图3是提供上下文给目标的示例操作的流程图;以及
[0013] 图4是示例计算设备的框图。

具体实施方式

[0014] 下面的描述涉及提供上下文给目标,以使得用户能够在最小化该用户必须输入的信息量的同时与该目标交互,从而使用户无需通过潜在受限的用户输入外设或输入机制来输入信息。上下文转移页能够根据与目标相关联的特定方面、属性和格式编排来创建。例如,在用户输入搜索查询或其他的目标将对之响应的搜索项时,诸如至这样的上下文转移页的链接能够被提供给用户。由用户对一个或多个这样的链接进行的选择能够允许这些上下文转移页从用户输入的搜索查询中获得上下文,或任何其他的与用户相关联的信息,其中所述信息对于被用户用于选择这样的链接的机制而言可能是已知的或可利用的。这些上下文转移页随后能够采用适合于该目标的方式将这样的上下文提供给该目标,以致已经能够为用户填充该目标所请求或所需要的各种信息。这些上下文转移页也能够指定该目标可以在其与用户进行的交互已完成之后用于返回进一步上下文的返回链接,例如,诸如确认号码。返回链接能够指定进一步上下文转移页,这些进一步上下文转移页能够接收返回的上下文并且能够将返回的上下文用于指导对于用户的便利动作的执行,例如,诸如将合适的信息输入日历、通知个人或与用户和该目标进行的交互相关联的其他类似的便利动作。此外,上下文转移页能够自己直接从用户收集信息,从而使得目标能够提供适合于该用户的计算环境的界面,而无需投资资源来这样做。
[0015] 为了说明,在这里描述的技术参考现有的和已知的网络基础架构,诸如无处不在的因特网和万维网(WWW)。也为了说明,在这里描述的技术参考现有的和已知的协议与语言,诸如无处不在的超文本传输协议(HTTP)和同样无处不在的超文本标记语言(HTML)。但是,这样的参考完全是示例性的,而不打算将描述的机制限于所提供的具体示例。实际上,所描述的技术可应用于在通过网络协议提供的请求和响应的上下文内现有功能的任何再使用。
[0016] 虽然不作要求,但是下面的描述将采用由计算设备运行的诸如程序模块之类的计算机可执行指令的一般上下文。更具体地,除非另外指明,否则该描述将参考由一个或多个计算设备或外设执行的动作以及操作的符号表示。因此,将明白:有时被称为计算机执行的这样的动作和操作包括由处理单元对采用结构化形式表示数据的电信号进行的操纵。这种操纵转换数据或将之保持在存储器中的某些位置上,这以本领域技术人员完全理解的方式来重新配置或以其他方式改变计算设备或外设的操作。其中保持数据的数据结构是具有利用数据的格式定义的特定属性的物理位置。
[0017] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,本领域技术人员将意识到:计算设备未必限于常规的个人计算机,而包括其他的计算配置,这包括手持设备、多处理器系统、基于微处理器的或可编程的消费类电子设备、网络PC、微型计算机、大型计算机等等。类似地,计算设备不必限于单独的计算设备,因为这些机制也可以在分布式计算环境中进行实现,而在分布式计算环境中利用通过通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于本地和远程记忆存储设备二者中。
[0018] 转向图1,显示示例系统100,其包括客户机计算设备110、两个服务器计算设备即服务器计算设备140和170、以及网络190,其中网络190允许客户机计算设备110与服务器计算设备140和170之中的两个或更多个设备之间进行通信。虽然被阐述为分开的服务器计算设备140和170,但是在这里描述的机制同样适用于在单个服务器计算设备上运行的独立进程,或适用于其中设备140中的组件被拆分到不同服务器之间的配置。在这里描述的机制也适用于诸如能够利用或在单个物理计算设备上或跨越多个物理计算设备运行的一个或多个进程创建的虚拟服务器计算设备。因此,服务器计算设备140和170打算不仅代表物理服务器计算设备,也代表虚拟服务器计算设备或任何其他类似的独立执行进程。如下面将描述的,图1的系统100进一步包括分别在服务器计算设备140和170上运行的web(网络)服务器160和180。此外,这样的命名法(nomenclature)用于描述清晰以及用于提供共同的理解基础,而不打算将在这里提供的描述严格限于所阐述和所参考的WWW和以web为核心的环境。
[0019] 为了下面的描述,客户机计算设备110将被阐述并被称为移动计算设备,例如,诸如蜂窝电话、个人数字助理、平板计算机或通常经由无线连接通信耦合至网络190的其他类似的移动计算设备。虽然下面详述的机制同样适用于任何类型的计算设备,但是有可能这些机制将在移动计算设备的上下文中提供最大的效用,这是因为其物理限制时常提供次优的用户输入机制。例如,如先前所示,由于希望移动计算设备实际上是尽可能小的,所以这样的移动计算设备通常在其物理尺寸方面受到约束。结果,移动计算设备通常不包括全尺寸键盘或其他等价的用户输入机制或外设。相反,移动计算设备通常包括减小尺寸的键盘或其按键显示在移动计算设备的显示器上的虚拟键盘。在这两种情况下,这样的键盘由于其物理尺寸而对于具有一般大小手指的用户而言可能难以有效地输入信息。因此,诸如下面详述的使得用户无需输入或重新输入某些信息的机制在移动计算设备的上下文内可能是特别有益的。
[0020] 图1所示的系统100的移动计算设备110被阐述为包括搜索应用120和日历应用125。在一个实施例中,搜索应用120可以是在移动计算设备110上本地执行的专用应用,并且其给移动计算设备110的用户提供搜索网络190的能力,或者以其他方式提供移动计算设备110的用户能够用于访问经由网络190提供的一个或多个服务的机制。然而,在替代实施例中,搜索应用120可以是通用网络浏览器,其可以仅仅涉及搜索服务或以其他方式使用搜索服务,诸如能够由搜索服务器计算设备140提供的搜索服务,这将在下面进一步详细描述。无论搜索应用120是本地应用还是通用浏览器,搜索应用120都能够与搜索引擎150通信,其中该搜索引擎能够由诸如搜索服务器计算设备140之类的一个或多个服务器计算设备来主办(host)。
[0021] 移动计算设备110的用户可以使用搜索应用120来搜索经由网络190提供的信息和服务,或以其他方式发送查询,其中该用户寻求对该查询的响应。例如,诸如搜索项之类的由移动计算设备110的用户输入到搜索应用120中的信息能够被发送到正由搜索服务器计算设备140执行的搜索引擎150,如利用图1的系统100中所示的通信131所述的。随后,搜索引擎150可以诸如采用本领域技术人员熟知的方式来查阅搜索数据库155,以识别一个或多个经由网络190可访问的响应实体。通常,这样的响应实体利用链接或其他标识符来识别,其中通过这些链接或标识符,移动计算设备110能够经由网络190与这些响应实体通信。这样的响应链接能够随后由搜索引擎150经由也在图1的系统100中显示的通信132返回给搜索应用120。
[0022] 在一个实施例中,搜索数据库155或另一个类似地通信耦合到搜索引擎150的数据库可以包括上下文转移页的列表。在这样的实施例中,当搜索引擎150识别响应于所提供的搜索项的实体时,搜索引擎150可以进一步确定是否一个或多个上下文转移页与那个特定实体相关联。如果搜索引擎150识别与该搜索引擎150先前已确定的实体相关联的一个或多个上下文转移页响应于它已接收到的查询,那么该搜索引擎150能够返回链接或标识符,其中这些链接或标识符并不返回给响应实体本身,而是返回给它已识别的上下文转移页。因而,在这样的实施例中,由搜索引擎150经由通信132返回给搜索应用120的至少一些响应链接可以是至一个或多个上下文转移页的链接,其中这一个或多个上下文转移页与被视为响应于经由通信131从搜索应用120接收到的查询或其他信息的网络可访问实体相关联。由搜索引擎150经由通信132返回的其它链接可以是直接至响应内容的更传统的链接,例如,其中响应内容包括响应文本内容、响应地图内容等等。
[0023] 随后,搜索应用120能够将通过通信132接收到的响应链接呈现给移动计算设备110的用户。如果用户选择所呈现的链接中的一个或多个链接,那么搜索应用120可以跟随所提供的链接而将上下文传递给所链接至的上下文转移页。在一个实施例中,上下文转移页可以由与提供搜索引擎150相同的实体来主办。因而,如图1的系统100中所示的,搜索服务器计算设备140可以进一步包括web服务器160,其能够主办诸如上下文转移页161和162之类的一个或多个上下文转移页。至这样的上下文转移页的链接的调用能够导致从搜索应用120到诸如上下文转移页161之类的上下文转移页之一的通信,诸如通信133。
[0024] 在一个实施例中,至上下文转移页161的链接不但能够包括上下文转移页161本身的标识,而且还能够包括可以将上下文从搜索应用120传递到上下文转移页161的参数和相关联的值。例如,至该上下文转移页161的链接能够采用http://www.searchservice.com/context_transfer_page.html?context1=value&contex2=value的形式,其中“www.searchservice.com/context_transfer_page.html”可以代表上下文转移页161本身的标识符,诸如能够用于在网络190内识别和定位上下文转移页161的标识符,并且“context1=value&contex2=value”项可以代表能够将上下文从搜索应用120传送到上下文转移页161的名称/值配对。在其他的实施例中,不通过该链接中名称/值配对的指定来传递上下文,而能够在例如包括该请求的标题或主体在内的该请求的其他组分中包括所传递的上下文信息。类似地,在其他的实施例中,不采用名称/值配对的形式来指定上下文信息,而能够以特定的顺序、通过标记或其他元数据或其他格式编排来指定上下文信息。
[0025] 可以诸如通过在名称值配对中适当值的指定来传送的内容之一可以是搜索应用120知晓的信息、由搜索引擎150使用的信息或其任何组合。例如,经由通信133传送的上下文可以包括经由先前描述的通信131最初从搜索应用120发送到搜索引擎150的某些或所有的搜索项或搜索查询的其他方面。此外,经由通信133传送的上下文可以包括与经由通信132提供的搜索结果相关联的信息,诸如被识别为响应的任何服务的名称和其他方面。作为另一示例,例如,经由通信133传送的上下文可以进一步包括可能已从先前搜索中获得的信息,诸如在那些先前搜索中使用的搜索项或其他查询,或从那个先前搜索中接收到的或以其他方式与那个先前搜索相关联的结果。作为进一步示例,经由通信133传送的上下文可以进一步包括搜索应用120能够从移动计算设备110的其他方面推导出的或搜索应用120为了它自己的使用而已在移动计算设备100上存储的上下文。例如,应用120可以从移动计算设备110的其他方面获得关于该移动计算设备的当前位置的信息,诸如从移动计算设备110的全球定位系统(GPS)单元获得该信息。在这样的示例中,搜索应用120可以使用这样的GPS信息来定位从搜索引擎150接收到的结果,或者替代地,搜索应用120可以将这样的GPS信息提供给搜索引擎150,并且可以启用搜索引擎150以便在将其结果发回给搜索应用120之前定位这些结果。作为另一个示例,搜索应用120可以知道用户的家庭电话号码、家庭地址、电子邮件地址乃至信用卡号。如本领域技术人员将认识到的,诸如通过初始地由用户与请求一起提供,这样的信息通常由用户“自动填充(auto-fill)”,以便搜索引擎120“记住”那个信息,从而在未来利用那个信息来预填充(pre-populate)合适的信息请求。
[0026] 在一个实施例中,诸如上下文转移页161和162之类的上下文转移页可以是目标特定的上下文转移页,这些目标特定的上下文转移页可以包括脚本、代码和其他信息,其中这些脚本、代码或其他信息可以接受所提供的上下文,并随后以适合于通信将最终被定向至的特定目标的方式来重新格式化这样的上下文。例如,如果目标特定的上下文转移页与经由网络190可利用的允许用户购买电影票的服务相关联,则这样的电影票购买服务可能全部需要有关所选择的特定电影、放映这样的电影的影院以及特定时间的信息。类似地,作为另一个示例,如果目标特定的上下文转移页与经由网络190也可利用的允许用户进行餐厅预订的不同服务相关联,则这样的餐厅预订服务可能需要与用户希望预订的特定餐厅、特定时间以及用户的聚会的人数相关的信息。可用于搜索应用120或搜索引擎150的上下文可能不一定包括所有这样的所需信息,或者它可能包括并不需要的且实际上对于特定服务可能是无用的进一步信息。因此,目标特定的上下文转移页的脚本、代码或其他信息能够仅使用对于特定目标而言是特定的上下文,其中这样的目标特定的上下文转移页与该特定目标相关联,并且这样的目标特定的上下文转移页针对该特定目标来创建。
[0027] 在另一个实施例中,诸如上下文转移页161和162之类的上下文转移页不一定是目标特定的。相反,上下文转移页可以使用能够为了上下文的传送而建立的协议。这样的协议可以是普遍适用的,或者它们可以是特定于特殊应用、产业、服务类别或其他类似描述。例如,一种协议可以为了适用于机票预订服务的上下文的传送而建立,而另一种协议可以为了适用于餐厅预订服务的上下文的传送而建立。如此建立的协议能够为将被作为上下文进行传送的特定类型的数据指定具体命名法和格式编排。例如,日期数据可以包括“月”、“日”和“年”类别,其中这些类别可以接受以例如两位或四位数字格式编排的信息。在这样的实施例中,不将上下文数据重新格式化为与特定目标相关的格式编排,而是上下文转移页可以仅依照相关的已建立的协议来重新格式化该上下文数据,并且该目标可以通过它自己的相同协议的实现方式来接受这样的上下文信息。
[0028] 一旦上下文转移页已滤除或以其他方式重新格式化它诸如经由图1的系统100中所示的通信133接收到的任何上下文,该上下文转移页可以转而与诸如在网络190上提供的特定服务之类的目标通信,并且能够给那个目标提供这样的上下文信息。例如,如利用图1的系统100所示的,业务服务器计算设备170可以主办业务web服务器180,其中该服务器180能够通过网络190提供服务,诸如电影票购买服务或餐厅预订服务,如上所述。诸如上下文转移页161之类的上下文转移页可以随后诸如经由通信134与这样的业务web服务器180通信,以便给业务web服务器180提供利用上下文转移页161重新格式化的上下文。
[0029] 在一个实施例中,例如,上下文转移页161可以包括至由业务web服务器180主办的网站的深层链接。例如,如果业务web服务器180正主办餐厅预订服务,那么这样的服务中诸如单个网页之类的单个元素可以与特定餐厅相关联。因此,可用于上下文转移页161的深层链接可以允许这样的页面从接收自搜索应用120的上下文中推导出用户正尝试进行预订的餐厅的标识,并且上下文转移页161可以直接给该网页或web服务器180中与那个餐厅特别相关联的其他实体提供进一步上下文,诸如用户希望进行预订的日期和时间。例如,响应于经由通信131发送的用户的查询,搜索引擎150可能已识别搜索引擎150可能已视为响应于用户的查询的多个餐厅。对于每一个餐厅,至诸如上下文转移页161之类的上下文转移页的链接可以包括上下文的传送,其中所述上下文不仅包括来自用户的查询的信息,而且也包括结果中的信息,例如,诸如特定餐厅的名称。用户随后可以通过激活相关联的链接来选择特定餐厅。例如,那个链接可以用于诸如采用上面详细描述的方式来传送能够包括那个链接与之相关联的特定餐厅的名称的上下文以及诸如已从用户的查询中推导出的其他上下文,诸如用户希望进行预订的日期和时间。
[0030] 在另一个实施例中,虽然在图1的系统100中没有特别说明,但是诸如上下文转移页161和162之类的上下文转移页不一定传送上下文给业务web服务器180。相反,在这样的另一个实施例中,上下文转移页可以传送上下文信息给能够运行在移动计算设备110上的另一个应用程序。例如,如本领域技术人员将认识到的,例如,传统上通过由诸如业务web服务器180之类的业务web服务器提供的接口来供应的一些服务现在也通过利用本地运行的应用程序提供的接口来供应。以这样的方式,用于所供应的服务的接口可以被定制为适合于诸如移动计算设备之类的特定环境。在这样的实施例中,与这样的本地运行的应用程序进行的通信并不像图1的通信134和135的情况中那样直接地进行,而能够反而最初通过诸如应用120之类的应用来进行,其中该应用可以调用或以其他方式来实例化移动计算设备110上的适当应用,以及启动在这样的应用与适当的上下文转移页之间的通信。
[0031] 在一个实施例中,上下文转移页能够进一步诸如给业务web服务器180或本地运行的应用程序提供返回链接或其他标识符,其中业务web服务器180能够利用这样的返回链接或其他标识符来返回信息。这样的返回链接能够指定发起该通信的上下文转移页,诸如上下文转移页161,或者能够指定不同的上下文转移页,诸如转移页162,其中在图1的系统100中显示这二者。返回链接能够进一步指定用于将返回的上下文提供给网页或能够运行在移动计算设备110上的专有应用程序的协议。在这样做时,返回链接能够向目标“隐藏”该返回协议,从而最小化由该目标投入于代码或定制逻辑的研制之中以支持这样的协议的任何投资。为了说明,在利用图1的系统100所示的示例中,能够指示业务web服务器180将信息返回给上下文转移页162,并且结果,业务web服务器180能够经由通信135将这样的信息提供给上下文转移页162,如所示的。例如,所返回的信息能够包括确认号码、与可能已预订的特定日期和时间相关的信息或其他类似信息。与以前一样,能够以各种机制来提供这样的信息,例如,其包括作为与附加到返回链接上的名称值配对相关联的值来提供。
[0032] 接收到这样的返回链接的上下文转移页能够随后解析所提供的上下文,并且能够恰当地指示或指导在移动计算设备110上一个或多个用户便利功能的执行。例如,在其最简单的形式中,上下文转移页162能够仅导致搜索应用120向用户显示结果,诸如经由通信136接收到的结果。然而,在另一个实施例中,上下文转移页162能够导致搜索应用120在移动计算设备110上执行其他的动作。例如,如利用通信137所示的,搜索应用120可以调用日历应用125,并且能够在日历应用125的上下文内创建具有由业务web服务器180初始发送的上下文信息的日历条目。其他的用户便利功能类似地被设想。例如,搜索应用120可以自动地生成文本或电子邮件给其他用户,诸如其他的可能是晚餐聚会方的用户。替代地,作为另一示例,搜索应用120可以调用地图应用来给移动计算设备110的用户提供例如去往用户刚购买了票的电影院的分路段方向(turn by turn direction)。
[0033] 转到图2,其中显示的系统200说明示例系列的动作和用户界面,这些动作和用户界面可以进一步在具体示例的上下文内阐明上面的描述。与以前一样,这样的示例打算仅仅是说明性的,而并不打算将描述的实施例限于该示例的细节。
[0034] 最初,如利用图2的系统200所示的,在移动计算设备上运行的应用可以呈现用户界面210,该用户界面能够允许用户搜索或以其他方式定位用户可能希望的信息或服务。通常,用户界面210可以包括文本输入区域211,该区域能够允许用户输入描述该用户正在搜索什么或者以其他方式希望什么的信息。在图2的系统200中显示的特定示例中,用户可能已输入了文本212“Where can I take my wife to a steak dinner on Saturday at 7:30pm?(星期六下午七点半我能带我妻子去哪里吃牛排晚餐?)”。如本领域技术人员将认识到的:这样的文本可以包括足够的信息以使得搜索服务能够辨别出用户正在尝试查找例如牛排餐厅。因此,响应于用户在呈现用户界面210的应用中输入文本212,呈现用户界面210的应用能够返回一系列结果215、216和217,其中这些结果能够识别被认为是响应于用户的请求的一个或多个实体。
[0035] 通常,诸如结果215、216和217之类的对于搜索请求的结果包括能够用于从一个或多个网络可访问资源中识别和检索数据的链接或标识符。在一个实施例中,如先前所指示的,结果215、216和217能够包括并不是至网络可访问资源本身的链接,而能够包括至与那些资源相关联的上下文转移页的链接。因而,在利用图2的系统200示出的特定示例中,结果215、216和217能够传统上已参考允许用户对列出的餐厅进行预定的基于网络的餐厅预订服务。相反,在一个实施例中,结果215、216和217可以包括至上下文转移页的链接,例如,其中这些上下文转移页被设计成重新格式化通过这些链接诸如作为名称值配对的组合而获得的上下文,并且使用这样的上下文来预填充或已经填充基于网络的餐厅预订服务所需的某些方面或某些信息。
[0036] 例如,与结果215相关联的链接能够识别上下文转移页220并且也能够向那个页面提供可用的上下文。例如,搜索查询中的项“Saturday(星期六)”可以采用“date=11/13/2010”的形式被标识给上下文转移页220。更具体地,搜索服务可能已将搜索查询中的项“Saturday”识别为对于即将到来的星期六的引用。因此,当诸如在用户界面210中形成将要提供的搜索的结果时,搜索引擎可能已形成与搜索结果215相关联的链接,例如,其中该搜索结果不仅指定至上下文转移页220的链接,而且还指定至少一个传达这个日期信息的名称/值配对,诸如“date=11/13/2010”。类似地,搜索查询中的项“7:30pm”可以被理解为对时间的引用,并且搜索引擎又在形成将与结果215相关联的链接时可以进一步附上另一名称/值配对来传送这个上下文,例如,诸如采用“time=1930”形式的名称/值配对。
[0037] 例如,上下文转移页220能够采用名称/值配对的形式来接收这个上下文,并且可以采用适合于基于网络的餐厅预订服务所期望的输入的方式来重新格式化这样的上下文。在一个实施例中,上下文转移页220能够在重新格式化它接收到的任何上下文之后重定向到特定网页或与基于网络的餐厅预订服务相关联的其他类似实体。例如,这样的重定向可以依照本领域众所周知的网页重定向机制来执行。作为这样的重定向的一部分,上下文转移页220可以将重新格式化的内容提供给基于网络的餐厅预订服务。例如,上下文转移页
220可以生成它自己的名称/值配对,以提供上下文给基于网络的餐厅预订服务。
[0038] 从移动计算设备的用户的角度来看,上下文转移页220不需要包括任何可见显示。因此,从那个用户的角度来看,例如,诸如与示例搜索结果215相关联的链接之类的链接的选择可能导致表示具有为用户预填充的某些信息的网页或基于网络的餐厅预订服务的其他类似实体的用户界面230的呈现。因而,例如,用户界面230可以包括地址栏231,例如,诸如通常在移动网络浏览器应用程序中找到的地址栏,并且可以进一步包括通常将要求用户自己填写的各个字段的信息。然而,在目前示例中,上下文转移页220可能已向基于网络的餐厅预订服务提供了相关的上下文,其中基于网络的餐厅预订服务可以主办能够作为用户界面230的一部分显示的网页或其他类似的实体。因而,如所示的,可能已为用户填充了所需餐厅232的名称,正如日期233、时间234乃至聚会大小235一样。例如,如本领域技术人员将理解的并且如上面具体描述的,这样的信息可能已经不仅从用户使用的搜索项212中导出,例如,而且还可能已从由搜索引擎确定的响应结果诸如响应餐厅的名称或搜索应用、搜索引擎或其组合可能知道的其他信息中导出。
[0039] 在一个实施例中,用户随后可以着手与目标网络服务(target network-based service)进行交互。例如,在利用图2的系统200表示的具体示例中,用户可以使用用户界面230来编辑、删除或以其他方式修改被预填充的信息、进行所阐述的预订或者以其他方式与目标网络服务进行交互。最终,例如,能够呈现提供用户的预订的确认细节245的用户界面240。
[0040] 如先前所指示的,在一个实施例中,上下文转移页220可能已给其目标网络服务提供了返回链接,其中该服务将利用该返回链接来返回进一步上下文,例如,诸如确认细节245。在一个实施例中,这样的返回链接也可以作为资源标识符的一部分以类似于提供该上下文本身的方式来提供。由上下文转移页220指定的返回链接不一定识别那个相同的页面。例如,由上下文转移页220指定的返回链接可能反而将上下文转移页250指定为返回链接。在这样的情况下,目标网络服务可以给指定的上下文转移页250提供附加的上下文,例如,诸如确认细节245。
[0041] 与上下文转移页220相类似,例如,上下文转移页250也能够重新格式化它诸如从目标网络服务接收到的任何上下文。在一个实施例中,上下文转移页250可以仅采用可视方式给移动计算设备的用户提供确认细节245。然而,在另一个实施例中,例如,上下文转移页250可以利用正在移动计算设备上运行的移动网络浏览器应用程序或其他的类似应用程序的能力来为用户在移动计算设备上执行用户便利功能。例如,如利用图2的系统200所述的示例所示的,上下文转移页250能够利用其用户界面被显示为用户界面260的移动网络浏览器来调用例如日历应用并提供确认细节245中的上下文给日历应用。从移动计算设备的用户的角度来看,上下文转移页250不需要包括任何可见方面。因此,从那个用户的角度来看,网络浏览器或其他合适的应用可以在移动计算设备上启动另一个应用程序之前简要地显示用户界面,诸如用户界面260。在利用图2的系统200所述的具体示例中,这样的另一个应用程序可以是能够呈现用户界面270的日历应用程序。
[0042] 如能够明白的,在日历应用用户界面270中可以为用户预填充确认细节245的各个方面。因而,例如,日历应用可能已被调用,并且可能已创建新的事件。随后,与餐厅有关的信息能够被输入到事件字段273,而与日期和时间相关的信息能够被输入到起始字段274。类似地,能够在备注字段276中提供确认号码,并且甚至能够设置如利用报警字段274所指示的警报。与以前一样,用于预填充这样的字段的信息可以经由能够被附加到资源标识符上的名称/值配对或经由任何其他类似的机制来提供。因为上下文转移页250是特定的,所以所提供的上下文对于利用该目标提供的特定的基于网络的服务而言可能是特定的。还有,例如,提供基于网络的餐厅预订的目标可以与上下文转移页相关联,其中这些上下文转移页可以寻求导出并传递能够启用通常在日历应用中找到的字段的预填充的上下文。其他的基于网络的服务可以提供不同类型的上下文,其中这些不同类型的上下文可以利用特定于那些目标的上下文转移页来恰当处理。例如,基于网络的机票预订服务可以与上下文转移页相关联,其中该上下文转移页能够引起电子邮件程序的调用,以便利用电子邮件将旅程发送给移动计算设备地址簿中其姓名与为之购买了机票的个人相匹配的那些个人。
[0043] 与以前一样,预填充的信息能够保持可供使用或修改。因而,在图2的系统200中所示的示例中,如果用户不希望在其日历中保存餐厅预订信息,那么该用户仍能够在用户界面270中选择取消按钮271。相反,在选择保存按钮272以便将这样的预填充信息存入其日历之前,用户也能够酌情编辑或删除这样的预填充信息。
[0044] 虽然没有具体阐述,但是能够采用上面具体描述的方式传送的上下文也包括能够由用户从先前活动中导出的上下文。因而,例如,如果其活动利用图2的系统200示例阐述的用户将随后搜索同一天的电影票,那么能够提供的一些上下文可以包括与用户已预订的餐厅的位置相关的信息以及用户已进行那些预订的时间。这样的上下文随后能够使得目标网络服务进一步定制其行为以适应于用户的可能需要。
[0045] 如能够明白的,通过提供去往和来自目标网络服务的上下文,可能需要用户借助于诸如通常与移动计算设备相关联的那些次优用户输入外设来输入的信息量能够被最小化。然而,在一个实施例中,诸如上面详述的那些上下文转移页可以包括能够向用户请求额外上下文的可视元素。虽然在那些情况中可能仍需要用户故意使用次优的用户输入外设,但是这些上下文转移页仍能够提供益处,这是因为它们能够采用易于用户感知并在移动计算设备的上下文内与之交互的方式从用户收集信息。例如,这样的上下文转移页能够将显示给用户的高带宽元素的数量减至最低,或者它们可以被设计成在小屏幕内提供最大易读性。因此,例如,目标网络服务能够在例如移动计算设备的上下文内以方便于用户的方式从用户收集信息,而目标网络服务不必投资于例如移动计算设备特定呈现的创建。这样的实施例的使用的一种情形是在付款的上下文中,其中用户能够经由上下文转移页来提供付款信息,不过该上下文转移页能够将这样的付款上下文传送给能够处理这样的信息的目标网络服务。
[0046] 转到图3,利用在图3中显示的流程图300来说明能够提供上述功能的服务器计算设备的操作。最初,在步骤310,例如,诸如从运行在移动计算设备上的专用应用或通过诸如可能已由例如移动网络浏览器应用提供给移动计算设备的用户的web界面来接收搜索项和其他上下文。如先前所指示的,在步骤310上接收的上下文能够不仅包括搜索项,而且能够包括其他信息,例如,诸如从中接收到这些搜索项的移动计算设备的GPS坐标、用户的先前搜索项或先前网络活动以及其他类似的上下文信息。
[0047] 在步骤320,检索服务或搜索引擎能够基于在步骤310接收的其他上下文中的搜索项来识别一个或多个搜索结果。作为一个或多个搜索结果的识别的一部分,在步骤320,搜索引擎能够确定是否任何一个搜索结果与一个或多个上下文转移页相关联。如果是的话,则搜索引擎能够制定适当的链接至这样的上下文转移页,以传递搜索引擎、移动计算设备或其任何组合知晓的上下文。在步骤330,利用在步骤320生成的链接能够接收到对于那些上下文转移页之一的请求,其中所述链接可以诸如采用上面详述的方式提供上下文给这样的上下文转移页。在步骤340,有关上下文转移页的脚本、代码或其他信息可以被执行,以重新格式化该上下文、选择要使用的上下文并执行其他类似的活动。然后,在步骤350,上下文转移页能够重定向到目标网络服务,从而提供重新格式化的上下文并提供返回链接,例如,以便那个目标利用该返回链接来返回诸如确认号码之类的进一步上下文。
[0048] 一旦用户完成其与目标网络服务的交互,在步骤360,可以利用在步骤350提供的返回链接指定的上下文转移页来接收结果。再次,有关这样的指定的返回内容转移页的脚本、代码或其他信息可以被执行,或否则能够以恰当的方式来重新格式化接收到的上下文。在步骤370,例如,那个内容转移页能够导致用户被告知确认号码或交易的成功或失败。可选地,也作为步骤370的一部分,在移动计算设备上可以调用其他的应用程序,并且接收到的上下文能够被提供给那些应用程序,以便预填充字段或以其他方式帮助执行用户便利功能。相关的处理可以随后在步骤380结束。
[0049] 转到图4,示出示例计算设备400。示例计算设备400可以是其操作在上面详细描述的图1所示的客户机计算设备110以及服务器计算设备140和170中的一个或多个。例如,计算设备400可以是蜂窝电话、个人数字助理、平板计算设备或其他类似的移动计算设备。类似地,例如,示例计算设备400可以是服务器计算设备或计算设备,其可能诸如正通过执行一个或多个创建能够提供上面详述的操作的虚拟计算环境的进程来运行一个或多个进程,其中这一个或多个进程可以代表图1所示的服务器计算设备140和170。图4的示例计算设备400可以包括但不限于一个或多个中央处理单元(CPU)420、可以包括RAM 432的系统存储器430以及将包括系统存储器的各种系统组件耦合到处理单元420的系统总线421。系统总线421可以是若干类型的总线结构中的任何一种,其包括存储器总线或存储控制器、外设总线以及使用各种总线架构中的任何一种的本地总线。计算设备400能够可选择地包括诸如用于显示可视用户界面的图形硬件,这包括但不限于图形硬件接口490和显示设备491。取决于具体的物理实施方式,CPU 420、系统存储器430以及计算设备400的其他组件中的一个或多个可以物理上共同位于诸如单个芯片上。在这样的情况下,一些或所有的系统总线421可以只是单个芯片结构内的硅通道,并且其在图4中的图解表示只是用于说明目的的标记方便。
[0050] 计算设备400也通常包括计算机可读媒体,其可以包括能够被计算设备400访问的任何可用媒体,并且包括易失性和非易失性媒体以及可移动和不可移动媒体二者。通过示例而非限制的方式,计算机可读媒体可以包括计算机存储媒体和通信媒体。计算机存储媒体包括采用任何方法或技术来实施的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的媒体。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储技术、CD-ROM、数字多用途碟片(DVD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备、或任何其他的能够用于存储所需信息并且能被计算设备400访问的介质。通信媒体通常体现计算机可读指令、数据结构、程序模块或在诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息传递媒体。通过示例而非限制的方式,通信媒体包括诸如有线网络或直接有线连接之类的有线媒体以及诸如声学、RF、红外和其他无线媒体之类的无线媒体。上述任何的组合也应该被包括在计算机可读媒体的范围之内。
[0051] 系统存储器430包括采用易失性和/或非易失性存储器形式的计算机存储媒体,诸如只读存储器(ROM)431和上述的RAM 432。通常在ROM 431中存储基本输入/输出系统433(BIOS),其包含有助于诸如在启动期间在计算设备400内的各元素之间传送信息的基本例程。RAM 432通常包含由处理单元420立即可访问和/或目前正对其操作的数据和/或程序模块。通过示例而非限制的方式,图4示出操作系统434以及其他的程序模块435和程序数据436。
[0052] 计算设备400也可以包括其他的可移动/不可移动、易失性/非易失性计算机存储媒体。仅通过示例的方式,图4示出读取和写入不可移动、非易失性媒体的硬盘驱动器441。其他的能够与示例计算设备一起使用的可移动/不可移动、易失性/非易失性计算机存储媒体包括但不限于磁带盒、闪存卡、数字多用途碟片、数字录像带、固态RAM、固态ROM等等。硬盘驱动器441通常通过诸如接口440之类的不可移动存储器接口而连接到系统总线421。
[0053] 上面讨论的并在图4中示出的驱动器及其相关联的计算机存储媒体提供计算机可读指令、数据结构、程序模块以及用于计算设备400的其他数据的存储。例如,在图4中,硬盘驱动器441被表示为存储操作系统444、其他的程序模块445以及程序数据446。注意:这些组件与操作系统434、其他的程序模块435以及程序数据436可以是相同的或不同的。
在本文给操作系统444、其他的程序模块445和程序数据446提供不同的编号,这说明在最低程度上它们是不同的拷贝。
[0054] 计算设备400能够使用至一个或多个远程计算机的逻辑连接而操作在联网环境中。计算设备400被表示为通过网络接口或适配器470连接到一般网络连接471,其中网络接口或适配器又连接到系统总线421。在联网环境中,相对于计算设备400描述的程序模块或其某些部分或外设可以被存储在通过一般网络连接471通信耦合到计算设备400的一个或多个其他计算设备的存储器中。将意识到:所显示的网络连接是示例性的,并且可以使用在计算设备之间建立通信链接的其他手段。
[0055] 如从上面描述中能够明白的,已枚举了用于传递上下文以最小化用户输入的机制。鉴于在这里描述的主题的许多可能的变种,我们声称所有这样的可能落入以下的权利要求书及其等价物的范围之内的实施例是我们的发明。