用于在云计算环境中提供对从存储系统检索的数据的转换的系统和方法

文档序号:6348150阅读:163来源:国知局
专利名称:用于在云计算环境中提供对从存储系统检索的数据的转换的系统和方法
技术领域
本发明总的涉及用于提供对从存储系统检索的数据的转换的系统和方法。本发明尤其涉及用于在云计算环境中提供对存储系统检索的数据的转换的系统和方法。
背景技术
在用于提供对虚拟资源的访问的传统系统中,供应存储系统以及将网络单元配置为允许位于远程的计算装置访问该存储系统造成了大量的管理负担,因为这些系统通常要求手工配置并且与很多管理工具交互。一个挑战可能出现在这样的情况下,其中存储系统硬件提供者已经提供了用于从存储系统检索数据或提供对存储系统的访问的接口。存储系统硬件提供者可能已经与描述如何创建响应数据请求的接口以及如何格式化响应的标准相兼容;例如,该提供者可能兼容诸如存储管理主动规范(SMI-S)的规范。然而,供应商可能增加没有被该标准覆盖的功能。或者,标准可能提供充分的灵活性,即对具体规范的不同供应商的实现可能从一个供应商到另一个供应商有很大差异,这导致了供应商专用格式而不是标准格式。对这些问题的一些传统解决方案中,供应商可选择创建定制的接口,那么想要检索数据的公司不得不配合供应商以便从与其工作的每个供应商得到定制的接口 ;这可能是昂贵的并且耗时的过程。

发明内容
一方面,一种用于在云计算环境中提供对从存储系统检索的数据的转换的方法包括由在第一物理计算装置上执行的接口对象接收由存储系统供应虚拟存储资源的请求。该方法包括由接口对象从存储系统接口对象请求供应虚拟存储资源。该方法包括由接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识。该方法包括由接口对象通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接口转换文件将多个专用格式的每一个与标准格式相映射。该方法包括由接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求进行响应。又一方面,一种用于在云计算环境中提供对从存储系统检索的数据的转换的方法包括由接口对象向存储系统接口对象查询由存储系统提供的资源的列举。该方法包括由接口对象接收至少一个所列举资源的以专用格式表示的标识。该方法包括由接口对象访问接口转换文件以便将该标识符转换为以标准格式表示的标识符,所述接口转换文件将多个专用格式的每一个映射到标准格式。该方法包括由接口对象接收对至少一个所列举资源的标识的请求。该方法包括由接口对象用标识的转换来对该请求进行响应。


