CN104040503A - 用于多个可用性管理器的简化和协调编排的开放弹性框架 - Google Patents

用于多个可用性管理器的简化和协调编排的开放弹性框架 Download PDF

Info

Publication number
CN104040503A
CN104040503A CN201280066629.5A CN201280066629A CN104040503A CN 104040503 A CN104040503 A CN 104040503A CN 201280066629 A CN201280066629 A CN 201280066629A CN 104040503 A CN104040503 A CN 104040503A
Authority
CN
China
Prior art keywords
availability manager
availability
manager
behavior
treatment element
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.)
Granted
Application number
CN201280066629.5A
Other languages
English (en)
Other versions
CN104040503B (zh
Inventor
R·E·哈珀
K·D·吕
L·F·斯帕诺维尔
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 CN104040503A publication Critical patent/CN104040503A/zh
Application granted granted Critical
Publication of CN104040503B publication Critical patent/CN104040503B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

可用性管理器编排系统和方法,具体地说,用于多个可用性管理器的简化和协调编排的开放弹性框架。

Description

用于多个可用性管理器的简化和协调编排的开放弹性框架
技术领域
本公开一般地涉及可用性管理器编排(orchestration)系统和方法,具体地说,涉及用于多个可用性管理器的简化和协调编排的开放弹性框架。
背景技术
通常,正确管理IT系统的弹性(广义概念,包括容错(“FA”)、高可用性(“HA”)、容灾和计划中断)极具挑战性。通常,客户非常难以描述、阐明和量化可用性机制,并且难以配置、操作和监视这些可用性机制。进一步,各种客户参与和调查强调客户需要能够更容易地理解使用各种可用性机制的效用、性能和成本,这些可用性机制可以在现在和将来的虚拟化IT基础架构中提供。
当今应用可用性管理技术本身(例如HA集群)的分析、安装、配置、部署和操作相当复杂。20世纪90年代早期到中期,当大多数供应商引入商用Unix(以及仅次于它的Microsoft)HA集群时,预计相对廉价的技术(与它之前的专用FT相比)将变得无处不在。但是,由于复杂性导致的人力成本和技能的局限性通常限制这些技术的采用。至今,这通常仍是客户采用这些技术的一个严重障碍。
此外,客户工作负载及其嵌入式可用性管理越来越多地在虚拟基础架构上部署,这些基础架构可能具有它们自己的可用性管理功能。尽管前者通常提供更精确的恢复,而后者通常稍微更易于配置并且应用范围更广泛,但白盒可用性管理与黑盒可用性管理之间的潜在(破坏性和建设性)交互使得这些结构的一致可用性管理甚至更令人生畏。
VMware和Veritas集群服务提供一种常规机制。在该配置中,VMware提供黑盒可用性管理功能,而Veritas集群服务提供白盒可用性管理功能。VMware提供到其专用虚拟化管理功能的非常复杂的接口,Veritas集群服务使用该功能与虚拟化层密切交互以便实现其白盒可用性目标。然后必须修改Veritas代码以便使用这些接口在VMware环境中操作。这种类型的配置通常极具限制性、繁琐并受限,因为它通常限于单个虚拟化层提供方(例如,VMware),并且通常需要对白盒可用性管理器(例如,Veritas)进行虚拟化层特定的修改,以便实现协调的可用性管理。
发明内容
各种实施例提供一种机制,以便允许用户在对该用户有意义的抽象级别指定他或她的弹性目标,然后自动初始化和配置白盒和黑盒可用性管理器以便满足所述弹性目标(当然,可以在一个用户或多个用户的上下文中应用各种实施例)。在一个实例中,各种实施例提供一种称为“弹性框架编排器”的新颖系统管理组件,所述组件基于用户输入和部署在用户环境中的可用性管理器,自动计算最佳配置参数和设置,然后采用不修改可用性管理器的内部操作的方式,并且在许多情况下,采用可用性管理器不需要知道它们在组合式可用性管理器系统中操作的方式,使用其现有接口和行为配置可用性管理器。因此,本发明的各种实施例解决客户复杂性问题(通过降低向用户暴露的复杂性),并且旨在用于各种黑盒和白盒可用性管理系统和环境。
此外,各种实施例可以提供以下一项或多项:
●提供简化的“弹性层”用户接口,所述用户接口抽象并定义多个可用性管理系统的能力和行为,所述可用性管理系统负责管理多个级别的IT层次结构,例如硬件、虚拟化基础架构、虚拟机、操作系统、中间件和应用级资源。
●在弹性层中,使用客户指定的品质因数(“FOM”)指示客户的最大可允许应用中断概率(例如但不限于,指示最大可允许服务水平协议(“SLA”)违反概率)。
●基于该最大可允许应用中断概率和所选择的弹性层,执行应用、虚拟和物理资源的最佳分配和放置的自动确定(自动生成空间组成(spatial composition)目标)。
●基于该最大可允许应用中断概率和所选择的弹性层,执行组件可用性管理器的所需行为的自动确定(自动生成行为组成(behavioralcomposition)目标)。
●自动将空间和行为约束转换为可由组件可用性管理器使用的输入语义和语法。
●使用所转换的空间和行为约束,自动初始化和配置组件可用性管理器。可以执行该操作而无需对组件可用性管理器进行任何内部修改,并且无需组件可用性管理器知道它们在组合式可用性管理器集合中操作。
●自动编排组件可用性管理器之间的任何所需交互,以便确保它们平稳并正确地互操作。
在另一个实施例中,提供一种用于配置至少第一可用性管理器和第二可用性管理器的计算机实现的系统,所述系统包括:用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;处理元件,其在操作上与所述用户接口通信,其中所述处理元件至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;以及控制元件,其在操作上与以下项通信:(a)所述处理元件,(b)所述第一可用性管理器,和(c)所述第二可用性管理器;其中所述控制元件从所述处理元件接收与所述第一可用性管理器关联的所述至少一个设置,并且向所述第一可用性管理器提供所关联的设置;以及其中所述控制元件从所述处理元件接收与所述第二可用性管理器关联的所述至少一个设置,并且向所述第二可用性管理器提供所关联的设置。
在另一个实施例中,提供一种用于配置至少第一可用性管理器和第二可用性管理器的在计算机系统中实现的方法,所述方法包括:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
在另一个实施例中,提供一种可由机器读取的程序存储设备,其有形地包含可由所述机器执行的指令程序以便执行一种用于配置至少第一可用性管理器和第二可用性管理器的方法,所述方法包括:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
附图说明
附图仅用于示例性目的并且不一定按比例表示本发明的实际实例。在附图中,相同的参考标号用于表示相同或相似的部分,这些附图是:
图1是根据本发明的一个实施例的系统的框图;
图2是根据本发明的一个实施例的系统的框图;
图3是根据本发明的一个实施例的系统的框图;
图4是根据本发明的一个实施例的系统的框图;
图5是根据本发明的一个实施例的系统的框图;
图6A是根据本发明的一个实施例的系统的框图;
图6B是根据本发明的一个实施例的系统的框图;
图7是根据本发明的一个实施例的软件程序的屏幕截图;
图8是根据本发明的一个实施例的系统的框图;以及
图9是根据本发明的一个实施例的系统的框图。
具体实施方式
为了描述和要求保护本发明,术语“可用性管理器”或(“AM”)旨在指系统管理元件(例如,包括程序代码和/或硬件),其在信息技术(“IT”)环境中检测和响应故障和其它不需要的异常(例如,在不同级别)。
为了描述和要求保护本发明,术语“白盒可用性管理器”旨在指检测和响应与一个或多个应用级资源(以下有时称为“应用资源”或“AR”)关联的故障的可用性管理器,这些应用级资源例如包括操作系统进程、容器、文件系统、存储器件、磁盘卷、网络接口或IP号码(地址)。
为了描述和要求保护本发明,术语“黑盒可用性管理器”旨在指检测和响应与一个或多个虚拟机(“VM”)或逻辑分区(“LPAR”)关联的故障的可用性管理器。
为了描述和要求保护本发明,术语“可用性管理目标”旨在指从一组量化值中选择的一个值,其中所述一组量化值表征多个相关可用性管理器的操作(在一个实例中,可以采用对用户有意义的术语表达量化值)。注意,量化值可以是定量的(例如,特定的数量或数量范围),或者量化值可以是定性的(例如,诸如以下项的描述符:“良好”、“更好”、“最好”;或者“金牌”、“银牌”、“铜牌”;或者“价值”、“标准”、“企业”)。在另一个实例中,量化值可以包括“层”。在另一个更具体的实例中,量化值可以包括“弹性层”(这种“弹性层”例如可以涉及某一级别的可能服务可靠性)。
为了描述和要求保护本发明,术语“空间组成”旨在指如何相对于彼此放置多个IT资源(例如,以便限制故障影响)。
为了描述和要求保护本发明,术语“行为组成”旨在指如何将多个可用性管理器配置为协同工作以便对故障做出反应(例如,以便限制故障影响)。
为了描述和要求保护本发明,术语“语法结构”旨在指信息(例如,脚本、配置文件等),该信息采用可由给定可用性管理器理解的形式,以便给定可用性管理器能够对以这种语法结构提供的信息执行操作。在一个实例中,语法结构可以包括语义和句法。
为了描述和要求保护本发明,术语“实时”旨在指原因和结果大约同时发生(例如,原因和结果之间没有明显的时间滞后,但不一定即时)。
现在参考图1,示出根据本发明的一个实施例的计算机实现的系统100。系统100用于配置至少第一可用性管理器102和第二可用性管理器104。系统100包括用户接口106,其中用户接口106从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)第一可用性管理器102,和(b)第二可用性管理器104。进一步,处理元件108在操作上与用户接口106通信,其中处理元件108至少部分地基于可用性管理目标,确定:(a)与第一可用性管理器102关联的至少一个设置,和(b)与第二可用性管理器104关联的至少一个设置。更进一步,控制元件110在操作上与以下项通信:(a)处理元件108,(b)第一可用性管理器102,和(c)第二可用性管理器104;其中控制元件110从处理元件108接收与第一可用性管理器102关联的至少一个设置,并且向第一可用性管理器102提供所关联的设置;以及其中控制元件110从处理元件108接收与第二可用性管理器104关联的至少一个设置,并且向第二可用性管理器104提供所关联的设置。
现在参考图2,示出根据本发明的一个实施例的弹性框架编排器系统管理组件(被示出为弹性框架编排器201)。如该图2中所示,弹性框架编排器201可以使用来自用户接口(未示出)的简化弹性设置203,然后编排在此描述的白盒可用性管理器和黑盒可用性管理器的部署和配置。在一个实例中,与弹性框架编排器201关联的功能可以位于该图2中所示的位置。在另一个实例中,与弹性框架编排器201关联的功能可以位于系统中的其它位置。在另一个实例中,可以将弹性框架编排器201产品化为现有系统管理产品(例如,IBM Systems Director、诸如TSAM之类的Tivoli产品,或者这两者)的组件。注意,该图2示出编排适用于一系列白盒可用性管理器(例如,TSA205A、PowerHA205B和WebSphere Cloudburst205C)和黑盒可用性管理器(例如,VMware207A、VMControl207B和VMControl207C)。如在此描述的,白盒可用性管理器负责管理AR209A、209B、209C的可用性,它们通常按照惯例由HA(高可用性)基础架构管理。也如在此描述的,黑盒可用性管理器负责管理虚拟机或逻辑分区,而不知道其内容或内部工作。尽管此处的大部分讨论专注于使用IBM TivoliSystem Automation产品作为白盒可用性管理器,使用IBM VMControl产品作为黑盒可用性管理器,但应该理解,这些仅是实例,并不表示范围限制,并且旨在是示例性的(非限制性的)。
如在此描述的,可以在IT环境的上下文中应用各种实施例,其中安装多个可用性管理器并且它们需要协同工作。
在各种实例中,可以将各实施例应用于IT环境,其中黑盒可用性管理器(例如,VMware HA服务、IBM的VMControl以及例如Amazon EC2中的基于云的可用性管理器)和白盒可用性管理器(例如,Veritas集群服务、Microsoft的集群服务、IBM的Tivoli System Automation以及IBM的PowerHA)处于使用状态(并且可以有利地同时使用)。
在一个实例中,可以通过“弹性框架编排器”(例如,软件组件;硬件组件;或者包括软件和硬件组合的组件)实现各实施例。
其它实例可以提供以下一项或多项:
●经由量化弹性层的简化可用性规范。单个可用性管理器的常规配置通常非常困难。预计(如果没有本发明)使可用性管理器交互以便更好地协同工作(例如在本公开的上下文中)的配置非常困难(如果并非几乎不可能)。因此,本发明实施例的一个贡献是通过定义一小组量化用户可见“弹性层”,简化可用性管理目标的规范,这些弹性层采用对客户有意义的术语表达。(这也可以称为级别、策略、目标或目的。在本公开中,我们将使用通用术语“弹性层”,并且应该理解它说明该通用概念。)例如,客户可以从以下项中选择:良好、更好、最好;或者金牌、银牌、铜牌;或者价值、标准、企业,或者甚至定量品质因数,例如经过适当量化的服务水平协议概率。注意,必须强调各种实施例提供将可用性管理器行为领域量化为某个对客户有意义的定义明确的行为组,而不是一组特定层或层定义本身。还应注意,可以以各种方式确定特定弹性层,例如以算法方式(例如,通过计算系统中的每个可用性管理器的每个行为组合,并且让一个弹性层表示每个组合),或者以手动方式(例如,通过让熟悉各种可用性管理器的人员根据对弹性层的能力和交互的分析和理解,定义弹性层)。
●将可用性规范变换为空间和行为组成目标。本申请公开空间和行为组成的概念,并且表明如何可以调整它们以便实现选定弹性层。在这点上,注意(如上定义)空间组成描述如何相对于彼此放置IT资源(例如,以便限制故障影响)。例如,将所有虚拟机放在单个物理服务器上,虽然最小化物理服务器的数量并因此最小化其成本,但让它们全部受到该单个物理服务器故障的影响,而将它们跨多个物理服务器分布则降低这种脆弱性。前者可以对较低弹性层有意义,而后者可以是较高弹性层需要的。在此公开了基于选定弹性层,自动确定满足该弹性层的要求所必需的应用、虚拟和物理资源的最佳分配和放置(空间组成的自动生成)。进一步,行为组成(如上定义)指如何将系统中的各种可用性管理器配置为协同工作以便对故障做出反应(例如,以便限制故障影响)。例如,在某些弹性层中,可以从处理故障中禁用黑盒可用性管理器,然而可以启用白盒可用性管理器。或者(例如),如果未安装白盒可用性管理器(例如,为了降低成本),则黑盒可用性管理器将单独负责处理故障。基于选定弹性层和安装的各种可用性管理器的能力,我们公开了自动确定每个可用性管理器的行为以便满足该弹性层的要求。
●将空间和行为组成目标变换为可用性管理器语法。如在此描述的,公开了一组量化弹性层的概念,以及独立于任何给定可用性管理器描述表征的空间和行为组成。提供了将这些空间和行为约束转换为给定安装中的每个可用性管理器理解的语法结构(例如,脚本、配置文件等)。例如,IBM的VMControl具有特定语法结构以便表达两个虚拟机不能位于同一物理机上。IBM的Tivoli SystemAutomation可用性管理器具有另一个语法结构以便表达两个应用不能位于同一虚拟机上。需要任何这种分离的给定弹性层必须以适当的语法结构表达分离。在这点上,在此公开了以下概念:将与选定弹性层关联的空间和行为组成转换为可由组件可用性管理器使用的语法结构。
●自动初始化和配置多个可用性管理器。如果给出弹性层、一组空间和行为组成目标,以及用于实现以组成的可用性管理器可以理解的语法结构表达的这些目标的一组定制规则,则还公开了以下过程:自动使用以可用性管理器语法结构表达的规则来初始化、配置和启动组成的可用性管理器,以便实现选定弹性层的目标。在一个实例中,弹性框架编排器(如在此描述的)执行这种初始化和配置。
●自动编排(例如,在运行时)组件可用性管理器之间的任何所需交互,以便确保它们平稳并且正确地互操作。一旦包括多个可用性管理器的系统启动并根据此处描述的初始化和配置过程运行,就可能在故障处理行为期间(或者在其它时间)需要弹性框架编排器干预,以便针对一个或多个可用性管理器实行实时控制。例如,在由黑盒可用性管理器和白盒可用性管理器两者管理的系统中,弹性框架编排器可能必须防止白盒可用性管理器将白盒可用性管理器的某些运行时动作解释为故障(例如主动迁移,其可能临时中断白盒可用性管理器的心跳,因此导致白盒可用性管理器无故响应)。为了处理所有这些情况,在此公开了以下过程:标识和自动编排组件可用性管理器之间的任何所需交互,以便确保它们在运行时平稳并正确地互操作,以满足选定弹性层的要求。
在一个实施例中,提供一种用于配置至少第一可用性管理器和第二可用性管理器的计算机实现的系统,所述系统包括:用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;处理元件,其在操作上与所述用户接口通信,其中所述处理元件至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;以及控制元件,其在操作上与以下项通信:(a)所述处理元件,(b)所述第一可用性管理器,和(c)所述第二可用性管理器;其中所述控制元件从所述处理元件接收与所述第一可用性管理器关联的所述至少一个设置,并且向所述第一可用性管理器提供所关联的设置;以及其中所述控制元件从所述处理元件接收与所述第二可用性管理器关联的所述至少一个设置,并且向所述第二可用性管理器提供所关联的设置。
在一个实例中,所述第一可用性管理器可以包括白盒可用性管理器,并且所述第二可用性管理器可以包括黑盒可用性管理器。
在另一个实例中,所述用户接口可以经由网络从所述用户处接收所述可用性管理目标。
在另一个实例中,所述可用性管理目标可以包括来自一组预定量化值的一个值。
在另一个实例中,可以经由所述用户接口为所述用户提供所述一组预定量化值。
在另一个实例中,所述用户接口可以被配置为从所述用户处接收对来自所述一组预定量化值的一个值的选择。
在另一个实例中,所述处理元件可以至少部分地基于所述可用性管理目标,确定与所述第一可用性管理器和所述第二可用性管理器关联的空间组成;可以在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映所述空间组成;以及可以在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映所述空间组成。
在另一个实例中,所述处理元件可以至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的行为组成,和(b)与所述第二可用性管理器关联的行为组成;可以在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映与所述第一可用性管理器关联的所述行为组成;以及可以在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映与所述第二可用性管理器关联的所述行为组成。
在另一个实例中,所述处理元件可以至少部分地基于所述可用性管理目标,确定:与所述第一可用性管理器和所述第二可用性管理器关联的空间组成;所述处理元件可以至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的行为组成,和(b)与所述第二可用性管理器关联的行为组成;所述处理元件可以至少部分地基于与所述第一可用性管理器关联的所述空间组成和所述行为组成,确定用于向所述第一可用性管理器表达与所述第一可用性管理器关联的所述空间组成和所述行为组成的语法结构;以及所述处理元件可以至少部分地基于与所述第二可用性管理器关联的所述空间组成和所述行为组成,确定用于向所述第二可用性管理器表达与所述第二可用性管理器关联的所述空间组成和所述行为组成的语法结构。
在另一个实例中,可以在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映用于表达与所述第一可用性管理器关联的所述空间组成和所述行为组成的所述语法结构;以及可以在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映用于表达与所述第二可用性管理器关联的所述空间组成和所述行为组成的所述语法结构。
在另一个实例中,所述配置可以包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
在另一个实例中,所述配置可以包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
在另一个实例中,所述配置可以包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
在另一个实施例中,提供一种用于配置至少第一可用性管理器和第二可用性管理器的在计算机系统中实现的方法,所述方法包括:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
在一个实例中,可以按照所列举的顺序执行所述步骤。
在另一个实例中,所述第一可用性管理器可以包括白盒可用性管理器,并且所述第二可用性管理器可以包括黑盒可用性管理器。
在另一个实例中,所述配置可以包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
在另一个实例中,所述配置可以包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
在另一个实例中,所述配置可以包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
在另一个实施例中,提供一种可由机器读取的程序存储设备,其有形地包含可由所述机器执行的指令程序以便执行一种用于配置至少第一可用性管理器和第二可用性管理器的方法,所述方法包括:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
在一个实例中,可以按照所列举的顺序执行所述步骤。
在另一个实例中,所述第一可用性管理器可以包括白盒可用性管理器,并且所述第二可用性管理器可以包括黑盒可用性管理器。
在另一个实例中,所述配置可以包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
在另一个实例中,所述配置可以包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
在另一个实例中,所述配置可以包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
在另一个实施例中,提供一种用于配置至少第一可用性管理器和第二可用性管理器的系统,所述系统包括一个或多个处理器单元,所述处理器单元被配置为:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
在另一个实施例中,提供一种制造品,包括:至少一个有形计算机可读设备,其中有形地包含计算机可读程序代码逻辑以便在至少一个处理单元中执行用于配置至少第一可用性管理器和第二可用性管理器的至少一个机器指令,所述计算机可读程序代码逻辑在执行时,执行以下步骤:提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
如在此描述的,描述了弹性框架的各种原理,该弹性框架允许客户以可使用的方式指定、部署、管理和分析复杂IT系统的弹性。还描述了各种客户需要,以及旨在满足这些需要的弹性框架原理。这些原理可以包括以下一项或多项:
○从复杂性中抽象而成的有意义的弹性层的定义;
○弹性层与客户价值度量的明确关联;
○实际IT系统中必不可少的多个可用性管理组件的操作的组成和协调;以及
○约束这些可用性管理器的行为以便限制通常为指数的组合式结构行为复杂性,并且使行为组成完全可行。
进一步,展示了使用这些原理中的某些原理指定、部署和管理IT结构的可用性,该IT结构包含(例如)x86服务器、Xen系统管理程序、SLES虚拟机、使用Tivoli System Automation作为应用级别可用性管理器以及VMControl的简化解释作为虚拟机级别可用性管理器的应用资源。
进一步,展示了使用分析技术将客户的简化弹性层和该弹性层中的所需品质因数(“FOM”)转换为通知弹性结构部署必需的参数。
进一步,公开了资源关系建模框架,其可以是强大的规范和分析工具,以便在系统生命周期中的不同点对各种弹性相关行为进行建模和理解。
在其它实施例中,可以提供一种弹性框架,其缓解在此讨论的部分或全部客户“痛点”。可以提供这些实施例以便具体支持以下一个或多个活动:
■指定工作负载及其弹性要求指定“工作负载”。工作负载可以包括非常大量(例如,数万)的异构应用和虚拟机映像。由于工作负载的规模,可能需要可抽象/分层的逻辑和图形表示。按照彻底简化模式,指定全部或部分给定工作负载的抽象弹性要求。注意,并非给定工作负载的所有元素都需要具有相同的抽象弹性要求。这可以通过以下操作实现:针对拓扑中的每个资源定义一小组可用性策略,并且定义从资源到其相关资源的一致映射(例如,包括行为约束),例如从中间件(例如,DB2、WebSphere、MQ)到OS、池、硬件的映射。
■指定托管环境托管环境可以表示可托管工作负载的相互依赖的(例如,建模的或实例化的)物理和/或逻辑资源。托管环境可以包括非常大量的异构物理和/或逻辑资源,可能在地理上分散到多个“云”中,这些云可以具有多个所有者(例如,内部与外部)。
■确定将工作负载放到其环境中计算将工作负载映射到托管环境的托管关系(放置),以便满足所有约束和要求。包括工作负载预测和提前预留。
■将工作负载部署到其环境中自动在托管环境中配置和初始化多个可用性管理器,以便支持工作负载的弹性要求。按照适当的顺序将工作负载部署到托管环境中并且提高效率。
■在环境中管理工作负载允许多个可用性管理器针对可能重叠的资源执行其功能,以便有利于客户并且具有最少的内部更改。
■监视托管环境监视托管环境并明确确定故障对相关组件的影响,并且随着环境更改,执行持续的弹性策略合规性监视。
■相对于托管环境分析工作负载开发资源关系模型,该模型足够丰富以便支持所需的弹性拓扑规范、分析和部署。分析现有或建模的托管关系以便判定是否满足所有约束和要求。这包括以下能力:经由动态调整任何所需资源属性,模拟资源利用、故障/错误等的波动。这可以包括评估给定拓扑是否满足给定弹性层,确定给定拓扑能够支持何种弹性层,模拟资源删除(故障)的影响。
在其它实施例中,可以应用以下一个或多个弹性框架原理:
○弹性层弹性框架的一个原理可以是将该环境中的可用性管理的所有方面简化到可能的程度。这种简化可以首先提取和严格限制提供给客户的可用性管理选项。在一个实例中,可以向虚拟机可用性管理领域(例如,VMControl)应用一组弹性层(例如,“金牌/银牌/铜牌”或者“良好/更好/最好”)。
○将弹性层明确关联/映射到客户价值度量每个层不仅可以按照名称表征,而且还可以采用与其业务相关的术语按照以下项表征:(1)其对客户的价值,和(2)其对客户的成本。在一个实例中,每个层的一组定量弹性品质因数可以表达潜在故障的业务影响,以及该层的资源成本。
○支持多个自动协调可用性管理器为了实现可能需要的简化级别,该框架中可能需要定义多个可用性管理器功能并将它们捆绑到合理的包中,其中它们均可以自动执行,对它们进行测试,将它们作为实体交付,并且提供生命周期实体管理。
○受限行为弹性框架的另一个原理可以是不仅包含和利用各种可用性管理子系统的自动恢复操作,而且还谨慎地约束这些子系统的行为范围,从而认识到这种大量可能行为通常导致子系统在过去如此难以使用。这尤为重要,因为弹性框架的一个重要功能可以是将来自多个可用性管理器的行为组成为一致和交互的整体,并且如果组件行为本身不受约束,则可以使该操作更加困难。因此,在一个实例中,可以创建明确定义和有限数量的资源特定恢复操作。
在其它实施例中,可以应用以下一个或多个弹性框架元素(弹性框架可以位于整体系统管理结构的上下文中,如图3中所示),其允许客户机:
○选择应用及其弹性层(图3的元素301)。还可以选择应用的定量品质因数。
○基于弹性层和品质因数,创建弹性模式(可以存储在库中以便将来重用)(图3的元素303)。
○使用诸如Rational或TSAM之类的常规部署工具,实例化和部署弹性模式(图3的元素305)。
○支持正在执行的弹性结构的运行时管理和分析(图3的元素307)。
现在将参考根据另一个实施例的实例工作负载模型。
在该实例工作负载模型中,定义和理解将工作负载部署到复杂弹性结构中并且配置这些结构的分支中的一个步骤是明确指定工作负载本身的特征和要求。因为需要支持的大量工作负载通常不可能有单一描述,所以在该实例中,我们标识可以将工作负载分类到其中的公共区别轴,客户可以使用它“标记”其工作负载,并且它通知弹性服务的一致配置和操作。
在该实例中,我们尤其专注于通知可用性管理的那些轴,从而认识到(并且针对该实例忽略)来自其它管理准则的因素(例如性能和安全性)可能与可用性管理强交互。
出于该实例的目的,工作负载包括一个或多个“应用资源”,例如客户定义的特定任务,其中某一数量的任务必须可用于实现客户的业务目标。客户的工作负载中可以具有多个应用资源(AR)。在该实例中,每个AR被视为原子可管理应用资源,例如进程、容器、HA资源或进程组,它们的可用性可以潜在地由诸如HACMP、TSA、Veritas集群服务、WPAR管理器、LinuxHA、WebSphere CloudBurst、DB2HA/DR或Microsoft集群服务之类的白盒可用性管理(WAM)产品管理。
在该实例中,客户的应用资源集合部署在包括一个或多个操作系统、系统管理程序和物理服务器的基础架构上。因为该实例专注于虚拟化环境,所以假设操作系统以及在其中执行的任何应用资源和关联的可用性管理封装在虚拟机中。
在该实例中,将服务降级事件定义为减少操作中的应用资源数量的任何资源中断(例如,应用资源、操作系统、系统管理程序或物理服务器)。
在该实例中,任何工作负载都具有固有的功能特征,例如其组件(在这种情况下为AR)如何相关或独立协同工作,如何在它们之间分配工作,以及在发生故障的情况下必须如何恢复它们。简单的分类实例为:
○服从应用级别(即,白盒)可用性管理<->不服从应用级别AM
○独立工作负载单元<->相关工作负载单元
○粒度可扩展<->不可扩展
○可从容降级<->不可从容降级
○无状态<->有状态
在一个实例中,应用可以服从包括独立工作负载单元的WAM,粒度可扩展,并且可从容降级。在一个实例中,不会针对应用资源的有状态性做出特定假设,因为这可以被视为WAM恢复脚本的内部问题。
在一个实例中,客户的工作负载及其独有的弹性品质因数(“FOM”)可以确定弹性的最低成本(例如,空间组成)资源分配策略(例如,在弹性层中)。
在该实例中考虑的主要FOM是面向可靠性的工作负载(例如,SOA或电子商务工作负载),其中主要问题是在任何给定时间点满足最低服务水平协议。这些工作负载通常需要给定的最少数量应用资源始终可用以便提供可接受的吞吐量,并且受一个或多个服务降级事件(SDE)在任何给定时间禁用的应用资源数量的影响。对于这种面向可靠性的工作负载,在该实例中断言要最小化的FOM是满足SLA所需的少于给定基准数量的应用资源在任何时间点始终可用的概率,以及当发生这种情况时AR短缺的持续时间。
在一个实例中,可以将该特定FOM表示为:P(SLA Violation)。这可以是用户向弹性编排器提供的参数,其用于允许编排器判定应该在何处以及如何跨IT系统分配资源以便实现弹性目标。
在该实例中,可能感兴趣但未显式计算的其它弹性相关品质因数包括(但不限于):
○由可能长时间运行的网格型应用例示的第二大类工作负载,其中在某一时间间隔内可用的预期应用资源数量是要最大化的量。这些工作负载通常涉及的任何给定SDE的点影响不大于在某一时间段内发生的所有SDE的总影响(就在该时间内不可用的应用资源小时而言)。这可以更大程度上被视为面向可用性的工作负载。对于这种面向可用性的工作负载,要最小化的FOM可以是在某一时间段内相对于某一基准期望应用资源数量,由于服务降级事件而失去的应用资源小时总数。
○每年的服务降级事件
○预期的服务降级事件持续时间
○每个服务降级事件影响的应用资源数量
在各种实施例中,可以提供分析框架,其允许计算和最小化其它FOM,因为这些FOM被确定为很重要。
现在参考成本品质因数,在一个实例中,对于每个工作负载、弹性层(和结果映射)以及组件成本,可以将实现该层所需的服务器、系统管理程序实例、操作系统实例和各种许可的数量相加。但是,在这点上,成本计算元素可以是执行特定可用性管理子系统的空间和时间开销的准确预测。在可行的范围内,这些成本可以基于定量基准测试。
现在将参考根据本发明另一个实施例的服务器弹性层定义。在一个实例中,可以针对计划外中断和计划中断,考虑服务器及其关联的软件栈和工作负载的弹性。计划外中断可以包括对IT栈中任何元素的可靠性的任何不可预测的损害。在计划中断的标题下,可以包括预测故障以及用户无论由于何种目的而启动的选定IT元素中断。
在一个实例中,用于计划外和计划中断的弹性层是解耦的,因为客户可能需要针对这两种中断具有不同级别的能力。将计划中断和计划外中断的处理捆绑到单一级别时,解除两种中断的捆绑以增加灵活性(如在演示中确定的)通常具有压力。但是,在该实例中,为了概念简单性,可以在用于这两种情况的层之间保持并行性。
术语“恢复”用于指示在发生故障之后恢复资源(例如,VM或更高级元素)的操作。可以具有多种形式的恢复,范围为从引导映像恢复,到重新启动应用,到从(微)检查点恢复。术语“撤离”用于指示资源(例如,VM或更高级元素)要从容地从报废元素迁移到IT栈中的批准元素。撤离模式的范围可以从虚拟机的已知主动迁移能力,到受影响组件的彻底关闭和重新启动。
与计划外中断相关的各种实例包括以下项:
○5层–物理服务器、虚拟机和应用资源(包括中间件)故障的自动恢复。向用户通知事件和解决方案。
○4层–物理服务器和虚拟机故障的自动恢复。没有AR故障的自动恢复。向用户通知事件和解决方案。
○3层–某些自动恢复过程,但需要人为干预以便恢复。
○2层–状态信息可用,用于恢复的指导式手动过程。
○1层–状态信息可用(可能为手动过程),用于恢复的非指导式手动过程。
○0层–系统故障,不知道用于恢复的状态或步骤。
与计划中断相关的各种实例包括以下项:
○5层–响应于物理服务器、虚拟机和应用资源(包括中间件)事件的自动撤离。向用户通知事件和解决方案。
○4层–响应于物理服务器和虚拟机事件的自动撤离。没有响应于AR事件的自动撤离。向用户通知事件和解决方案。
○3层–某些自动撤离过程,但需要人为干预。
○2层–状态信息可用,用于撤离的指导式手动过程。
○1层–状态信息可用(可能为手动过程),用于撤离的非指导式手动过程。
○0层–系统受损,不知道用于撤离的状态或步骤。
现在将参考根据本发明的一个实施例的弹性能力的自动层内配置。在一个实例中,上面描述的弹性层可以主要由包括这些层的软件资源和关联管理结构的能力定义。在每个层中,可以基于用户对所需弹性FOM的指定,自动设置这些资源的组成和配置(包括冗余级别、冗余管理策略、位置约束等)。在本文其余部分描述了简单优化计算的一个实例。
在一个实例中,可以通过客户输入覆盖任何这种自动选择的配置。在这种情况下,弹性框架的弹性审计能力可以负责向客户定量指示这种覆盖的影响。
现在将参考根据本发明的一个实施例的组成。在一个实例中,使多个可用性管理器一致地协同工作可以是高维问题。弹性框架可以容纳、抽象和协调受管资源的组成以及资源管理器。在该实例中,可以存在三个主要的可组合性维度:垂直-水平组成、空间组成以及行为组成。在针对解决高维可组合性问题定义有用的弹性框架中,存在的挑战是在该空间中隔离有用的轴和主题,分析它们,并且证明可以实现它们。现在将参考根据本发明的一个实施例的垂直、水平和混合组成。复杂的弹性结构可以包括多个可用性管理器,每个在它自己的控制域中操作。
在某些情况下,给定AM的受管资源将封装在另一个AM的受管资源中。这种情况的一个实例是当诸如TSA之类的WAM在集群(该集群本身运行在VAM(黑盒可用性管理器)管理的虚拟机集合上)上运行时。使负责这些嵌套资源的AM一致地协同工作的重要问题称为垂直组成。
在其它情况下,可以存在由一个或多个AM管理的分散资源组。这种情况的一个实例是其中一个服务器和应用资源集合位于一个裸机TSA集群中,而另一个分散但相关的服务器和应用资源集合位于裸机HACMP集群中。使负责这些分散资源的AM一致地协同工作的问题称为水平组成。
垂直组成的受管资源还可以在某些级别被水平组成。例如,由TSAWAM管理的资源可以位于由VAM管理的VM集合的一个子集上,并且由HACMP WAM管理的资源可以位于由该同一VAM管理的该VM集合的另一个子集上。此问题在此称为混合组成(在一个具体实例中,可以考虑与HACMP集群协同工作的TSA集群(它们都不由VAM管理),或者可以考虑VAM管理的两个集群(例如一个在x上,一个在P上,它们必须协同工作))。
现在将参考根据本发明的一个实施例的空间组成。垂直、水平或混合组成结构(例如,弹性IT结构)的实现需要考虑如何针对对等资源和针对组成这些结构(和/或这些结构所依赖)的资源,在空间定位活动和不活动(即,备份)资源,如在此描述的那样。这称为空间组成问题,并且通常通过不同管理器可以收集的并置、反并置、亲和性和反亲和性约束集合确定。这些要求影响虚拟机中的应用(白盒)资源、物理服务器中的黑盒VM以及数据中心中的物理服务器的初始和后续放置、故障转移和迁移。在一致的弹性配置中,通常必须始终共同满足所有这些约束。
在一个实例中,以下操作可以是关键属性:基于弹性层和用户的弹性品质因数的定量指定,自动确定和实现适当的空间组成约束。
因为许多管理问题可以收集空间组成约束,所以构造管理域中性的分类很有用。一个实例—弹性激发的成对约束的层次结构—可以定义如下(仅针对故障给出反并置约束实例,但还可以具有并置的计划维护方面):
●站点—资源必须在不同站点中,以便单一站点故障不会同时禁用指定的活动或不活动(即,备份)资源。
●域—资源必须在不同IT(例如,故障包含区域、SPOF、网络、电源、存储、管理)域中,以便单一IT域级别故障不会同时禁用资源。
●机架—资源必须在不同机架或子机架基础架构中,以便单一机架或子机架范围故障不会同时禁用资源。
●服务器—资源必须在不同服务器中,以便单一服务器硬件故障不会同时禁用资源。这是在VAM系统中表达的典型反并置级别。
●OS—资源必须在不同OS中,以便单一OS实例故障不会同时禁用资源。但是,如果未断言服务器反并置并且使用虚拟化,则单一物理服务器故障可以同时禁用它们。
●容器—资源必须在不同容器中,以便单一容器故障不会同时禁用资源。但是,如果未断言OS反并置,则单一OS故障可以同时禁用它们,并且如果未断言服务器反并置并且使用虚拟化,则单一物理服务器故障可以同时禁用它们。
●无—没有关于资源的反并置约束。
在另一个实例中,协调的可用性管理器(AM)操作的两个关键元素可以是:(1)在可用性管理器之间正确解释和传送空间组成要求;以及(2)将一组给定空间组成要求准确地变换为特定可用性管理器的通用语言。因为不同的AM通常具有不同的放置接口、能力和底层模型,所以通常不会将单个放置模型应用于所有可用性管理器。因此,以下操作可以很重要:能够从下面描述的通用放置约束概念转换为给定AM的特定放置能力。
现在将参考根据本发明的一个实施例的行为组成。在该实例中,行为组成指除了禁用一个或多个AM的简单但有时不可避免的原理之外的原理,组合式可用性管理器响应于故障而使用这些原理动态互操作。可以具有多个复杂因素。组合式AM机制可以干预,AM机制可以在给定AM中不一致,并且根据事件类型不一致(例如,Web/应用/数据库服务器AM机制可以在给定弹性层中有所变化)。
在一个实例中,行为组成可以主要由弹性层的规范确定,并且其次由组成的可用性管理器中的详细配置参数(例如心跳间隔、检查点间隔等)的设置确定。
一个重要的弹性框架原理可以是寻找互操作性模式,其中组成中的可用性管理器不需要修改以便在该组成中一致地操作。因此,在一个实例中,解决方案不需要修改例如HACMP或VMControl。相反,操纵现有功能和接口以便实现一致的互操作性。这可以通过另一个弹性框架原理促进,该原理可以用于将组成的可用性管理器的可能行为限于明显小于它们能够的数量。
多个管理器的这种受限组成可以由称为弹性框架编排器(例如参见图2)的系统管理实体执行。在一个实例中,这种弹性框架编排器可以提供一个或多个有用的聚合行为。
现在将参考根据本发明的一个实施例的体系架构设置。“弹性框架编排器”可以使用来自用户接口的简化弹性设置,然后编排白盒和黑盒可用性管理器的部署和配置。图2示出其中可以驻留该功能的一个实例。在一个具体实例中,可以将“弹性框架编排器”产品化为现有系统管理产品(例如IBM Systems Director)、Tivoli产品(例如TSAM)或者这两者的一个组件。
在一个实例中,可能希望弹性框架编排器不在编排对故障的响应中具有运行时角色(在该实例中,该功能可以是单独可用性管理器的职责,单独可用性管理器可以处理其业务,而不知道它们是较大弹性管理结构的一部分)。在另一个实例中,弹性框架编排器可以在编排对故障的响应中具有运行时角色。
现在将参考根据本发明的一个实施例的地理分散的灾难-弹性。
在各种实例中,弹性框架还旨在描述具有以下能力的IT结构:在地理上分散,并且容忍通过站点级别空间组成术语描述的计划和/或计划外站点级别中断。
图4示出使用IBM的系统管理产品的地理分散的灾难-弹性配置的一个实例,其包括站点A(框图元素401)和站点B(框图元素403)。每个站点包含能够支持应用的物理服务器资源以及工作负载的虚拟资源。该配置可以被视为以主动-主动或主动-被动模式运行。该实例将涉及支持主动-被动模型的配置。
在该实例中,Tivoli Systems Automation(TSA)产品负责确定站点受损,以及需要恢复工作负载或者以其它方式将工作负载迁移到另一个站点(作为整个站点故障、整个站点计划中断或者部分站点故障的结果)。在每个地理分布的站点中,TSA包含关于服务器(或VM)的至少一个实例。它执行跨站点心跳和某些元数据的交换,监视它所在的站点,并且编排资源在主站点上的清除以及资源在辅助站点上的提供。
在该实例中,IBM System Director的VMControl功能负责站点中的黑盒VM的详细监视和操纵(包括可用性管理)。为此,ISD/VMC的至少一个实例位于每个站点上。TSA包含脚本,其负责经由调用VMControlREST API,在给定硬件池上提供虚拟机。根据在此描述的原理,如果适于使用弹性框架编排器同样一致地部署和配置白盒可用性管理器,则可以扩展该脚本。
在该实例中,该脚本还负责配置虚拟机所需的共享存储器。这包括确保将来自主站点的VM元数据(OVF文件等)和其它元数据复制到某个位置,辅助站点可以从该位置访问该数据并且执行VM恢复。这可以经由使用共享存储的常规复制特性(例如,高端存储系统中的PPRC)实现,或者使用更高级的基于云的存储方案实现。
现在将参考根据本发明的一个实施例的使用虚拟化的容灾(参见图5)。
演示模拟以下能力的原型:检测和编排将虚拟机集合的较小站点范围故障转移到备份站点。该项目展示多种方法(但不一定是灾难恢复(DR)解决方案的基本原理的所有方法)。
在该实例中,创建两个x86服务器集合(类似于站点),每个集合能够运行CAM(连续可用性管理器)产品(参见元素507和509)。(该CAM产品在2007年作为Director虚拟系统管理产品的一部分发布。)开源LinuxHA产品监视两个站点(参见元素501—广域集群;503—集群控件;以及505—集群控件)。编写多个LinuxHA脚本以便编排站点监视、数据复制和站点故障转移。编写“sitemon”脚本以便判定CAM集群是否操作,并且使用专用CAM命令行API(相当于最终的VMC REST API)在另一个站点上提供CAM集群。实现“replicamon”脚本,其负责每当向CAM集群中添加新VM时,将VM映像复制到辅助站点,并且确保将该VM重新启动所需的记录复制到辅助站点。在站点故障转移时,将该信息提供给虚拟资源放置服务的研究版本,以便确定将VM放在辅助站点上的何处(未假设主站点和辅助站点相同)。基于推荐的放置,sitemon脚本在辅助站点上的物理服务器上部署和启动VM。
在该实例中,没有在运行时将VM映像和数据从主站点复制到辅助站点。如上所述,仅当在主站点上实例化VM时,才复制映像和数据。更频繁地更新辅助站点的映像和应用数据是一种能力,其可以应用于可用DR解决方案,并且(在一个实例中)可以利用IBM的数据地理复制产品和研究活动。
在该实例中,使用专用CAM命令行API执行在辅助站点上实例化VM。在另一个实例中,可以使用VMControl REST API执行在辅助站点上实例化VM。
在该实例中,使用LinuxHA集群产品。在另一个实例中,可以使用IBM TSA产品。
现在将参考根据本发明的一个实施例的垂直组成的白盒和黑盒可用性管理器。在演示中,关于白盒和黑盒可用性管理器协同工作的可行性,根据弹性框架原理和选定弹性层,执行以下操作:通过自动创建和执行基于弹性层配置可用性管理器的脚本,在两个弹性层下使用两个垂直组成的可用性管理器进行部署和故障处理。
针对垂直组成的可用性管理器,在该实例中,实现针对VMControl产品建模的简单虚拟机可用性管理器。该软件具有以下能力:检测物理服务器或VM出现故障,并且通过通知用户或者重新启动受影响的VM(在隔离VM故障的情况下,在本地重新启动,或者在物理服务器故障的情况下,在另一个物理服务器上重新启动)来响应该故障。这种简单的VAM使用脚本实现,并且能够管理x86硬件上的Xen VM的可用性。在该实例中,在VM中使用SLES10操作系统。
在该实例中,使用Tivoli Systems Automation产品在Xen VM中实现白盒可用性管理器。该产品具有以下能力:监视用户定义的应用资源(例如进程和其它用户级别对象)的运行状况,并且重新启动它们(使用其资源特定的恢复脚本)或者忽略故障,具体取决于弹性层。如果启用,则执行资源恢复,在隔离资源故障的情况下,在本地执行,或者在OS或服务器故障的情况下,在另一个OS上执行。在另一个实例中,可以应用基于HACMP(或PowerHA)和WebSphere的更复杂白盒行为。
针对空间组成和控件,在该实例中,空间组成指如何将受管资源放到其包含资源中。注意,在几乎任何弹性层中,都可能需要在某种程度上考虑空间组成。
在该实例中,具有两组受管资源:应用资源和虚拟机。使用TSA实现应用资源放置(在该实例中),使用VMControl管理VM放置(在该实例中)。
针对分散,出于本公开的目的,速记符号适合于在垂直组成结构中跨其包含资源分散资源的程度。
更具体地说,定义实值“应用资源分散”,其确定如何跨虚拟机分配这些AR。AR_Dispersion为0意味着将AR全部放在一个VM上,AR_Dispersion为1意味着将每个AR放在不同VM上。中间值意味着相应中间分散程度。在该实例演示中,仅可实现少量的AR_Dispersion因数,因为x86服务器上的有限磁盘空间限制了可以实例化的VM映像数量(3)。
同样,定义实值“虚拟机分散”,其确定如何跨物理机分配VM。VM_Dispersion为0意味着将VM全部放在一个物理机上,VM_Dispersion为1意味着将每个VM放在不同物理机上。在该实例演示中,仅可实现少量的VM_Dispersion(0和1),因为演示仅具有四个物理机。
在图6A的实例中示出这些分散的效果,其中垂直地组成应用资源601A-601D、虚拟机603A-603D和物理服务器605A-605D。
该实例的演示支持AR_Dispersion为0和1。AR_Dispersion为0意味着可以将所有应用资源放到单个OS映像中,AR_Dispersion为1意味着不应将任何两个应用资源放到同一OS映像中。
在该实例中,可以通过以下因素增强每个层,其中每个因素可以强烈影响层中的弹性品质因数,并且可以基于客户的弹性要求自动确定每个因素。
●工作负载要求之外的其它应用资源数量。
●实值“应用资源分散”,其确定如何跨虚拟机分配这些AR。AR_Dispersion为0意味着将AR全部放在一个VM上,AR_Dispersion为1意味着将每个AR放在不同VM上。中间值意味着相应中间分散程度。
●实值“虚拟机分散”,其确定如何跨物理机分配VM。VM_Dispersion为0意味着将VM全部放在一个物理机上,VM_Dispersion为1意味着将每个VM放在不同物理机上。
现在将参考根据本发明的一个实施例的白盒空间组成的解释和实现。
在TSA中,在创建资源的脚本中使用mkrel命令执行应用资源的OS级别反并置约束的指定(尽管可以在定义资源之后的任何时间执行mkrel)。在一个实例中,弹性框架编排器基于弹性层和AR_Dispersion自动生成TSA关系,并且将这些关系插入到资源创建脚本中。如果AR_Dispersion等于0,则不需要反并置约束。以下自动生成的脚本片段描述了三个反并置(例如,AR_Dispersion=1)应用资源“wally”、“betty”和“elizabeth”的集合。
mkrel-p AntiAffinity-S IBM.Application:betty-G IBM.Application:wallybetty_anticolloc_wally
mkrel-p AntiAffinity-S IBM.Application:elizabeth-G IBM.Application:wallyelizabeth_anticolloc_wally
mkrel-p AntiAffinity-S IBM.Application:wally-G IBM.Application:bettywally_anticolloc_betty
mkrel-p AntiAffinity-S IBM.Application:elizabeth-G IBM.Application:bettyelizabeth_anticolloc_betty
mkrel-p AntiAffinity-S IBM.Application:wally-G IBM.Application:elizabethwally_anticolloc_elizabeth
mkrel-p AntiAffinity-S IBM.Application:betty-G IBM.Application:elizabethbetty_anticolloc_Elizabeth
注意,在该有限资源演示中,使用反亲和性约束代替反并置约束。这允许TSA跨OS分配资源,此时OS足以用于支持整个反并置,但在将OS数量降低到少于资源数量的OS故障的情况下并置资源,因此尽管在不期望的并置状态下也保持所有资源在线。当足够的OS映像在线以便支持整个反并置时,TSA重新分配资源。
现在将参考根据本发明的一个实施例的黑盒空间组成的解释和实现。
在虚拟机可用性管理器中,使用虚拟资源放置服务建议(VRPS)接口指定服务器级别反并置。基于VM_Dispersion因数,可以动态创建这些反并置建议,并且在请求VM放置之前将它们提供给VRPS。
以下XML实例片段示出VRPS合并建议的句法,该建议指示VMwebsrv2和websrv3不能位于同一物理机上。当VM_Dispersion等于1时,在该实例中针对所有VM设置类似的成对反并置。注意,维护这些约束,并且当要求VRPS在服务器发生故障或退出服务的情况下计算重新放置时实施这些约束。
现在将参考根据本发明的一个实施例的行为组成控件。
在该实例中,选定弹性层主要影响可用性管理器的行为组成。在该弹性框架演示中创建的任何组成中,未修改各种可用性管理器的行为。
在该实例中,当选择弹性层5时,VAM和WAM均被激活并且能够响应故障。注意(在该实例中)必须在初始部署时或者在故障恢复之后使VM反并置约束与AR反亲和性约束保持一致。弹性框架负责这一点,因为WAM或VAM通常互不知晓。
下面表1示出在故障模式下执行的操作,这些操作在该实例(弹性层5)中展示。注意,通用术语“恢复”在该演示中指重新启动应用资源或VM,但在更复杂的VAM和WAM策略中,它可以表示更复杂的恢复机制,例如“从检查点恢复”。
表1—执行的操作
当在该实例中激活弹性层4时,激活VAM但停用WAM。这对应于通常由常规黑盒虚拟机可用性管理器提供的可用性管理级别。下面表2示出该实例的该层的故障处理行为(弹性层4)。
表2—执行的操作
在另一个行为组成实例中:
●白盒
○如果请求弹性层5,则弹性编排器使用TSA samctrl-M F命令自动启用完全TSA自动化(导致白盒可用性管理)。如果请求弹性层4,则弹性编排器使用TSA samctrl-M T命令自动禁用TSA自动化。
●黑盒
○在层4和5中均启用黑盒可用性管理。当针对较低弹性层禁用黑盒可用性管理时,使用适用于选定黑盒可用性管理器的API执行该管理。
例如,如果使用IBM VMControl产品,则可以将其配置为经由其外部发布的REST API响应或不响应相关故障—http://publib.boulder.ibm.com/infocenter/director/sdk/index.jsp?topic=/com.ib m.vmcontrol.ws.doc/html/vmc2_2_api_sdk.html(其全部内容在此引入作为参考)。
现在将参考根据本发明的一个实施例的演示结构(参见图6B)。
针对该实例的受管环境,方框685A、685B、685C和685D表示用于托管VM和AR的x86物理服务器集合。这种异构服务器整体(ensemble)以不同方式运行Xen系统管理程序(其中SLES10或SLES11在dom0中运行,参见方框690A、690B、690C和690D)、Red Hat裸机、Windows裸机和Windows Hyper-V。共享存储器不可用,因此直接将所有VM映像放在物理服务器的本地存储器中。此外,不将虚拟可用性管理代理代码本身放到dom0中—在该演示中,经由受管系统外部的ssh监视实现所有VM和服务器故障检测。
在该实例整体中,所有VM(方框683A、683B、683C)基于SLES10,并且仅与基于SLES10的系统管理程序兼容。因此,检测服务器的体系架构能力,并且实施虚拟资源放置服务中的体系架构兼容性约束能力以便防止不兼容的放置。这通过以下操作自动确定:检查VM的vmconfig文件,将其内容与获得的物理服务器的OS参数相比较,并且适当地设置VRPS约束文件。
该实例的每个VM都预先安装了Tivoli System Automation(方框684A、684B、684C)(尽管在另一个实例中,弹性编排器(方框686)可以在部署时安装它)。此外,配置每个VM以便它能够运行任何或全部应用资源(方框681A、681B、681C)。注意,每个VM/Tivoli System Automation组合683A/684A、683B/684B、683C/684C都具有在方框699/698示出的类型。进一步,注意每个应用资源681A、681B、681C都具有在方框697示出的类型。
针对该实例的管理组件,提供各种组件,它们负责管理受管环境的初始部署和运行时可用性。
在该实例中,可以实现“简单便携式可用性管理器”(SPAM)(方框687)代替产品级别VMControl软件。另请参见图7,其示出简单便携式可用性管理器窗口701和websrv1窗口703。在该实例中,该SPAM组件负责收集所有硬件和软件清单,评估物理服务器及其关联的系统管理程序的运行状况,检测体系架构不兼容性,并且评估它负责的每个VM的运行状况。
当要求执行VM部署时,SPAM引入物理和虚拟服务器列表以及弹性层,动态构造包含体系架构兼容性和反并置约束的VRPS建议文件,从VRPS原型代码请求放置,并且使用ssh会话执行将VM放置到dom0中。当要求执行运行时可用性管理时,SPAM使用到dom0的ssh命令以及到VM本身的ssh命令,监视它负责的所有VM以便评估其运行状况。如果VM发生故障,则SPAM指示dom0确认删除VM,然后在同一服务器上重新启动该VM。
SPAM还使用到dom0的ssh命令监视所有物理服务器。如果一个或多个物理服务器发生故障,则SPAM从其配置文件中删除该物理服务器(多个),对VRPS进行另一个调用以便确定孤立虚拟机的新放置,并且针对这些VM执行重新部署过程。
当(例如)启用弹性层5时,Tivoli Systems Automation使用资源管理脚本的“监视”方法监视所有应用资源,并且当确定资源失败时,在本地或远程执行“启动”脚本。弹性框架编排器按照下面描述的方式配置TSA。在该实例中,配置、初始化并且在较小程度上编排上述组件的中央组件是弹性框架编排器。它引入应用资源及其关联TSA资源定义文件和管理脚本列表、VM列表、物理服务器列表、弹性层以及AR_Dispersion和VM_Dispersion。
当要求部署特定弹性层时,编排器(在该实例中)执行以下功能:
1.部署VM。这需要获得物理服务器整体的描述,创建体系架构兼容性约束,基于VM_dispersion创建VM反并置约束,计算初始VM放置,并且使用到dom0的ssh命令部署和启动VM。
2.部署TSA应用资源。这需要获得部署的VM的描述,基于AR_dispersion计算AR反亲和性约束,创建TSA AR定义,创建TSA域和AR部署脚本(如果需要,则包括上面列出的mkrel命令),并且最后使用到选择用于托管资源的VM的ssh命令启动TSA资源。
a.如果请求弹性层5,则使用TSA samctrl-M F命令启用完全TSA自动化。
b.如果请求弹性层4,则使用TSA samctrl-M T命令禁用TSA自动化。
在一个实例中,上述各种故障恢复中未涉及编排器。在另一个实例中,可以在各种故障恢复中涉及编排器。在这点上,考虑以下情况,其具有其中采用WAM和VAM两者的弹性层5配置:
1.当由于VM故障或服务器故障而导致VM消失时,TSA通常首先响应并且在另一个VM上恢复受影响的AR(这可以导致可能需要管理的争用条件)。TSA驱动的恢复可能违反也可能不违反AR反亲和性约束,具体取决于在故障之后剩余多少个VM。这对于当前点并不重要。
2.因为采用VAM,所以最终将在同一物理服务器或另一个物理服务器上重新启动该VM。在一个实例模型中,可以从任意状态重新启动VM映像,范围从崩溃的VM映像到已设置检查点的VM,到原始VM映像。
3.如果没有全面调查该恢复的映像的配置,则通常无法知道已针对该VM映像执行何种TSA配置,因此最安全的做法是从映像的完整TSA配置开始。可能需要其它参与,因为取决于故障映像的状态,它可能自动重新加入TSA集群,或者它(和TSA集群本身)可能必须被重新配置以便允许该VM重新加入集群。
4.因此,在一个实例中,编排器必须对VAM恢复的任何VM映像执行TSA配置。该实例演示执行完全恢复弹性配置所需的所有已知配置,但这并没有指出故障恢复中可能需要涉及编排器。
现在将参考根据本发明的一个实施例的用于部署的多个高级命令(该部分包含弹性框架编排器演示使用的主要脚本的列表和简要描述):
RF_deploy_Framework<Resilience_Tier><AR_dispersion><VM_dispersion><Physical Server List><Virtual Machine List>
该顶级脚本经由调用下面描述的较低级脚本,部署VMS,准备TSA集群,以及部署TSA应用资源。在该演示中,TSA资源在脚本自动扫描的单独目录中列出。在另一个实例中,目录路径是参数。
RF_deploy_VMs<Resilience_Tier><VM_dispersion><PhysicalServer List><Virtual Machine List>
该脚本在<Physical Server List>上的<Virtual Machine Lis>上部署和启动VM,并且根据弹性层设置反并置约束和可用性管理。
RF_prep_TSA_cluster<Resilience_Tier><AR_dispersion><VirtualMachine List>
该脚本准备和启动包括<Virtual Machine List>的TSA域,以便接受应用资源。
RF_deploy_TSA_resources<Resilience Tier><AR_dispersion><Virtual Machine List>
该脚本基于包含在单独目录中的期望TSA资源列表,动态创建TSA元数据(资源管理脚本和资源定义文件)并且将其部署到<Virtual MachineList>。该例程还创建和执行mkrel命令以便创建任何所需的反亲和性约束,以及创建和执行samctrl命令以便启用或禁用TSA自动化。
RF_recover_VM_TSA<Resilience_Tier><VM_dispersion><VirtualMachine List><Physical Machine List>
该脚本负责在VM故障之后编排VM恢复。基于假设按照<VirtualMachine List>指示运行的虚拟机、按照<Physical Server List>指示的当前可用物理服务器,该脚本判定是否缺少任何VM,根据弹性层计算所述VM的放置,并且部署和启动它们。
此外,它执行少许WAM/VAM编排,因为它必须等待TSA集群通知(或不通知)新恢复的VM,并且如果未将VM正确添加到TSA集群,则强制TSA集群接受它。
SPAM<Resilience Tier><Physical Server List><AutomatedRecovery Mode>
在后台启动该脚本以便定期轮询物理服务器列表,确定在它们上运行的虚拟机,并且如果VM缺少并启用自动恢复模式,则调用RF_recover_VM_TSA。
各种实用工具脚本(此处未列出)可以注入应用资源、虚拟机和物理服务器故障,恢复故障组件,关闭TSA资源,解散TSA集群和/或关闭虚拟机集合。
现在将参考根据本发明的一个实施例的多个实例演示方案(在该演示中,具有四个能够运行工作负载的物理服务器、三个VM和三个AR):
1.弹性层4部署和操作
1.1.RF_deploy_Framework Tier4,AR_dispersion=1,VM_dispersion=1(无WAM,仅VAM)
1.2.弹性层4应用资源恢复
-射中AR,显示没有发生恢复,因为WAM不存在
-手动恢复AR
1.3.弹性层4VM恢复
-射中VM,显示发生VM恢复
-但没有AR恢复,因为WAM不存在,并且AR未在OS初始化表中
-手动恢复AR
2.弹性层5部署和操作
2.1.RF_deploy_Framework Tier5,AR_dispersion=1,VM_dispersion=1(WAM和VAM)
2.2.弹性层5应用资源恢复
-射中AR,显示发生恢复
2.3.弹性层5VM恢复
-关闭SPAM自动恢复,因此可以控制如何快速发生操作。
-射中VM,显示在另一个VM上发生AR恢复
-手动恢复VM,显示该VM重新加入TSA域,并恢复AR冗余
2.4.弹性层5物理服务器恢复
-射中物理服务器,显示发生AR恢复
-在另一个服务器上手动恢复VM,显示恢复AR冗余
现在将参考根据本发明的一个实施例的弹性层分析。
通常与弹性框架的简化原理不一致,以便期望更多客户关注行为和空间组成、分散、弹性编排等。他们通常对其工作负载的弹性以及实现弹性所需的成本更感兴趣,具体地说,就在此描述的弹性品质因数而言的工作负载弹性。
在这点上,面向可靠性的工作负载(例如SOA或电子商务工作负载)是这样一种工作负载:其中主要问题是在每个时间点满足最低服务水平协议。这些工作负载需要给定的最少数量应用资源始终可用以便提供可接受的吞吐量,并且受由一个或多个服务降级事件在任何给定时间禁用的应用资源数量的影响。对于这种面向可靠性的工作负载,要最小化的FOM可以是满足SLA所需的少于给定基准数量的应用资源在任何时间点可用的概率。出于该实例的目的,将该FOM表示为P(SLA Violation)。
具有多种可能的建模使用。该实例中展示的使用是确定层中的新部署满足FOM所必需的参数(例如,备用AR数量、分散等)。
现在将参考根据本发明的一个实施例的建模策略。
对于该实例,因为假设客户想要指定P(SLA Violation),所以必须将这些要求转换为可操作参数,例如AR数量、VM、物理服务器和分散。确定这些参数以便它们满足这些客户指定将组成多维搜索问题,该问题可以表述为(这是用于将客户的弹性FOM要求转换为空间组成映射的实例算法的概要):
●给出:
○弹性层、满足SLA所需的AR数量以及最大P(SLA Violation)
●搜索
○AR数量,AR_Dispersion(暗示VM数量)和VM_Dispersion(暗示物理服务器数量)
●以便满足要求
○P(SLA Violation)<max P(SLA Violation)
●同时最小化
○就服务器、VM和AR数量而言的成本
一种用于执行可以在本发明各种实施例的上下文中使用的分析优化(例如,以便满足要求x同时最小化y)的实例方法,可以在Adam等人于2009年2月21日提交的标题为“DECENTRALIZED APPLICATIONPLACEMENT FOR WEB APPLICATION MIDDLEWARE(WEB应用中间件的分散应用放置)”的美国专利公开2009/0157855(其全部内容在此引入作为参考)中找到。
一旦发现AR数量和分散,可以将这些设置映射成指定AM的空间组成,如本公开中描述的那样。
还可以计算SLA违反的预期持续时间(MTTR,以小时为单位),以及可能导致也可能不导致SLA违反的个体服务降级事件之间的预期时间(这不应与SLA违反混淆,而是主要是可用性管理活动的度量)。现在将参考根据本发明的一个实施例的模型描述。提供一种用于展示原理的实例分析模型。对例如故障和恢复率做出合理假设,以便结果在广泛的合理概率内有效。下面进一步讨论建模假设。
在根据一个实施例的研究和优化循环中,按如下方式计算品质因数(计算由于多个同时发生的服务降级事件而导致违反SLA的概率):
○给出包含某一数量的应用资源、虚拟机和物理服务器的配置,并且假设公平分散所有资源,通过以下操作计算给定数量应用资源在任何给定时间不可用(因此,可能违反SLA)的概率:暴力枚举AR、VM和物理服务器故障的所有可能组合,计算多少个AR可用于每个故障组合,并且如果给出每个组件的故障和恢复率,则计算发生该组合的概率。如果特定故障组合中的AR数量不足以满足所需的SLA,则以该配置的概率来增大SLA违反概率(在一个具体实例中,在T61p上使用该计算优化500个AR的放置需要大约4秒)。
现在将参考根据本发明的一个实施例的模型使用和结果。
如前所述,本发明的各种实施例可以提供一种分析建模框架,其用于使客户免于了解配置详细信息,并且允许他们查看对其具有业务重要性的系统弹性。因此,如果给出客户实现其业务目标所需的应用资源数量,以及该数量AR不可用的最大可允许概率,则可以使用该建模确定最低成本配置。在此提供这种使用的一个实例。
例如,假设客户指定他需要至少500个AR以便满足其SLA,并且接受500个AR不可用的的概率最多为0.0001。所有这一切均以最低成本实现。
首先参考例如弹性层5(在该实例中,弹性层5属于其中采用WAM和VAM两者的情况):
表3—输入参数
组件 MTBF(小时) MTTR(小时)
物理服务器 10000 0.083
系统管理程序 2000 0.083
VM 2000 0.083
AR 1000 0.083
表4—优化结果
svrs vms_svr vms ARs_vm AR MTBSDE MTTR_SLA_Viol P(SLA_Viol)
1 1 1 500 500 2.00 0.09 4.072509e-02
3 17 51 10 510 1.86 4.20 2.372791e-04
4 13 52 10 520 1.82 4.57 1.991574e-04
11 5 55 10 550 1.71 0.07 2.346053e-05
上面的表(优化结果)显示当实例优化运行(关于弹性层5)走出从最低成本点(即,没有备用AR,并且所有分散均等于0)开始的搜索空间时的汇总输出。表的每一行表示较之前一行的关于P(SLA Violation)的改进。
对于该优化实例(在T61p上计算需要大约4秒),如果需要500个AR,并且具有少于500个AR的最大可接受概率为1.000000e-04,则最低成本配置为11个服务器,每个服务器5个VM共计55个VM,每个VM 10个AR共计550个AR(在另一个实例中,通过增加搜索粒度和/或更智能地搜索,以更多计算时间为代价,可以发现更低的成本配置)。
现在将参考例如弹性层4(在该实例中,弹性层5和弹性层4之间的建模区别是没有白盒可用性管理器。其分析影响是用于恢复AR的平均时间不是5分钟(与自动恢复一致的间隔),而是(任意)增加到50分钟—该间隔被视为使管理人员注意并手动重新启动AR的时间范围):
表5—输入参数
组件 MTBF(小时) MTTR(小时)
物理服务器 10000 0.083
系统管理程序 2000 0.083
VM 2000 0.083
AR 1000 0.83<<<<<
表6—优化结果
svrs vms_svr vms ARs_vm AR MTBSDE MTTR_SLA_Viol P(SLA_Viol)
1 1 1 500 500 2.00 0.56 3.380639e-01
3 17 51 10 510 1.86 11.91 8.650216e-04
4 13 52 10 520 1.82 45.62 1.998299e-04
11 5 55 10 550 1.71 0.54 1.858381e-04
15 4 60 9 540 1.73 3.71 1.988057e-06
上面的表(优化结果)显示关于弹性层4的汇总输出。对于该优化实例,如果需要500个AR,并且具有少于500个AR的最大概率为1.000000e-04(与层5要求相同),则最低成本配置为15个服务器,每个服务器4个VM共计60个VM,每个VM 9个AR共计540个AR。
在另一个实例中,可以增强优化循环以便最小化P(SLA Violation)和MTTR_SLA_Viol两者。在这种分析中,目标函数可以是矢量而不是标量。
现在将参考根据本发明的一个实施例的多个分析建模假设。
1MTBF和MTTR是代表性的,而不是实际的
2每次仅一个资源发生故障
3即时故障检测
4准确故障标识
5修复是确定性的
6所有软件故障都是短暂的,所有硬件故障都是永久性的
7所有资源的故障率都不变
8资源故障是独立的
9不实施VM或Svr容量限制
10工作负载可从容降级—服务损失与不可用服务单元数量成线性比例
11在故障处理期间停止时钟
12硬件故障不相关
现在将参考根据本发明的一个实施例的多个典型客户用例:
○客户可能想要针对给定整体中的VM指定给定SLA,并且确保可以通过选定可用性策略满足该SLA,以及确保需要什么资源以便满足该SLA。假设我们知道该SLA的响应时间能力和开销,则本发明的实施例可以计算给定整体是否可以支持它,以及以什么成本支持它。
○客户可能仅具有一组有限资源,并且想要知道如果给出这些资源,则可以提供的最佳SLA是什么。本发明的实施例可以进行反向计算。
○客户可能预测不断增长的工作负载或者构想配置更改,并且想要知道该新的较大工作负载是否可以满足现有SLA,以及以什么成本满足(成本将随工作负载而变化)。本发明的实施例可以提供答案。
○整体本身可能预测不断增长的工作负载,或者进行配置更改,并且作为响应,可以评估它是否可以继续以便满足其SLA而不需要其它资源。
○假设已知给定SLA的成本和值,则客户可以根据SLA计费。本发明的实施例可以提供答案。
○SLA可以在每天的不同时间、每周或每月的不同天等内有所不同。恢复操作或包括的资源可以更改。本发明的实施例可以响应严格日历或者学习/预期不断变化的工作负载并且改变SLA。可以使用机器学习和/或强化学习,针对给定操作简档确定适当的SLA。
现在将参考根据本发明的一个实施例的多个部署选项。
框架可以允许足够的通用性,以便允许使用多个部署引擎部署到多个环境中。两个实例是Tivoli的TSAM和开源XCAT工具。
TSAM—在一个实例中,增强TSAM依赖性模型和TSAM执行环境,以便支持该资源关系模式和所需能力。
使用TSAM以允许客户在最高级服务栈(应用服务)指定弹性策略,自动创建该应用服务所依赖的资源(及其依赖性),并且自动将所有可用性策略传播到该高级资源所依赖的所有资源。这可以包括自动将其它资源添加到服务拓扑以便满足所需可用性目标。这导致满足可用性目标的可重用服务模板。
将TSAM客户定义的服务拓扑和工作流程变换成EM API和操纵工具(当可用时,可以例如有机会地使用现有CAM API,或者可以使用适当的整体定义)。例如:
○将“整体(ensemble)”定义为TSAM资源。
○定义整体属性(包括可用性策略)。
○使用EM API定义整体操纵工具。
○定义设置CAM的FC LUN必需的存储整体操纵工具(可选)。
○定义和实现部署可用性整体必需的工作流程。
○在整体上,使用特定可用性属性,实现客户定义的虚拟系统集合的TSAM驱动的定义和部署(例如,参见图3的元素305)。
XCAT—在一个实例中,与Toks协同工作,以便使用perl模块通过REST API部署/设置KVM整体。
现在将参考本发明的另一个实施例。该实施例可提供定义、工具、实验测量和分析任务的组合:
○定义SLA的定量属性。这些度量应该与由于计划和计划外中断导致的每天客户动荡相关,并且表示当前和计划可用性产品的能力。计划中断度量可以包括PFA预测水平、撤离能力、撤离时间和开销。计划外中断度量可以包括响应时间、恢复时间、恢复点。开销度量可以包括cpu/网络/存储监视开销、设置检查点成本等。感兴趣的领域是以下情况:由于故障或高开销而导致的性能下降,以及如何查看性能下降;未发出故障事件通知但缓慢阻塞的系统并不罕见,并且是难题。如果知道某个恢复操作可以使其再次运行,则执行该操作有意义。
○定义当前可以由CAM支持的SLA,以及可以在将来被支持的其它度量(例如,主动复制)。
○设置CAM集群,并且在定义的工作负载集合下,评估不同的恢复策略及其效用和成本。一个实例将SLA属性(例如,性能开销)参数化为工作负载属性(例如,CPU利用率、I/O速率)的函数。当执行时,存在SLA-成本-工作负载矩阵,其可以用于生成分析框架,该框架要用于客户所需的假设评估以及恢复和故障转移的模拟。
○如果给出该分析能力,则定义客户需要回答的假设问题。
○构造支持该分析框架必需的资源关系模型。
○使用机器学习和强化学习构造分析框架,其可以使用这些关联评估客户或整体本身需要回答的各种假设问题。
○提供白盒和黑盒可用性管理。
现在将参考根据本发明的一个实施例的工作负载指定。
在该实例中,工作负载(WL)包括虚拟机、操作系统映像、虚拟化应用、非虚拟化应用、LPAR、xLPAR、WPAR或其它逻辑容器,该容器用于计算以下工作:其可以被分配资源要求(CPU、存储器等)、约束(位置、并置、反并置等)、启动和停止顺序依赖性、优先级以及指示WL“颜色”的值(下面描述)。可以经由WL映像信息、系统管理或者从工作负载表征和指定工具(例如TSAM),提供工作负载资源要求。
注意,本公开的系统和方法可同样而不失一般性地适用于非虚拟化工作负载、虚拟化和非虚拟化工作负载的组合、应用虚拟化容器、xLPAR分区和WPAR。术语“WL”可以用于指任何这种环境中的单独工作单元。
现在将参考根据本发明的一个实施例的托管环境指定(参见图8)。
该实例中的硬件被视为位于一个或多个中央电子设备复合体(CEC)中的“组件”集合。这些组件包括但不限于CPU、高速缓存、存储器、I/O和存储装置,假设它们并非完全同构。在该实例中,组件本身不能用作服务器。但是,在高度可配置的设计(例如,Phoenix)中,可以灵活地组合组件以便产生所需大小的“逻辑服务器”。因此,可以将包含两个CPU组件、两个存储器组件、两个I/O组件和两个存储装置组件的CEC(被示出为图8左边的元素801)组合成两个更小的逻辑服务器(被示出为图8中间的服务器1—元素803和服务器2—元素805),每个包含每种组件中的一个,或者组合成一个更大的逻辑服务器(被示出为图8右边的服务器A—元素807),其包含所有组件。当然可以设计包含更多或更少组件的CEC,并且本公开旨在应用于包含任何数量组件的任何数量的CEC。
此外,有时可以从位于不同CEC中的组件组成逻辑服务器,并且可能出现性能损失,因为组件可能比它们在同一CEC时相距更远。最后,在某些情况下,根本不能相互组合组件,因为例如它们在不同CEC中并且它们之间没有电连接,或者因为它们在体系架构上不兼容。
现在将参考根据本发明的一个实施例的可组合硬件的资源关系建模。
在该实例中,每个组件(CPU、存储器、…)可以被视为资源关系图中的一个节点。该图称为硬件资源图(HRG)。如果两个组件由硬件资源图中的可组合性关系连接,则可以组合这两个组件以便构成逻辑服务器的部分或全部。如果组件未由可组合性关系连接,则它们不能组合在一起以便构成服务器的部分或全部,可能因为它们在体系架构上不兼容,或者它们没有位于同一CEC中,或者任何其它原因。
边例如可以是:成本(性能)、成本(重新配置时间)。
该方案的一种扩展是在潜在组合的任何两个组件之间关联成本,以便允许表达如何期望/以何种成本组合这些组件的位置、偏好或其它度量。
如上面定义的,该实例的资源图仅允许描述潜在资源组成。为了允许描述实现的资源组成为逻辑服务器,可以定义覆盖图(是资源图的子集),其称为组合式硬件资源图。在该图中,任何两个资源之间的边指示这两个资源已组合成逻辑服务器的一部分。注意,为使组成有效,组合式资源图中的边必须是硬件资源图中的边的子集。根据资源关系建模框架的合并规则,在资源图中合并已组合成逻辑服务器的硬件资源。
除了灵活地从组件组合逻辑服务器之外,可能在服务器(逻辑或其它)中创建固件分区方面实现进一步程度的配置,如可能在xLPAR或PowerVM技术中实现的那样。这构成另一级别的可配置性,相当于将工作负载静态分配给服务器,并且可以作为工作负载放置服务能力处理。
在另一个实例中,可以提供基于资源要求的存储分配和配置。
在本发明的各种实施例中,提供一种广义概念,其用于基于简化的弹性设置,配置虚拟机和应用的弹性管理软件的复杂组合的设置。注意,所公开的框架能够执行以下一个或多个:
●配置外部表的弹性相关参数(例如,自动基于客户提供的弹性设置)。
●提供可被自动配置并集成到更大弹性体系架构的故障转移。
●提供客户级别处的弹性,以及将该弹性指定自动转换为虚拟机和应用级别可用性管理器的配置。
●提供“地铁图”概念(非常高级和通用的方式,用于跟踪提供和评估高可用性的ITIL过程中涉及的步骤)和要实现的各种ITIL步骤,以便调用在此所公开的弹性框架的接口和功能。
●经由基于简化客户弹性设置的自动化,简化与处理等相关的常规复杂配置、设置和操作步骤(因此使管理员免于执行这些步骤)。
●经由基于简化客户弹性设置的自动化,简化与存储等相关的常规复
杂配置、设置和操作步骤(因此使管理员免于执行这些步骤)。
现在参考图9,该图示出根据本发明的一个实施例的计算系统900的硬件配置。如图所示,该硬件配置具有至少一个处理器或中央处理单元(CPU)911。CPU911通过系统总线912与以下各项互连:随机存取存储器(RAM)914、只读存储器(ROM)916、输入/输出(I/O)适配器918(用于将诸如磁盘机921和磁带驱动器940之类的外围设备连接到总线912)、用户接口适配器922(用于将键盘924、鼠标926、扬声器928、麦克风932和/或其它用户接口设备连接到总线912)、通信适配器934(用于将系统900连接到数据处理网络、因特网、内联网、局域网(LAN)等),以及显示适配器936(用于将总线912连接到显示设备938和/或打印机939(例如,数字打印机等))。
在其它实例中,可以以任何适当的所需顺序执行在此描述的任何步骤。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以任意一种程序设计语言或一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,或者一种过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在此参照根据本发明实施例的方法、系统和/或计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article ofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,上面描述了本发明的某些目标和实施例。本发明可以用于许多应用。因此,尽管针对特定布置和方法进行了描述,但本发明的意图和概念适合和适用于其它布置和应用。所属技术领域的技术人员应该清楚,可以实现对所公开的实施例进行修改而不偏离本发明的精神和范围。所述实施例应该被解释为仅例示本发明的某些特性和应用。可以通过以不同方式应用所公开的本发明,以及以熟悉所属技术领域的技术人员已知的方式修改本发明,实现其它有利的结果。此外,在此所公开的所有实例旨在是示例性的而非限制性的。

