《远程浏览会话管理.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。