改进与电子聊天界面的交互的制作方法

文档序号:18744728发布日期:2019-09-21 02:12阅读:191来源:国知局
改进与电子聊天界面的交互的制作方法

本文件涉及聊天界面,通过该聊天界面用户可以与提供对资源或内容的访问的内容提供者通信。聊天界面在各个内容提供者上可能是不一致的,并且可能用不同方式来实现和展现。此外,当现存的聊天界面展现在移动装置上时,还可能存在一些或全部功能性的丢失。附加地,当聊天会话断开连接时,几乎没有资源。



技术实现要素:

总体上,本说明书中所描述的主题的一个创新方面可以实施为包含如下的方法:由通信服务器从用户接收内容的搜索请求;响应于搜索请求,由通信服务器在显示网页上获取以多个可选择的内容项的形式的搜索结果,每个可搜索的内容项包含与搜索请求相关联的相应网页资源的链接。方法包含基于从与多个网络资源的特性有关的数据库中获得的信息,由通信服务器来确定,特定网络资源通过在特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能;对于所述特定网络资源,在显示网页上自动提供聊天界面,聊天界面被渲染和/或由通信服务器控制以在显示网页上与相应可选择的内容项相邻地显示。响应于与来自显示页面的聊天界面的用户交互,由通信服务器在用户和与特定网络资源相关联的特定第三方内容提供者之间发起聊天会话。

这些和其它实现方式可以各自可选地包含一个或多个如下特征。在一些实现方式中,方法包含用与网页资源有关的数据库条目填充数据库。填充数据库包含,对于所述多个网页中的每一个,在通信服务器处接收指示相应的网络资源的特性的数据;由通信服务器基于所接收的数据来检测,相应的网络资源通过相应的网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能;并且由通信服务器在数据库中储存指示相应的网络资源具有功能的条目。周期性地进行填充所述数据库的步骤,以捕获尚未包含在数据库中的网页的数据。

在一些实现方式中,聊天会话包含通信服务器和用户之间的第一会话,以及通信服务器和第三方内容提供者之间的第二会话。在一些实现方式中,方法可以包含由通信系统检测到聊天会话中的无活动达预定时间段;由通信系统检测到第一会话或第二会话中的至少一个已经结束;由通信系统基于聊天会话的上下文数据确定用户尚未完成聊天会话;在数据库中储存指示第一会话的整体的数据;响应于检测到第二会话已经结束,由通信系统在通信服务器和第三方内容提供者之间发起第三会话作为聊天会话的部分;以及由通信系统向第三方内容提供者提供指示第一会话的至少一部分的数据,使得用户能够重新开始与第三方内容提供者的聊天会话。

在一些实现方式中,方法包含在通信服务器处从用户通过聊天用户界面接收第一会话的输入;以及由通信服务器向第三方内容提供者提供指示第二会话的用户输入的数据。在一些实现方式中,访问特定网络资源的请求包括语音输入。在一些实现方式中,方法包含由通信系统从用户接收第一会话中的第二语音输入;向第三方内容提供者在第二会话中提供指示第二语音输入的文本表示的数据;由通信系统从第三方内容提供者接收在通信系统和第三方内容提供者之间的第二会话中来自第三方内容提供者的文本输入;以及由通信系统向用户在第一会话中提供指示来自第三方内容提供者的文本输入的语音表示的数据。

在一些实现方式中,聊天用户界面是聊天小部件。在一些实现方式中,确定特定网络资源通过在特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能包含:由通信系统访问网络资源;由通信系统在网络资源上标识小部件;由通信系统在网络资源上的小部件的代码中标识标签,该标签指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

在一些实现方式中,实时辅助由特定第三方内容提供者的人工代表来提供。

在一些实现方式中,方法包含,对于针对特定网络资源所发起的多个聊天会话中的每一个,由通信系统基于将用户指引到特定网络资源的内容项的唯一标识符来确定,聊天会话的内容项度量值。该方法包含由通信系统使用内容项度量值来生成内容项度量值的表达;以及由通信系统向第三方内容提供者提供表达以显示。

在一些实现方式中,确定特定网络资源通过在特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能包含:由通信系统访问网络资源;由通信系统确定与正在访问网络资源的窗口分离的新窗口已经打开;以及在新窗口中确定指示文本短语,该文本短语指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

在一些实现方式中,用户通过网络连接的装置访问聊天会话。网络连接的装置可以是移动装置。网络连接的装置可以是桌上型装置。在一些实现方式中,网络连接的装置不具有屏幕。

在一些实现方式中,在用户和特定第三方内容提供者之间发起聊天会话包含,由通信服务器从第三方内容提供者接收聊天会话的第一会话的第一唯一会话标识符,且由通信服务器向第三方内容提供者提供第一唯一会话标识符,以促进第二会话。

本说明书中所描述的主题的另一个创新方面可以实施为包含如下的系统:通信连接到网络的装置;通信连接到所述网络的第三方内容提供者服务器;以及进行实现如上所描述的方法的操作的通信服务器。

本说明书中所描述的主题的另一个创新方面可以实施在用可执行的指令编码的至少一个计算机可读储存介质中,可该执行指令当由至少一个处理器执行时,引起至少一个处理器进行实现如上所描述的方法的操作。

本说明书中所描述的主题的另一个创新方面可以实施为包含如下的方法:对于多个网页中的每一个,在通信服务器处接收指示相应的网络资源的特性的数据;由通信服务器基于所接收的数据来检测,相应的网络资源通过相应的网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能;并且由通信服务器在数据库中储存指示相应的网络资源具有功能的条目。该方法包含由通信服务器从用户接收访问由特定第三方内容提供者主管的特定网络资源的请求;由通信服务器基于数据库中所储存的表示特定网络资源的条目确定,特定网络资源通过特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能;以及由通信服务器在用户和第三方内容提供者之间发起聊天会话。

在一些实现方式中,聊天会话包含通信服务器和用户之间的第一会话,以及通信服务器和第三方内容提供者之间的第二会话。方法可以包含在通信服务器处从用户通过聊天用户界面接收第一会话的输入;以及由通信服务器向第三方内容提供者提供指示第二会话的用户输入的数据;并且维持用户和第三方内容提供者之间的聊天会话的状态信息。方法可以包含由通信系统检测到无活动达预定时间段;由通信系统检测到第一会话或第二会话中的至少一个已经结束;由通信系统基于聊天会话的上下文数据确定用户尚未完成聊天会话;在数据库中储存指示第一会话的整体的数据;由通信系统在响应于检测到第二会话已经结束的情况下,在通信服务器和第三方内容提供者之间发起第三会话作为聊天会话的部分;以及由通信系统向第三方内容提供者提供指示第一会话的至少一部分的数据,使得用户能够重新开始与第三方内容提供者的聊天会话。

