首页> 中国专利> 在云计算环境中的网络方案

在云计算环境中的网络方案

摘要

云系统可在云区中创建并支持虚拟机的多个网络方案。包括例如路由器、网关、防火墙、负载均衡器和其它网络硬件的网络元件集合的物理网络可在区内被创建和更新。可使用标签或其它技术来定义网络方案并使网络方案与虚拟机网络、物理网络和/或网络元件相关。云终端用户在创建虚拟机时可请求特定的网络方案,或可请求将现有虚拟机从一个网络方案移动到另一网络方案。云系统可使用所请求的网络方案来识别对应于所请求的网络方案的虚拟机网络、物理网络和/或网络元件。云系统可分配新虚拟机网络并配置在相关物理网络内的网络元件以向虚拟机提供网络服务。

著录项

  • 公开/公告号CN104956329A

    专利类型发明专利

  • 公开/公告日2015-09-30

    原文格式PDF

  • 申请/专利权人 思杰系统有限公司;

    申请/专利号CN201380068687.6

  • 发明设计人 A·黄;W·钱;C·维塔尔;

    申请日2013-10-25

  • 分类号G06F9/50(20060101);H04L12/24(20060101);H04L12/14(20060101);

  • 代理机构11262 北京安信方达知识产权代理有限公司;

  • 代理人张瑞;郑霞

  • 地址 美国佛罗里达州

  • 入库时间 2023-12-18 11:19:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-08

    授权

    授权

  • 2015-11-04

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20131025

    实质审查的生效

  • 2015-09-30

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2012年10月28日提交的且标题为“NETWORK  OFFERING IN CLOUD COMPUTING ENVIRONMENT”的美国专利申请 序列号13/662,483的优先权,该专利申请的公开内容通过引用被并入本文 且成为其的部分。

领域

本申请通常涉及计算机和计算机网络以及创建和管理虚拟机。特别 是,本申请涉及向云计算环境中的虚拟机提供网络服务。

背景

在传统上,个人计算机包括操作系统、应用和用户设置的组合,其中 每个由所有者或管理员在正在进行的基础上单独地管理。然而,很多组织 现在使用桌面虚拟化来提供更灵活的选择以解决他们的用户不断变化的 需求。在桌面虚拟化中,用户的计算环境(例如操作系统、应用和/或用户 设置)可与用户的物理计算设备(例如智能电话、膝上型计算机、台式计 算机)分离。使用客户端-服务器技术,“虚拟化桌面”可存储在远程服务 器中并由远程服务器管理,而不是在客户端计算设备的本地存储器中。

存在几种不同类型的桌面虚拟化系统。作为例子,虚拟桌面基础架构 (DVI)指的是运行存在于服务器上的虚拟机内部的用户桌面的过程。VDI 和其它基于服务器的桌面虚拟化系统可为每个用户提供个性化桌面,同时 允许集中式管理和安全。在这样的系统中的服务器可包括用于虚拟桌面图 像和系统配置信息的存储器以及提供虚拟机并允许用户互连到它们的软 件部件。例如,VDI服务器可包括一个或多个超级监督器(hypervisor)(虚 拟机管理器)以创建并维护多个虚拟机、管理超级监督器的软件、连接代 理和提供并管理虚拟桌面的软件。

可使用单个虚拟化服务器或被互连作为服务器网格的服务器的组合 来实现桌面虚拟化系统。例如,云计算环境或云系统可包括计算资源池, 包括处理资源(例如桌面虚拟化服务器)、存储资源(例如存储磁盘)、联 网资源(例如网络硬件元件和物理配线)和可用于提供虚拟机的其它物理 资源。云系统还可包括额外的计算设备,以给云系统的云操作员和终端用 户提供管理和消费者门户。

概述

根据前述背景,下文介绍了本公开的简化概述,以便提供对本文描述 的一些方面的基本理解。该概述并不是广泛概述,且并不打算识别关键或 重要元件或描绘权利要求的范围。下面的概述仅仅呈现以简化形式的各种 所述方面,作为下面提供的更详细描述的序言。

本文方面描述了用于在云计算环境中识别网络资源并向虚拟机提供 网络服务的系统和方法。根据本公开的某些方面,可在云计算环境的区内 创建一个或多个物理网络,每个物理网络包括网络元件的集合。网络元件 (例如路由器、网关、防火墙、负载均衡器和其它网络硬件)可被添加到 该区内的不同物理网络并可从该区内的不同物理网络移除,使得一个物理 网络可与网络元件的集合相关,且另一物理网络可与网络元件的一不同集 合相关。网络方案可被创建并可使用标签或其它技术与各种物理网络和/ 或网络元件相关。例如,对应于网络服务的集合的网络方案可与虚拟机网 络相关,虚拟机网络可与云区内的物理网络之一相关。

根据本发明的额外方面,云终端用户可在创建虚拟机时请求特定的网 络方案,或可请求将现有的虚拟机从一个网络方案移动到另一网络方案。 在接收到这样的请求之后,云系统可使用所请求的网络方案来识别对应于 所请求的网络方案的虚拟机网络、物理网络和/或网络元件。云系统可分配 新虚拟机网络并配置在相关物理网络内的网络元件以向虚拟机提供网络 服务。当销毁虚拟机或将虚拟机移动到不同的网络时,基于云系统的资源 管理策略,云系统可解除分配(de-allocate)给网络元件所提供的服务,和/ 或可解除分配与虚拟机相关的虚拟机网络。

附图的简要说明

在大体上这样描述了本公开的方面后,现在将对附图进行参考,这些 附图不一定按比例进行绘制,且其中:

图1示出的是示例操作环境,其中可实现本公开的各个方面。

图2示出的是可根据本文描述的一个或多个说明性的方面进行使用的 计算设备。

图3示出的是可根据本文描述的一个或多个说明性的方面进行使用的 计算设备。

图4是根据本文描述的一个或多个说明性的方面描绘虚拟化服务器的 实施方式的方框图。

图5示出的是根据本文描述的一个或多个说明性的方面描绘云计算环 境的实施方式的方框图。

图6是根据本文描述的一个或多个说明性的方面示出在云计算环境中 使网络方案与虚拟机网络、物理网络和/或网络元件相关的示例过程的流程 图。

图7示出的是根据本文描述的一个或多个说明性的方面呈现在云计算 环境中关于虚拟机的网络方案的集合的示例用户界面。

图8是根据本文描述的一个或多个说明性方面示出基于在云计算环境 中的选定的网络方案来创建新虚拟机的示例过程的流程图。

图9是根据本文描述的一个或多个说明性的方面示出在云计算环境中 将虚拟机移动到的不同虚拟机网络的示例过程的流程图。

图10是根据本文描述的一个或多个说明性的方面示出在云计算环境 中销毁虚拟机的示例过程的流程图。

详细描述

在以下各种实施方式的描述中,对构成其一部分的附图进行了参考, 且其中通过说明的方式示出了其中可实施本文所述的方面的各种实施方 式。应理解的是,可利用其它实施方式,且可对结构和功能进行修改,而 不偏离本公开的范围和精神。

如本领域中的技术人员在阅读以下公开内容后将认识到的是,本文描 述的各方面可被体现为方法、数据处理系统或计算机程序产品。因此,那 些方面可采取完全硬件实施方式、完全软件实施方式或组合软件和硬件方 面的实施方式的形式。此外,这样的方面可采取由具有计算机可读程序代 码或指令的一个或多个计算机可读存储介质存储的、体现在存储介质中或 上的计算机程序产品的形式。可利用任何适当的计算机可读存储介质,包 括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或其任何组合。此外, 表示如本文所述的数据或事件的各种信号可在源和目的地之间以通过信 号传导介质(例如金属线、光纤和/或无线传输介质(例如空气和/或空间)) 传播的电磁波的形式进行传送。

此外,应理解的是,本文使用的措辞和术语是为了描述的目的,且不 应被视为限制性的。而是,本文使用的短语和术语应被给予其最广泛的解 释和含义。“包括(including)”和“包括(comprising)”及其变形的使用 意欲包括其后列出的项及其等效形式以及额外的项及其等效形式。术语 “安装”、“连接”、“耦合”、“定位”、“接合”和类似的术语意欲包括直接 和间接安装、连接、耦合、定位和接合。

为了阅读下面的各种实施方式的描述的目的,以下说明书的章节及其 各自的内容的描述可能是有帮助的:

-A部分描述的是可用于实现本文描述的实施方式的网络环境和计算 环境;

-B部分描述的是可用于实现本文描述的实施方式的、包括虚拟化环 境的系统的实施方式;以及

