远程浏览会话管理.pdf

上传人:1****2 文档编号:6184472 上传时间:2019-05-18 格式:PDF 页数:41 大小:6.21MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280041768.2

申请日:

2012.06.28

公开号:

CN103782294A

公开日:

2014.05.07

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20120628|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

亚马逊技术有限公司

发明人:

马修·L·特拉汉; 乔纳森·A·简金斯; 布莱特·R·泰勒; 亚当·J·奥弗顿

地址:

美国内华达州

优先权:

2011.06.30 US 13/174,601; 2011.06.30 US 13/174,615

专利代理机构:

中科专利商标代理有限责任公司 11021

代理人:

穆童

PDF下载: PDF下载
内容摘要

一种远程浏览过程针对远程浏览会话在网络计算和存储提供商上的生成和管理。客户端计算设备在网络计算和存储提供商上请求远程浏览会话实例。所述浏览会话实例可对应于一个或多个请求的网络资源。所述网络计算和存储提供商实例化所述浏览会话实例并检索所述请求的内容。所述网络计算和存储提供商处理所述请求的内容以进行显示,并根据显示协议配置把对应于所述请求的内容的处理表示的显示数据提供到所述客户端计算设备。所述客户端计算设备可在浏览器中显示所述请求的内容的所述表示,且可把基于用户与所述表示的交互的用户交互数据发送到所述网络计算和存储提供商以进行处理。

权利要求书

权利要求书
1.  一种用于访问内容的系统,其包括:
一个或多个计算机处理器;
至少一个计算机存储器,其可由所述一个或多个计算机处理器中的至少一个访问;和
在网络计算组件上实例化的基于网络的应用,所述基于网络的应用包括由所述一个或多个计算机处理器执行的可执行软件模块,其中所述基于网络的应用可操作以:
从在客户端计算设备上实例化的应用获得网络内容的请求,其中在所述客户端计算设备上实例化的所述应用包括用于获得本地用户交互的一个或多个本地界面组件和用于显示内容的内容显示区域;和
根据显示协议配置把处理结果传送到在所述客户端计算设备上实例化的所述应用,其中所述显示协议配置识别至少一个基于显示器的通信协议,其中所述处理结果对应于处理所述请求的网络内容以用于生成所述请求的内容的表示,且其中所述客户端计算设备促使所述请求的网络内容的所述表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。

2.  如权利要求1所述的系统,其中在所述网络计算组件上实例化的所述基于网络的应用还可操作以:
从在所述客户端计算设备上实例化的所述应用获得交互数据,所述交互数据基于用户与在所述内容显示区域中显示的所述请求的网络内容的所述表示的交互,其中所述交互数据不包括基于用户与所述 一个或多个本地界面组件的交互的本地用户交互;和
根据所述显示协议配置把更新的处理结果传送到在所述客户端计算设备上实例化的所述应用,以用于生成所述请求的网络内容的更新表示,其中所述客户端计算设备促使所述请求的网络内容的所述更新表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。

3.  如权利要求2所述的系统,其中在网络计算组件上实例化的所述基于网络的应用还可操作以生成所述更新的处理结果以用于生成所述请求的网络内容的更新表示,且其中所述更新的处理结果是基于所述请求的网络内容和所述交互数据由所述网络计算组件生成。

4.  如权利要求1所述的系统,其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制。

5.  如权利要求1所述的系统,其中在网络计算组件上实例化的所述基于网络的应用还可操作以生成所述处理结果来用于生成所述请求的网络内容的表示。

6.  如权利要求1所述的系统,其中所述请求的网络内容可用多个处理动作来处理。

7.  如权利要求6所述的系统,其中所有所述多个处理动作是在所述网络计算组件处执行的。

8.  如权利要求1所述的系统,其中在所述网络计算组件上实例化的所述基于网络的应用对应于在虚拟机实例上执行的应用,其中所述虚拟机实例是响应于从在客户端计算设备上实例化的所述应用获得的所述网络内容的请求而实例化的。

9.  一种用于访问内容的计算机实施的方法,其包括:
在网络计算组件上实例化的基于网络的应用从在客户端计算设备上实例化的应用获得网络内容的请求,其中在所述客户端计算设备上实例化的所述应用包括用于获得本地用户交互的一个或多个本地界面组件和用于显示内容的内容显示区域;和
在所述网络计算组件上实例化的所述基于网络的应用根据显示协议配置把处理结果传送到在所述客户端计算设备上实例化的所述应用,其中所述显示协议配置识别至少一个基于显示器的通信协议,其中所述处理结果对应于处理所述请求的网络内容以用于生成所述请求的网络内容的表示,且其中所述客户端计算设备促使所述请求的网络内容的表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。

10.  如权利要求9所述的方法,其还包括:
在所述网络计算组件上实例化的所述基于网络的应用从在所述客户端计算设备上实例化的所述应用获得交互数据,所述交互数据基于用户与在所述内容显示区域中显示的所述请求的网络内容的所述表示的交互,其中所述交互数据不包括基于用户与所述一个或多个本地界面组件的交互的本地用户交互;和
在所述网络计算组件上实例化的所述基于网络的应用根据所述显示协议配置把更新的处理结果传送到在所述客户端计算设备上实例化的所述应用,以用于生成所述请求的网络内容的更新表示,其中所述客户端计算设备促使所述请求的网络内容的所述更新表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。

11.  如权利要求10所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用生成所述更新的处理结果,以用于生成所述请求的内容的更新表示,其中所述更新的处理结果是基于所述请求的内容和所述交互数据由所述网络计算组件生成。

12.  如权利要求10所述的方法,其中所述交互数据基于用户与所述请求的网络内容的所述表示的交互。

13.  如权利要求10所述的方法,其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制。

14.  如权利要求9所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用生成处理结果,以用于生成所述请求的网络内容的表示。

15.  如权利要求9所述的方法,其中所述请求的网络内容包括参考一个或多个嵌入式资源的网络资源。

16.  如权利要求9所述的方法,其中所述请求的网络内容可用多个处理动作来处理。

17.  如权利要求16所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用执行所述多个处理动作。

18.  如权利要求9所述的方法,其中在所述网络计算组件上实例化的所述基于网络的应用对应于在虚拟机实例上执行的应用,其中所述虚拟机实例是响应于从在所述客户端计算设备上实例化的所述应用获得的所述网络内容的请求而实例化的。

说明书

