CN104067260B - 动态构建用于承担用户工作量的一组计算节点的方法、装置和系统 - Google Patents

动态构建用于承担用户工作量的一组计算节点的方法、装置和系统 Download PDF

Info

Publication number
CN104067260B
CN104067260B CN201380005969.1A CN201380005969A CN104067260B CN 104067260 B CN104067260 B CN 104067260B CN 201380005969 A CN201380005969 A CN 201380005969A CN 104067260 B CN104067260 B CN 104067260B
Authority
CN
China
Prior art keywords
virtual machine
group
constraint
cloud
demand
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.)
Active
Application number
CN201380005969.1A
Other languages
English (en)
Other versions
CN104067260A (zh
Inventor
R.K.阿肖克
R.F.布拉布森
H.E.霍凯特
M.R.霍格斯特罗姆
W.塞格穆勒
M.J.舍尔德
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104067260A publication Critical patent/CN104067260A/zh
Application granted granted Critical
Publication of CN104067260B publication Critical patent/CN104067260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种用于动态构建用来承担用户工作量的一组计算节点的方法。管理服务器接收工作量定义,其包括将在云组中运行的工作量的类型以及所述云组应支持的每个工作量的实例的数量。该工作量定义被用于确定所述云组将放置在云计算环境上的虚拟机需求。所述管理服务器还需求约束、布局约束和许可实施策略。所述管理服务器基于所述虚拟机需求、所述需求约束、所述布局约束以及许可实施策略,识别所述用来承担用户工作量的计算节点组。采用这种方式,在形成云组时考虑动态构建一组计算节点,而无需用户需要了解云的构成。

Description

动态构建用于承担用户工作量的一组计算节点的方法、装置和系统
技术领域
本发明涉及云计算,尤其涉及动态构建一组计算节点来承担(host)用户的工作量。
背景技术
在云计算环境中,计算作为一种服务而不是产品被交付,由此在英特网上作为一种计量服务向计算机和其他设备提供共享资源、软件和信息。在这种环境中,计算、软件、数据存取和存储服务被提供给不需要了解交付该服务的系统的物理位置和配置的用户。
用于可以将云计算环境花费为一个或多个“云组”,其中每个云组可以包括一组包含有相似管理程序性能的物理计算节点(例如数据中心中的机柜(rack)中的服务器)。管理程序(也称之为虚拟机管理器)是容许多个操作系统在主机计算机上同时运行的多个虚拟技术之一,术语称之为“客户(guest)”。管理程序向所述客户操作系统呈现虚拟操作平台并管理该客户操作系统的执行。
用户可以对计算节点进行分组以便按照用户选择的任何逻辑形成云组。例如,用于可以创建用于管理程序的云组以及创建用于管理程序的另一个云组。在另一个实例中,用户可以创建用于其开发组织的云组和用于运行生产工作量的另一个云组。
当前,用户人工委派计算机节点来形成云组,其需要(require)用户拥有对云计算环境和其构成的理解。例如,用户可以想到选择驻留在云计算环境中的不同部分中的计算节点以便创建提供高可用性的云组,从而确保在约定的测量时段期间满足预定级别的运算性能(例如,在所述计算节点之一出现故障的情况下有备用计算节点)。不过,用户可能不能拥有这种对云计算环境以及其构成的理解。
因此,用户可能不能最优地选择一组计算节点来形成满足其期望的需求的云组,更不用说以一种有效方式来形成云组了。
发明内容
在本发明的一个实施例中,一种用于动态构建用来承担用户工作量的一组计算节点的方法包括接收工作量定义,该工作量定义包括将在云组中运行的工作量的类型以及所述云组应支持的每个工作量的实例的数量。该方法还包括使用所述工作量定义确定所述云组将放置在云计算环境上的虚拟机需求。此外,该方法包括接收关于所述云组的需求约束。而且该方法包括接收关于所述云组的布局约束。此外,该方法包括基于所述虚拟机需求、所述需求约束以及所述布局约束,通过处理器识别所述用来承担用户工作量的计算节点组。
上述方法的实施例的其他形式为系统和计算机程序产品。
前面所述已经相当宽泛地概述了本发明的一个或多个实施例的特征和技术优点,以便更好地理解下面本发明的详细描述。本发明的另外的特征和优点将在下面描述,其可以构成本发明的权利要求书的主题。
附图说明
当结合下面的附图考虑下面的详细描述时可以获得对本发明的更好的理解,其中
图1图释了根据本发明实施例配置的网络系统;
图2图释了根据本发明实施例的云计算环境;
图3图释了根据本发明实施例的由管理服务器所管理的云计算节点的计算节点的机柜的示意图;
图4图释了根据本发明实施例的用于计算节点的虚拟环境;
图5图释了根据本发明实施例的配置的管理服务器的硬件配置;
图6是根据本发明实施例的用于动态构建用来承担用户工作量的一组计算节点的方法的流程图;以及
图7A-7B是根据本发明实施例的用于在需要时监测所述云组和可能再平衡计算资源的流程图。
具体实施方式
本发明包括一种方法、系统和计算机程序产品,其用于动态构建用来承担用户工作量的一组计算节点。在本发明的一个实施例中,管理服务器接收工作量定义,该工作量定义包括将在云组中运行的工作量的类型(例如,购买订单、在线银行业务)以及所述云组应支持的每个工作量的实例的数量。这些工作量定义可以用于确定所述云组将被放置与云计算环境上的虚拟机需求。管理服务器还接收所述需求约束(将被施加到被用于提供所请求的服务的计算资源上的约束)、布局约束(关于虚拟机的实例(instance)的位置的约束)以及许可实施策略(关于经过软件许可的虚拟机的利用率的限制)。管理服务器基于所述虚拟机需求、所述需求约束、所述布局约束以及许可实施策略,识别所述用来承担用户工作量的计算节点组。采用这种方式,在形成云组时考虑动态构建计算节点组,而不需用户了解云的构成。
在下面的描述中,提出了多个具体细节以便给出本发明的整个理解。不过,本领域技术人员将清楚,本发明可以不采用这些具体细节来实施。在其他情况下,已知的电路已经以框图形式显示,目的是为了不将本发明淹没(obscure)在不必要的细节中。大概而言,已经省略了考虑时序等的细节,因为这些细节对于获得对本发明的完整的理解是没有必要的,并且属于本领域的不同技术人员的常识。
需要预先理解到,尽管本公开包括关于云计算的一些细节描述,但是此处所述的一些教导的实现并不限于云计算环境。相反,本发明的实施例能够结合任何类型的已知或以后开发的簇群计算环境来实现。
在任何情况下,下面的定义已经由彼得.麦尔(Peter Mell)和蒂莫西.格兰斯(Timothy Grance)2011年9月的“云计算的NIST定义(The NIST Definitionof Cloud Computing)”给出,该文献被引用在所提交的信息披露申明(IDS)中,其副本被提供给美国专利商标局。
云计算是一种服务交付模式,用于对共享的可配置计算资源(池例如,网络、服务器、存储器、应用以及服务)进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
这些特征如下:
按需自助式服务:消费者在无需与每个服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取和存取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、平板电脑、膝上型电脑以及工作站)的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按客户需求将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。资源的例子包括存储、处理、内存和网络带宽。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以按照需求实现快速扩展和缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为所利用服务的提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言、库、服务和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构部署为专用与包括多个客户(例如,企业单位)单独组织。云基础架构可以由该组织、第三方管理或其组合所拥有、管理和运行,并且其可以存在于该组织内部或外部。
共同体云:云基础架构被来自共享关注(例如任务使命、安全要求、政策和合规考虑)的若干组织的特定客户共同体。共同体云可以由共同体内的一个或多个组织、第三方或其其一些组合拥有、管理和营运,并且可以存在于该共同体内部或外部。
公共云:云基础架构被部署由公众开放使用。公共云可以由企业、学院或政府组织或其一些组合所拥有、管理和营运提供,并可以存在于该云提供者之内。
混合云:云基础架构是维持独特实体但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起的两个或更多不同云基础架构(私有云、共同体云或公共云)组成。
现在详细参见附图。图1图释了根据本发明实施例配置的网络系统100。网络系统100包括经由网络103连接到云计算环境102的客户设备101。客户设备101可以是配置有经由网络103而连接到计算环境102上的能力的任意类型的计算设备(例如便携式计算单元、个人数字助理(PDA)、智能电话、膝上计算机、移动电话、导航设备、游戏操纵台、台式计算机系统、工作站、英特网应用等等)。
网络103例如可以是局域网、广域网、无线广域网、切换电路电话网络、用于移动通信网络的全球系统(GSM)、无线应用协议(WAP)网络、WiFi网络、IEEE 802.11标准网络、其各种组合等。为了简便起见而在此省略了其描述的其他网络也可以与图1中的系统100结合使用,只要其不脱离本发明的范围。
云计算环境102被用于将计算作为服务传送给实现上述模型的客户设备101。下面结合图1论述云计算环境102的实施例。
图2图释了根据本发明实施例的云计算环境102。如图所示,云计算环境102包括一个或多个云计算节点201,云消费者所使用的本地计算设备,诸如例如个人数字助理(PDA)或智能电话202、台式计算机203、膝上计算机204和/或车载计算机系统205,可以与云计算节点通讯。节点201可以彼此通信。它们可以物理地或虚拟地分组(未示出)为一个或多个网络,诸如如上所述的私有云、共同体云、公共云或混合云或其组合。这是的云计算环境102能够提供云消费者不需要在本地计算设备位置资源的架构即服务、平台即服务和/或软件即服务。云计算节点201可以包括一个或多个计算节点(例如服务器)的机柜,其由如下面结合图3详细描述的云计算环境102中的服务器(此处被称之为“管理服务器”)所管理。
可以理解到图2中的可以代表图1中的客户设备101的计算设备202、203、204、205的类型意图是为了解释,并且云计算节点201和云计算环境102可以通过任何类型的网络和/或网络可寻址连接(例如用网络浏览器)与任何类型计算设备通信。位于节点201之一上的程序代码可以存储在节点201之一中的计算机可读存储介质上并且可以通过网络下载到计算设备202、203、204、205上用于这些计算设备。例如,计算节点201中的如武器计算机可以将程序代码存储在该服务器计算机上的计算机可读存储介质上。服务器计算机可以将程序代码下载到计算设备202、203、204、205用于计算设备。
参见图3,图3图释了根据本发明实施例的管理服务器所管理的云计算节点201的计算节点(例如服务器)的机柜的示意图。
如图所示,云计算节点201(也可以称之为“簇”)可以包括硬件组件或“计算节点”的一个或多个机柜(rack)301A-301C,诸如服务器或其他电子设备。例如,机柜301A容纳有计算节点302A-302E,机柜301B容纳有计算节点302F-302J,而机柜301C容纳有计算节点302K-302O。机柜301A-301C可被分别统称为多个机柜301或机柜301。而且,计算节点302A-302O被分别统称为多个计算节点302或计算节点302。下面结合图4进一步阐述计算节点302的解释性虚拟环境。图3并不被限于所示的机柜301或计算节点302的数量的范围。例如,云计算节点201可以有任意数量机柜301构成,机柜301可以容纳任意数量的计算节点302。而且,尽管图3图释了容难计算节点302的机柜301,但是机柜301可以容纳任意类型的被云计算节点201所使用的计算组件。而且,尽管下面讨论了在所指定机柜301中所包围的计算节点302,但是为了清楚起见要注意到计算节点302可以分布在云计算环境102上(图1和2)。还将注意到,如此处进一步讨论的被动态构建来承担用户工作量的极端节点组可以包括分布在各种云计算节点201中的云计算环境102上的计算节点302。
如图3所示,机柜301每个连接到被配置为提供数据中心级功能的管理(administrative)服务器303。管理服务器303支持在此被称为管理软件304的模块,其能够被用管理云计算节点201的所有计算节点302,监测系统利用率、智能地部署数据的图像以及优化云计算环境102的操作。而且,管理软件304可用于动态构建将被用来形成云组以及根据需要监测云组和在平衡系统资源的计算节点302的组,如下面进一步所述。云组被称之为一组计算节点302,其被结合起来用于运行用户指定的工作量。管理服务器303的硬件配置的描述将在下满结合图5给出。
现在参见图4,图4图释了根据本发明实施例的计算节点302(图3)的虚拟环境。计算节点302包括虚拟操作系统401.操作系统401在真实或物理计算机402上执行。真实计算机402包括一个或多个处理器403、内存404(在此也称之为主机物理内存)、一个或多个盘驱动器405等。为了简便起见,此处没有描述真实计算机402的其他组件。
虚拟操作系统401还包括用户部分406A-406B(在图4中分别被标识为“客户1”和“客户2”),在此被称之为“客户”。每个客户406A、406B能够作为独立系统其作用。也就是说,每个客户406A-406B可以独立地被重置、分别承担客户操作系统407A-407B(在图4中分别标识为“Guest 1O/S”和“Guest 2O/S)以及采用不同程序操作。运行在客户406A、406B上的操作系统或应用程序显示为对整个和全部系统进行访问,但是实际上,其仅有一部分可用。客户406A-406B可以一起或单独分别被称为多个客户406或客户406。客户操作系统407A-407B可以一起或单独分别被称为多个客户操作系统407或客户操作系统407。
每个客户操作系统407A、407B可以承担(host)一个或多个虚拟机应用408A-408C(在图4中分别被标识为“VM1”、“VM2”以及“VM3”),诸如JavaTM虚拟机。例如,客户操作系统407A承担虚拟机应用408A-408B。客户操作系统407B承担虚拟机应用408C。虚拟机408A-408C可以一起或单个地被分别称为多个虚拟机408或虚拟机408。
虚拟操作系统401还包括共同基础部分409,在此被称为管理程序。管理程序409可以以运行在处理器403上的微代码实现,或者其可以以作为虚拟操作系统401部分的软件实现。管理程序409配置为管理和启用客户406以便运行单个主机。
如上所述,虚拟操作系统401以及其组件在物理或真实计算机402上执行。这些软件组件可以加载到内存404以便由处理器403执行。
计算节点302的虚拟化环境在范围上并不限于图4所描绘的元件。计算节点302的虚拟化环境可以包括为了简便起见而没有在此讨论的其他组件。
现在参见图5,图5图释了管理服务器303(图3)的硬件配置,管理服务器303代表了用于实现本发明的硬件环境。管理服务器303具有处理器501,其通过系统总线502连接到各种其他组件。操作系统503运行在处理器501上并提供控制并协调图5中的各种组件的功能。根据本发明的原理的应用504结合操作系统503运行并提供对操作系统503的调用(call),其中这些调用实现将由应用504所执行的各种功能或服务。应用504可以包括,例如,用于动态构建用于承担用户工作量的一组计算节点302(图3)以及用于根据需要如下面结合图6和7A-7B所进一步讨论的监测云组和再平衡系统资源的程序。
再次参见按图5,只读存储器(“ROM”)505连接到系统总线502,并且包括基本输入/输出系统(“BIOS”),其控制管理服务器303的某些基本功能。随机存取存储器(“RAM”)506和盘适配器507也可以连接到系统总线502。应该注意的是,包括操作系统503和应用504的软件组件可以被加载到RAM506中,其可以管理服务器303的用于执行的主存储器。盘适配器507可以是集成驱动电子设备(“IDE”)适配器,其与盘单元508,例如盘驱动器,通信。应该注意到,用于动态构建承担用户工作量的一组计算节点302(图3)以及用于根据需要如下面结合图6和7A-7B所进一步讨论的监测云组和再平衡系统资源的程序可以驻留在盘单元508中或在应用504中。
管理服务器303可以还包括连接到总线502的通信适配器502。通信适配器509与通过外部网络(例如,图1的网络103)与总线502互联。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
计算机程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备上,以便使得一系列运算步骤在计算机、其他可编程数据处理装置或其他设备上被执行,从而产生计算机实现的处理,使得在计算机或其他可编程数据处理装置上执行的指令提供用于实现在流程图和/或框图的框中所指出的功能/动作的处理。
如在背景技术部分所值粗话的,当前,用于人工分派计算节点来形成云组,其要求用户拥有对云计算环境和其构成的了解。例如,用户可以想到选择驻留在云计算环境中的不同部分中的计算节点以便创建提供高可用性的云组,从而确保在约定的测量时段期间满足预定级别的运算性能(例如,在所述计算节点之一出现故障的情况下有备用计算节点)。不过,用户可能不拥有这种对云计算环境以及其构成的理解。因此,用户可能不能优化地选择一组计算节点来形成满足其期望的需求的云组了,更不用说以一种有效的方式来选择计算节点来形成云组了。
本发明的原理提供了如下面结合图6进一步讨论的一种手段,其用于基于用户的工作量需求、需求和布局约束以及许可实施策略来动态构建用来承担用户工作量的一组计算节点,而无需用户需要有云的构成的知识。图6是用于动态构建承担用户工作量的计算节点组的方法的流程图。在动态构建承担用户工作量的计算节点组之后,管理服务器303(图3和5)在必要时监测该云组并能够再平衡计算资源,如下面进一步参照图7A-7B所讨论的。图7A-7B是用于在必需要时监测该云组并可能再平衡计算资源的流程图。
参见图6,图6是根据本发明那个的实施例的用于动态构建承担用户工作量的计算节点组302(图3和4)的方法600的流程图。
参见图6,结合图1-5,在步骤601中,管理服务器303接收来自用户的工作量定义,其可以包括将在新创建的云组中运行的工作量的类型(例如,订购单、在线银行业务、提供网页)以及该云组应该支持的每个工作量的实例(instance)的数量。
在步骤602中,管理服务器303使用所接收的工作量定义确定云组将布置在云计算环境102上的虚拟机需求(例如中央处理单元(CPU)的数量、所需要的内存、数据和存储网络的进口/出口带宽)
在步骤603中,管理服务器303接收关于将被创建的云组的需求约束。需求约束指的是被施加到被用于提供所请求的服务的计算济源上的用户所指明的约束。例如,需求约束可以包括处理器、内存、存储、网络I/O、存储I/O以及部署在于组中的虚拟机408的每个虚拟机408所需要的带宽约束。
在步骤604中,管理服务器303接收关于将被创建的云组的布局(placement)约束。布局约束指的是关于虚拟机408的实例的位置的用户所指明的约束。例如,布局约束可以包括部署策略,诸如高可用性和节能(energyconservation)。高可用性指的是确保在约定的测量时段期间满足预定级别的运算性能(例如,在所述计算节点之一出现故障的情况下有备用计算节点302)。因此,高可用性策略可以在计算节点302上扩展工作量。另一方面,节能策略可以尝试将工作量布置在相同物理节点302上以便节省能量的使用。布局约束还可以包括整合(consolidation)。在布局约束的另一个例子中,用户可以指明具体云组需要其工作量的物理分离(separation)的约束。结果,管理服务器303将确定用于该云组的工作量只被布置在其上没有来自其他云组的工作量运行的计算节点302上。
在步骤605中,管理服务器303接收许可实施策略。许可实施策略指的是经过诸如在服务级别协议中软件许可对虚拟机408的使用情况的限制。例如,由于许可实施策略,优选的是将虚拟机408布置在比另一个计算节点302高的使用率(usage)的计算节点302上。在另一个例子中,由于许可计算的方式,可能在计算节点302上运行虚拟机408的附加实例而不需要附加许可费用(charge),其中基于计算节点302的数量而不是在计算节点302上运行的虚拟机408的数量来对许可进行计数。
在步骤606中,管理服务器303基于上面所讨论的所确定的虚拟机需求、需求约束、布局约束以及许可实施策略,识别将被认为用来形成云组同时能够承担用户工作量的一组计算节点302。即,管理服务器303动态构建将被认为用于形成满足一种“模式(pattern)”的云组的一组计算节点302。一种模式可以指的是用户工作量需求、需求约束、布局约束以及许可实施策略。
在步骤607中,管理服务器303将虚拟机408部署(deploy)到在满足所确定的虚拟机需求、需求约束、布局约束以及许可实施策略同时能够承担用户工作量方面的所识别的一组计算节点302。
在步骤608中,管理服务器303将工作量部署到识别的一组计算节点302,并在所识别的一组计算节点302中的每个适当的计算节点302上开始该工作量的新实例。
采用这种方式,在形成云组时考虑动态构建一组计算节点302,而无需用户需要了解云的构成。
在有些实现方式中,方法600可以包括为了简便起见没有描绘的其他和/或附加步骤。而且,在有些实现方式中,方法600可以按照所给出的不同顺序被执行,并且在图6的讨论中所给出的顺序是图释性的。此外,在有些实现方式中,方法600中的某些步骤可以实质上类似的方式被执行或者可以被省略。
在动态构建用于承担用户工作量的计算节点302的组织后,管理服务器303监测云组以便确定计算资源(例如,虚拟机408)是否需要被再平衡,如下面结合图7A-7B所讨论的那样。
图7A-7B是根据本发明实施例在将虚拟机408部署到计算节点组302之后,在必要时用于监测云组并平衡计算资源的方法700的流程图。
参见图7A,结合图1-5,在步骤701中,在部署虚拟机408之后,管理服务器303监测工作量需求的改变以及需求约束和布局约束的改变。
在步骤702中,管理服务器303监测硬件故障和预测的硬件故障。例如,管理服务器303可以将在网络端口上发送的大量重传或坏数据包当作标识网络连接有问题。在另一个例子中,管理服务器303可以将一个以上的双列直插式内存模块(dual in-line memory module)的故障当作标识附加的双列直插式内存模块可能失败。在一个实施例中,管理服务器303可以将“预测的”故障当作就像其已经出现了一样(即,管理服务器303将预测故障与所检测到的故障一样对待)。
在步骤703中,管理服务器303监测关于所部署的虚拟机408的需求。例如,管理服务器303监测该组计算节点302以便确保部署在该组计算节点302中的所有虚拟机408正在接收所要求的需求(例如,满足处理器、内存、存储、网络I/O以及存储I/O要求)。
在步骤704中,管理服务器303监测关于硬件利用率的云组。例如,如果多个服务器没有被完全利用,则可期望从该云组中移除那些服务器。
在步骤705中,管理服务器303在硬件(例如,服务器,交换器)的添加/减少方面监测云组。例如,新服务器可以添加到该云组。
在步骤706中,管理服务器303在许可使用情况方面监测云组。
在步骤707中,管理服务器303确定在部署虚拟机408之后工作量需求和/或需求约束和/或布局约束是否已经改变。
如果工作量需求和/或需求约束和/或布局约束已经改变,则在步骤708中,管理服务器303因此再平衡云组所使用的计算资源。再平衡指的是将虚拟机408中的一个或多个重新定位到云组的其他计算节点302上。这种重新定位可以包括在此被称为“链接重新定位”,其包括其他所要求的重新定位,以便重新定位单一虚拟机408。例如,为了将计算节点302A上的虚拟机408A移动到计算节点302B,计算节点302A上的虚拟机408B可能需要移动到计算节点302C。再平衡也可以指的是将一个或多个虚拟机408添加到该组计算节点302。此外,再平衡可以指的是将云组中的一个或多个虚拟机408重新定位到该云组之外的其他计算节点302。此处所使用的“再平衡”指的是上述所列举的例子,包括其组合,从而再平衡资源以便满足所要求的工作量需求和约束。
不过,如果在工作量需求和/或需求约束和/或布局约束方面还没有改变,则在步骤709中,管理服务器303确定其是否检测到任何硬件故障或监测到任何预测硬件故障。如果管理服务器303检测到任何硬件故障或监测到任何预测硬件故障,则在步骤710中,管理服务器303确定云组中剩余的硬件(例如一些计算节点302)是否足以处理使用该云组的工作量。
如果云组中剩余的硬件不足以处理使用该云组的工作量,则在步骤708中,管理服务器303因此再平衡由该云组所使用的计算资源。
不过,参见图7B,结合图1-5,如果管理服务器303没有监测到硬件故障或监测到预测硬件故障,或者如果云组中剩余的硬件足以处理使用该云组的工作量,则在步骤711中,管理服务器303确定在所部署的虚拟机408中的虚拟机408是否没有接收所要求的需求。如果在所部署的虚拟机408中的虚拟机408没有接收所要求的需求,则在步骤708中,管理服务器303因此再平衡云组所使用的计算资源。
不过,如果在所部署的虚拟机408中的虚拟机408接收所要求的需求,则在步骤712中,管理服务器303确定云组所使用的计算资源是否需要因为硬件没有被完全利用而被再平衡。如果硬件没有被完全利用,则在步骤708中,管理服务器303因此再平衡云组所使用的计算资源。
不过,如果硬件被完全利用,则在步骤713中,管理服务器303确定在云组中是否有任何硬件(例如,交换器、服务器)的添加/减少。如果在云组中有硬件的添加/减少,则在步骤708中,管理服务器303因此再平衡云组所使用的计算资源。
不过,如果在云组中没有硬件的添加/减少,则在步骤714中,管理服务器303确定是否由于先前消费许可(例如,先前被计算为使用许可)的虚拟机不再有消费该许可的需要而存在任何可用许可。如果存在可用许可,则在步骤708中,管理服务器303因此再平衡云组所使用的计算资源。
不过,如果不存在可用许可,则管理服务器303在步骤701中的虚拟机408的部署之后继续监测工作量需求的改变以及需求约束和布局约束的改变。
在有些实现方式中,方法700可以包括为了简便起见没有描绘的其他和/或附加步骤。而且,在有些实现方式中,方法700可以按照所给出的不同顺序被执行,并且在图7A-7B的讨论中所给出的顺序是图释性的。此外,在有些实现方式中,方法700中的某些步骤可以实质上类似的方式被执行或者可以被省略。
为了说明性目的已经给出了对本发明的各种实施例的描述,但是该描述不是为了穷尽或限制所披露的实施例。在不脱离所披露的实施例的方位和精神的请下,本领域普通技术人员很清楚有一些修改方式和变化形式。此处所选择的术语是为了更好地解释这些实施例的原理、在市场中发现的在技术上的实际应用或技术改进,或者使得本领域普通技术人员中的其它人能够理解此处所披露的实施例。