-C部分描述的是与云计算环境中的网络方案有关的系统和方法的实 施方式。

A.网络环境和计算环境

图1示出的是可根据本公开的一个或多个说明性的实施方式使用的、 在示例计算环境100中的一般计算设备101(例如计算服务器106a)的示 例方框图。根据一个或多个方面,一般计算设备101可以是在被配置成为 客户端访问设备提供虚拟机的单服务器或多服务器桌面虚拟化系统(例如 云系统)中的服务器106a。一般计算设备101可具有用于控制服务器及其 相关部件(包括随机存取存储器(RAM)105、只读存储器(ROM)107、 输入/输出(I/O)模块109和存储器115)的整体操作的处理器103。

I/O模块109可包括鼠标、键盘、触摸屏、扫描仪、光学阅读器和/或 手写笔(或其它输入设备)(一般计算设备101的用户可通过这些输入设 备提供输入),并且也可包括用于提供音频输出的扬声器和用于提供文本、 视听和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器 115和/或其它存储装置内以向处理器103提供用于使一般计算设备101能 够执行各种功能的指令。例如,存储器115可存储由一般计算设备101使 用的软件,例如操作系统117、应用程序119和相关数据库121。可选地, 一般计算设备101的部分或全部计算机可执行指令可体现在硬件或固件 (未示出)中。

一般计算机设备101可在支持与一个或多个远程计算机(例如终端140 (也被称为客户端设备))的连接的联网环境中操作。终端140可以是包 括上述关于一般计算设备101的很多或全部元件的个人计算机或服务器。 在图1中描绘的网络连接包括局域网(LAN)125和广域网(WAN)129, 但还可包括其它网络。当在LAN联网环境中使用时,一般计算设备101 可通过网络接口或适配器123连接到LAN 125。当在WAN联网环境中使 用时,一般计算设备101可包括调制解调器127或用于通过WAN 129(例 如计算机网络130(例如互联网))建立通信的其它网络接口。将认识到的 是,所示的网络连接是说明性的,且可使用在计算机之间建立通信链路的 其它装置。

一般计算设备101和/或终端140也可以是包括各种其他部件例如电 池、扬声器和天线(未示出)的移动终端(例如移动电话、智能电话、PDA、 笔记本计算机等)。

本公开以很多其它通用或专用计算系统环境或配置来操作。可适合于 用在本公开上的公知的计算系统、环境和/或配置的例子包括,但不限于, 个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微 处理器的系统、机顶盒、可编程消费电子设备、网络PC、小型计算机、大 型计算机、包括上述系统或设备中的任一个的分布式计算环境等。

如图1所示,一个或多个客户端设备140可与一个或多个服务器 106a-106n(通常在本文被称为“服务器106”)通信。在一个实施方式中, 计算环境100可包括安装在服务器106和客户端机器140之间的器具。该 器具可管理客户端/服务器连接,且在一些情况下可在多个后端服务器106 当中装入平衡客户端连接。

客户端机器140可在一些实施方式中被称为单个客户端机器140或单 组客户端机器140,而服务器106可被称为单个服务器106或单组服务器 106。在一个实施方式中,单个客户端机器140与一个以上的服务器106 通信,而在另一实施方式中,单个服务器106与一个以上的客户端机器140 通信。在又一实施方式中,单个客户端机器140与单个服务器106通信。

客户端机器140在一些实施方式中可被引用为下列项中的任一个:客 户端机器140;客户端;客户端计算机;客户端设备;客户端计算设备; 本地机器;远程机器;客户端节点;端点;端点节点或第二机器。服务器 106在一些实施方式中可以被引用为下列项中的任一个:服务器;本地机 器;远程机器;服务器场(server farm);主机计算设备或第一机器。

在一个实施方式中,客户端机器140可以是虚拟机。虚拟机可以是任 何虚拟机,而在一些实施方式中,虚拟机可以是由Citrix系统、IBM、 VMware或任何其它超级监督器管理的任何虚拟机。在一些方面中,虚拟 机可由超级监督器管理,而在其它方面中,虚拟机可由在服务器106上执 行的超级监督器或在客户端140上执行的超级监督器管理。

客户端机器140可执行、操作或提供应用,应用可以是下列项中的任 一个:软件、程序、可执行指令、虚拟机、超级监督器、web浏览器、基 于web的客户端、客户端-服务器应用、瘦客户端计算客户端、ActiveX控 件、Java小应用程序、与互联网语音协议(VoIP)通信(如软IP电话)有 关的软件、用于流视频和/或音频的应用、用于便于实时数据通信的应用、 HTTP客户端、FTP客户端、Oscar客户端、Telnet客户端或任何其它可执 行指令集。又一些其它实施方式包括显示由在服务器106或其它位于远处 的机器上远程地执行的应用所产生的应用输出的客户端设备140。在这些 实施方式中,客户端设备140可在应用窗口、浏览器或其它输出窗口中显 示应用输出。在一个例子中,应用是桌面,而在其它例子中,应用是产生 桌面的应用。桌面可包括提供操作系统的实例的用户界面的图形外壳,本 地和/或远程应用可集成在操作系统中。如本文使用的,应用是在操作系统 的实例(和可选地还有桌面)已经被装入之后执行的程序。

服务器106在一些实施方式中执行远程呈现客户端或其它客户端或程 序,其使用瘦客户端或远程显示协议来捕获由在服务器106上执行的应用 所产生的显示输出并将应用显示输出传输到远程客户端140。瘦客户端或 远程显示协议可以是下列协议中的任一个:由弗洛里达州Lauderdale的 Citrix系统公司制造的独立计算体系结构(ICA)协议或由华盛顿州雷德蒙 德的微软公司制造的远程桌面协议(RDP)。

计算环境可包括一个以上的服务器106A-106N,使得服务器 106A-106N在逻辑上一起集中在服务器场106中,例如在云计算环境中。 服务器场106可包括在地理上分散而在逻辑上一起集中在服务器场106中 的服务器106或彼此靠近放置的并在逻辑上一起集中在服务器场106中的 服务器106。在服务器场106内的、在地理上分散的服务器106A-106N在 一些实施方式中可使用WAN、MAN或LAN进行通信,其中不同的地理 区域可被特征化为不同的大陆、大陆的不同区域、不同的国家、不同的州、 不同的城市、不同的校区、不同的房间或前述地理位置的任何组合。在一 些实施方式中,服务器场106可作为单个实体被管理,而在其它实施方式 中,服务器场106可包括多个服务器场106。

在一些实施方式中,服务器场106可包括执行实质上类似的类型的操 作系统平台(例如由华盛顿州雷德蒙德的微软公司制造的WINDOWS NT、 UNIX、LINUX或SNOW LEOPARD)的服务器106。在其他实施方式中, 服务器场106可包括执行第一类型的操作系统平台的第一组服务器106和 执行第二类型的操作系统平台的第二组服务器106。服务器场106在其它 实施方式中可包括执行不同类型的操作系统平台的服务器106。

服务器106在一些实施方式中可以是任何服务器类型。在其它实施方 式中,服务器106可以是下列服务器类型中的任一个:文件服务器、应用 服务器、web服务器、代理服务器、器具、网络器具、网关、应用网关、 网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器、防火墙、web 服务器、应用服务器或作为主应用服务器、执行活动目录的服务器106、 或执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务 器106。在一些实施方式中,服务器106可以是包括远程认证内部拨号用 户服务的RADIUS服务器。在服务器106包括器具的实施方式中,服务器 106可以是由下列制造商中的任一个制造的器具:Citrix应用网络组、Silver  Peak系统公司、Riverbed技术公司、F5网络公司或Juniper网络公司。一 些实施方式包括从客户端机器140接收请求、将请求转发到第二服务器 106n并使用来自第二服务器106n的响应对客户端机器140产生的请求做 出响应的第一服务器106A。第一服务器106A可获取对客户端机器140可 用的应用的览表以及与托管在应用的览表内所识别的应用的应用服务器 106相关的地址信息。第一服务器106A可接着使用web界面呈现对客户 端的请求的响应,并与客户端140直接通信以给客户端140提供对所识别 的应用的访问。

服务器106在一些实施方式中可执行下列应用中的任一个:使用瘦客 户端协议来将应用显示数据传输到客户端的瘦客户端应用;远程显示呈现 应用;Citrix系统公司的CITRIX ACCESS SUITE的任何部分如 METAFRAME或CITRIX PRESENTATION SERVER;由微软公司制造的 MICROSOFT WINDOWS终端服务;或由Citrix系统公司开发的ICA客户 端。另一实施方式包括作为应用服务器的服务器106,例如提供电子邮件 服务(例如由微软公司制造的MICROSOFT EXCHANGE)的电子邮件服 务器、web或互联网服务器、桌面共享服务器、合作服务器或任何其它类 型的应用服务器。又一些其它实施方式包括执行下列类型的托管服务器应 用中的任一个:由Citrix在线部门公司提供的GOTOMEETING;由加利福 尼亚州圣塔克拉拉的WebEx公司提供的WEBEX或由微软公司提供的 Microsoft Office LIVE MEETING。