在一些实现方式中,访问特定网络资源的请求包含语音输入。方法可以包含由通信系统从用户接收第一会话中的第二语音输入;向第三方内容提供者在第二会话中提供指示第二语音输入的文本表示的数据;由通信系统从第三方内容提供者接收在通信系统和第三方内容提供者之间的第二会话中来自第三方内容提供者的文本输入;由通信系统向用户在第一会话中提供指示来自第三方内容提供者的文本输入的语音表示的数据。

在一些实现方式中,由通信服务器在用户和特定第三方内容提供者之间发起聊天会话包含,由通信服务器从第三方内容提供者接收聊天会话的第一会话的第一唯一会话标识符,并且由通信服务器向第三方内容提供者提供第一唯一会话标识符,以促进第二会话。

在一些实现方式中,响应于如下内容项的选择:响应于搜索请求展示并链接到特定网络资源的内容项,而提供请求。聊天界面可以在显示响应于搜索请求的结果和内容项的网页上来展示。

在一些实现方式中,聊天用户界面是聊天小部件。在一些实现方式中,检测相应的网络资源通过在相应的网络资源上的聊天用户界面由第三方内容提供者提供实时辅助的功能包含:由通信系统访问网络资源;由通信系统在网络资源上标识小部件;由通信系统在网络资源上的小部件的代码中标识标签,该标签指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

在一些实现方式中,实时辅助由特定第三方内容提供者的人工代表来提供。在一些实现方式中,方法包含:对于针对特定网络资源所发起的多个聊天会话中的每一个,由通信系统基于将用户指引到特定网络资源的内容项的唯一标识符来确定,聊天会话的内容项度量值;由通信系统使用内容项度量值生成内容项度量值的表达;以及由通信系统向第三方内容提供者提供表达以显示。

在一些实现方式中,检测相应的网络资源通过在相应的网络资源上的聊天用户界面由第三方内容提供者提供实时辅助的功能包含:由通信系统访问网络资源;由通信系统确定与正在访问网络资源的窗口分离的新窗口已经打开;以及在新窗口中确定指示文本短语,该文本短语指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

在一些实现方式中,用户通过网络连接的装置访问聊天会话。网络连接的装置可以是移动装置。网络连接的装置可以是桌上型装置。在一些实现方式中,网络连接的装置不具有屏幕。

本说明书中所描述的主题的另一个创新方面可以实施为包含如下的系统:通信连接到网络的装置;通信连接到所述网络的第三方内容提供者服务器;以及进行操作的通信服务器。操作包含,对于多个网页中的每一个,接收指示相应的网络资源的特性的数据;基于所接收的数据来检测,相应的网络资源通过相应的网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能;以及在数据库中储存指示相应的网络资源具有功能的条目。操作包含从用户接收访问由特定第三方内容提供者主管的特定网络资源的请求;基于数据库中所储存的表示特定网络资源的条目确定,特定网络资源通过特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能;以及由通信服务器在用户和第三方内容提供者之间发起聊天会话。

本说明书中所描述的主题的另一个创新方面可以实施在用可执行的指令编码的至少一个计算机可读储存介质中,可该执行指令当由至少一个处理器执行时,引起至少一个处理器进行操作。操作包含,对于多个网页中的每一个,接收指示相应的网络资源的特性的数据;基于所接收的数据来检测,相应的网络资源通过相应的网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能;以及在数据库中储存指示相应的网络资源具有功能的条目。操作包含从用户接收访问由特定第三方内容提供者主管的特定网络资源的请求;基于数据库中所储存的表示特定网络资源的条目确定,特定网络资源通过特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能;以及由通信服务器在用户和第三方内容提供者之间发起聊天会话。

本说明书中所描述的主题可以在特定实施例中实现,以便实现如下优点中的一个或多个。发起并维持消息收发的会话的所提出的系统提供了有效和优化的技术,以用提供聊天界面的功能的资源来标识并与该资源交互。所提出的技术一方面实现聊天界面,其包含渲染并由控制件或通信服务器/网关所管理的聊天会话,而无论浏览器能力、服务提供者或由用户使用的操作系统,在由资源或内容提供者提供的用户界面终端或聊天界面功能上使无缝、可靠和可缩放的聊天界面成为可能。该系统减少了用于在用户和内容提供者之间发起和维持聊天会话的计算资源的数量。该系统通过维护在用户和网关之间、以及在内容提供者和网关之间的分离的会话,并且储存会话数据以便重新建立断开连接的聊天会话,来使得聊天界面更加稳健。此外,网关可以在暂时失去连接的情况下保持会话打开,因此提高聊天连接的可靠性。如果聊天会话不能保持打开而且必须重新建立,则在不中断以及不必输入已经通过先前建立的聊天会话提供的冗余数据的情况下,用户可以继续重新建立的聊天会话。另外,通过在不将用户重新定向到内容提供者的页面的情况下提供聊天界面,系统减少了与搜索聊天功能的用户相关联的网络流量。该系统改进了计算机相关技术的功能、聊天界面,因为用户能够在每个内容提供者页面内搜索消息收发功能时或在与内容提供者断开连接时与内容提供者连接和通信,而无需经历挫败感的体验。

此外,网关系统通过提供将聊天功能扩展到多个内容提供者而无需严格集成的能力来改进计算机相关技术的功能。该系统允许内容提供者维持一些个性并且控制相应的聊天界面。系统无需使用屏幕进行聊天对话的能力允许了免提通信,以减轻用户的负担。此外,系统能够对聊天进行后期处理,以使用集成的应用进行其它动作。例如,如果聊天对话中的响应是“我们已经安排下午5点的预约”,则系统可以自动检测到存在日历事件并添加日历条目,询问用户现存的冲突,并且进行各种其它相关任务。可以登入和/或提供源自聊天对话的动作以进行分析,其结果可以用于影响未来的聊天界面表达。网关系统减少了用户等待时间,因为具有慢速网络连接的用户不再需要访问内容提供者的网页并请求渲染的页面。替代地,仅传输了通信,因此减少了网络流量和时延。

附图说明

图1是用户可以通过各种装置联系内容提供者的示例环境的框图。

图2是示出向用户提供聊天界面的示例用户界面。

图3是在用户和第三方内容提供者之间发起和维持聊天会话的示例过程的流程图。