Claims (25)

1.一种用于配置至少第一可用性管理器和第二可用性管理器的计算机实现的系统,所述系统包括:
用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;
处理元件,其在操作上与所述用户接口通信,其中所述处理元件至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;以及
控制元件,其在操作上与以下项通信:(a)所述处理元件,(b)所述第一可用性管理器,和(c)所述第二可用性管理器;
其中所述控制元件从所述处理元件接收与所述第一可用性管理器关联的所述至少一个设置,并且向所述第一可用性管理器提供所关联的设置;以及
其中所述控制元件从所述处理元件接收与所述第二可用性管理器关联的所述至少一个设置,并且向所述第二可用性管理器提供所关联的设置。
2.根据权利要求1的系统,其中所述第一可用性管理器包括白盒可用性管理器,并且所述第二可用性管理器包括黑盒可用性管理器。
3.根据权利要求1的系统,其中所述用户接口经由网络从所述用户处接收所述可用性管理目标。
4.根据权利要求1的系统,其中所述可用性管理目标包括来自一组预定量化值的一个值。
5.根据权利要求4的系统,其中经由所述用户接口向所述用户提供所述一组预定量化值。
6.根据权利要求5的系统,其中所述用户接口被配置为从所述用户处接收对来自所述一组预定量化值的一个值的选择。
7.根据权利要求1的系统,其中:
所述处理元件至少部分地基于所述可用性管理目标,确定与所述第一可用性管理器和所述第二可用性管理器关联的空间组成;
在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映所述空间组成;以及
在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映所述空间组成。
8.根据权利要求1的系统,其中:
所述处理元件至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的行为组成,和(b)与所述第二可用性管理器关联的行为组成;
在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映与所述第一可用性管理器关联的所述行为组成;以及
在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映与所述第二可用性管理器关联的所述行为组成。
9.根据权利要求1的系统,其中:
所述处理元件至少部分地基于所述可用性管理目标,确定:与所述第一可用性管理器和所述第二可用性管理器关联的空间组成;
所述处理元件至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的行为组成,和(b)与所述第二可用性管理器关联的行为组成;
所述处理元件至少部分地基于与所述第一可用性管理器关联的所述空间组成和所述行为组成,确定用于向所述第一可用性管理器表达与所述第一可用性管理器关联的所述空间组成和所述行为组成的语法结构;以及
所述处理元件至少部分地基于与所述第二可用性管理器关联的所述空间组成和所述行为组成,确定用于向所述第二可用性管理器表达与所述第二可用性管理器关联的所述空间组成和所述行为组成的语法结构。
10.根据权利要求9的系统,其中:
在由所述处理元件确定的与所述第一可用性管理器关联的所述至少一个设置中反映用于表达与所述第一可用性管理器关联的所述空间组成和所述行为组成的所述语法结构;以及
在由所述处理元件确定的与所述第二可用性管理器关联的所述至少一个设置中反映用于表达与所述第二可用性管理器关联的所述空间组成和所述行为组成的所述语法结构。
11.根据权利要求1的系统,其中所述配置包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
12.根据权利要求11的系统,其中所述配置包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
13.根据权利要求1的系统,其中所述配置包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
14.一种用于配置至少第一可用性管理器和第二可用性管理器的在计算机系统中实现的方法,所述方法包括:
提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;
至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;
向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;
向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及
使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
15.根据权利要求14的方法,其中按照所列举的顺序执行所述步骤。
16.根据权利要求14的方法,其中所述第一可用性管理器包括白盒可用性管理器,并且所述第二可用性管理器包括黑盒可用性管理器。
17.根据权利要求14的方法,其中所述配置包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
18.根据权利要求17的方法,其中所述配置包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
19.根据权利要求14的方法,其中所述配置包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
20.一种可由机器读取的程序存储设备,其有形地包含可由所述机器执行的指令程序以便执行一种用于配置至少第一可用性管理器和第二可用性管理器的方法,所述方法包括:
提供用户接口,其中所述用户接口从用户处接收可用性管理目标,所述可用性管理目标与至少以下项关联:(a)所述第一可用性管理器,和(b)所述第二可用性管理器;
至少部分地基于所述可用性管理目标,确定:(a)与所述第一可用性管理器关联的至少一个设置,和(b)与所述第二可用性管理器关联的至少一个设置;
向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;
向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置;以及
使用处理器单元运行程序以便执行所述(a)提供用户接口;(b)确定;(c)向所述第一可用性管理器提供与所述第一可用性管理器关联的所述至少一个设置;以及(d)向所述第二可用性管理器提供与所述第二可用性管理器关联的所述至少一个设置中的一个或多个。
21.根据权利要求20的程序存储设备,其中按照所列举的顺序执行所述步骤。
22.根据权利要求20的程序存储设备,其中所述第一可用性管理器包括白盒可用性管理器,并且所述第二可用性管理器包括黑盒可用性管理器。
23.根据权利要求20的程序存储设备,其中所述配置包括控制以下项中的至少一个的故障处理和其它行为:(a)当所述第一可用性管理器处于初始化后状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化后状态时的所述第二可用性管理器。
24.根据权利要求23的程序存储设备,其中所述配置包括实时控制以下项中的至少一个的故障处理和其它行为:(a)所述第一可用性管理器,和(b)所述第二可用性管理器。
25.根据权利要求20的程序存储设备,其中所述配置包括初始化以下项中的至少一个:(a)当所述第一可用性管理器处于初始化前状态时的所述第一可用性管理器,和(b)当所述第二可用性管理器处于初始化前状态时的所述第二可用性管理器。
CN201280066629.5A 2012-01-18 2012-12-17 用于多个可用性管理器的简化和协调编排的开放弹性框架 Expired - Fee Related CN104040503B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/352,883 US9208007B2 (en) 2012-01-18 2012-01-18 Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US13/352,883 2012-01-18
PCT/US2012/070059 WO2013109373A1 (en) 2012-01-18 2012-12-17 An open resilience framework for simplified and coordinated orchestration of multiple availability managers