客户端机器140在一些实施方式中可以是寻求对由服务器106提供的 资源的访问的客户端节点。在其它实施方式中,服务器106可以给客户端 140或客户端节点提供对托管资源的访问。服务器106在一些实施方式中 起主节点的作用,使得其与一个或多个客户端140或服务器106通信。在 一些实施方式中,主节点可识别与托管所请求的应用的服务器106相关的 地址信息并将该地址信息提供到一个或多个客户端140或服务器106。在 又一些其它实施方式中,主节点可以是服务器场106、客户端140、客户 端节点集群140或器具。

一个或多个客户端140和/或一个或多个服务器106可通过在计算环境 100内的机器和器具之间安装的网络130传输数据。网络130可包括一个 或多个子网络,并可被安装在客户端140、服务器106、被包括在计算环 境100内的计算机器和器具的任何组合之间。在一些实施方式中,网络130 可以是:局域网(LAN)、城域网(MAN)、广域网(WAN)、包括位于客 户端机器140和服务器106之间的多个子网络的主网络104、具有私有子 网络的主公共网络130(例如互联网)、具有公共子网络的主私有网络130 或具有私有子网络的主私有网络130。又一些实施方式包括网络130,其 可以是下列网络类型中的任一个:点对点网络、广播网络、电信网络、数 据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光 学网络)网络;SDH(同步数字等级结构)网络、无线网络、有线线路网 络或包括无线链路的网络,其中无线链路可以是红外通道或卫星频带。网 络130的网络拓扑可在不同的实施方式内而不同,可能的网络拓扑包括: 总线网络拓扑、星形网络拓扑、环形网络拓扑、基于中继器的网络拓扑或 分层星形网络拓扑。额外的实施方式可包括使用协议来在移动设备当中通 信的移动电话网络的网络,其中协议可以是下列协议中的任一个:AMPS、 TDMA、CDMA、GSM、GPRS UMTS或能够在移动设备当中传输数据的 任何其它协议。

在图2中示出了计算设备200的实施方式,其中图1所示的客户端机 器140和服务器106可被部署为本文所示和所述的计算设备200的任何实 施方式和/或在本文所示和所述的计算设备200的任何实施方式上被执行。 包括在计算设备200内的是与下列部件通信的系统总线250:中央处理单 元221、主存储器222、存储内存228、输入/输出(I/O)控制器223、显 示设备224A-224N、安装设备216和网络接口218。在一个实施方式中, 存储内存228包括:操作系统、软件例程和客户端代理220。I/O控制器 223在一些实施方式中还被连接到键盘226和指向设备227。其它实施方 式可包括连接到一个以上的输入/输出设备223A-230N的I/O控制器223。

图3示出的是计算设备300的实施方式,其中图1所示的客户端机器 140和服务器106可被部署为本文所示和所述的计算设备300的任何实施 方式和/或在本文所示和所述的计算设备300的任何实施方式上被执行。包 括在计算设备300内的是与下列部件通信的系统总线350:桥370和第一 I/O设备330a。在另一实施方式中,桥370还与主中央处理单元321通信, 其中中央处理单元321可进一步与第二I/O设备330b、主存储器322和高 速缓冲存储器340通信。包括在中央处理单元321内的是I/O端口、存储 器端口303和主处理器。

计算机器300的实施方式可包括由下列部件配置中的任一个特征化的 中央处理单元321:响应于从主存储器单元322取出的指令并对其处理的 逻辑电路;微处理器单元,例如由英特尔公司制造的微处理器单元;由摩 托罗拉公司制造的微处理器单元;由加利福尼亚州圣塔克拉拉的Transmeta 公司制造的微处理器;RS/6000处理器,例如由国际商业机器公司制造的 处理器;处理器,例如由高级微器件公司制造的处理器;或逻辑电路的任 何其它组合。中央处理单元322的又一些其它实施方式可包括下列部件的 任何组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有 两个处理核的中央处理单元或具有一个以上的处理核的中央处理单元。

虽然图3示出包括单个中央处理单元321的计算设备300,在一些实 施方式中,计算设备300可包括一个或多个处理单元321。在这些实施方 式中,计算设备300可存储并执行固件或其它可执行指令,其在被执行时 引导一个或多个处理单元321同时执行指令或对单条数据同时执行指令。 在其它实施方式中,计算设备300可存储并执行固件或其它可执行指令, 其在被执行时引导一个或多个处理单元每个执行一组指令的一部分。例 如,每个处理单元321可被指示执行程序的一部分或在程序内的特定模块。

在一些实施方式中,处理单元321可包括一个或多个处理核。例如, 处理单元321可具有两个核、四个核、八个核等。在一个实施方式中,处 理单元321可包括一个或多个并行处理核。处理单元321的处理核可在一 些实施方式中访问可用的存储器作为全局地址空间,或在其它实施方式 中,在计算设备300内的存储器可被分割并被分配到在处理单元321内的 特定核。在一个实施方式中,在计算设备300中的一个或多个处理核或处 理器可每个访问本地存储器。在又一实施方式中,在计算设备300内的存 储器可在一个或多个处理器或处理核当中被共享,而其它存储器可由特定 的处理器或处理器的子集访问。在计算设备300包括一个以上的处理单元 的实施方式中,多个处理单元可被包括在单个集成电路(IC)中。这些多 个处理器在一些实施方式中可由可被称为元件互连总线的内部高速总线 链接在一起。

在计算设备300包括一个或多个处理单元321或包含一个或多个处理 核的处理单元321的实施方式中,处理器可同时对多条数据(SIMD)同 时执行单个指令,或在其它实施方式中可同时对多条数据(SIMD)执行 多个指令。在一些实施方式中,计算设备100可包括任何数量的SIMD和 MIMD处理器。

计算设备300在一些实施方式中可包括图形处理器或图形处理单元 (未示出)。图形处理单元可包括软件和硬件的任何组合,并可进一步输 入图形数据和图形指令,根据所输入的数据和指令再现图形,并输出所再 现的图形。在一些实施方式中,图形处理单元可被包括在处理单元321中。 在其它实施方式中,计算设备300可包括一个或多个处理单元321,其中 至少一个处理单元321专用于处理并再现图形。

计算机器300的一个实施方式包括经由也被称为后端总线的二级总线 与高速缓冲存储器340通信的中央处理单元321,而计算机器300的另一 实施方式包括经由系统总线350与高速缓冲存储器通信的中央处理单元 321。本地系统总线350在一些实施方式中也可被中央处理单元使用,以 与一种类型以上的I/O设备330a-330n通信。在一些实施方式中,本地系 统总线350可以是下列类型的总线中的任一个:VESA VL总线、ISA总线、 EISA总线、微通道体系结构(MCA)总线、PCI总线、PCI-X总线、 PCI-Express总线或NuBus。计算机器300的其它实施方式包括I/O设备 330a-330n,其包括与中央处理单元321通信的视频显示器224。计算机器 300的又一些其它版本包括经由下列连接中的任一个而被连接到I/O设备 330a-330n的处理器321:HyperTransport、快速I/O和InfiniBand。计算机 器300的另外的实施方式包括使用本地互连总线与一个I/O设备330a通信 和使用直接连接与第二I/O设备330b通信的处理器321。

计算设备300在一些实施方式中包括主存储器单元322和高速缓冲存 储器340。高速缓冲存储器340可以是任何存储器类型,且在一些实施方 式中可以是下列类型的存储器中的任一个:SRAM、BSRAM或EDRAM。 其它实施方式包括高速缓冲存储器340和主存储器单元322,其可以是下 列类型的存储器中的任一个:静态随机存取存储器(SRAM)、猝发式SRAM 或同步猝发式SRAM(BSRAM);动态随机存取存储器(DRAM);快速 页面模式DRAM(FPM DRAM);增强DRAM(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);或任何其它类型 的存储器。另外的实施方式包括可经由系统总线350、存储器端口303或 允许处理器321访问存储器322的任何其它连接、总线或端口来访问主存 储器322的中央处理单元321。