图4是示例计算系统的框图。

在各附图中的相同的参考数字和标号指示相同的元件。

具体实施方式

该文件描述了通过在用户和用户正与其通信的内容提供者之间提供网关来改进通信会话的连接强度和质量的方法、系统以及装置。网关将在用户的一个通信接口处所接收的内容(例如消息)中继到内容提供者的另一个通信接口,并且通过保留关于用户和内容提供者之间的对话的相关数据来维持会话信息,而不是在不维持会话数据的情况下直接在用户和内容提供者之间提供一个会话,使得用户侧或内容提供者侧上的断开连接就会结束会话,而不能重新建立聊天会话。

在一些情况下,在客户端装置之间的对话可能被中断或断开连接,引起用户寻求帮助以及内容提供者尝试提供帮助的挫败。例如,呼叫互联网提供者以帮助解决互联网连接问题是消费者可能与正同其说话的代表断开连接。消费者可以尝试回叫,但是可能与不同的代表连接,消费者必须再次向其解释情况,导致消费者的总体上低效且麻烦的体验。在此,网关可以检测并且储存关于用户和内容提供者之间的对话的特定数据,以便于减少用户和内容提供者尝试恢复在断开连接之前所提供的信息和所取得的进展所花费的时间量。这还通过在聊天界面中存在故障的事件中(例如,连接的失败或通信链路的其它打断)防止先前使用聊天界面通信的数据的丢失,来改进了作为计算机相关的技术的电子聊天应用/功能。

电子文件是在客户端装置处展示一组内容的数据。电子文件的示例包含网页、文字处理文件、便携式文件格式(PDF)文件、图像、视频、搜索结果页和订阅源。诸如在移动电话、平板计算机或桌上型计算装置上安装的应用的本地应用程序(例如“apps”)也是电子文件的示例。电子文件包含为用户消费而展示的数字分量。

如贯穿该文件所使用的,术语“数字分量”指代数字内容或数字信息的分离单元(例如视频剪辑、音频剪辑、多媒体剪辑、图像、文件、或内容的其它单元)。可以将数字分量电储存在物理存储器装置中作为单个文件或者文件的集合,而且数字分量可以采用视频文件、音频文件、多媒体文件、图像文件或文本文件的形式并且包含广告信息,使得广告是一种类型的数字分量。通常,数字分量由单个提供者或资源(例如广告商、出版商或其它内容提供者)定义或(或由其提供),但是可以是来自多个资源的内容的组合。可以将来自多个不同来源的数字分量组合成单个电子文件(例如各种不同的数字分量的集合),并且可以将来自不同来源的各种数字分量的部分与从搜索结果中提取的信息(或内容的其它部分)一起组合成单个数字分量。

搜索引擎可以将用户指引到链接至内容提供者的各种网页的结果。用户可以联系内容提供者,例如通过呼叫在特定内容提供者的对应网页上所提供的电话号码。在另一个示例中,用户可以通过以特定内容提供者的对应网页上所列举的特定地址给内容提供者发送电子邮件或邮件来联系内容提供者。

在一些示例中,用户可以通过在特定用户提供者的网页上所提供的用户界面来联系内容提供者。用户界面例如可以是聊天界面,通过该聊天界面用户可以与特定内容提供者的代表通信。许多网页具有不同格式,包含将用户指引到聊天界面的界面元件的不同放置。例如,网页可以包含将用户指引到聊天界面的按钮。

聊天界面总体上包含文本框,通过该文本框用户可以向用户正与其通信的另一方提供要传输的输入。附加地,提交和编辑用户输入的其它用户界面元件可以总体上包含在聊天界面中,这样的用户界面元件可以是必须通过导航用户界面菜单来访问的小元件。例如,常用的界面元件包含发送消息或切换键盘的小按钮,或者选择诸如图片或视频数据的发送内容的菜单。

一些网页可能需要用户导航网址树以到达聊天界面。例如,将用户指引到用户可以联系内容提供者的聊天界面的用户界面元件可以显示在除了内容提供者的网站的主页面之外的网页上。用户界面元件可以位于隐蔽的位置或被调整尺寸,使得用户难以选择用户界面元件来访问聊天界面。

聊天界面可能难以在移动装置上使用因为在移动装置上的屏幕区域通常小于桌上型客户端装置的屏幕区域。例如,智能手机上的屏幕区域通常小于具有显示器的桌上型计算机上的屏幕区域。在桌上型客户端装置上较小的用户界面元件在移动装置上可能小很多倍,并且更难以选择。

在一些示例中,网页可以提供到打开新窗口的聊天界面的链接。当用小屏幕在移动装置上观看时,它可能难以与聊天界面交互。用户可能完全不能操纵聊天界面以便与聊天界面交互,引起用户的挫败感并且降低许多内容提供者提供聊天界面的价值。

当在用户和内容提供者代表之间发起聊天会话时,聊天会话的断开连接通常意味着用户必须提供她先前提供给内容提供者的任何信息,以便到达在断开连接发生时用户和内容提供者之间的对话的相同点。例如,通过聊天会话的聊天界面,为一种特定类型的业余无线电(ham radio)寻找支持的用户可以向其正在使用的业余无线电的制造商的代表提供他的注册号、他的期望的广播频率和他遇到的问题描述。如果用户与制造商的代表的聊天会话断开连接,则用户通常必须导航到制造商的网页,找到将他指引到制造商的聊天界面的用户界面元件,并且一旦新的聊天会话建立就必须再次向制造商的另一个代表提供他先前已经展示的全部信息(即他的注册号、他的期望的广播频率和他遇到的问题描述)。

本文件描述了减少用于在用户和内容提供者之间进行和恢复聊天会话的计算机资源量的方法、系统和装置。在一些情况下,内容提供者的网站包含用户界面元件,该用户界面元件将用户指引到聊天界面,并且在用户和内容提供者的代表之间开始聊天会话。例如,拖拉机公司的网站可以包含将用户连接到拖拉机公司的在线代表的按钮。按钮可以用各种方式来显示,包含作为导航菜单项、显著地作为在拖拉机公司的网站的“支持”或“联系我们”页面上的关键特征、或者作为在访问拖拉机公司的网站时基于用户的行为而展现的动作建议。

系统标识了诸如拖拉机公司的内容提供者提供与代表的聊天的选项,并且储存了指示内容提供者的网站提供使用聊天界面的选项的数据。一旦网站已经被标识为提供聊天会话的功能,诸如在线聊天会话或者与使用消息收发机器学习模型所创建的答案库自动聊天会话,系统就可以指示网页提供聊天功能。例如,系统可以在检索结果中指示,在该检索结果中网站呈现了该网站提供聊天会话的功能。

