首页> 中国专利> 用于在云计算环境中自动管理虚拟资源的系统和方法

用于在云计算环境中自动管理虚拟资源的系统和方法

摘要

一种用于在云计算环境中管理虚拟资源的系统包括主计算装置通信组件和存储系统通信组件。存储系统通信组件识别存储区域网络中的存储系统并供应所识别的存储系统上的虚拟存储资源。也包括接口对象,其通过访问接口转换文件将所供应的虚拟存储资源的标识从专用格式转换为标准格式来供应虚拟存储资源,所述接口转换文件将多个专用格式的每一个与标准格式相映射。也包括存储传送管理服务,其通过将存储系统配置为根据第二通信协议与第二物理计算装置通信来对从第一物理计算装置向第二物理计算装置迁移虚拟机的请求进行响应。

著录项

  • 公开/公告号CN102292698A

    专利类型发明专利

  • 公开/公告日2011-12-21

    原文格式PDF

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

    申请/专利号CN201080005003.4

  • 发明设计人 S·M·尤姆伯豪克;

    申请日2010-01-26

  • 分类号G06F3/06;G06F9/48;

  • 代理机构北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 美国佛罗里达州

  • 入库时间 2023-12-18 04:12:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-01-07

    授权

    授权

  • 2012-03-21

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20100126

    实质审查的生效

  • 2011-12-21

    公开

    公开

说明书

相关申请

本申请要求2009年2月4日提交的、标题为“Methods and Systems for  Analyzing Data Retrieved from Storage System in a Cloud Computing  Environment”的美国临时专利申请序列号61/149,812,和2009年2月4 日提交的、标题为“Methods and Systems for Automated Provisioning of  Virtual Resources in a Cloud Computing Environment”的美国临时专利 申请序列号61/149,781的优先权,将二者通过引用将其整体包含于此。

技术领域

本发明总的涉及用于管理虚拟资源的系统和方法。本发明尤其涉及用于 在云计算环境中自动管理虚拟资源的系统和方法。

背景技术

用于提供对虚拟资源的访问的传统系统中,管理和供应存储系统以及将 网络单元配置为允许位于远程的计算装置访问该存储系统造成了大量的管 理负担,因为这些系统通常要求手工配置并且与很多的管理工具交互。逻辑 的和物理的配置和供应过程是复杂的并且这些过程通常不是自动的。传统系 统通常不提供统一的管理工具,管理员可从该管理工具请求存储区域网络的 配置和供应存储资源。而且,在包括由分开的实体管理的多个网络的实施例 中,配置和供应的过程要求实体之间大量的协作以供应资源并将资源传送到 计算装置。在试图供应和传送资源中的常见问题包括如何识别在其上驻留计 算装置的结构(或虚拟结构)、识别如何以及是否需要重新配置那些存储区 域网络以传送资源,以及在一些情况下(n-port标识虚拟化),如何为适当 的存储网络中的计算装置产生和配置新的存储网络标识。

发明内容

一方面,一种用于在云计算环境中自动管理虚拟资源的方法包括由存储 传送管理服务为在包含至少一个网络端口的第一计算装置上执行的虚拟机 引导存储区域网络中的存储系统的虚拟存储资源的供应。该方法包括由存储 传送管理服务向存储系统传输第一计算装置上至少一个网络端口的标识以 便与虚拟驱动器关联。该方法包括由存储传送管理服务向第一计算装置传输 检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识 的指令。该方法包括由存储传送管理服务接收从第一计算装置向第二计算装 置迁移虚拟机的指示。该方法包括由存储传送管理服务向存储系统传输第二 计算装置上至少一个网络端口的标识以便与虚拟存储资源关联。该方法包括 由存储传送管理服务向第二计算装置传输检索所供应的虚拟存储资源的标 识和存储系统上至少一个网络端口的标识的指令。

一个实施例中,该方法包括由存储传送管理服务接收为包括至少一个网 络端口的第一计算装置供应虚拟存储资源的请求。又一个实施例中,该方法 包括由存储传送管理服务识别存储区域网络中的存储系统,所述存储系统提 供用于供应虚拟存储资源的资源。又一个实施例中,该方法包括由计算装置 建立到所识别的存储系统的至少一个端口的连接。一些实施例中,该方法包 括由存储传送管理服务在交换结构中至少一个交换机上产生访问控制列表, 所述访问控制列表包括存储系统上至少一个网络端口的标识和计算装置上 至少一个网络端口的标识。在这些实施例一个中,该方法包括由所述至少一 个交换机建立所识别的计算装置上至少一个网络端口与所识别的存储系统 上至少一个端口之间的连接。

又一个方面,一种用于在云计算环境中自动管理虚拟资源的系统包括主 计算装置通信组件和存储系统通信组件。由存储传送管理服务执行的存储系 统通信组件与存储区域网络中的存储系统适配器通信以识别存储区域网络 中的存储系统,并引导在所识别的存储系统上虚拟存储资源的自动供应,所 述存储系统提供用于供应虚拟驱动器的资源。主计算装置通信组件接收由主 计算装置访问虚拟存储资源的请求,并且用所识别的存储系统的网络端口的 标识和所供应的虚拟存储资源的标识对主计算装置进行响应。一个实施例 中,该系统包括与主计算装置通信组件通信的迁移管理组件,其从第一物理 计算装置向第二物理计算装置迁移虚拟机。又一个实施例中,该系统包括由 存储传送管理服务执行的结构管理组件,其在交换结构中至少一个交换机上 产生或者修改访问控制列表,所述访问控制列表包括所识别的存储系统上至 少一个网络端口的标识和主计算装置上至少一个网络端口的标识。

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

又一方面,一种用于在云计算环境中提供对从存储系统检索的数据的转 换的方法包括由接口对象向存储系统接口对象查询由存储系统提供的资源 的列举。该方法包括由接口对象接收至少一个所列举资源的以专用格式表示 的标识。该方法包括由接口对象访问接口转换文件以便将该标识转换为以标 准格式表示的标识,所述接口转换文件将多个专用格式的每一个映射到标准 格式。该方法包括由接口对象接收对至少一个所列举资源的标识的请求。该 方法包括由接口对象用标识的转换来对该请求进行响应。

一个方面,一种用于动态地在通信协议之间转换的方法,所述通信协议 用于与多个物理计算装置的每一个通信,所述方法包括由存储传送管理服务 将存储区域网络中的存储系统配置为根据第一通信协议与执行虚拟机的第 一物理计算装置通信,所述存储系统给虚拟机提供对虚拟存储资源的访问。 该方法包括由存储传送管理服务接收从第一物理计算装置向第二物理计算 装置迁移虚拟机的请求。该方法包括由存储传送管理服务将存储系统配置为 根据第二通信协议与第二物理计算装置通信。该方法包括由存储传送管理服 务向第二物理计算装置传输为虚拟机提供对虚拟存储资源的访问的存储系 统的标识。

一个实施例中,该方法包括由存储传送管理服务从第二物理计算装置请 求由第二物理计算装置支持的至少一个通信协议的标识。又一个实施例中, 该方法包括由存储传送管理服务从存储系统请求由存储系统支持的至少一 个通信协议的标识。又一个实施例中,该方法包括由存储传送管理服务在虚 拟机执行期间将所述虚拟机迁移到第二物理计算装置。

又一个方面,一种用于动态地在通信协议之间转换的系统,所述通信协 议用于与多个物理计算装置的每一个通信,所述系统包括主计算装置通信组 件和存储系统通信组件。由存储传送管理服务执行的主计算装置通信组件从 执行虚拟机的第一物理计算装置接收向第二物理计算装置迁移虚拟机的请 求。由存储传送管理服务执行的存储系统通信组件i)将存储区域网络中的存 储系统配置为根据第一通信协议与第一物理计算装置通信,所述存储系统给 虚拟机提供对虚拟存储资源的访问,ii)从主计算装置通信组件接收向第二 物理计算装置迁移虚拟机的通知,以及iii)将存储系统配置为根据第二通 信协议与第二物理计算装置通信。一个实施例中,该系统包括与主计算装置 通信组件通信的迁移管理组件,其从第一物理计算装置向第二物理计算装置 迁移虚拟机。

附图说明

本发明的前述和其它目的、方面、特征和优点通过参考下述结合附图的 描述将会更加明显并更易于理解,其中:

图1A是描述包括管理程序层、虚拟化层和硬件层的计算环境的实施例 的框图;

图1B-1E是描述有益于此处所描述的方法和系统的相关的计算装置的实 施例的框图;

图1F是描述包括与远程机器通信的本地机器的网络环境的实施例的框 图;

图2A是描述用于在云计算环境中自动管理虚拟资源的系统的实施例的 框图;

图2B是描述在其中存储传送管理服务包括存储系统通信组件的系统的 实施例的框图;

图2C是描述在其中存储传送管理服务包括结构管理组件的系统的一个 实施例的框图;

图2D是描述在其中存储传送管理服务包括主计算装置通信组件的系统 的一个实施例的框图;

图3是描述用于在云计算环境中自动管理虚拟资源的方法的实施例的流 程图;

图4是描述用于动态地在通信协议间转换的方法的实施例的流程图;

图5A是描述用于在云计算环境中从存储系统检索数据的方法的一个实 施例的流程图;

图5B是描述用于在其中存储传送管理服务请求由存储适配器提供的数 据的方法的实施例的流程图;

图5C是描述接口转换文件的一部分的一个实施例的框图;

图5D是描述识别与存储系统关联的数据的数据模型的一个实施例的框 图;

图5E是描述用于在云计算环境中从存储系统检索数据的方法的又一个 实施例的流程图。

具体实施方式

现参考图1A,框图描述了虚拟化环境的一个实施例。简而言之,计算装 置100包括管理程序层、虚拟化层和硬件层。管理程序层包括管理程序101 (也称为虚拟化管理器),其通过在虚拟化层中执行的至少一个虚拟机来分 配和管理对硬件层中的多个物理资源的访问(例如处理器221和盘228)。虚 拟化层包括至少一个操作系统110和分配给至少一个操作系统110的多个虚 拟资源,虚拟资源可包括而不限于多个虚拟处理器132a、132b、132c(总称 为132)和虚拟盘142a、142b、142c(总称为142)、以及例如虚拟存储器和 虚拟网络接口的虚拟资源。可将多个虚拟资源和操作系统110称为虚拟机 106。虚拟机106可包括控制操作系统105,该控制操作系统105与管理程序 101通信,并用于执行应用以管理并配置计算装置100上的其他虚拟机。

现参考图1A,具体而言,管理程序101可以以模拟访问物理设备的操作 系统的任何方式向操作系统提供虚拟资源。管理程序101可以向任一数量的 客户操作系统110a、110b(总称为110)提供虚拟资源。一些实施例中,计 算装置100执行一种或多种管理程序。这些实施例中,管理程序可用于模拟 虚拟硬件、划分物理硬件、虚拟化物理硬件并执行提供对计算环境的访问的 虚拟机。管理程序可包括由位于美国加利福尼亚州的Palo 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上执行。 一些实施例中,计算装置100a上的控制操作系统105a可经由管理程序101a 和管理程序101b之间的通信与计算装置100b上的控制操作系统105b交换 数据。这样,一个或多个计算装置100可以与一个或多个其他计算装置100 交换关于资源池中可用的处理器和其他物理资源的数据。在这些实施例的一 个中,该功能允许管理程序管理分布在多个物理计算装置上的资源池。在这 些实施例的另一个中,多个管理程序管理在其中一个计算装置100上执行的 一个或多个客户操作系统。

