标记云计算环境中的物理资源的制作方法

文档序号:6533026阅读:229来源:国知局
标记云计算环境中的物理资源的制作方法
【专利摘要】一种云系统可以创建物理资源标签以存储诸如计算服务供应、存储供应和网络供应之类的云计算供应与云计算环境中的具体物理资源之间的关系。云计算供应可以被呈现给云消费者,这些供应对应于计算服务、存储、联网以及其它硬件或软件资源的各种组合。在消费者选择了一个或多个云计算供应之后,云资源管理器或云基础设施内的其它组件可以获取标签集合并且确定与所选择的供应相关联的物理硬件资源的集合。与所选择的供应相关联的物理硬件资源随后可以被用于提供并且创建新的虚拟机及其操作环境。
【专利说明】标记云计算环境中的物理资源
[0001] 相关申请的夺叉引用
[0002] 本申请要求于2012年2月9日提交的题为"Tagging Physical Resources in a Cloud Computing Environment"的美国专利申请序列号13, 369, 930的优先权,其内容通过 引用结合于此作为非限制性示例实施例。

【技术领域】
[0003] 本申请总体上涉及创建和管理虚拟机。特别地,本申请涉及在使用物理资源标签 的、云计算环境中的具体物理资源上提供虚拟机。

【背景技术】
[0004] 传统上,个人计算机包括操作系统、应用和用户设置的组合,它们均可以由所有者 或管理员在不间断的基础上进行单独管理。然而,许多组织现在使用桌面虚拟化来提供更 为灵活的选择以解决其用户不断变化的需求。在桌面虚拟化中,用户的计算环境(例如,操 作系统、应用和/或用户设置)可以与用户的物理计算设备(例如,智能电话、膝上型计算 机、台式计算机)分离开来。使用客户端-服务器技术,"虚拟桌面"可以被存储在远程服务 器中并且由该远程服务器来管理,而不是被存储在客户端计算设备的本地存储之中。
[0005] 现有若干种不同类型的桌面虚拟化系统。作为示例,虚拟桌面基础设施(VDI)是 指在驻留于服务器上的虚拟机内部运行用户桌面的处理。VDI和其它基于服务器的桌面虚 拟化系统可以为每个用户提供个性化桌面,同时允许集中管理和安全性。这样的系统中的 服务器可以包括用于虚拟桌面图像和系统配置信息的存储,以及用来提供虚拟桌面并且允 许用户与它们进行互连的软件组件。例如,VDI服务器可以包括用于创建并维护多个虚拟 机的一个或多个监管程序(hypervisor)(虚拟机管理器)、用于管理(多个)监管程序的软 件、连接代理以及用于提供和管理虚拟桌面的软件。
[0006] 可以使用单个虚拟化服务器或者作为服务器网格进行互连的服务器组合来实施 桌面虚拟化系统。例如,云计算环境或云系统可以包括计算资源(例如,桌面虚拟化服务 器)池、存储磁盘、联网硬件以及可以用来提供虚拟桌面的其它物理资源,以及用来为云系 统提供管理和消费者门户的另外的计算设备。云系统可以动态地为网络上的消费者创建并 管理虚拟机,为远程用户提供计算资源、数据存储服务、联网功能以及计算机平台和应用支 持。例如,云系统中的消费者可以请求具有指定处理器速度和存储器以及指定数量的磁盘 存储的新虚拟机。在云系统内,资源管理器可以从云资源池(例如,服务器、存储磁盘)中 选择可用物理资源的集合并且可以依据消费者所指定的计算参数而创建新的虚拟机。云计 算环境可以利用私有和/或公共组件为多个消费者进行服务,并且可以被配置为提供包括 web服务器、安全系统、研发环境、用户界面等在内的各种具体服务。


【发明内容】

[0007] 鉴于上述【背景技术】,下文中给出了本公开的简化
【发明内容】
以便提供对本文中所描 述的一些方面的基本理解。该
【发明内容】
并非是扩展性概述,且并非意在标示出关键或必要 要素或者对权利要求的范围加以界定。以下
【发明内容】
仅以简化形式给出各个所描述的方面 而作为以下所提供的更为详细的描述的前序。
[0008] 为了解决以上缺陷以及将在阅读本公开时所实现的另外的益处,这里的多个方面 描述了用于使用与物理硬件资源相关联的标签(例如,电子标记)在云计算环境中提供并 创建虚拟机以及其它供应的系统和方法。在一个示例中,在数据库或其它存储中创建并且 存储标签集合,描述云计算供应和云计算环境中的具体物理资源之间的关联。对应于计算 服务、存储、联网和其它硬件或软件资源的各种组合的一个或多个供应可以被呈现给云消 费者。在消费者选择了一个或多个云计算供应之后,云系统内的云资源管理器或其它组件 可以获取标签集合并且确定与所选择的供应相关联的物理硬件资源的集合。随后,可以使 用与所选择的供应相关联的物理硬件按资源,提供和创建新的虚拟机及其操作环境。

【专利附图】

【附图说明】
[0009] 已经总体上对本公开的多个方面进行了描述,现在将参考附图,其并非依比例进 行绘制并且其中:
[0010] 图1图示了可以在其中实施本公开内容的各个方面的示例操作环境。
[0011] 图2图示了可以依据本文中所描述的一个或多个说明性方面而被使用的计算设 备。
[0012] 图3图示了可以依据本文中所描述的一个或多个说明性方面而被使用的计算设 备。
[0013] 图4是描绘依据本文中所描述的一个或多个说明性方面的虚拟化服务器的实施 例的框图。
[0014] 图5图示了描绘依据本文中所描述的一个或多个说明性方面的云计算环境的实 施例的框图。
[0015] 图6是图示依据本文中所描述的一个或多个说明性方面的在云计算环境中使用 物理资源标签创建虚拟机的示例处理的流程图。
[0016] 图7A和7B图示了依据本文中所描述的一个或多个说明性方面的云计算环境中相 关的物理资源标签、供应和物理资源的示例表格、
[0017] 图7C图示了依据本文中所描述的一个或多个说明性方面的呈现云计算供应的集 合的示例用户界面。