消息收发机器学习模型可以是接收来自用户和来自内容提供者的响应数据作为输入的模型。消息收发机器学习模型可以使用各种模型中的任何一种,诸如决策树、线性回归模型、逻辑回归模型、神经网络、分类器、支持向量机、归纳逻辑编程、模型的系综(例如,使用诸如套袋、增强、随机森林等的技术)、遗传算法、贝叶斯网络等,并且可以使用各种方法训练,诸如深度学习、感知器、关联规则、归纳逻辑、聚类、最大熵分类、学习分类等。在一些示例中,消息收发机器学习模型可以使用监督式学习。在其它示例中,消息收发机器学习模型使用非监督式学习。

网页可以提供用户界面元件,通过该用户界面元件用户可以发起与内容提供者的聊天会话。一旦用户选择用户界面元件以发起与内容提供者的聊天会话,系统就标识在发起和促进聊天会话时要使用的聊天会话的特性。例如,系统可以储存如下标识符:用户提供输入到聊天界面的客户端装置的装置标识符,在客户端装置和内容提供者的特定代表之间的特定会话的会话标识符、以及内容提供者的特定代表将数据输入到聊天界面的装置的装置标识符。

系统可以在用户和内容提供者之间担当聊天会话的网关。系统与用户进行第一聊天会话且与内容提供者进行第二分离的聊天会话,并且使用指示在第一聊天会话和第二聊天会话中所提供的输入的数据来中继用户和内容提供者之间的消息。

将会贯穿该文件讨论文本聊天界面,但是在此讨论的技术可以施加到使用诸如个人数字助理的计算装置发起的语音聊天会话。例如,个人数字助理可以通过个人数字助理的麦克风从用户接收音频输入(例如口语查询或命令),并且使用由个人数字助理的扬声器所输出的音频给用户提供搜索结果、和/或其它信息。如果个人数字助理实现在包含显示器的计算装置中,或者连接到(例如无线或有线)到显示器、或在显示器上展示信息的另一个装置,则个人数字助理还可以展示视觉信息,诸如搜索结果中的一个或多个、和/或与音频输入有关的其它信息。注意到,个人数字助理(PDA)可以在多个不同的物理装置(例如移动电话、平板计算机、音频/视频流装置、台式PDA单元、和/或其它装置)上实现,并且输入可以由装置中的一个(例如台式PDA单元)接收,且音频和/或视频输出可以由装置中的不同一个(例如移动电话)来展示。相似地,响应于查询或命令所提供的信息中的一些可以由装置中的一个来输出(例如由台式PDA单元输出的音频信息),而信息的不同部分(例如视觉信息)可以由装置中的不同一个(例如移动电话或包含音频/视频流装置的显示器)来展示。

作为音频输出和/或视觉信息的部分,PDA可以为用户展示选项以发起聊天会话。例如,PDA可以在音频上询问用户他们是否想要与可以向他们提供更多信息的代理连接或聊天,并且用户可以在声音上回应肯定他们连接到代理的期望(例如通过说出词语“是”或词语“将我与代理连接”)。响应于用户肯定他们连接到代理的期望,PDA可以发起文本聊天会话(例如使用移动装置)和/或向代理发起电话呼叫(例如使用移动装置和/或台式PDA单元,其配置为例如通过互联网协议电话发出语音电话呼叫)。当用户连接到代理时,贯穿本文件所讨论的技术可以用于维持聊天会话(例如文本或语音)的状态,由此即使聊天会话被中断仍使聊天会话无缝地继续成为可能。在语音聊天会话的情况下,语音识别技术可以用于将语音交互翻译成文本,使得在此所讨论的技术还可以用于这些情况。

图1是用户可以与内容提供者通信的示例环境100的框图。示例环境100包含移动装置102、客户端装置104、无屏幕的辅助装置106(例如台式PDA单元)、网关110、示例网页120和内容提供者系统130。装置102、104和106在如下网络之上连接到网关110和内容提供者系统130:诸如局域网(LAN)、广域网(WAN)、互联网、或其组合。

移动装置102、客户端装置104和无屏幕的辅助装置106是各自能够在网络之上请求和接收资源的电子装置。示例的移动装置102包含手机、智能电话、平板计算机和其它便携式移动装置,通过其用户可以在网络之上连接到内容提供者。示例的客户端装置104包含个人计算机、移动工作站、和膝上型计算机。装置102、104、和106典型地包含诸如网页浏览器的用户应用,以促进在网络之上数据的发送和接收,但是由客户端装置106执行的本地应用也可以促进在网络之上数据的发送和接收。

装置102、104、或106可以在网络之上向诸如搜索引擎的搜索系统提交搜索查询。作为响应,搜索系统访问搜索索引以标识与搜索查询相关的电子文件。搜索系统标识以搜索结果形式的电子文件,并且在搜索结果页面中向装置102、104、或106返回搜索结果。

搜索结果是由标识对特定搜索查询响应的电子文件的搜索系统所生成的数据,并且包含活动链接(例如超文本链接),其引起客户端装置响应于与搜索结果的用户交互而从指定的网络位置(例如URL)请求数据。示例搜索结果可以包含从网页提取的网页标题、文本片段或一部分图像以及网页的URL。另一个示例搜索结果可以包含可下载应用的标题、描述可下载应用的文本片段、描绘可下载应用的用户界面的图像、和/或可以将应用从其下载到装置102、104、或106的位置的URL。

在一些情况下,搜索系统可以是应用商店(或在线门户)的部分或者与应用商店(或在线门户)交互,应用可以从该应用商店(或在线门户)下载以在客户端装置处安装,以便展示关于与提交的搜索查询相关的可下载应用的信息。如同其它电子文件,搜索结果页面可以包含一个或多个数字组件槽,其中可以展示数字组件(例如视频剪辑、音频剪辑、图像或可以被格式化为广告的其它数字组件)。

网关110促进聊天会话并且包含后端和前端。网关110的后端为聊天会话提供基础结构,并与内容提供者和用户分开通信。例如,后端可以使用由用户通过客户端装置所输入的数据与内容提供者进行聊天会话,同样使用由内容提供者的代表所输入的数据与用户进行聊天会话。后端接口可以是用户或内容提供者同意的通用格式或程序包,诸如特定脚本应用编程接口(API)、特定安卓(Android)应用程序包(.apk)或各种其它适当的程序包。