计算设备200/300的一个实施方式提供对下列安装设备216中的任一 个的支持:CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各 种形式的磁带驱动器、USB设备、可引导介质、可引导CD、用于GNU/Linux 分布(例如)的可引导CD、硬盘驱动器或适合于安装应用或 软件的任何其它设备。应用在一些实施方式中可包括客户端代理220或客 户端代理220的任何部分。计算设备200/300还可包括存储设备228,其 可以是任一个或多个硬盘驱动器或一个或多个独立磁盘冗余阵列;其中存 储设备被配置成存储操作系统、软件、程序应用或客户端代理220的至少 一部分。计算设备200、300的另一实施方式包括用作存储设备228的安 装设备216。

计算设备200、300还可包括网络接口218以通过各种连接(包括但 不限于,标准电话线、LAN或WAN链路(例如802.11、T1、T3、56kb、 X.25、SNA、DECNET)、宽带连接(例如ISDN、帧中继、ATM、千兆比 特以太网、SONET上以太网)、无线连接或任何或所有上述连接的某种组 合)与局域网(LAN)、广域网(WAN)或互联网连接。也可使用各种通 信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、 SDH、光纤分布数据接口(FDDI)、RS232、RS485、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异 步连接)来建立连接。计算设备200、300的一个版本包括能够经由任何 类型和/或形式的网关或隧道协议(例如安全套接层(SSL)或传输层安全 (TLS)或由Citrix系统公司制造的Citrix网关协议)与额外的计算设备 200’、300’通信的网络接口218。网络接口218的版本可包括下列项中的任 一个:内置网络适配器、网络接口卡、PCMCIA网卡、卡总线网络适配器、 无线网络适配器、USB网络适配器、调制解调器或适合于使计算设备200、 300通过接口连接到能够通信并执行本文所述的方法和系统的网络的任何 其它设备。

计算设备200、300的实施方式包括下面的I/O设备230a-230n中的任 一个:键盘226、指向设备227、鼠标、触控板、光笔、轨迹球、麦克风、 绘图板、视频显示器、扬声器、喷墨打印机、激光打印机和染料升华打印 机或能够执行本文所述的方法和系统的任何其它输入/输出设备。I/O控制 器223在一些实施方式中可连接到多个I/O设备230a-230n以控制一个或 多个I/O设备。I/O设备230a-230n的一些实施方式可被配置成提供存储或 安装介质216,而其它实施方式可提供用于接收USB存储设备(例如由 Twintech工业公司制造的设备的USB闪存驱动线)的通用串行总线(USB) 接口。又一些其它实施方式包括I/O设备230,其可以是在系统总线250 和外部通信总线(例如USB总线、Apple桌面总线、RS-232串行连接、 SCSI总线、FireWire总线、FireWire 800总线、以太网总线、AppleTalk总 线、千兆比特以太网总线、异步传输模式总线、HIPPI总线、超HIPPI总 线、SerialPlus总线、SCI/LAMP总线、fibreChannel总线或串行连接小计 算机系统接口总线)之间的桥。

在一些实施方式中,计算机器200、300可连接到多个显示设备 224a-224n,在其它实施方式中,计算设备100可连接到单个显示设备224, 而在又一些其它实施方式中,计算设备200、300连接到相同类型或形式 的显示器的显示设备224a-224n,或连接到不同类型或形式的显示设备。 显示设备224a-224n的实施方式可由下列部件支持和启动:一个或多个I/O 设备230a-230n;I/O控制器223;I/O设备230a-230n和I/O控制器223的 组合;能够支持显示设备224a-224n的硬件和软件的任何组合;通过接口 连接、通信、连接或使用显示设备224a-224n的任何类型和/或形式的视频 适配器、视频卡、驱动器和/或库。计算设备200、300在一些实施方式中 可被配置成使用一个或多个显示设备224a-224n,这些配置包括:具有多 个连接器来通过接口连接到多个显示设备224a-224n;具有多个视频适配 器,每个视频适配器连接到一个或多个显示设备224a-224n;具有被配置 成支持多个显示器224a-224n的操作系统;使用包括在计算设备200内的 电路和软件来连接到多个显示设备224a-224n并使用多个显示设备 224a-224n;以及执行在主计算设备200和多个辅助计算设备上的软件以使 主计算设备200能够使用辅助计算设备的显示器作为主计算设备200的显 示设备224a-224n。计算设备200的又一些其它实施方式可包括由多个辅 助计算设备提供的并经由网络连接到主计算设备200的多个显示设备 224a-224n。

在一些实施方式中,计算机器200可执行任何操作系统,而在其它实 施方式中,计算机器200可执行下列操作系统中的任一个:MICROSOFT  WINDOWS操作系统的版本(例如WINDOWS 3.x、WINDOWS 95、 WINDOWS 98、WINDOWS 2000、WINDOWS NT 3.51、WINDOWS NT 4.0、 WINDOWS CE、WINDOWS XP和WINDOWS VISTA)、Unix和Linux操 作系统的不同版本、由苹果计算机制造的MAC OS的任何版本、由国际商 用机器公司制造的OS/2、任何嵌入式操作系统、任何实时操作系统、任何 开放源操作系统、任何专用操作系统、移动计算设备的任何操作系统或任 何其它操作系统。在又一实施方式中,计算机器200可执行多个操作系统。 例如,计算机器200可执行PARALLELS或另一虚拟化平台(其可执行或 管理执行第一操作系统的虚拟机),而计算机器200执行不同于第一操作 系统的第二操作系统。

计算机器200可体现在下列计算设备的任一个中:计算工作站、台式 计算机、膝上型计算机或笔记本计算机、服务器、手持计算机、移动电话、 便携式电信设备、媒体播放设备、游戏系统、移动计算设备、上网本、由 苹果计算机制造的IPOD系列设备的设备、由索尼公司制造的 PLAYSTATION系列设备中的任一个、由Nintendo有限公司制造的 Nintendo系列设备中的任一个、由微软公司制造的XBOX系列设备中的任 一个、或能够通信并具有足够的处理器能力和存储器容量来执行本文描述 的方法和系统的任何其它类型和/或形式的计算、电信或媒体设备。在其它 实施方式中,计算机器100可以是移动设备,例如下列移动设备中的任一 个:启用JAVA的手机或个人数字助理(PDA),例如都由摩托罗拉公司制 造的i55sr、i58sr、i85s、i88s、i90c、i90cl或im1100;由Kyocera制造的 6035或7135;由三星电子有限公司制造的i300或i330;由Palm公司制造 的TREO 180、270、600、650、680、700p、700w或750智能电话;具有 与设备一致的不同的处理器、操作系统和输入设备的任何计算设备;或能 够执行本文所述的方法和系统的任何其它移动计算设备。在又一些其它实 施方式中,计算设备200可以是下列移动计算设备中的任一个:任一系列 的黑莓或由Research In Motion有限公司制造的其它手持设备、由苹果计算 机制造的iPhone、Palm Pre、Pocket PC、Pocket PC电话或任何其它手持移 动设备。

在一些实施方式中,计算设备200可具有与设备一致的不同的处理器、 操作系统和输入设备。例如,在一个实施方式中,计算设备200是由Palm 公司制造的TREO 180、270、600、650、680、700p、700w或750智能电 话。在这些实施方式的一些中,TREO智能电话在PalmOS操作系统的控 制下操作并包括手写笔输入设备以及五向导航器设备。

在其它实施方式中,计算设备200是移动设备,例如启用JAVA的智 能手机或个人数字助理(PDA),例如全部是由伊利诺斯州绍姆堡的摩托 罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100、由日本 京都的Kyocera制造的6035或7135或由韩国首尔的三星电子有限公司制 造的i300或i330。在一些实施方式中,计算设备200是由芬兰的诺基亚或 由瑞典伦德的索尼爱立信移动通信AB制造的移动设备。

在又一些其它实施方式中,计算设备200是黑莓手持或智能电话,例 如由Research In Motion有限公司制造的设备,包括黑莓7100系列、8700 系列、7700系列、7200系列、黑莓7520或黑莓Pearl 8100。在又一些其 它实施方式中,计算设备200是智能电话、Pocket PC、Pocket PC电话或 支持微软Windows Mobile Software的其它手持移动设备。而且,计算设备 200可以是任何工作站、台式计算机、膝上型计算机或笔记本计算机、服 务器、手持计算机、移动电话、任何其它计算机、或能够通信并具有足够 的处理器能力和存储器容量来执行本文描述的操作的其它形式的计算设 备或电信设备。