Publications (2)

Publication Number Publication Date
CN104040503A true CN104040503A (zh) 2014-09-10
CN104040503B CN104040503B (zh) 2017-07-21

Family

ID=48780880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280066629.5A Expired - Fee Related CN104040503B (zh) 2012-01-18 2012-12-17 用于多个可用性管理器的简化和协调编排的开放弹性框架

Country Status (3)

Country Link
US (1) US9208007B2 (zh)
CN (1) CN104040503B (zh)
WO (1) WO2013109373A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475220A (zh) * 2016-03-31 2018-08-31 甲骨文国际公司 用于集成事务中间件平台与集中式审计框架的系统和方法
CN111541591A (zh) * 2020-07-09 2020-08-14 武汉绿色网络信息服务有限责任公司 一种基于ssh对服务器进行检测的方法和装置

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8930542B2 (en) 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
CN104254834B (zh) * 2012-06-08 2018-04-27 慧与发展有限责任合伙企业 云应用部署可移植性
US9952909B2 (en) * 2012-06-20 2018-04-24 Paypal, Inc. Multiple service classes in a shared cloud
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
CN103873516B (zh) * 2012-12-14 2018-02-16 中兴通讯股份有限公司 提高云计算资源池中物理服务器使用率的ha方法和系统
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US8819127B1 (en) 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
US20150019704A1 (en) * 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
WO2015065370A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Monitoring a cloud service modeled as a topology
EP3063661B1 (en) 2013-10-30 2020-05-06 Hewlett-Packard Enterprise Development LP Topology remediation
EP3063668A4 (en) * 2013-10-30 2017-05-31 Hewlett-Packard Enterprise Development LP Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
WO2015065374A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Management of the lifecycle of a cloud service modeled as a topology
WO2015065355A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L. P. Stitching an application model to an infrastructure template
US10567231B2 (en) 2013-10-30 2020-02-18 Hewlett Packard Enterprise Development Lp Execution of a topology
CN105765568B (zh) * 2013-12-19 2019-05-10 英特尔公司 基于服务级别协议要求的服务模板生成和部署
CN109101318B (zh) 2014-03-12 2022-04-05 华为技术有限公司 一种虚拟机迁移控制方法及装置
US9465645B1 (en) * 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US9424065B2 (en) * 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
US10609159B2 (en) * 2014-08-04 2020-03-31 Microsoft Technology Licensing, Llc Providing higher workload resiliency in clustered systems based on health heuristics
US9262144B1 (en) 2014-08-20 2016-02-16 International Business Machines Corporation Deploying virtual machine instances of a pattern to regions of a hierarchical tier using placement policies and constraints
US10225207B2 (en) 2014-08-25 2019-03-05 International Business Machines Corporation Managing hybrid cloud placement policies
US9705923B2 (en) * 2014-09-02 2017-07-11 Symantec Corporation Method and apparatus for automating security provisioning of workloads
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
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
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9632854B2 (en) 2014-11-05 2017-04-25 International Business Machines Corporation Electronic system configuration management
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
US9462427B2 (en) * 2015-01-14 2016-10-04 Kodiak Networks, Inc. System and method for elastic scaling using a container-based platform
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10505862B1 (en) * 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
US9851933B2 (en) 2015-03-25 2017-12-26 International Business Machines Corporation Capability-based abstraction of software-defined infrastructure
US9729421B2 (en) 2015-03-25 2017-08-08 International Business Machines Corporation Outcome-based software-defined infrastructure
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US10437506B2 (en) 2015-08-17 2019-10-08 Microsoft Technology Licensing Llc Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems
US9875373B2 (en) * 2015-09-28 2018-01-23 International Business Machines Corporation Prioritization of users during disaster recovery
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
WO2017067616A1 (en) * 2015-10-23 2017-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Allocating hosts for instances with anti affinity rule
US10839302B2 (en) 2015-11-24 2020-11-17 The Research Foundation For The State University Of New York Approximate value iteration with complex returns by bounding
US9798635B2 (en) * 2015-12-11 2017-10-24 International Business Machines Corporation Service level agreement-based resource allocation for failure recovery
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811363B1 (en) 2015-12-16 2017-11-07 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
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
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
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11650848B2 (en) 2016-01-21 2023-05-16 Suse Llc Allocating resources for network function virtualization
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
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US9952896B2 (en) 2016-06-28 2018-04-24 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
US10169139B2 (en) * 2016-09-15 2019-01-01 International Business Machines Corporation Using predictive analytics of natural disaster to cost and proactively invoke high-availability preparedness functions in a computing environment
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
CN106648462B (zh) * 2016-11-21 2019-10-25 华为技术有限公司 数据存储方法及装置
US10572237B2 (en) * 2016-12-12 2020-02-25 AT&T Intellectual Property I, I.P. Managing software changes to virtual network functions
US10574544B2 (en) 2017-01-04 2020-02-25 International Business Machines Corporation Method of certifying resiliency and recoverability level of services based on gaming mode chaosing
US11087042B1 (en) 2017-06-30 2021-08-10 Wells Fargo Bank, N.A. Generation of a simulation plan and performance of a simulation based on the plan
US10592359B2 (en) 2017-11-02 2020-03-17 Cognizant Technology Solutions India Pvt. Ltd. System and a method for providing on-demand resiliency services
CN111164952A (zh) 2017-11-16 2020-05-15 英特尔公司 分布式软件定义的工业系统
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US11075925B2 (en) 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations 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
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10754708B2 (en) 2018-03-28 2020-08-25 EMC IP Holding Company LLC Orchestrator and console agnostic method to deploy infrastructure through self-describing deployment templates
US10693722B2 (en) 2018-03-28 2020-06-23 Dell Products L.P. Agentless method to bring solution and cluster awareness into infrastructure and support management portals
US10795756B2 (en) * 2018-04-24 2020-10-06 EMC IP Holding Company LLC System and method to predictively service and support the solution
US11086738B2 (en) 2018-04-24 2021-08-10 EMC IP Holding Company LLC System and method to automate solution level contextual support
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
US10931508B2 (en) 2018-07-03 2021-02-23 Oracle International Corporation Scalable dynamic JMX federation
US11290341B2 (en) 2018-07-03 2022-03-29 Oracle International Corporation Dynamic resiliency framework
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
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
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed 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
WO2020150669A1 (en) * 2019-01-18 2020-07-23 GalaxE.Solutions, Inc. Systems and methods for quality control of an enterprise it environment
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US10958517B2 (en) 2019-02-15 2021-03-23 At&T Intellectual Property I, L.P. Conflict-free change deployment
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
WO2020194217A1 (en) * 2019-03-26 2020-10-01 Humanitas Solutions Inc. System and method for enabling an execution of a plurality of tasks in a heterogeneous dynamic environment
JP2022528348A (ja) * 2019-04-01 2022-06-10 サイトリックス システムズ,インコーポレイテッド 統合アプリケーション通知フレームワーク
US10853122B2 (en) 2019-04-10 2020-12-01 EMC IP Holding Company LLC Dynamically selecting optimal instance type for disaster recovery in the cloud
US10862761B2 (en) 2019-04-29 2020-12-08 EMC IP Holding Company LLC System and method for management of distributed systems
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
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
US11301557B2 (en) 2019-07-19 2022-04-12 Dell Products L.P. System and method for data processing device management
US11789802B2 (en) * 2019-07-31 2023-10-17 Jio Platforms Limited System and method of mapping and diagnostics of data center resources
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
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for 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
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
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to 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
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
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
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
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
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
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input 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
US11093358B2 (en) 2019-10-14 2021-08-17 International Business Machines Corporation Methods and systems for proactive management of node failure in distributed computing systems
US11366692B2 (en) 2019-10-25 2022-06-21 Micro Focus Llc Task execution based on whether task completion time exceeds execution window of device to which task has been assigned
US11627010B2 (en) * 2019-11-19 2023-04-11 Arris Enterprises Llc Method to support redundancy switching of virtual MAC cores
US11050677B2 (en) 2019-11-22 2021-06-29 Accenture Global Solutions Limited Enhanced selection of cloud architecture profiles
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
JP2021149129A (ja) 2020-03-16 2021-09-27 富士通株式会社 料金算出プログラム、及び料金算出方法
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
EP4162363A1 (en) 2020-07-30 2023-04-12 Accenture Global Solutions Limited Green cloud computing recommendation system
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
US11841772B2 (en) * 2021-02-01 2023-12-12 Dell Products L.P. Data-driven virtual machine recovery
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060253745A1 (en) * 2001-09-25 2006-11-09 Path Reliability Inc. Application manager for monitoring and recovery of software based application processes
US7228453B2 (en) * 2000-10-16 2007-06-05 Goahead Software, Inc. Techniques for maintaining high availability of networked systems
CN101495970A (zh) * 2005-06-24 2009-07-29 信科索尔特公司 用于高性能企业数据保护的系统和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111086B1 (en) * 2002-02-22 2006-09-19 Vmware, Inc. High-speed packet transfer in computer systems with multiple interfaces
US8010607B2 (en) 2003-08-21 2011-08-30 Nortel Networks Limited Management of queues in contact centres
EP1800442B1 (en) 2004-10-12 2012-11-14 NetSocket, Inc. A resilience solution for top tier bandwidth managers
WO2006108259A1 (en) 2005-04-14 2006-10-19 Armor Technologies Corporation Secure client operating system for connection to an unsecure network
US7496667B2 (en) 2006-01-31 2009-02-24 International Business Machines Corporation Decentralized application placement for web application middleware
US8019839B2 (en) 2009-05-11 2011-09-13 Accenture Global Services Limited Enhanced network adapter framework
US8413144B1 (en) * 2010-07-30 2013-04-02 Symantec Corporation Providing application-aware high availability of virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228453B2 (en) * 2000-10-16 2007-06-05 Goahead Software, Inc. Techniques for maintaining high availability of networked systems
US20060253745A1 (en) * 2001-09-25 2006-11-09 Path Reliability Inc. Application manager for monitoring and recovery of software based application processes
CN101495970A (zh) * 2005-06-24 2009-07-29 信科索尔特公司 用于高性能企业数据保护的系统和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475220A (zh) * 2016-03-31 2018-08-31 甲骨文国际公司 用于集成事务中间件平台与集中式审计框架的系统和方法
CN108475220B (zh) * 2016-03-31 2021-11-02 甲骨文国际公司 用于集成事务中间件平台与集中式审计框架的系统和方法
CN111541591A (zh) * 2020-07-09 2020-08-14 武汉绿色网络信息服务有限责任公司 一种基于ssh对服务器进行检测的方法和装置
CN111541591B (zh) * 2020-07-09 2020-09-15 武汉绿色网络信息服务有限责任公司 一种基于ssh对服务器进行检测的方法和装置