【具体实施方式】
[0018] 在各个实施例的以下描述中对附图进行参考,这些附图形成本文的一部分并且在 附图中以图示的方式示出了可以在其中对本文中所描述的各方面进行实践的各个实施例。 所要理解的是,可以利用其它实施例并且可以做出结构和功能方面的修改而并不背离本发 明的范围和精神。
[0019] 如本领域技术人员在阅读以下公开时将会认识到的,本文中所描述的各个方面可 以被体现为方法、数据处理系统或计算机程序产品。因此,那些方面可以采用完全硬件的实 施例、完全软件的实施例或者结合软件和硬件方面的实施例的形式。此外,这样的方面可以 采取由一个或多个计算机可读存储媒介所存储的计算机程序产品的形式,其具有记录于该 存储媒介之中或之上的计算机可读程序代码或指令。可以利用任意适当的计算机可读存储 媒介,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或前述的任意组合。此外,表示 如本文中所描述的数据或事件的各种信号可以以电磁波的形式在源和目的地之间进行传 输,该电磁波通过诸如金属线、光纤和/或无线传输媒介(例如,空气和/或空间)的信号 传导媒介行进。
[0020] 图1图示了根据本公开内容的一个或多个说明性实施例的可以被使用的示例计 算系统100中的通用计算设备1〇1(例如,计算机服务器106a)的示例框图。根据一个或多 个方面,通用计算设备101可以是被配置用于为客户端访问设备提供虚拟机的单服务器或 多服务器台式虚拟化系统(例如,云系统)中的服务器l〇6a。通用计算设备101可以具有 用于对服务器及其相关联组件的整体操作进行控制的处理器103,上述组件包括随机访问 存储器(RAM) 105、只读存储器(ROM) 107、输入/输出(I/O)模块109和存储器115。
[0021] I/O模块109可以包括通用计算设备101的用户可以通过其提供输入的鼠标、键 盘、触摸屏、扫描仪、光学读取器和/或触笔(或(多个)其它输入设备),并且还可以包括 用于提供音频输出的扬声器以及用于提供文本、听觉和/或图形输出的视频显示设备中的 一个或多个。软件可以被存储在存储器115和/或其它存储内,以向处理器103提供指令而 使得通用计算设备101能够执行各种功能。例如,存储器115可以存储由通用计算设备101 使用的软件,诸如操作系统119、应用程序119和相关联的数据库121。备选地,用于通用计 算设备101的一些或全部计算机可执行指令可以被体现在硬件或固件(未示出)之中。
[0022] 通用计算设备101可以在支持到一个或多个远程计算机的连接的联网环境中进 行操作,该远程计算机诸如终端140 (也被称为客户端设备)。终端140可以是个人计算机 或服务器,其包括以上关于通用计算设备101所描述的许多或全部元件。图1中所描绘的 网络连接包括局域网(LAN) 125和广域网(WAN) 129,但是也可以包括其它网络。当在LAN联 网环境中使用时,通用计算设备101可以通过网络接口或适配器123连接至LAN 125。当 在WAN联网环境中使用时,通用计算设备101可以包括用于通过WAN 129、诸如计算机网络 130 (例如,互联网)而建立通信的调制解调器127或其它网络接口。将要认识到的是,所示 出的网络连接是说明性的,并且可以使用在计算机之间建立通信链路的其它手段。
[0023] 通用计算设备101和/或终端140也可以是包括诸如电池、扬声器和天线(未示 出)的各种其它组件的移动终端(例如,移动电话、智能电话、PDA、笔记本等)。
[0024] 本公开内容利用多种其它通用或专用计算系统环境或配置进行操作。可适于随本 公开内容使用的公知计算系统、环境和/或配置的示例包括但并不局限于个人计算机、月艮 务器计算机、手持或膝上型设备、多处理器系统、基于多处理器的系统、机顶盒、可编程消费 者电器、网络PC、小型计算机、大型计算机、包括以上任意系统或设备的分布式计算环境,等 等。
[0025] 如图1所示,一个或多个客户端设备140可以与一个或多个服务器106a_106n (在 本文中被统称为"(多个)服务器106")通信。在一个实施例中,计算环境100可以包括被 安装在(多个)服务器106和(多个)客户端机器之间的器件。因此,该器件能够管理客 户端/服务器连接,并且在一些情况下能够对多个后端服务器106之中的客户端连接进行 负载平衡。
[0026] (多个)客户端机器140在一些实施例中能够被称为单客户端机器140或客户端 机器140的单个群组,而(多个)服务器106可以被称为单个服务器106或服务器106的 单个群组。在一个实施例中,单个客户端机器140与多于一个的服务器106通信,而在另一 个实施例中,单个服务器106与多于一个的客户端机器140通信。在又另一个实施例中,单 个客户端机器140与单个服务器106通信。
[0027] 在一些实施例中,客户端机器140能够通过以下任意一个术语来引用:(多个)客 户端机器140 ;(多个)客户端;(多个)客户端计算机;(多个)客户端设备;(多个)客户 端计算设备;本地机器;远程机器;(多个)客户端节点;(多个)端点;(多个)端点节点; 或者第二机器。在一些实施例中,服务器106可以通过以下任意一个术语来引用:(多个) 服务器;本地机器;远程机器;(多个)服务器群;(多个)主机计算设备,或者(多个)第 一机器。
[0028] 在一个实施例中,客户端机器140可以是虚拟机。虚拟机可以是任意虚拟机,而在 一些实施例中,虚拟机可以是由Citrix Systems、IBM、VMware所以研发的监管程序或者任 意其它监管程序所管理的任意虚拟机。在一些方面,虚拟机可以由监管程序进行管理,而在 多个方面,虚拟机可以由在服务器106上执行的监管程序或者在客户端140上执行的监管 程序进行管理。
[0029] 客户端机器140可以执行、操作或者以其它方式提供应用,该应用可以为以下的 任意一个:软件;程序;可执行指令;虚拟机;监管程序;web浏览器;基于web的客户端;客 户端-服务器应用;瘦客户端计算客户端;ActiveX控制Java小应用程序(applet);如软 IP电话的与通过互联网协议(VoIP)通信的语音相关的软件;用于流视频和/或音频的应 用;用于促进实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户 端;或者任意其它可执行指令集合。再其它的实施例包括客户端设备140,其显示服务器 106或其它远程定位的机器上远程执行的应用所生成的应用输出。在这些实施例中,客户端 设备140能够在应用窗口、浏览器或其它输出窗口中显示应用输出。在一个示例中,该应用 是桌面,而在其它示例中,该应用是生成桌面的应用。桌面可以包括为本地和/或远程应用 能够在其中进行整合的操作系统实例提供用户界面的图形壳。如本文中所使用的,应用是 在操作系统实例(以及可选地还有桌面)已经被加载之后执行的程序。
[0030] 在一些实施例中,服务器106执行远程呈现客户端或者其它客户端或程序,其使 用瘦客户端或远程显示协议来采集由服务器106上执行的应用所生成的显示输出并且将 应用显示输出传输至远程客户端140。瘦客户端或远程显示协议可以是以下协议中的任意 一个:由佛罗里达,劳德代尔堡的Citrix Systems公司制造的独立计算架构(ICA)协议;或 者由华盛顿,雷德蒙德的微软公司制造的远程桌面协议(RDP)。
[0031] 计算环境可以包括多于一个的服务器106A-106N,以使得服务器106A-106N例如 在云计算环境中在逻辑上被分组为服务器群106。服务器群106可以包括在地理上分散并 且在逻辑上一起被分组在服务器群106中的服务器106,或者互相临近并且在逻辑上在服 务器群106中分组在一起的服务器106。在一些实施例中,服务器群106内的地理上分散 的服务器106A-106N使用WAN、MAN或LAN通信,其中不同地理区域能够被表征为:不同大 洲;大洲的不同地区;不同国家;不同州;不同城市;不同校园;不同房间;或者之前的地理 位置的任意组合。在一些实施例中,服务器群106可以作为单个实体进行管理,而在其它实 施例中,服务器群106可以包括多个服务器群106。
[0032] 在一些实施例中,服务器群106可以包括执行基本上类似类型的操作系统平台 (例如,由华盛顿,雷德蒙德的微软公司制造的WINDOWS NT、UNIX、LINUX或SNOW LEOPARD) 的服务器106。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第 一服务器106群组,以及执行第二类型的操作系统平台的第二服务器106群组。在其它实 施例中,服务器群106可以包括执行不同类型的操作系统平台的服务器106。
[0033] 在一些实施例中,服务器106可以是任意服务器类型。在其它实施例中,服务器 106可以是以下的任意服务器类型;文件服务器;应用服务器;web服务器;代理服务器;器 件;网络器件;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务器; 防火墙;web服务器;应用服务器或主应用服务器;执行活动目录的服务器106 ;或者执行 提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器106。在一些实施例 中,服务器106可以是RADIUS服务器,其包括远程认证拨入用户服务。在服务器106包括 器件的实施例中,服务器106可以是由以下任一个制造商制造的器件:Citrix Application Networking集团;Silver Peak Systems 公司;Riverbed Technology 公司;F5 Networks 公 司;或者Juniper Networks公司。一些实施例包括第一服务器A,其从客户端机器140接 收请求,将这些请求转发至第二服务器106η,并且利用来自第二服务器106η的响应对客户 端机器140所生成的请求做出响应。第一服务器106Α能够获取客户端机器140可用的应 用的列举以及与托管该应用的列举内所标示的应用的应用服务器106相关联的地址信息。 第一服务器106Α然后能够使用web接口向客户端请求给出响应,并且直接与客户端140通 信以向客户端140提供以对所标示应用的访问。
[0034] 在一些实施例中,服务器106能够执行以下应用中的任意一个:使用瘦客户端协 议向客户端传输应用显示数据的瘦客户端应用;远程显示呈现应用;Citrix Systems公司 的 CITRIX ACCESS SHTE 的任意部分,如 METAFRAME 或 CITRIX PRESENTATION SERVER;由 微软公司制造的MICROSOFT WINDOWS终端服务;或者由Citrix Systems公司研发的ICA客 户端。另一个实施例包括作为如下的应用服务器的服务器106,诸如:提供电子邮件服务的 电子邮件服务器,诸如由微软公司制造的MICROSOFT EXCHANGE ;web或互联网服务器;桌面 共享服务器;协同服务器;或者任意其它类型的应用服务器。再其它的实施例包括执行以 下类型的托管服务器应用中的任意一种的服务器106:由Citrix Online Division公司提 供的G0T0MEETING ;由加利福尼亚,圣克拉拉的WebEx公司提供的WEBEX ;或者由微软公司 提供的 Microsoft Office LIVE MEETING。
[0035] 在一些实施例中,客户端机器140可以是寻求访问由服务器106提供的资源的客 户端节点。在其它实施例中,服务器106可以为客户端140或客户端节点提供对所托管的 资源的访问。在一些实施例中,服务器106用作主节点,以使得其与一个或多个客户端140 或服务器106通信。在一些实施例中,该主节点能够识别与托管所请求应用的服务器106 相关联的地址信息并将其提供给一个或多个客户端140或服务器106。在再其它的实施例 中,主节点可以是服务器群106、客户端140、客户端节点140的集群、或者器件。
[0036] -个或多个客户端140和/或一个或多个服务器106能够通过被安装在计算环境 100内的机器和应用之间的网络130传输数据。网络130可以包括一个或多个子网络,并 且可以被安装在包括于计算环境100内的客户端140、服务器106、计算机器和器件的任意 组合之间。在一些实施例中,网络130可以是:局域网(LAN);城域网(MAN);广域网(WAN); 由位于客户端机器140和服务器106之间的多个子网络所组成的主网络104 ;具有私有子 网络的主公共网络130 (例如,互联网);具有公共子网络的主私有网络130 ;或者具有私有 子网络的主私有网络130。再另外的实施例包括可以为以下任意网络类型的网络130 :点 对点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传输模式)网络; SONET (同步光纤网络)网络;SDH(同步数字体系)网络;无线网络;有线网络;或者包括无 线链路的网络,其中无线链路可以是红外信道或卫星带。网络130的网络拓扑可以在不同 实施例内有所不同,可能的网络拓扑包括:总线网络拓扑;星形网络拓扑;环形网络拓扑; 基于中继器的网络拓扑;或者层次化星形网络拓扑。另外的实施例可以包括使用协议在移 动设备之中进行通信的移动电话网络的网络,其中该协议可以是以下的任意一个:AMPS ; TDMA ;CDMA ;GSM ;GPRS UMTS ;或者能够在移动设备之中传输数据的任意其它协议。
[0037] 图2中图示了计算设备200的实施例,其中图1中所图示的客户端机器140和服 务器106可以被部署为本文中所图示和描述的计算设备200的任意实施例和/或在其上 执行。计算设备200内包括与以下组件通信的系统总线250 :中央处理单元221 ;主存储器 222 ;储存存储器228 ;输入/输出(I/O)控制器223 ;显示设备224A-224N ;安装设备216 ; 以及网络接口 218。在一个实施例中,储存存储器228包括:操作系统、软件例程和客户端 代理220。在一些实施例中,I/O控制器223进一步被连接至键盘226和打印设备227。其 它实施例可以包括被连接至多于一个的输入/输出设备230A-230N的I/O控制器223。
[0038] 图3图示了计算设备300的一个实施例,其中图1中所图示的客户端机器140和 服务器106可以被部署为本文中所图示和描述的计算设备300的任意实施例和/或在其上 执行。计算设备300内包括与以下组件通信的系统总线350 :桥接器370和第一 I/O设备 330a。在另一个实施例中,桥接器370与主中央处理单元321通信,其中中央处理单元321 可以进一步与第二I/O设备330b、主存储器322和高速缓存存储器340通信。中央处理单 元321内包括I/O端口、存储器端口 303和主处理器。
[0039] 计算机器300的实施例可以包括以下面任一种组件配置为特征的中央处理单元 321 :对从主存储器单元322取得的指令做出响应并处理的逻辑电路;诸如由Intel公司制 造的、由Motorola公司制造的、由加利福尼亚,圣克拉拉的Transmeta公司制造的微处理器 单元;诸如由国际商业机器制造的RS/6000处理器;诸如由Advanced Micro Devices制造 的处理器;或者逻辑电路的任意其它组合。中央处理单元322的再其它的实施例可以包括 以下的任意组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核 的中央处理单元、或者具有多于一个的处理核的中央处理单元。
[0040] 虽然图3图示了包括单个中央处理单元321的计算设备300,但是在一些实施例 中,计算设备300可以包括一个或多个处理单元321。在这些实施例中,计算设备300可以 存储并且执行固件或其它可执行指令,这些固件或其它可执行指令当被执行时指导一个或 多个处理单元321同步执行指令或者同步执行单片数据上的指令。在其它实施例中,计算 设备300可以存储并且执行固件或其它可执行指令,这些固件或其它可执行指令当被执行 时指导一个或多个处理单元均执行指令群的一个分段。例如,每个处理单元321可以被指 令以执行程序的一部分或者程序内的特定模块。
[0041] 在一些实施例中,处理单元321可以包括一个或多个处理核。例如,处理单元321 可以具有两个核、四个核、八个核等。在一个实施例中,处理单元321可以包括一个或多个 并行处理核。在一些实施例中,处理单元321的处理核可以访问作为全局地址空间的可用 存储器,或者在其它实施例中,计算设备300内的存储器可以被划分并且被分配给处理单 元321内的特定核。在一个实施例中,计算设备300中的一个或多个处理核或处理器均可以 访问本地存储器。在又另一个实施例中,计算设备300内的存储器可以在一个或多个处理 器或处理核之间进行共享,而其它存储器则能够由特定处理器或处理器子集进行访问。在 计算设备300包括多于一个的处理单元的实施例中,多个处理单元可以被包括在单个集成 电路(1C)中。在一些实施例中,这些多个处理器能够通过内部高速总线链接在一切,该内 部高速总线在本文中可以被称为元件互连总线。
[0042] 在计算设备300包括一个或多个处理单元321或者包括具有一个或多个处理核的 处理单元321的实施例中,处理器能够同步执行多片数据上的单个指令(SMD),或者在其 它实施例中,能够同步执行多片数据块上的多个指令(MMD)。在一些实施例中,计算设备 100可以包括任意数量的SMD或MMD处理器。
[0043] 在一些实施例中,计算设备300可以包括图形处理器或图形处理单元(未示出)。 图形处理单元可以包括软件和硬件的任意组合,并且能够进一步输入图形数据和图形指 令,从所输入数据和指令渲染图形,并且输出经渲染的图形。在一些实施例中,图形处理单 元可以被包括在处理单元321内。在其它实施例中,计算设备300可以包括一个或多个处 理单元321,其中至少一个处理单元321专用于处理并渲染图形。
[0044] 计算机器300的一个实施例包括经由也被称为后方总线的二级总线来与高速缓 存存储器340通信的中央处理单元321,而计算机器300的另一个实施例则包括经由系统 总线350与高速缓存存储器通信的中央处理单元321。在一些实施例中,本地系统总线350 也可以被中央处理单元用来与多于一种类型的I/O设备330a-330n通信。在一些实施例 中,本地系统总线350可以是以下任一种类型的总线:VESA VL总线;ISA总线;EISA总线; MicroChannel 架构(MCA)总线;PCI 总线;PCI-X 总线;PCI-Express 总线;或者 NuBus。计 算设备300的其它实施例包括I/O设备330a-330n,它们包括与中央处理单元321通信的 视频显示器224。计算机器300再其它的版本包括经由以下任一种连接而连接至I/O设备 330a_330n 的处理器 321 :HyperTransport、Rapid I/O 或 InfiniBand。计算机器 300 进一 步的实施例包括使用本地互连总线与一个I/O设备330a通信并且使用直接连接与第二1/ 0设备330b通信的处理器321。
[0045] 在一些实施例中,计算设备300包括主存储器单元322和高速缓存存储器340。 高速缓存存储器340可以是任意存储器类型,并且在一些实施例中,可以是以下任一种类 型的存储器:SRAM ;BSRAM或EDRAM。其它实施例包括高速缓存存储器340和主存储器单元 322,它们可以是以下任一种类型的存储器:静态随机访问存储器(SRAM)、突发式SRAM或同 步突发式SRAM(BSRAM);动态随机访问存储器(DRAM);快速页面模式DRAM(FPM DRM);增强 型DRAM (EDRAM);扩展数据输出RAM (EDO RAM);扩展数据输出DRAM (EDO DRAM);突发式扩展 数据输出 DRAM (BEDO DRAM);增强型 DRAM (EDRAM);同步 DRAM (SDRAM) JEDEC SRAM ;PC100 SDRAM;双倍数据速率 SDRAM (DDR SDRAM);增强型 SDRAM (ESDRAM);同步链接 DRAM (SLDRAM); 直接Rambus DRAM(DRDARM);铁电RAM(FRAM);或者任意其它类型的存储器。进一步的实施 例包括能够经由以下对主存储器322进行访问的中央处理单元321 :系统总线350 ;存储器 端口 303 ;或者允许处理器321访问存储器322的任意其它连接、总线或端口。
[0046] 计算设备200/300的一个实施例为以下任一种安装设备216提供支持:⑶-ROM驱 动器、⑶-R/RW驱动器、DVD-ROM驱动器、各种格式的带式驱动器、USB设备、可引导介质、可 引导CD、用于诸如KNOPP丨X?的GNU/Linux分布的可引导CD、硬盘或者适于安装应用 或软件的任意其它设备。在一些实施例中,应用可以包括客户端代理220或者客户端代理 220的任意部分。计算设备200/300可以进一步包括存储设备228,后者可以是一个或多个 硬盘,或者独立磁盘的一个或多个冗余阵列;其中存储设备被配置为存储操作系统、软件、 程序应用、或者客户端代理220的至少一部分。计算设备200、300的进一步的实施例包括 用作存储设备228的安装设备216。
[0047] 计算设备200、300可以进一步包括网络接口 218以通过各种连接对接至局域网 (LAN)、广域网(WAN)或互联网,上述连接包括但并不局限于标准电话线、LAN或WAN链接 (例如,802·ll、Tl、T3、56kb、X·25、SNA、DECNET)、宽带连接(例如,ISDN、帧中继、ATM、兆t匕 特以太网、Ethernet-over-SONET)、无线连接或者以上任意或全部的一些组合。还能够使用 各种通信协议(例如,TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布数 据接口(FDDI)、RS232、RS485、IEEE 802. 11、IEEE802. 11a、IEEE 802. lib、IEEE 802. llg、 CDMA、GSM、WiMax和直接异步连接)来建立连接。计算设备200、300的一个版本包括能够 经由任意类型和/或形式的网关或隧道协议来与另外的计算设备200'、300'通信的网络 接口 218,上述网关或隧道协议诸如安全套接层(SSL)或传输层安全(TLS),或者由Citrix Systems公司制造的Citrix网关协议。网络接口 218的版本可以包括以下任意一个:内建 式网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络 适配器;调制解调器;或者适于将计算设备200、300对接至能够通信并执行本文中所描述 的方法和系统的网络的任意其它设备。
[0048] 计算设备200、300的实施例包括以下任意一个1/0设备230a-230n :键盘226 ;指 向设备227 ;鼠标;轨迹板;光学笔;轨迹球;麦克风;画板;视频显不器;扬声器;喷墨打印 机;激光打印机;以及热升华打印机;或者能够执行本文中所描述的方法和系统的任意其 它输入/输出设备。1/0控制器223在一些实施例中可以连接至多个1/0设备230a-230n, 以对一个或多个1/0设备进行控制。1/0设备230a-230n的一些实施例可以被配置为提供 存储或安装介质216,而其它则可以提供通用串行总线(USB)接口以便接纳USB存储设备, 诸如由Twintech Industry公司制造的设备的USB闪存驱动线路。再其它的实施例包括 可以作为系统总线250和外部通信总线之间的桥接器的1/0设备230,外部通信总线诸如: USB总线;苹果桌面总线;RS-232串行连接;SCSI总线;FireWire总线;FireWire800总线; 以太网总线;AppleTalk总线;兆比特以太网总线;异步传输模式总线;HIPPI总线;超级 HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或者串行连接的小型计 算机系统接口总线。
[0049] 在一些实施例中,计算机器200、300可以连接至多个显示设备224a-224n,在再 其它实施例中,计算设备100能够连接至单个显示设备224,而在再其它的实施例中,计算 设备200、300连接至是相同类型或形式的显示器的显示设备224a-224n,或者连接至不同 类型或形式的显示设备。显示设备224a-224n的实施例可以被以下所支持或使能:一个或 多个1/0设备230a-230n ;1/0控制器223 ;(多个)1/0设备230a-230n与1/0控制器223 的组合;能够支持显示设备224a-224n的硬件和软件的任意组合;用于对接、通信、连接或 以其它方式使用显示设备224a-224n的任意类型和/或形式的视频适配器、视频卡、驱动 器和/或库。计算设备200、300在一些实施例中可以被配置为使用一个或多个显示设备 224A-224N,这些配置包括:具有多个连接器对接至多个显示设备224A-224N ;具有多个视 频适配器,每个视频适配器连接至一个或多个显示设备224A-224N ;具有被配置为支持多 个显示器224A-224N的操作系统;使用被包括计算设备200内的电路和软件来连接到并 且使用多个显示设备224A-224N ;以及执行主计算设备200和多个二级计算设备上的软件 以使得主计算设备200能够使用二级计算设备的显示器作为主计算设备200的显示设备 224A-224N。计算设备200的再其它的实施例可以包括由多个二级计算设备提供并且经由 网络连接至主计算设备200的多个显示设备。
[0050] 在一些实施例中,计算设备200能够执行任意操作系统,而在其它实施例中,计 算设备200能够执行任意的以下操作系统:多个版本的MICROSOFT WINDOWS操作系统,诸 如 WINDOWS 3.x;WIND0WS 95;WIND0WS 98;WIND0WS 2000;WIND0WS NT3.51;WIND0WS NT 4. 0 ;WIND0WS CE ;WIND0WS XP ;和 WINDOWS VISTA ;不同版本的 Unix 和 Linux 操作系统;由 苹果计算机制造的任意版本的MAC OS ;由国际商业机器所制造的OS/2 ;任意嵌入式操作系 统;任意实时操作系统;任意开源操作系统;任意专有操作系统;任意用于移动计算设备的 操作系统;或者任意其它操作系统。在再另一个实施例中,计算机器200可以执行多个操作 系统。例如,计算机器200能够执行PARALLELS或另一种虚拟化平台,后者能够执行或管理 第一操作系统的虚拟机,同时计算机器200执行不同于第一操作系统的第二操作系统。
[0051] 计算机器200可以在任意的以下计算设备中体现;计算工作站;台式计算机;膝 上型或笔记本计算机;服务器;手持计算机;移动电话;便携式电信设备;媒体播放设备; 游戏系统;移动计算设备;笔记本;由苹果计算机制造的IP0D设备族中的设备;由索尼公 司制造的PLAYSTATION设备族中的任意一种;由Nintendo公司制造的Nintendo设备族 中的任意一种;由微软公司制造的ΧΒ0Χ设备族中的任意一种;或者能够通信并且具有足 够处理器能力和存储器容量来执行本文中所描述的方法和系统的任意其它类型和/或形 式的计算、电信或媒介设备。在其它实施例中,计算机器100可以是移动设备,诸如以下任 意一种移动设备:支持JAVA的蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、 i88s、i90c、i95cl或imllOO,所有这些都由Motorola公司制造;由Kyocera制造的6035 或7135 ;由三星电子有限公司制造的i300或i330 ;由Palm公司制造的TRE0180、270、600、 650、680、700p、700w或750智能电话;具有与该设备相符的不同处理器、操作系统和输入设 备的任意计算设备;或者能够执行本文中所描述的方法和系统的任意其它移动计算设备。 在再其它的实施例中,计算设备200可以是以下任意一种移动计算设备:任意一个系列的 Blackberry,或者由Research In Motion有限公司制造的其它手持设备;由苹果计算机制 造的iPhone ;Palm Pre ;便携式PC ;便携式PC电话;或者任意其它手持移动设备。
[0052] 在一些实施例中,计算设备200可以具有与该设备相符的不同处理器、操作系统 和输入设备。例如,在一个实施例中,计算设备200是由Palm公司制造的TRE0 180、270、 600、650、680、700?、700?或750智能电话。在这些实施例中的一些中,了1?0智能电话在 PalmOS操作系统的控制下进行操作并且包括触笔输入设备以及五向导航设备。
[0053] 在其它实施例中,计算设备200是移动设备,诸如支持JAVA的蜂窝电话或个人数 字助理(PDA),诸如 i55sr、i58sr、i85s、i88s、i90c、i95cl 或 imllOO,所有这些都由伊利 诺伊,绍姆堡的Motorola公司制造;由日本京都的Kyocera制造的6035或7135 ;由韩国首 尔的三星电子有限公司制造的i300或i330。在一些实施例中,计算设备200是由芬兰的 Nokia或瑞典Lund的Sony Ericsson移动通信公司制造的移动设备。
[0054] 在再其它的实施例中,计算设备200是Blackberry手持或智能电话,诸如由 Research In Motion有限公司制造的设备,包括Blackberry7100系列、8700系列、8700系 列、7700 系列、7200 系列,Blackberry7520 或 BlackBerry Pearl 8100。在又其它的实施例 中,计算设备200是智能电话、便携式PC、便携式PC电话或者支持微软Windows移动软件的 其它手持移动设备。此外,计算设备200可以是任意工作站、台式计算机、膝上型或笔记本 计算机、服务器、手持计算机、移动电话、任意其它计算机,或者能够通信并且具有足够处理 器能力和存储器容量以执行本文中所描述的方法和系统的任意其它形式的计算或电信设 备。
[0055] 在一些实施例中,计算设备200是数字音频播放器。在这些实施例之一中,计 算设备200是诸如由加利福尼亚,库比蒂诺的苹果计算机制造的苹果IPOD、IPOD Touch、 IPOD ΝΑΝΟ和IPOD SHUFFLE设备线的数字音频播放器。在这些实施例中的另一个中, 数字音频播放器可以用作便携式媒体播放器和大型存储设备。在其它实施例中,计算设 备200是如下的数字音频播放器,诸如由NJ的Ridgefield Park的美国三星电子制造的 DigitalAudioPlayer Select MP3 播放器,或者由 IL 的 Schaumburg 的 Motorola 公司制造 的m500或m25数字音频播放器。在再其它的实施例中,计算设备200是便携式媒体播放器, 诸如由Creative技术有限公司制造的Zen Vision W、Zen Vision系列、Zen便携式媒体中 心设备或者数字MP3线的MP3播放器。在再其它的实施例中,计算设备200是便携式媒介 播放器或数字音频播放器,其支持以下文件格式:MP3、WAV、M4A/AAC、WMA Protected AAC、 AIFF、可听有声读物、苹果无损音频文件格式以及.mov、. m4v和.mp4 MPEG-4(H. 264/MPEG-4 AVC)视频文件格式。
[0056] 在一些实施例中,计算设备200包括诸如设备的组合,诸如结合数字音频播放器 或便携式媒体播放器的移动电话。在这些实施例之一中,计算设备200是Motorola RAZR 或Motorola R0KR线的组合数字音频播放器和移动电话。在这些实施例的另一个中,计算 设备200是由加利福尼亚,库比蒂诺的苹果计算机制造的iPhone智能电话。虽然图1-3关 于可以使用的硬件和/或软件的具体示例进行了描述,但是这样的示例并非以任何方式进 行限制,而仅是作为可以用作技术进展的资源类型的说明。
[0057] 图1-3示出了说明性的桌面虚拟化系统的高级架构。如所示出的,桌面虚拟化系 统可以是单个服务器或多个服务器的系统,或者是包括被配置为向一个或多个客户端访问 设备140提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器106的云系统。如本文中 所使用的,桌面是指可以在其中托管和/或执行一个或多个应用的图形环境或空间。桌面 可以包括为可以在其中集成本地和/或远程应用的操作系统实例提供用户界面的图形壳。 如本文中所使用的,应用是在操作系统的实例(以及可选地还有桌面)已经被加载之后执 行的程序。每个操作系统实例可以是物理的(例如,每个设备一个操作系统)或虚拟的(例 如,在单个设备上运行的许多0S实例)。每个应用可以在本地设备上执行,或者在远程定位 的设备(例如,远程的)上执行。
[0058] 图1-3中已经描述了桌面虚拟化系统的各个示例,以及可以被包括在这样的系统 的服务器106中的某些软件和功能,后续的段落提供与在云计算环境中使用物理资源标签 创建并提供虚拟机及其操作环境相关的各种方法和系统的另外示例。
[0059] 图4图示了被配置为虚拟化环境中的虚拟化服务器的计算机设备401的一个实施 例,该虚拟化环境例如单服务器、多服务器或云计算环境。图1所示的虚拟化服务器401能 够被部署为图1所示的服务器106或图2和3所示的计算设备200和300,和/或由它们的 一个或多个实施例所实施。虚拟化服务器401中包括硬件层,其可以包括一个或多个物理 磁盘404、一个或多个物理设备406、一个或多个物理处理器408和物理存储器416。在一 些实施例中,固件412可以存储在物理存储器416中的存储器元件内并且能够由一个或多 个物理处理器408所执行。虚拟化服务器401可以进一步包括可以存储在物理存储器416 中的存储器元件中并且由一个或多个物理处理器408所执行的操作系统414。再进一步地, 监管程序402可以存储在物理存储器416中的存储器元件中并且能够由一个或多个物理处 理器408所执行。一个或多个虚拟机432A-C(统称为432)可以在一个或多个物理处理器 408上执行。每个虚拟机432可以具有虚拟盘426A-C以及虚拟处理器428A-C。在一些实 施例中,第一虚拟机432A可以在虚拟处理器428A上执行包括工具集(tool stack) 424的 控制程序420。在其它实施例中,一个或多个虚拟机432B-C能够在虚拟处理器428B-C上执 行访客操作系统430A-B。
[0060] 进一步参考图4,并且更为详细地,虚拟化服务器401可以包括硬件层410,其具有 与虚拟化服务器401通信的一个或多个硬件。在一些实施例中,硬件层410可以包括一个或 多个物理磁盘404、一个或多个物理设备406、一个或多个物理处理器408以及一个或多个 存储器416。物理组件404、406、408和416例如可以包括以上在图1-3中所描述的任意组 件。例如,物理磁盘404可以永久性存储器存储、临时存储器存储、磁盘驱动器(例如,光盘、 软盘、磁带)、硬盘、外部硬盘、闪存、网络连接的存储、存储域网络或者虚拟化服务器401所 能够访问的任意其它存储库。物理设备406可以包括虚拟化服务器401中所包括的任意设 备、和/或虚拟化服务器401中所包括的设备和与虚拟化服务器401通信的外部设备的任 意组合。物理设备406例如可以是网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显 示设备、扬声器、光驱、存储设备、通用串行总线连接、打印机、扫描仪、网络单元(例如,路 由器、防火墙、网络地址转译器、负载平衡器、虚拟私人网络(VPN)网关、动态主机配置协议 (DHCP)路由器等),或者连接到虚拟化服务器401或者与之进行通信的任意设备。硬件层 410中的物理存储器416可以包括任意类型的存储器。物理存储器416可以存储数据,并且 在一些实施例中可以存储一个或多个程序或者可执行指令的集合。图4图示了固件412存 储在虚拟化服务器401的物理存储器416内的实施例。物理存储器416中所存储的程序或 可执行指令能够由虚拟化服务器401的一个或多个处理器408所执行。
[0061] 虚拟化服务器401还可以包括监管程序(hypervisor)402。在一些实施例中,监管 程序402可以是由虚拟化服务器401上的处理器408执行的程序,用以创建并管理任意数 量的虚拟机432。监管程序402可以被称为虚拟机监视器或者平台虚拟化软件。在一些实 施例中,监管程序402可以是对计算机器上执行的虚拟机进行监视的可执行指令和硬件的 任意组合。监管程序402可以是2类(Type 2)监管程序,或者是在虚拟化服务器401上执 行的操作系统414内执行的监管程序。在一些实施例中,2类监管程序在操作系统414的环 境内执行而虚拟机在高于监管程序的级别执行。在许多实施例中,2类监管程序在用户的操 作系统的环境内执行,以使得2类监管程序与用户的操作系统进行交互。在其它实施例中, 虚拟环境中的一个或多个虚拟化服务器401可以包括1类(Type 1)监管程序(未示出)。 1类监管程序可以通过直接访问硬件层410内的硬件和资源而在虚拟化服务器401上执行。 也就是说,在2类监管程序402通过主机操作系统414访问系统资源的同时,1类监管程序 可以直接访问所有系统资源而无需主机操作系统414。1类监管程序可以直接在虚拟化服 务器401的408的一个或多个物理处理器上执行,并且可以包括存储在物理存储器416中 的程序数据。
[0062] 在一些实施例中,监管程序402可以以模仿具有对系统资源的直接访问的操作系 统430或控制程序420的任意方式,向在虚拟机432上执行的操作系统430或控制程序 420提供虚拟资源。系统资源可以包括:物理设备406 ;物理磁盘;物理处理器;物理存储器 416和虚拟化服务器401硬件层410中所包括的任意其它组件。在这些实施例中,监管程 序402可以被用来仿真虚拟硬件、划分物理硬件、虚拟化物理硬件或者执行提供对计算环 境的访问的虚拟机。在再其它的实施例中,监管程序402针对虚拟化服务器401上执行的 虚拟机432控制处理器调度和存储器分区。监管程序可以包括由加利福尼亚,帕洛阿尔托 的VMWare公司制造的监管程序;XEN监管程序,其研发由开源Xen. org团体所监督的开源 产品;由微软提供的HyperV、VirtualServer或虚拟PC监管程序,等等。在一些实施例中, 虚拟化服务器401执行监管程序402,监管程序402创建可以在其上执行访客操作系统的虚 拟机平台。在这些实施例中,虚拟化服务器401能够被称为主机服务器。这样的虚拟化服 务器的示例是由佛罗里达州的劳德代尔堡的Citrix Systems公司提供的XEN SERVER。
[0063] 监管程序402可以创建访客操作系统430在其中执行的一个或多个虚拟机 432B-C(统称为432)。在一些实施例中,监管程序402可以加载虚拟机镜像以创建虚拟机 432。在其它实施例中,监管程序402可以执行虚拟机432内的访客操作系统430。在再其 它的实施例中,虚拟机432可以执行访客操作系统430。
[0064] 除了创建虚拟机432之外,监管程序402可以控制至少一个虚拟机432的执行。在 其它实施例中,监管程序402可以为至少一个虚拟机432给出虚拟化服务器401所提供的 至少一个硬件资源(例如,在硬件层410内可用的任意硬件资源)的摘要。在其它实施例 中,监管程序402可以对虚拟机432访问虚拟化服务器401内可用的物理处理器408的方 式进行控制。控制对物理处理器408的访问可以包括确定虚拟机432是否应当具有对处理 器408的访问,以及如何给虚拟机432物理处理器的能力。
[0065] 如图4的示例所示,虚拟化服务器401可以托管或执行一个或多个虚拟机432。虚 拟机432是可执行指令的集合,其在被处理器408执行时模仿物理计算机的操作,以使得虚 拟机432能够像物理计算设备那样执行程序和处理。虽然图4图示了虚拟化服务器401托 管三个虚拟机432的实施例,但是在其它实施例中,虚拟化服务器401能够托管任意数量的 虚拟机432。在一些实施例中,监管程序402为每个虚拟机432提供物理硬件、存储器、处 理器和可供该虚拟机432使用的其它系统资源的唯一虚拟视图。在一些实施例中,该唯一 虚拟视图可以基于以下的任一个:虚拟机许可;策略引擎对一个或多个虚拟机标识符的应 用;访问虚拟机的用户;虚拟机上执行的应用;虚拟机所访问的网络;或者任意其它类似准 贝1J。例如,监管程序402可以创建一个或多个非安全虚拟机432以及一个或多个安全虚拟 机432。可以防止非安全的虚拟机432访问安全虚拟机432被允许访问的资源、硬件、存储 器位置和程序。在其它实施例中,监管程序402可以为每个虚拟机432提供物理硬件、存储 器、处理器和可供该虚拟机432使用的其它系统资源的基本上类似的虚拟视图。
[0066] 每个虚拟机432可以包括虚拟磁盘426A-C(统称为426)和虚拟处理器428A-C (统 称为428)。在一些实施例中,虚拟磁盘426是虚拟化服务器401的一个或多个物理磁盘404 的虚拟化视图,或者是虚拟化服务器401的一个或多个物理磁盘404的一部分。物理磁盘 404的虚拟化视图可以由监管程序402生成、提供并管理。在一些实施例中,监管程序402 可以为每个虚拟机432提供物理磁盘404的唯一视图。因此,在这些实施例中,每个虚拟机 432中所包括的虚拟磁盘426在与其它虚拟磁盘426相比时可以是唯一的。
[0067] 虚拟处理器428可以是虚拟化服务器401的一个或多个物理处理器408的虚拟化 视图。在一些实施例中,物理处理器408的虚拟化视图能够由监管程序402生成、提供并管 理。在一些实施例中,虚拟处理器428基本上具有完全与至少一个物理处理器408相同的 所有特性。在其它实施例中,虚拟处理器408提供物理处理器408的修改视图,以使得虚拟 处理器428的至少一些特性与相应的物理处理器408的特性有所不同。
[0068] 图5中图不了包括云系统的云计算环境的一个实施例,该云系统包括云硬件和软 件资源510-530的池。云系统可以被配置为通过网络540向客户端550a-550n (统称为550) 提供计算服务。例如,图5中的云系统可以被配置为通过网络540(例如,因特网)而为客 户端计算机550处的消费者提供、创建和管理虚拟机及其操作环境(例如,监管程序、存储 资源、网络元件供应的服务等),以便为消费者提供计算资源、数据存储服务、联网能力以及 计算机平台和应用支持。云系统还可以被配置为提供各种具体服务,包括安全系统、研发环 境、用户界面等。云硬件和软件资源510-530可以包括私有和/或公共组件。例如,云可以 被配置为由一个或多个特定消费者或客户端计算机550使用和/或通过私有网络540使用 的私有云。在其它实施例中,公共云或混合的公共-私有云可以被其它消费者通过开放或 混合网络540所使用。
[0069] 云系统可以包括各种物理硬件组件510的布置,例如物理计算资源(或计算资 源)、物理网络资源、物理存储资源、交换机以及可以被用来向消费者提供云计算服务的另 外的硬件资源。云计算环境中的物理计算资源可以包括一个或多个计算机服务器。诸如以 上所描述的虚拟化服务器410,其可以被配置为创建并托管虚拟机实例。云计算环境中的物 理网络资源可以包括一个或多个网络服务提供方(即,网络元件),其包括被配置为向云消 费者提供网络服务的硬件和/或软件,例如防火墙、网络地址转译器、负载平衡器、虚拟私 有网络(VPN)网关、动态主机配置协议(DHCP)路由器等。云系统中的存储资源可以包括存 储磁盘(例如,固态驱动器(SSD)、磁性硬盘等)以及其它存储设备。
[0070] 在某些实施例中,云系统可以包括虚拟化层520,其具有被配置为创建并管理虚拟 机并且利用该云中的物理资源510向消费者提供其它计算服务的另外的硬件和/或软件资 源。虚拟化层520可以包括如以上图4中所描述的监管程序,以及其它专用组件以提供网 络虚拟化、存储虚拟化等。虽然图5将虚拟化层520示为与物理资源层510分开的层,但是 在一些实施例中,这些层可以共享一些或全部的相同硬件和/或软件资源。例如,虚拟化层 520可以包括具有物理计算资源的每个虚拟化服务器所安装的监管程序。
[0071] 云用户接口层535可以包括提供接口的一个或多个硬件和软件组件,云运营商或 管理员以及云消费者可以通过该接口与该云系统进行交互。例如,云用户接口层535可以 包括一个或多个云运营商操控台应用,其具有被配置为允许云运营商管理云资源510、配置 虚拟化层520、管理消费者账户并且执行其它云管理任务的用户接口。云用户接口层535还 可以包括一个或多个消费者操控台应用,其具有被配置为经由客户端计算机550从消费者 接收云计算请求的用户接口,上述请求诸如用于创建、修改或删除虚拟机实例的请求,用于 云数据存储、网络服务器的请求,等等。
[0072] 在经由云用户接口 535接收到消费者请求之后,云资源管理器530可以基于消费 者的请求在硬件层510中选择并提供物理资源。例如,如果云消费者请求包括处理能力、磁 盘存储和网络能力的新的虚拟机实例,则资源管理器530可以在创建新的虚拟机时确定要 使用的具体物理虚拟化服务器、(多个)物理存储磁盘以及(多个)物理网络元件。具体 硬件资源的确定可以基于多种因素,例如资源的物理位置(例如,地区或数据中心)、资源 的性能特性(例如,速度和可靠性)、所请求计算服务的类型(例如,虚拟web服务器实例、 虚拟应用服务器实例等)、资源的当前容量(例如,主机服务器上现有的虚拟机实例的数 量、存储资源上的可用磁盘空间的数量)和其它因素。在确定了所要使用的具体硬件资源 之后,云资源管理器530可以使用所选择的资源与虚拟化层520内的适当组件进行通信以 提供并例示新的虚拟机及其操作环境,以及与任意其它的云计算请求进行通信。此外,在一 些实施例中,某些物理硬件组件510(例如,物理网络资源和物理存储资源)可以直接由云 资源管理器530进行配置而并不通过虚拟化层520。在一些情况下,云资源管理器530和/ 或云虚拟化层520可以经由诸如Citrix Systems的CL0UDSTACK或0PENSTACK之类的云基 础设施来实施。
[0073] 现在参考图6,示出了图示在云计算环境中使用标签创建虚拟机实例的示例方法 的流程图。标签是指与云计算环境中的具体物理资源(例如,虚拟化服务器、存储磁盘或网 络元件等)相关联的电子标记。例如,如图7A所示,标记可以在云系统内被存储为数据库 表格或其它存储之中的个体数据片(例如,在标签_1〇列之下)。如表格700a所示,单个 标签可以与单个物理资源相关联(例如,标签_ID ="1"),或者可以与多个不同资源相关 联(例如,标签_ID ="2")。类似地,单个物理资源可以与单个标签相关联(例如,"存储 A"),或者可以与多个不同标签相关联(例如,"主机C")。虽然这些示例将标签描述为存 储在由云系统所维护的数据库中的数据,但是在其它示例中,标签可以被存储为有关物理 资源自身的电子数据(例如,设备序列号或其它资源标识符)。
[0074] 图6所示的方法和本文中所描述的其它类似示例可以在计算环境中执行,诸如图 5中所示的云系统以及具有不同云基础设施的其它云系统。如以下所讨论的,图6中的示例 涉及基于云中的具体物理资源的标签而创建新的虚拟机实例。然而,物理资源标签还可以 被用于其它云服务,例如修改现有虚拟机示例以改变虚拟机的计算,存储或网络能力,重新 配置云消费者的虚拟机网络,删除一个或多个虚拟机实例,等等。
[0075] 在步骤601,可以由云运营商或管理员为云计算环境中的一个或多个物理硬件资 源分配以一个或多个标签。例如,(例如,运行CL0UDSTACK或0PENSTACK云基础设施平台 的)云计算系统的IT雇员、经理或管理员可以为云环境中的不同物理硬件分配不同标签。 参考图7A,该示例示出了表格700a,其包含与云计算环境中的物理资源集合相关联的标签 集合。如该示例中所示,为物理资源所分配的标签可以对应于那些资源的一个或多个属性。 例如,标签可以表示物理资源的性能或可靠性的量度、资源的制造商、或者资源在云中的物 理安装位置,等等。然而,标签并不需要表示物理资源的属性,而是可以由云运营商或管理 员基于被认为适宜的任意准则而加以指定。标签可以被分配给物理计算资源(例如,用于 托管的虚拟化服务器)、物理存储资源(例如,存储磁盘)、物理网络资源(例如,网络元件) 或者云计算环境中的任意其它物理硬件。如图7A所示,在一些实施例中,可以将多个标签 分配给单个物理资源,并且一些资源可能没有被分配以标签。
[0076] 物理资源标签可以在一个或多个数据库表格、文件或者云资源管理器所能够访问 的其它存储中被创建和存储。例如,物理资源标签数据库可以在运行云系统软件(例如, CL0UDSTACK)的云控制计算机上建立。如以上所讨论的,云系统软件可以包括一个或多个云 运营商操控台(例如,在云用户接口层535内),以允许云运营商查看、创建、修改和删除标 签并且改变标签和具体物理资源之间的分配和关联。
[0077] 在步骤602,在步骤601中被创建或修改的一个或多个资源标签可以与云系统所 提供的一个或多个云计算供应(offering)相关联。如本文中所使用的云计算供应是指一 个或多个计算资源、存储资源、联网资源和/或可以由云运营商提供给消费者的其它硬件 或软件资源的预定组合。在一些示例中,当云消费者连接至云消费者操控台353并且请求 新的虚拟机时,消费者操控台可以向消费者呈现用户界面,其示出了可以由消费者选择的 虚拟机模板、功能规范和/或特征的预定组合,而不是要求消费者为新的虚拟机单独选择 每一个硬件和软件。例如,针对小型虚拟机的第一服务供应可以指定处理器速度(例如,以 MHz或GHz为单位)和内存量(例如,以MB或GB为单位),而针对较大虚拟机的第二服务 供应可以指定更快的处理器速度和更大的存储器数量。类似地,针对新虚拟机的第一个小 型磁盘供应可以指定磁盘数量(例如,以GB为单位),而第二个更大的磁盘供应可以指定更 大的磁盘空间量。在一些示例中,云计算供应(例如,虚拟机模板、服务供应、磁盘供应、网 络供应等)可以由云运营商基于云中可用的物理资源来定义,或者可以由消费者基于消费 者针对虚拟机和其它云资源或者这二者的要求和偏好进行定义。
[0078] 类似于步骤601中向物理资源分配标签的处理,可以使用一个或多个数据库表 格、文件或者其它存储器件来执行在步骤602中的物理资源标签与云计算供应的关联。例 如,将供应和资源标签进行相关的表格可以在运行云系统软件的云控制计算机上建立,并 且可以提供云运营商操控台或其它用户界面来允许云运营商或管理员查看、创建、修改和 删除云计算供应和资源标签之间的关联。参考图7B,该示例示出了包含与物理资源标签相 关联的供应的集合的表格700b。如图7B所示,在一些实施例中,标签可以与多个供应相关 联,或者反之亦然;并且一些供应可以不与标签相关联。此外,虽然在图7A和7B的实施例 中在分开的表格中示出了物理资源、标签和供应之间的关联,但是在其它示例中可以使用 其它表格结构或其它存储设计。例如,在某些实施例中,物理资源可以在包含供应列和物理 资源列的单个表格中被附上标签,并不需要单独的标签列和/或多个相关的表格。
[0079] 在步骤603,云运营商为云消费者提供一个或多个虚拟机供应。如以上所讨论的, 云系统软件(例如,诸如CL0UDSTACK、0PENSTACK等的云基础设施平台)可以提供消费者操 控台应用或其它用户界面535以允许云消费者从客户端机器550进行远程连接,以及创建 并管理其虚拟机和其它云资源。在该示例中,消费者可以经由消费者操控台连接至云系统 并且请求为消费者的组织创建新的虚拟机。响应于消费者的请求,云系统可以为新虚拟机 获取可用供应的集合并向消费者进行显示。如以上所提到的,可用供应可以基于云中的物 理资源、消费者对于其组织中的虚拟机的服务计划、要求、偏好(例如,消费者模板、平台要 求、软件应用要求等)。此外,如以上所讨论的,虽然该示例涉及创建新的虚拟机,但是其它 实施例可以为消费者提供执行其它云服务的类似供应,例如,通过改变虚拟机的计算、存储 或网络能力而修改现有的虚拟机实例,重新配置消费者的虚拟机网络,删除一个或多个虚 拟机实例,等等。参考图7C,该示例示出了说明性的(例如,来自消费者操控台应用的)用 户界面700c,其显示了可以由消费者在创建新的虚拟机时选择的供应的集合。
[0080] 在步骤604,消费者经由消费者操控台或其它用户界面选择一个或多个用于创建 新虚拟机的供应,并且云系统接收所选择的供应。例如,消费者可能已经选择了对应于具有 4GHz处理器速度和4GB内存的虚拟机的服务供应。此外,消费者可能已经选择了指示新虚 拟机应当包括32GB的磁盘存储的磁盘供应,以及指示动态主机配置协议(DHCP)应当在新 虚拟机上可用的网络供应。在一些实施例中,这些供应可以被单独定价、呈现和选择,而在 其它实施例中,可以对一个或多个服务供应、磁盘供应和网络供应的组合进行定价并且合 并为可以由消费者进行选择的单个供应。
[0081] 在步骤605,云系统(例如,云系统管理器530)获取与消费者所选择的(多个) 供应相关联的一个或多个资源标签。如以上所讨论的,云计算供应和物理资源标签之间的 关联可以被存储在一个或多个数据库表格、文件或者由云系统软件可访问的其它存储器件 中。因此,获取与所选择的(多个)供应相关联的资源标签可以包括访问包含标签和供应 之间的关系的数据库表格,或者可以保存该关联的另一存储。再次参考图7A-7C所示的示 例,如果用户选择了第一虚拟机供应705c (被存储为"0FFER_1"),则在步骤605,可以获取 具有标签_1〇 "2"的单个物理资源标签。如果用户选择了第二虚拟机供应710c (被存储为 "0FFER_2"),则可以获取具有标签_ID " 1"和"6"的两个标签。
[0082] 在步骤606,在获取了与所选择的(多个)云供应相关联的物理资源标签之后,云 系统软件(例如,云资源管理器530)可以选择要在创建新虚拟机时使用的物理硬件资源的 集合,并且可以使用所选择的物理资源来提供新的虚拟机及其操作环境。例如,基于消费者 所选择的(多个)供应,云资源管理器530可以从云中的物理计算资源选择用于托管该虚 拟机的主机服务器,用于为该虚拟机提供磁盘存储的一个或多个物理存储资源,以及用于 为该虚拟机提供网络服务的一个或多个物理网络资源。
[0083] 在一些实施例中,步骤606中所选择的每个物理资源可以基于与消费者所选择的 (多个)供应相关联的物理资源标签进行选择。再次参考图7A-7C所示的示例,如果具有 标签_ID "1"的标签与消费者所选择的供应相关联,则在步骤606,可以基于表格700a中 的标签关联而选择被命名为"主机A"的主机服务器来托管新的虚拟机。在另一个示例中, 如果具有标签_ID "3"的标签与消费者所选择的供应相关联,则在步骤606,可以选择服务 器"主机B"来托管新的虚拟机,并且可以选择被标示为"Net_El ement_A"的Cisco防火墙 路由器来为新虚拟机提供防火墙服务。因此,在某些实施例中,每个供应可以与一个或多个 标签相关联,并且每个标签可以与一个或多个物理资源相关联,从而云资源管理器530始 终都可以在没有歧义的情况下确定应当被用来提供每个所选择的云计算供应及其操作环 境的具体物理硬件资源。
[0084] 然而,在某些实施例中,与所选择的(多个)供应相关联的标签可能不完全确定应 当用来提供所选择供应的物理资源的集合。例如,对应于所选择的(多个)虚拟机供应的 标签可能与物理云资源的子集相关联,因此允许云资源管理器530从该子集中进行选择以 提供新虚拟机及其操作环境(例如,监管程序、存储资源、网络元件供应的服务等)。参考图 7A-7C,如果消费者选择了第三服务供应(保存为"OFFER_3"),则相关联的标签(即,标签 _ID "1"和"5")可以允许云资源管理器530在"主机A"或"主机C"上托管新的虚拟机。 在这样的示例中,云资源管理器530可以基于各种因素在物理资源的子集之间进行选择, 诸如性能、可靠性、价格、与相同虚拟机或消费者所使用的其它物理资源的接近度和/或可 用物理资源的当前容量。
[0085] 在其它示例中,对应于所选择的(多个)虚拟机供应的标签可能并不与一种或多 种资源类型的物理资源相关联。例如,参考图7A-7C,如果消费者选择了与具有标签_10"5" 的标签相关联的服务供应,则云资源管理器530可以在"主机C"上提供新的虚拟机。然而, 由于没有物理资源或网络资源与标签_1〇 "5"相关联,所以云资源管理器530可以基于如 以上所讨论的各种其它因素为新虚拟机确定物理资源和网络资源。在类似的示例中,如果 消费者选择了与具有标签_ID "7"的标签相关联的存储供应,则云资源管理器530可以将 "存储B"用于新虚拟机的磁盘存储,但是可以基于其它因素选择物理主机服务器和网络元 件。
[0086] 在一些实施例中,云运营商可以对云系统软件进行配置以针对每个资源类型而要 求物理标签关联。在这样的实施例中,云计算供应(例如,服务供应、存储供应、网络供应 等)可能仅在该供应具有针对提供该供应所要求的一些或所有必要物理资源的标签关联 的情况下才被呈现给消费者。例如,当云运营商配置云供应的集合并且(例如,经由云运营 商操控台535)将云供应与物理资源相关联时,云系统软件可以通过监视供应、标签和物理 资源之间的关联而强制实施一种或多种规则,以便防止关联之间的任何冲突或不一致。作 为示例,如果云运营商试图对云供应进行配置以要求互相不兼容的两个物理硬件,则云系 统软件可以拒绝所尝试的配置并且在该供应能够被保存并呈现给用户之前要求云运营商 去除或改变标签关联。
[0087] 在一些示例中,基于标签关联,可能无法在消费者选择供应时利用适当物理资源 来提供虚拟机及其操作环境(或其它云供应)。例如,参考图7A-7C,如果消费者在相关联 的虚拟化服务器("主机B")离线时或者在相关联的物理存储("存储B")满载时选择了 供应705c( "0FFER_1"),则可能无法依据标签关联提供所请求的虚拟机及其操作环境。在 这样的示例中,云资源管理器530可以被配置为找出最接近的可用资源(例如,基于性能准 贝1J、可靠性、物理位置等)以替换任何无法被用来提供该供应的物理硬件。在这样的示例 中,有待使用的不同物理资源集合的确定可以自动被执行并且可以对于消费者是透明的。 在其它情况下,消费者可以被通知以物理资源的变化(例如,新的功能参数、属性、价格等) 和/或可以被提供以选择不同供应的机会。
[0088] 在一些实施例中,云系统软件可以对云中的物理资源的状态进行监视,并且可以 基于资源的可用性动态更新标签关联和供应。例如,在以上示例中,如果物理资源磁盘"存 储B"满载而当前无法支持任何新的虚拟机,则云系统软件可以动态更新当前的供应集合以 去除任何与"存储B"具有标签关联的供应。在另一个示例中,供应和标签关联可以被动态 更新以将"存储B"替换为另一个可用存储磁盘。在这样的示例中,当原本带标签的物理资 源(例如,服务器、存储磁盘、网络元件)再次变为可用,则云软件可以检测到该变化并且更 新供应和标签关联以引用原本带标签的资源。
[0089] 已经在其说明性实施例的方面度本公开内容的各方面进行了描述。本领域技术人 员通过回顾本公开内容将认识到处于所附权利要求的范围和精神之内的多种其它实施例、 修改和变化。例如,本领域技术人员将会认识到,说明性附图中所图示的步骤可以以与所 引用顺序不同的顺序来执行,并且所图示的一个或多个步骤依据本公开内容的各方面而可 以是可选的。本领域技术人员特别是可以鉴于前述教导来进行修改。例如,以上所提到的 实施例的每个要素可以被单独利用,或者以与其它实施例的要素的组合或子组合而得以利 用。还要认识到和理解的是,可以在不背离以下权利要求的精神和范围的情况下进行修改。
【权利要求】
1. 一个或多个存储计算机可执行指令的非瞬时计算机可读媒介,所述计算机可执行指 令当被处理器执行时使得计算设备: 接收在云计算环境中创建虚拟机的请求; 接收对与所述请求相关联的供应的选择,所选择的供应包括服务供应和网络供应中的 至少一个; 从存储中获取与所选择的供应相关联的第一标签; 识别所述云计算环境内与所述第一标签相关联的一个或多个物理资源;以及 创建与所述请求对应的第一虚拟机,其中所述第一虚拟机被配置为使用与所述第一标 签相关联的所述一个或多个物理资源。
2. 根据权利要求1的计算机可读媒介,其中所述云计算环境包括多个计算机服务器, 其中所述第一标签与所述多个计算机服务器的子集相关联,并且其中创建所述第一虚拟机 包括在与所述第一标签相关联的所述多个计算机服务器的所述子集中的一个计算机服务 器上提供所述第一虚拟机。
3. 根据权利要求1所述的计算机可读媒介,其中云计算环境包括多个物理联网资源, 其中所述第一标签与所述多个物理联网资源的子集相关联,并且其中创建所述第一虚拟机 包括配置所述多个物理联网资源的所述子集中的一个物理联网资源,用以针对所述第一虚 拟机提供联网服务。
4. 根据权利要求1所述的计算机可读媒介,存储另外的计算机可执行指令,所述另外 的计算机可执行指令当被所述处理器执行时使得所述计算设备 : 在接收到所述请求之后显示用于创建新虚拟机的多个供应,所述多个供应包括与第一 标签相关联的第一供应以及与不同的第二标签相关联的第二供应。
5. 根据权利要求4所述的计算机可读媒介,其中第一供应对应于第一物理资源属性的 第一数值,并且所述第二供应对应于所述第一物理资源属性的不同的第二数值。
6. 根据权利要求4所述的计算机可读媒介,其中所述第一供应和所述第二供应基于所 述第一物理资源属性的不同的所述第一数值和所述第二数值而被差异地定价。
7. 根据权利要求1所述的计算机可读媒介,存储另外的计算机可执行指令,所述另外 的计算机可执行指令当被所述处理器执行时使得所述计算设备 : 在接收到所述请求之后确定所述云计算环境内至少具有当前资源容量的阈值水平的 至少一个物理资源; 识别与至少具有当前资源容量的所述阈值水平的所述至少一个物理资源相关联的第 一标签集合; 获取用于创建新虚拟机的第一供应集合,其中所述第一供应集合与所述第一标签集合 相关联;以及 显示所述第一供应集合。
8. 根据权利要求7所述的计算机可读媒介,其中用于创建新虚拟机的第二供应集合不 与所述第一标签集合相关联,并且其中所述第二供应集合不随所述第一供应集合一起被显 /_J、1 〇
9. 一种方法,包括: 在第一云基础设施计算设备处接收在云计算环境中创建虚拟机的请求; 在所述第一云基础设施计算设备处接收对与所述请求相关联的供应的选择,所选择的 供应包括服务供应和网络供应中的至少一个; 从存储中获取与所选择的供应相关联的第一标签; 识别所述云计算环境内与所述第一标签相关联的一个或多个物理资源;以及 由所述第一云基础设施计算设备创建与所述请求对应的第一虚拟机,其中所述第一虚 拟机被配置为使用与所述第一标签相关联的所述一个或多个物理资源。
10. 根据权利要求9所述的方法,其中所述云计算环境包括多个计算机服务器,其中所 述第一标签与所述多个计算机服务器的子集相关联,并且其中创建所述第一虚拟机包括在 与所述第一标签相关联的所述多个计算机服务器的所述子集中的一个计算机服务器上提 供所述第一虚拟机。
11. 根据权利要求9所述的方法,其中云计算环境包括多个物理联网资源,其中所述第 一标签与所述多个物理联网资源的子集相关联,并且其中创建所述第一虚拟机包括配置所 述多个物理联网资源的所述子集中的一个物理联网资源,用以针对所述第一虚拟机提供联 网服务。
12. 根据权利要求9所述的方法,进一步包括: 在接收到所述请求之后显示用于创建新虚拟机的多个供应,所述多个供应包括与第一 标签相关联的第一供应以及与不同的第二标签相关联的第二供应。
13. 根据权利要求12所述的方法,其中第一供应对应于第一物理资源属性的第一数 值,并且所述第二供应对应于所述第一物理资源属性的不同的第二数值。
14. 根据权利要求12所述的方法,其中所述第一供应和所述第二供应基于所述第一物 理资源属性的不同的所述第一数值和所述第二数值而被差异地定价。
15. 根据权利要求9所述的方法,进一步包括: 在接收到所述请求之后确定所述云计算环境内至少具有当前资源容量的阈值水平的 至少一个物理资源; 识别与至少具有当前资源容量的所述阈值水平的所述至少一个物理资源相关联的第 一标签集合; 获取用于创建新虚拟机的第一供应集合,其中所述第一供应集合与所述第一标签集合 相关联;以及 显示所述第一供应集合。
16. 根据权利要求15所述的方法,其中用于创建新虚拟机的第二供应集合不与所述第 一标签集合相关联,并且其中所述第二供应集合不随所述第一供应集合一起被显示。
17. -种装置,包括: 处理器,控制所述装置的至少一些操作;以及 存储计算机可执行指令的存储器,所述计算机可执行指令当被所述处理器执行时使得 所述装置: 接收在云计算环境中创建虚拟机的请求; 接收对与所述请求相关联的供应的选择,所选择的供应包括服务供应和网络供应中的 至少一个; 从存储中获取与所选择的供应相关联的第一标签; 识别所述云计算环境内与所述第一标签相关联的一个或多个物理资源;以及 创建与所述请求对应的第一虚拟机,其中所述第一虚拟机被配置为使用与所述第一标 签相关联的所述一个或多个物理资源。
18. 根据权利要求17所述的装置,其中所述云计算环境包括多个计算机服务器,其中 所述第一标签与所述多个计算机服务器的子集相关联,并且其中创建所述第一虚拟机包括 在与所述第一标签相关联的所述多个计算机服务器的所述子集中的一个计算机服务器上 提供所述第一虚拟机。
19. 根据权利要求17所述的装置,其中云计算环境包括多个物理联网资源,其中所述 第一标签与所述多个物理联网资源的子集相关联,并且其中创建所述第一虚拟机包括配置 所述多个物理联网资源的所述子集中的一个物理联网资源,用以针对所述第一虚拟机提供 联网服务。
20. 根据权利要求17所述的装置,所述存储器存储另外的计算机可执行指令,所述另 外的计算机可执行指令当被所述处理器执行时使得所述装置: 在接收到所述请求之后显示用于创建新虚拟机的多个供应,所述多个供应包括与第一 标签相关联的第一供应以及与不同的第二标签相关联的第二供应。
21. 根据权利要求20所述的装置,其中第一供应对应于第一物理资源属性的第一数 值,并且所述第二供应对应于所述第一物理资源属性的不同的第二数值。
22. 根据权利要求20所述的装置,其中所述第一供应和所述第二供应基于所述第一物 理资源属性的不同的所述第一数值和所述第二数值而被差异地定价。
23. 根据权利要求17所述的装置,所述存储器存储另外的计算机可执行指令,所述另 外的计算机可执行指令当被所述处理器执行时使得所述装置: 在接收到所述请求之后确定所述云计算环境内至少具有当前资源容量的阈值水平的 至少一个物理资源; 识别与至少具有当前资源容量的所述阈值水平的所述至少一个物理资源相关联的第 一标签集合; 获取用于创建新虚拟机的第一供应集合,其中所述第一供应集合与所述第一标签集合 相关联;以及 显示所述第一供应集合。
24. 根据权利要求23所述的装置,其中用于创建新虚拟机的第二供应集合不与所述第 一标签集合相关联,并且其中所述第二供应集合不随所述第一供应集合一起被显示。
【文档编号】G06F9/455GK104106051SQ201380008731
【公开日】2014年10月15日 申请日期:2013年2月8日 优先权日:2012年2月9日
【发明者】A·黄, C·维塔尔, W·钱 申请人:西里克斯系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1