在一些实施方式中,计算设备200是数字音频播放器。在这些实施方 式之一中,计算设备200是数字音频播放器,例如由加利福尼亚州库比蒂 诺的苹果计算机制造的Apple IPOD、IPOD Touch、IPOD NANO和IPOD  SHUFFLE设备系列。在这些实施方式的另一个中,数字音频播放器可以 起便携式媒体播放器和大容量存储设备的作用。在其它实施方式中,计算 设备200是数字音频播放器,例如由新泽西州Ridgefield Park的美国三星 电子制造的DigitalAudioPlayer Select MP3播放器或由伊利诺斯州绍姆堡的 摩托罗拉公司制造的Motorola m500或m25数字音频播放器。在又一些其 它实施方式中,计算设备200是便携式媒体播放器,例如由Creative技术 有限公司制造的Zen Vision W、Zen Vision系列、Zen便携式媒体中心设备 或MP3播放器的数字MP3系列。在又一些其它实施方式中,计算设备200 是支持包括以下文件格式但不限于以下文件格式的便携式媒体播放器或 数字音频播放器:MP3、WAV、M4A/AAC、WMA保护AAC、AIFF、audible  audiobook、苹果无损音频文件格式和.mov、.m4v和.mp4MPEG-4 (H.264/MPEG-4AVC)视频文件格式。

在一些实施方式中,计算设备200包括设备的组合,例如与数字音频 播放器或便携式媒体播放器组合的移动电话。在这些实施方式之一中,计 算设备200是组合数字音频播放器和移动电话的Motorola RAZR或 Motorola ROKR系列。在这些实施方式的另一个中,计算设备200是由加 利福尼亚州库比蒂诺的苹果计算机制造的iPhone智能电话。

图1-3示出的是说明性的桌面虚拟化系统的高级体系结构。如所示, 桌面虚拟化系统可以是单服务器或多服务器系统或云系统,包括被配置成 向一个或多个客户端访问设备140提供虚拟机和/或虚拟应用的至少一个 虚拟化服务器106。如在本文使用的,桌面指图形环境或空间,其中一个 或多个应用可被托管和/或执行。桌面可包括为操作系统的实例提供用户界 面的图形壳,在该操作系统中可集成本地和/或远程应用。如在本文所使用 的,应用是在操作系统(和可选地,还有桌面)的实例已经被装入之后执 行的程序。操作系统的每个实例可以是物理的(例如每设备一个操作系统) 或虚拟的(例如在单个设备上运行的OS的很多实例)。每个应用可在本地 设备上执行或在远程定位的设备上执行(例如远程)。

B.包括虚拟化环境的系统

在图4中示出计算机设备401的一个实施方式,其被配置为在虚拟化 环境中的虚拟化服务器,例如单服务器、多服务器或云计算环境。图1所 示的虚拟化服务器401可被部署为图1所示的服务器106或图2和图3所 示的计算设备200和300的一个或多个实施方式和/或由图1所示的服务器 106或图2和图3所示的计算设备200和300的一个或多个实施方式来实 现。包括在虚拟化服务器401中的是可包括一个或多个物理磁盘404、一 个或多个物理设备406、一个或多个物理处理器408和物理存储器416的 硬件层。在一些实施方式中,固件412可存储在物理存储器416中的存储 器元件内并可由一个或多个物理处理器408执行。虚拟化服务器401还可 包括可存储在物理存储器416中的存储器元件中且可被一个或多个物理处 理器408执行的操作系统414。仍然进一步地,超级监督器402可存储在 物理存储器416中的存储器元件中,并可由一个或多个物理处理器408执 行。在一个或多个物理处理器408上执行的可以是一个或多个虚拟机 432A-C(通常432)。每个虚拟机432可具有虚拟磁盘426A-C和虚拟处理 器428A-C。在一些实施方式中,第一虚拟机432A可在虚拟处理器428A 上执行包括工具堆栈424的控制程序420。在其它实施方式中,一个或多 个虚拟机432B-C可在虚拟处理器428B-C上执行客人操作系统430A-B。

进一步参考图4,且更详细的是,虚拟服务器401可包括具有与虚拟 化服务器401通信的一件或多件硬件的硬件层410。在一些实施方式中, 硬件层410可包括一个或多个物理磁盘404、一个或多个物理设备406、 一个或多个物理处理器408和一个或多个存储器416。物理部件404、406、 408和416可包括例如上面在图1-3中描述的任何部件。例如,物理磁盘 404可包括永久存储器存储、临时存储器存储、磁盘驱动器(例如光学、 软盘、磁带)、硬盘、外部卡驱动器、闪存、网络附接存储、存储区域网 络或虚拟化服务器401可访问的任何其它存储库。物理设备406可包括被 包括在虚拟服务器401中的任何设备和/或被包括在虚拟服务器401中的设 备和与虚拟化服务器401通信的外部设备的任何组合。物理设备406可以 是例如网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显示设备、 扬声器、光学驱动器、存储设备、通用串行总线连接、打印机、扫描仪、 网络元件(例如路由器、防火墙、网络地址转换器、负载均衡器、虚拟私 有网(VPN)网关、动态主机配置协议(DHCP)路由器等)或连接到虚 拟化服务器401或与虚拟化服务器401通信的任何设备。在硬件层410中 的物理存储器416可包括任何类型的存储器。物理存储器416可存储数据, 且在一些实施方式中可存储一个或多个程序或可执行指令集。图4示出的 是实施方式,其中固件412存储在虚拟化服务器401的物理存储器416内。 存储在物理存储器416中的程序或可执行指令可由虚拟化服务器401的一 个或多个处理器408执行。

虚拟化服务器401还可包括超级监督器402。在一些实施方式中,超 级监督器402可以是由处理器408在虚拟化服务器401上执行以创建并管 理任何数量的虚拟机432的程序。超级监督器402可被称为虚拟机监视器 或平台虚拟化软件。在一些实施方式中,超级监督器402可以是可执行指 令和监控在计算机器上执行的虚拟机的硬件的任何组合。超级监督器402 可以是类型2超级监督器或在虚拟化服务器401上执行的操作系统414内 执行的超级监督器。类型2超级监督器在一些实施方式中在操作系统414 环境内执行,且虚拟机在高于超级监督器的水平处执行。在很多实施方式 中,类型2超级监督器在用户的操作系统的背景内执行,使得类型2超级 监督器与用户的操作系统交互作用。在其它实施方式中,在虚拟化环境中 的一个或多个虚拟化服务器401可包括类型1超级监督器(未示出)。类 型1超级监督器可通过直接访问在硬件层410内的硬件和资源来在虚拟化 服务器401上执行。也就是说,虽然类型2超级监督器402通过主机操作 系统414访问系统资源,类型1超级监督器可直接访问所有系统资源,而 不需要主机操作系统414。类型1超级监督器可直接在虚拟化服务器401 的一个或多个物理处理器408上执行,并可包括存储在物理存储器416中 的程序数据。

超级监督器402在一些实施方式中可以用模拟有权直接访问系统资源 的操作系统430或控制程序420的任何方式向操作系统430或在虚拟机432 上执行的控制程序420提供虚拟资源。系统资源可包括:物理设备406、 物理磁盘、物理处理器、物理存储器416和包括在虚拟化服务器410的硬 件层410中的任何其它部件。在这些实施方式中,超级监督器402可用于 仿真虚拟硬件、分割物理硬件、虚拟化物理硬件或执行提供对计算环境的 访问的虚拟机。在又一些其它实施方式中,超级监督器402为在虚拟化服 务器401上执行的虚拟机432控制处理器调度和存储器分割。超级监督器 402可包括由加利福尼亚州帕罗奥多的VMWare公司制造的那些超级监督 器;XEN超级监督器,一种开源产品,其开发是由开源Xen.org社区监督; 由微软或其它公司提供的HyperV、VirtualServer或虚拟PC超级监督器。 在一些实施方式中,虚拟化服务器401执行创建虚拟机平台的超级监督器 402,客人操作系统可在超级监督器402上执行。在这些实施方式中,虚 拟化服务器401可被称为主机服务器。这样的虚拟化服务器的例子是由佛 罗里达州罗德岱堡的Citrix系统公司提供的XEN SERVER。

超级监督器402可创建一个或多个虚拟机432B-C(通常432),其中 客人操作系统430执行。在一些实施方式中,超级监督器402可装入虚拟 机图像以创建虚拟机432。在其它实施方式中,超级监督器402可执行在 虚拟机432内的客人操作系统430。在又一些其它实施方式中,虚拟机432 可执行客人操作系统430。

除了创建虚拟机432以外,超级监督器402还可控制至少一个虚拟机 432的执行。在其它实施方式中,超级监督器402可给至少一个虚拟机432 呈递由虚拟化服务器401提供的至少一个硬件资源(例如在硬件层410内 可用的任何硬件资源)的抽象。在其它实施方式中,超级监督器402可控 制虚拟机432访问在虚拟化服务器401内可用的物理处理器408的方式。 控制对物理处理器408的访问可包括确定虚拟机432是否应访问处理器 408,以及物理处理器能力如何呈递到虚拟机432。