一个实施例中,控制操作系统105在被授权与至少一个客户操作系统 110交互的虚拟机106上执行。另一个实施例中,客户操作系统110通过管 理程序101与控制操作系统105通信,以请求访问盘或网络。在又一个实施 例中,客户操作系统110和控制操作系统105可通过由管理程序101建立的 通信信道通信,例如,通过由管理程序101提供的多个共享存储器页面通信。

一些实施例中,控制操作系统105包括用于直接与由计算装置100提供 的网络硬件通信的网络后端驱动器。在这些实施例的一个中,网络后端驱动 器处理来自至少一个客户操作系统110的至少一个虚拟机请求。其他实施例 中,控制操作系统105包括用于与计算装置100上的存储单元通信的块后端 驱动器。在这些实施例的一个中,块后端驱动器根据从客户操作系统110接 收的至少一个请求从存储单元读写数据。

一个实施例,控制操作系统105包括工具堆栈104。其他实施例中,工 具堆栈104提供如下功能:和管理程序101交互、和其他控制操作系统105 (例如位于第二计算装置100b上)通信,或者管理计算装置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可以被部署为任意类型和形式的计算装置和/或在其上执 行,例如能够与任意类型和形式的网络通信并且执行此处所描述的操作的计 算机、网络装置或设备。图1B和1C描述了用于实施此处所描述的方法和系 统的实施例的计算装置100的框图。如图1B和1C所示,计算装置100包括 中央处理单元121和主存储器单元122。如图1B所示,计算装置100可包括 存储装置128、安装装置116、网络接口118、I/O控制器123、显示装置 124a-124n、键盘126和诸如鼠标的指示装置127。存储装置128可包括但不 限于操作系统、软件和客户机代理120。如图1C所示,每个计算装置100 也可包括另外的可选部件,例如存储器端口103、桥170、一个或多个输入/ 输出装置130a-130n(总的使用标号130表示)以及与中央处理单元121 通信的高速缓存存储器140。

中央处理单元121是响应并处理从主存储器单元122取出的指令的任意 逻辑电路。在一些实施例中,中央处理单元121由微处理器单元提供,例如: 由位于美国加利福尼亚州Mountain View的Intel公司制造的微处理器单元; 由位于美国伊利诺伊州Schaumburg的Motorola公司制造的微处理器单元; 由位于美国加利福尼亚州Santa Clara的Transmeta公司制造的微处理器单 元;RS/6000处理器,由位于美国纽约州White Plains的International  Business Machines公司制造的微处理器单元;或者由位于美国加利福尼亚 州Sunnyvale的Advanced Micro Devices公司制造的微处理器单元。计算 装置100可以基于这些处理器中的任意一种,或者能够按照这里所说明的那 样运行的任意其它处理器。

主存储器单元122可以是能够存储数据并允许微处理器121直接访问任 意存储位置的一个或多个存储器芯片,例如静态随机存取存储器(SRAM)、突 发SRAM或同步突发SRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页 模式DRAM(FPM DRAM)、增强DRAM(EDRAM)、扩展数据输出DRAM(EDO DRAM)、 突发扩展数据输出DRAM(BEDO DRAM)、同步DRAM(SDRAM)、JEDEC SRAM、 PC100SDRAM、双倍数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、 同步链路DRAM(SLDRAM)、直接RambusDRAM(DRDRAM)或铁电RAM(FRAM)。 主存储器122可以基于上述存储器芯片的任意一种,或者能够像这里所说明 的那样运行的任意其它可用存储器芯片。在图1B所示的实施例中处理器121 通过系统总线150(在下面进行更详细的描述)与主存储器122进行通信。 图1C描述了在其中处理器通过存储器端口103直接与主存储器122通信的 计算装置100的实施例。例如,在图1C中主存储器122可以是DRDRAM。

图1C描述在其中主处理器121通过有时被称为背侧总线的次级总线直 接与高速缓存存储器140通信的实施例。其他实施例中,主处理器121使用 系统总线150与高速缓存存储器140通信。高速缓存存储器140通常有比主 存储器122更快的响应时间,并且通常由SRAM、BSRAM或EDRAM提供。在图 1C所示的实施例中,处理器121通过本地系统总线150与各种I/O装置130 进行通信。可以使用各种不同的总线将中央处理单元121连接到任意I/O装 置130,包括VESA VL总线、ISA总线、EISA总线、微通道体系结构(MCA) 总线、PCI总线、PCI-X总线、PCI-Express总线或NuBus。对于I/O装置是 视频显示器124的实施例,处理器121可以使用高级图形端口(AGP)与显 示装置124通信。图1C描述了在其中主处理器121通过HYPERTRANSPORT、 RAPIDIO、或INFINIBAND通信技术直接与I/O装置130b通信的计算机100 的实施例。图1C也描述了在其中本地总线和直接通信相混合的实施例:处 理器121使用本地互连总线与I/O装置130a通信同时直接与I/O装置130b 通信。

计算装置100中可以有多种I/O装置130a-130n。输入装置包括键盘、 鼠标、触控板、轨迹球、话筒、拨号盘和绘图板。输出装置包括视频显示器、 扬声器、喷墨打印机、激光打印机和热升华打印机。如图1B所示,I/O装置 可以由I/O控制器123控制。I/O控制器可以控制一个或多个I/O装置,例 如键盘126和指示装置127(如鼠标或光笔)。此外,I/O装置还可以为计算 装置100提供存储和/或安装介质116。在其它实施例中,计算装置100可以 提供USB连接(未示出)以接收手持USB存储装置,例如由位于美国加利福尼 亚州Los Alamitos的Twintech Industry公司生产的设备的USB闪存驱动 线。

再次参考图1B,计算装置100可以支持任意适当的安装装置116,例如 用于接收像3.5英寸、5.25英寸磁盘或ZIP磁盘这样的软盘的软盘驱动器、 CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、闪存驱动器、多种格式 的磁带驱动器、USB设备、硬盘驱动器或适于安装软件和程序的任意其它设 备。计算装置100还可以包括存储装置,诸如一个或者多个硬盘驱动器或者 独立磁盘冗余阵列,用于存储操作系统和其它相关软件,以及用于存储诸如 涉及客户机代理120的任意程序的应用软件程序。或者,可以使用安装装置 116的任意一种作为存储装置。此外,操作系统和软件可从可引导介质运行, 可引导介质例如是可引导CD,诸如KNOPPIX,其为一种用于GNU/Linux的可 引导CD,可自knoppix.net作为GNU/Linux分发获得。

此外,计算装置100可以包括网络接口118以通过多种连接来与网络104 对接,所述连接包括但不限于标准电话线路、LAN或WAN链路(例如802.11、 T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(如ISDN、帧中继、ATM、 千兆以太网、SONET上以太网(Ethernet-over-SONET))、无线连接、或上述 任意或全部的某种组合。可使用多种通信协议(例如TCP/IP、IPX、SPX、 NetBIOS、Ethernet、ARCNET、SONET、SDH、光纤分布数据接口(FDDI)、RS232、 RS485、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.11g、CDMA、GSM、 WiMax和直接异步连接)来建立连接。在一个实施例中,计算装置100可以 通过任意类型和/或形式的网关或诸如安全套接字层(SSL)或传输层安全 (TLS)协议,或由位于美国佛罗里达州Ft.Lauderdale的Citrix Systems 公司制造的Citrix网关协议的隧道协议来与其他计算装置100’通信。网络 接口118可以包括内置网络适配器、网络接口卡、PCMCIA网络卡、卡总线网 络适配器、无线网络适配器、USB网络适配器、调制解调器或适用于将计算 装置100对接到能够通信并执行这里所说明的操作的任意类型的网络的任意 其它设备。

在一些实施例中,计算装置100可以包括多个显示装置124a-124n或与 其相连,这些显示装置各自可以是相同或不同的类型和/或形式。因而,任 意一种I/O装置130a-130n和/或I/O控制器123可以包括任一类型和/或形 式的适当的硬件、软件或硬件和软件的组合,以支持、允许或提供通过计算 装置100连接和使用多个显示装置124a-124n。例如,计算装置100可以包 括任意类型和/或形式的视频适配器、视频卡、驱动器和/或库,以与显示装 置124a-124n对接、通信、连接或以其他方式使用显示装置124a-124n。在 一个实施例中,视频适配器可以包括多个连接器以与多个显示装置 124a-124n对接。在其它实施例中,计算装置100可以包括多个视频适配器, 每个视频适配器与显示装置124a-124n中的一个或多个连接。在一些实施例 中,计算装置100的操作系统的任一部分都可以被配置用于使用多个显示器 124a-124n。在其它实施例中,显示装置124a-124n中的一个或多个可以由 一个或多个其它计算装置提供,诸如(例如通过网络)与计算装置100连接 的计算装置100a和100b。这些实施例可以包括被设计和构造来使用另一个 计算机的显示装置作为计算装置100的第二显示装置124a的任何类型的软 件。本领域的普通技术人员会认识和意识到可以将计算装置100配置成拥有 多个显示装置124a-124n的各种方式和实施例。

在进一步的实施例中,I/O装置130可以是系统总线150和外部通信总 线之间的桥,所述外部通信总线如USB总线、Apple桌面总线、RS-232串行 连接、SCSI总线、FireWire总线、FireWire800总线、以太网总线、AppleTalk 总线、千兆位以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总 线、SerialPlus总线、SCI/LAMP总线、光纤信道总线、串行SCSI总线或HDMI 总线。

图1B和1C中所描述类型的计算装置100通常地在操作系统的控制下运 行,操作系统控制任务的调度和对系统资源的访问。计算装置100可运行任 一操作系统,诸如任一版本的MICROSOFT WINDOWS操作系统;不同发行版本 的Unix和Linux操作系统;用于Macintosh计算机的MAC OS的任意版本; 任意嵌入式操作系统;任意实时操作系统;任意开源操作系统;任意专有操 作系统;任意用于移动计算装置的操作系统,或者能够在计算装置上运行且 执行此处所描述的操作的任意其它操作系统。典型的操作系统包括但不限 于:WINDOWS 3.x、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;以及由位于美国犹他州Salt Lake City的Caldera公司发布的可免费使用的Linux操作系统或者任意类型和/ 或形式的Unix操作系统,以及其它。

计算机系统100可以是任意工作站、电话、台式计算机、膝上型或笔记 本电脑、服务器、掌上电脑、移动电话或其他便携电信设备、媒体播放设备、 游戏系统、移动计算装置,或能够通信的任意其它类型和/或形式的计算、 电信或者媒体装置。计算机系统100有足够的处理器能力和存储容量以执行 此处所述的操作。例如,计算机系统100可包括由位于美国加利福尼亚州 Cupertino的苹果计算机公司出品的IPOD系列设备、由位于日本Tokyo的索 尼公司出品的PLAYSTATION2、PLAYSTATION3或PERSONAL PLAYSTATION  PORTABLE(PSP)设备,由位于日本Kyoto的Nintendo有限公司出品的 NINTENDO DS、NINTENDO GAMEBOY、NINTENDO GAMEBOY ADVANCED或NINTENDO  REVOLUTION设备,或者由位于美国华盛顿州Redmond的微软公司出品的XBOX 或XBOX 360设备。

在一些实施例中,计算装置100可以有不同的处理器、操作系统以及与 该装置一致的输入设备。例如,在一个实施例中,计算装置100是由Palm 公司出品的TREO180、270、600、650、680、700p、700w或750智能电话。 在这些实施例的一些中,TERO智能电话是在Pa lmOS操作系统的控制下操作 并且包括笔输入设备以及五向导航设备。

在其他实施例中,计算装置200是移动设备,例如,JAVA使能蜂窝电话 或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95c1、 i335、i365、i570、I576、i580、i615、i760、i836、i850、i870、i880、 i920、i930、ic502、ic602、ic902、i776或im1100,以上这些均由位于美 国伊利诺伊州Schaumburg的摩托罗拉公司制造;由位于日本Kyoto的 Kyocera公司制造的6035或7135;或者由位于韩国首尔的Samsung电子有 限公司制造的i300或i330。在一些实施例中,计算装置100是由位于芬兰 的诺基亚公司制造或由位于瑞典Lund的Sony Ericsson Mobile  Communications AB公司制造的移动设备。

在其他实施例中,计算装置100是黑莓(Blackberry)手持或智能电话, 诸如由Research In Motion有限公司制造的设备,包括黑莓7100系列、8700 系列、7700系列、7200系列、黑莓7520、黑莓PERAL 8100、8700系列、8800 系列、黑莓Storm、黑莓Bold、黑莓Curve 8900、黑莓Pearl Flip。在其 他实施例中,计算装置100是智能电话、Pocket PC、Pocket PC电话,或支 持Microsft Windows Mobile Software的其它手持移动设备。此外,计算 装置100可以是任意工作站、台式计算机、膝上型或笔记本电脑、服务器、 掌上电脑、移动电话、任意其它计算机、或能够通信并有足够的处理器能力 和存储容量以执行此处所述操作的其它形式的计算或者电信设备。

在一些实施例中,计算装置100是数字音频播放器。在这些实施例的一 个中,计算装置100是诸如由位于美国加利福尼亚州Cupertino的苹果计算 机公司制造的Apple IPOD、IPOD Touch、IPOD NANO和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、WMA Protected 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的Silver  Peak Systems公司、位于美国加州San Francisco的Riverbed Technology 公司、位于美国华盛顿州Seattle的F5 Networks公司或位于美国加州 Sunnyvale的Juniper Networks公司制造的设备系列中的一个设备。

在其他实施例中,计算装置100可被称为客户机节点、客户机器、端节 点或端点。在一些实施例中,客户机100具有作为客户机节点寻求访问服务 器所提供的资源的能力以及作为服务器节点为其它客户机提供对所寄载的 资源访问的能力。

在一些实施例中,第一客户机计算装置100a与第二服务器计算装置 100b通信。在一个实施例中,客户机与服务器群中的计算装置100之一进行 通信。例如,通过网络,客户机可以请求执行由服务器群中的计算装置100 所寄载的各种应用以及接收应用执行结果的输出数据以用于显示。在一个实 施例中,客户机执行程序邻近应用(program neighborhood application) 以与服务器群中的计算装置100通信。

计算装置100可以执行、操作或者以其它方式提供应用,该应用可以是 任何类型和/或形式的软件、程序或可执行指令,诸如任何类型和/或形式的 web浏览器、基于web的客户机、客户机-服务器应用、瘦客户端计算客户 机、ActiveX控件、或Java小程序,或者能够在计算装置100上执行的任何 其他类型和/或形式的可执行指令。在一些实施例中,应用可以是由第二计 算装置代表第一计算装置的用户执行的基于服务器的或者基于远程的应用。 在其他实施例中,第二计算装置可使用任何瘦客户端或远程显示协议向第一 客户计算装置显示输出的数据,所述协议如:由位于美国佛罗里达州Ft. Lauderdale的Citrix Systems公司制造的独立计算架构(ICA)协议;或由 位于美国华盛顿州Redmond的Microsoft公司制造的远程桌面协议(RDP); X11协议;由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)通信有关的任意类型的软件。在进一步的实施例中, 应用包括与实时数据通信有关的任何应用,例如用于流式传输视频和/或音 频的应用。