Claims (24)

1.一种用于动态构建用来承担用户工作量的计算节点组的方法,该方法包括:
接收工作量定义,其包括将在云组中运行的工作量的类型以及所述云组应支持的每个工作量的实例的数量;
使用所述工作量定义确定所述云组将放置在云计算环境上的虚拟机需求;
接收关于所述云组的需求约束;
接收关于所述云组的布局约束;以及
基于所述虚拟机需求、所述需求约束以及所述布局约束,通过处理器识别所述用来承担用户工作量的计算节点组。
2.如权利要求1所述的方法,其中所述关于所述云组的需求约束包括以下一个或多个:处理器、内存、存储器、网络I/O、存储I/O以及带宽约束。
3.如权利要求1所述的方法,其中所述关于所述云组的布局约束包括以下一个或多个:高可用性、整合和节能约束。
4.如权利要求1所述的方法,还包括:
接收许可实施策略;以及
基于所述虚拟机需求、所述需求约束、所述布局约束以及所述许可实施策略,识别所述用来承担用户工作量的计算节点组。
5.如权利要求1所述的方法,还包括:
将虚拟机部署到所述计算节点组;以及
将工作量部署到所述计算节点组。
6.如权利要求5所述的方法,还包括以下步骤之一或多个:
在所述部署所述虚拟机之后,监测工作量需求、所述需求约束以及所述布局约束的改变;
在所述部署所述虚拟机之后,监测硬件故障和预测的硬件故障;
在所述部署所述虚拟机之后,监测关于所述虚拟机的需求;
在所述部署所述虚拟机之后,监测硬件使用情况;
在所述部署所述虚拟机之后,监测所述云组中硬件的增加或减少;以及
在所述部署所述虚拟机之后,监测许可使用情况。
7.如权利要求6所述的方法,还包括以下步骤之一或多个:
响应于在所述部署所述虚拟机之后所述工作量需求、所述需求约束以及所述布局约束之一或多个的改变,再平衡所述云组中的计算资源;
响应于检测到所述硬件故障或所述预测的硬件故障,再平衡所述云组中的所述计算资源;
响应于所部署的虚拟机中的一个或多个虚拟机没有接收到所需要的需求,再平衡所述云组中的所述计算资源;
响应于硬件没有被完全使用,再平衡所述云组中的所述计算资源;
响应于所述云组中的硬件的增加或减少,再平衡所述云组中的所述计算资源;以及
响应于许可可用,再平衡所述云组中的所述计算资源。
8.如权利要求7所述的方法,其中所述再平衡所述计算资源包括以下步骤之一或多个:
再定位所述所部署的虚拟机中的一个或多个虚拟机,其中所述再定位包括链接再定位;
向所述计算节点组中的所述所部署的虚拟机添加一个或多个虚拟机;以及
将所述云组的所述计算节点组中的一个或多个虚拟机再定位到所述云组之外的其他计算节点。
9.一种用于动态构建用来承担用户工作量的计算节点组的装置,该装置包括:
用于接收工作量定义的模块,所述工作量定义包括将在云组中运行的工作量的类型以及所述云组应支持的每个工作量的实例的数量;
用于使用所述工作量定义确定所述云组将放置在云计算环境上的虚拟机需求的模块;
用于接收关于所述云组的需求约束的模块;
用于接收关于所述云组的布局约束的模块;以及
用于基于所述虚拟机需求、所述需求约束以及所述布局约束,识别所述用来承担用户工作量的计算节点组的模块。
10.如权利要求9所述的装置,其中所述关于所述云组的需求约束包括以下一个或多个:处理器、内存、存储器、网络I/O、存储I/O以及带宽约束。
11.如权利要求9所述的装置,其中所述关于所述云组的布局约束包括以下一个或多个:高可用性、整合和节能约束。
12.如权利要求9所述的装置,还包括:
用于接收许可实施策略的模块;以及
用于基于所述虚拟机需求、所述需求约束、所述布局约束以及所述许可实施策略,识别所述用来承担用户工作量的计算节点组的模块。
13.如权利要求9所述的装置,还包括:
用于将虚拟机部署到所述计算节点组的模块;以及
用于将工作量部署到所述计算节点组的模块。
14.如权利要求13所述的装置,还包括以下模块之一或多个:
用于在所述部署所述虚拟机之后,监测工作量需求、所述需求约束以及所述布局约束的改变的模块;
用于在所述部署所述虚拟机之后,监测硬件故障和预测的硬件故障的模块;
用于在所述部署所述虚拟机之后,监测关于所述虚拟机的需求的模块;
用于在所述部署所述虚拟机之后,监测硬件使用情况的模块;
用于在所述部署所述虚拟机之后,监测所述云组中硬件的增加或减少的模块;以及
用于在所述部署所述虚拟机之后,监测许可使用情况的模块。
15.如权利要求14所述的装置,还包括以下模块之一或多个:
用于响应于在所述部署所述虚拟机之后所述工作量需求、所述需求约束以及所述布局约束之一或多个的改变,再平衡所述云组中的计算资源的模块;
用于响应于检测到所述硬件故障或所述预测的硬件故障,再平衡所述云组中的所述计算资源的模块;
用于响应于所部署的虚拟机中的一个或多个虚拟机没有接收到所需要的需求,再平衡所述云组中的所述计算资源的模块;
用于响应于硬件没有被完全使用,再平衡所述云组中的所述计算资源的模块;
用于响应于所述云组中的硬件的增加或减少,再平衡所述云组中的所述计算资源的模块;以及
用于响应于许可可用,再平衡所述云组中的所述计算资源的模块。
16.如权利要求15所述的装置,其中用于所述再平衡所述计算资源的模块包括以下模块之一或多个:
用于再定位所述所部署的虚拟机中的一个或多个虚拟机,其中所述再定位包括链接再定位的模块;
用于向所述计算节点组中的所述所部署的虚拟机添加一个或多个虚拟机的模块;以及
用于将所述云组的所述计算节点组中的一个或多个虚拟机再定位到所述云组之外的其他计算节点的模块。
17.一种用于动态构建用来承担用户工作量的计算节点组的系统,包括:
用于存储用于动态构建用来承担用户工作量的计算节点组的计算机程序的存储单元;以及
连接到所述存储单元的处理器,其中所述处理器包括:
用于接收工作量定义的电路,该工作量定义包括将在云组中运行的工作量的类型以及所述云组应支持的每个工作量的实例的数量;
用于使用所述工作量定义确定所述云组将放置在云计算环境上的虚拟机需求的电路;
用于接收关于所述云组的需求约束的电路;
用于接收关于所述云组的布局约束的电路;以及
用于基于所述虚拟机需求、所述需求约束以及所述布局约束,识别所述用来承担用户工作量的计算节点组的电路。
18.如权利要求17所述的系统,其中所述关于所述云组的需求约束包括以下一个或多个:处理器、内存、存储器、网络I/O、存储I/O以及带宽约束。
19.如权利要求17所述的系统,其中所述关于所述云组的布局约束包括以下一个或多个:高可用性、整合和节能约束。
20.如权利要求17所述的系统,其中所述处理器还包括:
用于接收许可实施策略的电路;以及
用于基于所述虚拟机需求、所述需求约束、所述布局约束以及所述许可实施策略,识别所述用来承担用户工作量的计算节点组的电路。
21.如权利要求17所述的系统,其中所述处理器还包括:
用于将虚拟机部署到所述计算节点组的电路;以及
用于将工作量部署到所述计算节点组的电路。
22.如权利要求21所述的系统,其中所述处理器还包括以下电路之一或多个:
用于在所述部署所述虚拟机之后,监测工作量需求、所述需求约束以及所述布局约束的改变的电路;
用于在所述部署所述虚拟机之后,监测硬件故障和预测的硬件故障的电路;
用于在所述部署所述虚拟机之后,监测关于所述虚拟机的需求的电路;
用于在所述部署所述虚拟机之后,监测硬件使用情况的电路;
用于在所述部署所述虚拟机之后,监测所述云组中硬件的增加或减少的电路;以及
用于在所述部署所述虚拟机之后,监测许可使用情况的电路。
23.如权利要求22所述的系统,其中所述处理器还包括以下电路之一或多个:
响应于在所述部署所述虚拟机之后所述工作量需求、所述需求约束以及所述布局约束之一或多个的改变,再平衡所述云组中的计算资源的电路;
响应于检测到所述硬件故障或所述预测的硬件故障,再平衡所述云组中的所述计算资源的电路;
用于响应于所部署的虚拟机中的一个或多个虚拟机没有接收到所需要的需求,再平衡所述云组中的所述计算资源的电路;
用于响应于硬件没有被完全使用,再平衡所述云组中的所述计算资源的电路;
用于响应于所述云组中的硬件的增加或减少,再平衡所述云组中的所述计算资源的电路;以及
用于响应于许可可用,再平衡所述云组中的所述计算资源的电路。
24.如权利要求23所述的系统,其中用于所述再平衡所述计算资源的电路包括以下电路之一或多个:
用于再定位所述所部署的虚拟机中的一个或多个虚拟机,其中所述再定位包括链接再定位的电路;
用于向所述计算节点组中的所述所部署的虚拟机添加一个或多个虚拟机的电路;以及
用于将所述云组的所述计算节点组中的一个或多个虚拟机再定位到所述云组之外的其他计算节点的电路。
CN201380005969.1A 2012-01-23 2013-01-23 动态构建用于承担用户工作量的一组计算节点的方法、装置和系统 Active CN104067260B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/356,427 US8930542B2 (en) 2012-01-23 2012-01-23 Dynamically building a set of compute nodes to host the user's workload
US13/356,427 2012-01-23
PCT/CA2013/050041 WO2013110188A1 (en) 2012-01-23 2013-01-23 Dynamically building a set of compute nodes to host the user's workload