网关110的前端可以是一个界面,用户和内容提供者之一可以通过该接口向另一个提供要发送并展示的输入。例如,前端可以是分别展示给用户和内容提供者的聊天界面。前端可以为用户和内容提供者来定制,并且可以具有默认配置文件设定或者可以由用户或内容提供者来调整。例如,用户的前端可以包含较大的文本框和粗体字体,而内容提供者的前端可以包含附加功能,例如对用户装置的远程访问和控制。

网关110标识了提供消息收发功能的每个网页,并且储存了指示网页提供功能的数据。对提供消息收发功能的网页的标识总体上在网页作为搜索结果展示之前进行,而不是在搜索请求的运行时间时进行。

提供消息收发功能的网页通常包括用户界面元件,用户可以通过该用户界面元素发起消息收发会话,诸如开始聊天会话的按钮。例如,示出了包含按钮122的网页120,用户可以选择该按钮122以开始与内容提供者的聊天会话。网页120还可以包含提供或支持消息收发功能的各种其它指示,诸如关键文本短语。例如,网页120包含“现在与某人聊天”的文本。

网关110还可以通过检测网页120的某些脚本特征——诸如当用户选择特定用户界面元件时导致新窗口被打开的代码片段——来标识网页120提供消息收发或聊天功能。可以用于确定网页120是否提供聊天功能的网页120的另一个特征是网页120是否包括在网页120上显示的小部件,该小部件链接到不同的网站或提供者。例如,如果网页120提供与已知的聊天服务提供者通信的小部件,则网页120有可能提供聊天功能。除了其它通信信息之外,小部件还可以包含特定会话的标识符,诸如特定客户端装置的标识符、特定情况的标识符等。

诸如到以提供消息收发服务所熟知的某些域的链接的特征还指示网页120有可能提供消息收发功能。例如,如果网页链接到已知的自动聊天服务,则网关110可以将网页120标记为支持消息收发功能。

当网关110接收最初搜索请求时,网关110访问所储存的数据以确定所展示的搜索结果是否提供消息收发功能。如果特定网页提供消息收发功能,则网关110生成展示有搜索结果的用户界面元件,该搜索结果指示所提供的消息收发功能的类型,并且当该用户界面元件被选择时,在不将用户指引到搜索结果网页的情况下发起消息收发会话。

内容提供者系统130与特定内容提供者相关联并且可以是响应于搜索查询提供资源的网络目的地。例如,内容提供者系统130可以主管用户在搜索特定查询时可下载的诸如文件的资源。内容提供者系统130包括用户界面,内容提供者的代表可以通过该用户界面与用户交互。在一些实施例中,用户界面是聊天界面,通过该聊天界面代表可以与用户实时通信。

网关110减少了用于在用户和内容提供者之间发起和维持聊天会话的计算资源的数量。此外,通过降低用户导航到内容提供者的网页的需求,网关110降低与用户搜索聊天功能相关联以及与必须传输关于内容提供者的网页的数据相关联的网络流量。

图2是在用户和内容提供者之间的聊天会话的示例用户界面200。通过包含由网络通信连接的至少两个装置的诸如系统100的系统可以进行聊天会话。聊天会话可以通过诸如网关110的通信网关来发起、促进和维持。

搜索查询202是由用户输入到诸如搜索引擎的搜索系统的数据,其指示用户感兴趣看到的相关结果的查询。搜索引擎可以在搜索结果页面上提供结果210、220、230和240。结果210、220、230和240的每一个与搜索查询202有关,并且在一些实现方式中结果可以基于与搜索查询202的相关度而排序。

结果210、220、230和240的每一个包含将用户指引到与相关联内容提供者的聊天界面的相应的用户界面元件212、222、232和242。用户界面元件212、222、232和242可以为每个元件展示的相关联的内容提供者的网页进行定制。定制化可以基于特定相关联网页的各种属性,诸如字体、文本尺寸或颜色。例如,用户界面元件212、222、232和242的每一个具有与相应搜索结果网页210、220、230和240相关联的主题。

当用户选择用户界面元件212、222、232或242之一时,网关110在用户和提供对应的搜索结果网页210、220、230和240的内容提供者之间发起聊天会话。在图2中示出的示例中,用户选择与搜索结果网页210相关联的用户界面元件212。聊天会话从而被渲染,并且因此由网关来管理。这使得网关或与网关相关联的服务器能够实现控制和任何需要的协议和数据结构,以无缝方式确保与聊天会话相关联的可缩放性、安全性、可靠性和储存,而无论浏览器、操作系统以及由用户和/或内容提供者当前所使用的其它任何用户装置或特定系统。

一旦用户选择用户界面元件212,网关110就会发起与提供搜索结果网页210的内容提供者的聊天会话。网关110标识网页120和已选择元件212的用户并且储存指示网页120和用户的标识符的数据。网关110还可以储存聊天会话的各种其它属性,诸如会话的长度、与用户聊天会话的第一会话标识符、与内容提供者的聊天会话的第二分离的会话标识符。

为了便于当网关110在管理许多不同用户和内容提供者之间的许多不同的对话时维持用户和内容提供者之间的会话,网关110从与用户的一个会话直接指引到与内容提供者的另一个会话。网关110使用指示会话标识符的所储存的数据,以在用户和内容提供者之间适当地转发消息。

网关110可以用各种格式接收输入,格式化输入,并且将输入提供到用户和内容提供者之间的聊天会话。例如,用户可以将文本消息发送到特定电话号码以发起与内容提供者的聊天。特定电话号码可以与内容提供者相关联,并且文本消息在特定电话号码处的接收可以触发与内容提供者的聊天会话的发起。例如,文本消息在特定电话号码处的接收可以触发系统联系网关110并且提供用户输入作为聊天会话的输入。当用户从内容提供者接收响应时,网关110可以向用户提供响应作为文本消息。用户还可以通过文本消息或电子邮件或各种其它适当的通信方法向内容提供者提供响应。

网关110可以用各种格式处理来自用户或内容提供者的输入。例如,如果用户使用移动装置102与网关110交互并且选择用户界面元件212以发起与内容提供者的电子邮件对话,则可以发起与内容提供者的聊天会话,并且用户输入和响应可以在电子邮件客户端界面内展示。

在一些实现方式中,如果存在现存的对话,则网关110可以提供特定的标识符,诸如用户可以向其提供输入的电话号码。例如,如果用户已经连接到内容提供者,则即使向诸如文本消息应用或电子邮件客户端的不同应用提供用户输入,网关110可以检测用户输入以响应内容提供者。用户的输入然后可以转换为要提供到对话的输入。