如在图4的例子中所示的,虚拟化服务器401可托管或执行一个或多 个虚拟机432。虚拟机432是可执行指令集,其在由处理器408执行时, 模仿物理计算机的操作,使得虚拟机432可执行程序和过程很像物理计算 设备。虽然图4示出实施方式,其中虚拟化服务器401托管三个虚拟机432, 在其它实施方式中,虚拟化服务器401可托管任何数量的虚拟机432。超 级监督器402在一些实施方式中给每个虚拟机432提供该虚拟机432可用 的物理硬件、存储器、处理器和其它系统资源的唯一虚拟视图。在一些实 施方式中,唯一虚拟视图可基于下列项中的任一个:虚拟机许可;策略引 擎对一个或多个虚拟机标识符的应用;访问虚拟机的用户;在虚拟机上执 行的应用;由虚拟机访问的网络;或任何其它类似的标准。例如,超级监 督器402可创建一个或多个非安全虚拟机432和一个或多个安全虚拟机 432。非安全虚拟机432可被防止访问安全虚拟机432可被允许访问的资 源、硬件、存储器位置和程序。在其它实施方式中,超级监督器402可给 每个虚拟机432提供物理硬件、存储器、处理器和虚拟机432可用的其它 系统资源的实质上类似的虚拟视图。

每个虚拟机432可包括虚拟磁盘426A-C(通常426)和虚拟处理器 428A-C(通常428)。虚拟磁盘426在一些实施方式中是虚拟化服务器401 的一个或多个物理磁盘404或虚拟化服务器401的一个或多个物理磁盘 404的一部分的虚拟化视图。物理磁盘404的虚拟化视图可由超级监督器 402产生、提供并管理。在一些实施方式中,超级监督器402给每个虚拟 机432提供物理磁盘404的唯一视图。因此在这些实施方式中,当与其它 虚拟磁盘426比较时,包括在每个虚拟机432中的虚拟磁盘426可以是唯 一的。

虚拟处理器428可以是虚拟化服务器401的一个或多个物理处理器 408的虚拟化视图。在一些实施方式中,物理处理器408的虚拟化视图可 以由超级监督器402产生、提供并管理。在一些实施方式中,虚拟处理器 428具有至少一个物理处理器408的实质上所有相同的特征。在其它实施 方式中,虚拟处理器408提供物理处理器408的修改的视图,使得虚拟处 理器428的至少一些特征不同于相应的物理处理器408的特征。

C.在云计算环境中的网络方案

图5示出云计算环境(或云系统)的例子。如在图5中看到的,客户 端计算机511-514可与云管理服务器510通信以访问云系统的计算资源(例 如主机服务器503、存储资源504和网络资源505)。

可在一个或多个物理服务器上实现管理服务器510。管理服务器510 可运行例如佛罗里达州罗德岱堡的Citrix系统公司的CLOUDSTACK或 OPENSTACK等。管理服务器510可管理各种计算资源,包括云硬件和软 件资源,例如主机计算机503、数据存储设备504和联网设备505。云硬 件和软件资源可包括私有和/或公共部件。例如,云可被配置为由一个或多 个特定的消费者或客户端计算机511-514和/或通过私有网络使用的私有 云。在其它实施方式中,公共云或混合公共-私有云可由其它消费者通过开 放的或混合网络来使用。

管理服务器510可被配置成提供用户界面,云操作员和云消费者可通 过用户界面与云系统交互作用。例如,管理服务器510可提供一组API和 /或具有用户界面的一个或多个云操作员控制台应用(例如基于web的单机 应用)以允许云操作员管理云资源,配置虚拟化层,管理消费者账户,并 执行其它云管理任务。管理服务器510也可包括一组API和/或具有用户界 面的一个或多个消费者控制台应用,用户界面被配置成经由客户端计算机 511-514从终端用户接收云计算请求,例如创建、修改或销毁云内的虚拟 机的请求。客户端计算机511-514可经由互联网或其它通信网络连接到管 理服务器510,并可请求对由管理服务器510管理的一个或多个计算资源 的访问。响应于客户端请求,管理服务器510可包括被配置成基于客户端 请求来选择并提供在云系统的硬件层中的物理资源的资源管理器。例如, 管理服务器510和云系统的额外部件可被配置成通过网络(例如互联网) 为在客户端计算机511-514处的消费者提供、创建并管理虚拟机及其操作 环境(例如超级监督器、存储资源、由网络元件提供的服务等),给消费 者提供计算资源、数据存储服务、联网能力和计算机平台及应用支持。云 系统还可被配置成提供各种特定的服务,包括安全系统、开发环境、用户 界面等。

某些客户端511-514可例如与代表相同终端用户或加入同一公司或组 织的不同用户创建虚拟机的不同客户端计算机有关。在其它例子中,某些 客户端511-514可以是不相关的,例如参与不同公司或组织的用户。对于 不相关的客户端,可对其他用户隐藏关于任一个用户的虚拟机器或存储器 的信息。

现在参考云计算环境的物理硬件层,可用性区501-502(或多个区) 可以指所分配的一组物理计算资源。区可以在地理上与计算资源的总云中 的其它区分离。例如,区501可以是位于加利福尼亚州的第一云数据中心, 且区502可以是位于佛罗里达州的第二云数据中心。管理服务器510可位 于可用性区之一处或分开的位置处。每个区可包括通过网关与在区之外的 设备(例如管理服务器510)通过接口连接的内部网络。云(例如客户端 511-514)的终端用户可以或可以不知道在区之间的区别。例如,终端用户 可请求创建具有指定量的存储器、处理能力和网络容量的虚拟机。管理服 务器510可对用户的请求做出响应并可分配资源以在用户不知道虚拟机是 否使用来自区501或区502的资源而被创建的情况下创建虚拟机。在其它 例子中,云系统可允许终端用户请求虚拟机(或其它云资源)在特定的区 中或在区内的特定资源503-505上被分配。