说明书远程浏览会话管理
发明背景
一般描述,计算设备和通信网络可用以交换信息。在常见应用中,计算设备可通过通信网络从另一计算设备请求内容。例如,个人计算设备处的用户可利用软件浏览器应用(通常被称为浏览器软件应用)来通过互联网从服务器计算设备请求网页。在这样的实施方案中,用户计算设备可被称为客户端计算设备且服务器计算设备可被称为内容提供商。
参看说明性实例,请求的网页或原始内容可与将用网页显示的许多额外资源(诸如,图像或视频)相关。在一个特定实施方案中,网页的额外资源由例如统一资源定位符(“URL”)的许多嵌入式资源识别符识别。反过来,例如浏览器软件应用的客户端计算设备上的软件通常处理嵌入式资源识别符以生成内容的请求。因此,为了满足内容请求,一个或多个内容提供商将通常向客户端计算设备提供与网页相关的数据以及与嵌入式资源相关的数据。
一旦客户端计算设备获得网页和相关的额外资源,内容可在许多阶段被软件浏览器应用或其他客户端计算设备界面处理。例如且参看以上说明,软件浏览器应用可分析网页以处理各种HTML布局信息和对相关资源的参考,可识别并处理层叠样式表(“CSS”)信息,可处理并实例化与网页相关的各种Javascript代码,可构建本机对象模型以代表网页的一个或多个组件,且可计算各种布局并显示经处理内容的特性以向用户演示。
从利用客户端计算设备的用户的观点看来,用户体验可根据与以 下相关的性能和延迟来定义:通过通信网络获得网络内容,例如获得网页;处理嵌入式资源识别符;生成请求以获得嵌入式资源;和在客户端计算设备上呈现内容。上述过程的任一个的延迟和性能限制可减小用户体验。另外,延迟和低效率可能在有限资源(诸如处理能力、内存或网络连接)的计算设备(诸如,上网本、平板计算机、智能手机等)上尤其明显。
附图简述
由于通过参考结合附图进行的以下详细描述可更好地理解本发明的上述方面和许多伴随的优势,所以所述方面和优势将变得更容易理解,在附图中:
图1是说明包括许多客户端计算设备、内容提供商、内容传递网络服务提供商和网络计算及存储提供商的内容传递环境的框图;
图2是示出生成并处理从客户端计算设备到网络计算和存储提供商的新的浏览会话请求的图1的内容传递环境的框图;
图3是示出生成并处理从网络计算和存储提供商到内容提供商的网络资源的请求的图1的内容传递环境的框图;
图4是示出生成并处理对应于从网络计算和存储提供商到内容提供商和内容传递网络的一个或多个嵌入式资源的一个或多个请求的图1的内容传递环境的框图;
图5是示出生成并处理在网络计算和存储提供商与客户端计算设备之间的浏览会话数据和用户交互数据的图1的内容传递环境的框图;
图6是示出生成并处理从客户端计算设备到网络计算和存储提供商的额外的新的浏览会话请求的图1的内容传递环境的框图;
图7是描绘说明性浏览器界面和浏览会话内容的显示的用户界面图;
图8是描绘作为一系列处理子系统的说明性浏览器内容处理动作的图;
图9是说明网络计算和存储提供商实施的新的浏览会话程序的流程图;
图10是说明客户端计算设备实施的客户端新的浏览会话交互程序的流程图;和
图11是说明客户端计算设备实施的过程用户交互程序的流程图。
具体实施方式
一般描述,本发明针对结合网络计算和存储提供商在客户端计算设备和内容提供商之间生成并管理远程应用会话。特别说来,本公开的方面将关于以下进行描述:客户端计算设备向内容提供商进行浏览会话的请求;在客户端计算设备与网络计算和存储提供商之间建立远程浏览会话;和在客户端计算设备与网络计算和存储提供商之间传输浏览会话状态数据和客户端交互数据。虽然本发明中描述的实施方案的方面为了说明的目的将集中于管理远程浏览会话,但是本领域技术人员应理解,本文公开的技术可应用于任何数量的软件过程或应用。另外,虽然本发明的各种方面将参照说明性实例和实施方案进行描述,但是本领域技术人员应理解,公开的实施方案和实例不应理解为限制性的。
参看说明性实例,用户可使客户端计算设备加载用于访问一个或多个内容提供商提供的内容的软件浏览器应用(以下称为“浏览器”)。说明性地,访问的内容可包括一个或多个网络资源(例如,网页)、嵌入式资源(诸如图像、视频、音频、文本、可执行代码)和其它资 源的集合。在一个实施方案中,除了一个或多个本地接口组件(诸如,工具栏、菜单、按钮或其它用户界面控件)之外,浏览器可具有用于显示访问的网络内容的内容显示区域或窗格。本地接口组件可由软件浏览器应用管理且控制,或由在客户端计算设备处本地执行或实施的任何其它过程来管理并控制。说明性地,本地管理用户界面控件可允许响应的用户界面,因为用户进行的交互是在客户端计算设备上本地处理的。
在加载浏览器之后,用户或自动浏览器过程可通过在专用网络或公共网络上与网络计算和存储提供商建立浏览会话来使客户端计算设备传送请求以访问来自内容提供商的内容。浏览会话请求可包括识别请求的内容的一个或多个来源的信息。识别符可呈网络资源的网络地址的形式,诸如,网站或其它网络访问的内容片段。例如,用户可选择或把URL(例如,http://www.xyzwebsite.com)输入浏览器窗口,从而使客户端计算设备把新的浏览会话的请求传送到网络计算和存储提供商,包括选择的URL。能够提供浏览会话请求的网络计算和存储提供商的地址或位置可被硬编码到浏览器;可由用户配置;可从网络地址服务获得;或可用任何其它方式来确定。
在说明性实施方案中,响应于从客户端计算设备接收的浏览会话请求,网络计算和存储提供商可实例化与将托管浏览器软件应用的网络计算和存储提供商相关的一个或多个计算组件或具有实例化的一个或多个计算组件。例如,网络计算和存储提供商可实例化包括能够从通信网络请求资源的软件浏览器应用的虚拟机的实例,或具有实例化的虚拟机的实例。说明性地,在一些情况下,与网络计算和存储提供商相关的一个或多个设备可位于数据中心或其它鲁棒性地的联网计算环境,且与客户端计算设备相比,当获得网络资源时,所述设备可经历相对较少的延迟或延时。
使用实例化的网络计算组件,网络计算和存储提供商可从一个或多个内容提供商、内容传递网络或本地或相关缓存组件请求识别网络 资源。例如,实例化的网络计算组件上的浏览器软件应用可处理主要网络资源,且接着生成一个或多个嵌入式资源识别符(例如,图片、视频文件等)中识别的内容的额外的内容请求。说明性地,在其它非浏览器应用的情况下,网络资源或内容可包括本领域已知且特定软件应用支持的任何文件类型或格式。
已获得所请求的内容(例如,请求的网络资源和嵌入式资源)之后,网络计算和存储提供商可识别指定远程会话通信协议的远程会话浏览配置,该远程会话通信协议用于在客户端计算设备上执行的浏览器与在计算和存储提供商上的实例化的网络计算组件处执行的浏览器之间传送请求的内容、用户交互数据、中间处理结果和其它信息。在实例化的网络计算组件上的浏览器与客户端计算设备上的浏览器之间交换的信息可通常称为“浏览器会话信息”。
除了指定用于在客户端计算设备和实例化的网络计算组件之间传送信息的远程会话通信协议之外,在一个实施方案中,识别的远程会话浏览配置还可指定将对请求的内容执行的一个或多个处理动作将在网络计算和存储提供商上执行而不是在客户端计算设备上执行或在客户端计算设备上执行之外,还可以在网络计算和存储提供商上执行。为达说明的目的,浏览器处理网络内容可包括在内容可用合适的形式在客户端计算设备上呈现之前进行的各种处理动作。例如,可分析并处理网页来处理各种HTML布局信息和对相关资源或嵌入式内容(诸如CSS样式表和Javascript)以及嵌入的内容对象(诸如图像、视频、音频等)的参考。在可构建并进一步处理对应于网页的代表对象模型以进行布局和显示之前,可分析并处理每个对象或每段代码。根据选择的远程会话浏览配置,客户端计算设备和实例化的网络计算组件可通过浏览器会话信息(例如,代表请求的内容的状态数据或显示数据)来交换处理结果。
图1是说明用于管理并处理内容请求的联网计算环境100的框图。如图1示出,联网计算环境100包括许多客户端计算设备102(通 常称为客户端),客户端计算设备102用于从内容提供商104、CDN服务提供商106或网络计算和存储提供商107请求内容和内容处理。在说明性实施方案中,客户端计算设备102可对应于各种各样的计算设备,包括个人计算设备、膝上型计算设备、手持计算设备、终端计算设备、移动设备(例如,手机、平板计算设备等)、无线设备、各种电子设备和家电等。在说明性实施方案中,客户端计算设备102包括用于通过通信网络108(诸如广域网或局域网)建立通信的必要的硬件和软件组件。例如,客户端计算设备102可配备有通过互联网或内联网促进通信的网络设备和浏览器软件应用。客户端计算设备102可具有各种本地计算资源,例如,中央处理单元和架构、存储器、大容量存储器、图形处理单元、通信网络可用性和带宽等。
联网计算环境100也可包括通过通信网络108与一个或多个客户端计算设备102或其它服务提供商(例如,CDN服务提供商106、网络计算和存储提供商107等)通信的内容提供商104。图1中示出的内容提供商104对应于与内容提供商相关的一个或多个计算设备的逻辑关联。具体来说,内容提供商104可包括对应于用于从客户端计算设备102或其它服务提供商获得并处理内容(例如,网页)的请求的一个或多个服务器计算设备的网络服务器组件110。内容提供商104还可包括对应于用于从CDN服务提供商获得并处理网络资源的请求的一个或多个计算设备的原始服务器组件112和相关存储组件114。内容提供商104还可包括用于处理流内容请求的应用服务器计算设备111,例如,数据流服务器。相关领域技术人员应理解,内容提供商104可与各种额外的计算资源相关,所述计算资源例如管理内容和资源、DNS名称服务器等的额外的计算设备。例如,虽然图1中未示出,但是内容提供商104可与一个或多个DNS名称服务器组件相关,所述DNS名称服务器组件将被授权来解析对应于内容提供商的域名的客户端计算设备DNS查询。
继续参看图1,联网计算环境100还可包括通过通信网络108与一个或多个客户端计算设备102和其它服务提供商通信的CDN服务 提供商106。图1中示出的CDN服务提供商106对应于与CDN服务提供商相关的一个或多个计算设备的逻辑关联。具体来说,CDN服务提供商106可包括对应于通信网络108上的节点的许多存在点(“POP”)位置116、122、128。每个CDN POP116、122、128都包括由用于解析来自客户端计算机102的DNS查询的许多DNS服务器计算设备组成的DNS组件118、124、130。每个CDN POP116、122、128也包括由许多缓存服务器计算设备组成的资源缓存组件120、126、132,所述缓存服务器设备用于存储来自内容提供商的资源并把各种请求的资源传送到各种客户端计算机。DNS组件118、124和130和资源缓存组件120、126、132还可包括促进通信的额外软件和/或硬件组件,包括但不限于,负载平衡或负载共享软件/硬件组件。
在说明性实施方案中,DNS组件118、124、130和资源缓存组件120、126、132被认为是逻辑分组的,而不管组件或组件的部分是否物理上分开。另外,虽然CDN POP116、122、128在图1中示出为逻辑上与CDN服务提供商106相关,但是CDN POP将以最佳地提供客户端计算设备102的各种人口统计的方式来在整个通信网络108上地理分布。另外,相关领域技术人员应理解,CDN服务提供商106可与各种额外计算资源相关,例如用于管理内容和资源的额外计算设备等。
还继续参看图1,联网计算环境100也可包括通过通信网络108与一个或多个客户端计算设备102、CDN服务提供商106和内容提供商104通信的网络计算和存储提供商107。图1中示出的网络计算和存储提供商107也对应于与网络计算和存储提供商相关的一个或多个计算设备的逻辑关联。具体来说,网络计算和存储提供商107可包括对应于通信网络108上的节点的许多存在点(“POP”)位置134、142、148。每个POP134、142、148都包括网络计算组件(NCC)136、144、150,所述网络计算组件用于通过通常称为NCC的实例的许多虚拟机的实例来托管应用(诸如数据流应用)。相关领域技术人员应理解,NCC136、144、150可包括物理计算设备资源和软件以提供虚 拟机的多个实例或者动态促成虚拟机的实例的创建。这样的创建可基于例如来自客户端计算设备的特定请求,或者NCC可独自开始动态创建虚拟机的实例。每个NCC POP134、142、148也都包括由用于存储用以传递并处理网络或计算资源的任何类型的数据的许多存储设备组成的存储组件140、146、152,所述数据包括但不限于用户数据、状态信息、处理要求、历史使用数据和来自内容提供商的资源,所述资源将由NCC136、144、150的实例处理并传送到各种客户端计算机等。NCC136、144、150和存储组件140、146、152还可包括促进通信的额外软件和/或硬件组件,包括但不限于,用于选择支持请求的应用且/或提供信息到DNS名称服务器以促进请求路由的虚拟机的实例的负载平衡或负载共享软件/硬件组件。
在说明性实施方案中,NCC136、144、150和存储组件140、146、152被认为是逻辑分组的,而不管组件或组件的部分是否物理上分开。例如,网络计算和存储提供商107可维护单独的POP以提供NCC和存储组件。另外,虽然NCC POP134、142、148在图1示出为逻辑上与网络计算和存储提供商107相关,但是NCC POP将以最佳地提供客户端计算设备102的各种人口统计的方式来在整个通信网络108上地理分布。另外,相关领域的技术人员应理解,网络计算和存储提供商107可与各种额外计算资源相关,例如用于管理内容和资源的额外的计算设备等。甚至进一步,相关领域技术人员应理解,网络计算和存储提供商107的组件和CDN服务提供商106的组件可由相同或不同实体来管理。
现参看图2-6,将示出图1的联网计算环境100的各种组件之间的交互。特别说来,图2-6示出通过网络计算和存储提供商107在客户端计算设备102和内容提供商104之间交换内容的联网计算环境100的各种组件之间的交互。然而,为了举例的目的,已简化了说明,使得未示出用以促进通信的许多组件。相关领域技术人员应理解,在不脱离本发明的精神和范围的情况下,可使用此类组件,且可相应地发生额外的交互。
参看图2,过程可始于生成并处理从客户端计算设备102到网络计算和存储提供商107的浏览会话请求。说明性地,客户端计算设备102可加载浏览器以响应于事件或用户请求查看网络内容。在加载浏览器之后,浏览器可被实施以请求新的浏览会话。从客户端计算设备的用户的观点看来,新的浏览会话的请求对应于把请求传送到一个或多个对应的内容提供商104的预期的请求。说明性地,该请求可作为浏览器加载(例如,对默认或“主页”页面的请求)的结果而自动生成,或可作为用户跟踪链接或把网络地址输入地址栏的结果而生成。如图2示出,浏览会话请求首先被传送到网络计算和存储提供商107。在说明性实施方案中,网络计算和存储提供商107利用注册应用程序接口(“API”)以从客户端计算设备102接受浏览会话请求。浏览会话请求可包括对应于请求的网络资源的可呈任何形式的网络地址信息,包括但不限于,互联网协议(“IP”)地址、URL、媒体访问控制(“MAC”)地址等。
在接收到浏览会话请求之后,网络计算和存储提供商107可选择相关的网络计算组件(以下称为“NCC”)存在点(以下称为“POP”)(例如,NCC POP142)以提供浏览会话请求。NCC POP的选择可确定实例化的虚拟机可用的处理和网络资源。在NCC POP实例中的处理和网络资源的选择和软件的提供可至少部分地进行,以便优化与内容提供商104和客户端计算设备102的通信。
参看图3,将描述生成并处理从网络计算和存储提供商107到内容提供商104的网络资源的请求的说明性交互。如图3示出,选择的NCC POP142可基于例如以上图2描绘的说明性浏览会话请求的浏览会话请求来生成对应于一个或多个内容提供商的浏览会话。说明性地,实例化新的浏览会话实例可包括在NCC POP142加载新的虚拟机实例和/或浏览器实例;预留或分配设备存储器、存储或缓存空间、处理器时间、网络带宽或新的浏览会话的其它计算或网络资源。
在初始化新的浏览会话实例之后,NCC POP142可基于浏览会话 请求中包括的网络地址把网络资源的请求提供到内容提供商104。例如,浏览会话请求可包括网页的URL,例如“http://www.xyzsite.com/default.htm”。NCC POP142可通过与网络计算和存储提供商(未示出)相关的DNS解析程序把URL解析到IP地址,且可在解析的IP地址处从内容提供商104请求网页。在各种实施方案中,可从内容提供商、内容传递网络(以下称为“CDN”)服务器或与网络计算和存储提供商107相关的缓存的任何组合检索网络资源。例如,网络计算和存储提供商可检查资源是存储在本地缓存中还是存储在与网络计算和存储提供商107相关的另一服务器或服务提供商中。如果网络资源存储在本地或相关位置中,那么NCC POP142可从本地或相关位置而不是从第三方内容提供商104或CDN服务提供商106检索网络资源。说明性地,NCC POP142可提供浏览会话请求中包括的任何数量的网络资源的请求,且可从任何数量的不同来源顺序地或并行地获得这些网络资源。
如图3示出,内容提供商104从NCC POP142接收资源请求并相应地处理所述请求。在一个实施方案中,内容提供商104处理资源请求,如同所述资源请求最初由客户端计算设备102提供一样。例如,内容提供商104可根据发出请求的客户端计算设备102的要求来选择内容类型、内容排序或内容版本。在另一实施方案中,内容提供商104可具有提供与NCC POP142相关的信息以用于提供请求的内容(例如,处理资源或网络带宽的可用量)的信息。
在从内容提供商104(或内容提供商指定的其它来源)获得请求的网络资源之后,NCC POP142可处理网络资源以提取嵌入式资源识别符并收集确定远程会话浏览配置的信息。例如,网络资源(诸如网页)可包括嵌入式CSS样式信息和Javascript以及额外资源(例如文本、图像、视频、音频、动画、可执行代码和其它HTML、CSS和Javascript文件)的嵌入式资源识别符。在提取嵌入式资源识别符的过程中,NCC POP142可收集关于处理的网络资源的信息供后来用于对远程会话浏览配置的确定,如下文参看图4讨论。
参看图4,公开了生成并处理对应于从网络计算和存储提供商到内容提供商和内容传递网络的一个或多个嵌入式资源的一个或多个请求的说明性交互。如图4示出,选择的NCC POP142可把资源请求提供到一个或多个内容来源(诸如,内容提供商104和CDN POP116)。资源请求可对应于基于如上文图3描述的从请求的网络资源(例如,网页)提取的一个或多个嵌入式资源识别符的嵌入式资源。在各种实施方案中,可从内容提供商、CDN服务器或与网络计算和存储提供商107相关的缓存的任何组合检索嵌入式资源。例如,网络计算和存储提供商可检查嵌入式资源是存储在本地缓存中还是存储在与网络计算和存储提供商107相关的另一服务器或服务提供商中。如果嵌入式资源存储在本地或相关位置中,那么NCC POP142可从本地或相关位置而不是从第三方内容提供商或CDN检索嵌入式资源。说明性地,NCC POP142可提供网络资源参考的任何数量的嵌入式资源的请求,且可从任何数量的不同来源顺序或并行地获得所述嵌入式资源。在获得请求的资源之后,NCC POP142可处理资源和请求的内容以确定处理和把内容传递到客户端计算设备102的远程会话浏览配置。
参看图5,公开了生成并处理处理结果和在网络计算和存储提供商和客户端计算设备之间的用户交互数据的说明性交互。如之前所描述,在一个实施方案中,实例化的网络计算组件和客户端计算设备102上的相应浏览器可交换关于在实例化的网络计算组件和客户端计算设备上分配并处理请求的资源的浏览器的会话信息。如图5示出,选择的NCC POP142可通过网络108把初始处理结果提供到客户端计算设备102。初始处理结果可对应于请求的网络内容(诸如,网页)以及NCC POP142根据如上文图4描述的选择的远程会话浏览配置处理的相关嵌入式资源。NCC POP142也对哪些额外的过程将在NCC POP142、在客户端计算设备102或两者上进行做出确定。在接收到初始处理结果和过程的分配之后,客户端计算设备102可对初始处理结果执行如选择的远程会话浏览配置所需的任何剩余的处理动作,且 可在浏览器的内容显示区显示完全处理的内容。客户端计算设备102可在本地处理与本地接口组件或内容元素的任何本地用户交互,且可把需要远程处理的用户交互提供到网络计算和存储提供商107。网络计算和存储提供商107可响应于来自客户端计算设备的内容或远程用户交互数据的变化而把已更新的处理结果提供到客户端计算设备。
参看图6,公开了示出生成并处理从客户端计算设备到网络计算和存储提供商的额外的新的浏览会话请求的图1的内容传递环境的框图。如图6示出,第二新的浏览会话请求可通过网络108从客户端计算设备102发送到网络计算和存储提供商107。在说明性实施方案中,网络计算和存储提供商107利用注册API来从客户端计算设备102接受浏览会话请求。
额外的浏览会话请求可由客户端计算设备102响应于以下操作而生成:用户打开具有新的内容显示区的新的浏览器窗口、在现有浏览器窗口打开新的内容显示区(例如,在浏览器中打开新的标签)、在现有内容显示区中请求新的网络内容(例如,跟踪新的网络资源的链接或把新的网络地址输入浏览器)或任何其它用户交互。例如,浏览对应于第一浏览会话实例的第一网页的用户可跟踪打开新的标签或浏览器窗口的链接以查看第二网页。在一个实施方案中,获得并处理与第二网页相关的内容的任何必要步骤可由当前实例化的网络计算组件来执行,其中浏览器可处理两个资源请求的处理。在另一实施方案中,客户端计算设备102请求可被处理为网络计算和存储提供商107的新的浏览会话请求,包括第二网页的网络地址。在这个实施方案中,客户端计算设备上的浏览器可能不具体请求单独的浏览会话,且在客户端计算设备102上与浏览器的用户交互可看做是所述浏览会话的部分。如上文相对于图2和图3描述,网络计算和存储提供商107可使用于获得并处理与第二网页相关的内容的网络计算组件实例化。在其它实施方案中,新的浏览会话请求可由客户端计算设备102来生成,客户端计算设备102对应于网络资源的部分(例如,网页的帧)、个别网络资源,或嵌入式资源自身、一组内容或个别网络资源 中包括的数据对象。
说明性地,额外的浏览会话请求可包括任何数量的数据或信息片,包括但不限于,与用户相关的信息、与客户端计算设备102相关的信息(例如,硬件或软件信息、设备物理或逻辑位置等)、与网络108相关的信息、用户或浏览器偏好(例如,请求的远程会话浏览协议、偏好列表、决策树或其它信息)、与网络计算和存储提供商107相关的信息、与一个或多个请求的网络内容片相关的信息(例如,网络资源的网络地址)等。请求的内容可包括任何方式的数字内容,包括网页或其它文档、文本、图像、视频、音频、可执行的脚本或代码,或任何其它类型的数字资源。
在接收到浏览会话请求之后,网络计算和存储提供商107可选择相关的网络计算组件(诸如NCC POP142)以提供浏览会话请求。如上文参看图2讨论,网络计算和存储提供商107可基于任何数量的因素来选择NCC POP以提供浏览会话请求,所述因素包括但不限于可用NCC POP资源(例如,可用存储器、处理器负载、网络负载等)、在NCC POP提供浏览会话请求的财务成本、相对于客户端计算设备102、内容提供商112或CDN POP116的NCC POP位置、NCC POP缓存状态(例如,请求的资源是否已存储在NCC POP缓存中)等。在一个实施方案中,网络计算和存储提供商107可选择许多NCC POP以提供浏览会话请求。说明性地,虽然当选择NCC POP142时为达说明的目的描绘了网络计算和存储提供商107,但是网络计算和存储提供商107可选择任何现有的NCC POP来提供浏览会话请求。例如,单个客户端计算设备102可同时或顺序地把三个不同浏览会话请求提供到对应于不同网络资源的网络计算和存储提供商107。网络计算和存储提供商107可为每个浏览会话请求选择不同的NCC POP、为所有这三个浏览会话请求选择相同的NCC POP,或它们的任何组合。如上文所讨论,决定是否选择与用于先前或同时浏览会话请求的NCC POP不同的NCC POP可在可用系统资源基础上进行,随机进行,或根据如上文所讨论并相对于图2所描述的任何其它因素进行。
图7是示出说明性浏览器界面和浏览会话内容的显示的用户界面图。如上文参看图5描述,浏览器700可具有内容显示区702,以及一个或多个本地接口组件。所述本地接口组件可包括工具栏、菜单、按钮、地址栏、滚动条、窗口大小调整控件或任何其它用户界面控件。说明性地,本地接口组件可显示为与内容显示区分开或可覆盖或嵌入内容显示区中。
与本地接口组件的交互可被视为本地用户交互或远程用户交互,这取决于交互所需的处理和远程会话浏览配置。例如,在浏览器菜单中选择偏好选项可被浏览器完全处理为本地用户交互。可在本地执行显示菜单、提供关于选择的视觉反馈、显示偏好窗口和处理对浏览器偏好所做的改变所需的处理。如上文所讨论,与把用户交互数据发送到NCC POP142进行处理相比,在本地处理用户交互可在浏览器提供更大的响应。另举一例,当使用指定对NCC POP142的广泛处理的远程会话浏览配置(例如,使用例如RDP的远程会话通信协议的远程会话浏览配置)时,在浏览器工具栏中选择内容刷新按钮可被处理为本地用户交互和远程用户交互。对应于按钮选择来提供界面反馈所需的有限的处理可在客户端计算设备102处理以提供界面响应的外观,而可能需要处理浏览器的内容显示区中显示的网络内容的刷新命令可作为用户交互数据发送到NCC POP142进行处理。然后,NCC POP142可把对应于已刷新的网络内容的更新处理结果传送回客户端计算设备102以进行显示。
图8是示出作为一系列处理子系统800的说明性浏览器内容处理动作的图。在许多实施方案中,浏览器可处理一系列处理动作中的多组内容(例如,例如网页的网络资源和相关嵌入式资源)。说明性地,且如上文参看图3-5描述,远程会话浏览配置可指定网络计算和存储提供商(例如,NCC POP)上执行的处理动作和客户端计算设备102上执行的处理动作之间的拆分。该拆分可指定将由NCC POP和客户端计算设备102中的每一个执行的一些处理动作,或者可把所有处理动作分配到单个设备或组件。例如,NCC POP可在浏览会话实例执 行所有这些各种处理动作,并把完全处理的RDP处理结果发送到客户端计算设备102进行位图(bitmap)组装和显示。任何数量的不同远程会话浏览配置可被在NCC POP上运行的一个或多个浏览会话实例使用。
相关领域的技术人员应理解,本文示出的子系统是为了说明的目的而描述,而不旨在描述浏览器子系统的必要的顺序或明确的列表。各种浏览器软件组件可实施额外的或比本文示出少的浏览器子系统,且可以任何数量的不同方式来排序子系统或对应的处理动作。虽然本文描绘的处理子系统800为达说明的目的而用于处理网页或其它网页内容,但是相关领域的技术人员应理解,可以类似方式来分解对其它文件类型或网络资源的处理。例如,相关领域的技术人员应理解,可开发类似模式来处理图像、视频、音频、数据库信息、三维(3d)设计数据或本领域已知的任何其它文件格式或数据类型。也可开发类似模式用于任何数量的设备操作系统或软件框架处理操作,例如调度、存储器或文件管理、系统资源管理、过程或服务执行或管理等。另外,虽然本文为达举例的目的讨论了HTML协议和RDP远程会话通信协议,但是相关领域的技术人员应理解,远程会话浏览配置可实施任何数量的远程通信协议来进行任何数量的指定处理动作,且远程会话浏览配置可制定以执行下文在客户端计算设备102和网络计算和存储提供商107的任何组合识别的动作的任何部分或组合。
说明性地,处理并显示网络内容中涉及的第一处理子系统是网络子系统802。说明性地,网络子系统802可负责浏览器和内容提供商之间的所有通信,包括网页内容的本地缓存。网络子系统通常由用户网络的性能限制。在网络子系统802拆分处理动作的远程会话浏览配置可包括利用HTML远程会话通信协议的远程会话浏览配置,其中一个或多个缓存或资源检索动作在NCC POP上执行,但是在客户端计算设备上执行内容的分析和处理。
由于网络资源(诸如HTML文档)是从服务器下载的,所以它 们可被传递到HTML子系统804,HTML子系统804分析文档、在网络子系统中开始额外的下载,并创建文档的结构表示。现代浏览器也可包含用于XHTML、XML和SVG文档的相关子系统。在HTML子系统804拆分处理动作的远程会话浏览配置可包括利用HTML远程会话通信协议的远程会话浏览配置,其中在NCC POP上处理初始HTML页面以便提取嵌入式资源识别符,但是在客户端计算设备上执行对内容的额外的分析和处理。在另一实施方案中,在HTML子系统804拆分处理动作的远程会话浏览配置可执行初始处理来创建HTML文档的结构表示,并把包括结构表示的处理结果和相关嵌入式资源提供到客户端计算设备进行处理。
当遇到CSS时,不管是在HTML文档内还是嵌入式CSS文档内,它可被传递到CSS子系统806以分析样式信息并创建可供以后参考的结构表示。说明性地,在CSS子系统806拆分处理动作的远程会话浏览配置可构建包括CSS结构表示和HTML结构表示的处理结果,并把处理结果和相关嵌入式资源提供到客户端计算设备进行处理。
HTML文档通常包含元数据,例如,文档标题中描述的信息或应用于元素的属性。集合子系统808可负责存储并访问该元数据。在集合子系统808拆分处理动作的远程会话浏览配置可构建包括经处理的元数据以及上文讨论的任何其它结构表示的处理结果,并把处理结果和相关嵌入式资源提供到客户端计算设备进行处理。
当遇到Javascript时,它可被直接传递到负责执行脚本的JavaScript子系统810。多年来,已对Javascript子系统810进行全面检查,且该子系统可为本领域中最为人广知的浏览器子系统中的一个。在Javascript子系统810拆分处理动作的远程会话浏览配置可构建包括一个或多个Javascript脚本的内部表示(包括但不限于状态数据或为本机形式或中间形式的脚本的表示,以及上文讨论的任何其它处理结构或数据)的处理结果,且把处理结果和相关嵌入式资源提供到客户端计算设备进行处理。
因为许多JavaScript引擎不直接集成到浏览器,所以在浏览器和脚本引擎之间可能有包括编组子系统812的通信层。通过所述通信层传递信息可通常被称为编组。在编组子系统812拆分处理动作的远程会话浏览配置可构建包括编组数据以及任何其它处理结构、脚本或上文讨论的数据的处理结果,并把处理结果和相关嵌入式资源提供到客户端计算设备进行处理。
在一些实施方案中,JavaScript通过文档对象模型(Document Object Model)API与底层网络资源(诸如,例如Web文档)交互。这些API可通过本机对象模型子系统814来提供,本机对象模型子系统814知道如何访问并操纵文档并且是脚本引擎和浏览器之间的主要交互点。说明性地,在本机对象模型子系统814拆分处理动作的远程会话浏览配置可构建包括本机对象模型状态数据或API调用以及任何其它处理结构、脚本,或上文讨论的数据的处理结果,并把处理结果和任何其它相关嵌入式资源提供到客户端计算设备进行处理。
一旦构建文档,浏览器就可能需要在它可被显示给用户之前应用样式信息。格式化子系统816采用HTML文档并应用样式。说明性地,在格式化子系统816拆分处理动作的远程会话浏览配置可构建包括具有应用的样式的HTML表示以及任何其它处理状态数据、API调用、结构、脚本,或上文讨论的数据的处理结果,并把处理结果和任何其它相关嵌入式资源提供到客户端计算设备进行处理。
在一个实施方案中,CSS是基于方块的布局系统。在文档被样式化之后,在方块建筑子系统818的下一步骤可能是构建将显示给用户的矩形块。这个过程可确定像方块大小的事情且可与下一阶段、布局紧密集成。在方块建筑子系统818拆分处理动作的远程会话浏览配置可构建包括方块信息以及任何其它处理状态数据、API调用、结构、脚本或上文讨论的数据的处理结果,并把处理结果和任何其它相关嵌入式资源提供到客户端计算设备进行处理。
在浏览器样式化内容并构建方块之后,就可通过布局内容的过程。布局子系统820负责这个算法复杂的过程。说明性地,在布局子系统820拆分处理动作的远程会话浏览配置可处理各种状态数据、API调用、结构、脚本,或上文讨论的数据以构建包括客户端计算设备的布局信息的处理结果。说明性地,NCC POP可使用与客户端计算设备或浏览器(例如,如在初始浏览会话请求中提供)相关的各种数据或设置来生成客户端计算设备的合适的布局。例如,移动设备可向NCC POP提供屏幕分辨率和显示模式。NCC POP可使布局计算基于这个屏幕分辨率和显示模式以生成对应于适于在移动设备上运行的浏览器的内容表示的处理结果。说明性地,在各种实施方案中,由NCC POP实施的任何其它子系统可把与客户端计算设备或浏览器相关的数据用于生成客户端的处理结果。
过程的最后阶段可在显示子系统822内部发生,其中最终内容显示给用户。这个过程通常被称为绘图。在网络子系统802拆分处理动作的远程会话浏览配置可包括利用RDP远程会话通信协议的远程会话浏览配置,其中几乎所有处理都在NCC POP执行,且包括位图数据和低级别接口数据的处理结果被传递到客户端计算设备进行显示。
图9是说明图1的网络计算和存储提供商107实施的新的浏览会话程序900的流程图。新的浏览会话程序900始于框902。在框904,网络计算和存储提供商107从客户端计算设备102接收新的浏览会话请求。如之前所描述,客户端计算设备102可加载浏览器以响应于事件或用户请求查看网络内容。在加载浏览器之后,浏览器可被实施以请求新的浏览会话。从客户端计算设备的用户的观点看来,新的浏览会话的请求对应于把请求传送到一个或多个对应的内容提供商104的预期的请求。说明性地,该请求可作为浏览器加载(例如,对默认或“主页”页面的请求)的结果而自动生成,或可作为用户跟踪链接或把网络地址输入地址栏的结果而生成。这个浏览会话请求可包括一个或多个地址或对各种网络资源或客户端计算设备102请求的其它内容的参考。在说明性实施方案中,浏览会话请求是根据API来传送的。
在框906,网络计算和存储提供商107可选择相关NCC POP以基于浏览会话请求实例化新的浏览会话。如上文参看图1所讨论,网络计算和存储提供商107可包括在任何数量的物理或逻辑位置上分布的任何数量的NCC POP。网络计算和存储提供商107可基于任何数量的因素来选择NCC POP以提供浏览会话请求,所述因素包括但不限于可用NCC POP资源(例如,可用存储器、处理器负载、网络负载等)、在NCC POP提供浏览会话请求的财务成本、相对于客户端计算设备102、内容提供商104或CDN POP116的NCC POP位置、NCC POP缓存状态(例如,请求的资源是否已存储在NCC POP缓存中)等。
在一个实施方案中,网络计算和存储提供商107可选择许多NCC POP来提供浏览会话请求。例如,网络计算和存储提供商107可选择在网络中具有不同逻辑位置的两个NCC POP。每个NCC POP可代表客户端计算设备102来独立请求并处理网络内容,且客户端计算设备102可从第一NCC POP接受数据并返回处理结果。在被网络计算和存储提供商107选择之后,NCC POP142可获得浏览会话请求。在一个实施方案中,NCC POP142可通过网络计算和存储提供商107的组件把浏览会话请求转发给它。在另一实施方案中,NCC POP142或客户端计算设备102可接收连接信息,从而允许在NCC POP142和客户端计算设备102之间建立直接通信。说明性地,NCC POP142可具有最初提供给网络计算和存储提供商107的浏览会话请求;可具有信息的子集(例如,只有请求的内容的网络地址);或可具有原始浏览会话请求中未包括的额外的信息。
在选择NCC POP142之后,网络计算和存储提供商107可使NCC POP142实例化新的浏览会话。说明性地,实例化新的浏览会话实例可包括在NCC POP142处加载新的虚拟机实例和/或浏览器实例;预留或分配设备存储器、存储或缓存空间、处理器时间、网络带宽或新的浏览会话的其它计算或网络资源。说明性地,新的浏览会话实例和/或浏览器实例的一个或多个特点可基于浏览会话请求中包括的客户 端计算设备102信息。例如,浏览会话请求可包括设备类型或浏览器类型、设备屏幕分辨率、浏览器显示区或定义客户端计算设备102或浏览器的显示偏好或能力的其它信息。NCC POP142可因此实例化具有与客户端计算设备102的能力相同或类似的能力的虚拟机实例和/或浏览器实例。说明性地,维护具有与客户端计算设备102的能力相同或类似的能力的虚拟机实例和/或浏览器可允许NCC POP142根据特定客户端计算设备102上显示器的合适的尺寸和布局来处理网络内容。
在一些实施方案中,除了实例化新的浏览会话之外或者作为实例化新的浏览会话的替代,NCC POP142还可使用现有的虚拟机实例和/或浏览器实例。例如,在选择NCC POP142之后,网络计算和存储提供商107可使NCC POP142把现有浏览器实例和/或虚拟机实例(诸如,先前在NCC POP142处实例化的一个或多个实例)与新的浏览会话请求结合。说明性地,现有浏览器会话和/或虚拟机实例可对应于另一浏览会话、远程应用会话,或与用户或客户端计算设备l02相关的其它远程过程,或可为来自不相关的浏览会话或远程过程的之前实例化的软件实例。在其它实施方案中,NCC POP142可实例化新的浏览器或现有虚拟机实例中的其它应用过程,或可用任何数量的其它方式来组合之前实例化的软件过程和新实例化的软件过程的使用。在更进一步的实施方案中,网络计算和存储提供商或NCC POP142可基于单个浏览会话请求来实例化任何数量的新的虚拟机实例和/或浏览器实例(或使用现有实例化的实例)。
在框908,网络计算和存储提供商107可基于浏览会话请求中包括的网络地址把一个或多个网络资源的请求提供到内容提供商或CDN服务提供商。在各种实施方案中,一个或多个网络资源可另外或替代地从NCC POP142本地的缓存检索或者与网络计算和存储提供商107相关。本领域技术人员应理解,在其它实施方案的情况下,链接或网络地址可对应于存储在数字文件柜或其它网络存储位置或在与网络计算和存储提供商107或客户端计算设备102相关的缓存组 件的文档或文件。在一些实施方案中,除了网络地址之外或作为网络地址的替代,新的会话请求还可包括文档或文件。在框910,网络计算和存储提供商107获得一个或多个网络资源。在获得请求的网络资源之后,NCC POP142可处理网络资源以提取嵌入式资源识别符。
在框912,网络计算和存储提供商107可把资源请求提供到例如内容提供商、CDN服务提供商和缓存的一个或多个内容来源。资源请求可对应于基于如上文在框910描述的从一个或多个网络资源提取的一个或多个嵌入式资源识别符的嵌入式资源。在框914,网络计算和存储提供商107可从任何数量的不同来源顺序或并行地获得所述嵌入式资源。
在框916,网络计算和存储提供商107可处理一个或多个网络资源和相关嵌入式资源以确定处理和把内容传递到客户端计算设备102的远程会话浏览配置。远程会话浏览配置可包括允许在客户端和远程服务器之间交换数据和用户交互或请求的任何所有权或公共远程协议。远程会话浏览配置可说明性地包括远程会话通信协议和把处理(或未处理)内容提供到客户端计算设备以在浏览器的内容显示区进行显示的处理模式。
说明性地,远程会话浏览配置可定义或指定远程会话通信协议,包括但不限于,网络协议、信令模式、传输机制,或在网络计算和存储提供商和客户端计算设备之间交换状态数据、用户交互,和其它数据和内容的封装格式。本领域已知的远程会话通信协议的实例包括远程桌面协议(RDP)、X-窗口协议、虚拟网络计算(VNC)协议、远程帧缓冲协议、HTML等。例如,RDP说明性地指定把客户端输入(例如,鼠标移动、键盘输入等)编码成协议数据单元以提供给远程计算设备的许多处理机制,和对应的把位图更新和低级别接口信息发送回客户端设备的机制。另举一例,HTML协议说明性地提供用于从服务器向客户端提供定义接口信息并包含资源参考的文件的机制,和对应的使客户端计算设备向服务器提供额外的文件和资源的请求的 机制。在一个实施方案中,NCC POP142可在确定远程会话通信协议之后向客户端计算设备102提供初始通信。这个初始通信可允许客户端计算设备102用选择的远程会话通信协议准备接收通信,且在像HTTP的拉远程会话通信协议的情况下,可使客户端计算设备把初始资源请求发送到在NCC POP142上运行的浏览会话实例。
每个远程会话浏览配置可另外定义网络计算和存储服务(例如,NCC POP142)和客户端计算设备(例如,客户端计算设备102)之间的处理动作的拆分。在一个实施方案中,处理动作的特定拆分可基于特定远程会话通信协议或由特定远程会话通信协议授权。在另一实施方案中,远程会话通信协议可取决于协议的实施或配置而允许处理动作的若干不同拆分。为了说明的目的,许多网络内容片(例如,网页、视频、Flash文档)在显示于计算设备上之前可能需要各种处理动作。例如,可分析网页以处理各种HTML布局信息和对相关资源或例如CSS样式表和Javascript的嵌入式内容,以及例如图像、视频、音频等的嵌入的内容对象的参考。HTML和每个参考的对象或一段代码将通常在可构建对应于网页的代表对象模型之前被分析和处理。这个对象模型然后可被进一步处理以在客户端计算设备102的浏览器的内容显示区布局和显示。下文参看图8更详细地描述了说明性浏览器处理动作。本领域技术人员应理解,在其它实施方案或应用的情况下,可能需要各种其它处理动作。
远程会话浏览配置可指定显示在例如NCC POP142的远程计算设备而不是在客户端计算设备102执行的网络内容片所需的各种处理动作。部分(或完全)在网络计算和存储提供商处理的网络内容可被称为处理结果。如下文所讨论,处理动作的拆分可与用于在NCC POP142和客户端计算设备102之间交换数据和客户端输入的远程会话通信协议相关或连接到所述远程会话通信协议。
例如,例如RDP的把包括低级别接口信息和位图的处理结果传送到客户端计算设备142进行显示的远程会话通信协议可与指定在 NCC POP142执行所有或几乎所有必需的内容处理动作的远程会话浏览配置相关。当使用RDP时,NCC POP142可例如运行NCC POP142的浏览器的完整实例且把包括对应于显示的内容的表示的位图更新的处理结果传送到客户端计算设备102。在这个实例中,可能只需要客户端计算设备102组装传送的位图更新以在浏览器的内容显示区显示,且客户端计算设备102可能不执行处理显示说明性网络内容片所涉及的实际HTML、Javascript或数据对象中的任何一个。另举一例,使用例如HTML的远程会话通信协议的远程会话浏览配置可传送呈很大程度上未处理形式的网络内容。客户端计算设备102因此可执行显示网络内容所需的所有处理动作,而NCC POP142执行极少处理或不执行处理。
NCC POP142可使它的确定远程会话浏览配置基于任何数量的因素,所述因素包括但不限于请求的资源、内容提供商104或CDN服务提供商106中一个或多个的一个或多个特点;内容地址或域名的一个或多个特点;客户端计算设备102、浏览器或应用、用户的一个或多个特点;NCC POP142的一个或多个特点;或网络或网络连接的一个或多个特点等。请求的资源的特点可包括但不限于数据格式、内容类型、大小、处理要求、资源延迟要求、互动元素的数目或类型、安全性风险、相关用户偏好、网络地址、网络域、相关内容提供商等。内容提供商104、CDN服务提供商106、计算设备102或NCC POP142的特点可包括但不限于处理能力、存储器、存储、网络连接(例如,可用带宽或延迟)、物理或逻辑位置、预测的稳定性或故障风险、软件或硬件配置文档、可用资源(例如,可用存储器或处理,或同时打开的软件应用的数量)等。NCC POP142还可认为感知的安全威胁或风险与内容或域名片、客户端计算设备或内容提供商的偏好、计算或网络资源成本(例如,处理或带宽的财务成本、资源使用情况等)、预定偏好或选择信息、特定远程会话浏览配置所需的任何额外的处理开销、缓存状态(例如,特定资源是在NCC POP142缓存、在客户端计算设备102缓存,还是在与网络计算和存储提供商相关的其它网 络存储缓存)、检索请求的网络内容所需的预测延时或时间、优选内容提供商或与内容提供商的特定远程会话浏览配置或服务水平的协议、由相同的用户用于另一(或当前)浏览会话的远程会话浏览配置,或任何其它因素相关。
在一些实施方案中,NCC POP142可使确定远程会话浏览配置基于过去的行为或做法。例如,当资源被相同(或可能不同)用户请求时,过去已确定了特定资源的远程浏览会话配置的NCC POP142可自动选择相同的远程浏览会话配置。另举一例,具有频繁访问网站的历史和广泛处理要求的用户可被自动分配有在NCC POP142执行大多数处理的远程会话浏览配置。在其它实施方案中,NCC POP142可使确定远程浏览会话配置基于对未来行为的预测。例如,NCC POP142可使它的确定特定资源的远程浏览会话配置基于对过去确定特定网站、网络域,或相关资源集的分析。历史上已提供高质量视频网页的内容提供商可与强调在客户端计算设备102的视频性能的远程会话浏览配置相关。说明性地,过去历史分析和未来预测可被认为是远程会话浏览配置确定过程所基于的许多因素中的一个或多个,或者可为确定过程中限定性的。例如,一旦NCC POP142确定特定内容提供商的远程会话浏览配置,它就可跳过内容提供商提供的任何未来资源的远程会话浏览配置确定过程。说明性地,NCC POP142可在固定时间段之后或NCC POP142已识别或确定内容提供商提供的内容的变化之后再确定将与内容提供商相关的远程会话浏览配置。
在其它实施方案中,网络资源、网站、网络域、内容提供商或其它网络实体可指定或请求把特定远程浏览会话配置用于资源标签、元数据或与NCC POP142的其它通信。NCC POP142可把请求视为限定性的,或可把请求视为将在确定过程中考虑的多个因素中的一个。
例如,使用例如RDP的远程会话通信协议的远程会话浏览配置可指定广泛处理发生在网络计算和存储提供商107(例如,NCC POP142)而不是在客户端计算设备102。远程会话浏览配置因此可利用 NCC POP142的处理能力来当处理需要大量预处理的网络内容(例如,具有定义页面布局的大量CSS或Javascript信息的内容)时达成较低的延迟和演示延时。NCC POP142因此可选择在网络计算和存储提供商107执行大量处理的远程会话浏览配置并使用RDP或类似远程会话通信协议来进行处理密集型内容的通信。相反,使用例如HTML的远程会话通信协议的远程会话浏览配置可在客户端计算设备102而不是在网络计算和存储提供商107指定广泛处理。当具有需要极少处理的简单的网络内容或在初始加载之后需要快速改变显示内容的网络内容时,远程会话通信协议因此可达成较小延时和流畅的演示。例如,具有嵌入式视频的网页可更好地在本地执行大多数处理并把HTML而不是RDP用作远程会话通信协议。指定在网络计算和存储提供商107的广泛处理的远程会话浏览配置必须在NCC POP142处理视频并把屏幕更新(例如通过RDP)快速发送到客户端计算设备102,这可能需要大量带宽并造成浏览器中断断续续的播放,而指定本地处理的远程会话浏览配置可把原始视频信息直接提供到客户端计算设备102进行显示(例如通过HTML),从而允许客户端缓存和更流畅地播放内容。
另举一例,与具有极其有限的处理能力的客户端计算设备102通信的NCC POP142可选择使用需要客户端计算设备进行极少处理的远程会话浏览配置,例如,使用RDP来传送NCC POP142处理的结果。相反,提供极交互式网页的NCC POP142可选择使用允许客户端计算设备102在本地处理用户交互以保存界面响应的远程会话浏览配置,例如,使用HTML来传送基本上未处理的数据。又举一例,NCC POP142可使确定远程会话浏览配置基于客户端计算设备102提供的偏好。客户端计算设备102可说明性地包括初始浏览会话请求或任何其它时间的远程会话浏览配置的偏好。NCC POP142可把这些偏好用作任何其它因素或确定度量的替代或补充。说明性地,允许客户端计算设备102设置或影响选择远程会话浏览配置允许NCC POP142在确定远程会话浏览配置时考虑用户偏好。例如,担心初始页面 加载时间的用户可能喜欢用强调远程处理并使用RDP远程会话通信协议的远程会话浏览配置,而希望维持极响应界面的用户可能更喜欢使用在客户端计算设备102上执行大多数处理的远程会话浏览配置,例如,使用HTML、远程会话通信协议。
说明性地,NCC POP142可使确定远程浏览配置基于任何因素或因素的组合。例如,NCC POP142可基于单个因素来选择远程会话浏览配置,或可把权重分配到一个或多个因素以进行确定。在一些实施方案中,NCC POP142的确定过程可基于上文描述的一个或多个因素而改变。例如,通过具有剩余的未使用的带宽的网络与客户端计算设备102通信的NCC POP142可把较低权重给予例如远程浏览会话的网络要求的因素,且可把较高权重给予例如页面交互的延迟的因素;而通过有限带宽网络与客户端计算设备102通信的NCC POP142可把较高权重给予处理通过网络的远程会话浏览协议的效率的因素。
在一个实施方案中,NCCPOP142可为网络内容集选择单个远程会话浏览配置。例如,NCC POP142可为例如网页的请求的网络资源选择单个远程会话浏览配置。NCC POP142因此可基于选择的远程浏览会话协议来处理网页以及所有嵌入式内容,并使用远程浏览会话协议来交换用户交互数据和与网页相关的所有嵌入式内容的更新的浏览会话数据。在另一实施方案中,NCC POP142可为网络内容集的一个或多个资源选择不同的远程会话浏览配置。例如,例如网页的网络资源可参考处理密集型嵌入式Javascript或CSS资源,以及嵌入式视频资源。NCC POP142可为网页和除了嵌入式视频资源之外的所有嵌入式资源选择第一远程会话浏览配置,并为嵌入式视频资源选择第二远程会话浏览配置。说明性地,这可使NCC POP142使用RDP把处理结果发送到客户端计算设备102以显示网页和相关嵌入式资源,同时使用HTTP把嵌入式视频作为单独未处理的文件发送。在一个实施方案中,客户端计算设备102可执行显示对应于网页和嵌入式资源的RDP处理结果所需的最小处理,且也可执行显示嵌入式视频(例如,在显示的网页的RDP表示顶部叠加视频)所必需的额外的处理。任 何数量的远程会话浏览配置可被选择以对应于网络内容集中包括的任何数量的资源或对象,而不管资源或对象是从一个或多个逻辑砖或数据结构中的内容提供商104还是CDN服务提供商106获得的。
虽然本文把选择远程会话浏览配置说明性地描述为在NCC POP142已获得所有网络资源和相关嵌入式内容之后发生,但是相关领域技术人员应理解,选择远程会话浏览配置可在任何时候执行。例如,NCC POP142可在从客户端计算设备接收到新的浏览会话请求或相关信息之后选择远程会话浏览配置,可在获得网络资源之后但在获得任何相关嵌入式资源之前,或在任何其它时间选择远程会话浏览配置。在一些实施方案中,NCC POP142可在客户端计算设备102获得初始处理结果之后的某个时间切换到新的远程会话浏览配置。说明性地,NCC POP142选择新的远程会话浏览配置可在某个时间段或事件之后自动发生或响应于网络条件、NCC POP142或客户端计算设备102加载或计算资源的改变,或上文描述为可能影响远程会话浏览配置的选择的任何其它因素而自动发生。说明性地,处理其它类型或格式的信息的NCC POP142可基于任何数量的类似因素来选择远程会话协议。例如,相关领域技术人员应理解,可开发类似模式来处理图像、视频、音频、数据库信息、三维设计数据,或本领域已知的任何其它文件格式或数据类型。
在各种实施方案中,客户端计算设备102可顺序地或与远程浏览会话的请求同时地进一步实例化平行浏览过程。在一个实施方案中,除了在NCC POP142执行的一个或多个远程浏览实例,客户端计算设备102还可实例化如本领域已知的传统本地浏览会话(例如,从浏览器提供内容请求并在本地处理获得的资源)。在另一实施方案中,客户端计算设备102可具有NCC POP142未处理的网络资源。说明性地,网络资源可由NCC POP142从一个或多个内容提供商、CDN或缓存组件检索。资源可被提供到客户端计算设备102以在本地与在NCC POP142执行的远程浏览实例平行地处理。在额外的实施方案中,网络计算和存储提供商或NCC POP142可实例化任何数量的新 的虚拟机实例和/或浏览器实例(或使用现有实例化的实例)来处理资源且/或并行地把处理结果发送到客户端计算设备102。说明性地,在客户端计算设备102的本地浏览会话和在NCC POP142的远程浏览会话实例可并行执行。
在一个实施方案中,在客户端计算设备102执行的本地浏览会话可响应于浏览会话请求从NCC POP142获得未处理的内容(例如,html网页、嵌入式内容和其它网络资源)。说明性地,内容可响应于浏览会话请求由NCC POP142从内容提供商、CDN或缓存检索。NCC POP142提供的未处理的内容可包括所有与浏览会话请求相关的内容或可补充客户端计算设备的缓存中存在的内容、从内容提供商或CDN检索的内容,或从某个其它来源获得的内容。在一个实施方案中,客户端计算设备102可从本地缓存获得所有请求的内容,且可能未从NCC POP142获得任何未处理的资源或内容。在获得未处理的内容之后,客户端计算设备102可与在NCC POP142执行的远程浏览会话平行地处理请求的内容。例如,当在客户端计算设备102执行的本地浏览会话处理请求的内容时,在NCC POP142执行的远程浏览会话可基本上同时处理相同的内容。一旦NCC POP142对内容执行了处理动作集以生成处理结果(例如,如由确定的远程会话浏览配置所指定),NCC POP142就可把处理结果提供到客户端计算设备102。
为了说明的目的,客户端计算设备102可能需要比在NCC POP142上运行的浏览会话实例更长的加载时间来获得并处理请求的网络资源。例如,由于NCC POP142在网络上的位置和比起NCC POP142的本地客户端计算设备的相对处理能力,所以NCC POP142可快速获得并处理内容。即使NCC POP142向客户端计算设备102提供了所有请求的网络内容,客户端计算设备102仍可在本地浏览会话完全完成处理请求的资源之前从NCC POP142获得处理结果。客户端计算设备102可在完成本地处理和内容的显示之前完成任何额外的处理步骤并显示获得的处理结果。说明性地,这可允许客户端计算设备 102利用NCC POP142的相对于传统本地浏览会话较快速的内容加载时间。在本地浏览会话完成处理所有请求的资源之前,浏览器可如下文图5和11中所描述在本地和/或远程地处理任何用户交互。
一旦本地浏览会话完全获得并处理对应于请求的内容的资源,计算设备102就可确定是继续显示使用确定的远程会话浏览配置从NCC POP142获得的结果(且在NCC POP142处理用户交互)还是切换到在本地处理用户交互。切换到在本地处理用户交互可包括用请求的资源的本地显示来代替基于从NCC POP142获得的处理结果的请求的资源的显示表示。例如,浏览器可显示对应于来自NCC POP142的处理结果的网页的表示(例如,代表呈现的页面的RDP显示信息),直到浏览器完成在本地处理并呈现网页为止。浏览器然后可用网页的在本地呈现的表示来代替来自NCC POP142的表示。说明性地,用一个表示来代替另一表示对于用户可能是透明的。例如,网页的本地和NCC POP142表示可能相同或大致相同。在一个实施方案中,当显示网页的NCC POP142表示时,浏览器可把与显示的页面的各种用户交互发送到NCC POP142进行处理。当显示网页的在本地呈现的版本时,可在浏览器在本地处理用户交互。说明性地,确定显示请求的资源的哪个表示(例如,本地或来自NCC POP142)可基于参照上文确定远程会话浏览协议描述的所述因素中的任何因素。
在一个实施方案中,客户端计算设备102可在完全加载本地资源之后就切换到在本地处理用户交互。说明性地,在NCC POP142上运行的远程浏览会话实例可在切换到本地处理之后终止,或者远程浏览会话实例可被保持作为备份以用于本地浏览会话的无应答或失败。例如,客户端计算设备102可在本地处理用户交互,以及根据选择的远程会话浏览配置把远程用户交互数据发送到NCC POP142。远程用户交互数据可被NCC POP142用来保持远程浏览会话实例完全与在客户端计算设备102由浏览器执行的本地浏览过程平行。只要本地浏览会话继续处理用户交互,NCC POP142就可避免发送更新的处理结果,或者可发送客户端计算设备102忽略的更新的处理结果。如果在 客户端计算设备102的本地浏览会话出现了问题,那么更新的处理结果可被从NCC POP142提供到客户端计算设备102以代替本地浏览会话进行处理和显示。说明性地,这个从本地浏览会话切换到远程处理对于用户可能是透明的。在一些实施方案中,客户端计算设备102可基于本地浏览器的无应答或失败之外的因素而从本地浏览会话切换到远程浏览会话实例。例如,客户端计算设备102或网络计算和存储组件107可基于相对于上文确定远程会话浏览协议列举的因素中的任何因素在远程和本地浏览会话之间选择。
在另一实施方案中,客户端计算设备102即使在本地浏览会话已完全加载请求的内容之后也可继续处理并显示来自NCC POP142的更新的处理结果。客户端计算设备102可终止本地浏览会话或在上文提供的实例相反的实例中可平行运行本地浏览会话作为备份过程。应理解,虽然本文为了说明的目的把本地浏览会话描述为比远程浏览会话实例加载得慢,但是在一些实施方案中,本地浏览会话可比远程浏览会话加载内容更快,在这种情况下,浏览器可在本地处理用户交互直到远程浏览过程已完全加载了请求的内容为止。在一些实施方案中,客户端计算设备102可通过首先加载请求的内容的无论本地还是远程浏览会话来显示并处理用户交互。
在各种其它实施方案中,作为实例化本地浏览会话的补充或替代,网络计算和存储提供商107可实例化多个远程浏览会话实例来平行运行。说明性地,这些平行浏览会话实例可使用任何相同或不同的远程会话浏览协议,且可用上文相对于本地浏览会话描述的方式充当备份,或者可作为替代来使用并切换以最大化在客户端计算设备102上的浏览器性能。例如,响应于一个或多个浏览会话请求,网络计算和存储提供商107可实例化在第一NCC POP上运行并使用RDP协议的浏览会话实例以及在第二NCC POP上运行并使用X-窗口协议的浏览会话实例。客户端计算设备102或网络计算和存储提供商107可基于上文相对于确定远程会话浏览协议描述的性能或资源使用情况考虑来确定应使用哪个浏览会话实例和协议。
继续参看图9,在框918,网络计算和存储提供商107可根据确定的远程会话浏览配置来处理包括一个或多个请求的网络资源和嵌入式网络资源的获得的内容,以生成初始处理结果。在框920,网络计算和存储提供商107可把初始处理结果提供给客户端以进行进一步处理并在浏览器的内容显示区进行显示。为达进一步举例的目的,下文参看图10描述了客户端计算设备102实施的说明性客户端新的浏览会话交互程序1000。在框922,开始的新的浏览会话程序900结束。
图10是说明客户端计算设备102实施的客户端新的浏览会话交互程序1000的流程图。响应于使客户端计算设备102加载浏览器以查看网络内容的事件或用户请求,新的浏览会话交互程序1000在框1002开始。在框1004,客户端计算设备在本地加载浏览器的管理组件,包括所有本地接口组件。如上文参看图5和7所描述,本地接口组件可包括工具栏、菜单、按钮或软件浏览器应用管理并控制的其它用户接口控制或在客户端计算设备在本地执行或实施的任何其它过程。在框1006,客户端计算设备102把新的浏览会话实例的请求提供到网络计算和存储提供商107。从客户端计算设备的用户的观点看来,新的浏览会话的请求对应于把请求传送到一个或多个对应的内容提供商104的预期的请求。在其它实施方案中,新的会话请求可对应于加载文件或其它文档的请求(例如,把所有图像加载到照片编辑应用的请求等)。说明性地,请求可作为浏览器加载(例如,对默认或“主页”页面的请求)的结果而自动生成,或可作为用户跟踪链接或把网络地址输入地址栏的结果而生成。如参看图2示出,浏览会话请求首先被传送到网络计算和存储提供商107。在说明性实施方案中,网络计算和存储提供商107使用注册API以从客户端计算设备102接受浏览会话请求。
浏览会话请求可包括任何数量的数据或信息片,包括但不限于,与用户相关的信息、与客户端计算设备102或客户端计算设备上的软件相关的信息(例如,硬件或软件信息、设备物理或逻辑位置等)、 与网络108、用户或浏览器偏好相关的信息(例如,请求的远程会话浏览协议、偏好列表、决策树或其它信息)、与网络计算和存储提供商107相关的信息、与一个或多个请求的网络内容片相关的信息(例如,网络资源的网络地址)等。例如,来自客户端计算设备102的浏览会话请求可包括识别特定客户端计算设备硬件规格或硬件性能水平的信息、与最新的内容请求相关的延迟和带宽数据、处理不同类型的内容所需的安全级别、远程会话浏览协议的预定偏好列表,和对应于请求的网络资源的一个或多个网络地址等。在另一实例中,浏览会话请求可包括识别客户端计算设备102屏幕分辨率、宽高比的信息,或者浏览会话请求中的浏览器显示区可允许网络计算和存储提供商107定制网络内容的处理以在客户端计算设备上显示。如之前所描述,浏览会话请求可包括对应于请求的网络资源的可呈任何形式的网络地址信息,包括但不限于,互联网协议(“IP”)地址、URL、媒体访问控制(“MAC”)地址等。在一个实施方案中,新的浏览会话实例的请求可对应于在上文图9的框904接收新的浏览会话实例的请求的网络计算和存储提供商。
在框1008,客户端计算设备102从网络计算和存储提供商107获得初始处理结果。说明性地,初始处理结果中包括的格式和数据可基于网络计算和存储提供商107选择的远程会话浏览配置而改变。在一个实施方案中,初始处理结果可包括通知客户端计算设备102远程会话浏览配置的选择且/或通过对应于选择的远程会话浏览配置的远程会话通信协议建立连接的数据或在所述数据之后。如上文参看图8和9所讨论,获得的初始处理结果可包括具有由网络计算和存储提供商107执行的一个或多个处理动作的请求的内容。在获得初始处理结果之后,在框1010,客户端计算设备102可对初始处理结果执行任何剩余的处理动作。
在框1012,客户端计算设备102显示对应于处理的初始处理结果的内容。例如,客户端计算设备102可在如上文图7描述的浏览器700的内容显示区702中显示处理的客户端。在一个实施方案中,处 理结果只可包括对应于浏览器显示的内容的显示数据,且可能不包括对应于例如在NCC POP142的浏览器实例的接口控制的显示数据、对应于浏览会话的虚拟机实例的桌面,或NCC POP142的任何其它用户接口。例如,NCC POP142可处理网页和相关内容以通过在NCC POP142的虚拟机实例中运行的浏览器实例中的RDP进行显示。浏览器实例除了显示的网页之外还可具有一个或多个界面元素,例如工具栏、菜单、滚动条等。NCC POP142可发送只对应于显示的网页而没有与浏览器相关的界面元素中的任何界面元素的RDP处理结果。说明性地,包括只对应于显示的网页的RDP处理结果可允许在客户端计算实例102的浏览器通过在浏览器的内容显示区组装RDP处理结果来显示网页而不进行任何进一步的处理。在另一实施方案中,RDP处理结果可包括对应于在NCC POP142浏览会话实例显示的全接口的完全虚拟机桌面和浏览器窗口。客户端计算设备可自动识别对应于请求的内容的RDP处理结果的区域,且可只在浏览器的内容显示区显示这个区域。
在框1014,客户端计算设备102处理本地和远程用户交互。下文参看图11提供处理用户交互的说明性程序。在框1016,程序结束。说明性地,网络计算内容提供商107实例化的浏览会话实例可当浏览器窗口或内容显示区关闭时终止,可当远程会话浏览协议被在客户端计算设备102的平行过程代替时终止,或可根据计时器或其它事件终止。说明性地,如果浏览会话由于超时已自动终止但相关内容仍在客户端计算设备102的浏览器中显示,那么用户后来试图与内容交互可把新的浏览会话请求提供到网络计算和存储服务提供商107以根据终止的会话的最后状态来开始新的浏览会话。说明性地,超时之后终止远程浏览会话可允许网络计算存储提供商107在NCC POP节省计算资源。在一个实施方案中,这个过程对于在客户端计算设备102的用户可能是透明的,即使远程浏览会话已在此期间终止。
图11是说明客户端计算设备102实施的过程用户交互程序1100的流程图。响应于用户进行的交互,过程用户交互程序1100在框1102 开始。说明性地,过程用户交互程序1100可在浏览器界面的内容显示区显示内容之后开始。例如,过程用户交互程序1100可对应于上文图10的框1014。
说明性地,显示的内容可具有一个或多个互动元素,例如,形式、按钮、动画等。用户与这些互动元素的交互可能需要在内容显示区处理并显示更新的内容。例如,在网页上下拉菜单中选择元素可能需要进行处理且可改变网页或嵌入式资源的配置或视觉外观。说明性地,用户与显示的内容进行交互所需的处理可取决于使用的远程会话浏览配置而在客户端计算设备102被处理为本地用户交互或者在NCC POP142被处理为远程用户交互。例如,如果远程会话浏览配置使用大量本地处理(例如,通过HTML发送未处理的文件),那么用户与显示的内容的交互可通常在客户端计算设备102被处理为本地用户交互。说明性地,在客户端计算设备102把用户与显示的内容的交互处理为本地用户交互可允许使用简单的用户交互(例如,选择单选按钮,或把文本输入字段)进行较好的响应和较少的延时,因为对应于交互的交互数据不需要被发送到NCC POP142进行处理。
另举一例,如果使用内容的高质量远程处理的远程会话浏览配置(例如,通过RDP发送处理的位图数据)被用作远程会话浏览配置,那么用户与显示的内容的所有交互可被处理为远程用户交互。例如,用户输入(例如,键盘输入和光标位置)可被封装在RDP协议数据单元中并通过网络108传送到NCC POP142进行处理。说明性地,NCC POP142可把用户交互应用到网络内容并把包括更新的位图的处理结果和对应于内容的更新的表示的界面数据传送回客户端计算设备102。说明性地,在NCC POP142把用户与显示的内容的交互处理为远程用户交互可对界面响应具有负面影响,因为需要数据来通过网络进行传递且数据受网络延迟限制;然而,需要大量处理的用户交互被处理为远程用户交互时可执行得更好,因为处理NCC POP142的延迟可能比处理客户端计算设备102的延迟慢得多。
除了用于显示网络内容的内容显示区,浏览器还可具有一个或多个本地接口组件,例如工具栏、菜单、按钮或其它用户接口控制。与本地接口组件的交互可取决于如在说明性图7中进一步描述的交互和远程会话浏览配置所需的处理被处理为本地用户交互或远程用户交互。例如,一些本地接口组件可在本地被在客户端计算设备上运行的浏览器代码管理,而其它本地接口组件可具有一个或多个在本地管理的方面(例如,按钮单击反馈、滚动条重绘等),和处理为远程用户交互的一个或多个远程管理的方面(例如,页面刷新、在地址栏的地址请求页面等)。
在框1104,客户端计算设备102从用户获得用户交互。这个用户交互可为如在图7和上文中描述的与本地接口组件的交互,或可为与在浏览器的内容显示区中显示的内容的例如表单字段、按钮、动画等的任何互动元素的交互。用户与这些本地接口组件或显示的内容的互动元素的交互可取决于如在图7和上文中描述的远程会话浏览配置指定的组件或元素的性质和处理拆分而需要本地和/或远程处理。在框1106,客户端计算设备102确定获得的用户交互的交互处理要求。在确定框1108,如果用户交互具有本地方面(例如,按钮单击反馈、改变到本地浏览器状态、在客户端计算设备处理的内容元素等),那么程序1102进行到框1110以在客户端计算设备102处理用户交互的本地方面然后在框1112更新本地接口组件。说明性地,且如上文所讨论,交互的方面和在本地更新接口组件和元素允许浏览器提供响应的用户界面和内容。在处理用户交互的本地方面之后,或如果用户交互不具有本地元素(例如,当在服务器侧完全使用远程会话浏览配置处理且使用RDP远程会话通信协议时,用户与内容显示区中显示的内容元素的交互),那么程序1102进行到确定框1114。如果用户交互具有需要处理的远程方面,那么程序1102进行到框1116并把远程用户交互数据提供到网络计算和存储提供商107。说明性地,在使用RDP远程会话通信协议的高质量的服务器侧远程会话浏览配置的情况下,远程用户交互数据可包括封装在一个或多个RDP协议 数据单元中的例如光标位置或键盘输入的输入数据。在使用RDP或其它远程会话通信协议的远程会话浏览配置的一些实施方案中,例如光标位置的远程用户交互数据的特定方面可被连续提供到网络计算和存储提供商107,而在远程会话浏览配置的其它实施方案中,当与需要远程处理的用户交互相关时,远程用户交互数据只可被提供到网络计算和存储提供商107。
在框1118,客户端计算设备102从网络计算和存储提供商107获得更新的处理结果,其中网络计算和存储提供商107已处理了远程用户交互数据来生成内容的更新的表示。在框1120,客户端计算设备102对更新的处理结果执行所需的任何额外的处理(基于远程会话浏览配置),且在框1122,在浏览器的内容显示区显示更新的处理结果。在框1124,过程用户交互程序1102结束。说明性地,程序可响应于用户与浏览器和显示的内容的进一步交互而再执行任意次。
本发明的实施方案可由以下非限制性条款来定义:
条款1.一种用于访问内容的计算机实施的方法,其包括:
网络计算和存储提供商从客户端计算设备上的浏览器实例获得内容的请求,其中所述请求的内容包括参考一个或多个嵌入式资源的网络资源,其中所述客户端计算设备上的所述浏览器实例包括一个或多个本地界面组件和用于显示由所述网络计算和存储提供商提供的内容的内容显示区域,且其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制;
所述网络计算和存储提供商从一个或多个内容提供商获得所述网络资源和所述一个或多个嵌入式资源;
所述网络计算和存储提供商处理所述网络资源和所述一个或多个嵌入式资源,以生成处理结果来用于在实例化的浏览器应用上生成所述请求的内容的表示;
所述网络计算和存储提供商根据浏览器协议配置把所述处理结果传送到所述客户端计算设备上的所述浏览器实例,其中所述浏览器协议配置识别至少一个基于显示器的通信协议,且其中所述客户端计算设备使得所述请求的内容的所述表示在所述客户端计算设备上的所述浏览器实例的所述内容显示区域中显示;
所述网络计算和存储提供商根据所述浏览器协议配置从所述客户端计算设备上的所述浏览器实例获得交互数据,所述交互数据基于用户与在所述内容显示区域中显示的所述请求的内容的所述表示的交互,其中所述交互数据不包括用户与所述一个或多个本地界面组件的交互;
所述网络计算和存储提供商生成更新的处理结果以用于生成所述请求的内容的更新表示,其中所述更新的处理结果是基于所述请求的内容和所述交互数据由所述网络计算和存储提供商生成;和
所述网络计算和存储提供商根据所述浏览器协议配置把所述更新的处理结果传送到所述客户端计算设备上的所述浏览器实例,其中所述客户端计算设备使得所述请求的内容的所述更新表示在所述客户端计算设备上的所述浏览器实例的所述内容显示区域中显示。
条款2.如条款1所述的计算机实施的方法,其中所述请求的内容可用多个处理动作来处理。
条款3.如条款2所述的计算机实施的方法,其中所有所述多个处理动作是在所述网络计算和存储提供商处执行的。
条款4.如条款1所述的计算机实施的方法,其中所述处理结果不包括与所述客户端计算设备上的所述浏览器实例相关的本地界面组件的表示。
条款5.如条款1所述的计算机实施的方法,其中所述基于显示器的通信协议包括选择远程桌面显示协议和虚拟网络计算桌面协议 中的至少一个。
条款6.一种用于访问内容的系统,其包括:
一个或多个计算机处理器;
至少一个计算机存储器,其可由所述一个或多个计算机处理器中的至少一个访问;和
在网络计算组件上实例化的基于网络的应用,所述基于网络的应用包括所述一个或多个计算机处理器执行的可执行软件模块,其中所述基于网络的应用可操作以:
从在客户端计算设备上实例化的应用获得网络内容的请求,其中在所述客户端计算设备上实例化的所述应用包括用于获得本地用户交互的一个或多个本地界面组件和用于显示内容的内容显示区域;和
根据显示协议配置把处理结果传送到在所述客户端计算设备上实例化的所述应用,其中所述显示协议配置识别至少一个基于显示器的通信协议,其中所述处理结果对应于处理所述请求的网络内容以用于生成所述请求的内容的表示,且其中所述客户端计算设备使得所述请求的网络内容的所述表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。
条款7.如条款6所述的系统,其中在所述网络计算组件上实例化的所述基于网络的应用还可操作以:
从在所述客户端计算设备上实例化的所述应用获得交互数据,所述交互数据基于用户与在所述内容显示区域中显示的所述请求的网络内容的所述表示的交互,其中所述交互数据不包括基于用户与所述一个或多个本地界面组件的交互的本地用户交互;和
根据所述显示协议配置把更新的处理结果传送到在所述客户端计算设备上实例化的所述应用,以用于生成所述请求的网络内容的更新表示,其中所述客户端计算设备使得所述请求的网络内容的所述更新表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。
条款8.如条款7所述的系统,其中在网络计算组件上实例化的所述基于网络的应用还可操作以生成所述更新的处理结果以用于生成所述请求的网络内容的更新表示,且其中所述更新的处理结果是基于所述请求的网络内容和所述交互数据由所述网络计算组件生成。
条款9.如条款6所述的系统,其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制。
条款10.如条款6所述的系统,其中在网络计算组件上实例化的所述基于网络的应用还可操作以生成所述处理结果来用于生成所述请求的网络内容的表示。
条款11.如条款6所述的系统,其中所述请求的网络内容包括参考一个或多个嵌入式资源的网络资源。
条款12.如条款6所述的系统,其中所述请求的网络内容可用多个处理动作来处理。
条款13.如条款12所述的系统,其中所有所述多个处理动作是在所述网络计算组件处执行的。
条款14.如条款6所述的系统,其中在所述网络计算组件上实例化的所述基于网络的应用对应于在虚拟机实例上执行的应用,其中所述虚拟机实例是响应于从在客户端计算设备上实例化的所述应用获得的所述网络内容的请求而被实例化的。
条款15.一种用于访问内容的计算机实施的方法,其包括:
在网络计算组件上实例化的基于网络的应用从在客户端计算设备上实例化的应用获得网络内容的请求,其中在所述客户端计算设备上实例化的所述应用包括用于获得本地用户交互的一个或多个本地界面组件和用于显示内容的内容显示区域;和
在所述网络计算组件上实例化的所述基于网络的应用根据显示协议配置把处理结果传送到在所述客户端计算设备上实例化的所述应用,其中所述显示协议配置识别至少一个基于显示器的通信协议,其中所述处理结果对应于处理所述请求的网络内容以用于生成所述请求的网络内容的表示,且其中所述客户端计算设备使得所述请求的网络内容的表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。
条款16.如条款15所述的方法,其还包括:
在所述网络计算组件上实例化的所述基于网络的应用从在所述客户端计算设备上实例化的所述应用获得交互数据,所述交互数据基于用户与在所述内容显示区域中显示的所述请求的网络内容的所述表示的交互,其中所述交互数据不包括基于用户与所述一个或多个本地界面组件的交互的本地用户交互;和
在所述网络计算组件上实例化的所述基于网络的应用根据所述显示协议配置把更新的处理结果传送到在所述客户端计算设备上实例化的所述应用,以用于生成所述请求的网络内容的更新表示,其中所述客户端计算设备使得所述请求的网络内容的所述更新表示在所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。
条款17.如条款16所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用生成所述更新的处理结果,以用于生成所述请求的内容的更新表示,其中所述更新的处理结果是基于所 述请求的内容和所述交互数据由所述网络计算组件生成。
条款18.如条款16所述的方法,其中所述交互数据基于用户与所述请求的网络内容的所述表示的交互。
条款19.如条款16所述的方法,其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制。
条款20.如条款15所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用生成处理结果,以用于生成所述请求的网络内容的表示。
条款21.如条款15所述的方法,其中所述请求的网络内容包括参考一个或多个嵌入式资源的网络资源。
条款22.如条款15所述的方法,其中所述请求的网络内容可用多个处理动作来处理。
条款23.如条款22所述的方法,其还包括:在所述网络计算组件上实例化的所述基于网络的应用执行所述多个处理动作。
条款24.如条款15所述的方法,其中在所述网络计算组件上实例化的所述基于网络的应用对应于在虚拟机实例上执行的应用,其中所述虚拟机实例是响应于从在所述客户端计算设备上实例化的所述应用获得的所述网络内容的请求而实例化的。
条款25.一种用于远程会话浏览的计算机实施的方法,其包括:
在客户端计算设备处初始化软件浏览器实例,其中所述软件浏览器实例包括一个或多个本地界面组件和内容显示区域,且其中所述一个或多个本地界面组件包括在所述客户端计算设备本地执行的软件过程控制的用户界面控制;
所述客户端计算设备把内容的请求提供到网络计算和存储提供商,所述内容包括参考一个或多个嵌入式资源的网络资源,其中所述网络计算和存储提供商被配置以从一个或多个内容提供商获得所述网络资源和所述一个或多个嵌入式资源,且其中所述网络计算和存储提供商还被配置以处理所述网络资源和所述一个或多个嵌入式资源来生成包括对应于所述请求的内容的表示的显示数据的处理结果;
所述客户端计算设备根据浏览器协议配置从所述网络计算和存储提供商获得所述处理结果,其中所述浏览器协议配置识别至少一个基于显示器的通信协议;
所述客户端计算设备使得所述请求的内容的所述表示在所述软件浏览器实例的所述内容显示区域中显示;
所述客户端计算设备获得本地用户交互数据,所述本地用户交互数据基于用户与本地界面组件的交互;
所述客户端计算设备处理所述客户端计算设备处的所述本地用户交互数据;
所述客户端计算设备获得远程用户交互数据,所述远程用户交互数据基于用户与在所述内容显示区域中显示的所述请求的内容的所述表示的交互;
所述客户端计算设备根据所述浏览器协议配置把对应于所述远程用户交互数据的交互数据提供到所述网络计算和存储提供商;
所述客户端计算设备根据所述浏览器协议配置从所述网络计算和存储提供商获得更新的处理结果,其中所述更新的处理结果对应于所述请求的内容的更新表示,且其中所述更新的处理结果是基于所述请求的内容和所述交互数据由所述网络计算和存储提供商生成;和
所述客户端计算设备使得所述请求的内容的所述更新表示在所 述软件浏览器实例的所述内容显示区域中显示。
条款26.如条款25所述的计算机实施的方法,其中所述请求的内容可用多个处理动作来处理。
条款27.如条款26所述的计算机实施的方法,其中所有所述多个处理动作是在所述网络计算和存储提供商处执行的。
条款28.如条款25所述的计算机实施的方法,其中所述浏览器协议配置包括选择远程桌面协议和虚拟网络计算协议中的至少一个。
条款29.一种用于远程会话浏览的系统,其包括:
一个或多个计算机处理器;
至少一个计算机存储器,其可由所述一个或多个计算机处理器中的至少一个访问;和
浏览器组件,其包括由所述一个或多个计算机处理器执行的可执行软件模块,其中所述浏览器可操作以:
把网络内容的请求提供到网络计算和存储提供商,其中所述网络计算和存储提供商被配置以获得所述网络内容,且其中所述网络计算和存储提供商还被配置以处理所述网络内容来生成对应于所述请求的内容的表示的处理结果;
根据浏览器协议配置从所述网络计算和存储提供商获得所述处理结果,其中所述浏览器协议配置识别至少一个基于显示器的通信协议;
促使所述请求的网络内容的所述表示基于所述处理结果显示;和
根据所述浏览器协议配置从所述网络计算和存储提供商获得对应于所述请求的网络内容的更新表示的更新的处理结果,其中所述更 新的处理结果是基于从所述浏览器组件获得的所述请求的网络内容和交互数据由所述网络计算和存储提供商生成。
条款30.如条款29所述的系统,其中所述浏览器组件还可操作以促使所述请求的网络内容的所述更新表示基于所述更新的处理结果显示。
条款31.如条款29所述的系统,其中所述交互数据基于用户与所述请求的网络内容的所述表示的交互。
条款32.如条款29所述的系统,其中所述浏览器组件包括一个或多个本地界面组件。
条款33.如条款29所述的系统,其中所述浏览器组件还可操作以:
把交互数据提供到所述网络计算和存储提供商,其中所述交互数据根据所述浏览器协议配置而基于用户与所述浏览器组件的本地界面组件的交互;和
基于所述用户交互更新所述浏览器的所述本地界面组件,其中对所述本地界面组件的所述更新由所述浏览器组件来本地处理。
条款34.如条款29所述的系统,其中所述请求的网络内容包括参考一个或多个嵌入式资源的网络资源。
条款35.如条款29所述的系统,其中所述请求的网络内容可用多个处理动作来处理。
条款36.如条款35所述的系统,其中所有所述多个处理动作是在所述网络计算和存储提供商处执行的。
条款37.如条款29所述的系统,其中所述处理结果基于由在所述网络计算和存储提供商处执行的基于网络的浏览器实例处理的所 述请求的网络内容而生成。
条款38.如条款37所述的系统,其中所述处理结果不包括与所述基于网络的浏览器实例相关的本地界面组件的表示。
条款39.一种用于远程会话浏览的计算机实施的方法,其包括:
客户端计算设备把网络内容的请求提供到网络计算和存储提供商,其中所述网络计算和存储提供商配置以获得所述网络内容并处理所述网络内容来生成对应于所述网络内容的表示的处理结果;
所述客户端计算设备根据浏览器协议配置从所述网络计算和存储提供商获得所述处理结果,其中所述浏览器协议配置识别至少一个基于显示器的通信协议;
所述客户端计算设备促使所述网络内容的所述表示在所述客户端计算设备处执行的浏览器中基于所述处理结果显示;
所述客户端计算设备根据所述浏览器协议配置把交互数据提供到所述网络计算和存储提供商;
所述客户端计算设备根据所述浏览器协议配置从所述网络计算和存储提供商获得更新的处理结果,其中所述更新的处理结果对应于所述网络内容的更新表示;和
所述客户端计算设备促使所述网络内容的所述更新表示在所述浏览器中基于所述更新的处理结果显示。
条款40.如条款39所述的计算机实施的方法,其中所述交互数据基于用户与所述网络内容的所述表示的交互。
条款41.如条款39所述的计算机实施的方法,其中所述浏览器包括一个或多个本地界面组件。
条款42.如条款41所述的计算机实施的方法,其还包括:
把交互数据提供到所述网络计算和存储提供商,其中所述交互数据基于用户与所述浏览器的本地界面组件的交互;和
基于所述用户交互更新所述浏览器的所述本地界面组件,其中对所述本地界面组件的所述更新由所述浏览器来本地处理。
条款43.如条款39所述的计算机实施的方法,其中所述网络内容可用多个处理动作来处理。
条款44.如条款43所述的计算机实施的方法,其中所有所述多个处理动作是在所述网络计算和存储提供商处执行的。
条款45.如条款39所述的计算机实施的方法,其中所述处理结果由在所述网络计算和存储提供商处执行的基于网络的浏览器实例生成。
条款46.一种其上编码有用于管理远程会话浏览的指令的非暂时性计算机可读介质,其中当被计算装置执行时,所述指令促使所述计算装置:
把网络内容的请求提供到网络计算和存储提供商,其中所述网络计算和存储提供商被配置以获得所述网络内容并处理所述网络内容来生成对应于所述网络内容的表示的处理结果;
根据识别至少一个基于显示器的通信协议的浏览器协议配置从所述网络计算和存储提供商获得所述处理结果;
促使所述网络内容的所述表示在所述计算装置处执行的浏览器中基于所述处理结果显示;
根据所述浏览器协议配置把交互数据提供到所述网络计算和存储提供商;
根据所述浏览器协议配置从所述网络计算和存储提供商获得更新的处理结果,其中所述更新的处理结果对应于所述网络内容的更新表示;和
促使所述网络内容的所述更新表示在所述浏览器中基于所述更新的处理结果显示。
条款47.如条款46所述的非暂时性计算机可读介质,其中所述交互数据基于用户与所述请求的网络内容的所述表示的交互。
条款48.如条款46所述的非暂时性计算机可读介质,其中所述浏览器组件包括一个或多个本地界面组件。
条款49.如条款48所述的非暂时性计算机可读介质,其中所述指令促使所述计算装置以:
把交互数据提供到所述网络计算和存储提供商,其中所述交互数据基于用户与所述浏览器组件的本地界面组件的交互;和
基于所述用户交互更新所述浏览器的所述本地界面组件,其中对所述本地界面组件的所述更新由所述浏览器组件本地处理。
条款50.如条款46所述的非暂时性计算机可读介质,其中所述请求的网络内容包括参考一个或多个嵌入式资源的网络资源。
条款51.如条款46所述的非暂时性计算机可读介质,其中所述请求的网络内容可用多个处理动作来处理。
条款52.如条款51所述的非暂时性计算机可读介质,其中所有所述多个处理动作是在所述网络计算和存储提供商处执行的。
条款53.如条款46所述的非暂时性计算机可读介质,其中所述处理结果基于由在所述网络计算和存储提供商处执行的基于网络的浏览器实例处理的所述请求的网络内容而生成。
条款54.如条款53所述的非暂时性计算机可读介质,其中所述处理结果不包括与所述基于网络的浏览器实例相关的本地界面组件的表示。
虽然已公开并讨论了说明性实施方案,相关领域技术人员应理解,可在本发明的精神和范围内实施另外或替代性实施方案。例如,本文描述的技术可在不脱离本发明的范围的情况下用以允许远程处理任何数量的其它软件应用和过程的管理,包括但不限于,图像或视频编辑软件、数据库软件、office办公软件、三维设计软件、音频和声音处理应用等。另外,虽然许多实施方案已指示为说明性的,但是相关领域的技术人员应理解,说明性实施方案不需要进行组合或一起实施。因此,一些说明性实施方案不需要根据本发明的变化的范围来使用或实施。
除非特别声明或在所使用的上下文中进行理解,否则条件性语言(诸如,“可”(can,could,might))一般旨在传达某些实施方案包括,而其它实施方案不包括某些特征、元素和/或步骤。因此,所述条件性语言一般不旨在暗示特征、元素和/或步骤无论如何是一个或多个实施方案所需要的,或者一个或多个实施方案在有或没有用户输入或提示的情况下都必需包括用于确定的逻辑,而不管这些特征、元素和/或步骤是否包括在任何特定实施方案中或将在任何特定实施方案中执行。
本文描述且/或在附图中描述的流程图中的任何过程描述、元素或框应理解为可能代表包括用于实施过程中的特定逻辑功能或步骤的一个或多个可执行指令的模块、段,或代码部分。替代性实施包括在本文描述的实施方案的范围内,其中如本领域的技术人员应理解,元素或功能可被删除、用示出或讨论的顺序以外的顺序来执行,包括基本上同时或以相反的顺序,这取决于所涉及的功能。还应理解,上述数据和/或组件可使用与存储计算机可执行组件(诸如,CD-ROM、DVD-ROM或网络界面)的计算机可读介质相关的驱动机制存储在计 算机可读介质上且装入计算设备的存储器。另外,组件和/或数据可包括在单个设备中或以任何方式分布。因此,通用计算设备可被配置以用上述各种数据和/或组件的处理和/或执行来实施本发明的过程、算法和方法。
应强调,可对上述实施方案进行许多变化和修改,所述变化和修改的元素应理解为其它可接受的实例。本文中所有所述修改和变化旨在包括在本发明的范围内且由以下权利要求书保护。

远程浏览会话管理.pdf_第1页
第1页 / 共41页
远程浏览会话管理.pdf_第2页
第2页 / 共41页
远程浏览会话管理.pdf_第3页
第3页 / 共41页
点击查看更多>>
资源描述

《远程浏览会话管理.pdf》由会员分享,可在线阅读,更多相关《远程浏览会话管理.pdf(41页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103782294 A (43)申请公布日 2014.05.07 CN 103782294 A (21)申请号 201280041768.2 (22)申请日 2012.06.28 13/174,601 2011.06.30 US 13/174,615 2011.06.30 US G06F 17/30(2006.01) (71)申请人 亚马逊技术有限公司 地址 美国内华达州 (72)发明人 马修L特拉汉 乔纳森A简金斯 布莱特R泰勒 亚当J奥弗顿 (74)专利代理机构 中科专利商标代理有限责任 公司 11021 代理人 穆童 (54) 发明名称 远程浏览会话管理 (57。

2、) 摘要 一种远程浏览过程针对远程浏览会话在网络 计算和存储提供商上的生成和管理。客户端计算 设备在网络计算和存储提供商上请求远程浏览会 话实例。所述浏览会话实例可对应于一个或多个 请求的网络资源。所述网络计算和存储提供商实 例化所述浏览会话实例并检索所述请求的内容。 所述网络计算和存储提供商处理所述请求的内容 以进行显示, 并根据显示协议配置把对应于所述 请求的内容的处理表示的显示数据提供到所述客 户端计算设备。所述客户端计算设备可在浏览器 中显示所述请求的内容的所述表示, 且可把基于 用户与所述表示的交互的用户交互数据发送到所 述网络计算和存储提供商以进行处理。 (30)优先权数据 (85。

3、)PCT国际申请进入国家阶段日 2014.02.26 (86)PCT国际申请的申请数据 PCT/US2012/044711 2012.06.28 (87)PCT国际申请的公布数据 WO2013/003631 EN 2013.01.03 (51)Int.Cl. 权利要求书 2 页 说明书 27 页 附图 11 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书27页 附图11页 (10)申请公布号 CN 103782294 A CN 103782294 A 1/2 页 2 1. 一种用于访问内容的系统, 其包括 : 一个或多个计算机处理器 ; 至少一个计算机存。

4、储器, 其可由所述一个或多个计算机处理器中的至少一个访问 ; 和 在网络计算组件上实例化的基于网络的应用, 所述基于网络的应用包括由所述一个或 多个计算机处理器执行的可执行软件模块, 其中所述基于网络的应用可操作以 : 从在客户端计算设备上实例化的应用获得网络内容的请求, 其中在所述客户端计算设 备上实例化的所述应用包括用于获得本地用户交互的一个或多个本地界面组件和用于显 示内容的内容显示区域 ; 和 根据显示协议配置把处理结果传送到在所述客户端计算设备上实例化的所述应用, 其 中所述显示协议配置识别至少一个基于显示器的通信协议, 其中所述处理结果对应于处理 所述请求的网络内容以用于生成所述请。

5、求的内容的表示, 且其中所述客户端计算设备促使 所述请求的网络内容的所述表示在所述客户端计算设备上实例化的所述应用的所述内容 显示区域中显示。 2. 如权利要求 1 所述的系统, 其中在所述网络计算组件上实例化的所述基于网络的应 用还可操作以 : 从在所述客户端计算设备上实例化的所述应用获得交互数据, 所述交互数据基于用户 与在所述内容显示区域中显示的所述请求的网络内容的所述表示的交互, 其中所述交互数 据不包括基于用户与所述一个或多个本地界面组件的交互的本地用户交互 ; 和 根据所述显示协议配置把更新的处理结果传送到在所述客户端计算设备上实例化的 所述应用, 以用于生成所述请求的网络内容的更。

6、新表示, 其中所述客户端计算设备促使所 述请求的网络内容的所述更新表示在所述客户端计算设备上实例化的所述应用的所述内 容显示区域中显示。 3. 如权利要求 2 所述的系统, 其中在网络计算组件上实例化的所述基于网络的应用还 可操作以生成所述更新的处理结果以用于生成所述请求的网络内容的更新表示, 且其中所 述更新的处理结果是基于所述请求的网络内容和所述交互数据由所述网络计算组件生成。 4. 如权利要求 1 所述的系统, 其中所述一个或多个本地界面组件包括在所述客户端计 算设备本地执行的软件过程控制的用户界面控制。 5. 如权利要求 1 所述的系统, 其中在网络计算组件上实例化的所述基于网络的应用。

7、还 可操作以生成所述处理结果来用于生成所述请求的网络内容的表示。 6. 如权利要求 1 所述的系统, 其中所述请求的网络内容可用多个处理动作来处理。 7. 如权利要求 6 所述的系统, 其中所有所述多个处理动作是在所述网络计算组件处执 行的。 8. 如权利要求 1 所述的系统, 其中在所述网络计算组件上实例化的所述基于网络的应 用对应于在虚拟机实例上执行的应用, 其中所述虚拟机实例是响应于从在客户端计算设备 上实例化的所述应用获得的所述网络内容的请求而实例化的。 9. 一种用于访问内容的计算机实施的方法, 其包括 : 在网络计算组件上实例化的基于网络的应用从在客户端计算设备上实例化的应用获 得。

8、网络内容的请求, 其中在所述客户端计算设备上实例化的所述应用包括用于获得本地用 户交互的一个或多个本地界面组件和用于显示内容的内容显示区域 ; 和 权 利 要 求 书 CN 103782294 A 2 2/2 页 3 在所述网络计算组件上实例化的所述基于网络的应用根据显示协议配置把处理结果 传送到在所述客户端计算设备上实例化的所述应用, 其中所述显示协议配置识别至少一个 基于显示器的通信协议, 其中所述处理结果对应于处理所述请求的网络内容以用于生成所 述请求的网络内容的表示, 且其中所述客户端计算设备促使所述请求的网络内容的表示在 所述客户端计算设备上实例化的所述应用的所述内容显示区域中显示。。

9、 10. 如权利要求 9 所述的方法, 其还包括 : 在所述网络计算组件上实例化的所述基于网络的应用从在所述客户端计算设备上实 例化的所述应用获得交互数据, 所述交互数据基于用户与在所述内容显示区域中显示的所 述请求的网络内容的所述表示的交互, 其中所述交互数据不包括基于用户与所述一个或多 个本地界面组件的交互的本地用户交互 ; 和 在所述网络计算组件上实例化的所述基于网络的应用根据所述显示协议配置把更新 的处理结果传送到在所述客户端计算设备上实例化的所述应用, 以用于生成所述请求的网 络内容的更新表示, 其中所述客户端计算设备促使所述请求的网络内容的所述更新表示在 所述客户端计算设备上实例化。

10、的所述应用的所述内容显示区域中显示。 11. 如权利要求 10 所述的方法, 其还包括 : 在所述网络计算组件上实例化的所述基于 网络的应用生成所述更新的处理结果, 以用于生成所述请求的内容的更新表示, 其中所述 更新的处理结果是基于所述请求的内容和所述交互数据由所述网络计算组件生成。 12. 如权利要求 10 所述的方法, 其中所述交互数据基于用户与所述请求的网络内容的 所述表示的交互。 13. 如权利要求 10 所述的方法, 其中所述一个或多个本地界面组件包括在所述客户端 计算设备本地执行的软件过程控制的用户界面控制。 14. 如权利要求 9 所述的方法, 其还包括 : 在所述网络计算组件。

11、上实例化的所述基于网 络的应用生成处理结果, 以用于生成所述请求的网络内容的表示。 15. 如权利要求 9 所述的方法, 其中所述请求的网络内容包括参考一个或多个嵌入式 资源的网络资源。 16. 如权利要求 9 所述的方法, 其中所述请求的网络内容可用多个处理动作来处理。 17. 如权利要求 16 所述的方法, 其还包括 : 在所述网络计算组件上实例化的所述基于 网络的应用执行所述多个处理动作。 18. 如权利要求 9 所述的方法, 其中在所述网络计算组件上实例化的所述基于网络的 应用对应于在虚拟机实例上执行的应用, 其中所述虚拟机实例是响应于从在所述客户端计 算设备上实例化的所述应用获得的所。

12、述网络内容的请求而实例化的。 权 利 要 求 书 CN 103782294 A 3 1/27 页 4 远程浏览会话管理 0001 发明背景 0002 一般描述, 计算设备和通信网络可用以交换信息。 在常见应用中, 计算设备可通过 通信网络从另一计算设备请求内容。例如, 个人计算设备处的用户可利用软件浏览器应用 ( 通常被称为浏览器软件应用 ) 来通过互联网从服务器计算设备请求网页。在这样的实施 方案中, 用户计算设备可被称为客户端计算设备且服务器计算设备可被称为内容提供商。 0003 参看说明性实例, 请求的网页或原始内容可与将用网页显示的许多额外资源 ( 诸 如, 图像或视频 ) 相关。在一。

13、个特定实施方案中, 网页的额外资源由例如统一资源定位符 (“URL” ) 的许多嵌入式资源识别符识别。反过来, 例如浏览器软件应用的客户端计算设备 上的软件通常处理嵌入式资源识别符以生成内容的请求。 因此, 为了满足内容请求, 一个或 多个内容提供商将通常向客户端计算设备提供与网页相关的数据以及与嵌入式资源相关 的数据。 0004 一旦客户端计算设备获得网页和相关的额外资源, 内容可在许多阶段被软件浏览 器应用或其他客户端计算设备界面处理。例如且参看以上说明, 软件浏览器应用可分析网 页以处理各种 HTML 布局信息和对相关资源的参考, 可识别并处理层叠样式表 (“CSS” ) 信 息, 可处。

14、理并实例化与网页相关的各种 Javascript 代码, 可构建本机对象模型以代表网页 的一个或多个组件, 且可计算各种布局并显示经处理内容的特性以向用户演示。 0005 从利用客户端计算设备的用户的观点看来, 用户体验可根据与以下相关的性能和 延迟来定义 : 通过通信网络获得网络内容, 例如获得网页 ; 处理嵌入式资源识别符 ; 生成请 求以获得嵌入式资源 ; 和在客户端计算设备上呈现内容。上述过程的任一个的延迟和性能 限制可减小用户体验。另外, 延迟和低效率可能在有限资源 ( 诸如处理能力、 内存或网络连 接 ) 的计算设备 ( 诸如, 上网本、 平板计算机、 智能手机等 ) 上尤其明显。。

15、 0006 附图简述 0007 由于通过参考结合附图进行的以下详细描述可更好地理解本发明的上述方面和 许多伴随的优势, 所以所述方面和优势将变得更容易理解, 在附图中 : 0008 图 1 是说明包括许多客户端计算设备、 内容提供商、 内容传递网络服务提供商和 网络计算及存储提供商的内容传递环境的框图 ; 0009 图 2 是示出生成并处理从客户端计算设备到网络计算和存储提供商的新的浏览 会话请求的图 1 的内容传递环境的框图 ; 0010 图 3 是示出生成并处理从网络计算和存储提供商到内容提供商的网络资源的请 求的图 1 的内容传递环境的框图 ; 0011 图 4 是示出生成并处理对应于从。

16、网络计算和存储提供商到内容提供商和内容传 递网络的一个或多个嵌入式资源的一个或多个请求的图 1 的内容传递环境的框图 ; 0012 图 5 是示出生成并处理在网络计算和存储提供商与客户端计算设备之间的浏览 会话数据和用户交互数据的图 1 的内容传递环境的框图 ; 0013 图 6 是示出生成并处理从客户端计算设备到网络计算和存储提供商的额外的新 的浏览会话请求的图 1 的内容传递环境的框图 ; 说 明 书 CN 103782294 A 4 2/27 页 5 0014 图 7 是描绘说明性浏览器界面和浏览会话内容的显示的用户界面图 ; 0015 图 8 是描绘作为一系列处理子系统的说明性浏览器内。

17、容处理动作的图 ; 0016 图 9 是说明网络计算和存储提供商实施的新的浏览会话程序的流程图 ; 0017 图 10 是说明客户端计算设备实施的客户端新的浏览会话交互程序的流程图 ; 和 0018 图 11 是说明客户端计算设备实施的过程用户交互程序的流程图。 具体实施方式 0019 一般描述, 本发明针对结合网络计算和存储提供商在客户端计算设备和内容提供 商之间生成并管理远程应用会话。 特别说来, 本公开的方面将关于以下进行描述 : 客户端计 算设备向内容提供商进行浏览会话的请求 ; 在客户端计算设备与网络计算和存储提供商之 间建立远程浏览会话 ; 和在客户端计算设备与网络计算和存储提供商。

18、之间传输浏览会话状 态数据和客户端交互数据。 虽然本发明中描述的实施方案的方面为了说明的目的将集中于 管理远程浏览会话, 但是本领域技术人员应理解, 本文公开的技术可应用于任何数量的软 件过程或应用。 另外, 虽然本发明的各种方面将参照说明性实例和实施方案进行描述, 但是 本领域技术人员应理解, 公开的实施方案和实例不应理解为限制性的。 0020 参看说明性实例, 用户可使客户端计算设备加载用于访问一个或多个内容提供商 提供的内容的软件浏览器应用 ( 以下称为 “浏览器” )。说明性地, 访问的内容可包括一个 或多个网络资源 ( 例如, 网页 )、 嵌入式资源 ( 诸如图像、 视频、 音频、 。

19、文本、 可执行代码 ) 和 其它资源的集合。在一个实施方案中, 除了一个或多个本地接口组件 ( 诸如, 工具栏、 菜单、 按钮或其它用户界面控件 ) 之外, 浏览器可具有用于显示访问的网络内容的内容显示区域 或窗格。本地接口组件可由软件浏览器应用管理且控制, 或由在客户端计算设备处本地执 行或实施的任何其它过程来管理并控制。说明性地, 本地管理用户界面控件可允许响应的 用户界面, 因为用户进行的交互是在客户端计算设备上本地处理的。 0021 在加载浏览器之后, 用户或自动浏览器过程可通过在专用网络或公共网络上与网 络计算和存储提供商建立浏览会话来使客户端计算设备传送请求以访问来自内容提供商 的。

20、内容。浏览会话请求可包括识别请求的内容的一个或多个来源的信息。识别符可呈网 络资源的网络地址的形式, 诸如, 网站或其它网络访问的内容片段。例如, 用户可选择或把 URL( 例如, http : ) 输入浏览器窗口, 从而使客户端计算设备把 新的浏览会话的请求传送到网络计算和存储提供商, 包括选择的URL。 能够提供浏览会话请 求的网络计算和存储提供商的地址或位置可被硬编码到浏览器 ; 可由用户配置 ; 可从网络 地址服务获得 ; 或可用任何其它方式来确定。 0022 在说明性实施方案中, 响应于从客户端计算设备接收的浏览会话请求, 网络计算 和存储提供商可实例化与将托管浏览器软件应用的网络计。

21、算和存储提供商相关的一个或 多个计算组件或具有实例化的一个或多个计算组件。例如, 网络计算和存储提供商可实例 化包括能够从通信网络请求资源的软件浏览器应用的虚拟机的实例, 或具有实例化的虚拟 机的实例。 说明性地, 在一些情况下, 与网络计算和存储提供商相关的一个或多个设备可位 于数据中心或其它鲁棒性地的联网计算环境, 且与客户端计算设备相比, 当获得网络资源 时, 所述设备可经历相对较少的延迟或延时。 0023 使用实例化的网络计算组件, 网络计算和存储提供商可从一个或多个内容提供 说 明 书 CN 103782294 A 5 3/27 页 6 商、 内容传递网络或本地或相关缓存组件请求识别。

22、网络资源。 例如, 实例化的网络计算组件 上的浏览器软件应用可处理主要网络资源, 且接着生成一个或多个嵌入式资源识别符 ( 例 如, 图片、 视频文件等 ) 中识别的内容的额外的内容请求。说明性地, 在其它非浏览器应用 的情况下, 网络资源或内容可包括本领域已知且特定软件应用支持的任何文件类型或格 式。 0024 已获得所请求的内容(例如, 请求的网络资源和嵌入式资源)之后, 网络计算和存 储提供商可识别指定远程会话通信协议的远程会话浏览配置, 该远程会话通信协议用于在 客户端计算设备上执行的浏览器与在计算和存储提供商上的实例化的网络计算组件处执 行的浏览器之间传送请求的内容、 用户交互数据、。

23、 中间处理结果和其它信息。 在实例化的网 络计算组件上的浏览器与客户端计算设备上的浏览器之间交换的信息可通常称为 “浏览器 会话信息” 。 0025 除了指定用于在客户端计算设备和实例化的网络计算组件之间传送信息的远程 会话通信协议之外, 在一个实施方案中, 识别的远程会话浏览配置还可指定将对请求的内 容执行的一个或多个处理动作将在网络计算和存储提供商上执行而不是在客户端计算设 备上执行或在客户端计算设备上执行之外, 还可以在网络计算和存储提供商上执行。为达 说明的目的, 浏览器处理网络内容可包括在内容可用合适的形式在客户端计算设备上呈现 之前进行的各种处理动作。例如, 可分析并处理网页来处理。

24、各种 HTML 布局信息和对相关资 源或嵌入式内容 ( 诸如 CSS 样式表和 Javascript) 以及嵌入的内容对象 ( 诸如图像、 视频、 音频等 ) 的参考。在可构建并进一步处理对应于网页的代表对象模型以进行布局和显示之 前, 可分析并处理每个对象或每段代码。 根据选择的远程会话浏览配置, 客户端计算设备和 实例化的网络计算组件可通过浏览器会话信息 ( 例如, 代表请求的内容的状态数据或显示 数据 ) 来交换处理结果。 0026 图 1 是说明用于管理并处理内容请求的联网计算环境 100 的框图。如图 1 示出, 联网计算环境 100 包括许多客户端计算设备 102( 通常称为客户端。

25、 ), 客户端计算设备 102 用于从内容提供商 104、 CDN 服务提供商 106 或网络计算和存储提供商 107 请求内容和内容 处理。在说明性实施方案中, 客户端计算设备 102 可对应于各种各样的计算设备, 包括个人 计算设备、 膝上型计算设备、 手持计算设备、 终端计算设备、 移动设备 ( 例如, 手机、 平板计 算设备等 )、 无线设备、 各种电子设备和家电等。在说明性实施方案中, 客户端计算设备 102 包括用于通过通信网络108(诸如广域网或局域网)建立通信的必要的硬件和软件组件。 例 如, 客户端计算设备 102 可配备有通过互联网或内联网促进通信的网络设备和浏览器软件 应。

26、用。客户端计算设备 102 可具有各种本地计算资源, 例如, 中央处理单元和架构、 存储器、 大容量存储器、 图形处理单元、 通信网络可用性和带宽等。 0027 联网计算环境 100 也可包括通过通信网络 108 与一个或多个客户端计算设备 102 或其它服务提供商 ( 例如, CDN 服务提供商 106、 网络计算和存储提供商 107 等 ) 通信的内 容提供商 104。图 1 中示出的内容提供商 104 对应于与内容提供商相关的一个或多个计算 设备的逻辑关联。具体来说, 内容提供商 104 可包括对应于用于从客户端计算设备 102 或 其它服务提供商获得并处理内容 ( 例如, 网页 ) 的。

27、请求的一个或多个服务器计算设备的网 络服务器组件 110。内容提供商 104 还可包括对应于用于从 CDN 服务提供商获得并处理网 络资源的请求的一个或多个计算设备的原始服务器组件 112 和相关存储组件 114。内容提 说 明 书 CN 103782294 A 6 4/27 页 7 供商 104 还可包括用于处理流内容请求的应用服务器计算设备 111, 例如, 数据流服务器。 相关领域技术人员应理解, 内容提供商 104 可与各种额外的计算资源相关, 所述计算资源 例如管理内容和资源、 DNS 名称服务器等的额外的计算设备。例如, 虽然图 1 中未示出, 但 是内容提供商 104 可与一个或。

28、多个 DNS 名称服务器组件相关, 所述 DNS 名称服务器组件将 被授权来解析对应于内容提供商的域名的客户端计算设备 DNS 查询。 0028 继续参看图1, 联网计算环境100还可包括通过通信网络108与一个或多个客户端 计算设备 102 和其它服务提供商通信的 CDN 服务提供商 106。图 1 中示出的 CDN 服务提供 商106对应于与CDN服务提供商相关的一个或多个计算设备的逻辑关联。 具体来说, CDN服 务提供商 106 可包括对应于通信网络 108 上的节点的许多存在点 (“POP” ) 位置 116、 122、 128。每个 CDN POP116、 122、 128 都包括。

29、由用于解析来自客户端计算机 102 的 DNS 查询的许 多 DNS 服务器计算设备组成的 DNS 组件 118、 124、 130。每个 CDN POP116、 122、 128 也包括 由许多缓存服务器计算设备组成的资源缓存组件 120、 126、 132, 所述缓存服务器设备用于 存储来自内容提供商的资源并把各种请求的资源传送到各种客户端计算机。DNS 组件 118、 124和130和资源缓存组件120、 126、 132还可包括促进通信的额外软件和或硬件组件, 包 括但不限于, 负载平衡或负载共享软件 / 硬件组件。 0029 在说明性实施方案中, DNS 组件 118、 124、 1。

30、30 和资源缓存组件 120、 126、 132 被认 为是逻辑分组的, 而不管组件或组件的部分是否物理上分开。另外, 虽然 CDN POP116、 122、 128在图1中示出为逻辑上与CDN服务提供商106相关, 但是CDN POP将以最佳地提供客户 端计算设备 102 的各种人口统计的方式来在整个通信网络 108 上地理分布。另外, 相关领 域技术人员应理解, CDN 服务提供商 106 可与各种额外计算资源相关, 例如用于管理内容和 资源的额外计算设备等。 0030 还继续参看图 1, 联网计算环境 100 也可包括通过通信网络 108 与一个或多个客 户端计算设备 102、 CDN 。

31、服务提供商 106 和内容提供商 104 通信的网络计算和存储提供商 107。 图1中示出的网络计算和存储提供商107也对应于与网络计算和存储提供商相关的一 个或多个计算设备的逻辑关联。具体来说, 网络计算和存储提供商 107 可包括对应于通信 网络 108 上的节点的许多存在点 (“POP” ) 位置 134、 142、 148。每个 POP134、 142、 148 都包 括网络计算组件 (NCC)136、 144、 150, 所述网络计算组件用于通过通常称为 NCC 的实例的许 多虚拟机的实例来托管应用 ( 诸如数据流应用 )。相关领域技术人员应理解, NCC136、 144、 150 。

32、可包括物理计算设备资源和软件以提供虚拟机的多个实例或者动态促成虚拟机的实例 的创建。这样的创建可基于例如来自客户端计算设备的特定请求, 或者 NCC 可独自开始动 态创建虚拟机的实例。每个 NCC POP134、 142、 148 也都包括由用于存储用以传递并处理网 络或计算资源的任何类型的数据的许多存储设备组成的存储组件 140、 146、 152, 所述数据 包括但不限于用户数据、 状态信息、 处理要求、 历史使用数据和来自内容提供商的资源, 所 述资源将由 NCC136、 144、 150 的实例处理并传送到各种客户端计算机等。NCC136、 144、 150 和存储组件 140、 14。

33、6、 152 还可包括促进通信的额外软件和或硬件组件, 包括但不限于, 用于选择支持请求的应用且或提供信息到 DNS 名称服务器以促进请求路由的虚拟机的 实例的负载平衡或负载共享软件硬件组件。 0031 在说明性实施方案中, NCC136、 144、 150 和存储组件 140、 146、 152 被认为是逻辑分 组的, 而不管组件或组件的部分是否物理上分开。例如, 网络计算和存储提供商 107 可维护 说 明 书 CN 103782294 A 7 5/27 页 8 单独的 POP 以提供 NCC 和存储组件。另外, 虽然 NCC POP134、 142、 148 在图 1 示出为逻辑上 与网。

34、络计算和存储提供商107相关, 但是NCC POP将以最佳地提供客户端计算设备102的各 种人口统计的方式来在整个通信网络 108 上地理分布。另外, 相关领域的技术人员应理解, 网络计算和存储提供商 107 可与各种额外计算资源相关, 例如用于管理内容和资源的额外 的计算设备等。甚至进一步, 相关领域技术人员应理解, 网络计算和存储提供商 107 的组件 和 CDN 服务提供商 106 的组件可由相同或不同实体来管理。 0032 现参看图 2-6, 将示出图 1 的联网计算环境 100 的各种组件之间的交互。特别说 来, 图 2-6 示出通过网络计算和存储提供商 107 在客户端计算设备 1。

35、02 和内容提供商 104 之间交换内容的联网计算环境 100 的各种组件之间的交互。然而, 为了举例的目的, 已简化 了说明, 使得未示出用以促进通信的许多组件。 相关领域技术人员应理解, 在不脱离本发明 的精神和范围的情况下, 可使用此类组件, 且可相应地发生额外的交互。 0033 参看图 2, 过程可始于生成并处理从客户端计算设备 102 到网络计算和存储提供 商107的浏览会话请求。 说明性地, 客户端计算设备102可加载浏览器以响应于事件或用户 请求查看网络内容。在加载浏览器之后, 浏览器可被实施以请求新的浏览会话。从客户端 计算设备的用户的观点看来, 新的浏览会话的请求对应于把请求。

36、传送到一个或多个对应的 内容提供商 104 的预期的请求。说明性地, 该请求可作为浏览器加载 ( 例如, 对默认或 “主 页” 页面的请求)的结果而自动生成, 或可作为用户跟踪链接或把网络地址输入地址栏的结 果而生成。如图 2 示出, 浏览会话请求首先被传送到网络计算和存储提供商 107。在说明性 实施方案中, 网络计算和存储提供商 107 利用注册应用程序接口 ( “API” ) 以从客户端计算 设备 102 接受浏览会话请求。浏览会话请求可包括对应于请求的网络资源的可呈任何形式 的网络地址信息, 包括但不限于, 互联网协议 (“IP” ) 地址、 URL、 媒体访问控制 (“MAC” ) 。

37、地址等。 0034 在接收到浏览会话请求之后, 网络计算和存储提供商 107 可选择相关的网络计算 组件 ( 以下称为 “NCC” ) 存在点 ( 以下称为 “POP” )( 例如, NCC POP142) 以提供浏览会话 请求。NCC POP 的选择可确定实例化的虚拟机可用的处理和网络资源。在 NCC POP 实例中 的处理和网络资源的选择和软件的提供可至少部分地进行, 以便优化与内容提供商 104 和 客户端计算设备 102 的通信。 0035 参看图3, 将描述生成并处理从网络计算和存储提供商107到内容提供商104的网 络资源的请求的说明性交互。如图 3 示出, 选择的 NCC POP。

38、142 可基于例如以上图 2 描绘的 说明性浏览会话请求的浏览会话请求来生成对应于一个或多个内容提供商的浏览会话。 说 明性地, 实例化新的浏览会话实例可包括在NCC POP142加载新的虚拟机实例和或浏览器 实例 ; 预留或分配设备存储器、 存储或缓存空间、 处理器时间、 网络带宽或新的浏览会话的 其它计算或网络资源。 0036 在初始化新的浏览会话实例之后, NCC POP142 可基于浏览会话请求中包括的网络 地址把网络资源的请求提供到内容提供商 104。例如, 浏览会话请求可包括网页的 URL, 例 如 “http : default.htm” 。NCC POP142 可通过与网络计。

39、算和存储 提供商 ( 未示出 ) 相关的 DNS 解析程序把 URL 解析到 IP 地址, 且可在解析的 IP 地址处从 内容提供商 104 请求网页。在各种实施方案中, 可从内容提供商、 内容传递网络 ( 以下称为 “CDN” ) 服务器或与网络计算和存储提供商 107 相关的缓存的任何组合检索网络资源。例 说 明 书 CN 103782294 A 8 6/27 页 9 如, 网络计算和存储提供商可检查资源是存储在本地缓存中还是存储在与网络计算和存储 提供商 107 相关的另一服务器或服务提供商中。如果网络资源存储在本地或相关位置中, 那么 NCC POP142 可从本地或相关位置而不是从第。

40、三方内容提供商 104 或 CDN 服务提供商 106 检索网络资源。说明性地, NCC POP142 可提供浏览会话请求中包括的任何数量的网络 资源的请求, 且可从任何数量的不同来源顺序地或并行地获得这些网络资源。 0037 如图 3 示出, 内容提供商 104 从 NCC POP142 接收资源请求并相应地处理所述请 求。在一个实施方案中, 内容提供商 104 处理资源请求, 如同所述资源请求最初由客户端计 算设备 102 提供一样。例如, 内容提供商 104 可根据发出请求的客户端计算设备 102 的要 求来选择内容类型、 内容排序或内容版本。在另一实施方案中, 内容提供商 104 可具。

41、有提供 与 NCC POP142 相关的信息以用于提供请求的内容 ( 例如, 处理资源或网络带宽的可用量 ) 的信息。 0038 在从内容提供商104(或内容提供商指定的其它来源)获得请求的网络资源之后, NCC POP142 可处理网络资源以提取嵌入式资源识别符并收集确定远程会话浏览配置的信 息。例如, 网络资源 ( 诸如网页 ) 可包括嵌入式 CSS 样式信息和 Javascript 以及额外资源 ( 例如文本、 图像、 视频、 音频、 动画、 可执行代码和其它 HTML、 CSS 和 Javascript 文件 ) 的 嵌入式资源识别符。在提取嵌入式资源识别符的过程中, NCC POP1。

42、42 可收集关于处理的网 络资源的信息供后来用于对远程会话浏览配置的确定, 如下文参看图 4 讨论。 0039 参看图 4, 公开了生成并处理对应于从网络计算和存储提供商到内容提供商和内 容传递网络的一个或多个嵌入式资源的一个或多个请求的说明性交互。如图 4 示出, 选择 的 NCC POP142 可把资源请求提供到一个或多个内容来源 ( 诸如, 内容提供商 104 和 CDN POP116)。资源请求可对应于基于如上文图 3 描述的从请求的网络资源 ( 例如, 网页 ) 提取 的一个或多个嵌入式资源识别符的嵌入式资源。在各种实施方案中, 可从内容提供商、 CDN 服务器或与网络计算和存储提供。

43、商 107 相关的缓存的任何组合检索嵌入式资源。例如, 网 络计算和存储提供商可检查嵌入式资源是存储在本地缓存中还是存储在与网络计算和存 储提供商 107 相关的另一服务器或服务提供商中。如果嵌入式资源存储在本地或相关位置 中, 那么 NCC POP142 可从本地或相关位置而不是从第三方内容提供商或 CDN 检索嵌入式 资源。说明性地, NCC POP142 可提供网络资源参考的任何数量的嵌入式资源的请求, 且可 从任何数量的不同来源顺序或并行地获得所述嵌入式资源。在获得请求的资源之后, NCC POP142 可处理资源和请求的内容以确定处理和把内容传递到客户端计算设备 102 的远程 会话。

44、浏览配置。 0040 参看图 5, 公开了生成并处理处理结果和在网络计算和存储提供商和客户端计算 设备之间的用户交互数据的说明性交互。 如之前所描述, 在一个实施方案中, 实例化的网络 计算组件和客户端计算设备 102 上的相应浏览器可交换关于在实例化的网络计算组件和 客户端计算设备上分配并处理请求的资源的浏览器的会话信息。如图 5 示出, 选择的 NCC POP142 可通过网络 108 把初始处理结果提供到客户端计算设备 102。初始处理结果可对应 于请求的网络内容 ( 诸如, 网页 ) 以及 NCC POP142 根据如上文图 4 描述的选择的远程会话 浏览配置处理的相关嵌入式资源。NC。

45、C POP142 也对哪些额外的过程将在 NCC POP142、 在客 户端计算设备 102 或两者上进行做出确定。在接收到初始处理结果和过程的分配之后, 客 户端计算设备 102 可对初始处理结果执行如选择的远程会话浏览配置所需的任何剩余的 说 明 书 CN 103782294 A 9 7/27 页 10 处理动作, 且可在浏览器的内容显示区显示完全处理的内容。客户端计算设备 102 可在本 地处理与本地接口组件或内容元素的任何本地用户交互, 且可把需要远程处理的用户交互 提供到网络计算和存储提供商 107。网络计算和存储提供商 107 可响应于来自客户端计算 设备的内容或远程用户交互数据的。

46、变化而把已更新的处理结果提供到客户端计算设备。 0041 参看图 6, 公开了示出生成并处理从客户端计算设备到网络计算和存储提供商的 额外的新的浏览会话请求的图 1 的内容传递环境的框图。如图 6 示出, 第二新的浏览会话 请求可通过网络 108 从客户端计算设备 102 发送到网络计算和存储提供商 107。在说明性 实施方案中, 网络计算和存储提供商 107 利用注册 API 来从客户端计算设备 102 接受浏览 会话请求。 0042 额外的浏览会话请求可由客户端计算设备 102 响应于以下操作而生成 : 用户打开 具有新的内容显示区的新的浏览器窗口、 在现有浏览器窗口打开新的内容显示区 (。

47、 例如, 在浏览器中打开新的标签 )、 在现有内容显示区中请求新的网络内容 ( 例如, 跟踪新的网络 资源的链接或把新的网络地址输入浏览器 ) 或任何其它用户交互。例如, 浏览对应于第一 浏览会话实例的第一网页的用户可跟踪打开新的标签或浏览器窗口的链接以查看第二网 页。在一个实施方案中, 获得并处理与第二网页相关的内容的任何必要步骤可由当前实例 化的网络计算组件来执行, 其中浏览器可处理两个资源请求的处理。 在另一实施方案中, 客 户端计算设备 102 请求可被处理为网络计算和存储提供商 107 的新的浏览会话请求, 包括 第二网页的网络地址。在这个实施方案中, 客户端计算设备上的浏览器可能不。

48、具体请求单 独的浏览会话, 且在客户端计算设备 102 上与浏览器的用户交互可看做是所述浏览会话的 部分。 如上文相对于图2和图3描述, 网络计算和存储提供商107可使用于获得并处理与第 二网页相关的内容的网络计算组件实例化。在其它实施方案中, 新的浏览会话请求可由客 户端计算设备102来生成, 客户端计算设备102对应于网络资源的部分(例如, 网页的帧)、 个别网络资源, 或嵌入式资源自身、 一组内容或个别网络资源中包括的数据对象。 0043 说明性地, 额外的浏览会话请求可包括任何数量的数据或信息片, 包括但不限于, 与用户相关的信息、 与客户端计算设备 102 相关的信息 ( 例如, 硬。

49、件或软件信息、 设备物理 或逻辑位置等)、 与网络108相关的信息、 用户或浏览器偏好(例如, 请求的远程会话浏览协 议、 偏好列表、 决策树或其它信息 )、 与网络计算和存储提供商 107 相关的信息、 与一个或多 个请求的网络内容片相关的信息 ( 例如, 网络资源的网络地址 ) 等。请求的内容可包括任 何方式的数字内容, 包括网页或其它文档、 文本、 图像、 视频、 音频、 可执行的脚本或代码, 或 任何其它类型的数字资源。 0044 在接收到浏览会话请求之后, 网络计算和存储提供商 107 可选择相关的网络计算 组件 ( 诸如 NCC POP142) 以提供浏览会话请求。如上文参看图 2 讨论, 网络计算和存储提 供商 107 可基于任何数量的因素来选择 NCC POP 以提供浏览会话请求, 所述因素包括但不 限于可用 NCC POP 资源 ( 例如, 可用存储器、 处理器负载、 网络负载等 )、 在 NCC POP 提供浏 览会话请求的财务成本、 相对于客户端计算设备 102、 内容提供商 11。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1