Also Published As

Publication number Publication date
US20130185667A1 (en) 2013-07-18
CN104040503B (zh) 2017-07-21
WO2013109373A1 (en) 2013-07-25
US9208007B2 (en) 2015-12-08

Similar Documents

Publication Publication Date Title
CN104040503B (zh) 用于多个可用性管理器的简化和协调编排的开放弹性框架
US10574588B2 (en) System and method for reducing latency time with cloud services
Endo et al. High availability in clouds: systematic review and research challenges
US20200329091A1 (en) Methods and systems that use feedback to distribute and manage alerts
US20200169467A1 (en) Execution of a topology
US10042628B2 (en) Automated upgrade system for a service-based distributed computer system
US10728255B2 (en) System and method for protection of entities across availability zones
CN102103518B (zh) 一种在虚拟化环境中管理资源的系统及其实现方法
CN102857363B (zh) 一种虚拟网络的自主管理系统和方法
US20150263983A1 (en) System and Method for Allocating Resources and Managing a Cloud Based Computer System
Prathiba et al. Survey of failures and fault tolerance in cloud
CA2898478C (en) Instance host configuration
US20090307685A1 (en) Method, Arrangement, Computer Program Product and Data Processing Program for Deploying a Software Service
CN103180823A (zh) 软件产品的多维建模
US20140006480A1 (en) Dynamic resolution of servers in a distributed environment
US20180136951A1 (en) Policy enabled application-release-management subsystem
US11032145B2 (en) Methods and systems that provision applications across multiple computer systems
Wang Towards service discovery and autonomic version management in self-healing microservices architecture
Somasekaram et al. High-availability clusters: A taxonomy, survey, and future directions
Klems et al. Automating the delivery of it service continuity management through cloud service orchestration
Sugiki et al. An extensible cloud platform inspired by operating systems
Adeshiyan et al. Using virtualization for high availability and disaster recovery
de Carvalho et al. Incorporating virtualization awareness in service monitoring systems
Silva A framework for availability, performance and survivability evaluation of disaster tolerant cloud computing systems
Nedeva et al. Architecture for integrated management information system for Trakia University of Stara Zagora

Legal Events

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

Granted publication date: 20170721

CF01 Termination of patent right due to non-payment of annual fee