如图1D所示,计算装置100可以包括多个处理器,可以提供用于同时 执行指令或者同时执行有关多于一条数据的指令的功能。在一些实施例中, 计算装置100可包括具有一个或多个内核的并行处理器。在这些实施例的一 个中,计算装置100是共享内层并行设备,具有多个处理器和/或多个处理 器内核,把所有可用内存作为一个全局地址空间进行访问。另一个这样的实 施例中,计算装置100是分布式内存并行设备,具有多个处理器,每个处理 器仅访问本地存储器。在这些实施例的另一个中,计算装置100既有共享的 存储器又有仅由特定处理器或处理器子集访问的存储器。在这些实施例的另 一个中,如多核微处理器的计算装置100把两个或多个独立处理器组合在一 个封装中,通常在一个集成电路(IC)中。在这些实施例的另一个中,计算 装置100包括具有单元宽带引擎(CELL BROADBAND ENGINE)架构的芯片, 并包括高能处理器单元以及多个协同处理单元,高能处理器单元和多个协同 处理单元通过内部高速总线连接在一起,可以将内部高速总线称为单元互连 总线。

一些实施例中,处理器提供用于同时执行有关多条数据(SIMD)的一个 指令的功能。其他实施例中,处理器提供用于同时执行有关多条数据(SIMD) 的多个指令的功能。另一个实施例中,处理器可以在单个装置中使用SIMD 和MIMD内核的任意组合。

在一些实施例中,计算装置100可包括图像处理单元。图1E所描述的 一个这样的实施例中,计算装置100包括至少一个中央处理单元101和至 少一个图像处理单元。在这些实施例的另一个中,计算装置100包括至少 一个并行处理单元和至少一个图像处理单元。在这些实施例的另一个中,计 算装置100包括任意类型的多个处理单元,多个处理单元中的一个包括图像 处理单元。

现参考图1F,描述了网络环境的实施例。总的来说,网络环境包括经由 一个或者多个网络111与一个或者多个服务器108a-108n(总的还称为服务 器108或者远程机器108)通信的一个或者多个客户机102a-102n(总的还 称为本地机器102、客户机102、客户节点102、客户机器102、客户计算机 102、客户设备102、端点102或端点节点102)。在一些实施例中,客户机 102既有作为客户节点寻求访问服务器所提供资源的能力,也有作为服务器 向其他客户机102a-102n提供对其寄载的资源的访问的能力。

虽然图1F示出了在客户机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、 CDMA、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 的F5 Networks公司或位于美国加州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公司的CITRIX  ACCESS SUITE的任一部分(例如METAFRAM或CITRIX PRESENTATION SERVER), 和/或微软公司开发的MICROSOFT WINDOWS终端服务中的任意一个。在又一 个实施例中,该应用是由位于美国佛罗里达州Fort Lauderdale的Citrix  Systems公司开发的ICA客户机。仍在又一个实施例中,服务器108可以运 行应用,该应用,例如,可以是提供诸如由位于美国华盛顿州Redmond的微 软公司制造的MICROSOFT EXCHANGE的电子邮件服务的应用服务器、web或 Internet服务器,或桌面共享服务器,或协同服务器。仍在又一个实施例中, 任一应用可以包括任一类型的所寄载的服务或产品,例如位于美国加利福尼 亚州Santa Barbara的Citrix Online Division公司提供的GOTOMEETING, 位于美国加利福尼亚州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可 以各自作为与图1A-D有关的上文所描述的计算装置100而被提供。

由存储传送管理服务210执行的存储系统通信组件214与存储区域网络 230中的存储系统适配器234通信以识别存储区域网络230中的存储系统 232,并引导在所识别的存储系统232上虚拟存储资源240的自动供应,所 述存储系统232提供用于供应虚拟存储资源240的资源。主计算装置通信组 件212接收主计算装置100b访问虚拟存储资源240的请求,并且用所识别 的存储系统232的网络端口的标识和所供应的虚拟存储资源240的标识来响 应于主计算装置100b。

现参考图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内的分开的虚拟机上执行。

在一个实施例中,主机100b和主机100c驻留在第一网络111a上,而 存储区域网络230驻留在第二网络111b上。又一个实施例中,主机100b和 主机100c跨越网络111与存储区域网络230中的一个或多个存储系统232 通信,所述网络111可以是交换结构220。又一个实施例中,交换结构220 是存储区域网络230的一部分。又一个实施例中,交换结构220是网络111。

一些实施例中,交换结构220是交换装置的互联网络。这些实施例的一 个中,交换结构220包含用于与交换装置的网络中的一个交换机通信的多个 输入和输出端口。在这些实施例的另一个中,交换结构220是用于将系统内 的数据从线路卡的其中一个端口重定向到另一个线路卡的另一个端口的互 联架构。其他实施例中,交换结构220是硬件和软件的组合,并可以包括节 点中的交换单元(独立箱体)、交换单元包含的集成电路以及使交换路径可 控的编制程序。

一些实施例中,存储系统适配器234驻留在存储区域网络230的服务器 108b上。其他实施例中,存储系统适配器234是一个接口,通过该接口外部 组件可以检索关于存储区域网络230的数据,例如存储系统232的标识、存 储系统232提供的功能或资源的标识或存储系统232的状态。进一步的实施 例中,存储系统232的提供者提供用于与服务器通信的存储系统适配器234。

现参考图2B,框图描述了包括存储系统通信组件214的存储传送管理服 务210的一个实施例。一些实施例中,存储系统通信组件214包括用于与存 储系统232通信的至少一个存储适配器。在这些实施例的一个中,该存储适 配器与由存储系统232提供的存储适配器234通信。在这些实施例的另一个 中,存储系统通信组件214包括使用应用编程接口与存储适配器232通信的 适配器。在这些实施例的另一个中,作为存储系统通信组件214的一部分的 存储适配器和由存储系统232提供的存储适配器234根据存储系统适配器协 议进行通信,例如基于Web的企业管理协议(WBEM),其提供用于从存储系 统检索数据的标准机制。在一些实施例中,由存储系统通信组件214提供的 存储适配器使用标准的协议来检索与存储系统232a或232b关联的公共信息 模型对象管理器(CIM OM)数据。其他实施例中,存储系统232a或232d的 提供者创建定制的存储系统适配器222并向存储传送管理服务210提供该定 制的存储系统适配器222以便在与存储系统232c或232d,或者与存储适配 器234的通信中使用。

一个实施例中,存储系统232包括一个或多个硬件装置,所述硬件装置 存储数据并提供对所存储的数据的访问。在又一个实施例中,存储系统232 被称为存储阵列。在又一个实施例中,存储系统232包括在一个或多个硬件 装置上的分区;例如,多个硬件装置可以各自包括一个物理存储元件(例如 盘驱动器),多个硬件装置的每一个在所述物理存储元件上保留一部分(例 如分区)用于为特定主计算装置100存储数据。又一个实施例中,在存储区 域网络230中的可以从其创建存储系统232的多个硬件装置被称为存储池。

一个实施例中,存储系统232创建和存储用于由位于远程的计算装置 100访问的虚拟存储资源。又一个实施例中,虚拟存储资源可以是用于由在 主计算装置100b上执行的虚拟机使用的虚拟盘。在又一个实施例中,虚拟 存储资源被称为存储节点。

一个实施例中,存储系统232中的一个或多个硬件装置是存储装置,例 如由位于美国马萨诸塞州Hopkinton的EMC公司、位于美国加州Costa Mesa 的Emulex公司、位于荷兰Maarssen的Fujitsu Siemens Computers GmBH 公司、位于美国加州Palo Alto的Hewlett-Packard公司、位于日本东京的 Hitachi有限责任公司、位于美国纽约州Armonk的IBM公司、位于美国加州 Sunnyvale的NetAPP股份有限公司、位于美国加州Thousand Oaks的NexSan  Technologies公司、位于美国加州San Jose的Quantum公司和位于美国新 泽西州Mahwah的Sanrad股份有限公司提供的那些存储装置。

一个实施例中,存储系统通信组件214接收供应虚拟存储资源240的请 求。存储系统通信组件214与存储区域网络230中存储系统适配器234通信 以识别存储区域网络230中的存储系统232。一个实施例中,存储系统通信 组件214使用应用编程接口来与存储系统适配器234通信。