在这个例子中,每个区501-502可包括各种物理硬件部件(或计算资 源)503-505(例如物理托管资源(或处理资源)、物理网络资源、物理存 储资源、交换机和可用于向消费者提供云计算服务的额外的硬件资源的布 置。在云区501-502中的物理托管资源可包括可被配置成创建并托管虚拟 机实例的一个或多个计算机服务器503,例如上面描述的虚拟化服务器 410。在云区501或502中的物理网络资源可包括一个或多个网络元件505 (例如网络服务提供者),其包括被配置成向云消费者提供网络服务的硬 件和/或软件,例如防火墙、网络地址转换器、负载均衡器、虚拟私有网络 (VPN)网关、动态主机配置协议(DHCP)路由器、域名系统(DNS) 服务器、静态NAT设备、弹性负载均衡器(ELB)等。在云区501-502中 的存储资源可包括存储磁盘(例如固态硬盘(SSD)、磁卡磁盘等)和其它 存储设备。

图5所示的示例云计算环境还可包括具有被配置成创建和管理虚拟机 并使用云中的物理资源来向消费者提供其它服务的额外硬件和/或软件资 源的虚拟化层(例如,如在图1-4中所示)。虚拟化层可包括如上面在图4 中描述的超级监督器连同其它部件以提供网络虚拟化、存储虚拟化等。虚 拟化层可以作为相对于物理资源层的分离层或可与物理资源层共享一些 或全部相同的硬件和/或软件资源。例如,虚拟化层可包括安装在具有物理 计算资源的每个虚拟化服务器503中的超级监督器。

图6示出的是用于定义在云计算环境中的网络方案并使网络方案与虚 拟机网络、物理网络和/或物理资源的云内的网络元件505相关的说明性的 方法的流程图。如在本文使用的,物理网络可以指安装在云计算环境的可 用性区(例如区501或502)中的一组物理网络元件和配线。网络元件505 (或网络服务提供者)可以指向云内的虚拟机提供各种网络服务的物理部 件。可安装在区501或502中的网络元件的例子包括路由器、防火墙器具、 网络地址转换器、负载均衡器、VPN网关和DHCP路由器等。每个网络元 件可执行关于在相同可用性区501或502中启动的虚拟机的网络服务。在 被配置成提供相同的网络服务的区中可以有不同的网络元件。例如,区501 可包括Cisco路由器和Juniper路由器,每个路由器能够为区中的虚拟机提 供防火墙服务。此外,某些网络元件可提供网络服务的多个实例,使得单 个网络元件可由多个不同的物理网络使用。

在步骤601中,云操作员(或云管理员)可为虚拟机和在云计算环境 中创建的其它资源定义云客户端511-514可采用的一个或多个网络方案。 网络方案指虚拟机可采用的一组(或捆)网络服务。网络方案可包括不仅 所提供的网络服务的类型(例如路由、防火墙、网络地址转换、负载均衡、 VPN、DHCP、DNS等),而且可规定待提供的网络服务的质量(例如速度、 容量或由网络元件提供的特定特征等)以及将提供服务的网络元件的特定 型号、类型、名称和/或制造商。例如,由云系统经由API提供来创建(或 定义)新网络方案的功能可接受下面的功能参数:DCHP服务标识符、DNS 服务标识符、源NAT服务标识符、端口转发服务标识符、VPN服务标识 符、防火墙服务标识符、网关服务标识符和可为这个网络方案提供服务的 网络元件名称的列表。

简要参考图7,可向终端用户(例如使用客户端控制台应用)显示说 明性的用户界面700,同时终端用户正请求新虚拟机的创建。在这个例子 中,用户已经规定待创建的虚拟机的期望的处理能力和存储能力。在用户 界面700中,客户端控制台应用给终端用户提供可被选择用于新虚拟机的 网络方案705-710的列表。网络方案705对应于具有IG网络速度、Cisco 防火墙和其它特定网关、负载均衡器和端口转发网络元件(未示出)的虚 拟网络。网络方案710对应于具有10G网络速度、Juniper防火墙和不同的 特定防火墙、负载均衡器和端口转发网络元件(未示出)的共享网络。

云操作员可在步骤601中通过使用云操作员控制台应用和/或由云系 统提供的API(例如经由管理服务器510)来创建(或定义)一组网络方 案。系统可允许云操作员命名网络方案,并选择关于网络方案捆绑在一起 的网络服务的集合。云操作员可以只识别方案的网络服务(例如防火墙服 务、端口转发服务等),或可识别将提供那些服务(例如Juniper网关模型 xxx、Cisco端口转发交换机模型xxx等)的特定网络元件(即物理网络硬 件)。在云操作员定义了网络方案之后,云系统可在管理服务器510中保 存网络方案的定义,并可将初始操作状态分配到网络方案(例如禁用、启 用、活动、不活动)。在某些例子中,所有网络方案可最初在禁用状态中 被创建,并可只在网络服务和/或网络元件单独地添加到网络方案之后被启 用。此外,可只为了系统使用而创建网络方案,使得它们在创建虚拟网络 时作为选项对终端用户是不可见的。

在步骤602中,云操作员可在可用性区中创建一个或多个物理网络。 如上面提到的,物理网络指在云可用性区中的网络元件的集合(即物理网 络硬件资源)。可用性区可被配置有多个物理网络。例如在图5的区501 中,网络元件A和B(等等)可被包括在第一物理网络中,而网络元件C 和D(等等)可被包括在第二物理网络中。API和/或控制台应用可由云系 统(例如管理服务器510)提供以允许云操作员定义(或操作)在可用性 区内的物理网络。当创建物理网络时,云操作员可选择区,并接着可规定 将被分配到物理网络的网络元件505的列表。云操作员也可定义物理网络 的一组特性,例如,包括物理网络的功能(例如存储、客人、管理或公共)、 在物理网络上使用的隔离级别以及物理网络的速度。特性可被设置为创建 成物理网络或之后在现有物理网络上。VLAN和VLAN范围也可被添加到 物理网络。在物理网络的创建期间,物理网络可被给予可由超级监督器使 用来找到物理网络的唯一名称。

物理网络可由云系统分配操作状态(例如启用或禁用)。在某些例子 中,所有物理网络可在禁用状态中被创建,并可在确认必要的网络元件的 集合已经被添加到物理网络以提供为物理网络规定的服务之后由云操作 员启用。

云操作员也可更新并删除在区中的物理网络。当更新物理网络时,云 操作员可首先识别待更新的物理网络,并接着可向被分配到物理网络的网 络元件的列表添加网络元件或从该列表移除网络元件。也可通过改变状态 (例如启用或禁用)、速度(例如1G或10G)、隔离级别或物理网络的其 它特性来更新物理网络。当物理网络被删除时,与物理网络相关的网络元 件可被解除分配并被释放以用于可用性区内的其它使用。如下面描述的, 虚拟机网络(即一个或多个虚拟机可访问的物理网络的虚拟化)可被添加 到物理网络和可从物理网络移除。在某些例子中,物理网络不能被删除, 直到在物理网络上的所有虚拟机网络被解除分配为止。

在步骤603中,云操作员可将一个或多个网络元件添加到物理网络。 如上面讨论的,网络元件505(或网络服务提供者)指包括可被配置成向 云计算环境中的终端用户511-514提供网络服务的硬件和/或软件的物理网 络资源。云系统可维护在每个区中例如在管理服务器510或其它持久性存 储器中的XML文件中物理地安装的和操作的网络元件的列表。为了将网 络元件添加到物理网络,云系统可提供API和/或控制台应用,其允许云操 作员识别物理网络,选择特定的网络元件505a,并将网络元件添加到物理 网络。因此,创建物理网络并将网络元件添加到物理网络的功能不需要改 变在区501中的任何计算资源503-5-5的物理配线,但替代地可以指在区 内的网络元件505的逻辑分配。在这个分配之后,网络元件505a可用于只 向其被分配的物理网络内的虚拟机提供网络服务,且可以不被在相同区 501中的其它物理网络内的虚拟机使用。

当将网络元件505添加到物理网络时,云系统可将操作状态分配到网 络元件(例如启用或禁用)。在某些例子中,云系统默认地可添加在禁用 状态中的网络元件,并可能需要每个网络元件被分开地启用。当启用网络 元件505a时,云系统可配置物理网络的元件(使用元件的API),并可在 启用元件之前确认其被充分配置成向该物理网络内的虚拟机提供网络服 务。某些网络元件505可支持在相同物理网络上的相同类型的网络元件的 多个实例。在这个例子中,可通过网络元件505的API来配置每个单独的 实例。

云操作员也可使用由云系统提供的API和/或控制台应用来启用或禁 用在物理网络上的网络元件,并从物理网络移除元件。

在步骤604中,云操作员可创建在物理网络内的一个或多个虚拟机网 络。在这个背景下,虚拟机网络可以指可被配置成由一个或多个虚拟机访 问的物理网络的概念化,且不指包括物理网络元件的物理网络。云系统可 提供API和/或控制台应用以允许云操作员创建和销毁来自在可用性区501 中的物理网络的虚拟机网络。当虚拟机网络被创建时,网络可以有或可以 没有从物理网络分配给它的网络资源(即由网络元件提供的服务、实例或 专用开销)。在某些例子中,由云系统创建的虚拟机网络可最初存在于概 念或预分配状态中。例如,为了将网络资源保存在物理网络内,云系统可 以不将某些资源(例如VLAN)分配到虚拟机网络,直到虚拟机在那个网 络中被启动为止。类似地,当在虚拟机网络中的最后的虚拟机被停止时, 云系统(例如管理服务器510)可自动从虚拟机网络(例如使用垃圾收集 技术)解除分配资源,使得网络资源在不包含任何虚拟机的虚拟机网络内 不繁忙。

在物理网络内的虚拟机网络可以是专用或共享网络。专用虚拟机网络 是在物理网络内为与单个终端用户相关的虚拟机建立的网络。专用虚拟机 网络可使用资源(例如VLAN)的动态分配和垃圾收集,使得网络不消费 任何物理网络资源,直到它包含现有的虚拟机为止。在某些例子中,专用 网络可与可为整个专用网络升级或降级的单个网络方案相关。共享虚拟机 网络可由多个终端用户共享,并可与多个网络方案相关。因此,创建在共 享虚拟机网络内的虚拟机的终端用户可以能够为他们的虚拟机选择多个 不同的网络方案之一。可使用安全组来执行在共享虚拟机网络中的隔离。

在步骤605中,云操作员可使在步骤601中定义的网络方案与在步骤 604中创建的虚拟机网络相关。云系统可提供API和/或控制台应用以允许 云操作员使网络方案与虚拟机网络匹配。因此,当终端用户选择特定的网 络方案用于创建虚拟机时,云系统可确保新虚拟机将在对应于选定网络方 案的虚拟机网络内被创建。标签和各种其它技术可被用于使网络方案与虚 拟机网络相关。标签可以指与特定的网络方案、虚拟机网络、网络元件、 物理网络、区和/或其它云计算资源相关的电子标签或存储数据。例如,对 于由云系统提供的每个网络方案,系统可存储标签(例如存储在系统数据 库中的数据或与网络方案相关的XML文件)以使方案与特定的虚拟机网 络相关。类似地,加标签可被用于使虚拟机网络与物理网络和/或网络元件 相关,以确保相应的物理网络和其中的网络元件将提供关于新虚拟机的网 络。作为例子,每个网络方案可具有与虚拟机网络相关的单个标签,每个 虚拟机网络可具有与物理网络相关的单个标签,且每个物理网络可具有与 在区中的被分配到物理网络的网络元件相关的一个或多个标签。因此,为 新虚拟机选择的网络方案可不仅确定虚拟机网络,而且确定物理网络和在 区中的将用于为虚拟机提供网络服务的网络元件。

现在参考图8-10,示出了说明创建虚拟机(图8)、改变现有虚拟机的 网络方案(图9)并销毁在云计算环境中的虚拟机(图10)的示例方法的 三个流程图。可在云系统(例如图5所示的说明性的云系统)或其它各种 云计算环境中执行这些示例方法中的每个。可在图6的步骤已经被执行来 创建并配置各种网络方案、虚拟机网络、网络元件、物理网络和云系统中 的可用性区之后(例如通过管理服务器510)执行图8-10所示的示例方法。

现在参考图8,在步骤801中,接收在云计算环境中创建虚拟机的请 求。可经由客户端计算机511-514使用由云系统(例如由管理服务器510) 提供的API和/或终端用户控制台应用来从云终端用户接收该请求。在这个 例子中,创建新虚拟机的请求可包括网络方案的选择。可提供用户界面(例 如图7所示的说明性的用户界面700)以允许终端用户为新虚拟机选择网 络方案705-710。

在步骤802中,在终端用户选择了网络方案之后,云系统可识别与网 络方案相关的虚拟机网络。如上面讨论的,网络方案可以被加标签(例如 使用标签数据库、XML文件等)并与相应的虚拟机网络相关,该虚拟机网 络可被加标签并与相应的物理网络相关,该物理网络可被加标签并与其所 分配的网络元件相关。因此,基于选定的网络方案,云系统可使用标签来 识别虚拟机网络、物理网络和将被用于向新虚拟机提供网络服务的特定网 络元件。

在步骤803中,云系统可确定虚拟机网络是否以前已经被分配在物理 网络上。如上面所提到的,可在概念或预分配状态中创建虚拟机网络,其 中云系统还没有将网络资源(例如VLAN)分配到虚拟机网络。例如,云 系统可以不将VLAN分配到专用虚拟机网络,直到第一虚拟机准备在该网 络中被启动为止,而当它们由云系统创建时共享虚拟机网络可自动被分 配。

如果虚拟机网络以前未被分配(803:否),则在步骤804中,云系统 可为虚拟机网络分配网络服务。网络服务由在物理网络内的网络元件(例 如路由器、防火墙、网络地址转换器、负载均衡器、VPN网关、DHCP路 由器、DNS服务器等)提供,并包括由网络元件实现的功能/服务的执行、 网络服务的新实例的创建和在网络元件内的专用开销(例如存储资源和处 理资源)的使用。在分配虚拟机网络之后,云系统可更新虚拟机网络的操 作状态以指示其被分配。如果虚拟机网络以前已经被分配(803:是),则 步骤804可被跳过且新虚拟机可在步骤805中在虚拟机网络上被创建。在 启动新虚拟机之后,云系统可更新虚拟机网络、物理网络和/或网络元件的 状态以指示虚拟机正在那些网络上运行并使用那些网络服务/元件。

现在参考图9,在步骤901中,接收改变现有虚拟机的网络方案的终 端用户请求。如在上面步骤801中描述的,可使用由云系统(例如管理服 务器510)提供的API和/或终端用户控制台应用经由客户端计算机511-514 从云终端用户接收该请求。改变现有虚拟机的网络方案的请求可包括,例 如通过提供用户界面(例如图7所示的说明性的用户界面700)来选择新 网络方案,以允许终端用户为虚拟机选择新网络方案。

在步骤902中,云系统可识别当前与虚拟机相关的虚拟机网络。如上 面讨论的,云系统可使用标签来识别虚拟机网络、物理网络和当前向虚拟 机提供网络服务的特定网络元件。

在步骤903中,云系统可确定当前虚拟机网络是否应从物理网络和/ 或网络元件被解除分配。如上面讨论的,当没有虚拟机存在于网络上时, 云系统可解除分配某些虚拟机网络。例如,如果当前虚拟机是在专用网络 上保留的唯一虚拟机,则云系统可在步骤903中确定专用虚拟机网络应从 物理网络被解除分配(903:是)。在其它例子中,如果其它虚拟机正在虚 拟机网络上运行,或如果网络是共享虚拟机网络,则云系统可确定虚拟机 网络不应从物理网络被解除分配(903:否)。此外,在一些例子中,多个 网络方案可由相同虚拟机网络支持。在这样的情况下,与选定网络方案相 关的虚拟机网络可与虚拟机的当前虚拟机网络相同,从而虚拟机网络不应 被解除分配(903:否),因为其将保持为虚拟机的虚拟机网络。虽然这些 例子可适用于某些云系统,但是关于虚拟机网络是否、何时和如何被分配 和解除分配的确定在不同的云系统中可以是不同的,这取决于由在那些系 统中的云操作员建立的分配和解除分配的规则。

在步骤904中,如果云系统已经确定了当前虚拟机网络应被解除分配 (903:是),则云系统可解除分配由物理网络内的网络元件(例如路由器、 防火墙、网络地址转换器、负载均衡器、VPN网关、DHCP路由器等)专 用的虚拟机网络的任何网络服务,从而释放那些网络资源以用于区中的其 它虚拟机网络/虚拟机。

在步骤905中,云系统识别(例如使用标签)与虚拟机的选定新网络 方案相关的虚拟机网络,且在步骤906中,云系统将虚拟机移动到新虚拟 机网络。当将虚拟机从一个虚拟机网络移动到另一虚拟机网络时,云系统 可首先确定新虚拟机网络是否被分配,且如果不,则可在物理网络内的分 配虚拟机网络,如上面在步骤803-804中描述的。云系统可接着配置在新 虚拟机网络中的网络元件以向虚拟机提供网络服务。如上面提到的,在一 些例子中,以前的网络方案和新网络方案可与相同的虚拟机网络相关。在 这样的例子中,在步骤906中,虚拟机不需要在不同的虚拟机网络之间移 动,但在物理网络内的网络元件仍可被潜在地重新配置成向虚拟机提供新 网络方案。

现在参考图10,在步骤1001中,接收销毁(或停止)现有的虚拟机 的终端用户请求。如上所述,可使用由云系统(例如由管理服务器510) 提供的API和/或终端用户控制台应用经由客户端计算机511-514从云终端 用户接收该请求。

在步骤1002中,云系统可识别当前与虚拟机相关的虚拟机网络。如 上面讨论的,云系统可使用标签来识别虚拟机网络、物理网络和当前向虚 拟机提供网络服务的特定网络元件。

在步骤1003中,云系统可确定当前虚拟机网络是否应从物理网络和/ 或网络元件解除分配。如上面关于步骤903讨论的,当虚拟机被销毁时, 云系统可实现关于虚拟机网络是否应被解除分配的规则。在步骤1004中, 如果云系统已经确定了虚拟机网络应被解除分配(1003:是),则云系统 可解除分配由物理网络内的网络元件(例如路由器、防火墙、网络地址转 换器、负载均衡器、VPN网关、DHCP路由器等)专用于虚拟机网络的任 何网络服务,从而释放那些网络资源以用于区中的其它虚拟机网络/虚拟 机。

在步骤1005中,虚拟机可被销毁且计算资源被指定用于虚拟机,包 括处理资源/托管资源、存储资源,且网络资源可被释放和被解除分配(例 如使用垃圾收集),从而释放在区中的现有的和未来虚拟机的计算资源。

本公开的方面从其说明性的实施方式方面进行了描述。从本公开的查 阅中,本领域中的普通技术人员将想到在所附权利要求的范围和精神内的 很多其它实施方式、修改和变化。例如,本领域中的普通技术人员将认识 到,在说明性的附图中示出的步骤可以用除了所述顺序以外的其它顺序执 行,以及根据本公开的方面,所示的一个或多个步骤可以是可选的。本领 域中的技术人员可特别根据前述教导来进行修改。例如,前面提到的实施 方式的每个元素可被单独地使用或与其它实施方式的元素组合地使用或 子组合地利用。还将认识到和理解的是,可进行修改而不偏离下面的权利 要求的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号