本发明的前述和其它目的、方面、特征和优点通过参考下述结合附图的描述将会更加明显并更易于理解,其中图IA是描述包括管理程序层、虚拟化层和硬件层的计算环境的实施例的框图;图1B-1E是描述有益于此处所描述的方法和系统的相关的计算装置的实施例的框图;图IF是描述包括与远程机器通信的本地机器的网络环境的实施例的框图;图2A是描述用于在云计算环境中自动管理虚拟资源的系统的实施例的框图;图2B是描述在其中存储传送管理服务包括存储系统通信组件的系统的实施例的框图;图2C是描述在其中存储传送管理服务包括结构管理组件的系统的一个实施例的框图;图2D是描述在其中存储传送管理服务包括主计算装置通信组件的系统的一个实施例的框图;图3是描述用于在云计算环境中自动管理虚拟资源的方法的实施例的流程图;图4是描述用于动态地在通信协议间转换的方法的实施例的流程图;图5A是描述用于在云计算环境中从存储系统检索数据的方法的一个实施例的流程图;图5B是描述用于在其中存储传送管理服务请求和转换由存储适配器提供的数据的方法的实施例的流程图;图5C是描述接口转换文件的一部分的一个实施例的框图;图5D是描述识别与存储系统关联的数据的数据模型的一个实施例的框图;图5E是描述用于在云计算环境中从存储系统检索数据的方法的又一个实施例的流程图。
具体实施例方式现参考图1A,框图描述了虚拟化环境的一个实施例。简而言之,计算装置100包括管理程序层、虚拟化层和硬件层。管理程序层包括管理程序101 (也称为虚拟化管理器), 其通过在虚拟化层中执行的至少一个虚拟机来分配和管理对硬件层中的多个物理资源的访问(例如处理器221和盘228)。虚拟化层包括至少一个操作系统110和分配给至少一个操作系统110的多个虚拟资源,虚拟资源可包括而不限于多个虚拟处理器13h、132b、 132c (总称为13 和虚拟盘14加、142b、142c (总称为142)、以及例如虚拟存储器和虚拟网络接口的虚拟资源。可将多个虚拟资源和操作系统110称为虚拟机106。虚拟机106可包括控制操作系统105,该控制操作系统105与管理程序101通信,并用于执行应用以管理并
5配置计算装置100上的其他虚拟机。现参考图1A,具体而言,管理程序101可以以模拟访问物理设备的操作系统的任何方式向操作系统提供虚拟资源。管理程序101可以向任一数量的客户操作系统110a、 110b(总称为110)提供虚拟资源。一些实施例中,计算装置100执行一种或多种管理程序。 这些实施例中,管理程序可用于模拟虚拟硬件、划分物理硬件、虚拟化物理硬件并执行提供对计算环境的访问的虚拟机。管理程序可包括由位于美国加利福尼亚州的I^alo Alto的 VMWare公司制造的那些程序、XEN管理程序(一种开源产品,其开发由开源Xen. org协会监管)、由Microsoft公司提供的HyperV、VirtualServer或虚拟PC管理程序或其他。一些实施例中,计算装置100执行创建客户操作系统可在其上执行的虚拟机平台的管理程序, 该计算装置100被称为宿主服务器。在这些实施例的一个中,例如,计算装置100是由位于美国佛罗里达州Fort Lauderdale的Citrix Systems公司提供的XEN SERVER。一些实施例中,管理程序101在计算装置上执行的操作系统之内执行。在这些实施例的一个中,执行操作系统和管理程序101的计算装置可被视为具有宿主操作系统(在计算装置上执行的操作系统)和客户操作系统(在由管理程序101提供的计算资源分区内执行的操作系统)。其他实施例中,管理程序101和计算装置上的硬件直接交互而不是在宿主操作系统上执行。在这些实施例的一个中,管理程序101可被视为是在“裸金属(bare metal),,上执行,所述“裸金属”指包括计算装置的硬件。一些实施例中,管理程序101可以创建操作系统110在其中执行的虚拟机 106a-c(总称为106)。在这些实施例的一个中,管理程序101加载虚拟机映像以创建虚拟机106。在这些实施例的另一个中,管理程序101在虚拟机106内执行操作系统110。在这些实施例的另一个中,虚拟机106执行操作系统110。一些实施例中,管理程序101控制对在计算装置100上执行的虚拟机106的处理器调度和内存划分。在这些实施例的一个中,管理程序101控制至少一个虚拟机106的执行。在这些实施例的另一个中,管理程序101向至少一个虚拟机106呈现对由计算装置100 提供的至少一个硬件资源的抽象。其他实施例中,管理程序101控制是否以及如何把物理处理器能力提供给虚拟机106。控制操作系统105可以执行用于管理和配置客户操作系统的至少一个应用。一个实施例中,控制操作系统105可以执行管理应用,如包括如下用户接口的应用,该用户接口为管理员提供对用于管理虚拟机执行的功能的访问,这些功能包括用于执行虚拟机、终止虚拟机执行或者识别要分配给虚拟机的物理资源类型的功能。另一个实施例中,管理程序 101在由管理程序101创建的虚拟机106内执行控制操作系统105。在又一个实施例中,控制操作系统105在被授权直接访问计算装置100上的物理资源的虚拟机106上执行。一些实施例中,计算装置IOOa上的控制操作系统10 可经由管理程序IOla和管理程序IOlb 之间的通信与计算装置IOOb上的控制操作系统10 交换数据。这样,一个或多个计算装置100可以与一个或多个其他计算装置100交换关于资源池中可用的处理器和其他物理资源的数据。在这些实施例的一个中,该功能允许管理程序管理分布在多个物理计算装置上的资源池。在这些实施例的另一个中,多个管理程序管理在其中一个计算装置100上执行的一个或多个客户操作系统。一个实施例中,控制操作系统105在被授权与至少一个客户操作系统110交互的虚拟机106上执行。另一个实施例中,客户操作系统110通过管理程序101与控制操作系统105通信,以请求访问盘或网络。在又一个实施例中,客户操作系统110和控制操作系统 105可通过由管理程序101建立的通信信道通信,例如,通过由管理程序101提供的多个共享存储器页面通信。一些实施例中,控制操作系统105包括用于直接与由计算装置100提供的网络硬件通信的网络后端驱动器。在这些实施例的一个中,网络后端驱动器处理来自至少一个客户操作系统110的至少一个虚拟机请求。其他实施例中,控制操作系统105包括用于与计算装置100上的存储单元通信的块后端驱动器。在这些实施例的一个中,块后端驱动器根据从客户操作系统110接收的至少一个请求从存储单元读写数据。一个实施例,控制操作系统105包括工具堆栈104。其他实施例中,工具堆栈104提供如下功能和管理程序101交互、和其他控制操作系统105(例如位于第二计算装置IOOb 上)通信,或者管理计算装置100上的虚拟机106b、106c。另一个实施例中,工具堆栈104 包括自定义应用,其用于向虚拟机群的管理员提供改进的管理功能。一些实施例中,工具堆栈104和控制操作系统105中的至少一个包括管理API,其提供用于远程配置并控制计算装置100上运行的虚拟机106的接口。其他实施例中,控制操作系统105通过工具堆栈104 和管理程序101通信。一个实施例中,管理程序101在由管理程序101创建的虚拟机106内执行客户操作系统110。另一个实施例中,客户操作系统110为计算装置100的用户提供对计算环境中的资源的访问。另一个实施例中,资源包括程序、应用、文档、文件、多个应用、多个文件、 可执行程序文件、桌面环境、计算环境或对计算装置100的用户可用的其他资源。另一个实施例中,可通过多个访问方法将资源传送给计算装置100,这些方法包括但不限于常规的直接安装在计算装置100上、通过应用流的方法传送给计算装置100、将由在第二计算装置 100'上执行资源产生的并通过表示层协议传送给计算装置100的输出数据传送给计算装置100、将由在第二计算装置100'上执行的虚拟机执行资源所产生的输出数据传送给计算装置100、或者从连接到计算装置100的移动存储装置(例如USB设备)执行,或者通过在计算装置100上执行的虚拟机执行并且产生输出数据。一些实施例中,计算装置100把执行资源所产生的输出数据传输给另一个计算装置100'。一个实施例中,客户操作系统110和该客户操作系统110在其上执行的虚拟机结合形成完全虚拟化虚拟机,该完全虚拟化虚拟机并不知道自己是虚拟机,这样的机器可称为“Domain U HVM(硬件虚拟机)虚拟机”。另一个实施例中,完全虚拟化机包括模拟基本输入/输出系统(BIOS)的软件以便在完全虚拟化机中执行操作系统。在另一个实施例中, 完全虚拟化机可包括驱动器,其通过和管理程序101通信提供功能。这样的实施例中,驱动器通常意识到自己在虚拟化环境中执行。另一个实施例中,客户操作系统110和该客户操作系统110在其上执行的虚拟机结合形成超虚拟化虚拟机(paravirtualized),该超虚拟化虚拟机意识到自己是虚拟机,这样的机器可称为“Domain U PV虚拟机”。另一个实施例中,超虚拟化机包括完全虚拟化机不包括的额外驱动器。另一个实施例中,超虚拟化机包括如上所述的被包含在控制操作系统105中的网络后端驱动器和块后端驱动器。计算装置100可以被部署为任意类型和形式的计算装置和/或在其上执行,例如能够与任意类型和形式的网络通信并且执行此处所描述的操作的计算机、网络装置或设备。图IB和IC描述了用于实施此处所描述的方法和系统的实施例的计算装置100的框图。 如图IB和IC所示,计算装置100包括中央处理单元121和主存储器单元122。如图IB所示,计算装置100可包括存储装置128、安装装置116、网络接口 118、I/O控制器123、显示装置12如-1对11、键盘1 和诸如鼠标的指示装置127。存储装置1 可包括但不限于操作系统、软件和客户机代理120。如图IC所示,每个计算装置100也可包括另外的可选部件, 例如存储器端口 103、桥170、一个或多个输入/输出装置130a-130n(总的使用标号130表示)以及与中央处理单元121通信的高速缓存存储器140。中央处理单元121是响应并处理从主存储器单元122取出的指令的任意逻辑电路。在一些实施例中,中央处理单元121由微处理器单元提供,例如由位于美国加利福尼亚州Mountain View的htel公司制造的微处理器单元;由位于美国伊利诺伊州 Schaumburg的Motorola公司制造的微处理器单元;由位于美国加利福尼亚州Santa Clara 的"Transmeta公司制造的微处理器单元;RS/6000处理器,由位于美国纽约州White Plains 的hternational Business Machines公司制造的微处理器单元;或者由位于美国加利福尼亚州Sunnyvale的Advanced Micro Devices公司制造的微处理器单元。计算装置100 可以基于这些处理器中的任意一种,或者能够按照这里所说明的那样运行的任意其它处理
ο主存储器单元122可以是能够存储数据并允许微处理器121直接访问任意存储位置的一个或多个存储器芯片,例如静态随机存取存储器(SRAM)、突发SRAM或同步突发SRAM (BSRAM)、动态随机存取存储器(DRAM)、快速页模式DRAM (FPM DRAM)、增强DRAM (EDRAM)、扩展数据输出DRAM (EDO DRAM)、突发扩展数据输出DRAM (BED0 DRAM)、 同步 DRAM (SDRAM)、JEDEC SRAM、PC100SDRAM、双倍数据速率 SDRAM (DDR SDRAM)、增强 SDRAM (ESDRAM)、同步链路 DRAM (SLDRAM)、直接 RambusDRAM(DRDRAM)或铁电 RAM(FRAM)。主存储器122可以基于上述存储器芯片的任意一种,或者能够像这里所说明的那样运行的任意其它可用存储器芯片。在图IB所示的实施例中处理器121通过系统总线150 (在下面进行更详细的描述)与主存储器122进行通信。图IC描述了在其中处理器通过存储器端口 103直接与主存储器122通信的计算装置100的实施例。例如,在图IC中主存储器122可以是 DRDRAM。图IC描述在其中主处理器121通过有时被称为背侧总线的次级总线直接与高速缓存存储器140通信的实施例。其他实施例中,主处理器121使用系统总线150与高速缓存存储器140通信。高速缓存存储器140通常有比主存储器122更快的响应时间,并且通常由SRAM、BSRAM或EDRAM提供。在图IC所示的实施例中,处理器121通过本地系统总线 150与各种1/0装置130进行通信。可以使用各种不同的总线将中央处理单元121连接到任意1/0装置130,包括VESA VL总线、ISA总线、EISA总线、微通道体系结构(MCA)总线、 PCI总线、PCI-X总线、PCI-Express总线或NuBus。对于1/0装置是视频显示器124的实施例,处理器121可以使用高级图形端口(AGP)与显示装置IM通信。图IC描述了在其中主处理器121通过HYPERTRANSPORT、RAPIDI0、或INFINIBAND通信技术直接与1/0装置130b 通信的计算机100的实施例。图IC也描述了在其中本地总线和直接通信相混合的实施例 处理器121使用本地互连总线与1/0装置130a通信同时直接与1/0装置130b通信。
8
计算装置100中可以有多种I/O装置130a-130n。输入装置包括键盘、鼠标、触控板、轨迹球、话筒、拨号盘和绘图板。输出装置包括视频显示器、扬声器、喷墨打印机、激光打印机和热升华打印机。如图IB所示,I/O装置可以由I/O控制器123控制。I/O控制器可以控制一个或多个I/O装置,例如键盘1 和指示装置127 (如鼠标或光笔)。此外,I/O装置还可以为计算装置100提供存储和/或安装介质116。在其它实施例中,计算装置100可以提供USB连接(未示出)以接收手持USB存储装置,例如由位于美国加利福尼亚州Los Alamitos的Twintech Industry公司生产的设备的USB闪存驱动线。再次参考图1B,计算装置100可以支持任意适当的安装装置116,例如用于接收像 3. 5英寸、5. 25英寸磁盘或ZIP磁盘这样的软盘的软盘驱动器、⑶-ROM驱动器、⑶-R/RW驱动器、DVD-ROM驱动器、闪存驱动器、多种格式的磁带驱动器、USB设备、硬盘驱动器或适于安装软件和程序的任意其它设备。计算装置100还可以包括存储装置,诸如一个或者多个硬盘驱动器或者独立磁盘冗余阵列,用于存储操作系统和其它相关软件,以及用于存储诸如涉及客户机代理120的任意程序的应用软件程序。或者,可以使用安装装置116的任意一种作为存储装置。此外,操作系统和软件可从可引导介质运行,可引导介质例如是可引导 CD,诸如ΚΝ0ΡΡΙΧ,其为一种用于GNU/Linux的可引导CD,可自knoppix. net作为GNU/Linux 分发获得。此外,计算装置100可以包括网络接口 118以通过多种连接来与网络104对接,所述连接包括但不限于标准电话线路、LAN或WAN链路(例如802. 11、Tl、Τ3、561Λ、 X. 25、SNA、DECNET)、宽带连接(如I SDN、帧中继、ATM、千兆以太网、SONET上以太网 (Ethernet-over-SONET))、无线连接、或上述任意或全部的某种组合。可使用多种通信协议(例如 TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纤分布数据接口 (FDDI)、RS232、RS485、IEEE802. 11、IEEE802. 11a、IEEE802. lib、IEEE802. llg、CDMA、GSM、 WiMax和直接异步连接)来建立连接。在一个实施例中,计算装置100可以通过任意类型和/或形式的网关或诸如安全套接字层(SSL)或传输层安全(TLS)协议,或由位于美国佛罗里达州Ft. Lauderdale的Citrix Systems公司制造的Citrix网关协议的隧道协议来与其他计算装置100’通信。网络接口 118可以包括内置网络适配器、网络接口卡、PCMCIA网络卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适用于将计算装置100对接到能够通信并执行这里所说明的操作的任意类型的网络的任意其它设备。
在一些实施例中,计算装置100可以包括多个显示装置1对『12如或与其相连,这些显示装置各自可以是相同或不同的类型和/或形式。因而,任意一种1/0装置130a-130n 和/或1/0控制器123可以包括任一类型和/或形式的适当的硬件、软件或硬件和软件的组合,以支持、允许或提供通过计算装置100连接和使用多个显示装置12如-1对11。例如, 计算装置100可以包括任意类型和/或形式的视频适配器、视频卡、驱动器和/或库,以与显示装置对接、通信、连接或以其他方式使用显示装置12如-1对11。在一个实施例中,视频适配器可以包括多个连接器以与多个显示装置1对『12如对接。在其它实施例中,计算装置100可以包括多个视频适配器,每个视频适配器与显示装置1对『12如中的一个或多个连接。在一些实施例中,计算装置100的操作系统的任一部分都可以被配置用于使用多个显示器12如-1对11。在其它实施例中,显示装置中的一个或多个可以由一个或多个其它计算装置提供,诸如(例如通过网络)与计算装置100连接的计算装置IOOa和100b。这些实施例可以包括被设计和构造来使用另一个计算机的显示装置作为计算装置100的第二显示装置12 的任何类型的软件。本领域的普通技术人员会认识和意识到可以将计算装置100配置成拥有多个显示装置的各种方式和实施例。在进一步的实施例中,I/O装置130可以是系统总线150和外部通信总线之间的桥,所述外部通信总线如USB总线、Apple桌面总线、RS-232串行连接、SCSI总线、FireWire 总线、FireffireSOO总线、以太网总线、AppleTalk总线、千兆位以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总线、krialPlus总线、SCI/LAMP总线、光纤信道总线、串行 SCSI总线或HDMI总线。图IB和IC中所描述类型的计算装置100通常地在操作系统的控制下运行,操作系统控制任务的调度和对系统资源的访问。计算装置100可运行任一操作系统,诸如任一版本的MICROSOFT WINDOWS操作系统;不同发行版本的Unix和Linux操作系统;用于 Macintosh计算机的MAC OS的任意版本;任意嵌入式操作系统;任意实时操作系统;任意开源操作系统;任意专有操作系统;任意用于移动计算装置的操作系统,或者能够在计算装置上运行且执行此处所描述的操作的任意其它操作系统。典型的操作系统包括但不限于WINDOWS 3. χ、WINDOWS 95、WINDOWS 98、WINDOWS 2000、WINDOWS NT 3. 51、WINDOWS NT 4. 0,WINDOWS CE,WINDOWS MOBILE,WINDOWS XP 禾Π WINDOWS VISTA,所有这些均由位于美国华盛顿州Redmond的微软公司出品;由位于美国加利福尼亚州Cupertino的苹果计算机公司出品的Mac OS ;由位于美国纽约州Armonk的国际商业机器公司出品的OS/2 ;以及由位于美国犹他州Mlt Lake City的Caldera公司发布的可免费使用的Linux操作系统或者任意类型和/或形式的Unix操作系统,以及其它。计算机系统100可以是任意工作站、电话、台式计算机、膝上型或笔记本电脑、服务器、掌上电脑、移动电话或其他便携电信设备、媒体播放设备、游戏系统、移动计算装置, 或能够通信的任意其它类型和/或形式的计算、电信或者媒体装置。计算机系统100有足够的处理器能力和存储容量以执行此处所述的操作。例如,计算机系统100可包括由位于美国加利福尼亚州Cupertino的苹果计算机公司出品的IPOD系列设备、由位于日本Tokyo 的索尼公司出品的 PLAYSTATI0N2、PLAYSTATI0N3 或 PERSONAL PLAYSTATI0NP0RTABLE (PSP) 设备,由位于日本Kyoto的Nintendo有限公司出品的NINTENDO DS、NINTENDO GAMEB0Y、 NINTENDO GAMEB0Y ADVANCED或NINTENDO REVOLUTION设备,或者由位于美国华盛顿州 Redmond的微软公司出品的XBOX或XBOX 360设备。在一些实施例中,计算装置100可以有不同的处理器、操作系统以及与该装置一致的输入设备。例如,在一个实施例中,计算装置100是由I^lm公司出品的TRE0180、270、 600、650、680、700p、700w或750智能电话。在这些实施例的一些中,TERO智能电话是在 I5aImOS操作系统的控制下操作并且包括笔输入设备以及五向导航设备。在其他实施例中,计算装置200是移动设备,例如,JAVA使能蜂窝电话或个人数字助理(PDA),诸如 i55sr、i58sr、i85s、i88s、i90c、i95cl、i335、i365、i570、1576、i580、 i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、 776 或 imllOO,以上这些均由位于美国伊利诺伊州khaumburg的摩托罗拉公司制造;由位于日本Kyoto的 Kyocera公司制造的6035或7135 ;或者由位于韩国首尔的Samsung电子有限公司制造的 300或i330。在一些实施例中,计算装置100是由位于芬兰的诺基亚公司制造或由位于瑞典 Lund 的 Sony Ericsso Mobile Communications AB 公司制造的移动设备。在其他实施例中,计算装置100是黑莓(Bladcberry)手持或智能电话,诸如由 Research In Motion有限公司制造的设备,包括黑莓7100系列、8700系列、7700系列、7200 系列、黑莓7520、黑莓PERAL 8100,8700系列、8800系列、黑莓Morm、黑莓Bold、黑莓Curve 8900、黑莓Pearl Flip。在其他实施例中,计算装置100是智能电话、Pocket PC、Pocket PC 电话,或支持Microsft Windows Mobile Software的其它手持移动设备。此外,计算装置 100可以是任意工作站、台式计算机、膝上型或笔记本电脑、服务器、掌上电脑、移动电话、任意其它计算机、或能够通信并有足够的处理器能力和存储容量以执行此处所述操作的其它形式的计算或者电信设备。在一些实施例中,计算装置100是数字音频播放器。在这些实施例的一个中,计算装置100是诸如由位于美国加利福尼亚州Cupertino的苹果计算机公司制造的Apple IPOD、IPOD Touch, IPOD ΝΑΝΟ和IPOD SHUFFLE系列设备的数字音频播放器。在这些实施例的另一个中,数字音频播放器可作为便携媒体播放器和作为大容量存储装置来工作。 在其他实施例中,计算装置100是诸如由位于美国新泽西州Ridgefield Park的Samsung Electronics America 公司制造的 DigitalAudioPlayer Select MP3 播放器,或由位于美国伊利诺伊州Schaumburg的Motorola公司制造的Motorola m500或m25的数字音频播放器。在其他实施例中,计算装置100是便携媒体播放器,诸如由Creative Technologies 有限公司制造的 ZEN VISION W、ZEN VISION 系列、ZEN PORTABLE MEDIA CENTER 设备或 MP3播放器的Digital MP3系列。仍在其他实施例中,计算装置100是支持以下文件格式的便携媒体播放器或数字音频播放器,这些文件格式包括,但不限于MP3、WAV、M4A/AAC、 WMAProtected AAC、AIFF、Audible 音频书、Apple Lossless 音频文件格式和.mov、. m4v 以及.mp4MPEG-4(H. 264/MPEG-4AVC)视频文件格式。在一些实施例中,计算装置100包括设备的组合,例如与数字音频播放器或便携媒体播放器相组合的移动电话。在这些实施例的一个中,计算装置100是智能电话,例如由苹果计算机公司制造的iPhone,或由Research In Motion有限公司制造的黑莓设备。又一个实施例中,计算装置100是装有web浏览器和麦克风与扬声器系统(如电话耳机)的笔记本电脑或台式计算机。在这样的实施例中,计算装置100是web使能的(web-enabled) 的并且能接听和启动电话呼叫。在其他实施例中,计算装置100是组合数字音频播放器和移动电话的 Motorola RAZR 或 Motorola ROKR 系列。计算装置100可以是文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器或防火墙。在一些实施例中,计算装置100提供远程认证拨入用户服务,并被称为RADIUS服务器。 在其他实施例中,计算装置100可以有作为应用服务器或者作为主应用服务器工作的能力。在其他实施例中,计算装置100是刀片服务器。在一个实施例中,计算装置100可包括活动目录。计算装置100可以是应用加速设备。对于其中计算装置100是应用加速设备的实施例,计算装置100可提供包括防火墙功能、应用防火墙功能,或负载平衡功能的功能。在一些实施例中,计算装置100包括诸如由位于美国加州San Jose的Citrix Application Networking Group、位于美国加州 Mountain View 的 SilverPeak Systems 公司、位于美国力口州 San Francisco 的Riverbed ^Technology公司、位于美国华盛顿州kattle的F5 Networks公司或位于美国加州Sunnyvale的Juniper Networks公司制造的设备系列中的一个设备。在其他实施例中,计算装置100可被称为客户机节点、客户机器、端节点或端点。 在一些实施例中,客户机100具有作为客户机节点寻求访问服务器所提供的资源的能力以及作为服务器节点为其它客户机提供对所寄载的资源访问的能力。在一些实施例中,第一客户机计算装置IOOa与第二服务器计算装置IOOb通信。在一个实施例中,客户机与服务器群中的计算装置100之一进行通信。例如,通过网络,客户机可以请求执行由服务器群中的计算装置100所寄载的各种应用以及接收应用执行结果的输出数据以用于显示。在一个实施例中,客户机执行程序邻近应用(program neighborhood application)以与服务器群中的计算装置100通信。计算装置100可以执行、操作或者以其它方式提供应用,该应用可以是任何类型和/或形式的软件、程序或可执行指令,诸如任何类型和/或形式的web浏览器、基于web 的客户机、客户机-服务器应用、瘦客户端计算客户机、ActiveX控件、或Java小程序,或者能够在计算装置100上执行的任何其他类型和/或形式的可执行指令。在一些实施例中,应用可以是由第二计算装置代表第一计算装置的用户执行的基于服务器的或者基于远程的应用。在其他实施例中,第二计算装置可使用任何瘦客户端或远程显示协议向第一客户计算装置显示输出的数据,所述协议如由位于美国佛罗里达州Ft. Lauderdale的 Citrix Systems公司制造的独立计算架构(ICA)协议;或由位于美国华盛顿州Redmond的 Microsoft公司制造的远程桌面协议(RDP) ;Xll协议;由AT&T贝尔实验室制造的虚拟网络计算(VNC)协议;由位于美国加州Sunnyvale和以色列Raanana的Qumranet公司制造的 SPICE协议;由位于美国加州Milpitas的VESA公司制造的Net2Display协议;由位于加拿大不列颠哥伦比亚省Burnaby的Teradici公司制造的PC-over-IP协议;由位于美国加州 San Jose的Wyse Technology公司制造的TCX协议;由位于美国纽约州NewYork的纽约市哥伦比亚大学开发的THINC协议;或者由位于美国马萨诸塞州Chelmsford的Desktone公司制造的Virtual-D协议。应用可以使用任何类型的协议,并且其可以是例如HTTP客户机、 FTP客户机、Oscar客户机或Telnet客户机。在其他实施例中,应用包括与诸如软IP电话的网络电话(VoIP)通信有关的任意类型的软件。在进一步的实施例中,应用包括与实时数据通信有关的任何应用,例如用于流式传输视频和/或音频的应用。如图ID所示,计算装置100可以包括多个处理器,可以提供用于同时执行指令或者同时执行有关多于一条数据的指令的功能。在一些实施例中,计算装置100可包括具有一个或多个内核的并行处理器。在这些实施例的一个中,计算装置100是共享内层并行设备,具有多个处理器和/或多个处理器内核,把所有可用内存作为一个全局地址空间进行访问。另一个这样的实施例中,计算装置100是分布式内存并行设备,具有多个处理器,每个处理器仅访问本地存储器。在这些实施例的另一个中,计算装置100既有共享的存储器又有仅由特定处理器或处理器子集访问的存储器。在这些实施例的另一个中,如多核微处理器的计算装置100把两个或多个独立处理器组合在一个封装中,通常在一个集成电路 (IC)中。在这些实施例的另一个中,计算装置100包括具有单元宽带引擎(CELL BROADBAND ENGINE)架构的芯片,并包括高能处理器单元以及多个协同处理单元,高能处理器单元和多个协同处理单元通过内部高速总线连接在一起,可以将内部高速总线称为单元互连总线。
一些实施例中,处理器提供用于同时执行有关多条数据(SIMD)的一个指令的功能。其他实施例中,处理器提供用于同时执行有关多条数据(SIMD)的多个指令的功能。另一个实施例中,处理器可以在单个装置中使用SIMD和MIMD内核的任意组合。在一些实施例中,计算装置100可包括图像处理单元。图IE所描述的一个这样的实施例中,计算装置100包括至少一个中央处理单元101和至少一个图像处理单元。在这些实施例的另一个中,计算装置100包括至少一个并行处理单元和至少一个图像处理单元。在这些实施例的另一个中,计算装置100包括任意类型的多个处理单元,多个处理单元中的一个包括图像处理单元。现参考图1F,描述了网络环境的实施例。总的来说,网络环境包括经由一个或者多个网络111与一个或者多个服务器108a-108n(总的还称为服务器108或者远程机器108) 通信的一个或者多个客户机10加-10211(总的还称为本地机器102、客户机102、客户节点 102、客户机器102、客户计算机102、客户设备102、端点102或端点节点102)。在一些实施例中,客户机102既有作为客户节点寻求访问服务器所提供资源的能力,也有作为服务器向其他客户机10加-10211提供对其寄载的资源的访问的能力。虽然图IF示出了在客户机102和服务器108之间的网络111和网络111’,客户机102和服务器108可以位于相同的网络111上。网络111可为局域网(LAN)(例如公司内网),城域网(MAN),或者广域网(WAN)(例如因特网或万维网)。在一些实施例中,在客户机102和服务器108之间可以有多个网络111。在这些实施例的一个中,网络111’(未示出)可为专用网并且网络111可为公网。在这些实施例的另一个中,网络111’可为专用网并且网络111’可为公网。仍在另一个实施例中,网络111和111’可都为专用网。网络111可以是任何类型和/或形式的网络,并且可包括任意下述网络点对点网络,广播网络,广域网,局域网,电信网络,数据通信网络,计算机网络,ATM(异步传输模式) 网络,SONET(同步光纤网络)网络,SDH(同步数字体系)网络,无线网络和有线网络。在一些实施例中,网络111可以包括无线链路,诸如红外信道或者卫星频带。网络111的拓扑可为总线型、星型或环型网络拓扑。网络111可以具有对于本领域普通技术人员所熟知的、可以支持此处描述的操作的任何这样的网络拓扑。网络可包括利用用于移动设备间通信的任一或一些协议的移动电话网络,这些协议包括AMPS、TDMA,⑶MA、GSM、GPRS或UMTS。在一些实施例中,不同类型的数据可以通过不同协议传输。在其他实施例中,同一类型的数据可通过不同协议传输。在一些实施例中,系统可包括多个逻辑分组的服务器108。在这些实施例的一个中,服务器的逻辑分组可以被称为服务器群38。在其中一些实施例中,服务器108可为地理上分散的。在其他实施例中,群38可以作为单个实体被管理。仍在其他实施例中,服务器群 38包括多个服务器群38。每个服务器群38内的服务器108可能是异构的一一个或多个服务器108可根据一种类型的操作系统平台(例如,由Washington,Redmond的Microsoft 公司制造的WINDOWS NT)操作,而一个或多个其它服务器108可根据另一类型的操作系统平台(例如,Unix或Linux)操作。每个服务器群38的服务器108不必与同一服务器群38中的另一个服务器108在物理上接近。因此,逻辑上分组为服务器群38的服务器108组可以是使用广域网(WAN)或城域网(MAN)连接来互联的。例如,群38可包括物理上位于不同大陆或大陆、国家、州、城市、校园或房间的不同区域的服务器108。如果服务器108使用局域网(LAN)连接或一些直连形式进行连接,则可增加群38中的服务器108间的数据传送速度。服务器108可以是文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器,或防火墙。 在一些实施例中,服务器108提供远程认证拨入用户服务,并且可被称为RADIUS服务器。在其他实施例中,服务器108可以有作为应用服务器或者作为主应用服务器工作的能力。仍在其他实施例中,服务器108是刀片服务器。仍在其他实施例中,服务器108执行向用户或客户计算机102提供对计算环境访问的虚拟机。在一个实施例中,服务器108可包括活动目录。服务器108可以是应用加速设备。对于其中服务器108是应用加速设备的实施例,服务器108可提供包括防火墙功能、 应用防火墙功能,或负载平衡功能的功能。在一些实施例中,服务器108包括诸如由位于美国加州San Jose的Citrix应用网络组、位于美国加州Mountain View,的Silver Peak Systems公司、位于美国力口州San Francisco的Riverbed Technology公司、位于美国华盛顿州Seattle的F5Networks公司或位于美国力口州Sunnyvale的Juniper Networks公司制造的设备线中的一个的设备。在一些实施例中,服务器108代表客户机102的用户执行应用。在其他实施例中, 服务器108执行虚拟机,该虚拟机提供执行会话,在该执行会话中应用代表用户或客户机 102来执行。在这些实施例的一个中,该执行会话是所寄载的桌面会话。在这些实施例的另一个中,该执行会话提供对计算环境的访问,该计算环境包括如下的一个或多个应用、多个应用、桌面应用、和在其中执行一个或多个应用的桌面会话。在一些实施例中,客户机102与服务器108通信。在一个实施例中,客户机102可与群38中的服务器108之一直接通信。在另一个实施例中,客户机102执行程序邻近应用 (a program neighborhood application)以与群38内的服务器108通信。在另一个实施例中,服务器108提供主节点的功能。在一些实施例中,客户机102通过网络111与群38中的服务器108通信。例如通过网络111,客户机102可以请求执行群38中的服务器108a-106n 所寄载的各种应用,并接收应用执行结果的输出进行显示。在一些实施例中,只有主节点提供这样的功能,即识别和提供与服务器108b相关的地址信息所需的功能,所述服务器108b 寄载所请求的应用。在一个实施例中,服务器108提供web服务器的功能。在另一个实施例中,服务器 108a接收来自客户机102的请求,将该请求转发到第二服务器108b,并用服务器108b对该请求的响应来对客户机102的请求进行响应。在又一个实施例中,服务器108获得对客户机102可用的应用的列举,和与服务器108’相关联的地址信息,的所述服务器108’寄载该应用的列举所识别的应用。在又一个实施例中,服务器108使用web接口提供对客户机102 的请求的响应。在一个实施例中,客户机102直接与服务器108通信以访问所识别的应用。 在另一个实施例中,客户机102接收诸如显示数据的输出数据,该输出数据由服务器108上所识别的应用的执行而产生。在一些实施例中,服务器108或服务器群38可运行一个或多个应用,例如提供瘦客户端计算的应用或远程显示表示应用。在一个实施例中,服务器108或服务器群38作为一个应用来执行Citrix Systems公司的CITRIXACCESS SUITE的任一部分(例如METAFRAM或 CITRIX PRESENTATION SERVER),和 / 或微软公司开发的 MICROSOFT WINDOWS 终端服务中的任意一个。在又一个实施例中,该应用是由位于美国佛罗里达州i^ort Lauderdale的 Citrix Systems公司开发的ICA客户机。仍在又一个实施例中,服务器108可以运行应用, 该应用,例如,可以是提供诸如由位于美国华盛顿州Redmond的微软公司制造的MICROSOFT EXCHANGE的电子邮件服务的应用服务器、web或hternet服务器,或桌面共享服务器, 或协同服务器。仍在又一个实施例中,任一应用可以包括任一类型的所寄载的服务或产品,例如位于美国加利福尼亚州Santa Barbara的Citrix Online Division公司提供的 G0T0MEETING,位于美国加利福尼亚州Santa Clara的WebEx公司提供的WEBEX,或者位于美国华盛顿州Redmond的微软公司提供的Microsoft Office LIVE MEETING。客户机102可以执行、操作或者以其它方式提供应用,应用可为任何类型和/或形式的软件、程序或者可执行指令,例如任何类型和/或形式的web浏览器、基于web的客户机、客户机-服务器应用、瘦客户端计算客户机、ActiveX控件、或者Java程序、或者可以在客户机102上执行的任意其它类型和/或形式的可执行指令。在一些实施例中,应用可以是代表客户机102在服务器108上执行的基于服务器或者基于远程的应用。在一个实施例中,服务器108可以使用任意瘦-客户端或远程显示协议来显示输出到客户机102,所述远程显示协议例如由位于美国佛罗里达州Ft. Lauderdale的Citrix Systems公司出品的独立计算架构(ICA)协议或由位于美国华盛顿州Redmond的微软公司出品的远程桌面协议 (RDP)。应用可使用任何类型的协议,并且它可为,例如,HTTP客户端、FTP客户端、Oscar客户端或Telnet客户端。在其它实施例中,应用包括和VoIP通信相关的任何类型的软件,例如软IP电话。在进一步的实施例中,应用包括涉及到实时数据通信的任一应用,例如用于流式传输视频和/或音频的应用。一些实施例中,第一计算装置100a代表客户机计算装置100b的用户执行应用。 其他实施例中,计算装置100a执行虚拟机,其提供执行会话,在该会话中,代表用户或客户机计算装置100b执行应用。一个这样的实施例中,执行会话是寄载的桌面会话。另一个这样的实施例中,计算装置100执行终端服务会话。终端服务会话可以提供寄载的桌面环境。 在另一个这样的实施例中,执行会话提供对计算环境的访问,计算环境可包括以下的一个或多个应用、多个应用、桌面应用以及在其中可执行一个或多个应用的桌面会话。现参考图2A,框图描述了用于在云计算环境中由存储传送管理服务自动供应虚拟机的系统的一个实施例。总的来说,该系统包括存储传送管理服务210、主计算装置通信组件212、存储系统通信组件214、存储区域网络230和存储系统232。该系统可包括结构管理组件216。该系统可包括多个计算装置100、多个虚拟机106、多个管理程序101和多个通信组件。应该理解该系统可以可选地提供这些组件的任意多个或每一个。多个计算装置100 可以各自作为与图IA-D有关的上文所描述的计算装置100而被提供。由存储传送管理服务210执行的存储系统通信组件214与存储区域网络230中的存储系统适配器234通信以识别存储区域网络230中的存储系统232,并引导在所识别的存储系统232上虚拟存储资源MO的自动供应,所述存储系统232提供用于供应虚拟存储资源MO的资源。主计算装置通信组件212接收主计算装置100b访问虚拟存储资源MO的请求,并且用所识别的存储系统232的网络端口的标识和所供应的虚拟存储资源240的标识来响应于主计算装置100b。
15
现参考图2A,更具体地,该系统包括存储传送管理服务210。在一个实施例中,存储传送管理服务210被称为虚拟存储管理器服务。一些实施例中,存储传送管理服务210 是在服务器108a或其他计算装置100上执行的提供自动供应功能的计算机程序。其他实施例中,存储传送管理服务210是提供自动供应功能的硬件服务器108a。进一步的实施例中,存储传送管理服务210在诸如服务器108a的计算装置100上执行的虚拟机内执行。一个实施例中,主计算装置通信组件212、存储系统通信组件214、结构管理组件 216和其他通信组件作为存储传送管理服务210的一部分而被提供。又一个实施例中,至少一个通信组件或管理组件作为用于在存储传送管理服务210的更大的主机程序中操作的插件、模块、或其他自包含的可执行文件或程序而被提供。又一个实施例中,存储传送管理服务210可包括用于与每个组件通信的一个或多个接口。一些实施例中,诸如主计算装置通信组件212、存储系统通信组件214或结构管理组件216的通信组件可以以字节码提供, 例如用字节码编程语言JAVA编写的应用。一个实施例中,存储传送管理服务210包括管理控制台。在又一个实施例中,存储传送管理服务210与管理控制台通信。又一个实施例中,管理控制台包括网络111上可访问的用户接口 ;例如,该系统可包括基于web的图形用户接口用于通过管理控制台访问存储传送管理服务210的功能。又一个实施例中,诸如网络管理员的用户访问管理控制台来请求由存储传送管理服务210提供的服务。又一个实施例中,管理控制台被提供为基于 MICROSOFT管理控制台(MMC)的图形用户接口,用于与由存储传送管理服务210提供的功能交互。一个实施例中,存储传送管理服务210包括用于与管理控制台交互的接口。又一个实施例中,存储传送管理服务210包括用于接收跨越网络111的对由存储传送管理服务 210提供的服务或功能的请求的接口。例如,存储传送管理服务210可根据简单对象访问协议(SOAP),或根据诸如.NET的框架来提供与计算装置100通信的web服务接口,所述框架包括对常见编程问题的预编码的解决方案库和管理专为该框架编写的程序的执行的虚拟机。一些实施例中,存储传送管理服务210提供面向服务架构中的中央接口用于与系统中的其他计算装置通信。一些实施例中,存储传送管理服务210和管理控制台在单个服务器108a上执行。 其他实施例中,存储传送管理服务210和管理控制台在分开的服务器108a上执行。进一步的实施例中,存储传送管理服务210和管理控制台在单个服务器108a内的分开的虚拟机上执行。在一个实施例中,主机IOOb和主机IOOc驻留在第一网络Illa上,而存储区域网络230驻留在第二网络Illb上。又一个实施例中,主机IOOb和主机IOOc跨越网络111与存储区域网络230中的一个或多个存储系统232通信,所述网络111可以是交换结构220。 又一个实施例中,交换结构220是存储区域网络230的一部分。又一个实施例中,交换结构 220是网络111。一些实施例中,交换结构220是交换装置的互联网络。这些实施例的一个中,交换结构220包含用于与交换装置的网络中的一个交换机通信的多个输入和输出端口。在这些实施例的另一个中,交换结构220是用于将系统内的数据从线路卡的其中一个端口重定向到另一个线路卡的另一个端口的互联架构。其他实施例中,交换结构220是硬件和软件的组合,并可以包括节点中的交换单元(独立箱体)、交换单元包含的集成电路以及使交换路径可控的编制程序。一些实施例中,存储系统适配器234驻留在存储区域网络230的服务器10 上。 其他实施例中,存储系统适配器234是一个接口,通过该接口外部组件可以检索关于存储区域网络230的数据,例如存储系统232的标识、存储系统232提供的功能或资源的标识或存储系统232的状态。进一步的实施例中,存储系统232的提供者提供用于与服务器通信的存储系统适配器234。现参考图2B,框图描述了包括存储系统通信组件214的存储传送管理服务210的一个实施例。一些实施例中,存储系统通信组件214包括用于与存储系统232通信的至少一个存储适配器。在这些实施例的一个中,该存储适配器与由存储系统232提供的存储适配器234通信。在这些实施例的另一个中,存储系统通信组件214包括使用应用编程接口与存储适配器232通信的适配器。在这些实施例的另一个中,作为存储系统通信组件214 的一部分的存储适配器和由存储系统232提供的存储适配器234根据存储系统适配器协议进行通信,例如基于Web的企业管理协议(WBEM),其提供用于从存储系统检索数据的标准机制。在一些实施例中,由存储系统通信组件214提供的存储适配器使用标准的协议来检索与存储系统23 或232b关联的公共信息模型对象管理器(CIM 0M)数据。其他实施例中,存储系统23 或232d的提供者创建定制的存储系统适配器222并向存储传送管理服务210提供该定制的存储系统适配器222以便在与存储系统232c或232d,或者与存储适配器234的通信中使用。一个实施例中,存储系统232包括一个或多个硬件装置,所述硬件装置存储数据并提供对所存储的数据的访问。在又一个实施例中,存储系统232被称为存储阵列。在又一个实施例中,存储系统232包括在一个或多个硬件装置上的分区;例如,多个硬件装置可以各自包括一个物理存储元件(例如盘驱动器),多个硬件装置的每一个在所述物理存储元件上保留一部分(例如分区)用于为特定主计算装置100存储数据。又一个实施例中, 在存储区域网络230中的可以从其创建存储系统232的多个硬件装置被称为存储池。一个实施例中,存储系统232创建和存储用于由位于远程的计算装置100访问的虚拟存储资源。又一个实施例中,虚拟存储资源可以是用于由在主计算装置IOOb上执行的虚拟机使用的虚拟盘。在又一个实施例中,虚拟存储资源被称为存储节点。一个实施例中,存储系统232中的一个或多个硬件装置是存储装置,例如由位于美国马萨诸塞州Hopkinton的EMC公司、位于美国加州Costa Mesa的Emulex公司、位于荷兰 Maarssen 的 Fujitsu Siemens Computers GmBH 公司、位于美国力口州 Palo Alto 的 Hewlett-Packard公司、位于日本东京的Hitachi有限责任公司、位于美国纽约州Armonk的 IBM公司、位于美国加州Sunnyvale的NetAPP股份有限公司、位于美国加州Hiousand Oaks 的NexSanjTechnologies公司、位于美国加州San Jose的Quantum公司和位于美国新泽西州Mahwah的Sanrad股份有限公司提供的那些存储装置。一个实施例中,存储系统通信组件214接收供应虚拟存储资源240的请求。存储系统通信组件214与存储区域网络230中存储系统适配器234通信以识别存储区域网络230 中的存储系统232。一个实施例中,存储系统通信组件214使用应用编程接口来与存储系统适配器2;34通信。
存储系统通信组件214引导在所识别的存储系统323上虚拟存储资源240的自动供应,所述存储系统232提供用于供应虚拟存储资源240的资源。一个实施例中,存储系统通信组件214向所识别的存储系统232传输第一计算装置IOOb上的至少一个网络端口的标识以便与虚拟存储资源MO相关联。一个实施例中,存储系统通信组件214向所识别的存储系统232传输第二计算装置IOOc上的至少一个网络端口的标识,访问虚拟存储资源240 的虚拟机已经迁移到所述第二计算装置100c。一些实施例中,存储系统通信组件214将存储系统232配置为根据第一通信协议与执行虚拟机的第一物理计算装置通信。在这些实施例的一个中,存储系统通信组件214 包括用于从存储系统232和存储系统适配器234的至少一个请求由存储系统232支持的通信协议的列举的功能;例如,存储系统通信组件214可以向存储系统适配器234传输从识别所支持的通信协议的存储系统232请求CIM OM数据的指令。在这些实施例的另一个中,存储系统通信组件214将存储系统232配置为根据第二通信协议与执行虚拟机的第二物理计算装置通信。在这些实施例的另一个中,第一和第二通信协议是相同的协议。在这些实施例的另一个中,第一和第二通信协议是不同的协议。其他实施例中,存储系统通信组件214接收虚拟机从第一物理计算装置向第二物理计算装置迁移的通知。在这些实施例的一个中,存储系统通信组件214将存储系统232 配置为在收到该通知后根据第二通信协议与第二物理计算装置通信。进一步的实施例中,存储系统通信组件214给主计算装置通信组件212提供由计算装置100和存储系统232都支持的通信协议的标识。在这些实施例的一个中,主计算装置通信组件212向计算装置100传输提供对所供应的虚拟资源的访问的存储系统的标识。 在这些实施例的另一个中,主计算装置通信组件212向计算装置100传输用于在与存储系统232通信中使用的通信协议的标识。现参考图2C,框图描述了在其中存储传送管理服务210包括结构管理组件216的系统的一个实施例。一个实施例中,由存储传送管理服务210执行的结构管理组件216在交换结构220的至少一个交换机上产生访问控制列表,所述访问控制列表包括所识别的存储系统232的至少一个网络端口的标识和主计算装置上至少一个网络端口的标识。如图2C 所示,结构管理组件216与交换结构220通信。一些实施例中,存储区域网络230包括交换结构220。在这些实施例的一个中,存储区域网络230是交换结构220和一个或多个联网的存储系统232。其他实施例中,存储区域网络230是存储系统232的网络而交换结构220 是与存储区域网络230分开的网络。在这些实施例的一个中,交换结构220是网络111,其将存储区域网络230连接到主计算装置100或连接到主计算装置100在其上驻留的网络 111a。尽管在图2A、2B、2C中描述了分开的组件,但在一些实施例中,存储区域网络230是包括多个存储系统232和形成交换结构220的多个交换机的单个网络。一些实施例中,存储区域网络230是提供网络附加存储的网络。一个实施例中,交换结构220包括一个或多个光纤通道交换机。又一个实施例中, 交换结构220包括根据互联网小型计算机系统接口(iSCSI)协议通信的交换机。交换结构 220可以是异构的,其包括根据光纤通道协议或互联网小型计算机系统接口(iSCSI)协议通信的交换机。又一个实施例中,交换结构220中的交换机将从服务器108或从与一个或多个存储系统232关联的其他计算装置100所接收的数据路由到特定的存储系统232的网络端口。一些实施例中,交换结构220包括交换结构控制器。在这些实施例的一个中,交换结构控制器包括存储系统适配器234,存储区域网络230之外的组件(诸如结构管理组件 216或存储系统通信组件214)可以与所述存储系统适配器234通信。在这些实施例的另一个中,存储系统适配器234驻留在存储系统232上。其他实施例中,交换结构220包括结构名称服务器,结构管理组件216与所述结构名称服务器通信。一些实施例中,结构管理组件216包括结构通信适配器224。在这些实施例的一个中,结构管理组件216包括光纤通道主机总线适配器(HBA)。在这些实施例的一个中,光纤通道HBA使用板载专用集成电路(ASIC)来进行光纤通道堆栈的处理。其他实施例中,结构管理组件216修改由交换结构存储的区域信息。其他实施例中,由交换结构220中的交换管理组件提供的区域控制接口允许结构管理组件216创建和修改区域信息。进一步的实施例中,结构管理组件216根据诸如存储管理主动规范(SMI-S)的标准与交换结构220中的交换机通信以访问数据,所述数据也可以是根据诸如CIM OM的标准被格式化和检索的。在这些实施例的一个中,交换结构220中的交换机执行管理服务,所述管理服务提供结构管理组件216与之交互的应用编程接口。区域包括诸如存储系统232和被授权访问由一个或多个存储系统232存储的数据的主计算装置100的装置的标识。装置的标识可包括装置自身的唯一标识符(例如装置的唯一全球名称(WWN)),或者装置上的端口的唯一标识符,例如用于存储系统232的网络端口。通常,互相通信的装置(例如,存储系统232和被授权访问由该存储系统232存储的数据的主计算装置100)被标识于一个区域列表,所述区域列表也被称为访问控制列表。一些实施例中,如果装置没有被标识于该区域列表,它将不被允许访问由该区域列表的其他装置存储的数据。其他实施例中,区域列表包括存储系统232上的分区的标识,例如,在存储系统232的多个分区的一个上可提供逻辑单元或虚拟盘或其他虚拟存储资源并且给每个这样的分区分配端口用于识别访问控制列表中的分区。这样的功能通常被称为LUN屏蔽 (LUN masking)。在一个实施例中,当主计算装置100或服务器108与存储系统232通信时,例如,请求存储系统232的标识、修改识别存储系统232的访问控制列表或访问由一个或多个存储系统提供的数据,该计算装置请求任意访问控制列表中所列出的每个装置的标识,所述访问控制列表也识别请求计算装置。一些实施例中,结构管理组件216提供用于动态修改访问控制列表以包括被授权访问存储系统232的虚拟机的标识的功能。在这些实施例的另一个中,结构管理组件216 提供用于动态修改访问控制列表以包括被授权访问存储系统232的主计算装置100的标识的功能。在这些实施例的另一个中,结构管理组件216提供用于动态修改访问控制列表以包括执行被授权访问存储系统232的虚拟机的主计算装置100的标识的功能。在这些实施例的另一个中,结构管理组件216提供用于修改识别执行虚拟机的第一计算装置的网络端口的访问控制列表以包括虚拟机已迁移到的第二计算装置的网络端口的标识的功能。其他实施例中,结构管理组件216是可选的。在这些实施例的一个中,例如,存储传送管理服务210与存储区域网络230交互,所述存储区域网络230根据iSCSI协议而不是根据光纤通道标准来提供功能,在这种情形中,结构管理不是必须的,因为存储传送管理服务210和主计算装置100直接与存储系统232通信而不要求对交换结构220的修改或者交换结构220的管理。现参考图2D,框图描述了在其中存储传送管理服务210执行主计算装置通信组件 212的系统的一个实施例。主计算装置通信组件212接收主计算装置100访问虚拟存储资源240的请求。主计算装置通信组件212用所识别的存储系统232的网络端口的标识和所供应的虚拟存储资源240的标识来对该请求进行响应。一些实施例中,主计算装置100使用所识别的存储系统232的所识别的网络端口来直接与存储系统232通信。其他实施例中, 主计算装置100通过存储网络230与存储系统232通信,所述存储网络230可以包括交换结构220。一些实施例中,主计算装置通信组件212包括用于与主计算装置100通信的通信适配器。其他实施例中,主计算装置通信组件212包括用于与在主计算装置100上执行的虚拟机106a通信的通信适配器。在这些实施例的一个中,计算装置100包括管理程序,其接收来自主计算装置通信组件212的通信数据并将所接收的通信数据传输到虚拟机106a的控制操作系统105用于处理。在这些实施例的另一个中,虚拟机106a将来自控制操作系统 105的响应传输到主计算装置通信组件212。在这些实施例的另一个中,控制操作系统105 和主计算装置通信组件212交换关于在计算装置100上执行的虚拟机106b的供应或管理的通信。正如图IA有关的上文所描述的,管理程序可包括由位于美国加里福尼亚州I^lo Alto的VMWare有限责任公司出品的管理程序;XEN管理程序(一种开源产品,其开发由开源Xen. org协会监管);由Microsoft提供的HyperV、Virtualkrver或虚拟PC管理程序, 或其他。一些实施例中,主计算装置通信组件212包括用于向管理程序传输数据的通信适配器。在这些实施例的一个中,如图2D所描述的,主计算装置通信组件212包括用于向每个不同种类的管理程序传输数据的单独的通信适配器。在这些实施例的另一个中,主计算装置通信组件212包括用于向每个不同种类的管理程序传输数据的通用通信适配器(未描述)O一些实施例中,主计算装置通信组件212从代理服务器IOOa接收为包括至少一个网络端口的计算装置IOOb供应虚拟存储资源的请求。在这些实施例的一个中,主计算装置通信组件212将该请求传输到存储系统通信组件214。在这些实施例的另一个中,主计算装置通信组件212向代理服务器IOOa传输所供应的虚拟资源MO的标识。在这些实施例的另一个中,主计算装置通信组件212包括用于从代理服务器IOla接收请求的接口 ;例如,该接口可以是通过网络连接向代理服务器IOOa的用户显示的图形用户接口,或者web服务接口(例如上文所讨论的S0AP/.NET接口)。在其他实施例中,主计算装置通信组件212与控制操作系统105通信。其他实施例中,主计算装置通信组件212访问应用编程接口来与主计算装置100通信。一些实施例中,存储传送管理服务210执行虚拟机迁移组件(未描述)。这些实施例的一个中,虚拟机迁移组件接收虚拟机从第一物理计算装置IOOb迁移到第二物理计算装置IOOc的通知。在这些实施例的另一个中,虚拟机迁移组件接收虚拟机从第一物理计算装置IOOb向第二物理计算装置IOOc迁移的请求。在这些实施例的另一个中,虚拟机迁移组件接收第二计算装置IOOc上的至少一个网络端口的标识。在这些实施例的另一个中,虚拟机迁移组件将第二计算装置IOOc上至少一个网络端口的标识传输到存储系统通信组件 214 ;该存储系统通信组件214可向存储系统232传输第二计算装置上的至少一个网络端口
20的标识以便与虚拟存储资源240关联。在这些实施例的另一个中,虚拟机迁移组件向第二计算装置IOOc传输所供应的虚拟存储资源MO的标识以及存储系统232的至少一个网络端口的标识。在这些实施例的另一个中,虚拟机迁移组件向结构管理器通信组件216传输存储系统232的至少一个网络端口的标识和第二计算装置IOOc的至少一个网络端口的标识。进一步的实施例中,由存储传送管理服务210执行的结构管理组件216在交换结构220 的至少一个交换机上产生访问控制列表,所述访问控制列表包括所识别的存储系统232的至少一个网络端口的标识和主计算装置IOOb或IOOc上至少一个网络端口的标识。一些实施例中,虚拟机迁移组件提供用于存储计算装置IOOb上的虚拟机的执行状态的功能。在这些实施例的一个中,虚拟机迁移组件传输终止虚拟机执行的指令。在这些实施例的另一个中,虚拟机迁移组件向第二物理计算装置IOOc迁移与所终止的虚拟机关联的虚拟机映像和所存储的虚拟机的执行状态。其他实施例中,虚拟机迁移组件是由控制操作系统105提供的,所述控制操作系统105在与存储传送管理服务210在同一服务器 108a上寄载的虚拟机106中执行。进一步的实施例中,虚拟机迁移组件是由控制操作系统 105提供的,所述控制操作系统105在寄载于服务器108b并与存储传送管理服务210通信的虚拟机106中执行。一些实施例中,主计算装置通信组件212包括虚拟机迁移组件。其他实施例中,主计算装置通信组件212提供由虚拟机迁移组件提供的功能。一些实施例中,主计算装置IOOb和主计算装置IOOc驻留在网络Illa上。在这些实施例的一个中,主计算装置100执行向该主计算装置100的用户提供计算环境的虚拟机。 在这些实施例的另一个中,虚拟机执行资源并将由资源产生的输出数据传输到客户计算机 102用于在客户计算机102上向客户计算机102的用户进行显示。客户计算机102可以与主计算装置100驻留在同一网络Illa上,或驻留在单独的网络Illb上。其他实施例中,主计算装置100从驻留在网络111上的计算装置100检索执行虚拟机所必须的数据,例如,虚拟机映像或虚拟存储资源。然而,在其他实施例中,主计算装置100从存储网络230(其可以是网络Illc)中的存储系统232检索执行虚拟机所必须的数据。进一步的实施例中,主计算装置100的提供者是存储区域网络230的提供者的顾客,其从存储区域网络230的提供者接收存储服务。在这些实施例的一个中,存储服务提供者可以在一个或多个网络111(例如存储区域网络230、交换结构220和在存储服务器提供者和主机100的提供者之间的其他中间网络Illb)上提供存储服务。这样的实施例中,存储服务提供者可以说是提供云计算服务,因为它们提供对互联网络的“云”上的存储资源和存储服务的访问。现参考图3,流程图描述了用于在云计算环境中自动供应虚拟资源的方法的一个实施例。总的来说,该方法300包括由存储传送管理服务为在包括至少一个网络端口的第一计算装置上执行的虚拟机引导在存储区域网络中的存储系统上的虚拟存储资源的供应 (302)。该方法包括由存储传送管理服务向存储系统传输第一计算装置上至少一个网络端口的标识以便与虚拟存储资源关联(304)。该方法包括由存储传送管理服务向第一计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令 (306)。该方法包括由存储传送管理服务接收从第一计算装置向第二计算装置迁移虚拟机的指示(308)。该方法包括由存储传送管理服务向存储系统传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源关联(310)。该方法包括由存储传送管理服务向第二计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令(312)。现参考图3,更具体地,存储传送管理服务210为在包括至少一个网络端口的第一计算装置IOOb上执行的虚拟机106引导在存储区域网络230中的存储系统232上虚拟存储资源240的供应(302)。一些实施例中,存储传送管理服务210接收为包括至少一个网络端口的第一计算装置供应虚拟存储资源的请求。在这些实施例的一个中,存储传送管理服务210从代表计算装置IOOb的代理服务器IOOa接收供应虚拟存储资源的请求,所述计算装置IOOb包括至少一个网络端口。在这些实施例的另一个中,存储传送管理服务210从寄载虚拟机的主计算装置IOOb接收供应虚拟存储资源的请求。在这些实施例的另一个中,存储传送管理服务210识别存储区域网络中的存储系统,所述存储系统提供用于供应虚拟存储资源的资源。在这些实施例的另一个中,存储传送管理服务210与存储适配器234通信以识别存储系统232。在这些实施例的另一个中,存储系统通信组件214请求提供对用于供应虚拟存储资源的资源的访问的可用的存储系统232的标识;例如,存储系统通信组件214 可请求能够创建和存储被分配了指定量的物理盘驱动器空间的虚拟盘的所有存储系统232 的列举。一些实施例中,供应新的虚拟存储资源。其他实施例中,将已有的虚拟存储资源从一个主计算装置IOOb重新分配给第二主计算装置100c。其他实施例中,通过将已有的虚拟存储资源的内容拷贝到新的虚拟存储资源来供应该新的虚拟存储资源。在这些实施例的一个中,克隆已有的虚拟存储资源。一些实施例中,短期供应新的虚拟存储资源。在这些实施例的一个中,例如,主计算装置IOOb可请求供应额外的虚拟存储资源以便支持临时要求额外资源(例如,额外的虚拟盘空间)的虚拟机。在这些实施例的另一个中,虚拟机可能已临时超过其所分配的对先前供应的虚拟存储资源的使用或者开始执行将导致虚拟机超过所分配的资源的进程。在这些实施例的另一个中,可短期提供虚拟存储资源以支持要求额外资源的虚拟机。在一些实施例中,当供应虚拟存储资源时,存储传送管理服务210接收实现11_ port标识虚拟化的请求。在这些实施例的一个中,该请求包括给在计算装置上执行的虚拟机分配的虚拟主机总线适配器的标识。在这些实施例又一个中,存储传送管理服务210接收对所供应的虚拟存储资源的访问的请求。在这些实施例的另一个中,存储传送管理服务 210接收为虚拟机106供应虚拟存储资源的请求。在这些实施例的另一个中,存储传送管理服务210给虚拟主机总线适配器分配唯一的标识符。在这些实施例的另一个中,存储传送管理服务210给第一计算装置IOOb传输该唯一的标识符的标识。在这些实施例的另一个中,存储传送管理服务210向存储系统232传输虚拟主机总线适配器的唯一标识符。在一些这样的实施例中,存储传送管理服务210向交换结构220中的交换机传输虚拟主机总线适配器的唯一标识符的标识以便包含在允许虚拟机106和存储系统232的访问控制列表中。其他实施例中,存储系统232向虚拟主机总线适配器提供对所供应的虚拟存储资源的访问。进一步的实施例中,虚拟主机总线适配器与存储系统232通信以便向在第一计算装置IOOb上执行的虚拟机提供对虚拟存储资源的访问。一些实施例中,存储传送管理服务210接收供应虚拟存储资源的请求,识别能够提供所请求的虚拟存储资源的存储系统232以及引导该虚拟存储资源的供应。在这些实施例的一个中,存储系统通信组件214经由存储系统适配器234向存储系统232传输创建虚拟存储资源的指令。在这些实施例的另一个中,存储系统232经由存储系统适配器234向存储系统通信组件214传输所供应的虚拟存储资源的标识。一些实施例中,在创建了虚拟机存储资源240后,存储传送管理服务210与存储系统适配器234通信以请求存储系统232给主计算装置的一个或多个端口分配新的存储资源 2400在这些实施例的一个中,这被称为逻辑单元号(LUN)屏蔽和映射。在这些实施例又一个中,要求存储系统232返回识别所分配的虚拟存储资源240所必需的信息。在这些实施例的另一个中,主计算装置IOOb接收存储传送管理服务210的将虚拟存储资源240连接到合适的虚拟机的请求。其他实施例中,存储传送管理服务210通过发出SCSI查询命令来检索存储标识的各种模式页来接收所供应的存储资源的标识。在这些实施例的一个中,使用该信息,存储传送管理服务经由存储系统适配器234将模式页中的标识与存储系统232中所创建的虚拟存储资源240相关联。存储传送管理服务210向存储系统232传输第一计算装置上至少一个网络端口的标识以便与虚拟存储资源关联(304)。一个实施例中,供应虚拟存储资源的请求包括至少一个网络端口的标识。又一个实施例中,存储传送管理服务210向存储系统232传输与在第一计算装置IOOb上执行的虚拟机关联的虚拟端口的标识。又一个实施例中,存储传送管理服务210向存储系统232传输与在第一计算装置IOOb上执行的虚拟机关联的物理端口的标识。一些实施例中,存储传送管理服务210将交换结构220配置为允许主计算装置100 访问存储系统232。这些实施例的一个中,结构管理组件216在交换结构的至少一个交换机上产生访问控制列表,所述访问控制列表包括存储系统232的至少一个网络端口的标识和计算装置上至少一个网络端口的标识。在这些实施例的另一个中,结构管理组件216修改已有的访问控制列表以包括计算装置上至少一个网络端口的标识。在这些实施例的另一个中,结构管理组件216修改已有的访问控制列表以包括存储系统232上至少一个网络端口的标识。存储传送管理服务210向第一计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令(306)。一个实施例中,第一计算装置IOOb 接收已经为由第一计算装置IOOb执行的虚拟机106供应虚拟存储资源的通知。在又一个实施例中,第一计算装置IOOb从存储传送管理服务210接收供应虚拟存储资源的存储系统 232的标识。在又一个实施例中,第一计算装置IOOb接收请求更新可利用的存储资源的列举的指令。又一个实施例中,存储传送管理服务210向代理计算装置IOOa传输重定向到第一计算装置IOOb的指令。一些实施例中,第一计算装置IOOb接收请求可用的虚拟存储资源的列举的指令。 在这些实施例的一个中,第一计算装置IOOb向存储适配器234传输对可用的虚拟存储资源的请求。在这些实施例的另一个中,第一计算装置IOOb向存储区域网络230传输对可用的虚拟存储资源的请求。在这些实施例的另一个中,第一计算装置IOOb向交换结构220传输对可用的虚拟存储资源的请求。在这样的实施例中,交换结构220可检索访问控制列表的列举,所述访问控制列表列出第一计算装置100b、或第一计算装置IOOb的网络端口、或由第一计算装置IOOb执行的虚拟机106的网络端口,以及向第一计算装置IOOb提供第一计算装置IOOb可访问的存储系统232的列举。一个实施例中,第一计算装置IOOb建立到所识别的存储系统232的至少一个端口的连接。又一个实施例中,第一计算装置100从交换结构220请求建立到所识别的存储系统232的至少一个端口的连接。又一个实施例中,交换结构220的至少一个交换机建立所识别的第一计算装置的至少一个网络端口和所识别的存储系统的至少一个网络端口之间的连接。又一个实施例中,第一计算装置IOOb向虚拟机106提供对所供应的虚拟存储资源的访问。存储传送管理服务210接收从第一计算装置向第二计算装置迁移虚拟机的指示 (308)。在一个实施例中,存储传送管理服务210接收迁移虚拟机106的请求。在又一个实施例中,存储传送管理服务210从代理计算机IOOa接收该请求。在又一个实施例中,存储传送管理服务210从虚拟机迁移组件接收该请求。存储传送管理服务210向存储系统232传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源关联(310)。一个实施例中,存储传送管理服务210向交换结构 220传输第二计算装置上的至少一个网络端口的标识以便与虚拟存储资源相关联。又一个实施例中,存储传送管理服务210与交换结构220中至少一个交换机通信以产生或修改允许存储系统232和第二计算装置的至少一个网络端口之间的通信的访问控制列表。又一个实施例中,存储传送管理服务210删除存储系统232与所识别的第一计算装置上的网络端口之间的关联。又一个实施例中,响应于接收迁移虚拟机的请求,存储传送管理服务210向存储系统232传输至少一个网络端口的标识。存储传送管理服务210向第二计算装置传输所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识(312)。一个实施例中,响应于所接收的所供应的虚拟存储资源的标识,第二计算装置IOOc建立与存储系统232的连接以访问虚拟存储资源。又一个实施例中,响应于所接收的存储系统上至少一个网络端口的标识,第二计算装置IOOc建立与存储系统232的连接以访问虚拟存储资源。又一个实施例中,第二计算装置IOOc从交换结构220请求建立到存储系统232的连接。又一个实施例中,第二计算装置IOOc向虚拟机106b提供对虚拟存储资源的访问。一些实施例中,第二计算装置IOOc例如,通过制作存储系统232上所存储的虚拟盘的本地副本,获得虚拟机106b可以在其上执行的虚拟存储资源的副本。其他实施例中,第二计算装置IOOc可通过网络111(其可包括交换结构220)而不是制作虚拟存储资源的本地副本来请求存储在虚拟存储资源240上的数据。现参考图4,流程图描述了用于在通信协议之间动态转换的方法的一个实施例。总的来说,该方法400包括由存储传送管理服务将存储区域网中的存储系统配置为根据第一通信协议与执行虚拟机的第一物理计算装置通信,该存储系统向虚拟机提供对虚拟存储资源的访问002)。该方法包括由存储传送管理服务接收从第一物理计算装置向第二物理计算装置迁移虚拟机的请求004)。该方法包括由存储传送管理服务将存储系统配置为根据第二通信协议与第二物理计算装置通信006)。该方法包括由存储传送管理服务向第二物理计算装置传输为虚拟机提供对虚拟存储资源的访问的存储系统的标识(408)。现参考图4,更具体地,存储传送管理服务210将存储区域网络中存储系统配置为根据第一通信协议与执行虚拟机的第一物理计算装置通信,该存储系统向虚拟机提供对虚拟机存储资源的访问(40 。一个实施例中,主计算装置通信组件212请求由第一物理计算装置IOOb支持的通信协议的标识。又一个实施例中,存储系统通信组件214请求由存储系统232支持的通信协议的标识。又一个实施例中,存储系统通信组件214向存储系统适配器234传输对该标识的请求。又一个实施例中,存储传送管理服务210识别由第一计算装置IOOb和由存储系统232都支持的通信协议。又一个实施例中,存储系统通信组件214识别由第一计算装置IOOb和由存储系统232都支持的通信协议。一个实施例中,存储系统通信组件214将存储系统232配置为在提供对虚拟存储资源240的访问中根据第一通信协议与第一物理计算装置IOOb通信。又一个实施例中,存储系统通信组件214向存储适配器234传输存储系统232的标识、第一物理计算装置IOOb 上的至少一个网络端口的标识和在与第一物理计算装置IOOb通信中使用的通信协议的标识。存储传送管理服务210接收从第一物理计算装置向第二物理计算装置迁移虚拟机的请求004)。一个实施例中,主计算装置通信组件212接收迁移虚拟机的请求。在又一个实施例中,存储传送管理服务210接收迁移进程已开始的标识。又一个实施例中,虚拟机的迁移依赖于存储系统232向第二物理计算装置IOOc提供对虚拟存储资源访问的能力; 例如,虚拟存储资源可能是虚拟盘,虚拟机106在所述虚拟盘上执行,并且如果没有该虚拟盘,则虚拟机106不应该执行。存储传送管理服务210将存储系统配置为根据第二通信协议与第二物理计算装置通信(406)。一个实施例中,存储传送管理服务210从第二物理计算装置IOOc请求由第二物理计算装置IOOc支持的至少一个通信协议的标识。又一个实施例中,主计算装置通信组件212从第二物理计算装置IOOc请求由第二物理计算装置IOOc支持的至少一个通信协议的标识。又一个实施例中,存储传送管理服务210确定第二物理计算装置100支持与由第一计算装置支持的通信协议不同的通信协议。又一个实施例中,存储系统通信组件214从主计算装置通信组件212接收向第二物理计算装置迁移虚拟机的通知。又一个实施例中, 存储系统通信组件214接收由第二物理计算装置IOOc支持的通信协议的标识。在一个实施例中,存储传送管理服务210从存储系统232请求由存储系统232支持的通信协议的列举。在又一个实施例中,存储系统通信组件214从存储系统232请求由存储系统232支持的通信协议的列举。又一个实施例中,存储传送管理服务210确定存储系统232支持由第二物理计算装置100支持的通信协议。一些实施例中,计算装置用于与存储系统232通信的通信协议是存储协议。在这些实施例的一个中,存储协议是基于光纤通道的协议;例如,存储协议可以是光纤通道协议 (其是光纤通道上的SCI的接口协议)或者IP之上的光纤通道(Fibre Channel over IP) 协议,其提供隧道方式并在互联网工程任务组(IETF)文档RFC3821中进行定义。在这些实施例的另一个中,存储协议是iSCSI协议。存储传送管理服务210向第二物理计算装置传输为虚拟机提供对虚拟存储资源的访问的存储系统的标识(408)。一个实施例中,主计算装置通信组件212向第二物理计算装置IOOc传输为虚拟机提供对虚拟存储资源的访问的存储系统的标识。又一个实施例中, 主计算装置通信组件212向第二物理计算装置IOOc传输用于与存储系统232通信的通信协议的标识。又一个实施例中,主计算装置通信组件212向第二物理计算装置IOOc传输存储系统232支持由第二物理计算装置IOOc使用的缺省通信协议的确认。
—个实施例中,结构管理组件216将由交换结构220中的交换机存储的访问控制列表配置为包括第二物理计算装置IOOc的至少一个网络端口的标识。又一个实施例中,存储传送管理服务210向代理服务器108a传输向第二物理计算装置IOOc迁移虚拟机的标识。在又一个实施例中,存储传送管理服务210将虚拟机迁移到第二物理计算装置 100c。一些实施例中,在虚拟机继续执行的同时进行迁移;这可以被称为实时迁移(live migration)。其他实施例中,在已经保存了虚拟机的执行状态并且终止虚拟机的执行之后进行迁移。在进一步的实施例中,存储传送管理服务210停止由第一物理计算装置IOOb对存储系统232提供的虚拟存储资源的访问。在这些实施例的一个中,存储传送管理服务210 经由存储系统适配器234向存储系统232传输第一物理计算装置IOOb或第一物理计算装置IOOb的网络端口不再被授权访问虚拟存储资源的指示。在这些实施例的另一个中,存储传送管理服务210经由结构管理组件216向交换结构220中的交换机传输从将第一物理计算装置IOOb与存储系统232关联的访问控制列表删除第一物理计算装置IOOb或第一物理计算装置IOOb的网络端口的指示。在虚拟机从一个物理计算装置IOOb迁移到第二物理计算装置IOOb的一些实施例中,在提供不同功能和支持不同通信协议的异构机器之间进行迁移。在这些实施例的一个中,此处所描述的方法和系统提供用于动态转换由虚拟机访问的存储系统上的通信协议配置的功能,从而改善了迁移过程。现参考图5A,流程图描述了用于在云计算环境中提供对从存储系统检索的数据的转换的方法的一个实施例。该方法500包括由在第一物理计算装置上执行的接口对象接收由存储系统供应虚拟存储资源的请求(502)。该方法包括由接口对象从存储系统接口对象请求供应虚拟存储资源(504)。该方法包括由接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识(506)。该方法包括由接口对象通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接口转换文件将多个专用格式的每一个与标准格式相映射(508)。该方法包括由接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求进行响应(510)。一些实施例中,存储传送管理服务210接收供应虚拟存储资源的请求502。在这些实施例的一个中,存储传送管理服务210将该请求传输到存储系统通信组件214。在这些实施例的另一个中,作为响应,存储系统通信组件214产生存储系统的标识,所述标识被格式化以用于由代理计算机IOOa进行处理。在这些实施例的另一个中,例如,存储系统适配器234可能传输厂商专用格式的存储系统232的标识;存储系统通信组件214可将该标识转换为代理计算机IOOa能处理的格式。现参考图5A,更具体地,在第一物理计算装置上执行的接口对象从第二物理计算装置接收由存储系统供应虚拟存储资源的请求(502)。一个实施例中,存储系统通信组件 214包括诸如通用SMI-S适配器218的接口对象218。在又一个实施例中,接口对象218从存储系统通信组件214接收供应虚拟存储资源MO的请求。在又一个实施例中,接口对象 218从存储传送管理服务210接收供应虚拟存储资源240的请求。在又一个实施例中,接口对象218间接或直接从代理计算机IOOa接收该请求。该方法包括由接口对象从存储系统接口对象请求供应虚拟存储资源(504)。一个实施例中,接口对象218与所提供的检索关于存储区域网络230中的存储系统232的数据以及向其发出命令的接口对象通信。在又一个实施例中,该接口对象是上文所描述的适配器234。在又一个实施例中,适配器234提供用于与存储系统232进行外部通信的机制,并就此给存储系统232提供接口。在又一个实施例中,存储系统232的供应商或其他提供者创建适配器,所述适配器允许诸如存储传送管理服务210的系统来访问由存储系统232提供的功能。一些实施例中,接口对象218和接口对象234根据用于检索CIM OM数据的协议或根据诸如SMI-S的规范来进行通信。在这些实施例的一个中,接口对象234可以根据由 SMI-S的存储系统232的提供者实现的协议来格式化数据。其他实施例中,存储系统232的提供者可能已实现了 SMI-S的定制版本。在这些实施例的一个中,例如,提供者可能提供除了 SMI-S中的功能之外的额外功能,或者可能规定SMI-S未提到的格式细节。该方法包括由接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识 (506)。一个实施例中,接口对象218从存储系统接口对象234接收所供应的虚拟存储资源的标识506。又一个实施例中,接口对象218从存储系统接口对象234接收所识别的存储系统232的标识。又一个实施例中,接口对象218从存储系统接口对象234接收对于对与存储系统232关联的数据的请求的响应。又一个实施例中,接口对象218从存储系统接口对象234接收对访问由存储系统232提供的功能的请求的响应。又一个实施例中,接口对象218从存储系统接口对象234接收对所传输的用于由存储系统232执行的指令的响应; 例如,接口对象218可接收对执行供应虚拟存储资源的指令的确认。一些实施例中,举例来说,接口对象218接收对已为其提供存储证书的实体的认证。其他实施例中,如与图5D相关的下文的进一步的细节中所讨论的,接口对象218接收对存储区域网络230的特性的请求的响应,所述特性例如可用的存储系统、存储节点、池(pool)、虚拟化的存储资源或其他资源的标识。进一步的实施例中,从存储系统接口对象234接收的数据是供应商专用的格式,而且来自不同存储系统232的不同供应商的同一类型的响应可以有不同的格式。一个实施例中,在供应商SMI-S提供者的实现中可变的范围涉及将存储系统、存储池(storage pool)和存储卷(storage volume)的标识符存储在对标识符的请求的响应中提供的数据模型内的何处。又一个实施例中,尽管大部分被充分记录在SMI_S规范中,但在实践中,在关于哪个属性用于存储盘标识符和存储系统序列号的实现之间仍有很多可变性,所述盘标识符和存储系统序列号都是由存储传送管理服务210为了装置关联的目的而使用的数据。又一个实施例中,可通过使用在接口转换文件中的自定义的设置来配置供应商数据的标准化的标识符的产生。该方法包括由接口对象通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接口转换文件将多个专用格式的每一个与标准格式相映射(508)。一个实施例中,存储系统232的供应商提供接口转换文件,其是描述如何将数据从供应商专用格式转换为标准格式的可配置的数据文件。又一个实施例中,管理存储传送管理服务210的实体创建一种接口转换文件,其可包括用于由提供者完成的模板,然后存储系统232的提供者完成该接口转换文件使得该接口转换文件包括存储传送管理服务210所请求的数据和接口对象234之间的映射。又一个实施例中, 接口转换文件包含用于转换来自存储系统的多个提供者的每一个的数据的多个映射,从而产生了单个文件,其允许存储传送管理服务区210将数据从多个供应商专用格式转换为单个的、通用的格式用于由存储传送管理服务210、存储传送管理服务210的子组件和与其交互的系统进行处理。又一个实施例中,对于存储系统232的提供者和存储传送管理服务210 的管理员而言,提供描述如何转换数据的映射而不是要求产生来自存储系统的每个供应商的新的接口对象218是更有效的和更划算的。一些实施例中,接口转换文件是用可扩展标记语言(XML)编写的动态可扩展文件。其他实施例中,当在存储系统232中提供新的或经修改的功能时,存储系统232的提供者可以更新接口转换文件。附录A包括但不限于对与存储系统关联的一些类型信息的描述,供应商可能为其将转换包含在XML转换文件中。一些实施例中,当创建接口转换文件时,供应商可选择依赖缺省值;例如,供应商可从虚拟存储管理器服务210接收具有列出的缺省值的模板接口转换文件。在这些实施例的一个中,因此,在转换期间,接口对象218将搜索其需要访问的属性与对象的SMI-S标准位置。在这些实施例的另一个中,此处所描述的优化特征是可选的。其他实施例中,由接口转换文件(其可被称为供应商选项文件(vendor options file)或V0F)公开的定制特征允许虚拟存储管理器服务210利用供应商专用的属性和类名来例如更准确地解释这些属性的含义,和/或根据“subtypes”过滤某些类的列表。在这些实施例的一个中,在给定的对象中的额外的属性可使客户机减轻执行额外查询以完整地汇编对于给定的对象的所有描述数据所需的代价。一些实施例中,接口转换文件可包括供应商的〈VendorOptions... >标签,其具有 "VendorPattern"和“ModePattern”属性。在这些实施例的一个中,该标签包含供应商的选项集合,在该标签中的两个属性指定了应该如何(从高层的SMI-S产品信息)识别供应商的系统。其他实施例中,接口转换文件可包括〈XssaVendorString〉字符串,其指定虚拟存储管理器服务210将在来自该供应商的存储系统和存储节点(例如,不用于存储卷)的 ID字符串中使用的供应商字符串。其他实施例中,其他XML属性(在下面详细地讨论的) 是可选的。在这些实施例的一个中,如果供应商实现了使虚拟存储管理器服务210能利用给定的供应商专用特征或优化的特征,那么XML属性被包括在该供应商的XML数据中。一些实施例中,接口转换文件可包括至少一个XML标签。下面的表格描述了可被包含在接口转换文件的一个实施例中的一些标签,其中存储传送管理服务210被称为虚拟存储管理器(VSM)模块
28
权利要求
1.一种用于在云计算环境中提供对从存储系统检索的数据的转换的方法,所述方法包括由在第一物理计算装置上执行的接口对象从第二物理计算装置接收由存储系统供应虚拟存储资源的请求;由接口对象从存储系统接口对象请求供应虚拟存储资源; 由接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识; 由接口对象通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接口转换文件将多个专用格式的每一个与标准格式相映射;以及,由接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求进行响应。
2.根据权利要求1所述的方法,还包括由接口对象根据由存储系统的提供者实现的通信协议对供应虚拟存储资源的请求进行格式化。
3.根据权利要求1所述的方法,还包括由接口对象从存储系统接口对象接收供应虚拟存储资源的存储系统的标识。
4.根据权利要求1所述的方法,还包括由接口对象向存储传送管理服务传输所接收的标识的转换。
5.根据权利要求1所述的方法,还包括由接口对象缓存所接收的标识的转换的副本。
6.一种用于在云计算环境中提供对从存储系统检索的数据的转换的方法,所述方法包括由在物理计算装置上执行的接口对象向存储系统接口对象查询由存储区域提供的资源的列举;由接口对象接收至少一个所列举资源的以专用格式表示的标识; 由接口对象通过访问接口转换文件将所接收的标识转换为以标准格式表示的标识,所述接口转换文件将多个专用格式的每一个映射到标准格式;由接口对象接收对至少一个所列举的资源的标识的请求;以及由接口对象用所接收的标识的转换来对所述请求进行响应。
7.根据权利要求6所述的方法,还包括由接口对象根据由存储系统的提供者实现的通信协议对列举资源的查询进行格式化。
8.根据权利要求6所述的方法,还包括由接口对象缓存所接收的标识的转换的副本。
9.根据权利要求6所述的方法,还包括由接口对象从缓存检索所接收的标识的转换。
10.根据权利要求6所述的方法,还包括由接口对象通过将所接收的标识的转换传输到第二物理计算装置来响应对至少一个所列举的资源的标识的请求。
11.一种在其上具有指令的计算可读介质,当执行所述指令时提供用于在云计算环境中提供对从存储系统检索的数据的转换的方法,所述计算机可读介质包括接收由存储系统供应虚拟存储资源的请求的指令; 从存储系统接口对象请求供应虚拟存储资源的指令; 从存储系统接口对象接收所供应的虚拟存储资源的标识的指令; 通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式的指令,所述接口转换文件将多个专用格式的每一个与标准格式相映射;以及用所接收的标识的转换对所述请求进行响应的指令。
12.根据权利要求11所述的计算机可读介质,还包括根据由存储系统的提供者实现的通信协议对供应虚拟存储资源的请求进行格式化的指令。
13.根据权利要求11所述的计算机可读介质,还包括从存储系统接口对象接收供应虚拟存储资源的存储系统的标识的指令。
14.根据权利要求11所述的计算机可读介质,还包括向存储传送管理服务传输所接收的标识的转换的指令。
15.根据权利要求11所述的计算机可读介质,还包括缓存所接收的标识的转换的副本的指令。
16.一种在其上具有指令的计算可读介质,当执行所述指令时提供用于在云计算环境中提供对从存储系统检索的数据的转换的方法,所述计算机可读介质包括向存储系统接口对象查询由存储区域提供的资源的列举的指令; 接收至少一个所列举资源的以专用格式表示的标识的指令;通过访问接口转换文件将所接收的标识转换为以标准格式表示的标识的指令,所述接口转换文件将多个专用格式的每一个映射到标准格式; 接收对至少一个所列举资源的标识的请求的指令;以及用所接收的标识的转换对所述请求进行响应的指令。
17.根据权利要求16所述的系统,还包括根据由存储系统的提供者实现的通信协议对列举资源的查询进行格式化的指令。
18.根据权利要求16所述的系统,其中接收标识的指令还包括接收虚拟化系统的标识的指令。
19.根据权利要求16所述的系统,其中接收标识的指令还包括接收物理盘的标识的指令。
20.根据权利要求16所述的方法,还包括由接口对象缓存所接收的标识的转换的副本的指令。
21.根据权利要求16所述的系统,还包括从缓存检索所接收的标识的转换的指令。
22.根据权利要求16所述的系统,还包括通过将所接收的标识的转换传输到第二物理计算装置来响应对至少一个所列举的资源的标识的请求的指令。
全文摘要
一种用于在云计算环境中提供对从存储系统检索的数据的转换的方法包括由在第一物理计算装置上执行的接口对象接收由存储系统供应虚拟存储资源的请求。接口对象从存储系统接口对象请求供应虚拟存储资源。接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识。接口对象通过访问接口转换文件将所供应的虚拟存储资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接口转换文件将多个专用格式的每一个与标准格式相映射。接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求进行响应。
文档编号G06F3/06GK102292699SQ201080005006
公开日2011年12月21日 申请日期2010年1月22日 优先权日2009年2月4日
发明者B·C·罗维, S·M·尤姆伯豪克 申请人:思杰系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1