当建立会话时,聊天界面可以在不将用户指引到网页210的情况下展现,由此减少网络呼叫次数和/或传送的数据以建立聊天会话。例如,可以在搜索结果页面204上展示聊天界面。如上所描述,聊天界面可以包含用户可以通过其输入数据的用户界面元件。例如,聊天界面可以包含文本框和用户可以提交输入的按钮,该文本框中用户可以输入要提供给内容提供者的响应或问题。可以在聊天界面内提供附加的界面元件,诸如文件附件、屏幕共享等。

聊天界面可以使用诸如无头渲染(headless rendering)的各种渲染方法在搜索结果页面204内渲染。聊天界面从用户或内容提供者接收输入并且向网关110提供输入以用于传输。

当建立会话时,可以计算联系内容提供者的聊天界面方法的特定度量,诸如点击率、转换率、平均流量、访问时间等。例如,可以计算与聊天功能的用户界面元件相关联的点击率。在一些实现方式中,内容提供者可以访问使用计算出的度量所生成的报告。例如,内容提供者可以查核关于聊天界面方法的性能的报告,并基于所报告的度量来调整聊天界面的活动预算。

当网关110与无屏幕的辅助装置一起使用时,无屏幕的辅助装置106可以使用与移动装置102和固定客户端装置104相同的聊天会话的基础结构来促进用户和内容提供者之间的对话。因为无屏幕的辅助装置106不包含屏幕,而接收和输出数据的方法包含附加的步骤。无屏幕的辅助装置106可以接收各种类型的适当的输入,诸如语音输入和触摸输入。例如,无屏幕的辅助装置106可以通过无屏幕的辅助装置106的麦克风来接收口语命令。可以处理口语命令,并且可以提取代表语音输入的文本数据。在一些实现方式中,无屏幕的辅助装置106处理语音输入,而在另一些实现方式中,网关110或远程系统处理语音输入。

网关110然后可以使用文本数据作为与内容提供者的会话的输入。当网关110从内容提供者接收响应时,响应可以用与无屏幕的辅助装置110所提供的输入相同的格式来处理成输出。例如,如果无屏幕的辅助装置106已接收语音输入,则无屏幕的辅助装置106可以接收包含语音数据的输出的数据。

在系统100的示例性用途中,用户可以通过说出“我想要和ABC公司的客户服务说话”来向移动装置102提供语音输入。移动装置102然后可以显示搜索结果,其可以包含标识为与允许用户发起消息收发会话的用户界面元件一起提供消息收发功能的网页。

用户可以在不同装置上继续与内容提供者的对话。例如,如果用户在移动装置102上与内容提供者发起消息收发的会话,则用户可以在无屏幕的辅助装置106上继续与内容提供者的对话。网关110可以检测用户提供输入或访问消息收发的会话的装置,并且选择诸如文本、语音、图片等的适当的输出方法。

通过使用与用户和与内容提供者分离的会话来维持聊天会话,网关110减少了重新输入和提供由用户或内容提供者先前所提供的信息所需要的计算资源量。例如,用户可以持续聊天会话,而不被中断并且无需输入先前通过已经建立的聊天会话已经输入的冗余数据。附加地,网关110通过在用户和内容提供者之间分别维持会话来改进聊天会话的稳健性,使得任何一个会话的临时断开连接不会结束聊天会话。

在一些示例中,网关110通过在进行对话时储存来自对话的数据来保存用户和内容提供者之间的对话。如果用户和内容提供者变为断开连接,则网关110使用对于直到用户和内容提供者断开连接的点之前的对话所储存的数据的至少一些,以便在用户和内容提供者之间重新建立对话。

当重新建立聊天会话时,网关110可以与内容提供者进行对话(或者给内容提供者提供先前聊天会话)而无需来自用户的进一步输入,以使得内容提供者赶上与用户先前进行的对话。例如,网关110可以自动地提供指示用户的装置信息和问题描述的储存的数据,使得用户与其连接的内容提供者的下一个代表被告知用户的情况,所以用户可以继续其与代表的对话而无需重复先前所提供的信息。网关110可以使用利用用户的先前所提供的答案所训练的机器学习模型来自动地确定对于内容提供者的响应的答案。机器学习模型可以接收内容提供者的响应作为输入并且输出各种合适的响应。

在一些示例中,网关110与现存的消息收发服务提供者集成并且通过储存特定会话数据进行服务器侧集成,该特定会话数据允许用户在诸如用户离开对话时的特定点拾起对话。例如,一旦网关110已经建立新的消息收发的会话,网关110就可以向不同的内容提供者代表提供储存的数据。

在一些实现方式中,网关110不能够将新代表更新至先前对话的点。例如,对特定段的信息新代表的响应可能不同于先前代表的响应,并且网关110可能不能够将对话转向到网关110可以提供用户先前能够提供给代表的所有信息的方向上。当网关110不能够提供用户先前所提供的所有信息时,网关110可以给用户提供在没有用户的情况下所进行的对话的上下文。

网关110还可以通过储存会话数据或用户输入来进行客户端侧的集成。当对话已经被赶上或更新为与网关110可以做得一样多时,网关110可以将储存的数据提供给用户,使得用户具有内容提供者的代表对情况的理解的上下文。

网关110可以检测用户何时无活动或没空。例如如果用户在没有告知内容提供者代表的情况下离开去参加会议或离开他的装置,则网关110可以将情况标记为无活动。网关110可以基于目前对话的各种特性来确定用户是否无活动。这样的特性包含在内容提供者的最后响应和用户的最后响应之间经过的阈值时间段、由用户所输入的某些短语、由内容提供者所输入的某些短语、或与网关110已经接入的用户的相关联的各种事件数据。例如,如果用户在对话期间安排了会议,则网关110可以确定当用户在阈值时间量内不响应时用户正在开会。

当对话标记为无活动时,网关可以通知内容提供者用户已离开。例如,如果用户被检测为无活动,则网关110可以代表用户向内容提供者代表提供响应,以询问内容提供者代表待机并保持连接几分钟。

在一些示例中,网关110可以将情况标记为已解决而不是无活动。例如,如果用户没有响应达阈值时间量,但是已经产生在由用户所提供的响应中内容提供者已经解决了用户的问题的指示,诸如用户回答“很好,就这些,谢谢”,则网关110可以将对话标记为已解决。网关110或者用户与内容提供者通信的装置102、104、或106还可以请求来自用户或内容提供者的输入以确认问题是否已经解决。例如,无屏幕的辅助装置106可以与用户和内容提供者之间的对话分离地向用户提供语音输出,以询问问题是否已经解决。如果用户提供肯定的响应,则无屏幕辅助装置106可以向网关110提供响应,并且网关110可以将对话标记为已解决并将不会提示,否则会引起来自用户的其它响应。