存储系统通信组件214引导在所识别的存储系统323上虚拟存储资源 240的自动供应,所述存储系统232提供用于供应虚拟存储资源240的资源。 一个实施例中,存储系统通信组件214向所识别的存储系统232传输第一计 算装置100b上的至少一个网络端口的标识以便与虚拟存储资源240相关联。 一个实施例中,存储系统通信组件214向所识别的存储系统232传输第二计 算装置100c上的至少一个网络端口的标识,访问虚拟存储资源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的供应或管理的通信。正如图1A有关的上文所描述的,管理程序 可包括由位于美国加里福尼亚州Palo Alto的VMWare有限责任公司出品的 管理程序;XEN管理程序(一种开源产品,其开发由开源Xen.org协会监管); 由Microsoft提供的HyperV、Virtual Server或虚拟PC管理程序,或其他。 一些实施例中,主计算装置通信组件212包括用于向管理程序传输数据的通 信适配器。在这些实施例的一个中,如图2D所描述的,主计算装置通信组 件212包括用于向每个不同种类的管理程序传输数据的单独的通信适配器。 在这些实施例的另一个中,主计算装置通信组件212包括用于向每个不同种 类的管理程序传输数据的通用通信适配器(未描述)。

一些实施例中,主计算装置通信组件212从代理服务器100a接收为包 括至少一个网络端口的计算装置100b供应虚拟存储资源的请求。在这些实 施例的一个中,主计算装置通信组件212将该请求传输到存储系统通信组件 214。在这些实施例的另一个中,主计算装置通信组件212向代理服务器100a 传输所供应的虚拟资源240的标识。在这些实施例的另一个中,主计算装置 通信组件212包括用于从代理服务器101a接收请求的接口;例如,该接口 可以是通过网络连接向代理服务器100a的用户显示的图形用户接口,或者 web服务接口(例如上文所讨论的SOAP/.NET接口)。在其他实施例中,主计 算装置通信组件212与控制操作系统105通信。其他实施例中,主计算装置 通信组件212访问应用编程接口来与主计算装置100通信。

一些实施例中,存储传送管理服务210执行虚拟机迁移组件(未描述)。 这些实施例的一个中,虚拟机迁移组件接收虚拟机从第一物理计算装置100b 迁移到第二物理计算装置100c的通知。在这些实施例的另一个中,虚拟机 迁移组件接收虚拟机从第一物理计算装置100b向第二物理计算装置100c迁 移的请求。在这些实施例的另一个中,虚拟机迁移组件接收第二计算装置 100c上的至少一个网络端口的标识。在这些实施例的另一个中,虚拟机迁移 组件将第二计算装置100c上至少一个网络端口的标识传输到存储系统通信 组件214;该存储系统通信组件214可向存储系统232传输第二计算装置上 的至少一个网络端口的标识以便与虚拟存储资源240关联。在这些实施例的 另一个中,虚拟机迁移组件向第二计算装置100c传输所供应的虚拟存储资 源240的标识以及存储系统232的至少一个网络端口的标识。在这些实施例 的另一个中,虚拟机迁移组件向结构管理器通信组件216传输存储系统232 的至少一个网络端口的标识和第二计算装置100c的至少一个网络端口的标 识。进一步的实施例中,由存储传送管理服务210执行的结构管理组件216 在交换结构220的至少一个交换机上产生访问控制列表,所述访问控制列表 包括所识别的存储系统232的至少一个网络端口的标识和主计算装置100b 或100c上至少一个网络端口的标识。

一些实施例中,虚拟机迁移组件提供用于存储计算装置100b上的虚拟 机的执行状态的功能。在这些实施例的一个中,虚拟机迁移组件传输终止虚 拟机执行的指令。在这些实施例的另一个中,虚拟机迁移组件向第二物理计 算装置100c迁移与所终止的虚拟机关联的虚拟机映像和所存储的虚拟机的 执行状态。其他实施例中,虚拟机迁移组件是由控制操作系统105提供的, 所述控制操作系统105在与存储传送管理服务210在同一服务器108a上寄 载的虚拟机106中执行。进一步的实施例中,虚拟机迁移组件是由控制操作 系统105提供的,所述控制操作系统105在寄载于服务器108b并与存储传 送管理服务210通信的虚拟机106中执行。

一些实施例中,主计算装置通信组件212包括虚拟机迁移组件。其他实 施例中,主计算装置通信组件212提供由虚拟机迁移组件提供的功能。

一些实施例中,主计算装置100b和主计算装置100c驻留在网络111a 上。在这些实施例的一个中,主计算装置100执行向该主计算装置100的用 户提供计算环境的虚拟机。在这些实施例的另一个中,虚拟机执行资源并将 由资源产生的输出数据传输到客户计算机102用于在客户计算机102上向客 户计算机102的用户进行显示。客户计算机102可以与主计算装置100驻留 在同一网络111a上,或驻留在单独的网络111b上。其他实施例中,主计算 装置100从驻留在网络111上的计算装置100检索执行虚拟机所必须的数据, 例如,虚拟机映像或虚拟存储资源。然而,在其他实施例中,主计算装置100 从存储网络230(其可以是网络111c)中的存储系统232检索执行虚拟机所 必须的数据。进一步的实施例中,主计算装置100的提供者是存储区域网络 230的提供者的顾客,其从存储区域网络230的提供者接收存储服务。在这 些实施例的一个中,存储服务提供者可以在一个或多个网络111(例如存储 区域网络230、交换结构220和在存储服务器提供者和主机100的提供者之 间的其他中间网络111b)上提供存储服务。这样的实施例中,存储服务提供 者可以说是提供云计算服务,因为它们提供对互联网络的“云”上的存储资源 和存储服务的访问。

现参考图3,流程图描述了用于在云计算环境中自动供应虚拟资源的方 法的一个实施例。总的来说,该方法300包括由存储传送管理服务为在包括 至少一个网络端口的第一计算装置上执行的虚拟机引导在存储区域网络中 的存储系统上的虚拟存储资源的供应(302)。该方法包括由存储传送管理服 务向存储系统传输第一计算装置上至少一个网络端口的标识以便与虚拟存 储资源关联(304)。该方法包括由存储传送管理服务向第一计算装置传输检 索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的 指令(306)。该方法包括由存储传送管理服务接收从第一计算装置向第二计 算装置迁移虚拟机的指示(308)。该方法包括由存储传送管理服务向存储系 统传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源关联 (310)。该方法包括由存储传送管理服务向第二计算装置传输检索所供应的 虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令(312)。

现参考图3,更具体地,存储传送管理服务210为在包括至少一个网络 端口的第一计算装置100b上执行的虚拟机106引导在存储区域网络230中 的存储系统232上虚拟存储资源240的供应(302)。一些实施例中,存储传 送管理服务210接收为包括至少一个网络端口的第一计算装置供应虚拟存储 资源的请求。在这些实施例的一个中,存储传送管理服务210从代表计算装 置100b的代理服务器100a接收供应虚拟存储资源的请求,所述计算装置 100b包括至少一个网络端口。在这些实施例的另一个中,存储传送管理服务 210从寄载虚拟机的主计算装置100b接收供应虚拟存储资源的请求。在这些 实施例的另一个中,存储传送管理服务210识别存储区域网络中的存储系统, 所述存储系统提供用于供应虚拟存储资源的资源。在这些实施例的另一个 中,存储传送管理服务210与存储适配器234通信以识别存储系统232。在 这些实施例的另一个中,存储系统通信组件214请求提供对用于供应虚拟存 储资源的资源的访问的可用的存储系统232的标识;例如,存储系统通信组 件214可请求能够创建和存储被分配了指定量的物理盘驱动器空间的虚拟盘 的所有存储系统232的列举。

一些实施例中,供应新的虚拟存储资源。其他实施例中,将已有的虚拟 存储资源从一个主计算装置100b重新分配给第二主计算装置100c。其他实 施例中,通过将已有的虚拟存储资源的内容拷贝到新的虚拟存储资源来供应 该新的虚拟存储资源。在这些实施例的一个中,克隆已有的虚拟存储资源。

一些实施例中,短期供应新的虚拟存储资源。在这些实施例的一个中, 例如,主计算装置100b可请求供应额外的虚拟存储资源以便支持临时要求 额外资源(例如,额外的虚拟盘空间)的虚拟机。在这些实施例的另一个中, 虚拟机可能已临时超过其所分配的对先前供应的虚拟存储资源的使用或者 开始执行将导致虚拟机超过所分配的资源的进程。在这些实施例的另一个 中,可短期提供虚拟存储资源以支持要求额外资源的虚拟机。

在一些实施例中,当供应虚拟存储资源时,存储传送管理服务210接收 实现n_port标识虚拟化的请求。在这些实施例的一个中,该请求包括给在 计算装置上执行的虚拟机分配的虚拟主总线适配器的标识。在这些实施例又 一个中,存储传送管理服务210接收对所供应的虚拟存储资源的访问的请求。 在这些实施例的另一个中,存储传送管理服务210接收为虚拟机106供应虚 拟存储资源的请求。在这些实施例的另一个中,存储传送管理服务210给虚 拟主总线适配器分配唯一的标识符。在这些实施例的另一个中,存储传送管 理服务210给第一计算装置100b传输该唯一的标识符的标识。在这些实施 例的另一个中,存储传送管理服务210向存储系统232传输虚拟主总线适配 器的唯一标识符。在一些这样的实施例中,存储传送管理服务210向交换结 构220中的交换机传输虚拟主总线适配器的唯一标识符的标识以便包含在允 许虚拟机106和存储系统232的访问控制列表中。其他实施例中,存储系统 232向虚拟主总线适配器提供对所供应的虚拟存储资源的访问。进一步的实 施例中,虚拟主总线适配器与存储系统232通信以便向在第一计算装置100b 上执行的虚拟机提供对虚拟存储资源的访问。

一些实施例中,存储传送管理服务210接收供应虚拟存储资源的请求, 识别能够提供所请求的虚拟存储资源的存储系统232以及引导该虚拟存储资 源的供应。在这些实施例的一个中,存储系统通信组件214经由存储系统适 配器234向存储系统232传输创建虚拟存储资源的指令。在这些实施例的另 一个中,存储系统232经由存储系统适配器234向存储系统通信组件214传 输所供应的虚拟存储资源的标识。

一些实施例中,在创建了虚拟机存储资源240后,存储传送管理服务210 与存储系统适配器234通信以请求存储系统232给主计算装置的一个或多个 端口分配新的存储资源240。在这些实施例的一个中,这被称为逻辑单元号 (LUN)屏蔽和映射。在这些实施例又一个中,要求存储系统232返回识别 所分配的虚拟存储资源240所必需的信息。在这些实施例的另一个中,主计 算装置100b接收存储传送管理服务210的将虚拟存储资源240连接到合适 的虚拟机的请求。其他实施例中,存储传送管理服务210通过发出SCSI查 询命令来检索存储标识的各种模式页来接收所供应的存储资源的标识。在这 些实施例的一个中,使用该信息,存储传送管理服务经由存储系统适配器234 将模式页中的标识与存储系统232中所创建的虚拟存储资源240相关联。

存储传送管理服务210向存储系统232传输第一计算装置上至少一个网 络端口的标识以便与虚拟存储资源关联(304)。一个实施例中,供应虚拟存 储资源的请求包括至少一个网络端口的标识。又一个实施例中,存储传送管 理服务210向存储系统232传输与在第一计算装置100b上执行的虚拟机关 联的虚拟端口的标识。又一个实施例中,存储传送管理服务210向存储系统 232传输与在第一计算装置100b上执行的虚拟机关联的物理端口的标识。