Publications (2)

Publication Number Publication Date
CN104067260A CN104067260A (zh) 2014-09-24
CN104067260B true CN104067260B (zh) 2016-09-28

Family

ID=48798168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380005969.1A Active CN104067260B (zh) 2012-01-23 2013-01-23 动态构建用于承担用户工作量的一组计算节点的方法、装置和系统

Country Status (3)

Country Link
US (2) US8930542B2 (zh)
CN (1) CN104067260B (zh)
WO (1) WO2013110188A1 (zh)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US20130263208A1 (en) * 2012-04-02 2013-10-03 Narsimha Reddy Challa Managing virtual machines in a cloud computing system
EP2859441B1 (en) * 2012-06-08 2019-09-04 Hewlett-Packard Enterprise Development LP Cloud application deployment portability
GB2507338A (en) 2012-10-26 2014-04-30 Ibm Determining system topology graph changes in a distributed computing system
US9712375B2 (en) * 2012-12-12 2017-07-18 Microsoft Technology Licensing, Llc Workload deployment with infrastructure management agent provisioning
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181046A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to backup unprotected virtual machines
US20140196039A1 (en) * 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US9495404B2 (en) 2013-01-11 2016-11-15 Commvault Systems, Inc. Systems and methods to process block-level backup for selective file restoration for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9419917B2 (en) * 2013-09-17 2016-08-16 Google Inc. System and method of semantically modelling and monitoring applications and software architecture hosted by an IaaS provider
US9648040B1 (en) * 2013-09-19 2017-05-09 Amazon Technologies, Inc. Authorization check using a web service request
US9882825B2 (en) * 2014-03-14 2018-01-30 Citrix Systems, Inc. Method and system for securely transmitting volumes into cloud
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10142192B2 (en) 2014-04-09 2018-11-27 International Business Machines Corporation Management of virtual machine resources in computing environments
US10129105B2 (en) 2014-04-09 2018-11-13 International Business Machines Corporation Management of virtual machine placement in computing environments
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US10129112B2 (en) 2014-08-14 2018-11-13 At&T Intellectual Property I, L.P. Workflow-based resource management
US10693946B2 (en) 2014-09-16 2020-06-23 Amazon Technologies, Inc. Instance backed mobile devices
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9959148B2 (en) * 2015-02-11 2018-05-01 Wipro Limited Method and device for estimating optimal resources for server virtualization
US9720763B2 (en) 2015-03-09 2017-08-01 Seagate Technology Llc Proactive cloud orchestration
US9916233B1 (en) 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
US10270475B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Layered redundancy coding for encoded parity data
US10270476B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Failure mode-sensitive layered redundancy coding techniques
US10298259B1 (en) 2015-06-16 2019-05-21 Amazon Technologies, Inc. Multi-layered data redundancy coding techniques
US9998150B1 (en) 2015-06-16 2018-06-12 Amazon Technologies, Inc. Layered data redundancy coding techniques for layer-local data recovery
US10977128B1 (en) 2015-06-16 2021-04-13 Amazon Technologies, Inc. Adaptive data loss mitigation for redundancy coding systems
US11061969B1 (en) 2015-06-29 2021-07-13 Amazon Technologies, Inc. Instance backed mobile devices with multiple instances
US10609122B1 (en) 2015-06-29 2020-03-31 Amazon Technologies, Inc. Instance backed building or place
US9959167B1 (en) 2015-07-01 2018-05-01 Amazon Technologies, Inc. Rebundling grid encoded data storage systems
US10162704B1 (en) 2015-07-01 2018-12-25 Amazon Technologies, Inc. Grid encoded data storage systems for efficient data repair
US10108819B1 (en) 2015-07-01 2018-10-23 Amazon Technologies, Inc. Cross-datacenter extension of grid encoded data storage systems
US10198311B1 (en) 2015-07-01 2019-02-05 Amazon Technologies, Inc. Cross-datacenter validation of grid encoded data storage systems
US10394762B1 (en) 2015-07-01 2019-08-27 Amazon Technologies, Inc. Determining data redundancy in grid encoded data storage systems
US10089176B1 (en) 2015-07-01 2018-10-02 Amazon Technologies, Inc. Incremental updates of grid encoded data storage systems
US9998539B1 (en) 2015-07-01 2018-06-12 Amazon Technologies, Inc. Non-parity in grid encoded data storage systems
US9690622B1 (en) 2015-08-24 2017-06-27 Amazon Technologies, Inc. Stateless instance backed mobile devices
US10911404B1 (en) 2015-08-24 2021-02-02 Amazon Technologies, Inc. Attribute based authorization
US9928141B1 (en) 2015-09-21 2018-03-27 Amazon Technologies, Inc. Exploiting variable media size in grid encoded data storage systems
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US9940474B1 (en) 2015-09-29 2018-04-10 Amazon Technologies, Inc. Techniques and systems for data segregation in data storage systems
US10476773B2 (en) 2015-10-21 2019-11-12 Microsoft Technology Licensing, Llc Substituting window endpoints using a health monitor
US10782990B1 (en) 2015-11-24 2020-09-22 Amazon Technologies, Inc. Container telemetry
US10394789B1 (en) 2015-12-07 2019-08-27 Amazon Technologies, Inc. Techniques and systems for scalable request handling in data processing systems
US10642813B1 (en) 2015-12-14 2020-05-05 Amazon Technologies, Inc. Techniques and systems for storage and processing of operational data
US10248793B1 (en) 2015-12-16 2019-04-02 Amazon Technologies, Inc. Techniques and systems for durable encryption and deletion in data storage systems
US10324790B1 (en) 2015-12-17 2019-06-18 Amazon Technologies, Inc. Flexible data storage device mapping for data storage systems
US10235402B1 (en) 2015-12-17 2019-03-19 Amazon Technologies, Inc. Techniques for combining grid-encoded data storage systems
US10102065B1 (en) 2015-12-17 2018-10-16 Amazon Technologies, Inc. Localized failure mode decorrelation in redundancy encoded data storage systems
US10180912B1 (en) 2015-12-17 2019-01-15 Amazon Technologies, Inc. Techniques and systems for data segregation in redundancy coded data storage systems
US10127105B1 (en) 2015-12-17 2018-11-13 Amazon Technologies, Inc. Techniques for extending grids in data storage systems
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10002247B2 (en) 2015-12-18 2018-06-19 Amazon Technologies, Inc. Software container registry container image deployment
US10032032B2 (en) 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10592336B1 (en) 2016-03-24 2020-03-17 Amazon Technologies, Inc. Layered indexing for asynchronous retrieval of redundancy coded data
US10061668B1 (en) 2016-03-28 2018-08-28 Amazon Technologies, Inc. Local storage clustering for redundancy coded data storage system
US10678664B1 (en) 2016-03-28 2020-06-09 Amazon Technologies, Inc. Hybridized storage operation for redundancy coded data storage systems
US10366062B1 (en) 2016-03-28 2019-07-30 Amazon Technologies, Inc. Cycled clustering for redundancy coded data storage systems
US10228924B2 (en) * 2016-04-19 2019-03-12 International Business Machines Corporation Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints
US10135837B2 (en) * 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10791174B2 (en) * 2016-07-28 2020-09-29 Intel Corporation Mechanism for efficient discovery of storage resources in a rack scale architecture system
US11137980B1 (en) 2016-09-27 2021-10-05 Amazon Technologies, Inc. Monotonic time-based data storage
US10810157B1 (en) 2016-09-28 2020-10-20 Amazon Technologies, Inc. Command aggregation for data storage operations
US10657097B1 (en) 2016-09-28 2020-05-19 Amazon Technologies, Inc. Data payload aggregation for data storage systems
US10496327B1 (en) 2016-09-28 2019-12-03 Amazon Technologies, Inc. Command parallelization for data storage systems
US11204895B1 (en) 2016-09-28 2021-12-21 Amazon Technologies, Inc. Data payload clustering for data storage systems
US10437790B1 (en) 2016-09-28 2019-10-08 Amazon Technologies, Inc. Contextual optimization for data storage systems
US11281624B1 (en) 2016-09-28 2022-03-22 Amazon Technologies, Inc. Client-based batching of data payload
US10614239B2 (en) 2016-09-30 2020-04-07 Amazon Technologies, Inc. Immutable cryptographically secured ledger-backed databases
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10296390B2 (en) 2016-10-14 2019-05-21 International Business Machines Corporation Feedback mechanism for controlling dispatching work tasks in a multi-tier storage environment
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
CN106412094A (zh) * 2016-11-02 2017-02-15 深圳前海生生科技有限公司 一种以公有云方式组织管理分散资源的方法
US10296764B1 (en) 2016-11-18 2019-05-21 Amazon Technologies, Inc. Verifiable cryptographically secured ledgers for human resource systems
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11269888B1 (en) * 2016-11-28 2022-03-08 Amazon Technologies, Inc. Archival data storage for structured data
KR101714412B1 (ko) * 2016-12-28 2017-03-09 주식회사 티맥스클라우드 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
US10423455B2 (en) 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US10474542B2 (en) 2017-03-24 2019-11-12 Commvault Systems, Inc. Time-based virtual machine reversion
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10585712B2 (en) 2017-05-31 2020-03-10 International Business Machines Corporation Optimizing a workflow of a storlet architecture
US11140455B1 (en) 2017-06-09 2021-10-05 Amazon Technologies, Inc. Video encoder network sandboxing
US10579488B2 (en) * 2017-07-31 2020-03-03 Vmare, Inc. Auto-calculation of recovery plans for disaster recovery solutions
US10827025B2 (en) 2017-10-18 2020-11-03 Hewlett Packard Enterprise Development Lp Allocations of arbitrary workloads among hyperconverged nodes
US10908940B1 (en) * 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11144340B2 (en) * 2018-10-04 2021-10-12 Cisco Technology, Inc. Placement of container workloads triggered by network traffic for efficient computing at network edge devices
US11150931B2 (en) * 2018-10-30 2021-10-19 Hewlett Packard Enterprise Development Lp Virtual workload migrations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
CN110543363A (zh) * 2019-08-05 2019-12-06 慧镕电子系统工程股份有限公司 一种云计算环境下的虚拟机管理方法
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
CN111832887A (zh) * 2020-05-27 2020-10-27 福建亿能达信息技术股份有限公司 一种麻醉医生工作量评价系统、设备及介质
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11256493B1 (en) 2020-11-03 2022-02-22 Bank Of America Corporation Container image optimizer
CN113312142B (zh) * 2021-02-26 2023-12-26 阿里巴巴集团控股有限公司 虚拟化处理系统、方法、装置及设备
US11716378B2 (en) * 2021-09-28 2023-08-01 Red Hat, Inc. Optimized network device queue management for hybrid cloud networking workloads
US11755375B2 (en) * 2021-11-29 2023-09-12 Red Hat, Inc. Aggregating host machines into a single cloud node for workloads requiring excessive resources

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840346A (zh) * 2009-12-30 2010-09-22 北京世纪互联宽带数据中心有限公司 云主机部署的方法及系统

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793288B2 (en) * 2004-12-09 2010-09-07 International Business Machines Corporation Automatic resource management of a guest operating system using information in data set indicating minimum system requirement
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US8584131B2 (en) * 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US8291411B2 (en) * 2007-05-21 2012-10-16 International Business Machines Corporation Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
WO2009026703A1 (en) * 2007-08-31 2009-03-05 Cirba Inc. Method and system for evaluating virtualized environments
US8230069B2 (en) 2008-03-04 2012-07-24 International Business Machines Corporation Server and storage-aware method for selecting virtual machine migration targets
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US8931038B2 (en) * 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US7970905B2 (en) * 2008-07-03 2011-06-28 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems
US7987262B2 (en) * 2008-11-19 2011-07-26 Accenture Global Services Limited Cloud computing assessment tool
US8140817B2 (en) * 2009-02-24 2012-03-20 International Business Machines Corporation Dynamic logical partition management for NUMA machines and clusters
US9501329B2 (en) 2009-05-08 2016-11-22 Rackspace Us, Inc. Methods and systems for cloud computing management
US8694638B2 (en) 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US8713182B2 (en) 2009-08-03 2014-04-29 Oracle International Corporation Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes
US8751844B2 (en) * 2009-09-24 2014-06-10 Citrix Systems, Inc. Systems and methods for attributing an amount of power consumption to a workload
US8285576B2 (en) * 2009-10-30 2012-10-09 International Business Machines Corporation Automated derivation, design and execution of industry-specific information environment
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US9129052B2 (en) * 2009-12-03 2015-09-08 International Business Machines Corporation Metering resource usage in a cloud computing environment
US8656019B2 (en) * 2009-12-17 2014-02-18 International Business Machines Corporation Data processing workload administration in a cloud computing environment
US10783504B2 (en) * 2010-02-26 2020-09-22 Red Hat, Inc. Converting standard software licenses for use in cloud computing environments
US8429449B2 (en) 2010-03-01 2013-04-23 International Business Machines Corporation Optimized placement of virtual machines in a network environment
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US9367362B2 (en) * 2010-04-01 2016-06-14 International Business Machines Corporation Administration of virtual machine affinity in a cloud computing environment
US8938510B2 (en) * 2010-04-26 2015-01-20 Bittan Inc. On-demand mailbox synchronization and migration system
US20110270968A1 (en) * 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US8639791B2 (en) * 2010-05-20 2014-01-28 Novell, Inc. Techniques for evaluating and managing cloud networks
EP2583211B1 (en) 2010-06-15 2020-04-15 Oracle International Corporation Virtual computing infrastructure
US8904382B2 (en) 2010-06-17 2014-12-02 International Business Machines Corporation Creating instances of cloud computing environments
US8352611B2 (en) 2010-06-29 2013-01-08 International Business Machines Corporation Allocating computer resources in a cloud environment
TWI426383B (zh) * 2010-07-20 2014-02-11 Univ Nat Taiwan Science Tech 雲端計算網路的系統可靠度之估計方法
US20130024494A1 (en) * 2011-06-13 2013-01-24 Steven Guarrieri Methods and systems for platform optimized design
US8478845B2 (en) * 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
US9239996B2 (en) * 2010-08-24 2016-01-19 Solano Labs, Inc. Method and apparatus for clearing cloud compute demand
US20120066487A1 (en) * 2010-09-09 2012-03-15 Novell, Inc. System and method for providing load balancer visibility in an intelligent workload management system
US8418184B2 (en) * 2010-09-24 2013-04-09 International Business Machines Corporation Use of constraint-based linear programming to optimize hardware system usage
TWI432977B (zh) * 2010-09-29 2014-04-01 Univ Nat Taiwan Science Tech 雲端計算網路的精確系統可靠度之評估方法
US20120278094A1 (en) * 2010-10-12 2012-11-01 Rabit Solutions, LLC Methods and systems for health care record, workflow, and billing management using mobile devices
US8489812B2 (en) * 2010-10-29 2013-07-16 International Business Machines Corporation Automated storage provisioning within a clustered computing environment
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム
US8620851B2 (en) * 2010-11-23 2013-12-31 Novell, Inc. System and method for determining fuzzy cause and effect relationships in an intelligent workload management system
US9442771B2 (en) * 2010-11-24 2016-09-13 Red Hat, Inc. Generating configurable subscription parameters
US9563479B2 (en) * 2010-11-30 2017-02-07 Red Hat, Inc. Brokering optimized resource supply costs in host cloud-based network using predictive workloads
US8788669B2 (en) * 2011-01-03 2014-07-22 Novell, Inc. Policy and identity based workload provisioning
US9009697B2 (en) * 2011-02-08 2015-04-14 International Business Machines Corporation Hybrid cloud integrator
US9128773B2 (en) * 2011-02-25 2015-09-08 International Business Machines Corporation Data processing environment event correlation
US8988998B2 (en) * 2011-02-25 2015-03-24 International Business Machines Corporation Data processing environment integration control
US8806015B2 (en) * 2011-05-04 2014-08-12 International Business Machines Corporation Workload-aware placement in private heterogeneous clouds
US8583799B2 (en) * 2011-05-09 2013-11-12 Oracle International Corporation Dynamic cost model based resource scheduling in distributed compute farms
US8612785B2 (en) * 2011-05-13 2013-12-17 International Business Machines Corporation Optimizing energy consumption utilized for workload processing in a networked computing environment
US9495649B2 (en) * 2011-05-24 2016-11-15 International Business Machines Corporation Workload-to-cloud migration analysis based on cloud aspects
US9037723B2 (en) * 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
US9176773B2 (en) * 2011-06-29 2015-11-03 Microsoft Technology Licensing, Llc Virtual machine migration tool
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US9015320B2 (en) * 2011-07-12 2015-04-21 Bank Of America Corporation Dynamic provisioning of service requests
US8943564B2 (en) * 2011-07-21 2015-01-27 International Business Machines Corporation Virtual computer and service
US8819679B2 (en) * 2011-07-28 2014-08-26 International Business Machines Corporation Methods and systems for on-boarding applications to a cloud
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
US9158590B2 (en) * 2011-08-08 2015-10-13 International Business Machines Corporation Dynamically acquiring computing resources in a networked computing environment
US8635607B2 (en) * 2011-08-30 2014-01-21 Microsoft Corporation Cloud-based build service
US20130061220A1 (en) * 2011-09-06 2013-03-07 Xerox Corporation Method for on-demand inter-cloud load provisioning for transient bursts of computing needs
US9137130B2 (en) * 2011-09-22 2015-09-15 Sap Se Dynamic network load forecasting
US9154549B2 (en) * 2011-10-27 2015-10-06 Cisco Technology, Inc. Dynamic server farms
US8700946B2 (en) * 2011-10-27 2014-04-15 Sungard Availability Services, Lp Dynamic resource allocation in recover to cloud sandbox
US9311159B2 (en) * 2011-10-31 2016-04-12 At&T Intellectual Property I, L.P. Systems, methods, and articles of manufacture to provide cloud resource orchestration
US8682958B2 (en) * 2011-11-17 2014-03-25 Microsoft Corporation Decoupling cluster data from cloud deployment
US8555339B2 (en) * 2012-01-06 2013-10-08 International Business Machines Corporation Identifying guests in web meetings
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
US9208007B2 (en) * 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840346A (zh) * 2009-12-30 2010-09-22 北京世纪互联宽带数据中心有限公司 云主机部署的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云计算:体系架构与关键技术;罗军舟 等;《通信学报》;20110731(第7期);第3-21页 *