在一些示例中,如果用户仅将临时没空,则网关110可以尝试维持与内容提供者代表的对话。例如,如果用户在移动装置102上接到电话呼叫,网关110可以代表用户向内容提供者提供响应,诸如“我马上回来,可以请你稍等么?”。网关110然后可以尝试维持聊天会话直到用户的下一次响应。

图3是在用户和第三方内容提供者之间发起并维持聊天会话的示例过程300的流程图。在一些实现方式中,过程300可以通过诸如系统100的消息收发系统来实现。例如,过程300可以由图1的网关110来实现。在一些实现方式中,过程300可以实现为在非暂时性计算机可读介质上所储存的指令,并且当指令由一个或多个服务器执行时,指令可以引起一个或多个服务器进行过程300的操作。

当对于多个网络资源中的每一个,通信服务器接收指示相应的网络资源的特性的数据(302)时,过程300开始。例如,网关110可以接收指示特定网页的特性的数据,其包括网页是否包含特定短语、小部件、代码的片段等。

当对于多个网络资源中的每一个,通信服务器基于所接收的数据检测到,相应的网络资源通过相应的网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能时304,过程300继续。在一些示例中,聊天用户界面是聊天小部件。实时辅助可以由特定的第三方内容提供者的人工代表来提供。聊天用户界面可以在显示响应于搜索请求的结果和内容项的网页上来展示。在一些示例中,用户通过网络连接的装置访问聊天会话。网络连接的装置可以是移动装置、桌上型装置或任何各种其它网络连接装置。在一些示例中,网络连接的装置不具有屏幕。

在一些示例中,检测包含访问网络资源、确定与正在访问网络资源的窗口分离的新窗口已经打开,并且在新窗口中确定文本短语,该文本短语指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

在一些示例中,检测包含访问网络资源、在网络资源上标识小部件,并且在网络资源上小部件的代码中标识标签,该标签指示网络资源通过网络资源上的聊天用户界面由第三方内容提供者来提供实时辅助的功能。

当对于多个网络资源中的每一个,通信服务器在数据库中储存指示相应网络资源具有功能的条目时(306),过程300继续。例如,网关110可以在数据库中储存指示特定网页具有信息收发功能的条目。

当通信服务器从用户接收访问由特定第三方内容提供者主管的特定网络资源的请求时(308),过程300继续。例如,用户可以选择将用户指引到与特定内容提供者相关联的网络资源的搜索结果链接。在一些示例中,响应于如下内容项的选择:响应于搜索请求展示以及链接到特定网络资源的内容项,而提供请求。在一些示例中,访问特定网络资源的请求包括语音输入。

当通信服务器基于数据库中所储存的表示特定网络资源的条目来确定:特定网络资源通过特定网络资源上的特定聊天用户界面由特定第三方内容提供者提供实时辅助的功能时(310),过程300继续。

当通信服务器在用户和第三方内容提供者之间发起聊天会话(312)时,过程300继续。例如,网关110可以在用户和内容提供者之间发起聊天会话。在一些示例中,聊天会话包含通信服务器和用户之间的第一会话,以及通信服务器和第三方内容提供者之间的第二会话。在一些示例中,发起包含从第三方内容提供者接收用于聊天会话的第一会话的第一唯一会话标识符,并且由通信服务器向第三方内容提供者提供第一唯一会话标识符,以促进第二会话。

在一些示例中,过程300包含通过聊天用户界面接收对第一会话的输入,以及向第三方内容提供者提供指示第二会话的用户输入的数据。过程300还可以包含,对于为了特定网络资源所发起的多个聊天会话中的每一个,基于将用户指引到特定网络资源的内容项的唯一标识符,确定聊天会话的内容项度量值;使用内容项度量值生成内容项度量值的表达;并且向第三方内容提供者提供表达以用于显示。例如,内容项度量值可以包含与聊天功能相关联的点击率。

在一些示例中,过程300包含在预定时间段内没有检测到活动,并且第一会话或第二会话中的至少一个已经结束。过程300包含基于聊天会话的上下文数据确定用户尚未完成聊天会话,以及在数据库中储存指示第一会话的整体的数据。过程300可以通过如下继续:响应于检测到第二会话已经结束,而在通信服务器和第三方内容提供者之间发起第三会话以作为聊天会话的一部分,并且由通信系统向第三方内容提供者提供数据,该数据指示第一会话的至少一部分,使得用户能够重新开始其与第三方内容提供者的聊天会话。

在一些示例中,过程300还包含从用户接收第一会话中的第二语音输入。过程300通过如下继续:向第三方内容提供者在第二会话中提供指示第二语音输入的文本表示的数据。过程300通过如下继续:由通信系统从第三方内容提供者接收在通信系统和第三方内容提供者之间的第二会话中的来自第三方内容提供者的文本输入。过程300可以通过如下继续:向用户在第一会话中提供指示来自第三方内容提供者的文本输入的语音表示的数据。

图4是可以用于进行如上所描述的操作的示例计算机系统400的框图。系统400包含处理器410、存储器420、储存装置430以及输入/输出装置440。组件410、420、430和440中的每一个可以例如使用系统总线450互连。处理器410能够处理系统400内执行的指令。在一个实现方式中,处理器410是单线程处理器。在另一个实现方式中,处理器410是多线程处理器。处理器410能够处理在存储器420中或在储存装置430上所储存的指令。

存储器420将信息存储在系统400内。在一个实现方式中,存储器420是计算机可读介质。在一个实现方式中,存储器420是易失性存储器单元。在另一个实现方式中,存储器420是非易失性存储器单元。

储存装置430能够为系统400提供海量储存。在一个实现方式中,存储器430是计算机可读介质。在各种不同的实现方式中,储存装置430可以包含例如硬盘装置、光盘装置、由多个计算装置在网络之上共享的储存装置(例如云储存装置)、或者一些其它大容量储存装置。

输入/输出装置440提供系统400的输入/输出操作。在一个实现方式中,输入/输出装置400可以包含例如以太网卡的一个或多个网络接口装置、例如RS-232端口的串行通信装置、和/或例如802.11卡的无线接口装置。在另一个实现方式中,输入/输出装置可以包含驱动器装置,其配置为接收输入数据并且将输出数据发送到其它输入/输出装置,例如键盘、打印机和显示器装置460。然而还可以使用其它实现方式,诸如移动计算装置、移动通信装置、机顶盒电视客户端装置等。