一些实施例中,存储传送管理服务210将交换结构220配置为允许主计 算装置100访问存储系统232。这些实施例的一个中,结构管理组件216在 交换结构的至少一个交换机上产生访问控制列表,所述访问控制列表包括存 储系统232的至少一个网络端口的标识和计算装置上至少一个网络端口的标 识。在这些实施例的另一个中,结构管理组件216修改已有的访问控制列表 以包括计算装置上至少一个网络端口的标识。在这些实施例的另一个中,结 构管理组件216修改已有的访问控制列表以包括存储系统232上至少一个网 络端口的标识。

存储传送管理服务210向第一计算装置传输检索所供应的虚拟存储资源 的标识和存储系统上至少一个网络端口的标识的指令(306)。一个实施例中, 第一计算装置100b接收已经为由第一计算装置100b执行的虚拟机106供应 虚拟存储资源的通知。在又一个实施例中,第一计算装置100b从存储传送 管理服务210接收供应虚拟存储资源的存储系统232的标识。在又一个实施 例中,第一计算装置100b接收请求更新可利用的存储资源的列举的指令。 又一个实施例中,存储传送管理服务210向代理计算装置100a传输重定向 到第一计算装置100b的指令。

一些实施例中,第一计算装置100b接收请求可用的虚拟存储资源的列 举的指令。在这些实施例的一个中,第一计算装置100b向存储适配器234 传输对可用的虚拟存储资源的请求。在这些实施例的另一个中,第一计算装 置100b向存储区域网络230传输对可用的虚拟存储资源的请求。在这些实 施例的另一个中,第一计算装置100b向交换结构220传输对可用的虚拟存 储资源的请求。在这样的实施例中,交换结构220可检索访问控制列表的列 举,所述访问控制列表列出第一计算装置100b、或第一计算装置100b的网 络端口、或由第一计算装置100b执行的虚拟机106的网络端口,以及向第 一计算装置100b提供第一计算装置100b可访问的存储系统232的列举。

一个实施例中,第一计算装置100b建立到所识别的存储系统232的至 少一个端口的连接。又一个实施例中,第一计算装置100从交换结构220请 求建立到所识别的存储系统232的至少一个端口的连接。又一个实施例中, 交换结构220的至少一个交换机建立所识别的第一计算装置的至少一个网络 端口和所识别的存储系统的至少一个网络端口之间的连接。又一个实施例 中,第一计算装置100b向虚拟机106提供对所供应的虚拟存储资源的访问。

存储传送管理服务210接收从第一计算装置向第二计算装置迁移虚拟机 的指示(308)。在一个实施例中,存储传送管理服务210接收迁移虚拟机106 的请求。在又一个实施例中,存储传送管理服务210从代理计算机100a接 收该请求。在又一个实施例中,存储传送管理服务210从虚拟机迁移组件接 收该请求。

存储传送管理服务210向存储系统232传输第二计算装置上至少一个网 络端口的标识以便与虚拟存储资源关联(310)。一个实施例中,存储传送管 理服务210向交换结构220传输第二计算装置上的至少一个网络端口的标识 以便与虚拟存储资源相关联。又一个实施例中,存储传送管理服务210与交 换结构220中至少一个交换机通信以产生或修改允许存储系统232和第二计 算装置的至少一个网络端口之间的通信的访问控制列表。又一个实施例中, 存储传送管理服务210删除存储系统232与所识别的第一计算装置上的网络 端口之间的关联。又一个实施例中,响应于接收迁移虚拟机的请求,存储传 送管理服务210向存储系统232传输至少一个网络端口的标识。

存储传送管理服务210向第二计算装置传输所供应的虚拟存储资源的标 识和存储系统上至少一个网络端口的标识(312)。一个实施例中,响应于所 接收的所供应的虚拟存储资源的标识,第二计算装置100c建立与存储系统 232的连接以访问虚拟存储资源。又一个实施例中,响应于所接收的存储系 统上至少一个网络端口的标识,第二计算装置100c建立与存储系统232的 连接以访问虚拟存储资源。又一个实施例中,第二计算装置100c从交换结 构220请求建立到存储系统232的连接。又一个实施例中,第二计算装置100c 向虚拟机106b提供对虚拟存储资源的访问。一些实施例中,第二计算装置 100c例如,通过制作存储系统232上所存储的虚拟盘的本地副本,获得虚拟 机106b可以在其上执行的虚拟存储资源的副本。其他实施例中,第二计算 装置100c可通过网络111(其可包括交换结构220)而不是制作虚拟存储资 源的本地副本来请求存储在虚拟存储资源240上的数据。

现参考图4,流程图描述了用于在通信协议之间动态转换的方法的一个 实施例。总的来说,该方法400包括由存储传送管理服务将存储区域网中的 存储系统配置为根据第一通信协议与执行虚拟机的第一物理计算装置通信, 该存储系统向虚拟机提供对虚拟存储资源的访问(402)。该方法包括由存储 传送管理服务接收从第一物理计算装置向第二物理计算装置迁移虚拟机的 请求(404)。该方法包括由存储传送管理服务将存储系统配置为根据第二通 信协议与第二物理计算装置通信(406)。该方法包括由存储传送管理服务向 第二物理计算装置传输为虚拟机提供对虚拟存储资源的访问的存储系统的 标识(408)。

现参考图4,更具体地,存储传送管理服务210将存储区域网络中存储 系统配置为根据第一通信协议与执行虚拟机的第一物理计算装置通信,该存 储系统向虚拟机提供对虚拟机存储资源的访问(402)。一个实施例中,主计 算装置通信组件212请求由第一物理计算装置100b支持的通信协议的标识。 又一个实施例中,存储系统通信组件214请求由存储系统232支持的通信协 议的标识。又一个实施例中,存储系统通信组件214向存储系统适配器234 传输对该标识的请求。又一个实施例中,存储传送管理服务210识别由第一 计算装置100b和由存储系统232都支持的通信协议。又一个实施例中,存 储系统通信组件214识别由第一计算装置100b和由存储系统232都支持的 通信协议。

一个实施例中,存储系统通信组件214将存储系统232配置为在提供对 虚拟存储资源240的访问中根据第一通信协议与第一物理计算装置100b通 信。又一个实施例中,存储系统通信组件214向存储适配器234传输存储系 统232的标识、第一物理计算装置100b上的至少一个网络端口的标识和在 与第一物理计算装置100b通信中使用的通信协议的标识。

存储传送管理服务210接收从第一物理计算装置向第二物理计算装置迁 移虚拟机的请求(404)。一个实施例中,主计算装置通信组件212接收迁移 虚拟机的请求。在又一个实施例中,存储传送管理服务210接收迁移进程已 开始的标识。又一个实施例中,虚拟机的迁移依赖于存储系统232向第二物 理计算装置100c提供对虚拟存储资源访问的能力;例如,虚拟存储资源可 能是虚拟盘,虚拟机106在所述虚拟盘上执行,并且如果没有该虚拟盘,则 虚拟机106不应该执行。

存储传送管理服务210将存储系统配置为根据第二通信协议与第二物理 计算装置通信(406)。一个实施例中,存储传送管理服务210从第二物理计 算装置100c请求由第二物理计算装置100c支持的至少一个通信协议的标 识。又一个实施例中,主计算装置通信组件212从第二物理计算装置100c 请求由第二物理计算装置100c支持的至少一个通信协议的标识。又一个实 施例中,存储传送管理服务210确定第二物理计算装置100支持与由第一计 算装置支持的通信协议不同的通信协议。又一个实施例中,存储系统通信组 件214从主计算装置通信组件212接收向第二物理计算装置迁移虚拟机的通 知。又一个实施例中,存储系统通信组件214接收由第二物理计算装置100c 支持的通信协议的标识。

在一个实施例中,存储传送管理服务210从存储系统232请求由存储系 统232支持的通信协议的列举。在又一个实施例中,存储系统通信组件214 从存储系统232请求由存储系统232支持的通信协议的列举。又一个实施例 中,存储传送管理服务210确定存储系统232支持由第二物理计算装置100 支持的通信协议。

一些实施例中,计算装置用于与存储系统232通信的通信协议是存储协 议。在这些实施例的一个中,存储协议是基于光纤通道的协议;例如,存储 协议可以是光纤通道协议(其是光纤通道上的SCI的接口协议)或者IP之上 的光纤通道(Fibre Channel over IP)协议,其提供隧道方式并在互联网 工程任务组(IETF)文档RFC3821中进行定义。在这些实施例的另一个中, 存储协议是iSCSI协议。

存储传送管理服务210向第二物理计算装置传输为虚拟机提供对虚拟存 储资源的访问的存储系统的标识(408)。一个实施例中,主计算装置通信组 件212向第二物理计算装置100c传输为虚拟机提供对虚拟存储资源的访问 的存储系统的标识。又一个实施例中,主计算装置通信组件212向第二物理 计算装置100c传输用于与存储系统232通信的通信协议的标识。又一个实 施例中,主计算装置通信组件212向第二物理计算装置100c传输存储系统 232支持由第二物理计算装置100c使用的缺省通信协议的确认。

一个实施例中,结构管理组件216将由交换结构220中的交换机存储的 访问控制列表配置为包括第二物理计算装置100c的至少一个网络端口的标 识。又一个实施例中,存储传送管理服务210向代理服务器108a传输向第 二物理计算装置100c迁移虚拟机的标识。在又一个实施例中,存储传送管 理服务210将虚拟机迁移到第二物理计算装置100c。一些实施例中,在虚拟 机继续执行的同时进行迁移;这可以被称为实时迁移(live migration)。 其他实施例中,在已经保存了虚拟机的执行状态并且终止虚拟机的执行之后 进行迁移。在进一步的实施例中,存储传送管理服务210停止由第一物理计 算装置100b对存储系统232提供的虚拟存储资源的访问。在这些实施例的 一个中,存储传送管理服务210经由存储系统适配器234向存储系统232传 输第一物理计算装置100b或第一物理计算装置100b的网络端口不再被授权 访问虚拟存储资源的指示。在这些实施例的另一个中,存储传送管理服务210 经由结构管理组件216向交换结构220中的交换机传输从将第一物理计算装 置100b与存储系统232关联的访问控制列表删除第一物理计算装置100b或 第一物理计算装置100b的网络端口的指示。

在虚拟机从一个物理计算装置100b迁移到第二物理计算装置100b的一 些实施例中,在提供不同功能和支持不同通信协议的异构机器之间进行迁 移。在这些实施例的一个中,此处所描述的方法和系统提供用于动态转换由 虚拟机访问的存储系统上的通信协议配置的功能,从而改善了迁移过程。

现参考图5A,流程图描述了用于在云计算环境中提供对从存储系统检索 的数据的转换的方法的一个实施例。该方法500包括由在第一物理计算装置 上执行的接口对象接收由存储系统供应虚拟存储资源的请求(502)。该方法 包括由接口对象从存储系统接口对象请求供应虚拟存储资源(504)。该方法 包括由接口对象从存储系统接口对象接收所供应的虚拟存储资源的标识 (506)。该方法包括由接口对象通过访问接口转换文件将所供应的虚拟存储 资源的标识从由存储系统接口对象实现的专用格式转换为标准格式,所述接 口转换文件将多个专用格式的每一个与标准格式相映射(508)。该方法包括 由接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求进 行响应(510)。

