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

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

Info

Publication number
CN102292698B
CN102292698B CN201080005003.4A CN201080005003A CN102292698B CN 102292698 B CN102292698 B CN 102292698B CN 201080005003 A CN201080005003 A CN 201080005003A CN 102292698 B CN102292698 B CN 102292698B
Authority
CN
China
Prior art keywords
calculation element
storage
storage system
virtual
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080005003.4A
Other languages
English (en)
Other versions
CN102292698A (zh
Inventor
S·M·尤姆伯豪克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN102292698A publication Critical patent/CN102292698A/zh
Application granted granted Critical
Publication of CN102292698B publication Critical patent/CN102292698B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/645Fibre channel identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Abstract

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

Description

用于在云计算环境中自动管理虚拟资源的系统和方法
相关申请
本申请要求2009年2月4日提交的、标题为“Methods and Systems forAnalyzing Data Retrieved from Storage System in a Cloud ComputingEnvironment”的美国临时专利申请序列号61/149,812,和2009年2月4日提交的、标题为“Methods and Systems for Automated Provisioning ofVirtual 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是由位于美国佛罗里达州FortLauderdale的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的InternationalBusiness 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 LakeCity的Caldera公司发布的可免费使用的Linux操作系统或者任意类型和/或形式的Unix操作系统,以及其它。
计算机系统100可以是任意工作站、电话、台式计算机、膝上型或笔记本电脑、服务器、掌上电脑、移动电话或其他便携电信设备、媒体播放设备、游戏系统、移动计算装置,或能够通信的任意其它类型和/或形式的计算、电信或者媒体装置。计算机系统100有足够的处理器能力和存储容量以执行此处所述的操作。例如,计算机系统100可包括由位于美国加利福尼亚州Cupertino的苹果计算机公司出品的IPOD系列设备、由位于日本Tokyo的索尼公司出品的PLAYSTATION2、PLAYSTATION3或PERSONAL PLAYSTATIONPORTABLE(PSP)设备,由位于日本Kyoto的Nintendo有限公司出品的NINTENDO DS、NINTENDO GAMEBOY、NINTENDO GAMEBOY ADVANCED或NINTENDOREVOLUTION设备,或者由位于美国华盛顿州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 MobileCommunications 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 ElectronicsAmerica公司制造的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 InMotion有限公司制造的黑莓设备。又一个实施例中,计算装置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的CitrixApplication Networking Group、位于美国加州Mountain View的SilverPeak 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公司的CITRIXACCESS SUITE的任一部分(例如METAFRAM或CITRIX PRESENTATION SERVER),和/或微软公司开发的MICROSOFT WINDOWS终端服务中的任意一个。在又一个实施例中,该应用是由位于美国佛罗里达州Fort Lauderdale的CitrixSystems公司开发的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的NexSanTechnologies公司、位于美国加州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标准位置。在这些实施例的另一个中,此处所描述的优化特征是可选的。
其他实施例中,由接口转换文件(其可被称为供应商选项文件(vendoroptions 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”和“AcmeSystems”,但不匹配“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“StroageSystem 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模块可能将来自“ConsolidatedExcelsior Incorporated”公司的存储系统的ssid字符串创建为类似“CONEX_SYSTEM_123SerialNumber456”。其他实施例中,对供应商指定VSMSSID Token的可能的其他选择包括但不限于:供应商提供他们自己的XML选项文件,排除VSM供应商/型号记号字符串并将该文件提交给VSM模块210;由VSM模块210根据注册数据单独地读取供应商的XML选项文件;VSM模块210保持(和更新,当供应商提交他们的文件时)主XML文件以协调用于所有供应商的选项,以及定义/建立某些内部选项,例如对于供应商的VSMssid记号。进一步的实施例中,如果<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-SStroage Volume属性的名称,其可使VSM避免额外的消耗。
一些实施例中,由VSM用来产生VSM“node ID”(节点ID)的缺省SMI-SStorageVolume属性是“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对象,并不只是为了StroageVolume的基于主机的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”,那么类名为″AcmeLunMaskingProtocolController″的SPC对象将相匹配,而类名″AcmeBackendProtocolController″不相匹配。
一个实施例中,由VSM模块210用来产生用于池的VSM友好名称(例如由VSM用户接口使用的显示器名称)的缺省SMI-S StroagePool(存储池)属性是“ElementName”。在又一个实施例中,如果对于该目的不同的StroagePool属性包含不同的数据(例如“PoolID(池ID)”),那么VSM VendorOption标签(其可被称为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、InitiatorPort(启动器端口)、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.10username=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处理器(SCSIdevice ID Processor)。在又一个实施例中,采用XML代码来以通用的跨供应商的格式表示的标识符对标识符的请求进行响应。在又一个实施例中,虚拟存储管理器服务210接收所请求的信息(507)。
现参考图5C,框图描述了接口转换文件的一部分的一个实施例。在一个实施例中,接口转换文件512提供将存储装置的标识标准化为通用格式(被称为存储节点标识符,其包含所请求的信息)的方式。如图5B所描述的,在一个实施例中,应用通用的格式化风格;例如该格式用双下划线或其他分隔符来划分数据
(VENDOR_MODEL_STORAGE-SYSTEM-SERIAL-NUMBER_STORAGE-DEVICE-IDENTIFER)。
下面是除了支持大范围的有限长度的友好名称外,还具有相对较少的非缺省选项的接口转换文件的一个实施例的又一个例子。
下面是包括多个可配置选项的接口转换文件的一个实施例的例子:
下面是在配置XML中包括最小值的接口转换文件的一个实施例的例子。在一些实施例中,可假设该供应商依赖于SMI-S标准而没有其他增强:
在一些实施例中,SCSI装置ID的产生是通过从在主机找到的所有LUN收集=SCSI的查询页面信息来完成的,然后对其进行处理以便为每个节点创建VSM Stroage Node标识符。对于每个存储系统,用于形成Stroage Node标识符的信息的位置是指定的且唯一的,因此,在这些实施例的一个中,每个供应商指定如何创建一个Stroage Node标识符。在这些实施例的另一个中,供应商可在XML中将该信息指定为“SCSI Device ID Processor”,而不是将其硬编码到VSM服务中。下面是用于不同硬件供应商的不同存储系统的SCSI ID处理器的一些例子:
在一个实施例中,InquiryMatch(查询匹配)信息用于确定在STDINQUIRY(查询)页面中具有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可以是大体上相似的,即允许用户用诸如“returnenumerateStorageSystems(cred);”的调用来实现该方法。其他实施例中,给定的证书提供对管理设备的访问,通过该管理设备可以管理多个存储系统232。任何一种情况下,该方法返回对于由storageSystemId输入参数识别的指定的存储系统232的存储系统信息。
一些实施例中,存储节点也可以被称为(例如在SMI-S模型中)StroageVolume(存储卷)或Virtual Disk(虚拟盘)或LUN。其他实施例中,使用术语Storage Node(存储节点),并且也可涉及其他的Storage Node类型(例如NAS存储)。其他实施例中,可交换地使用术语存储接口和存储卷。其他实施例中,可被称为enumerateStorageNodes的发现方法返回存储系统232中可公开的存储节点的列表;这可包括已经被分配给主机的存储节点。进一步的实施例中,可被称为getStorageNodelnfo的发现方法提供与特定存储节点关联的信息。
一些实施例中,存储池是可从其创建存储节点(其也可被称为StorageVolume)的存储的池。对于存储池的通用的供应商名称包括类似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的任何字节码语言。软件程序可以作为目标代码被存储在一件或多件产品上或其中。
已经描述了用于在云计算环境中自动管理虚拟资源的方法和系统的某些实施例,对本领域技术人员而言,显而易见可以使用包含所述实施例的概念的其他实施例。本发明应该不限于某些实施例,而是应由下列权利要求的精神和范围进行限制。

Claims (28)

1.一种用于在云计算环境中自动管理虚拟资源的方法,所述方法包括:
由存储传送管理服务为在包含至少一个网络端口的第一计算装置上执行的虚拟机引导存储区域网络中的存储系统的虚拟存储资源的供应;
由存储传送管理服务向存储系统传输第一计算装置上至少一个网络端口的标识以便与虚拟存储资源相关联;
由存储传送管理服务向第一计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令;
由存储传送管理服务接收正在从第一计算装置向第二计算装置迁移虚拟机的指示;
由存储传送管理服务向存储系统传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源相关联;以及
由存储传送管理服务向第二计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令。
2.根据权利要求1所述的方法,还包括由存储传送管理服务接收为包括至少一个网络端口的第一计算装置克隆虚拟存储资源的请求。
3.根据权利要求1所述的方法,还包括:
由存储传送管理服务在向第一计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令的同时,向第二计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令。
4.根据权利要求1所述的方法,还包括:
由存储传送管理服务接收第三计算装置的标识;
由存储传送管理服务向第三计算装置传输检索所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的指令。
5.根据权利要求1所述的方法,还包括由存储传送管理服务接收为包括至少一个网络端口的第一计算装置供应虚拟存储资源的请求。
6.根据权利要求1所述的方法,还包括由存储传送管理服务识别存储区域网络中的存储系统,所述存储系统提供用于供应虚拟存储资源的资源。
7.根据权利要求1所述的方法,还包括由第一计算装置建立到所识别的存储系统上至少一个端口的连接。
8.根据权利要求1所述的方法,还包括由存储传送管理服务在交换结构的至少一个交换机上产生访问控制列表,所述访问控制列表包括存储系统上至少一个网络端口的标识和第一计算装置上至少一个网络端口的标识。
9.根据权利要求8所述的方法,还包括由所述至少一个交换机建立在所识别的第一计算装置上至少一个网络端口和所识别的存储系统上至少一个网络端口之间的连接。
10.根据权利要求8所述的方法,还包括由存储传送管理服务向所述至少一个交换机传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源相关联。
11.根据权利要求1所述的方法,还包括由存储传送管理服务从寄载虚拟机的第一计算装置接收供应虚拟存储资源的请求。
12.根据权利要求1所述的方法,还包括由存储传送管理服务从代理计算装置接收代表包括至少一个网络端口的第一计算装置的请求。
13.根据权利要求1所述的方法,还包括由第一计算装置从存储传送管理服务接收供应虚拟存储资源的存储系统的标识。
14.根据权利要求1所述的方法,还包括由第一计算装置向在所述第一计算装置上执行的虚拟机提供对所供应的虚拟存储资源的访问。
15.根据权利要求1所述的方法,还包括:
由存储传送管理服务给虚拟主总线适配器分配唯一标识符;
由存储传送管理服务向第一计算装置传输虚拟主总线适配器的唯一标识符;以及
由存储传送管理服务向存储系统传输虚拟主总线适配器的唯一标识符。
16.根据权利要求15所述的方法,还包括由存储系统向所述虚拟主总线适配器提供对所供应的虚拟存储资源的访问。
17.一种用于在云计算环境中自动管理虚拟资源的系统,所述系统包括:
用于由存储传送管理服务为在包含至少一个网络端口的第一计算装置上执行的虚拟机引导存储区域网络中的存储系统的虚拟存储资源的供应的装置;
用于由存储传送管理服务向存储系统传输第一计算装置上至少一个网络端口的标识以便与虚拟存储资源相关联的装置;
用于由存储传送管理服务向第一计算装置传输所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的装置;
用于由存储传送管理服务接收正在从第一计算装置向第二计算装置迁移虚拟机的指示的装置;
用于由存储传送管理服务向存储系统传输第二计算装置上至少一个网络端口的标识以便与虚拟存储资源相关联的装置;以及
用于由存储传送管理服务向第二计算装置传输所供应的虚拟存储资源的标识和存储系统上至少一个网络端口的标识的装置。
18.根据权利要求17所述的系统,还包括用于由存储传送管理服务接收为包括至少一个网络端口的第一计算装置供应虚拟存储资源的请求的装置。
19.根据权利要求17所述的系统,还包括用于由存储传送管理服务识别存储区域网络中的存储系统的装置,所述存储系统提供用于供应虚拟存储资源的资源。
20.根据权利要求17所述的系统,还包括用于由第一计算装置和第二计算装置的至少一个建立到所识别的存储系统上至少一个网络端口的连接的装置。
21.根据权利要求17所述的系统,还包括用于由存储传送管理服务在交换结构中至少一个交换机上产生访问控制列表的装置,所述访问控制列表包括存储系统的至少一个网络端口的标识与第一计算装置上至少一个网络端口的标识和第二计算装置上至少一个网络端口的标识中的至少一个。
22.根据权利要求21所述的系统,还包括用于由至少一个交换机建立在所识别的存储系统的至少一个网络端口与所识别的第一计算装置上至少一个网络端口和第二计算装置上至少一个网络端口的标识的至少一个之间的连接的装置。
23.根据权利要求17所述的系统,还包括用于由存储传送管理服务从寄载虚拟机的计算装置接收供应虚拟存储资源的请求的装置。
24.根据权利要求17所述的系统,还包括用于由存储传送管理服务从代理计算装置接收代表包括至少一个网络端口的第一计算装置的请求的装置。
25.根据权利要求17所述的系统,还包括用于由第一计算装置从存储传送管理服务接收供应虚拟存储单元的存储系统的标识的装置。
26.根据权利要求17所述的系统,还包括由第一计算装置向在所述第一计算装置上执行的虚拟机提供对所供应的虚拟存储资源的访问的装置。
27.根据权利要求17所述的系统,还包括:
用于由存储传送管理服务给虚拟主总线适配器分配唯一标识符的装置;
用于由存储传送管理服务向第一计算装置传输虚拟主总线适配器的唯一标识符的装置;以及
用于由存储传送管理服务向存储系统传输虚拟主总线适配器的唯一标识符的装置。
28.根据权利要求27所述的系统,还包括用于由存储系统向所述虚拟主总线适配器提供对所供应的虚拟存储资源的访问的装置。
CN201080005003.4A 2009-02-04 2010-01-26 用于在云计算环境中自动管理虚拟资源的系统和方法 Expired - Fee Related CN102292698B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14981209P 2009-02-04 2009-02-04
US14978109P 2009-02-04 2009-02-04
US61/149812 2009-02-04
US61/149781 2009-02-04
PCT/US2010/022032 WO2010090899A1 (en) 2009-02-04 2010-01-26 Methods and systems for automated management of virtual resources in a cloud computing environment

Publications (2)

Publication Number Publication Date
CN102292698A CN102292698A (zh) 2011-12-21
CN102292698B true CN102292698B (zh) 2015-01-07

Family

ID=41820735

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201080005006.8A Expired - Fee Related CN102292699B (zh) 2009-02-04 2010-01-22 用于在云计算环境中提供对从存储系统检索的数据的转换的系统和方法
CN201080005003.4A Expired - Fee Related CN102292698B (zh) 2009-02-04 2010-01-26 用于在云计算环境中自动管理虚拟资源的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201080005006.8A Expired - Fee Related CN102292699B (zh) 2009-02-04 2010-01-22 用于在云计算环境中提供对从存储系统检索的数据的转换的系统和方法

Country Status (4)

Country Link
US (4) US9344401B2 (zh)
EP (2) EP2394212B1 (zh)
CN (2) CN102292699B (zh)
WO (2) WO2010090883A1 (zh)

Families Citing this family (424)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US8818496B2 (en) 2005-10-14 2014-08-26 Medicalgorithmics Ltd. Systems for safe and remote outpatient ECG monitoring
US20080104022A1 (en) 2006-10-31 2008-05-01 Bank Of America Corporation Document indexing and delivery system
US7856489B2 (en) * 2007-05-24 2010-12-21 Hewlett-Packard Development Company, L.P. Simplify server replacement
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US9116734B1 (en) * 2011-01-14 2015-08-25 Dispersive Networks Inc. Dispersive storage area networks
US8260928B2 (en) * 2008-05-05 2012-09-04 Siemens Industry, Inc. Methods to optimally allocating the computer server load based on the suitability of environmental conditions
US8484355B1 (en) 2008-05-20 2013-07-09 Verizon Patent And Licensing Inc. System and method for customer provisioning in a utility computing platform
US8473615B1 (en) 2008-05-20 2013-06-25 Verizon Patent And Licensing Inc. System and method for customer provisioning in a utility computing platform
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
EP2316071A4 (en) 2008-06-19 2011-08-17 Servicemesh Inc CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM
US8271974B2 (en) 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US8660193B2 (en) * 2009-01-12 2014-02-25 Maxim Integrated Products, Inc. Parallel, pipelined, integrated-circuit implementation of a computational engine
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US9207984B2 (en) * 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US8359386B2 (en) * 2009-04-16 2013-01-22 Dell Products, Lp System and method of migrating virtualized environments
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
US20110047381A1 (en) * 2009-08-21 2011-02-24 Board Of Regents, The University Of Texas System Safemashups cloud trust broker
US8060560B2 (en) 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing
US8271653B2 (en) * 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8370307B2 (en) 2009-09-01 2013-02-05 Empire Technology Development Llc Cloud data backup storage manager
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8073942B2 (en) * 2009-10-20 2011-12-06 Dell Products, Lp System and method for storage discovery in a storage area network using device domains under control of a storage device
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
US10133485B2 (en) * 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
KR101272612B1 (ko) * 2009-12-01 2013-06-10 한국전자통신연구원 공유 메모리 통신 환경에서의 통신 채널 전환 방법 및 장치
US20110153751A1 (en) * 2009-12-18 2011-06-23 David Rice Content management systems and methods
US9098320B2 (en) * 2009-12-23 2015-08-04 Savvis Inc. Systems and methods for automatic provisioning of a user designed virtual private data center in a multi-tenant system
US20120054624A1 (en) * 2010-08-27 2012-03-01 Owens Jr Kenneth Robert Systems and methods for a multi-tenant system providing virtual data centers in a cloud configuration
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US9009219B2 (en) 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8589475B2 (en) * 2010-01-28 2013-11-19 Hewlett-Packard Development Company, L.P. Modeling a cloud computing system
US9442748B2 (en) 2010-03-17 2016-09-13 Zerto, Ltd. Multi-RPO data protection
US11256529B2 (en) 2010-03-17 2022-02-22 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US10649799B2 (en) 2010-03-17 2020-05-12 Zerto Ltd. Hypervisor virtual server system, and method for providing data services within a hypervisor virtual server system
US9710294B2 (en) 2010-03-17 2017-07-18 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US9389892B2 (en) 2010-03-17 2016-07-12 Zerto Ltd. Multiple points in time disk images for disaster recovery
US20110239039A1 (en) * 2010-03-26 2011-09-29 Dieffenbach Devon C Cloud computing enabled robust initialization and recovery of it services
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US8756338B1 (en) * 2010-04-29 2014-06-17 Netapp, Inc. Storage server with embedded communication agent
JP2011253470A (ja) * 2010-06-04 2011-12-15 Canon Inc クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
EP2583211B1 (en) 2010-06-15 2020-04-15 Oracle International Corporation Virtual computing infrastructure
US10715457B2 (en) 2010-06-15 2020-07-14 Oracle International Corporation Coordination of processes in cloud computing environments
US8504684B1 (en) * 2010-06-23 2013-08-06 Emc Corporation Control of data storage system management application activation
EP2589010A4 (en) * 2010-07-01 2014-04-30 Hewlett Packard Development Co MIGRATION OF ARTIFACTS BETWEEN REFERENTIALS OF ARCHITECTURE ORIENTED SERVICE
US8370899B2 (en) * 2010-08-11 2013-02-05 Emc Corporation Disposable browser for commercial banking
US8627135B2 (en) * 2010-08-14 2014-01-07 Teradata Us, Inc. Management of a distributed computing system through replication of write ahead logs
US8478845B2 (en) 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
US8438299B2 (en) * 2010-08-17 2013-05-07 Computer Associates Think, Inc. Generic data collection plugin and configuration file language for SMI-S based agents
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
CN102143138A (zh) * 2010-09-15 2011-08-03 华为技术有限公司 虚拟机实时迁移过程中vlan的配置方法及装置
GB2497493B (en) 2010-09-16 2017-12-27 Iii Holdings 2 Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US8775626B2 (en) 2010-09-17 2014-07-08 Microsoft Corporation Using templates to configure cloud resources
US8909767B2 (en) * 2010-10-13 2014-12-09 Rackware, Inc. Cloud federation in a cloud computing environment
US8429659B2 (en) 2010-10-19 2013-04-23 International Business Machines Corporation Scheduling jobs within a cloud computing environment
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8800055B2 (en) 2010-10-20 2014-08-05 International Business Machines Corporation Node controller for an endpoint in a cloud computing environment
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US9223624B2 (en) 2010-10-20 2015-12-29 International Business Machines Corporation Processing requests in a cloud computing environment
US8595328B2 (en) 2010-11-03 2013-11-26 International Business Machines Corporation Self-updating node controller for an endpoint in a cloud computing environment
CN102012912B (zh) * 2010-11-19 2012-08-22 清华大学 一种基于云计算环境的非结构化数据的管理方法
US9112733B2 (en) 2010-11-22 2015-08-18 International Business Machines Corporation Managing service level agreements using statistical process control in a networked computing environment
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9210031B1 (en) * 2010-12-09 2015-12-08 Amazon Technologies, Inc. Brokering for application hosting computing resources of multiple vendor-specific provisioned computing environments
CN102541461B (zh) * 2010-12-31 2014-11-19 阿里巴巴集团控股有限公司 远程数据存储的数据读写方法、装置及其系统
CN102591668B (zh) * 2011-01-05 2015-04-08 阿里巴巴集团控股有限公司 对弹性计算云系统升级的装置、方法及系统
US8447894B2 (en) 2011-01-05 2013-05-21 Alibaba Group Holding Limited Upgrading an elastic computing cloud system
US8788815B1 (en) * 2011-01-31 2014-07-22 Gazzang, Inc. System and method for controlling access to decrypted data
US8725680B2 (en) * 2011-02-08 2014-05-13 Microsoft Corporation Media content location awareness and decision making
CN102103518B (zh) * 2011-02-23 2013-11-13 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
WO2012131756A1 (en) * 2011-03-28 2012-10-04 Hitachi, Ltd. Computer system and computer system management method
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
US9100188B2 (en) * 2011-04-18 2015-08-04 Bank Of America Corporation Hardware-based root of trust for cloud environments
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US8793377B2 (en) * 2011-05-03 2014-07-29 International Business Machines Corporation Identifying optimal virtual machine images in a networked computing environment
CN102148715A (zh) * 2011-05-17 2011-08-10 杭州华三通信技术有限公司 虚拟网络配置迁移的方法及设备
US10089093B1 (en) 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US9026814B2 (en) 2011-06-17 2015-05-05 Microsoft Technology Licensing, Llc Power and load management based on contextual information
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
US9191454B2 (en) * 2011-06-27 2015-11-17 Microsoft Technology Licensing, Llc Host enabled management channel
US8843446B2 (en) 2011-07-04 2014-09-23 Zerto Ltd. Methods and apparatus for time-based dynamically adjusted journaling
WO2013005208A1 (en) * 2011-07-04 2013-01-10 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US10791538B1 (en) * 2011-07-06 2020-09-29 BlueStack Systems, Inc. Cloud-based data synchronization
US10983747B2 (en) 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US10976981B2 (en) 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US8990452B2 (en) 2011-07-26 2015-03-24 International Business Machines Corporation Dynamic reduction of stream backpressure
US8959313B2 (en) 2011-07-26 2015-02-17 International Business Machines Corporation Using predictive determinism within a streaming environment
US9148495B2 (en) * 2011-07-26 2015-09-29 International Business Machines Corporation Dynamic runtime choosing of processing communication methods
EP2555140A1 (en) * 2011-08-03 2013-02-06 Alcatel Lucent A method, a system, a server for operating a power grid
US9141785B2 (en) * 2011-08-03 2015-09-22 Cloudbyte, Inc. Techniques for providing tenant based storage security and service level assurance in cloud storage environment
CN102291445A (zh) * 2011-08-04 2011-12-21 上海龙照电子有限公司 一种基于虚拟化资源的云计算管理系统
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US9176214B2 (en) * 2011-08-10 2015-11-03 Microsoft Technology Licensing, Llc Proximity detection for shared computing experiences
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
CN103748556B (zh) 2011-08-30 2018-02-02 惠普发展公司,有限责任合伙企业 与虚拟受信任运行时bios通信
US10318426B1 (en) * 2011-09-27 2019-06-11 EMC IP Holding Company LLC Cloud capable storage platform with computation operating environment for storage and generic applications
CN103036930B (zh) 2011-09-30 2015-06-03 国际商业机器公司 用于管理存储设备的方法和设备
US9075811B2 (en) * 2011-09-30 2015-07-07 Symantec Corporation Cloud information migration systems and methods
US9804864B1 (en) 2011-10-07 2017-10-31 BlueStack Systems, Inc. Method of mapping inputs and system thereof
US10782989B2 (en) * 2016-02-03 2020-09-22 Surcloud Corp. Method and device for virtual machine to access storage device in cloud computing management platform
CN105867843A (zh) * 2016-03-25 2016-08-17 天津书生云科技有限公司 一种数据传输方法及装置
CN105808165B (zh) * 2016-03-03 2019-03-15 天津书生云科技有限公司 在云计算管理平台中虚拟机访问存储设备的方法和装置
CN102355502B (zh) * 2011-10-13 2015-02-04 罗立群 存储系统远程接入桌面操作系统的远程接入方法
US9092594B2 (en) 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
US8887160B2 (en) * 2011-11-21 2014-11-11 Hewlett-Packard Development Company, L.P. Mapping tasks to execution threads
US9514507B2 (en) 2011-11-29 2016-12-06 Citrix Systems, Inc. Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
CN103139167B (zh) * 2011-11-30 2017-12-12 温州大学 一种虚拟站点迁移时关联虚拟站点的方法和装置
US8977735B2 (en) * 2011-12-12 2015-03-10 Rackspace Us, Inc. Providing a database as a service in a multi-tenant environment
US11290912B2 (en) * 2011-12-14 2022-03-29 Seven Networks, Llc Mobile device configured for operating in a power save mode and a traffic optimization mode and related method
US8725798B2 (en) 2011-12-15 2014-05-13 Microsoft Corporation Provisioning high performance computing clusters
US8255538B1 (en) * 2011-12-23 2012-08-28 Cirrus Data Solutions, Inc. Systems and methods for intercepting data relating to storage volume access
US9077752B2 (en) 2011-12-23 2015-07-07 Cirrus Data Solutions, Inc. Systems, apparatus, and methods for identifying stored data that may be accessed by a host entity and providing data management services
US9495113B2 (en) 2011-12-23 2016-11-15 Cirrus Data Solutions, Inc. Systems, devices, apparatus, and methods for identifying stored data by a device located in a path between virtual Fibre channel switches and performing a data management service
CN103186422A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 云端伺服系统及虚拟机的操作系统等价迁移方法
CN103746823A (zh) * 2011-12-31 2014-04-23 华茂云天科技(北京)有限公司 资源管理与运营系统
CN103200020B (zh) * 2012-01-04 2016-06-01 中兴通讯股份有限公司 一种资源部署方法和系统
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US8904008B2 (en) 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9405553B2 (en) 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US8832037B2 (en) 2012-02-07 2014-09-09 Zerto Ltd. Adaptive quiesce for efficient cross-host consistent CDP checkpoints
EP2812809A4 (en) 2012-02-10 2016-05-25 Oracle Int Corp FRAMEWORK FOR CLOUD COMPUTING SERVICES
US9244828B2 (en) * 2012-02-15 2016-01-26 Advanced Micro Devices, Inc. Allocating memory and using the allocated memory in a workgroup in a dispatched data parallel kernel
US8839447B2 (en) 2012-02-27 2014-09-16 Ca, Inc. System and method for virtual image security in a cloud environment
US8954964B2 (en) 2012-02-27 2015-02-10 Ca, Inc. System and method for isolated virtual image and appliance communication within a cloud environment
CN102594919B (zh) * 2012-03-19 2015-04-08 中国联合网络通信集团有限公司 It资源支撑系统
US9590879B2 (en) 2012-03-21 2017-03-07 Tier 3, Inc. Cloud application scaling framework
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9379994B2 (en) * 2012-03-22 2016-06-28 Tier 3, Inc. Flexible storage provisioning
JP6007547B2 (ja) * 2012-03-30 2016-10-12 日本電気株式会社 仮想化システム、スイッチコントローラ、ファイバチャネルスイッチ、マイグレーション方法、マイグレーションプログラム
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9129124B2 (en) 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
CN103377330B (zh) * 2012-04-23 2016-08-17 佛山市智慧岛信息技术有限公司 一种虚拟资源分配方法及虚拟资源分配系统
US9146775B2 (en) 2012-04-26 2015-09-29 International Business Machines Corporation Operator graph changes in response to dynamic connections in stream computing applications
BR112014018142A8 (pt) 2012-04-30 2017-07-11 Hewlett Packard Development Co Sistema de gestão automática de eventos para uma rede na nuvem, método para administrar eventos para serviços na nuvem e sistema de gerenciamento de eventos em nuvem
US9594686B2 (en) * 2012-05-05 2017-03-14 Google Inc. File handling within a cloud-based file system
CN103428252B (zh) * 2012-05-25 2017-10-10 华为技术有限公司 一种云计算虚拟机迁移的方法、设备及系统
US10169000B2 (en) 2012-05-30 2019-01-01 Red Hat Israel, Ltd. Provisioning composite applications using secure parameter access
US8924969B2 (en) * 2012-06-07 2014-12-30 Microsoft Corporation Virtual machine image write leasing
WO2013188382A2 (en) * 2012-06-12 2013-12-19 Centurylink Intellectual Property Llc High performance cloud storage
US8775599B2 (en) 2012-06-19 2014-07-08 Microsoft Corporation Multi-tenant middleware cloud service technology
US9317709B2 (en) * 2012-06-26 2016-04-19 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
US20140007189A1 (en) 2012-06-28 2014-01-02 International Business Machines Corporation Secure access to shared storage resources
US9207703B1 (en) * 2012-06-28 2015-12-08 Emc Corporation Method and apparatus for client application customization
US8959650B1 (en) * 2012-06-29 2015-02-17 Emc Corporation Validating association of client devices with sessions
US8997094B2 (en) * 2012-06-29 2015-03-31 Pulse Secure, Llc Migrating virtual machines between computing devices
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
SG11201500836QA (en) * 2012-08-08 2015-03-30 Amazon Tech Inc Archival data storage system
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
CN102843432B (zh) * 2012-08-30 2015-01-07 西可通信技术设备(河源)有限公司 适用于多客户端数据共享和同步更新的网络通信系统
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
JP5700009B2 (ja) * 2012-09-18 2015-04-15 横河電機株式会社 フォールトトレラントシステム
US20140089458A1 (en) * 2012-09-27 2014-03-27 Peter Alexander CARIDES Network storage system with flexible drive segmentation capability
US9389898B2 (en) 2012-10-02 2016-07-12 Ca, Inc. System and method for enforcement of security controls on virtual machines throughout life cycle state changes
US8700898B1 (en) 2012-10-02 2014-04-15 Ca, Inc. System and method for multi-layered sensitive data protection in a virtual computing environment
US9223635B2 (en) 2012-10-28 2015-12-29 Citrix Systems, Inc. Network offering in cloud computing environment
US9170834B2 (en) * 2012-10-31 2015-10-27 Google Inc. Metadata-based virtual machine configuration
KR101430649B1 (ko) 2012-10-31 2014-08-18 삼성에스디에스 주식회사 클라우드 환경 내의 데이터 분석 서비스 제공 시스템 및 방법
US9066071B2 (en) 2012-11-12 2015-06-23 Samsung Electronics Co., Ltd. Method and apparatus for providing screen data
US9930081B2 (en) 2012-11-13 2018-03-27 International Business Machines Corporation Streams optional execution paths depending upon data rates
US20140143372A1 (en) * 2012-11-20 2014-05-22 Unisys Corporation System and method of constructing a memory-based interconnect between multiple partitions
CN103841166B (zh) * 2012-11-27 2017-04-05 华为技术有限公司 在桌面云终端中显示广告的方法、装置和系统
US8924425B1 (en) * 2012-12-06 2014-12-30 Netapp, Inc. Migrating data from legacy storage systems to object storage systems
US9495486B1 (en) * 2012-12-28 2016-11-15 Emc Corporation Methods and apparatus for SAN environment simulation
JP5986692B2 (ja) * 2013-01-11 2016-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. ネットワークデバイスのためのネットワーク機能仮想化
CN103973752A (zh) * 2013-02-06 2014-08-06 上海华师京城高新技术开发有限公司 一种云计算系统的文件存储系统
KR101701662B1 (ko) * 2013-02-07 2017-02-01 와이덱스 에이/에스 보청기용 트랜시버 및 이러한 트랜시버를 동작시키는 방법
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US9384454B2 (en) * 2013-02-20 2016-07-05 Bank Of America Corporation Enterprise componentized workflow application
US9026994B2 (en) 2013-03-07 2015-05-05 Microsoft Technology Licensing, Llc Cloud-based localization platform
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US11252633B2 (en) * 2013-03-12 2022-02-15 Gerald Douglas Hosier, JR. Online systems and methods for advancing information organization sharing and collective action
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9300727B2 (en) 2013-03-14 2016-03-29 Microsoft Technology Licensing, Llc Cloud-based content localization
KR101937736B1 (ko) * 2013-04-11 2019-04-11 한국전자통신연구원 차세대 네트워크를 위한 객체 식별자 기반의 이종 식별자 노드간 상호연동 식별 장치 및 방법
CN103237072B (zh) * 2013-04-22 2015-09-16 上海交通大学 一种基于用户满意度感知的数据中心服务布置方法
US9317313B2 (en) 2013-05-22 2016-04-19 Microsoft Technology Licensing, Llc Dynamically provisioning storage while identifying and discarding redundant storage alerts
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US9619545B2 (en) 2013-06-28 2017-04-11 Oracle International Corporation Naïve, client-side sharding with online addition of shards
US10116762B2 (en) * 2013-08-06 2018-10-30 Walmart Apollo, Llc System and method for storing and processing web service requests
US9336265B2 (en) 2013-08-06 2016-05-10 Wal-Mart Stores, Inc. System and method for processing web service transactions using timestamp data
US10803015B2 (en) 2013-08-06 2020-10-13 Walmart Apollo, Llc Caching system and method
US10419572B2 (en) 2013-08-06 2019-09-17 Walmart Apollo, Llc Caching system and method
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
CN104423933B (zh) * 2013-08-21 2018-01-19 华为技术有限公司 一种云平台用户界面适配方法及适配器
US9619248B2 (en) * 2013-08-30 2017-04-11 Bluedata Software, Inc. Configuration manager and method for configuring a host system for processing a processing job in a virtual data-processing environment
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment
US20150113092A1 (en) * 2013-10-23 2015-04-23 Futurewei Technologies, Inc. Method and apparatus for distributed enterprise data pattern recognition
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
EP3062230A4 (en) * 2013-12-04 2016-12-14 Huawei Tech Co Ltd DATA PROCESSING METHOD, DEVICE, MEMORY CONTROL DEVICE, AND EQUIPMENT CABINET
US10353633B2 (en) * 2013-12-19 2019-07-16 Sony Interactive Entertainment LLC Mass storage virtualization for cloud computing
CN103731483B (zh) * 2013-12-25 2017-05-03 侯金涛 一种基于云计算的虚拟文件系统
EP3089031A4 (en) * 2013-12-27 2017-01-04 NTT Docomo, Inc. Management system, virtual communication-function management node, and management method
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
KR101505845B1 (ko) * 2014-02-04 2015-03-26 한국전자통신연구원 패킷 처리 장치 및 방법
US9535734B2 (en) * 2014-03-06 2017-01-03 International Business Machines Corporation Managing stream components based on virtual machine performance adjustments
JP2015170242A (ja) * 2014-03-10 2015-09-28 富士通株式会社 中継プログラム、中継方法、および中継装置
US9374324B2 (en) 2014-03-14 2016-06-21 International Business Machines Corporation Determining virtual adapter access controls in a computing environment
US9882825B2 (en) 2014-03-14 2018-01-30 Citrix Systems, Inc. Method and system for securely transmitting volumes into cloud
US9424216B2 (en) 2014-03-14 2016-08-23 International Business Machines Corporation Ascertaining configuration of a virtual adapter in a computing environment
CN103885725B (zh) * 2014-03-19 2017-03-15 华存数据信息技术有限公司 一种基于云计算环境的虚拟机访问控制系统及其控制方法
US10025873B2 (en) * 2014-04-18 2018-07-17 Walmart Apollo, Llc System and method for storing and processing database requests
WO2016003454A1 (en) 2014-07-02 2016-01-07 Hewlett-Packard Development Company, L.P. Managing port connections
CN104111863B (zh) * 2014-07-17 2017-05-10 湖南昇云科技有限公司 管理不同虚拟化平台中虚拟机的方法与系统
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US9311131B2 (en) * 2014-08-04 2016-04-12 International Business Machines Corporation Monitoring and dynamically reconfiguring virtual machine patterns
US9900391B2 (en) * 2014-08-05 2018-02-20 Microsoft Technology Licensing, Llc Automated orchestration of infrastructure service blocks in hosted services
US20170251083A1 (en) * 2014-09-05 2017-08-31 Hewlett Packard Enterprise Development Lp Data storage over fibre channel
CN104268172B (zh) * 2014-09-15 2018-06-26 北京京东尚科信息技术有限公司 提取数据的方法和装置
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10318194B2 (en) * 2014-10-02 2019-06-11 Hitachi Vantara Corporation Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10303514B2 (en) * 2014-11-14 2019-05-28 Cavium, Llc Sharing resources in a multi-context computing system
CN105700819B (zh) * 2014-11-28 2019-04-12 国际商业机器公司 用于网络数据存储的方法和系统
US20160162209A1 (en) * 2014-12-05 2016-06-09 Hybrid Logic Ltd Data storage controller
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US10027546B1 (en) * 2014-12-29 2018-07-17 EMC IP Holding Company LLC Method and system for virtual storage array mobility and live migration using locator-identifier separation protocol
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
JP6378847B2 (ja) * 2015-02-03 2018-08-22 華為技術有限公司Huawei Technologies Co.,Ltd. ネットワーク・ファイル・システムにおいてi/o要求を処理するための方法及び装置
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US10587698B2 (en) * 2015-02-25 2020-03-10 Futurewei Technologies, Inc. Service function registration mechanism and capability indexing
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) * 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9519433B2 (en) * 2015-05-13 2016-12-13 VSector Security Technologies, LLC Secure virtual sector erasure method and system
US10778597B1 (en) * 2015-05-21 2020-09-15 EMC IP Holding Company LLC Orchestration management system and method for managing a resource pool across multiple computing clouds
CN105049409A (zh) * 2015-05-28 2015-11-11 合肥城市云数据中心有限公司 分布式云环境下的安全访问控制架构及其访问方法
CN105049408A (zh) * 2015-05-28 2015-11-11 合肥城市云数据中心有限公司 一种用于分布式云环境之间互访的安全访问控制架构及其访问方法
US9813500B2 (en) 2015-06-12 2017-11-07 Cisco Technology, Inc. Allocating cloud storage based on storage attributes
US9887882B2 (en) 2015-06-12 2018-02-06 At&T Intellectual Property I, L.P. Referent system for devices of an NFV network
US9519505B1 (en) 2015-07-06 2016-12-13 Bank Of America Corporation Enhanced configuration and property management system
CN106713375A (zh) * 2015-07-21 2017-05-24 中国移动通信集团重庆有限公司 云资源的调配方法及装置
CN105141495B (zh) * 2015-08-25 2021-04-02 青岛海尔智能家电科技有限公司 虚拟设备创建方法及网关设备
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10127055B2 (en) * 2015-10-16 2018-11-13 Quanta Computer Inc. iSCSI based bare metal OS image deployment and diskless boot
US10108340B2 (en) * 2015-10-21 2018-10-23 Western Digital Technologies, Inc. Method and system for a common processing framework for memory device controllers
US20180189109A1 (en) * 2015-10-30 2018-07-05 Hitachi, Ltd. Management system and management method for computer system
EP3283984A4 (en) * 2015-11-03 2018-04-04 Hewlett-Packard Enterprise Development LP Relevance optimized representative content associated with a data storage system
CN105303102A (zh) * 2015-11-03 2016-02-03 浪潮电子信息产业股份有限公司 一种虚拟机的安全访问方法及虚拟机系统
US10938665B2 (en) * 2015-12-15 2021-03-02 At&T Intellectual Property I, L.P. Method and apparatus for creating a custom service
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10275160B2 (en) 2015-12-21 2019-04-30 Intel Corporation Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10587450B1 (en) * 2016-04-29 2020-03-10 Architecture Technology Corporation High-assurance multi-domain network switch
US10417174B2 (en) * 2016-06-24 2019-09-17 Vmware, Inc. Remote direct memory access in a virtualized computing environment
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10379893B2 (en) 2016-08-10 2019-08-13 Rackware, Inc. Container synchronization
CN107733746B (zh) * 2016-08-11 2021-06-15 中兴通讯股份有限公司 一种混合云平台的组网方法及混合云平台系统
CN106548670B (zh) * 2016-08-17 2019-03-29 图灵人工智能研究院(南京)有限公司 在线教学平台及在线教学方法
US10200376B2 (en) * 2016-08-24 2019-02-05 Intel Corporation Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network
US10360057B1 (en) * 2016-09-22 2019-07-23 Amazon Technologies, Inc. Network-accessible volume creation and leasing
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10176116B2 (en) 2016-09-28 2019-01-08 Intel Corporation Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10686886B2 (en) * 2016-10-19 2020-06-16 Mirosoft Technology Licensing, LLC Establishing secure sessions for stateful cloud services
US10791103B2 (en) * 2016-10-28 2020-09-29 Vmware, Inc. Adapting remote display protocols to remote applications
US10261821B2 (en) * 2016-12-02 2019-04-16 Dell Products L.P. System and method to expose remote virtual media partitions to virtual machines
US10514847B2 (en) 2016-12-28 2019-12-24 Amazon Technologies, Inc. Data storage system with multiple durability levels
US11301144B2 (en) 2016-12-28 2022-04-12 Amazon Technologies, Inc. Data storage system
US10484015B2 (en) * 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
CN106897027B (zh) * 2017-01-18 2020-03-24 成都电科致远网络科技有限公司 一种基于桌面虚拟化的分布式存储服务系统及方法
US11070512B2 (en) * 2017-02-10 2021-07-20 International Business Machines Corporation Server port virtualization for guest logical unit number (LUN) masking in a host direct attach configuration
US10747565B2 (en) * 2017-04-18 2020-08-18 Amazon Technologies, Inc. Virtualization of control and status signals
US10747731B2 (en) * 2017-07-20 2020-08-18 Vmware, Inc. Transferring data using unique identifiers of a table of a relational database
US11157299B2 (en) 2017-08-15 2021-10-26 Citrix Systems, Inc. Thin provisioning virtual desktop infrastructure virtual machines in cloud environments without thin clone support
US10592293B2 (en) 2017-08-31 2020-03-17 Cisco Technology, Inc. Tenant-specific policy generation and enforcement within containers
CN107911158B (zh) * 2017-09-27 2020-05-08 西安空间无线电技术研究所 一种基于虚拟数据平面的服务系统以及提供服务的方法
CN109656467B (zh) * 2017-10-11 2021-12-03 阿里巴巴集团控股有限公司 云网络的数据传输系统、数据交互方法、装置及电子设备
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US20200319940A1 (en) * 2017-12-21 2020-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Management of dynamic sharing of central processing units
US11113400B1 (en) * 2017-12-26 2021-09-07 Virtuozzo International Gmbh System and method for providing distributed compute platform on untrusted hardware
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10462009B1 (en) * 2018-02-20 2019-10-29 Amazon Technologies, Inc. Replicating customers' information technology (IT) infrastructures at service provider networks
US10936373B2 (en) 2018-02-24 2021-03-02 Vmware, Inc. Tag-based control of hosted compute resources
US10783049B2 (en) 2018-02-26 2020-09-22 International Business Machines Corporation Virtual storage drive management in a data storage system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10990429B2 (en) 2018-03-12 2021-04-27 Vmware, Inc. Rule-based reallocation of hosted compute resources
WO2019180812A1 (ja) * 2018-03-20 2019-09-26 三菱電機株式会社 情報処理装置、方法、及びプログラム
EP4216062A1 (en) * 2018-03-30 2023-07-26 Google LLC Arbitrating portions of transactions over virtual channels associated with an interconnect
KR20200139673A (ko) 2018-03-30 2020-12-14 프로비노 테크놀로지스, 아이엔씨. 시스템 온 칩(SoC) 에이전트 리셋 및 전력 관리를 위한 프로토콜 레벨 제어
CN108804133B (zh) * 2018-06-12 2022-04-08 深圳华讯网络科技有限公司 虚拟资源的获取方法、系统、计算机设备和存储介质
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US10970310B2 (en) * 2018-08-02 2021-04-06 Netapp Inc. Synchronous replication based cutover engine
US11044252B2 (en) * 2018-09-12 2021-06-22 Subcom, Llc Techniques for secured partitioning of an optical transmission system to provide multi-client management access and a network management system implementing same
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US10768837B2 (en) * 2018-10-31 2020-09-08 EMC IP Holding Company LLC Non-disruptive migration of a virtual volume in a clustered data storage system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US10924336B2 (en) * 2019-01-10 2021-02-16 International Business Machines Corporation Method for dynamically controlling the membership of a zone in a cloud environment
US10733131B1 (en) * 2019-02-01 2020-08-04 Hewlett Packard Enterprise Development Lp Target port set selection for a connection path based on comparison of respective loads
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US10922283B2 (en) 2019-02-22 2021-02-16 Rackware, Inc. File synchronization
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11169723B2 (en) 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US10582019B1 (en) * 2019-07-12 2020-03-03 Coupang Corp. Systems and methods for interfacing networks using a unified communication scheme
US10574794B1 (en) * 2019-07-12 2020-02-25 Coupang Corp. Systems and methods for interfacing networks regardless of communication scheme
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
CN112860601A (zh) * 2019-11-12 2021-05-28 深圳怡化电脑股份有限公司 设备驱动功能的调用方法、装置、计算机设备和系统
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11231967B2 (en) * 2020-04-20 2022-01-25 Stratum, Llc Dynamically allocating and managing cloud workers
US11182096B1 (en) 2020-05-18 2021-11-23 Amazon Technologies, Inc. Data storage system with configurable durability
CN111756729B (zh) * 2020-06-23 2022-06-17 北京网瑞达科技有限公司 网络资源访问方法、装置、计算机设备和存储介质
US11681443B1 (en) 2020-08-28 2023-06-20 Amazon Technologies, Inc. Durable data storage with snapshot storage space optimization
JP7149313B2 (ja) 2020-09-28 2022-10-06 株式会社日立製作所 記憶システム及びその制御方法
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
CN112328302B (zh) * 2020-11-30 2023-05-23 中国航空工业集团公司西安航空计算技术研究所 一种可适配多种存储系统的配置服务组件
EP4064639A1 (en) * 2021-03-24 2022-09-28 Nokia Solutions and Networks Oy Scope assignments of network automation functions
CN113312881B (zh) * 2021-05-06 2024-04-05 上海移远通信技术股份有限公司 频段信息转换方法及装置、电子设备和计算机存储介质
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11789783B2 (en) 2021-07-06 2023-10-17 Bank Of America Corporation Hosted virtual desktop slicing using federated edge intelligence
US11385925B1 (en) 2021-07-06 2022-07-12 Bank Of America Corporation System and method for provisioning hosted virtual desktop resources to remote users

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017711A2 (en) * 2007-07-18 2009-01-21 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US143322A (en) * 1873-09-30 blake
US270564A (en) * 1883-01-09 Cabinet steam-bath
US307761A (en) * 1884-11-11 Broom-holder
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6041381A (en) * 1998-02-05 2000-03-21 Crossroads Systems, Inc. Fibre channel to SCSI addressing method and system
US6721320B1 (en) * 1998-12-18 2004-04-13 Lsi Logic Corporation Method and apparatus for fibre channel identification and retrieval
US6567818B1 (en) * 1999-06-14 2003-05-20 International Business Machines Corporation Employing management policies to manage instances of objects
US20020103889A1 (en) * 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
AU2001295791A1 (en) * 2000-11-02 2002-05-15 Astrazeneca Ab 4-substituted quinolines as antitumor agents
US7581170B2 (en) * 2001-05-31 2009-08-25 Lixto Software Gmbh Visual and interactive wrapper generation, automated information extraction from Web pages, and translation into XML
US7315903B1 (en) * 2001-07-20 2008-01-01 Palladia Systems, Inc. Self-configuring server and server network
US7360034B1 (en) * 2001-12-28 2008-04-15 Network Appliance, Inc. Architecture for creating and maintaining virtual filers on a filer
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US7194519B1 (en) * 2002-03-15 2007-03-20 Network Appliance, Inc. System and method for administering a filer having a plurality of virtual filers
US8037196B2 (en) * 2002-06-26 2011-10-11 Alcatel Lucent Method for maintaining communication between communication devices having inconsistent protocols
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US7735095B2 (en) * 2003-05-02 2010-06-08 Microsoft Corporation Network device drivers using a communication transport
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US20050060372A1 (en) * 2003-08-27 2005-03-17 Debettencourt Jason Techniques for filtering data from a data stream of a web services application
US20050198336A1 (en) * 2004-01-22 2005-09-08 Edward Eytchison Methods and apparatuses for automatic adaptation of different protocols
US7330942B2 (en) * 2004-07-31 2008-02-12 Hewlett-Packard Development Company, L.P. Method for efficient virtualization of physical memory in a virtual-machine monitor
JP4504762B2 (ja) * 2004-08-19 2010-07-14 株式会社日立製作所 ストレージネットワークの移行方法、管理装置、管理プログラムおよびストレージネットワークシステム
US7516214B2 (en) * 2004-08-31 2009-04-07 Emc Corporation Rules engine for managing virtual logical units in a storage network
US7480840B2 (en) * 2004-10-12 2009-01-20 International Business Machines Corporation Apparatus, system, and method for facilitating port testing of a multi-port host adapter
GB2419703A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
US20070083482A1 (en) * 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US9348530B2 (en) * 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US8621120B2 (en) * 2006-04-17 2013-12-31 International Business Machines Corporation Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism
US7774746B2 (en) * 2006-04-19 2010-08-10 Apple, Inc. Generating a format translator
US7587570B2 (en) * 2006-05-31 2009-09-08 International Business Machines Corporation System and method for providing automated storage provisioning
US8667382B2 (en) * 2006-06-28 2014-03-04 International Business Machines Corporation Configurable field definition document
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
US7921024B2 (en) * 2006-11-29 2011-04-05 International Business Machines Corporation IT service management technology enablement
US9098347B2 (en) * 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
JP4935899B2 (ja) 2007-03-08 2012-05-23 富士通株式会社 アクセス権限設定プログラム、方法及び装置
US8479194B2 (en) * 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8380842B2 (en) * 2007-04-26 2013-02-19 Mtelligence Corporation System and methods for the universal integration of plant floor assets and a computerized management system
JP2009163361A (ja) 2007-12-28 2009-07-23 Sony Corp 通信装置、通信システム、通信方法及びプログラム
US8479209B2 (en) * 2008-02-27 2013-07-02 Sap Ag Automated execution of virtual appliances
US8112582B2 (en) * 2008-03-10 2012-02-07 Lsi Corporation Redundant array of inexpensive disks configuration using simple network management protocol
US9015705B2 (en) * 2008-03-28 2015-04-21 International Business Machines Corporation Computing device having a migrated virtual machine accessing physical storage space on another computing device
US20090276774A1 (en) * 2008-05-01 2009-11-05 Junji Kinoshita Access control for virtual machines in an information system
US7506037B1 (en) * 2008-05-13 2009-03-17 International Business Machines Corporation Method determining whether to seek operator assistance for incompatible virtual environment migration
US8266099B2 (en) * 2008-05-29 2012-09-11 Vmware, Inc. Offloading storage operations to storage hardware using a third party server
US8275886B1 (en) * 2008-06-23 2012-09-25 Netapp, Inc. End-to-end LUN management via standards compliant management interfaces
US8336047B2 (en) * 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
US8266618B2 (en) * 2008-11-21 2012-09-11 International Business Machines Corporation Graphics hardware resource usage in a fully virtualized computing environment
US9344401B2 (en) 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US8639745B2 (en) * 2010-07-01 2014-01-28 Red Hat, Inc. Providing a neutral interface to multiple cloud computing systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017711A2 (en) * 2007-07-18 2009-01-21 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems

Also Published As

Publication number Publication date
US20140297782A1 (en) 2014-10-02
US20100199276A1 (en) 2010-08-05
US8918488B2 (en) 2014-12-23
US9391952B2 (en) 2016-07-12
CN102292699A (zh) 2011-12-21
US20100198972A1 (en) 2010-08-05
CN102292698A (zh) 2011-12-21
WO2010090899A1 (en) 2010-08-12
EP2394213A1 (en) 2011-12-14
WO2010090883A1 (en) 2010-08-12
US8775544B2 (en) 2014-07-08
EP2394212A1 (en) 2011-12-14
US20100199037A1 (en) 2010-08-05
US9344401B2 (en) 2016-05-17
EP2394212B1 (en) 2018-05-23
CN102292699B (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN102292698B (zh) 用于在云计算环境中自动管理虚拟资源的系统和方法
US9130903B2 (en) Unified out of band management system for desktop and server sessions
CN102197374B (zh) 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
CN102754077B (zh) 可从外部媒体装置引导的安全虚拟化环境
CN102272726B (zh) 便于异构处理器池虚拟化的系统和方法
CN106168884B (zh) 访问对象存储系统的计算机系统
US10498645B2 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
EP2368182B1 (en) Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
CN104956329A (zh) 在云计算环境中的网络方案
US20180189109A1 (en) Management system and management method for computer system
WO2017066944A1 (zh) 一种存储设备访问方法、装置和系统
CN102804140B (zh) 用于将设备驱动程序导入到客户计算环境中的方法和系统
CN104487943A (zh) 受信文件间接操作
US9122414B2 (en) Methods and systems for optimizing a process of archiving at least one block of a virtual disk image
US11138028B1 (en) Hot growing a cloud hosted block device
US10235195B2 (en) Systems and methods for discovering private devices coupled to a hardware accelerator
CN115221089A (zh) 使用主机本地的存储设备进行高效软件定义的网络加速处理的装置、方法和计算机程序产品
US8898418B2 (en) Method, apparatus and computer program for provisioning a storage volume to a virtual server
JP2015069352A (ja) ストレージ制御装置,ストレージ制御方法及びストレージ制御プログラム
JP2023544192A (ja) ファンクション実行のためのコンピューティング・リソースのタグ・ドリブン・スケジューリング
US11005726B2 (en) Systems and methods for configuring network interface affinity to system management features supported by a management controller
US8856481B1 (en) Data processing system having host-controlled provisioning of data storage resources
JP2023545786A (ja) コンテナにおけるハードウェア・マルチスレッド化の構成

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150107