尽管图4中已经描述示例处理系统,但是本说明书中描述的主题的实现方式和功能操作可以被实现在其它类型的数字电子电路中或者在计算机软件、固件或硬件中,包含本说明书中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。

电子文件(为简洁起见将简称为文件)不一定对应于文档。文件可以储存在保存其它文件的文档的一部分中,储存在在专用于讨论中的文件的单个文档中,或者储存在多个协同文档中。

本说明书中所描述的主题的实施例和操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,包含本说明书中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。本说明书中所描述的主题的实施例可以被实现为编码在(多个)计算机储存介质上的一个或多个计算机程序——即计算机程序指令的一个或多个模块,用于由数据处理设备执行或者控制数据处理设备的操作。替代地或额外地,程序指令可以被编码在例如机器生成的电信号、光信号或电磁信号的人工生成的传播信号上,该人工生成的传播信号被生成以对信息编码以便传输到合适的接收器设备用于由数据处理设备执行。计算机储存介质可以是或者包含在计算机可读储存装置、计算机可读储存衬底、随机或串行存取存储器阵列或装置,或者它们中一个或多个的组合中。此外,尽管计算机储存介质不是传播信号,但是计算机储存介质可以是人工生成的传播信号中编码的计算机程序指令的来源或目的地。计算机储存介质还可以是一个或多个分离的物理组件或介质中(例如多个CD、磁盘或其它储存装置),或者包含在一个或多个分离的物理组件或介质(例如多个CD、磁盘或其它储存装置)中。

本说明书中所描述的操作可以实现为由数据处理设备对一个或多个计算机可读储存装置上所储存的数据或者从其它来源所接收的数据进行的操作。

术语“数据处理设备”涵盖处理数据的所有类型的装置、设备和机器,包含例如一个或多个可编程处理器、一个或多个计算机、一个或多个片上系统、或者前述的组合。设备还可以包含专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,该设备还可以包含创建讨论中的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或它们中的一个或多个的组合的代码。设备和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算基础结构和网格计算基础结构。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言编写,包含编译的或解释的语言、声明性的或进程的语言,并且计算机程序可以部署为任何形式,包含作为单独的程序或作为模块、组件、子例程、对象、或合适于在计算环境中使用的其它单元。计算机程序可以但不必对应于文档系统中的文档。程序可以储存在保存其它程序或数据的文档的一部分中(例如,在标记语言文件中所储存的一个或多个脚本)、储存在专用于讨论中的程序的单个文档中、或者储存在多个协同文档中(例如储存一个或多个模块、子程序或代码部分的文档)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨越多个站点并由通信网络互连。

可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本说明书中所描述的过程和逻辑流,以通过对输入数据操作并产生输出来进行动作。还可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))进行过程和逻辑流,并且设备可以实现为专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))。

适合于计算机程序的执行的处理器包含例如通用和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是根据指令进行行为的处理器以及储存指令和数据的一个或多个存储器装置。总体上,计算机还将包含储存数据的一个或多个海量储存装置——例如磁盘、磁光盘或光盘,或者可操作地耦接该计算机以从海量存储装置——例如磁盘、磁光盘或光盘接收数据、或者以将数据传输到海量存储装置——例如磁盘、磁光盘或光盘、或者以上两者。但是,计算机不必具有这样的装置。此外,计算机可以被嵌入另一个设备中,例如,仅例举一些,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式储存装置(例如通用串行总线(USB)闪速驱动器)。适用于存储计算机程序指令和数据的装置包含所有形式的非易失性存储器、介质和存储器装置,作为示例包含半导体存储器装置——例如EPROM、EEPROM和闪速存储装置、磁盘——例如内部硬盘或可移除磁盘、磁光盘、以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。

为了提供与用户的交互,可以在具有显示装置以及键盘和指点器的计算机上实现本说明书中描述的主题的实施例,该显示装置例如CRT(阴极射线管)或LCD(液晶显示器)监控器以用于向用户显示信息,并且该键盘和指点器例如鼠标或轨迹球,用户可以通过该键盘和指示器向计算机提供输入。其它类型的装置还可以用于提供与用户的交互;例如,向用户所提供的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以用包含声音、语音或触觉输入的任何形式来接收。此外,计算机可以通过发送文件到由用户使用的装置或者从由用户使用的装置接收文件来与用户交互,例如通过响应于从网络浏览器所接收的请求发送网页到用户的客户端装置的网络浏览器。

可以在包含后端组件、或包含中间件组件或包含前端组件或者这样的后端、中间件或前端组件的一个或多个任意组合的计算系统中实现在本说明书中所描述的主题的实施例,该后端组件例如作为数据服务器,该中间件组件例如应用服务器,该前端组件例如具有图形用户界面或网页浏览器的客户端计算机,用户可以通过该图形界面或网页浏览器与本发明中所描述的主题的实现方式交互。系统的组件可以通过任何形式或者例如通信网络的数字数据通信的介质进行互连。通信网络的示例包含局域网(“LAN”)和广域网(“WAN”)、网络间(例如因特网)和对等网络(例如ad hoc对等网络)。

计算系统可以包含客户端和服务器。客户端和服务器总体上彼此远离,并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并彼此之间具有客户端-服务器关系的计算机程序展现。在一些实施例中,服务器将数据(例如HTML页面)传输到客户端装置(例如出于将数据向与客户端装置交互的用户显示以及从与客户端装置交互的用户接收用户输入的目的)。客户端装置处所生成的数据(例如用户交互的结果)可以从服务器处的客户端装置接收。

尽管本说明书包含许多具体实现方式细节,但这些不应当解释为限制本发明的范围或者要求保护的范围,而是专用于对本发明的特定实施例的特征进行描述。在本说明书中所描述的在单独实施例的上下文中的某些特征还可以在单个实施例中组合地实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种适当的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,尽管在附图中以特定次序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序的次序进行这样的操作或者进行所有示出的操作,以实现期望的结果。在某些环境下,多任务处理和并行处理可以是有利的。此外,如上所描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解的是,所描述的程序组件和系统总体上可以集成在单个软件产品中或者打包到多个软件产品中。

因此,已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。在一些情况下,权利要求中所述的动作可以按不同的次序进行,并且仍然实现期望的结果。附加地,在所附附图中所描绘的过程不必要求所示的特定次序或顺序的次序,以实现期望的结果。在某些的实现方式中,多任务处理和并行处理可以是有利的。

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