一些实施例中,存储传送管理服务210接收供应虚拟存储资源的请求 502。在这些实施例的一个中,存储传送管理服务210将该请求传输到存储 系统通信组件214。在这些实施例的另一个中,作为响应,存储系统通信组 件214产生存储系统的标识,所述标识被格式化以用于由代理计算机100a 进行处理。在这些实施例的另一个中,例如,存储系统适配器234可能传输 厂商专用格式的存储系统232的标识;存储系统通信组件214可将该标识转 换为代理计算机100a能处理的格式。

现参考图5A,更具体地,在第一物理计算装置上执行的接口对象从第二 物理计算装置接收由存储系统供应虚拟存储资源的请求(502)。一个实施例 中,存储系统通信组件214包括诸如通用SMI-S适配器218的接口对象218。 在又一个实施例中,接口对象218从存储系统通信组件214接收供应虚拟存 储资源240的请求。在又一个实施例中,接口对象218从存储传送管理服务 210接收供应虚拟存储资源240的请求。在又一个实施例中,接口对象218 间接或直接从代理计算机100a接收该请求。

该方法包括由接口对象从存储系统接口对象请求供应虚拟存储资源 (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)或VOF)公开的定制特征允许虚拟存储管理器服务210利用 供应商专用的属性和类名来例如更准确地解释这些属性的含义,和/或根据 “subtypes”过滤某些类的列表。在这些实施例的一个中,在给定的对象中的 额外的属性可使客户机减轻执行额外查询以完整地汇编对于给定的对象的 所有描述数据所需的代价。

一些实施例中,接口转换文件可包括供应商的<VendorOptions...>标签, 其具有“VendorPattern”和“ModelPattern”属性。在这些实施例的一个 中,该标签包含供应商的选项集合,在该标签中的两个属性指定了应该如何 (从高层的SMI-S产品信息)识别供应商的系统。其他实施例中,接口转换 文件可包括<XssaVendorString>字符串,其指定虚拟存储管理器服务210将 在来自该供应商的存储系统和存储节点(例如,不用于存储卷)的ID字符 串中使用的供应商字符串。其他实施例中,其他XML属性(在下面详细地讨 论的)是可选的。在这些实施例的一个中,如果供应商实现了使虚拟存储管 理器服务210能利用给定的供应商专用特征或优化的特征,那么XML属性被 包括在该供应商的XML数据中。

一些实施例中,接口转换文件可包括至少一个XML标签。下面的表格描 述了可被包含在接口转换文件的一个实施例中的一些标签,其中存储传送管 理服务210被称为虚拟存储管理器(VSM)模块:

一个实施例中,<VendorOptions>标签包含至少一个记号(token),VSM模 块通过记号从该阵列(array)的“Top Product”CIM实例中的数据辨认和 识别给定供应商/型号(Vendor/Model)的存储系统,并包含对于由该标签的 属性识别的存储系统类型的供应商选项部分。又一个实施例中,阵列供应商 实现“Physical Product(物理产品)”简档,其中CIM_Product类的实例作为 一个整体来表示用于系统的产品数据。又一个实施例中,该CIM_Product实 例的字段可包括两个属性:供应商名称和存储系统产品的名称(例如,型号)。 例如,Acme System阵列型号AZ1000的对象路径可能看起来如下: Acme_ArrayProduct.IdentifyingNumber=″12345″,Name=″AZ1000″,Vendor= ″Acme Systems Inc.″,Version=″1.2.3″。该路径可包括这些属性:序列号、 产品的名称或型号、存储供应商名称、产品的版本(例如,主固件版本)。 又一个实施例中,VSM模块从阵列的SMI-S提供者检测该“Top Product”实例 中的数据并使用某个的(最小的)正则表达式匹配来将来自该实例的 Vendor(供应商)和Name(名称)属性中的值匹配到供应商选项文件中的 “VendorOptions”部分内的记号。又一个实施例中,这些正则表达式模式(其 仅使用星号字符)可包括:直接匹配(例如,模式“Acme”匹配供应商“Acme” 且仅匹配供应商“Acme”),后跟通配符(例如,模式“Acme*”匹配“Acme”和“Acme  Systems”,但不匹配“Northwest Acme”),前引通配符(例如,模式“*Acme” 匹配“Acme”和“Northwest Acme”,但不匹配“Acme Sys tems”),在前引和后跟 的通配符(例如,模式“*Acme*”匹配在其中记号“Acme”出现在任何地方的任 何供应商字符串,包括“Acme”、“Northwest Acme”和“Acme Systems”)和通 配符(例如,模式“*”匹配任意串)。下面是如何在VSM供应商选项XML文 件中建立“Acme AZ1000”示例型号的定义的一些例子:

<VendorOptions VendorPattern=″Acme*″ModelPattern=″AZ1000″>

...vendor/model-specific options,see below

</VendorOptions>

这个例子可以匹配上述每个例子的供应商“Acme”,对于型号可匹配 AZ1000。对于Model Pattern(型号模式)的其他例子可包括,但不限于,例 如Model Pattern=″AZ*″(匹配任何″AZ″型号,包括AZ,AZ1000,AZ500); ModelPattern=″AZ1*″(匹配任何″AZ 1000系列″型号,包括AZ1000, AZ1500);ModelPattern=″*″(匹配任何产品/型号)。一些实施例中,在模 式匹配搜索结束时,VSM模块210将识别出供应商选项XML文件的 “VendorOptions”部分,其匹配所讨论的存储系统并包含专用于该类型的存 储系统的选项和标志。

一些实施例中,由vsmModelString标签识别的值是VSM模块用来为指 定的存储系统供应商/型号根据指定的VSM ssid格式构建VSM“Stroage  System ID”(“ssid”)使用的子串。例如,在这些实施例的一个中,Acme System 型号AZ1000、序列号12345,其可能的ssid为“ACME_AZ_12345”。或者,作 为又一个例子,如果所有Acme型号完全以相同方式运行,其可以简化为 “ACME_SYSTEM_12345”。其他实施例中,尽管由VSM用于模式匹配/识别指定 类型的阵列以及构建ssid的供应商和型号部分的供应商和型号信息来自存 储系统的“Top Product”SMI-S实例,但ssid的序列号部分不必来自该CIM_ Product实例;相反,其可以来自例如表示存储系统自身的CIM_ ComputerSystem的当前的实例的“Name”属性。其他实施例中,将供应商和型 号模式转换为VSM ssid中的VSM记号不是必须逐字的或者是简单地转化为 大写字母。例如,在这些实施例的一个中,VSM模块可能将来自“Consolidated  Excelsior Incorporated”公司的存储系统的ssid字符串创建为类似 “CONEX_SYSTEM_123SerialNumber456”。其他实施例中,对供应商指定VSM SSID Token的可能的其他选择包括但不限于:供应商提供他们自己的XML 选项文件,排除VSM供应商/型号记号字符串并将该文件提交给VSM模块 210;由VSM模块210根据注册数据单独地读取供应商的XML选项文件;VSM 模块210保持(和更新,当供应商提交他们的文件时)主XML文件以协调用 于所有供应商的选项,以及定义/建立某些内部选项,例如对于供应商的VSM  ssid记号。进一步的实施例中,如果<vsmModelString>标签没有被包括在 供应商文件中,这个值可假定为固定的缺省值,例如,“SYSTEM”。

一些实施例中,标签(其可被称为SysNameTrimString)提供为VSM ssid 的序列号部分排除某些不相关的前缀字符的方式。例如,系统的 CIM_ComputerSystem.Name属性可能以例如由下划线分隔的额外的字符作为 前缀,例如:“AZSeries_12345”。选项文件可指定“SysNameTrimString”标签, 在这种情况中下划线,例如:<SysNameTrimString>_</SysNameTrimString>; 在这个例子中,VSM模块210将删除下划线字符之前的前缀,而使用余下的 部分作为该系统的所产生的ssid的序列号部分。

一些实施例中,标签(其可被称为VolumeRaidLevelProperty)可指示 对于给定的SMI-S Storage Volume(存储卷)的Raid Level(Raid级别)的 值。在这些实施例的一个中,可通过其对该Volume(卷)的StroageSetting 的实例的关联来确定该值。在这些实施例的另一个中,以SMI-S数据的术语 来说,“Raid Level”可以是涉及包括数据副本的数量、可能失效的转轴 (spindle)数量、奇偶类型等数字数据的计算的结果。因为在一些实施例 中,为系统的每个Volume查找StorageSetting数据是及其昂贵的,并且因 为Raid Level的确定是对客户机很不友好的,所以一些供应商选择使用已 有的StorageVolume属性或通过添加供应商专用的属性来简单地填充具有 “raid level string”的Volume的属性。在供应商提供Stroage Volume属 性中的数据的实施例中,该VSM Vendor Opt ion(供应商选项)标签包含SMI-S  Stroage Volume属性的名称,其可使VSM避免额外的消耗。

一些实施例中,由VSM用来产生VSM“node ID”(节点ID)的缺省SMI-S StorageVolume属性是“Name”。在其他实施例中,如果由于某些原因,不同 的StroageVolum属性包括用于该目的的更好的数据(例如“DeviceID(装 置ID)”,或“Acme VolID”),那么VSM Vendor Option标签(其可被称为 VolumeIDProperty)可包含该SMI-S StroageVolume属性的名称。

一些实施例中,用于Volume ID(卷ID)的SMI-S属性的值包括一系列 空格分隔的子串。在这些实施例的一个中,VolumeIdToken被指定为数字的 指示符(从零开始),其指示该数据字段中的哪个记号将要被隔离以及用于 VSM Node ID中。例如,在这些实施例的另一个中,如果供应商指定(使用 VolumleIdProperty选项)要使用StroageVolume“DeviceID”属性,并且 SMI-S StroageVolume实例的DeviceID值是例如“Acme 1234567890”的形式, 那么指定VoluemIDToken为“1”将导致只有该DeviceID字符串的第二部分将 被用于VSM Node ID字符串中。在这些实施例的另一个中,如果没有为这样 的标签指定值,那么缺省地可使用整个VolumeIdProperty的值。

一些实施例中,当列举存储系统的Vi ew(视图)(也被称为SMI-S  “SCSIProtocolController(SCSI协议控制器)”,或“SPC”对象,在VSM 中称为“Stroage Assignments(存储分配)”)时,缺省行为是将SPC对象作 为Stroage Assignment对象传递给VSM模块210。然而,在其他实施例中, 存储系统为不同的目的实例化不同类型的SPC对象,并不只是为了Stroage  Volume的基于主机的LUN映射/屏蔽(LUN Mapping/Masking)。在这些实施 例的一个中,VSM模块210允许通过指定要检测的SPC的属性名来基于某些 SMI-S SPC属性的值过滤SPC。在这些实施例的另一个中,可以从所列举的 列表中排除对于该属性其值匹配过滤值(filter value)的任何SPC对象。其 他实施例中,选项(其可被称为ViewFilterValue)指定SMI-S SPC属性的 值,该属性的属性名由上文所描述的ViewFilterProperty供应商选项指定, 这将允许从View列举操作返回的给定的SPC对象被包含在对VSM返回的 Views列表中以便被转换为VSM Stroage Assignment对象。

在一些实施例中,供应商实例化不同类型的View/SPC对象,VSM模块210 想要从其Stroage Assignment对象列表中排除这些对象,可使用 ViewFilterProperty和ViewFilterValue选项来过滤这些对象。然而,在其 他实施例中,来自一些供应商的SPC对象不包括用于VSM过滤的属性,并且 不能使用这种过滤方法。在这些实施例的一个中,可采用替代选项,即使用 供应商选项标签(其可被称为ViewFilterClassNameToken供应商选项)。在 这些实施例的另一个中,该选项检查每个视图对象的供应商专用的SMI-S类 名,在该类名中查找特定子串并保留包含匹配的那些View对象。例如,如 果该选项字符串被指定为“LunMasking”,那么类名为″Acme  LunMaskingProtocolController″的SPC对象将相匹配,而类名″Acme  BackendProtocolController″不相匹配。