Also Published As

Publication number Publication date
WO2013110188A1 (en) 2013-08-01
US20130191527A1 (en) 2013-07-25
CN104067260A (zh) 2014-09-24
US20130227131A1 (en) 2013-08-29
US8930543B2 (en) 2015-01-06
US8930542B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
CN104067260B (zh) 动态构建用于承担用户工作量的一组计算节点的方法、装置和系统
CN106020940B (zh) 用于确定数据集的放置的存储层级的方法和系统
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
US11409568B2 (en) Dynamically scaling out pods using a recursive way
CN109062658A (zh) 实现计算资源服务化的调度方法、装置、介质、设备及系统
US10069693B1 (en) Distributed resource allocation
CN104160374B (zh) 云突发以及对云突发应用的管理
CN104205056B (zh) 跨多个云的工作负荷的动态分配的方法和系统
Yusoh et al. Composite saas placement and resource optimization in cloud computing using evolutionary algorithms
Rabbani et al. On achieving high survivability in virtualized data centers
US20220276904A1 (en) Job execution with managed compute environments
CN104503832B (zh) 一种公平和效率均衡的虚拟机调度系统及方法
JP7119082B2 (ja) 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け
Elmroth et al. Self-management challenges for multi-cloud architectures
CN108667867A (zh) 数据存储方法及装置
CN108810115A (zh) 一种适用于分布式数据库的负载均衡方法、装置及服务器
US10129094B1 (en) Variable computing capacity
US20170200102A1 (en) Provisioning virtual machines to optimize application licensing costs
CN103927216A (zh) 用于管理虚拟装置的方法和系统
CN106897115A (zh) 一种云环境下SaaS软件部署方法及装置
Kriushanth et al. Auto scaling in Cloud Computing: an overview
JP7182836B2 (ja) 分散コンピューティング環境における作業負荷の自動対角スケーリング
US8548881B1 (en) Credit optimization to minimize latency
CN106688000A (zh) 层级化订阅管理
Fong et al. Dynamic resource management in an eutility

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