《托管的服务中的客户端带宽模拟.pdf》由会员分享,可在线阅读,更多相关《托管的服务中的客户端带宽模拟.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104115471 A (43)申请公布日 2014.10.22 CN 104115471 A (21)申请号 201380008950.2 (22)申请日 2013.02.13 13/372,705 2012.02.14 US H04L 29/08(2006.01) (71)申请人 西里克斯系统公司 地址 美国佛罗里达州 (72)发明人 R雅库鲍斯基 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 王茂华 辛鸣 (54) 发明名称 托管的服务中的客户端带宽模拟 (57) 摘要 因特网和内联网上的带宽是高度可变并且不 可靠的两种可使流传输数字媒体内容困。
2、难的属 性。 在虚拟化系统(例如, 虚拟桌面、 远程桌面、 远 程应用等 ) 中, 基于可用于会话主机和会话客户 端的不同带宽尤其是如此。用于在虚拟化系统中 模拟客户端设备的带宽的方法和系统被描述。当 会话主机执行应用 ( 例如, 数字媒体应用 ) 时, 会 话主机可以通过挂钩连接与数字媒体应用相关联 的一个或多个 API 并且对该一个或多个 API 之上 的数据进行节流来模拟会话客户端的带宽, 由此 诱使该应用基于会话客户端的模拟的带宽而非基 于会话主机的带宽来做出带宽确定。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.08.11 (86)PCT国际申请的申请数据 P。
3、CT/US2013/025815 2013.02.13 (87)PCT国际申请的公布数据 WO2013/126245 EN 2013.08.29 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图5页 (10)申请公布号 CN 104115471 A CN 104115471 A 1/2 页 2 1. 一种方法, 包括 : 在虚拟化系统中的会话主机上挂钩连接应用编程接口 (API) ; 以及 当所述API被调用时, 基于所述挂钩来拦截API调用, 并且基于连接到所述会话主机的。
4、 会话客户端的带宽向所述 API 返回数据。 2. 根据权利要求 1 所述的方法, 还包括 : 通过针对与在所述会话主机上执行的第一应用相关联的进程名称查询数据库来确定 所述 API, 其中所述 API 被所述第一应用调用。 3. 根据权利要求 2 所述的方法, 还包括 : 在与所述第一应用相关联的进程内挂钩连接所述 API ; 以及 当所述 API 被在所述会话主机上执行的第二应用调用时, 执行所述 API 而不被所述挂 钩拦截。 4. 根据权利要求 1 所述的方法, 其中基于所述会话客户端的所述带宽向所述 API 返回 数据包括基于所述会话客户端的所述带宽来对所述 API 的数据带宽节流。。
5、 5. 根据权利要求 1 所述的方法, 还包括所述第一应用基于对经由所述 API 返回的所述 数据的分析来执行第一动作。 6. 根据权利要求 1 所述的方法, 还包括所述第一应用基于经由所述 API 返回的所述数 据来选择视频流。 7. 一个或多个包括计算机可读指令的非瞬态计算机可读介质, 所述计算机可读指令当 被执行时通过以下步骤来在虚拟桌面会话中模拟客户端带宽 : 由所述虚拟桌面会话的会话主机挂钩连接应用编程接口 (API) ; 以及 当所述API被调用时, 基于所述挂钩来拦截API调用, 并且基于连接到所述会话主机的 会话客户端的带宽向所述 API 返回数据。 8. 根据权利要求 7 所。
6、述的计算机可读介质, 所述模拟所述客户端带宽还包括 : 通过针对与在所述会话主机上执行的第一应用相关联的进程名称查询数据库来确定 所述 API, 其中所述 API 被所述第一应用调用。 9. 根据权利要求 8 所述的计算机可读介质, 所述模拟所述客户端带宽还包括 : 在与所述第一应用相关联的进程内挂钩连接所述 API ; 以及 当所述 API 被在所述会话主机上执行的第二应用调用时, 执行所述 API 而不被所述挂 钩拦截。 10. 根据权利要求 7 所述的计算机可读介质, 其中基于所述会话客户端的所述带宽向 所述 API 返回数据包括基于所述会话客户端的所述带宽来对所述 API 的数据带宽节。
7、流。 11. 根据权利要求 7 所述的计算机可读介质, 所述模拟所述客户端带宽还包括 : 所述第一应用基于对经由所述 API 返回的所述数据的分析来执行第一动作。 12. 根据权利要求 7 所述的计算机可读介质, 所述模拟所述客户端带宽还包括所述第 一应用基于经由所述 API 返回的所述数据来选择视频流。 13. 一种会话主机装置, 包括 : 处理器 ; 以及 权 利 要 求 书 CN 104115471 A 2 2/2 页 3 存储计算机可读指令的存储器, 所述计算机可读指令当被执行时在与会话客户端相关 联的虚拟桌面会话内模拟客户端带宽 : 挂钩连接所述虚拟桌面会话的应用编程接口 (API)。
8、 ; 以及 当所述API被调用时, 基于所述挂钩来拦截API调用, 并且基于连接到所述虚拟桌面的 所述会话客户端的带宽向所述 API 返回数据。 14. 根据权利要求 13 所述的会话主机装置, 所述模拟所述客户端带宽还包括 : 通过针对与在所述虚拟桌面内执行的第一应用相关联的进程名称查询在存储器内存 储的数据库来确定所述 API, 其中所述 API 被所述第一应用调用。 15. 根据权利要求 14 所述的会话主机装置, 所述模拟所述客户端带宽还包括 : 在与所述第一应用相关联的所述进程内挂钩连接所述 API ; 以及 当所述 API 被在所述虚拟桌面内执行的第二应用调用时, 执行所述 API。
9、 而不被所述挂 钩拦截。 16. 根据权利要求 13 所述的会话主机装置, 其中基于所述会话客户端的所述带宽向所 述 API 返回数据包括基于所述会话客户端的所述带宽来对所述 API 的数据带宽节流。 17. 根据权利要求 13 所述的会话主机装置, 所述模拟所述客户端带宽还包括 : 所述第一应用基于对经由所述 API 返回的所述数据的分析来执行第一动作。 18. 根据权利要求 13 所述的会话主机装置, 所述模拟所述客户端带宽还包括所述第一 应用基于经由所述 API 返回的所述数据来选择视频流。 19. 一种方法, 包括 : 在客户端设备处, 建立在所述客户端设备与主机设备之间的虚拟桌面会话。
10、 ; 从在所述虚拟桌面会话中执行的应用内接收对第一视频流的请求 ; 以及 以基于所述客户端设备的带宽的比特率接收所述第一视频流。 20. 根据权利要求 19 所述的方法, 还包括 : 基于在所述主机设备与所述客户端设备之间的通信来确定所述客户端设备的所述带 宽 ; 以及 基于确定的所述带宽来对所述应用的 API 节流。 权 利 要 求 书 CN 104115471 A 3 1/11 页 4 托管的服务中的客户端带宽模拟 技术领域 0001 在此描述的方面涉及计算机系统、 计算机网络以及计算机服务的虚拟化。更具体 而言, 在此描述的方面涉及基于在会话主机与会话客户端之间的可用带宽对通过虚拟化会 。
11、话提供的服务的优化。 背景技术 0002 传统上, 个人计算机包括操作系统、 应用和用户设置的组合, 各自被拥有者或者管 理者持续地单独管理。然而, 许多组织现在使用桌面虚拟化来提供更加灵活的选项以解决 它们的用户的变化的需要。在桌面虚拟化中, 用户的计算环境 ( 例如, 操作系统、 应用和 / 或用户设置)可以与用户的物理计算设备(例如, 智能电话、 膝上型计算机、 桌面型计算机) 分离。使用客户端服务器技术,“虚拟化桌面” 可以被存储在远程服务器中并被其管理, 而 非被存储在客户端计算设备的本地存储装置中。 0003 存在几种不同类型的桌面虚拟化系统。作为示例, 虚拟桌面基础设施 (VDI。
12、) 指代 在驻留在服务器上的虚拟机内运行用户桌面的过程。VDI 和其他基于服务器的桌面虚拟化 系统可以为每个用户提供个性化桌面, 同时允许集中的管理和安全性。此类系统中的服务 器可以包括用于虚拟桌面镜像和系统配置信息的存储装置, 以及用来提供虚拟桌面并允许 用户与之互连的软件组件。 例如, VDI服务器可包括用来创建并维持多个虚拟机的一个或多 个管理程序 ( 虚拟机管理器 )、 用来管理管理程序的软件、 连接代理 (connection broker) 以及用来提供并管理虚拟桌面的软件。 0004 虚拟桌面可能仍需要在客户端设备上执行的客户端应用 ( 例如, 瘦客户端 ) 来实 行或执行各种任。
13、务。该客户端转而可能受在客户端设备与客户端设备赖以进行网络和 / 或 因特网访问的一个或多个网络之间的可用网络带宽限制。 发明内容 0005 鉴于前述背景, 以下呈现了本公开内容的简化总结以便提供对在此描述的某些方 面的基本理解。这一总结不是广泛的概述, 并且并非旨在标识关键或者至关重要的元素或 者勾画权利要求的范围。 以下总结仅仅以简化形式将各种被描述方面呈现作为在下面提供 的更详细描述的前序。 0006 为了解决上述缺点和在阅读本公开内容后将被实现的附加益处, 各方面在此描述 了基于对客户端设备可用的网络带宽来针对托管的服务优化客户端设备性能的新的方法 和系统。 因特网和内联网上的带宽是高。
14、度可变并且不可靠的两种可以使流传输数字媒体 内容困难的属性。在虚拟化系统 ( 例如, 虚拟桌面、 远程桌面、 远程应用等 ) 中, 基于对会话 主机和会话客户端可用的不同带宽 ( 例如, 会话主机通常具有比会话客户端更高的可用带 宽 ) 尤其是如此。用于在虚拟化系统中模拟客户端设备的带宽的方法和系统在此被描述。 0007 根据某些方面, 当会话主机执行应用 ( 例如, 数字媒体应用 ) 时, 会话主机可以通 过挂钩连接与数字媒体应用相关联的一个或多个API并且对该一个或多个API之上的数据 说 明 书 CN 104115471 A 4 2/11 页 5 进行节流来模拟会话客户端的带宽, 由此诱。
15、使该应用基于会话客户端的模拟的带宽而非基 于会话主机的实际带宽来做出带宽确定。 0008 根据另一方面, 方法和系统在虚拟化系统中的会话主机上挂钩连接 ( 例如, 拦截 ) 应用编程接口(API)。 挂钩可以在虚拟桌面内, 并且可以进一步仅是关于在该虚拟桌面内执 行的一个或多个特定进程。当 API 被调用时, 会话主机 ( 或者虚拟桌面 ) 可以拦截该 API 调用, 并且基于连接到该会话主机的会话客户端 ( 例如, 被连接到该特定虚拟桌面的会话 客户端 ) 的带宽向 API 返回数据。 0009 根据某些方面, API 通过针对与在会话主机上执行或者在虚拟桌面内执行的第一 应用相关联的进程名。
16、称查询数据库而被确定。 API可能仅在特定进程内被挂钩连接, 以使得 当 API 被在会话主机上执行的第二应用调用时, API 被执行而不被挂钩拦截。被返回给被 挂钩连接的 API 的数据可以是与其他情况下将被返回的相同的数据, 然而, 该数据可以基 于会话客户端的带宽而被节流。应用然后可以基于对经由 API 返回的数据的分析来执行第 一动作, 例如, 为视频或数字媒体流选择特定比特率。 附图说明 0010 已经以一般术语这样描述了本公开内容的方面, 现在将对附图进行参考, 其不一 定是被成比例绘制的, 并且其中 : 0011 图 1 图示了其中本公开内容的方面可被实现的示例操作环境。 001。
17、2 图 2 图示了根据在此描述的一个或多个例示性方面可以被使用的客户端设备。 0013 图 3 图示了根据在此描述的一个或多个例示性方面可以被使用的客户端设备。 0014 图 4 图示了根据在此描述的一个或多个例示性方面的系统架构。 0015 图 5 示出了根据在此描述的一个或多个方面的一种模拟带宽的方法的例示性流 程图。 具体实施方式 0016 在对各种实施例的以下描述中, 参考附图, 其形成了本文的一部分, 并且在附图中 通过例示方式示出了其中在此描述的各方面可以被实践的各种实施例。将理解, 其他实施 例可被利用并且结构和功能修改可被做出而不脱离本公开内容的范围和精神。 0017 如本领域。
18、技术人员在阅读以下公开内容之后将领会到的, 在此描述的各种方面可 被实现为方法、 数据处理系统或者计算机程序产品。 相应地, 那些方面可以采用完全硬件实 施例、 完全软件实施例或者结合软件和硬件方面的实施例的形式。 另外, 这样的方面可以采 用由一个或多个计算机可读存储介质存储的具有体现在存储介质中或者体现在存储介质 上的计算机可读程序代码或者指令的计算机程序产品的形式。 任何合适的计算机可读存储 介质可以被利用, 包括硬盘、 CD-ROM、 光存储设备、 磁存储设备和 / 或其任何组合。此外, 代 表如在此描述的数据或事件的各种信号可以采用通过诸如金属线、 光纤和 / 或无线传输介 质 ( 。
19、例如, 空气和 / 或空间 ) 之类的信号传导介质行进的电磁波的形式在源和目的地之间 被传送。 0018 图 1 图示了根据本公开内容的一个或多个例示性实施例的可以被使用的示例计 算环境 100 中的通用计算设备 101( 例如, 计算机服务器 106a) 的示例框图。根据一个或多 说 明 书 CN 104115471 A 5 3/11 页 6 个方面, 通用计算设备 101 可以是被配置用于提供用于客户端访问设备的虚拟机的单服务 器或者多服务器桌面虚拟化系统中的服务器106a。 通用计算设备101可以具有用于控制服 务器的整体操作的处理器 103 及其相关联的组件, 包括随机访问存储器 (R。
20、AM)105、 只读存 储器 (ROM)107、 输入 / 输出 (I/O) 模块 109 和存储器 115。 0019 I/O 模块 109 可包括通用计算设备 101 的用户可通过其提供输入的鼠标、 小键盘、 触摸屏、 扫描仪、 光学阅读器和/或触针(或者其他输入设备), 并且还可以包括用于提供音 频输出的扬声器和用于提供文本、 视听和 / 或图形示出的视频显示设备中的一个或多个。 软件可被存储在存储器 115 和 / 或其他存储装置内以向处理器 103 提供用于使得通用计算 设备 101 能够执行各种功能的指令。例如, 存储器 115 可以存储由通用计算设备 101 使用 的软件, 诸如。
21、操作系统 117、 应用程序 119 和相关联的数据库 121。备选地, 用于通用计算设 备 101 的计算机可执行指令中的一些或者全部可以在硬件或固件 ( 未示出 ) 中被体现。 0020 通用计算设备 101 可在支持到诸如终端 140( 也被称作客户端设备 ) 之类的一个 或多个远程计算机的连接的联网环境中操作。终端 140 可以是包括上面关于通用计算设备 101 描述的元件中的许多或者全部的个人计算机或者服务器。在图 1 中描绘的网络连接包 括局域网(LAN)125和广域网(WAN)129, 但是也可以包括其他网络。 当在LAN联网环境中被 使用时, 通用计算设备 101 可以通过网络。
22、接口或者适配器 123 被连接到 LAN 125。当在 WAN 联网环境中被使用时, 通用计算设备 101 可以包括用于建立在诸如计算机网络 130( 例如, 因特网 ) 之类的 WAN 129 上的通信的调制解调器 127 或者其他网络接口。将领会到, 所示 出的网络连接是例示性的并且建立在计算机之间的通信链路的其他手段可以被使用。 0021 通用计算设备 101 和 / 或终端 140 还可以是包括诸如电池、 扬声器和天线 ( 未示 出 ) 之类的各种其他组件的移动终端 ( 例如, 移动电话、 智能电话、 PDA、 笔记本计算机等 )。 0022 本公开内容可与许多其他通用或者专用计算系统。
23、环境或配置一起使用。 可以适合 与本公开内容一起使用的公知的计算系统、 环境和 / 或配置包括但不限于个人计算机、 服 务器计算机、 手持或者膝上型设备、 多处理器系统、 基于微处理器的系统、 机顶盒、 可编程用 户电子设备、 网络 PC、 迷你计算机、 大型计算机、 包括上述系统或设备中的任何系统或设备 的分布式计算环境等。 0023 如在图 1 中所示, 一个或多个客户端设备 140 可以与一个或多个服务器 106a-106n( 在此被统称为 “服务器 106” ) 通信。在一个实施例中, 计算环境 100 可以包括 被安装在服务器 106 与客户机 140 之间的装置。这一装置可以管理客。
24、户端 / 服务器连接, 并且在某些情况下可以对多个后端服务器 106 当中的客户端连接进行负载均衡。 0024 客户机 140 在某些实施例中可以被称作单个客户机 140 或者单组客户机 140, 而 服务器 106 可以被称作单个服务器 106 或者单组服务器 106。在一个实施例中单个客户机 140 与多于一个服务器 106 通信, 而在另一实施例中单个服务器 106 与多于一个客户机 140 通信。在又一实施例中, 单个客户机 140 与单个服务器 106 通信。 0025 客户机140在某些实施例中可以通过以下术语中的任一个被引用 : 客户机140 ; 客 户端 ; 客户端计算机 ; 。
25、客户端设备 ; 客户端计算设备 ; 本地机器 ; 远程机器 ; 客户端节点 ; 端 点 ; 端点节点 ; 或者第二机器。 服务器106在某些实施例中可通过以下术语中的任一个被引 用 : 服务器, 本地机器 ; 远程机器 ; 服务器群, 主机计算设备, 或者第一机器。 0026 在一个实施例中, 客户机 140 可以是虚拟机。该虚拟机可以是任何虚拟机, 而在某 说 明 书 CN 104115471 A 6 4/11 页 7 些实施例中该虚拟机可以是任何由思杰系统、 IBM、 VMware 开发的管理程序或者任何其他管 理程序管理的虚拟机。 在某些方面, 虚拟机可以由管理程序管理, 而在特定方面虚。
26、拟机可以 由在服务器 106 上执行的管理程序或者在客户端 140 上执行的管理程序管理。 0027 客户机 140 可以执行、 操作或者以其他方式提供可以是以下各项中的任一个的应 用 : 软件 ; 程序 ; 可执行指令 ; 虚拟机 ; 管理程序 ; web 浏览器 ; 基于 web 的客户端 ; 客户端 服务器应用 ; 瘦客户端计算客户端 ; ActiveX控件 ; Jave小程序 ; 像软IP电话之类的与因特 网协议语音 (VoIP) 通信有关的软件 ; 用于流传输视频和 / 或音频的应用 ; 用于有助于实时 数据通信 ( 例如, 诸如用于在线视频游戏 ) 的应用 ; HTTP 客户端 ;。
27、 FTP 客户端 ; 奥斯卡客户 端 ; 远程登录客户端 ; 或者可执行指令的任何其他集合。其更多他实施例包括显示由在服 务器 106 或者其他位于远程的机器上远程执行的应用生成的应用输出的客户端设备 140。 在这些实施例中, 客户端设备 140 可以在应用窗口、 浏览器或者其他输出窗口中显示应用 输出。在一个示例中, 应用是桌面, 而在其他示例中应用是生成桌面的应用。桌面可以包括 为其中可以集成有本地和 / 或远程应用的操作系统的实例提供用户界面的图形壳。如这里 所使用的应用是在操作系统的实例 ( 并且可选地还有桌面 ) 已被加载之后执行的程序。 0028 服务器 106 在某些实施例中执。
28、行使用瘦客户端或者远程显示协议来捕捉由在服 务器106上执行的应用生成的显示输出并且将该应用显示输出传输到远程客户端140的远 程呈现客户端或其他客户端或程序。 瘦客户端或者远程显示协议可以是以下协议中的任一 种 : 由佛罗里达州劳德代尔堡的思杰系统公司制造的独立计算架构 (ICA) 协议 ; 或者由华 盛顿州雷德蒙德的微软公司制造的远程桌面协议 (RDP)。 0029 计算环境可包括多于一个服务器106A-106N以使得服务器106A-106N在逻辑上被 一起分组在服务器群 106 中。服务器群 106 可包括在地理上分散并且在逻辑上被一起分组 在服务器群 106 中的服务器 106, 或者。
29、彼此位置邻近并且在逻辑上被一起分组在服务器群 106 中的服务器 106。服务器群 106 内的地理上分散的服务器 106A-106N 在某些实施例中 可以使用 WAN、 MAN、 SAN 或者 LAN 来通信, 其中不同地理区域可以用以下各项为特征 : 不同 大洲 ; 大洲的不同区域 ; 不同国家 ; 不同州 ; 不同城市 ; 不同校园 ; 不同房间 ; 或者前述地理 位置的任何组合。在某些实施例中, 服务器群 106 可以作为单个实体被管理, 而在其他实施 例中服务器群 106 可以包括多个服务器群 106。 0030 在某些实施例中, 服务器群 106 可以包括执行基本类似类型的操作系统。
30、平台 ( 例 如, 由华盛顿州雷德蒙德的微软公司制造的 Windows 服务器、 UNIX、 LINUX、 iOS 或者 LION 等 ) 的服务器 106。在其他实施例中, 服务器群 106 可以包括执行第一类型的操作系统平 台的第一组服务器 106, 以及执行第二类型的操作系统平台的第二组服务器 106。服务器群 106 在其他实施例中可以包括执行不同类型的操作系统平台的服务器 106。 0031 服务器106在某些实施例中可以是任何服务器类型。 在其他实施例中, 服务器106 可以是以下服务器类型中的任何服务器类型 : 文件服务器 ; 应用服务器 ; web 服务器 ; 代理 服务器 ;。
31、 装置 ; 网络装置 ; 网关 ; 应用网关 ; 网关服务器 ; 虚拟化服务器 ; 部署服务器 ; SSL VPN 服务器 ; 防火墙 ; web 服务器 ; 应用服务器或者作为主应用服务器 ; 执行活动目录的服 务器 106 ; 或者执行提供防火墙功能、 应用功能、 或者负载均衡功能的应用加速程序的服务 器106。 在某些实施例中, 服务器106可以是包括远程认证拨号用户服务的RADIUS服务器。 在其中服务器 106 包括装置的实施例中, 服务器 106 可以是由以下制造商中的任一个制造 说 明 书 CN 104115471 A 7 5/11 页 8 的设备 : 思杰应用联网集团 ; 银峰。
32、系统公司 ; 河床技术公司 ; F5 网络公司 ; 或者杰科网络公 司。某些实施例包括接收来自客户机 140 的请求、 将该请求转发给第二服务器 106n 并且用 来自第二服务器 106n 的响应对由客户机 140 生成的请求进行响应的第一服务器 106a。第 一服务器 106a 可以获取对客户机 140 可用的应用的列举以及与托管在应用的列举内被标 识出的应用的应用服务器 106 相关联的地址信息。第一服务器 106a 然后可以使用 web 接 口来呈现对客户端的请求的响应, 并且与客户端 140 直接通信以向客户端 140 提供对标识 的应用的访问。 0032 服务器 106 在某些实施例。
33、中可以执行以下应用中的任何一个 : 使用瘦客户端协议 向客户端传输应用显示数据的瘦客户端应用 ; 远程显示呈现应用 ; 思杰系统公司的 CITRIX ACCESS SUITE 的任何部分, 像 XENAPP、 XENDESKTOP、 METAFRAME 或者 CITRIX PRESENTATION SERVER ; 由微软公司制造的 MICROSOFT WINDOWS 终端服务 ; 或者由思杰系统公司开发的 ICA 客户端。另一实施例包括作为诸如以下各项的应用服务器的服务器 106 : 提供诸如由 微软公司制造的 MICROSOFT EXCHANGE 的邮件服务的邮件服务器 ; web 或者因。
34、特网服务器 ; 桌面共享服务器 ; 协作服务器 ; 或者任何其他类型的应用服务器。更多其他实施例包括执 行以下类型的托管的服务器应用中的任一个的服务器 106 : 由思杰在线业务公司提供的 GOTOMEETING ; 由加利福尼亚州圣克拉拉的网讯公司提供的 WEBEX ; 或者由微软公司提供的 Microsoft Offi ce LIVE MEETING。 0033 客户机140在某些实施例中可以是寻求访问由服务器106提供的资源的客户端节 点。在其他实施例中, 服务器 106 可以向客户端 140 或者客户端节点提供对托管的资源的 访问。服务器 106 在某些实施例中用作被配置用于与一个或多。
35、个客户端 140 或服务器 106 通信的主节点。在某些实施例中, 主节点可以标识与托管所请求的应用的服务器 106 相关 联的地址信息并将其提供给一个或多个客户端140或者服务器106。 在其他实施例中, 主节 点可以是服务器群 106、 客户端 140、 客户端节点 140 的群集或者装置。 0034 一个或多个客户端 140 和 / 或一个或多个服务器 106 可以通过被安装在计算环 境 100 内的装置与机器之间的网络 130 来传输数据。网络 130 可以包括一个或多个子网 络, 并且可以被安装在计算环境 100 内包括的客户端 140、 服务器 106、 计算机器和装置的 任何组合。
36、之间。在某些实施例中, 网络 130 可以是 : 局域网 (LAN) ; 城域网 (MAN) ; 广域网 (WAN) ; 由位于客户机 140 和服务器 106 之间的多个子网络组成的主网络 104 ; 具有私有子 网络的主公共网络 130( 例如, 因特网 ) ; 具有公共子网络的主私有网络 130 ; 或者具有私有 子网络的主私有网络 130。更多其他实施例包括可以是以下网络类型中的任何网络类型的 网络 130 : 点对点网络 ; 广播网络 ; 电信网络 ; 数据通信网络 ; 计算机网络 ; ATM( 异步传送模 式 ) 网络 ; SONET( 同步光网络 ) 网络 ; SDH( 同步数字。
37、体系 ) 网络 ; 无线网络 ; 有线网络 ; 或 者包括无线链路的网络, 其中该无线链路可以是红外信道或者卫星频带。网络 130 的网络 拓扑在不同的实施例内可以不同, 可能的网络拓扑包括 : 总线网络拓扑 ; 星型网络拓扑 ; 环 形网络拓扑 ; 基于中继器的网络拓扑 ; 或者分层星型网络拓扑。附加实施例可以包括使用 协议来在移动设备之中通信的移动电话网络的网络, 其中该协议可以是以下各项中的任何 一个 : AMPS ; TDMA ; CDMA ; GSM ; GPRS UMTS ; 或者能够在移动设备之中传输数据的任何其他协 议。 0035 在图 2 中图示的是计算设备 200 的实施例。
38、, 其中在图 1 中图示的客户机 140 和服 说 明 书 CN 104115471 A 8 6/11 页 9 务器 106 可以被部署作为在此例示并描述的计算设备 200 的任何实施例和 / 或在其上被执 行。计算设备 200 内包括的是与以下组件通信的系统总线 250 : 中央处理单元 221 ; 主存储 器 222 ; 存储存储器 228 ; 输入 / 输出 (I/O) 控制器 223 ; 显示设备 224 ; 安装设备 216 ; 以及 网络接口 218。在一个实施例中, 存储存储器 228 包括 : 操作系统、 软件例程和客户端代理 220。I/O 控制器 223 在某些实施例中还被。
39、连接到键盘 226 和指点设备 227。其他实施例可 以包括与多于一个输入 / 输出设备 230 连接的 I/O 控制器 223。 0036 图3图示了计算设备300的一个实施例, 其中在图1中图示的客户机140和服务器 106 可以被部署作为在此例示并描述的计算设备 300 的任何实施例和 / 或在其上被执行。 计算设备 300 内包括的是与以下组件通信的系统总线 350 : 网桥 370 和第一 I/O 设备 330a。 在另一实施例中, 网桥 370 还与主中央处理单元 321 通信, 其中中央处理单元 321 还可以与 第二 I/O 设备 330b、 主存储器 322 和高速缓冲存储器。
40、 340 通信。中央处理单元 321 内包括 的是 I/O 端口、 存储器端口 303 和主处理器。 0037 计算机器 300 的实施例可以包括以以下组件配置中的任何一个为特征的中央处 理单元 321 : 对从主存储单元 322 取回的指令进行响应和处理的逻辑电路 ; 或者微处理器、 微控制器、 具有单个处理核心的中央处理单元、 具有两个处理核心的中央处理单元或者具 有多于一个处理核心的中央处理单元的任何组合。 0038 尽管图3图示了包括单个中央处理单元321的计算设备300, 但是在某些实施例中 计算设备300可以包括一个或多个处理单元321。 在这些实施例中, 计算设备300可以存储 。
41、并执行当被执行时指引一个或多个处理单元 321 同时执行指令或者同时执行单个数据片 上的指令的固件或者其他可执行指令。在其他实施例中, 计算设备 300 可以存储并执行当 被执行时指引一个或多个处理单元各自执行一组指令的一部分的固件或者其他可执行指 令。例如, 每个处理单元 321 可以被指示用于执行程序的一部分或者程序内的特定模块。 0039 在某些实施例中, 处理单元 321 可以包括一个或多个处理核心。例如, 处理单元 321可以具有两个核心、 四个核心、 八个核心等。 在一个实施例中, 处理单元321可包括一个 或多个并行处理核心。处理单元 321 的处理核心在某些实施例中可以访问作为。
42、全局地址空 间的可用存储器, 或者在其他实施例中, 计算设备 300 内的存储器可以被分割并被指派给 处理单元 321 内的特定核心。在一个实施例中, 计算设备 300 中的一个或多个处理核心或 处理器可以各自访问本地存储器。在另一实施例中, 计算设备 300 内的存储器可以在一个 或多个处理器或处理核心之间被共享, 而其他存储器可以被特定处理器或者处理器的子集 访问。在其中计算设备 300 包括多于一个处理单元的实施例中, 多个处理单元可以被包括 在单个集成电路 (IC) 中。这些多个处理器在某些实施例中可以通过可以被称作元件互连 总线的内部高速总线被链接在一起。 0040 在其中计算设备 。
43、300 包括一个或多个处理单元 321 或者包括一个或多个处理核 心的处理单元 321 的实施例中, 处理器可以同时对多个数据片执行单个指令 (SIMD), 或者 在其他实施例中可以同时对多个数据片执行多个指令 (MIMD)。在一些实施例中, 计算设备 100 可以包括任何数目的 SIMD 和 MIMD 处理器。 0041 计算设备300在某些实施例中可以包括图形处理器或者图形处理单元(未示出)。 图形处理单元可以包括软件和硬件的任何组合, 并且还可以输入图形数据和图形指令, 根 据所输入的数据和指令来渲染图形, 以及输出所渲染的图形。 在某些实施例中, 图形处理单 说 明 书 CN 1041。
44、15471 A 9 7/11 页 10 元可以被包括在处理单元 321 内。在其他实施例中, 计算设备 300 可以包括一个或多个处 理单元 321, 其中至少一个处理单元 321 专用于处理和渲染图形。 0042 计算机器 300 的一个实施例包括经由也被称为后端总线的次级总线与高速缓冲 存储器 340 通信的中央处理单元 321, 而计算机器 300 的另一实施例包括经由系统总线 350 与高速缓冲存储器通信的中央处理单元 321。本地系统总线 350 在某些实施例中还可以被 中央处理单元用来与多于一种类型的 I/O 设备 330 通信。在某些实施例中, 本地系统总线 350可以是以下类型。
45、的总线中的任何一个 : VESA VL总线 ; ISA总线 ; EISA总线 ; 微通道架构 (MCA) 总线 ; PCI 总线 ; PCI-X 总线 ; PCI-Express 总线 ; 或者 NuBus( 网络用户总线 )。计算 机器 300 的其他实施例包括 I/O 设备 330, 其包括与中央处理单元 321 通信的视频显示器 224。 计算机器300的更多其他版本包括经由以下连接中的任何一个而连接到I/O设备330 的处理器 321 : 超传输, 快速 I/O 或者无限带宽。计算机器 300 的其他实施例包括使用本地 互连总线与一个 I/O 设备 330a 通信并且使用直接连接与第二。
46、 I/O 设备 330b 通信的处理器 321。 0043 计算设备 300 在某些实施例中包括主存储器单元 322 和高速缓冲存储器 340。高 速缓冲存储器 340 可以是任何存储器类型, 并且在某些实施例中可以是以下类型存储器 中的任何一个 : SRAM ; BSRAM ; 或者 EDRAM。其他实施例包括可以是以下类型的存储器中的 任何一个的高速缓冲存储器 340 和主存储器单元 322 : 静态随机访问存储器 (SRAM), 突发 SRAM 或者同步突发 SRAM(BSRAM) ; 动态随机访问存储器 (DRAM) ; 快速页面模式 DRAM(FPM DRAM) ; 增强型DRAM(。
47、EDRAM), 扩展数据输出RAM(EDO RAM) ; 扩展数据输出DRAM(EDO DRAM) ; 突发扩展数据输出 DRAM(BEDO DRAM) ; 增强型 DRAM(EDRAM) ; 同步 DRAM(SDRAM) ; JEDEC SRAM ; PC100SDRAM ; 双倍数据速率 SDRAM(DDR SDRAM) ; 增强型 SDRAM(ESDRAM) ; 同步链路 DRAM(SLDRAM) ; 直接Rambus DRAM(DRDRAM) ; 铁电RAM(FRAM) ; 或者任何其他类型的存储器。 其他实施例包括可经由以下各项访问主存储器 322 的中央处理单元 321 : 系统总。
48、线 350 ; 存 储器端口 303 ; 或者允许处理器 321 访问存储器 322 的任何其他连接、 总线或者端口。 0044 计算设备 200/300 的一个实施例提供对以下安装设备 216 中的任何一个的支持 : CD-ROM 驱动器、 CD-R/RW 驱动器、 DVD-ROM 驱动器、 各种格式的磁带驱动器、 USB 设备、 可引 导介质、 可引导 CD、 用于诸如之类的 GNU/Linux 发行版的可引导 CD、 硬盘驱 动器或者适合用于安装应用或者软件的任何其他设备。 应用在某些实施例中可以包括客户 端代理220, 或者客户端代理220的任何部分。 计算设备200/300还可以包括。
49、可以是一个或 多个硬盘驱动器或者独立磁盘的一个或多个冗余阵列的存储设备 228 ; 其中该存储设备被 配置用于存储操作系统、 软件、 程序应用或者客户端代理220的至少一部分。 计算设备200、 300 的另一实施例包括被用作存储设备 228 的安装设备 216。 0045 计算设备200、 300还可包括用来通过包括但不限于标准电话线路、 LAN或者WAN链 路 ( 例如, 802.11、 T1、 T3、 56kb、 X.25、 SNA、 DECNET)、 宽带连接 ( 例如, ISDN、 帧中继、 ATM、 吉 比特以太网、 通过 SONET 的以太网 )、 无线连接或者以上的任何或者所有的某种组合的各种 连接与局域网 (LAN)、 广域网 (WAN) 或者因特网以对接的网络接口 218。连接还可以使用各 种通信协议 ( 例如, TCP/IP、 IPX、 SPX、 NetBIOS、 以太网、 ARCNET、 SONET、 SDH、 光纤分布式数 据接口 (FDDI)、 RS232、 RS485、 IEEE 802.11、 IEEE 802.11a、 IEEE 802.11b、 IEEE 80。