一个实施例中,由VSM模块210用来产生用于池的VSM友好名称(例如 由VSM用户接口使用的显示器名称)的缺省SMI-S StroagePool(存储池) 属性是“ElementName”。在又一个实施例中,如果对于该目的不同的 StroagePool属性包含不同的数据(例如“PoolID(池ID)”),那么VSM Vendor  Option标签(其可被称为PoolIdProperty)包含该SMI-S StroagePool属 性的名称。

一些实施例中,当列举存储系统的StoragePool对象时,缺省的行为是 将所有的池对象传递给VSM模块210。然而,其他实施例中,来自一些供应 商的存储系统对于不同的目的实例化不同类型的池对象,并不只是为了创建 Storage Volume。在这些实施例的一个中,VSM模块210允许通过指定将要 经由PoolFitlerProperty供应商对象标签检测的池属性的名称来基于某些 SMI-S池属性的值过滤Pool(池)。在这些实施例的另一个中,可以从所列 举的列表中排除其属性值匹配过滤值的池对象。其他实施例中, PoolFilterValue选项指定用于SMI-S池属性的值,PoolFilterProperty供 应商选项指定其属性名,这将允许从Pool列举操作返回的给定的池对象被包 含在对VSM返回的Pool列表中以便被转换为VSM池对象。

一个实施例中,VSM“Stroage Assignment”对象的创建使用SMI-S配 置方法“ExposePaths”,其通过“LUN映射和屏蔽”操作加入在Volum/Node和 主机启动器端口(initiator port)之间的访问。又一个实施例中,为了指 定所创建的SPC的ElementName,一些供应商已扩充其ExposePath方法签名 以包括额外的参数用于指定该友好名称的输入。又一个实施例中,由于该增 强的功能不是标准SMI-S规范的一部分(因此该额外的参数的名称不是标准 化的),所以由定义可知这种额外的能力的任何实现是供应商专用的。又一 个实施例中,如果供应商在其ExposePath方法调用中提供该额外的输入参 数,那么可以使用供应商选项来指定该参数的名称,例如 ExposePathsElementNameParam。

一些实施例中,对于提供在所创建的对象(例如Volume、Pool、Initiator  Port(启动器端口)、View等)上输入友好名称的能力但对该名称的长度有 限制的供应商,可使用诸如MaxElementNameLength的供应商选项来指定最 大的名称长度。

一些实施例中,供应商提供在各种类型的所创建的对象(例如Volume、 Pool、Initiator Port、View等)上输入友好名称的能力。在这些实施例的 一个中,供应商选项标志列举给定的供应商在哪个类型的对象上支持用户命 名;例如,供应商选项标志可包括而不限于NodeNameSupported(在创建 Storage Volume时支持的友好名称);IPortNameSupported(在创建启动器 端口时支持的友好名称);以及ViewNameSupported(在创建SPC/View时支 持的友好名称)。

接口对象用所接收的标识的转换来对从第二物理计算装置接收的请求 进行响应(510)。一个实施例中,响应于所接收的请求,将经转换的标识传 输到计算装置100。又一个实施例中,接口对象218将经转换的标识符直接 传输到代理计算机100a。又一个实施例中,接口对象218通过将经转换的标 识符提供给存储传送管理服务210来间接地传输经转换的标识符,所述存储 传送管理服务210接着可将该经转换的标识符传输到代理计算机100a。一些 实施例中,缓存经转换的标识符以备后用。

一些实施例中,具有SMI-S兼容的存储提供者的存储供应商可以将接口 对象218与其SMI-S提供者集成在一起。在这些实施例的一个中,提供允许 提供者将接口对象218与存储适配器234或存储系统232集成在一起并提供 接口转换文件的方法。在这些实施例又一个中,存储传送管理服务210可与 来自多个存储供应商的存储系统交互。在这些实施例的另一个中,SMI-S模 型给供应商提供以标准化的方式表示其存储系统232的描述数据和管理API (以及用于配置的方法)的手段。然而,由于SMI-S模型的进展通常落后于 存储系统技术的能力,特别是考虑到很难在模型中精确地标准化的那些高性 能的存储系统的特征,因为这些特征是大部分是供应商专用的。另外,在一 些传统环境中,SMI-S是高度标准化的模型,为了完整地汇集描述某些类(例 如存储卷和物理盘驱动器)的实例的所有数据要求大量的单独的查询调用, 这可能(通常会)导致客户侧的性能问题。因而,在一些实施例中,此处所 描述的方法和系统的实现改善了性能。

现参考图5B,流程图描述了方法509的实施例,其中存储传送管理服务 210(其也可以被称为虚拟存储管理器服务)请求由存储适配器234提供的 数据。一个实施例中,接口对象218接收对与存储系统232关联的数据的请 求的响应,所述响应为供应商专用格式,并且访问接口转换文件以便将数据 转换为通用格式。又一个实施例中,用户将证书传输到虚拟存储管理器服务 210(501);例如用户可以向虚拟存储管理器服务210传输如下证书:“vsm> storage-credential-add name=sysl module=ACME ipaddress=10.10.10.10 username=admin password=pw”。在又一个实施例中,虚拟存储管理器服务 210将所传输的证书存储在数据库中并响应于接收证书,执行请求列举存储 系统相关信息的功能(503);例如,虚拟存储管理器服务210可在以模块名 “ACME”注册的存储适配器234上用所传输的证书执行功能(例如,被称为 “enumerateStorageSystems()”的功能)。在又一个实施例中,存储适配器 234使用所存储的证书来执行收集存储系统相关信息的命令(例如,调用供 应商专用的管理API)(505)。在又一个实施例中,举例来说,对于存储系统 对象的一种类型的存储系统相关信息是其标识符。在又一个实施例中,该标 识符是使用存储系统的供应商标识符、型号标识符和序列号形成的。在这个 例子中,对于(假设的)Acme公司A 300型号的存储系统,供应商和型号部分 可以为ACME_A300_。在又一个实施例中,序列号的例子可以是 “ABCDEF12345”,进而产生的存储系统ID为ACME_A300_ABCDEF12345。在又 一个实施例中,将非字母数字字符转换为十六进制的字符。一个实施例中, 供应商提供XML代码来描述其存储适配器的SCSI装置ID处理器(SCSI  device ID Processor)。在又一个实施例中,采用XML代码来以通用的跨供 应商的格式表示的标识符对标识符的请求进行响应。在又一个实施例中,虚 拟存储管理器服务210接收所请求的信息(507)。

现参考图5C,框图描述了接口转换文件的一部分的一个实施例。在一个 实施例中,接口转换文件512提供将存储装置的标识标准化为通用格式(被 称为存储节点标识符,其包含所请求的信息)的方式。如图5B所描述的,在 一个实施例中,应用通用的格式化风格;例如该格式用双下划线或其他分隔 符来划分数据

(VENDOR_MODEL_STORAGE-SYSTEM-SERIAL-NUMBER_STORAGE-DEVICE-IDE NTIFER)。

下面是除了支持大范围的有限长度的友好名称外,还具有相对较少的非 缺省选项的接口转换文件的一个实施例的又一个例子。

下面是包括多个可配置选项的接口转换文件的一个实施例的例子:

下面是在配置XML中包括最小值的接口转换文件的一个实施例的例子。 在一些实施例中,可假设该供应商依赖于SMI-S标准而没有其他增强:

在一些实施例中,SCSI装置ID的产生是通过从在主机找到的所有LUN 收集=SCSI的查询页面信息来完成的,然后对其进行处理以便为每个节点创 建VSM Stroage Node标识符。对于每个存储系统,用于形成Stroage Node 标识符的信息的位置是指定的且唯一的,因此,在这些实施例的一个中,每 个供应商指定如何创建一个Stroage Node标识符。在这些实施例的另一个 中,供应商可在XML中将该信息指定为“SCSI Device ID Processor”,而不 是将其硬编码到VSM服务中。下面是用于不同硬件供应商的不同存储系统的 SCSI ID处理器的一些例子:

在一个实施例中,InquiryMatch(查询匹配)信息用于确定在STD  INQUIRY(查询)页面中具有VENDOR和PRODUCT字符串的给定的LUN是否与 SCSI ID处理器相匹配。如果匹配,那么VendorID和Product ID下的值用于 形成Storage Node ID的前半部分。又一个实施例中,Enclosure ID标签中 的信息用于从所指示的SCSI VDP页面提取信息以形成Storage Node ID的 Enclosure ID部分。又一个实施例中,提取装置ID(device ID)。又一个 实施例中,最终的存储节点id可采用这样的形 式:VENDORID_PRODUCTID_ENCLOSUREID_DEVICEID。一些实施例中,这将匹配 由存储系统接口对象234产生(参见emumerateStorageNode, getStroageNodeInfo)的或者在用于基于SMI-S的集成的接口转换XML文件 中指定的Storage Node ID形式。

现参考图5D,框图描述了识别与存储系统(storage system)关联的且 可用于由存储传送管理系统210检索的数据的数据模型的一个实施例。一个 实施例中,与存储系统关联的数据包括但不限于,标识符、别名、序列号、 供应商名称或标识符、型号标识符、至少一个能力的标识和可用功能的标识。 又一个实施例中,与存储系统关联的数据包括与该存储系统中存储节点关联 的数据,其包括但不限于,节点标识符、系统标识符、别名、序列号、状态、 访问控制列表、节点类型、节点大小、节点上已使用的空间、节点上可用的 空间、与冗余特性相关联的信息、组标识符和可用功能的标识符。在又一个 实施例中,与存储系统关联的数据包括与存储池关联的数据,其包括但不限 于,池标识符、系统标识符、别名、父池标识符、池的大小、池中已使用的 空间、池中的可用空间、与冗余特性相关的信息、与可用的供应功能的类型 关联的信息、缺省配置数据和状态数据。

现参考图5E,流程图描述了用于在云计算环境中提供对从存储系统检索 的数据的转换的又一个方法的又一个实施例。总的来说,方法515包括由接 口对象向存储系统接口对象查询由存储系统提供的资源的列举(520)。该方 法包括由接口对象接收至少一个所列举资源的以专用格式表示的标识 (522)。该方法包括由接口对象访问接口转换文件以便将该标识转换为以标 准格式表示的标识,所述接口转换文件将多个专用格式的每一个映射到标准 格式(524)。该方法包括由接口对象接收对至少一个所列举资源的标识的请 求(526)。该方法包括由接口对象用标识的转换来对该请求进行响应(528)。

现参考图5E,更具体地,接口对象218向存储系统接口对象234查询由 存储系统提供的资源的列举(520)。一些实施例中,接口对象218进行发现 过程以在存储传送管理服务210请求之前形成可用资源的列举。其他实施例 中,接口对象218响应于存储传送管理服务210的请求来进行发现过程。

一些实施例中,存储发现方法允许存储传送管理服务210发现关于存储 系统、池、卷、目标端口的信息以及执行与存储系统232操作的所需的其他 信息。在这些实施例的一个中,在由管理员为存储适配器234提供可用登录 证书的情况下,可被称为enumerateStorageSystems的方法允许存储传送管 理服务210识别可管理哪个存储系统。在该实施例中,当已经发现至少一个 存储系统232时,用户可执行利用存储系统232的操作。在该实施例中,当 已经发现存储系统232,存储传送管理服务210经由其他列举调用(例如, 可被称为但不限于enumerateStoragePools调用或enumerateStorageNodes 调用)来继续发现关于至少一个存储系统232的其他细节。

在这些实施例的另一个中,可被称为getStroageSystemInfo的存储发 现方法请求关于指定的系统232的信息,而不是在给定的一组管理证书下的 所有可用系统的信息。在这些实施例的另一个中,给定的管理证书(IP地址、 用户名、密码)一对一映射到单个存储系统。在这样的实施例中,这两个API 可以是大体上相似的,即允许用户用诸如“return  enumerateStorageSystems(cred);”的调用来实现该方法。其他实施例中, 给定的证书提供对管理设备的访问,通过该管理设备可以管理多个存储系统 232。任何一种情况下,该方法返回对于由storageSystemId输入参数识别 的指定的存储系统232的存储系统信息。

一些实施例中,存储节点也可以被称为(例如在SMI-S模型中)Stroage  Volume(存储卷)或Virtual Disk(虚拟盘)或LUN。其他实施例中,使用 术语Storage Node(存储节点),并且也可涉及其他的Storage Node类型(例 如NAS存储)。其他实施例中,可交换地使用术语存储接口和存储卷。其他 实施例中,可被称为enumerateStorageNodes的发现方法返回存储系统232 中可公开的存储节点的列表;这可包括已经被分配给主机的存储节点。进一 步的实施例中,可被称为getStorageNodelnfo的发现方法提供与特定存储 节点关联的信息。

一些实施例中,存储池是可从其创建存储节点(其也可被称为Storage  Volume)的存储的池。对于存储池的通用的供应商名称包括类似RAID Group、 Volume Group和Disk Group的名称。在这些实施例的一个中,Storage Pool (存储池)是可从其创建Stroage Volume的逻辑实体。在这些实施例的另 一个中,存储系统具有带有与其关联的RAID类型的Storage Pool;其他系 统具有当创建存储节点时管理员可选择的一组RAID类型。在这些实施例的 另一个中,例如可被称为enumerateStoragePools的方法提供可用存储池的 列举。在这些实施例的另一个中,可被称为getStoragePoolInfo的方法提 供与特定存储池关联的信息。

一些实施例中,可被称为enumeratelnitiatorPorts的存储发现方法提 供登录存储系统232的启动器的列表。其他实施例中,可被称为 enumerateTargetPorts的发现方法返回存储系统232中前端端口(FC和 iSCSI)的列表;前端端口可以是用于向主机公开存储的端口。

一些实施例中,术语‘storage assignment’指LUN屏蔽和映射。供应商 可实现多个方法来对LUN屏蔽进行支持,所述方法包括但不限于,列举存储 分配,检索对于特定系统的存储分配信息,给一个或多个主机启动器端口分 配对存储节点的访问、或不给一个或多个主机启动器端口分配对存储节点的 访问的方法(这些方法可以分别被称为,例如,但不限于 enumerateStorageAssignments,getStorageAssignmentlnfo, assignStorage和unassignStorage)。在这些实施例的另一个中,被传递 给assignStorage调用的主机启动器端口的列表是在同一主机内驻留的一组 主机启动器端口。在这些实施例的另一个中,LUN屏蔽的结果可以是经由一 个或多个存储系统目的端口(前端端口)向一个或多个主机启动器(HBA) 端口分配对一个或多个Storage Node的访问。其他实施例中,提供用于产 生虚拟存储资源快照的方法。其他实施例中,提供用于克隆已有存储资源的 方法。

接口对象218接收至少一个所列举资源的以专用格式表示的标识(522)。 正如图5A有关的上文所描述的,来自存储系统接口对象234的响应可能是 供应商专用格式的,不论是否是与标准或规范兼容的供应商。

接口对象218访问接口转换文件来将该标识转换为以标准格式表示的标 识,所述接口转换文件将多个专用格式的每一个映射到标准格式(524)。如 上所述,在附录A中,接口对象218使用接口转换文件来识别在供应商专用 的响应中的数据并产生采用该数据的通用标准格式的标识。

接口对象218接收对至少一个所列举资源的标识的请求(526)。在一个 实施例中,接口对象218从存储系统通信组件214接收该请求。在又一个实 施例中,接口对象218从存储传送管理服务210接收该请求。

接口对象218使用经转换的标识来对该请求进行响应(528)。一个实施 例中,接口对象218将经转换的标识传输到正在请求的实体。又一个实施例 中,接口对象218从缓存、数据库或其他存储单元检索经转换的标识并将所 检索的经转换的标识传输到请求者。

一些实施例中,此处所描述的方法和系统的实现提供统一的管理接口用 于将存储区域网络配置为提供由其他网络上的计算装置访问的虚拟存储资 源。在这些实施例的一个中,云计算环境中的系统可包括遍布全球的多个虚 拟计算环境。在这些实施例中,通过使用此处所描述的方法和系统,将存储 系统提供者的顾客从不得不忙于伴随虚拟计算环境的管理的管理任务中脱 离出来。在这些实施例中,由集中的管理服务处理管理任务,管理成为虚拟 化的,这减轻了顾客的管理负担。这些实施例允许云计算环境的用户请求供 应而不必亲自考虑执行请求的管理细节。通过将顾客从管理虚拟计算环境的 管理任务中解脱出来,例如集中的、自动的虚拟存储管理服务使顾客专注于 供应和管理其提供给自己的用户服务和客户的服务,例如对应用、虚拟机和 其他资源的访问。

下面图示的例子展示了此处所描述的方法和系统如何用于在云计算环 境中由存储传送管理服务自动供应虚拟机。这些例子旨在示意但不限制本发 明。

例1

一个实施例中,存储传送管理系统210经由web服务接口接收来自代表 主计算装置100b的代理计算机100a的供应虚拟存储资源240(例如虚拟盘) 的请求。又一个实施例中,主计算装置通信组件212接收该请求。又一个实 施例中,供应虚拟存储资源240的请求可以作为用于供应在主计算装置100b 上执行的虚拟机106的过程的一部分而出现。在一些实施例中,虚拟存储资 源240是虚拟盘。然而,应该理解虚拟存储资源240可以是任何虚拟化的资 源,包括与图1A相关的上文所描述的任何资源。

在一个实施例中,存储传送管理服务210将供应虚拟存储资源240的请 求传输到存储系统通信组件214。又一个实施例中,存储系统通信组件214 与存储系统适配器234通信以识别可用的提供供应所请求的虚拟存储资源所 需的资源的存储系统232。在又一个实施例中,存储系统通信组件214将所 识别的存储系统232的标识传输到存储传送管理服务210。在又一个实施例 中,存储系统通信组件214将所供应的虚拟存储资源240的标识传输到存储 传送管理服务210。又一个实施例中,存储传送管理服务210将存储系统232 的标识存储在对代理计算机100a可访问的数据库中。一些实施例中,存储 系统通信组件214与存储系统适配器234根据WBEM或其他存储协议进行通 信。其他实施例中,存储系统通信组件214从存储适配器234请求与存储系 统232关联的CIM OM数据或SMI-S数据。

在一个实施例中,代理计算机100a从主计算装置通信组件212接收存 储系统232的标识。在又一个实施例中,代理计算机100a从可用存储系统 的数据库检索存储系统232的标识。又一个实施例中,代理计算机100a确 认存储系统232能够提供所请求虚拟存储资源。又一个实施例中,代理计算 机100a向主计算装置100b传输存储系统232的标识。

在一个实施例中,主计算装置100b向主计算装置通信组件212传输访 问对虚拟存储资源240访问的请求。又一个实施例中,主计算装置100b向 主计算装置通信组件212传输对虚拟存储资源240的标识的请求。又一个实 施例中,主计算装置通信组件212向主计算装置100b传输虚拟存储资源240 的标识。

一个实施例中,主计算装置通信组件212向主计算装置100b传输从交 换结构220请求该主计算装置100b被授权与其通信的存储系统232的列举 的指令。又一个实施例中,主计算装置100b从交换结构220的组件接收该 主计算装置100b被授权与其通信的存储系统232的列举。在又一个实施例 中,主计算装置100b跨越交换结构220与存储系统232通信以访问虚拟存 储资源240。

一个实施例中,主计算装置通信组件212从代理计算机100a接收将虚 拟机106b从主计算装置100b迁移到主计算装置100c的请求。又一个实施 例中,主计算装置通信组件212从代理计算机100a接收正在将虚拟机160b 从主计算装置100b向主计算装置100c迁移的通知。又一个实施例中,主计 算装置100b向代理计算机100a和存储传送管理服务210的至少一个传输将 虚拟机106迁移到第二主计算装置100b的请求。在又一个实施例中,主计 算装置通信组件212从在代理计算机100a、主计算装置100b和第三主计算 装置100d的至少一个上执行的控制操作系统105a接收迁移虚拟机的请求, 所述第三主计算装置100d提供对于主计算装置在其上驻留的网络38的管理 功能。又一个实施例中,主计算装置通信组件212接收给第二物理计算装置 100c分配对虚拟存储资源240的访问的请求。一些实施例中,存储传送管理 服务210接收该请求,因为如果没有对虚拟存储资源240的访问,向主计算 装置100c迁移虚拟机106b可能出现意外的终止。其他实施例中,在收到迁 移的请求或指示后,存储传送管理服务210与存储区域网络和交换结构220 中的组件通信,所述组件需要改变对虚拟资源240的访问设置以使得第二计 算装置可以访问虚拟存储资源240。

一个实施例中,通过执行主计算装置通信组件212和存储系统通信组件 214,存储传送管理服务210将对虚拟存储资源的访问无缝地从第一计算装 置转换到第二计算装置。又一个实施例中,通过执行结构管理组件216,存 储传送管理服务210将交换结构220配置为允许由执行需要访问虚拟存储资 源的虚拟机的物理计算装置对虚拟存储资源240的访问。又一个实施例中, 通过提供用于自动更新访问控制列表的功能以及传输使存储系统232和第二 计算会话设备建立通信会话和给虚拟机提供对虚拟资源的访问的所需的标 识符,存储传送管理服务210提供对在云计算环境中供应和重新供应虚拟资 源提供自动的、综合的支持。

应该理解,此处描述的系统可提供这些组件的任意多个或每一个并且这 些组件可以在单独机器上提供,或者在一些实施例中,可在分布式系统的多 个机器上提供。可以使用编程和/工程技术将上文所描述的系统和方法实现 为方法、装置或产品以提供软件、固件、硬件或上述的任何组合。此外,上 述系统和方法可作为一件或多件产品上所体现的或在其中的一个或多个计 算机可读程序而被提供。此处使用的术语“产品”旨在包括从一个或多个计 算机可读的装置、固件、可编程逻辑、存储器装置(例如,EEPROM、ROM、 PROM、RAM、SRAM等)、硬件(例如,集成电路芯片、现场可编程门阵列(FPGA)、 专用集成电路(ASIC)等)、电子装置、计算机可读的非易失存储单元(例 如,CD-ROM、软盘、硬盘等)可访问的或嵌入其中的代码或逻辑。所述产品 可以从经由网络传输线、无线传输介质、通过空间传播的信号、无线电波、 红外信号等提供对计算机可读程序的访问的文件服务器进行访问。所述产品 可以是闪存卡或磁带。所述产品包括硬件逻辑以及嵌入在计算机可读介质中 由处理器执行的软件或可编程代码。通常,计算机可读程序可以任何编程语 言来实现,如LISP、PERL、C、C++、C#、PROLOG,或者诸如JAVA的任何字 节码语言。软件程序可以作为目标代码被存储在一件或多件产品上或其中。

已经描述了用于在云计算环境中自动管理虚拟资源的方法和系统的某 些实施例,对本领域技术人员而言,显而易见可以使用包含所述实施例的概 念的其他实施例。本发明应该不限于某些实施例,而是应由下列权利要求的 精神和范围进行限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号