CN1645389A - 用于实现高可用性系统的远程企业管理的系统和方法 - Google Patents

用于实现高可用性系统的远程企业管理的系统和方法 Download PDF

Info

Publication number
CN1645389A
CN1645389A CN200510005571.5A CN200510005571A CN1645389A CN 1645389 A CN1645389 A CN 1645389A CN 200510005571 A CN200510005571 A CN 200510005571A CN 1645389 A CN1645389 A CN 1645389A
Authority
CN
China
Prior art keywords
highly available
available system
remote enterprise
state
monitor
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
CN200510005571.5A
Other languages
English (en)
Other versions
CN1645389B (zh
Inventor
弗兰西斯科·德·拉·克鲁兹
米歇尔·A·波里尼
道格拉斯·斯科特·鲁瑟特
拉德哈克里什南·塞图拉曼
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 CN1645389A publication Critical patent/CN1645389A/zh
Application granted granted Critical
Publication of CN1645389B publication Critical patent/CN1645389B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/0748Error 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 remote unit communicating with a single-box computer node experiencing an error/fault
    • 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/465Distributed object oriented 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Abstract

提供高可用性系统的远程企业管理的方法、系统和程序。多个高可用性系统在企业中连网,并由远程企业服务器整体管理。在每个高可用性系统内,群集管理控制器监视高可用性系统的特定组件的状态,当所述状态指示错误时,作出反应,以调整该高可用性系统。另外,就每个高可用性系统来说,监视控制器检测何时群集管理控制器对特定组件的状态作出反应,并检测该高可用性系统的多个组件的状况。监视控制器随后向远程企业服务器报告所述错误和所述多个组件的状况。使远程企业服务器能够根据从多个高可用性系统中的每一个接收的报告,管理每个高可用性系统。

Description

用于实现高可用性系统的 远程企业管理的系统和方法
技术领域
本发明涉及改进的高可用性群集管理(high availability clustermanagement),具体地说,涉及高可用性系统的远程群集管理。更具体地说,本发明涉及企业网络中的多个高可用性系统的改进远程监控和管理。
背景技术
对于工作量和需求不断波动,并且处理客户请求极其重要的零售商、银行及其它在线服务,已开发了高可用性(HA)系统来处理紧要使命操作(mission-critical operation)。通常,HA系统是用于消除由网络系统的组件中的计划的或者非计划的停机引起的服务失败或者使之降至最少的系统。提供HA系统的关键方法是通过分成一群服务器的冗余硬件和软件组件。
在HA系统中,冗余至关重要,因为当在群集的一个节点中发生故障时,系统的一个节点执行的处理转移给另一节点。例如,在两节点HA群集中,一个节点通常被指定为主节点,另一节点一般被指定为备用节点。通常,当群集被启动时,主节点一开始运行某一应用程序(application)。另外,备用节点一般被指定成当主节点发生故障时,运行所述应用程序。HA群集系统一般实现群集管理器过程,所述群集管理器过程定期轮询主节点(或者检查主节点的心跳(heartbeat)),以确定主节点是否仍然活动。如果未检测到“心跳”,那么群集管理器把软件进程转移到群集中的另一服务器。
HA系统的一个重要特征是恢复时间。通常,HA系统中的恢复时间是备用节点从发生故障的主节点接管应用程序所用的时间。在基于销售的HA系统中,恢复时间特别重要,因为如果客户不能很快完成交易,那么零售商会失去有价值的买卖。甚至30秒的恢复时间延迟也会减少零售商的买卖交易。
HA系统的另一重要特征是在故障转移(failover)期间,几乎不损失数据。特别地,重要的是实现提交数据的几乎不损失。例如,在故障转移期间,失去有价值的客户定单信息或者客户信息是不利的。
为了实现短的恢复时间和故障转移期间数据的几乎不丢失,重要的是一开始按照建立HA系统的方式组合硬件和软件。但是,在起动HA系统之后,重要的是监视和调整HA系统的配置,设法提高故障转移和纠正其它错误的效率。
当为HA系统配置硬件和软件时,许多开发者已开发了定制HA软件服务,以便控制经常需要新硬件的定制环境中的应用程序。这些解决方案通常费用高昂,并且没有利用允许跨越多个平台的应用程序的可移植性的开放源码技术(open source technology)。此外,通常选择费用高昂的服务器系统,希望服务器系统中的可用能力将自动提高故障转移的效率。
作为一种备选方案,开放源码开发者利用当实现HA系统时,可配置的功能扩展开放源码技术。例如,Linux提供一种低廉的与平台无关的操作系统。Linux的开发者继续向该操作系统增加可由其它开发者按照开放源码方式实现的功能。这些功能中的一些,例如“心跳”和分布式复制块装置(drbd)由Linux操作系统实现,以帮助配置HA系统。
虽然Linux工具提供监视故障,并配置HA系统中使用的硬件的构架,仍然需要另外的监视和配置能力。特别地,需要一种监视HA系统的硬件和软件方面的故障、错误和其它非理想状况,并且监视何时开放源码HA工具检测到故障和错误的方法。此外,需要远程积累所监视的系统状态,随后远程促进HA系统的重构。
此外,通常在网络中组合多个HA系统,形成一个企业系统。每个HA系统可服务于对企业内的不同商店的交易请求。需要一种远程积累企业内的多个HA系统的所监视的系统状态,比较系统状态与性能要求,跟踪企业内的每个HA系统的硬件和软件需要。
此外,当利用开放源码操作系统构架实现HA系统时,实现符合开放源码的中间件层来处理交易请求应是有利的。特别地,实现(1)由与远程企业控制台进行接口的基于开放源码的群集管理控制、并(2)能够监视和配置企业网络中的多个HA系统的符合JavaTM2平台企业版(J2EE)的中间件堆栈理应是有利的。
发明内容
本发明提供改进的高可用性群集管理,特别提供符合开放源码构架(framework)实现的高可用性系统的远程群集管理。更具体地说,本发明涉及企业网络中的多个高可用性系统的改进远程监视和管理。
根据本发明的一个方面,多个高可用性系统在企业中连网,并由远程企业服务器整体管理。在每个高可用性系统内,群集管理控制器监视高可用性系统的特定组件的状态,当所述状态指示错误时,作出反应,以调整该高可用性系统。另外,就每个高可用性系统来说,监视控制器检测何时群集管理控制器对特定组件的状态作出反应,并检测该高可用性系统的多个组件的状况。监视控制器随后向远程企业服务器报告所述错误和所述组件的状况。使远程企业服务器能够根据所述报告管理高可用性系统。
特别地,高可用性服务器实现由诸如心跳监视器和服务监视后台驻留程序(daemon)之类的开放源码功能监视的符合J2EE的中间件堆栈(J2EE compliant middleware stack)。具体地说,心跳监视器检测中间件堆栈驻留其上的特定服务器的状态。服务监视后台驻留程序检测中间件堆栈提供的服务的特殊实例的状态。
远程企业服务器可根据报告,确定应进行配置改变,并向高可用性系统发送配置请求。监视控制器随后调整高可用性系统的配置,以调整心跳监视器或服务监视后台驻留程序将如何检测错误并对错误作出反应。此外,高可用性系统内的其它硬件和软件组件可由监视控制器重构。
远程企业服务器最好把关于每个高可用性系统的监视信息保存在数据库中。另外,企业服务器最好分析监视信息,确定哪些高可用性系统不满足性能要求。企业服务器可推荐硬件和软件改变,以及配置改变。另外,企业服务器可显示比较性能,并提供高可用性系统以及在每个系统何时检测到错误的实时显示。
附图说明
公开了本发明特有的新特征。但是,结合附图,参考例证实施例的下述详细说明,将更好地理解发明本身,以及发明的优选使用模式,其它目的和优点,其中:
图1是描述其中可实现本发明的方法、系统和程序的服务器系统的方框图;
图2是描述在故障转移期间,有效转移中间件的高可用性群集的硬件配置的方框图;
图3是描述根据本发明的方法、系统和程序的群集管理器的方框图;
图4是描述根据本发明的方法、系统和程序,在故障转移之前,HA群集的软件结构的一个实施例的方框图;
图5是描述根据本发明的方法、系统和程序,在故障转移之后,HA群集的软件结构的一个实施例的方框图;
图6是描述在HA系统中的符合J2EE的中间件内,独立软件开发商应用程序的实现的一个实施例的方框图;
图7是描述把drbd分区配置到HA群集中的符合J2EE的中间件堆栈的进程和程序的高级逻辑流程图;
图8是描述通过心跳控制器,控制HA群集中符合J2EE的中间件堆栈的配置和故障转移的进程和程序的高级逻辑流程图;
图9是描述控制用于监视符合J2EE的中间件堆栈提供的服务的mon功能的进程和程序的高级逻辑流程图;
图10是描述根据本发明的方法、系统和程序,包括运行J2EE中间件堆栈的多个HA系统的企业网络的方框图;
图11是描述根据本发明的方法、系统和程序,控制HA群集管理器内的监视控制器的进程和程序的高级逻辑流程图;
图12是描述远程控制HA系统的群集管理器,从而重构HA系统的进程和程序的高级逻辑流程图;和
图13是描述控制用于管理群集中的多个HA系统的远程企业控制台的进程和程序的高级逻辑流程图。
具体实施方式
现在参考附图,尤其参考图1,图1中表示了通过其可实现本发明的方法、系统和程序的系统的一个实施例。可在各种系统中执行本发明,包括各种计算系统、服务器系统和企业系统。
计算机系统100包括总线122或者用于在计算机100内传递信息的其它通信装置,和与总线122耦接,以便处理信息的多个处理器112a-112n。总线122最好包括由桥接器和适配器连接,并在计算机系统100内由多个总线控制器控制的低等待时间和高等待时间通路。
处理器112a-112n可以是在正常操作期间,在可从诸如随机存取存储器(RAM)114之类动态存储装置,和诸如只读存储器(ROM)116之类静态存储装置访问的操作系统和应用软件的控制下,处理数据的通用处理器,例如IBM的PowerPCTM处理器。在一个优选实施例中,多层软件包含当在处理器112a-112n上运行时,执行在图7、8、9、11、12、13的流程图中描述的操作,以及这里描述的其它操作的机器可执行指令。另一方面,本发明的步骤可由包含用于实现所述步骤的硬连线逻辑电路的专用硬件组件,或者由编程的计算机组件和定制硬件组件的任意组合实现。
可以包括在机器可读介质上的计算机程序产品的形式提供本发明,所述机器可读介质保存有用于对计算机系统100编程,以便执行根据本发明的进程的机器可读指令。这里使用的术语“机器可读介质”包括参与向处理器112a-112n或者计算机系统100的其它组件提供指令,以便执行的任意介质。这样的介质可采取多种形式,包括(但不限于)非易失性介质,易失性介质和传输介质。非易失性介质的常见形式包括,例如软盘、软磁盘、硬盘、磁带或者任意其它磁性介质,光盘ROM(CD-ROM)或者任意其它光学介质,穿孔卡片或者具有小孔图案的任意其它物理介质,可编程ROM(PROM),可擦除PROM(EPROM),电可擦PROM(EEPROM),快速存储器,任意其它存储芯片或盒式存储器,或者计算机系统100能够读取,并且适合于存储指令的任意其它介质。在本实施例中,非易失性存储器的一个例子是被描述成计算机系统100的内部组件的大容量存储装置118,但是显然也可由外部装置提供。易失性介质包括诸如RAM 114之类的动态存储器。传输介质包括同轴电缆、铜导线或者光纤,包括构成总线122的导线。传输介质还可采取声波或光波的形式,例如在射频或红外数据通信中产生的那些声波或光波。
此外,本发明可被下载为计算机程序产品,其中通过到与总线122耦接的通信接口132的网络链路134a-134n之一,作为包括在载波或者其它传播介质中的数据信号,程序指令可从诸如服务器140之类的远程计算机转移到发出请求的计算机系统100。通信接口132提供与多个网络链路134a-134n耦接的双向数据通信,网络链路134a-134n可与例如局域网(LAN)、广域网(WAN)连接。当实现成服务器系统时,计算机系统100一般包括通过与输入/输出控制器连接的多个外设部件互连(PCI)总线桥接器可访问的多个通信接口。这样,计算机系统100允许与多个网络计算机连接。
在网络环境中,计算机系统100通过网络102与其它系统通信。网络102可以指的是使用特殊协议,例如传输控制协议(TCP)和因特网协议(IP)相互通信的网络和网关的全球集合。网络102使用电信号、电磁信号或光信号传送数字数据流。携带数字数据往来于计算机系统100的各种网络内的信号,以及网络链路134a-134n上并通过通信接口132的信号是传送信息的载波的例证形式。虽然未示出,不过计算机系统100还可包括促进通信的多个外设组件。
当计算机系统100被实现成HA群集中的服务器系统时,可包括另外的网络适配器,以支持与其它服务器系统的本地连接。另外,当被实现成HA群集中的服务器系统时,计算机系统100可被设计成商用硬件服务器,例如来自IBM公司的xSeriesTM服务器。
本领域的普通技术人员会认识到图1中描述的硬件可变化。此外,本领域的普通技术人员会认识到描述的例子并不意味着对本发明的结构限制。
现在参考图2,图2描述了在故障转移期间,有效地转移中间件的高可用性群集的硬件结构的方框图。如图所示,客户机系统202和204与网络102连接,以便传送服务请求。在本实施例中,客户机系统202和204向高可用性(HA)系统208请求服务,HA系统208被配置成具有短的恢复时间,以及故障转移期间最少的提交数据丢失。
如图所示,HA系统208包括主节点210和副节点220。如同下面所述,主节点210和副节点220最好实现当被执行时,提供高可用性系统的冗余硬件和软件。特别地,主节点210和副节点220实现在优选实施例中,支持J2EE应用程序的冗余中间件,后面将说明。中间件是开发、集成和管理web应用程序和系统的软件。如后所述,中间件能够实现通信、进程、数据的集成,和交易容量与系统管理的自动化。
特别地,JavaTM2平台企业版(J2EE)提供用于建立web应用程序的可重复使用的组件模型。J2EE定义J2EE平台的标准应用程序模型,托管应用程序的标准平台,兼容性要求和操作定义。这种开放源码模型的一个优点在于多个开发者能够用另外的组件和配置实现J2EE模型,而所有J2EE应用程序将在基于J2EE的系统上运行。
国际商用机器公司(IBMTM)的开发人员已开发出实现J2EE模型的软件。该软件通常填充J2EE构架中未规定的空白。例如,IBMTM已开发了当在一群服务器上被实现时,支持J2EE软件产品的符合J2EE的软件产品的中间件堆栈。一般来说,中间件堆栈包括web服务器、数据库服务器和通用因特网应用程序服务器。具体地,该堆栈可包括诸如IBM DBTM,UDB企业版,IBM HTTP服务器和IBMWebSphereTM应用程序服务器之类的产品。
另外,主节点210和副节点220实现监视HA群集中符合J2EE的中间件堆栈和硬件的故障及错误的监视和配置控制器。作为监视和配置控制器的一个例子,可实现TivoliTM监视控制器,它填补了监视在J2EE构架中运行的软件的空白,并且简化了运行J2EE构架的系统的配置。
按照使每个节点能够快速检查另一节点的心跳的简单、可靠方式,连接主节点210和副节点220。在该实施例中,这种连接由连接在每个节点的网络适配器之间的跨接电缆(cross-over cable)218实现。特别地,跨接电缆218最好能够实现以太网连接,以便传送心跳数据。另一方面,在跨接电缆218发生故障的情况下,也可通过网络102,跨越公共IP连接传送心跳数据。显然也可实现其它硬件来提供主节点210和副节点220之间的心跳通信通道,并且除了基于网络的连接之外,还可实现串行连接。
特别地,当通过跨接电缆218,在主节点210和副节点220之间发送心跳信号时,如果心跳失败,那么在该故障之前,副节点220将接管主节点210提供的服务。但是,如后所述,根据本发明的一个优点,在副节点220接管主节点210提供的服务之前,中间件组件会进一步分析心跳故障,并提供关于该故障的额外信息。此外,如后所述,通过跨接电缆218,既能监视基于Linux的心跳,又能监视基于非Linux的心跳。
主节点210和副节点220访问数据存储系统214和224。有利的是,这里描述成drbd分区230的数据复制器包括每个数据存储系统214和224的一部分,用于复制主节点210和副节点220可访问的数据,而不需要在主节点210和副节点220之间实际物理共享的存储装置。根据本发明的一个优点,drbd被配置成在该分区上运行,以便简化故障转移期间,从主节点210到副节点220的数据的转移。显然虽然关于drbd脚本管理的drbd分区描述了本发明,不过也可实现其它分布式数据复制系统。
不间断电源(UPS)212和UPS 222分别向主节点210和副节点220提供独立电源。最好,在UPS 212与副节点220,以及UPS 222与主节点210之间也建立连接。在一个实施例中,从主节点210到UPS222设置串行电缆216,从副节点220到UPS 212设置串行电缆226。但是,显然也可实现其它类型的连接硬件。
根据本发明的一个优点,当在主节点210中发现故障时,在故障转移之后,副节点220开始接收先前被引向主节点210的请求。由于在主节点210上运行的硬件、软件或网络可能只有一部分发生故障,确保在故障转移之后,主节点210不试图更新数据的唯一方式是关闭UPS 212。有利的是,如后所述,当检测到对待机节点220的故障转移时,群集管理器实现这里更详细说明的STONITH,以便把命令从待机节点220引向UPS 212,从而关闭电源。
现在参考图3,图3描述了根据本发明的方法、系统和程序的群集管理器的方框图。如图所示,群集管理器包括用于实现有效故障转移的多个组件,包括心跳工具402、drbd脚本404、mon 406和stonith函数408。显然其它组件也可包括在群集管理器中,管理群集的其它方面。此外,显然另外的组件可包括在群集管理器322中,以管理故障转移。
心跳工具402最好包括Linux的心跳软件包,配置成利用符合J2EE的中间件堆栈,管理HA群集内的故障转移。特别地,心跳工具402一般通过在群集中的两个节点之间发送“心跳”请求来起作用。如图2中所示,可通过每个节点的网络适配器之间的跨接电缆,发送心跳请求。当被应用于在服务器系统群集上运行的符合J2EE的中间件堆栈时,心跳工具402发送的心跳请求被分布在堆栈的不同层周围。
如果心跳请求未能被返回,那么副节点会假定主节点发生故障,并接管IP、数据和在主节点上运行的服务。当副节点接管IP、数据和在主节点上运行的服务时,心跳工具402启动副节点的在待机模式下等待的组件,把IP地址分配给副节点的组件,并执行其它故障转移任务。
drbd 404是具有管理HA群集中的数据,以便提高故障转移期间数据的转换的相关脚本的内核模块。这通过对drbd 404管理的块装置进行镜像来实现。drbd是装入drbd模块,并配置以HA群集中的相关系统和共享的存储装置的IP地址的脚本。
当被应用于符合J2EE的中间件堆栈时,drbd管理的块装置提供中间件堆栈可在其上运行的存储空间。首先,配置群集,并安装drbd分区,以致只有主节点能够读写drbd管理的块装置。当发生故障转移时,drbd 404的数据盘脚本由心跳工具402运行,以便安装drbd分区,从而只有副节点能够读/写drbd管理的块装置。
mon 406是定期运行监视符合J2EE的中间件堆栈内的紧要系统服务的监视脚本的服务监视后台驻留程序。如果发现某一服务已发生故障或者被异常终止,那么mon 406重新启动该服务,以确保中间件堆栈的所有组件仍然在主服务内运行。可因例如编程错误,或者灾难性操作系统事件,例如关于RAM的临时紧要资源约束,发生异常终止。特别地,当mon重启某一服务时,它用不同于停用服务的进程标识符(PID),但是相同的虚拟IP地址,重启该服务的新的实例。
stonith 406是心跳工具402调用的函数,以确保故障转移期间的数据完整性。特别地,stonith 406包括如图2中所示的到UPS 212和222的串行电缆的配置。当心跳工具402调用stonith 406时,该调用指定要关闭的节点。stonith发送关闭被请求UPS的电源的信号。
监视和配置控制器410包括被指定用于监视HA群集内的硬件和软件的状态的多个监视控制器。根据本发明的一个优点,HA群集的多个硬件和软件组件的状态信息被转发给远程集中式企业控制台。最好,监视和配置控制器410补充JavaTM管理扩展(JMX)以监视HA群集的硬件和软件组件,检测瓶颈和潜在的问题,自动从危险情形恢复群集。在一个实施例中,监视控制器由把监视的信息转发给TivoliTM企业控制台(TEC)的TivoliTM监视实现。
特别地,在心跳工具402和mon 406监视节点内的特定组件和特定服务实例的状态的时候,监视和配置控制器410检测由这些工具监视的状况,并检测当心跳工具402被触发以启动故障转移,或者mon406被触发以重启服务器时,系统的整体状态。从而,监视和配置控制器410通过编辑当发生故障、错误和非理想情况时,节点的多个组件的状态,补充开放源码工具。
根据本发明的一个优点,远程集中式监视控制台能够使用收集的信息确定配置变化。具体地说,根据本发明的一个优点,监视和配置控制器410的监视控制器都被配置成监视HA群集中的每个硬件组件,以及符合J2EE的中间件堆栈的每一层。从而,根据与所述硬件和各层中间件相关的监视信息,控制台能够确定哪些中间件层需要更多的存储空间来高速缓存请求,需要更多的线程来处理请求,或者需要按照某一其它方式被重新配置。控制台能够把配置变化发送给监视和配置控制器410的配置控制器,所述监视和配置控制器随后调整HA群集的配置。在一个实施例中,配置控制器是管理HA群集的配置特征的TivoliTM配置管理器。
根据本发明的一个优点,在企业系统中,控制台使用收集的信息确定哪些HA群集需要硬件和软件升级。例如,对于监视信息来说,控制台能够确定哪些商店具有似乎正在发生故障,需要被更换的硬件,哪些商店具有已达到容量,需要升级的硬件,和哪些商店具有正在发生故障或者未可靠运行的软件。
根据本发明的另一优点,监视和配置控制器410与群集管理器322内的其它监视组件交互作用,收集发送给控制台的状态信息。例如,当mon 406检测到任意被监视服务的故障时,监视和配置控制器410向远程集中式监视控制台发送通知,以致能够编译系统中故障的更大图象。此外,当心跳工具402启动系统的一个节点到另一节点的故障转移时,监视和配置控制器410向远程集中式监视控制台发送通知,以致能够收集节点故障统计数字。
现在参见图4,图4是根据本发明的方法、系统和程序,在故障转移之前的HA群集的软件结构的一个实施例的方框图。如图所示,主节点210和副节点220代表服务器系统的群集,每个被分配一个IP地址。
根据本发明的一个优点,群集管理器322在主节点210和副节点220上运行,以便监视故障,重启服务,和当检测到故障时控制故障转移。如图所示,群集管理器322建立位于在主节点210和副节点220之间共享的存储器上的drbd分区230。
主节点210包括中间件堆栈的所有活动组件:负载均衡器312,HTTP服务器314,web应用程序服务器(WAS)316,消息接发控制器318,和数据库服务器320。副节点220包括活动HTTP服务器334和WAS 336,但是,负载均衡器332,消息接发控制器338和数据库340处于待机模式。
负载均衡器312和332最好在也可被群集的HTTP和WAS服务器之间均衡请求的负载。最好,负载均衡器312和314通过利用服务器可用性,能力,工作量和其它标准,实现智能负载均衡。根据一个实施例,可通过IBM WebSphereTM Edge服务器实现负载均衡器312和332。
如图所示,负载均衡器312和332可实现与基于Linux的心跳无关的心跳。另一方面,基于Linux的心跳监视332和342可监视负载均衡器312和332的状态。
HTTP服务器314和334可包括用于接收请求,和在WAS 316及336间分布HTTP请求的服务器群集。另外,当收到其它请求,例如对小服务程序(servlet)和EJB的请求时,使HTTP服务器314和334能够呼叫enabler,例如小服务程序容器和Enterprise JavaTM Bean(EJB)容器。根据一个实施例,可通过与IBM的WebSphereTM,尤其是WebSphereTM v5.0捆绑的HTTP服务器来实现HTTP服务器314和334。WebSphereTM 5.0有利,因为能够从一个位置控制WebSphereTM组件的多个副本。从而,可在实现位于多个服务器系统上的软件组件的多个实例的一个位置完成配置变化。
根据本发明的一个优点,HTTP服务器314和334在活动/活动配置下运行,在活动/活动配置下,在主节点启动并运行之后,群集管理器322的心跳工具激活HTTP服务器。通过在活动/活动配置下运行HTTP服务器314和334,可在两个(或更多的)服务器间分割请求负载,从而提高处理客户机请求的速度。另外,通过在活动/活动配置下运行HTTP服务器314和334,故障转移时的启动时间被降低。
WAS 316和336最好包括使得能够支持向客户提供紧要使命服务的web应用的服务器群集,特别是使这些服务器支持J2EE应用。根据一个实施例,WAS 316和336是托管小服务程序,EJB及支持J2EE应用和服务所需的其它J2EE组件的IBM的WebSphereTM 5.0支持的WebSphereTM应用服务器。
WAS 316与消息接发控制器318及数据库服务器320交互作用,提供与消息接发控制和数据库集成的应用服务器功能。根据本发明的一个优点,WAS 316和WAS 336在活动/活动配置下运行。特别地,当初始化系统时,一旦消息接发控制器318和数据库服务器320可用,那么群集管理器322的心跳工具启动WAS 336以产生活动/活动配置。通过运行活动-活动配置,可在多个系统群集间分割请求负载,以提高处理客户机请求的速度。另外,通过运行活动/活动配置,那么减少故障转移时的启动时间。
消息接发控制器318和338包括监听异步请求,并把这些请求保存在本地队列中,提供队列以便与基于J2EE的系统通信的控制器。消息接发控制器318和338可实现IBM MQSeriesTM,IBMWebSphereTM MQ,或者补充JavaTM消息接发服务(JMS)的其它消息控制器。
根据本发明的一个优点,消息接发控制器318和338在活动/待机配置下运行,在活动/待机配置下,群集管理器322的drbd管理drbd分区230中消息接发队列中的持久资源,群集管理器322的心跳工具控制故障转移中,消息接发控制器338的启动。
数据库服务器320和340提供对永久存储器的控制。数据库320和340可通过诸如IBM DB2 UDB企业版之类的数据库控制系统或者其它关系数据库管理系统来实现。
根据本发明的一个优点,数据库服务器320和340在活动/待机配置下运行,在活动/待机配置下,群集管理器322的drbd管理drbd分区230中的数据库中的持久资源,群集管理器322的心跳工具控制故障转移中数据库服务器340的启动。
为了消息接发控制器318和338及数据库服务器320和340在活动/待机配置下运行,并且以最小的数据损失快速实现故障转移,消息接发控制器318和数据库服务器320被配置成指向drbd分区320被安装成队列和数据库的存储空间的根的位置。另外,群集管理器322用消息接发控制器318和数据库服务器320的虚拟IP地址配置drbd和心跳工具。
此外,根据本发明的一个优点,群集管理器322的mon功能定期运行监视紧要系统服务,例如消息接发控制器318和数据库服务器320提供的服务的监视脚本。如果发现某一服务已失败或者异常终止,mon重启服务,以确保中间件堆栈的所有组件仍然在主服务内运行。
重要的是注意配置每层中间件以实现有效故障转移,并通过群集管理器322控制每层中间件的方法可被应用于其它类型的中间件。从而,随着可从与J2EE兼容的中间件软件堆栈获得的功能继续扩展,每个中间件组件可用活动/活动配置或活动/待机配置来构成,由群集管理器322监视,并在故障转移期间受到控制。
现在参见图5,图5描述根据本发明的方法、系统和程序,在故障转移之后,HA群集的软件结构的一个实施例的方框图。如图所示,故障转移之后,主节点210被标记成失效节点。副节点220接管成为活动节点。
当检测到故障,并且副节点220把主节点210标明为“停用”时,存在硬件和软件问题。具体地说,主节点210可能在要求的时间内不应答心跳请求,但是,会在之后不久即可工作。为了避免主节点210和副节点220都工作的情况,如前所述,群集管理器322的心跳工具调用STONITH关闭主节点210的UPS。通过实现廉价的可由STONITH控制的UPS,能够实现数据完整性,避免当主节点未真正被停用时,会发生的HA的“裂脑”问题。
随后,在故障转移期间,负载均衡器心跳管理负载均衡器332的启动。当被激活时,群集管理器322的心跳工具把主节点210的虚拟IP1地址分配给负载均衡器33。因此,对虚拟IP地址的请求被重定向到负载均衡器332,从而不发生负载均衡群集的IP地址的任何变化。
在故障转移期间,由于HTTP服务器334和WAS 336已活动,群集管理器322的心跳工具不必启动这些组件。但是,由于消息接发控制器338和数据库服务器340处于待机状态,群集管理器322的心跳工具需要管理这些层的故障转移。首先,心跳工具将接收虚拟IP2地址。随后,心跳工具将启动drbd的数据盘服务,配置和安装drbd镜像分区。最后,心跳工具将启动配置到虚拟IP2地址的消息接发控制器338和数据库服务器340,同时在镜像drbd分区230上启动消息队列和数据库实例。另一方面,虽然未示出,数据库服务器340可以处于活动模式,而不是待机模式,因为每次虚拟IP2地址只适用于一个节点。由于在请求到达之前,数据库服务器340并不试图接触drbd分区230上的数据,因此在故障转移时,数据库服务器340被配置到虚拟IP2地址,在请求到达之前,镜像drbd分区230是可访问的。相反,一些层,例如消息接发控制器338在启动时直接装入数据,从而如果在故障转移之前在副节点220上被启动,那么将会崩溃,因为在故障转移之前,drbd分区230上的数据对副节点220不可用。
现在参见图6,图6描述HA系统中,符合J2EE的中间件内的独立软件开发商(ISV)应用程序的一个实现例子的方框图。如图所示,活动WAS 602,活动IBM MQSeriesTM服务器610和活动IBM DB2服务器614举例说明与drbd分区630进行接口的符合J2EE的中间件堆栈的主节点的一部分。如附图标记620所示,在活动的WebSphereTM应用服务器602接收物品销售或交易完成。ISV可对小服务程序或EJB编程,以处理特殊类型的到来请求。例如,如附图标记620所示,查寻小服务程序604是当在收银机扫描物品的价格时,处理价格查寻(PLU),检查物品的价格的ISV web应用程序。查寻小服务程序602随后张贴该零售交易将由另一组件,例如交易小服务程序608或者另一小服务程序或者EJB异步完成的请求。但是,首先,如附图标记622所示,信息被传送给MQ监听器612,并放置在MQ队列632上,以释放查寻小服务程序604接收下一到来请求,并确保通过MQ队列632,按照顺序一次准确记录交易。随后,如附图标记624所示,随后调用MDB 606,从MQ队列632取出该交易,并如附图标记626所示,把该交易送给交易小服务程序626。交易小服务程序626最终处理该PLU,并如附图标记628所示,把结果提交给IBM DB2控制器616,以便保存在DB2 634中。
特别地,图6图解说明了在故障转移期间,HA系统中的符合J2EE的中间件堆栈的优点,因为即使在请求已开始在堆栈的各层之间转移之后,发生故障转移,该堆栈也能确保每个交易将被立即准确记录。另外,图6图解说明了在故障转移期间,HA系统中的符合J2EE的中间件堆栈的优点,因为活动各层MQSeriesTM服务器610和DB2服务器614与只有主节点能够访问、但是被快速重新安装以便在故障转移期间由副节点访问的drbd分区630进行接口。
现在参考图7,图7描述了把drbd分区配置到HA群集中的符合J2EE的中间件堆栈的进程和程序的高级逻辑流程图。如图所示,进程开始于方框700,之后进行到方框702。方框702描述配置和安装drbd分区。接下来,方框704表示激活drbd分区上的消息队列和数据库。之后,方框706图解说明记录访问drbd分区的消息接发服务器和数据库服务器的虚拟IP地址,以便在故障转移期间,有效转移对drbd分区的访问,之后该进程结束。
现在参见图8,图8描述通过心跳控制器,控制HA群集中符合J2EE的中间件堆栈的配置和故障转移的进程和程序的高级逻辑流程图。如图所示,该进程开始于方框800,之后进行到方框802。方框802图解说明激活主节点的中间件层。之后,方框804说明激活副节点的HTTP服务器和WAS中间件层。另外,指定成在活动-活动配置下运行的其它中间件层被激活。之后,方框806描述定期启动从副节点到主节点的心跳请求。方框808描述副节点是否检测到心跳返回的确定。如果检测到心跳返回,那么进程返回方框806。如果没有检测到心跳返回,那么进程进行到方框810。
方框810描述调用STONITH关闭主节点的电源。随后,方框812描述从主节点接管虚拟IP地址,以便分配给副节点中的冗余组件。之后,方框814描述调用数据盘脚本,重新安装drbd分区,以便由副节点访问,之后进程结束。随后,方框816描述激活副节点上的待机中间件层,并启动drbd分区上的数据。显然心跳工具和故障转移期间的其它群集管理服务可执行另外的步骤。
现在参见图9,图9是描述控制用于监视符合J2EE的中间件堆栈提供的服务的mon功能的进程和程序的高级逻辑流程图。如图所示,该进程开始于方框900,之后进行到方框902。方框902描述配置用于监视由中间件提供的服务的时间表。随后,方框904描述预定的监视时间是否被触发的确定。如果预定的监视时间未被触发,那么该进程在方框904重复。如果预定的监视时间被触发,那么进程进行到方框906。方框906描述监视预定服务的状态。之后,方框908确定服务是否以某种方法被检测为停用或故障。如果服务未被检测为停用,那么进程结束。如果服务被检测为停用,那么进程进行到方框910。方框910描述用新的PID重启相同服务,之后进程结束。
现在参见图10,图10描述根据本发明的方法、系统和程序,包括运行J2EE中间件堆栈,并由远程企业控制器管理的多个HA系统的企业网络的方框图。如图所示,HA系统1202和HA系统1204与远程企业控制台1210通信连接,远程企业控制台1210通过网络102监视并遥控HA系统1202和1204。显然单个或多个远程中央控制台可监视和控制多个HA系统。
根据本发明的一个优点,每个HA系统1202和1204能够处理零售交易和其它紧要使命操作。根据一个实施例,每个HA系统1202和1204可通过能够实现J2EE应用程序的冗余的符合J2EE的中间件堆栈,例如图4和5中图解说明的中间件堆栈实现高可用性。特别地,每个HA系统1202和1204包括运行监视和配置控制器410的群集管理器,如图3中所示。
有利的是,当在任意HA系统1202和1204发出错误、故障或非理想情况时,监视和配置控制器410检查错误、故障或其它非理想情况时系统的状况,随后编译该信息,向远程企业控制台1210报告。根据本发明的一个优点,如果心跳监视器或mon功能检测到故障或错误,那么监视和配置控制器410被触发,以便检测所述故障或错误,并确定故障或错误时的系统状况。
远程企业控制台1210最好把监视信息保存在数据库中。随后,远程企业控制台1210最好包括用于分析从HA系统1202和1204接收的错误或故障信息,并且可能把配置变化返回给HA系统,以便试图防止和改善故障转移的效率的第一控制器。另外,远程企业控制台1210可包括比较从多个HA系统接收的故障、错误和其它信息,确定哪些系统需要修理和升级,哪些系统不满足性能要求的第二控制器。远程企业控制台1210可收集并控制HA系统1202和1204的性能统计数字的显示。
现在参见图11,图11描述根据本发明的方法、系统和程序,控制HA群集管理器内的监视控制器的进程和程序的高级逻辑流程图。如图所示,该进程开始于方框1000,之后进行到方框1002。方框1002描述确定心跳监视器,mon,或者监视HA系统中的中间件堆栈的其它监视控制器是否检测到故障或错误。如果没有检测到故障或错误,那么该进程在方框1002重复。如果检测到故障或错误,那么进程进行到方框1004。方框1004描述收集并分析故障或错误时的可用系统信息。随后,方框1006描述把故障或错误和可用系统信息发送给监视HA系统的远程中央控制台,之后进程结束。
现在参见图12,图12是描述远程控制HA系统的群集管理器,从而重构HA系统的进程和程序的高级逻辑流程图。如图所示,该进程开始于方框1100,之后,进行到方框1102。方框1102描述确定是否从远程企业控制台收到重构运行中间件堆栈的HA系统的配置请求。如果没有收到请求,那么该进程在方框1102重复。如果收到请求,那么进程进行到方框1104。方框1104描述调用心跳监视器重构HA系统故障转移设置,之后进程结束。另外,HA系统的群集管理器内的其它控制器可被调用,以调整HA系统的其它软件和硬件配置。
现在参见图13,图13描述控制用于管理群集中的多个HA系统的远程企业控制台的进程和程序的高级逻辑流程图。如图所示,进程开始于方框1300,之后进行到方框1302。方框1302描述确定是否从HA系统收到监视信息。如果没有收到监视信息,那么进程在方框1302重复。如果收到监视信息,那么进程进行到方框1304。特别地,远程企业控制台定期向每个HA系统发送关于监视信息的请求,每个HA系统也可自动发送监视信息。
方框1304描述把监视信息加入企业数据库中,所述企业数据库中保存来自多个HA系统的监视信息。随后,方框1306描述如果监视信息触发重构,那么请求HA系统的重构。特别地,远程企业控制台可包括当在监视信息中检测到一些特定类型的错误时,将被请求的预定配置。另一方面,系统管理员可为特定类型的错误,推荐配置的类型。之后,方框1308描述根据监视信息,重新计算HA系统的性能统计数字。特别地,可以只对某些类型的监视错误或波动,触发性能统计数字的计算。随后,方框1312描述比较该HA系统的性能与企业网络中的其它HA系统的性能和企业网络的性能要求集合。随后,方框1314描述以图表的形式显示比较的性能结果。例如,图表可描述HA系统的位置的图形表示,提供哪些系统已发生故障的图形指示符,并提供表示每个HA系统相对于其它HA系统的性能的图形指示符。此外,可显示每个系统的实时性能和报告的任意错误。随后,方框1316描述推荐针对HA系统弱点的纠正动作,之后进程结束。例如,推荐可指示哪些HA系统需要被更换,哪些HA系统需要升级,哪些HA系统需要软件升级或微调。显然图13中描述的进程是可对从多个高可用性服务器接收的监视信息执行的各种进程的例子,并且在不脱离本发明的范围的情况下,可执行其它类似的分析和输出。
虽然参考优选实施例具体说明了本发明,但是对本领域的技术人员来说,在不脱离本发明的精神和范围的情况下,显然可做出形式和细节方面的各种变化。

Claims (19)

1、一种能够实现高可用性系统的远程企业管理的系统,包括:
通过网络与远程企业服务器通信连接的多个高可用性系统的一个特定高可用性系统;
监视所述高可用性系统的特定组件的状态,并在所述状态指示错误时,作出反应,以调整所述高可用性系统的群集管理控制器;
检测何时所述群集管理控制器对所述特定组件的所述状态作出反应,并检测所述高可用性系统的多个组件的状况的监视控制器,其中所述监视控制器向所述远程企业服务器报告所述错误和所述多个组件的状况,所述远程企业服务器能够根据所述报告管理所述高可用性系统。
2、按照权利要求1所述的实现高可用性系统的远程企业管理的系统,所述特定高可用性系统还包括:
实现由所述群集管理控制器监视的符合J2EE的中间件堆栈的多个服务器。
3、按照权利要求1所述的实现高可用性系统的远程企业管理的系统,所述群集管理控制器还包括:
检测所述高可用性系统的主节点的状态的心跳监视器。
4、按照权利要求1所述的实现高可用性系统的远程企业管理的系统,所述群集管理控制器还包括:
检测由所述高可用性系统的中间件层提供的服务的状态的服务监视后台驻留程序。
5、按照权利要求1所述的实现高可用性系统的远程企业管理的系统,其中所述监视控制器从所述远程企业服务器接收配置请求,并关于所述群集管理控制器将如何作出反应以调整所述高可用性系统来调整配置。
6、按照权利要求1所述的实现高可用性系统的远程企业管理的系统,其中所述监视控制器从所述远程企业服务器接收配置请求,并根据所述请求,调整所述高可用性系统的硬件配置。
7、一种能够实现高可用性系统的远程企业管理的方法,包括:
监视高可用性系统的特定组件的状态,其中所述特定高可用性系统通过网络与远程企业服务器通信连接;
响应指示错误的所述状态,作出反应,以调整所述高可用性系统;
检测何时所述群集管理控制器对所述特定组件的所述状态作出反应,并检测所述高可用性系统的多个组件的状况;和
向所述远程企业服务器报告所述错误和所述多个组件的所述状况,所述远程企业服务器能够根据所述报告管理所述高可用性系统。
8、按照权利要求7所述的实现高可用性系统的远程企业管理的方法,还包括:
监视实现符合J2EE的中间件堆栈的多个服务器的状态。
9、按照权利要求7所述的实现高可用性系统的远程企业管理的方法,还包括:
由心跳监视器监视所述高可用性系统的主节点的状态。
10、按照权利要求7所述的实现高可用性系统的远程企业管理的方法,还包括:
由服务监视后台驻留程序检测由所述高可用性系统的中间件层提供的服务的状态。
11、按照权利要求7所述的实现高可用性系统的远程企业管理的方法,还包括:
从所述远程企业服务器接收配置请求;和
关于所述群集管理控制器将如何作出反应以调整所述高可用性系统来调整配置。
12、按照权利要求7所述的实现高可用性系统的远程企业管理的方法,还包括:
从所述远程企业服务器接收配置请求;和
根据所述请求,调整所述高可用性系统的硬件配置。
13、一种驻留在计算机可读介质上的实现高可用性系统的远程企业管理的计算机程序产品,包括:
监视高可用性系统的特定组件的状态的装置,其中所述特定高可用性系统通过网络与远程企业服务器通信连接;
响应指示错误的所述状态,作出反应,以调整所述高可用性系统的装置;
检测何时所述群集管理控制器对所述特定组件的所述状态作出反应,并检测所述高可用性系统的多个组件的状况的装置;和
向所述远程企业服务器报告所述错误和所述多个组件的所述状况的装置,所述远程企业服务器能够根据所述报告管理所述高可用性系统。
14、按照权利要求13所述的实现高可用性系统的远程企业管理的计算机程序产品,还包括:
监视实现符合J2EE的中间件堆栈的多个服务器的状态的装置。
15、按照权利要求13所述的实现高可用性系统的远程企业管理的计算机程序产品,还包括:
由心跳监视器监视所述高可用性系统的主节点的状态的装置。
16、按照权利要求13所述的实现高可用性系统的远程企业管理的计算机程序产品,还包括:
由服务监视后台驻留程序检测由所述高可用性系统的中间件层提供的服务的状态的装置。
17、按照权利要求13所述的实现高可用性系统的远程企业管理的计算机程序产品,还包括:
从所述远程企业服务器接收配置请求的装置;和
关于所述群集管理控制器将如何作出反应以调整所述高可用性系统来调整配置的装置。
18、按照权利要求13所述的实现高可用性系统的远程企业管理的计算机程序产品,还包括:
从所述远程企业服务器接收配置请求的装置;和
根据所述请求,调整所述高可用性系统的硬件配置的装置。
19、一种远程配置多个高可用性系统的系统,包括:
与网络通信连接的多个高可用性系统,每个高可用性系统包括检测关于所述多个高可用性系统中的每一个的多个组件的监视信息的监视控制器;和
与所述网络通信连接的远程企业服务器,其中所述远程企业服务器接收关于所述多个高可用性系统中每一个的所述监视信息,分析所述监视信息,把重构请求发送给提交监视信息的所述多个高可用性系统,所述监视信息指示可由重构调整的错误。
CN200510005571.5A 2004-01-20 2005-01-19 用于实现高可用性系统的远程企业管理的系统和方法 Expired - Fee Related CN1645389B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/761,164 US6996502B2 (en) 2004-01-20 2004-01-20 Remote enterprise management of high availability systems
US10/761,164 2004-01-20

Publications (2)

Publication Number Publication Date
CN1645389A true CN1645389A (zh) 2005-07-27
CN1645389B CN1645389B (zh) 2010-07-21

Family

ID=34750160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510005571.5A Expired - Fee Related CN1645389B (zh) 2004-01-20 2005-01-19 用于实现高可用性系统的远程企业管理的系统和方法

Country Status (6)

Country Link
US (1) US6996502B2 (zh)
EP (1) EP1650653B1 (zh)
JP (1) JP4496093B2 (zh)
CN (1) CN1645389B (zh)
AT (1) ATE477538T1 (zh)
DE (1) DE602004028628D1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079896B (zh) * 2007-06-22 2010-05-19 西安交通大学 一种构建并行存储系统多可用性机制并存架构的方法
CN102742214A (zh) * 2011-07-13 2012-10-17 青岛海信传媒网络技术有限公司 改善高可用性系统可靠性的方法和装置
CN102968310A (zh) * 2012-12-05 2013-03-13 武汉烽火普天信息技术有限公司 一种一体化高性能应用软件架构及构建方法
CN104052806A (zh) * 2014-06-13 2014-09-17 浪潮集团有限公司 一种powerpc架构云存储平台采用drbd+rapid io实现数据同步的方法
CN104137086A (zh) * 2012-02-20 2014-11-05 三菱电机株式会社 信息系统管理装置、信息系统管理方法以及程序
CN105793874A (zh) * 2013-10-02 2016-07-20 沃拉斯堤技术解决方案公司 用于管理团体信息的方法和系统
CN106104530A (zh) * 2014-04-04 2016-11-09 西门子公司 自动化处理自动化系统的多个协议数据的方法
CN107968721A (zh) * 2017-11-02 2018-04-27 江苏神州信源系统工程有限公司 针对服务器主动放行的方法、网络管控系统及被管控终端
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN108983709A (zh) * 2017-05-30 2018-12-11 松下知识产权经营株式会社 制造装置监视系统和制造装置
CN111273577A (zh) * 2018-12-05 2020-06-12 阿自倍尔株式会社 设施监视系统及设施监视系统的通信方法

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1340175A1 (en) * 2000-10-27 2003-09-03 Manugistics, Inc. System and method for ensuring order fulfillment
US20020095307A1 (en) * 2000-10-27 2002-07-18 Manugistics, Inc. System and method for inventory and capacity availability management
AU2003291509A1 (en) * 2002-11-08 2004-06-03 Manugistics, Inc. Design for highly-scalable, distributed replenishment planning algorithm
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US7263629B2 (en) * 2003-11-24 2007-08-28 Network Appliance, Inc. Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
US7246256B2 (en) * 2004-01-20 2007-07-17 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
GB0402572D0 (en) * 2004-02-05 2004-03-10 Nokia Corp A method of organising servers
KR100622671B1 (ko) * 2004-12-21 2006-09-19 한국전자통신연구원 홈게이트웨이 플랫폼에 독립적인 댁내장치 원격제어시스템 및 방법
US20060280207A1 (en) * 2005-06-08 2006-12-14 Stephen Guarini Distributed network monitoring system
JP4337056B2 (ja) * 2005-09-12 2009-09-30 ソニー株式会社 通信装置、通信状態検出方法及び通信状態検出プログラム
US7587453B2 (en) * 2006-01-05 2009-09-08 International Business Machines Corporation Method and system for determining application availability
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US20070226536A1 (en) * 2006-02-06 2007-09-27 Crawford Timothy J Apparatus, system, and method for information validation in a heirarchical structure
US7461289B2 (en) * 2006-03-16 2008-12-02 Honeywell International Inc. System and method for computer service security
JP2007304687A (ja) * 2006-05-09 2007-11-22 Hitachi Ltd クラスタ構成とその制御手段
US7765440B2 (en) * 2006-06-29 2010-07-27 Intel Corporation Method and apparatus for OS independent platform recovery
US7853685B1 (en) * 2006-07-10 2010-12-14 Network General Technology Identifying critical network and application entities
US20080016124A1 (en) * 2006-07-12 2008-01-17 International Business Machines Corporation Enabling N-way Data Replication with a Two Way Data Replicator
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
ITTO20070387A1 (it) * 2007-06-04 2008-12-05 Reven Ge S R L Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema
US8015432B1 (en) * 2007-09-28 2011-09-06 Symantec Corporation Method and apparatus for providing computer failover to a virtualized environment
US7793140B2 (en) * 2007-10-15 2010-09-07 International Business Machines Corporation Method and system for handling failover in a distributed environment that uses session affinity
US8533315B2 (en) * 2007-10-25 2013-09-10 Crane Merchandising Systems, Inc. Systems and methods for monitoring performance of field assets
US7822841B2 (en) * 2007-10-30 2010-10-26 Modern Grids, Inc. Method and system for hosting multiple, customized computing clusters
US8595369B2 (en) * 2007-11-13 2013-11-26 Vmware, Inc. Method and system for correlating front-end and back-end transactions in a data center
US20090150459A1 (en) * 2007-12-07 2009-06-11 International Business Machines Corporation Highly available multiple storage system consistency heartbeat function
CA2616229A1 (en) * 2007-12-21 2009-06-21 Ibm Canada Limited - Ibm Canada Limitee Redundant systems management frameworks for network environments
US8626936B2 (en) * 2008-01-23 2014-01-07 International Business Machines Corporation Protocol independent server replacement and replication in a storage area network
US8108514B2 (en) * 2008-04-02 2012-01-31 International Business Machines Corporation High availability of internet protocol addresses within a cluster
JP4599435B2 (ja) * 2008-07-17 2010-12-15 株式会社東芝 クラスタシステムを構成する計算機及びプログラム
US8510402B2 (en) * 2008-08-20 2013-08-13 Schneider Automation Inc. Management of redundant addresses in standby systems
US8316383B2 (en) * 2008-12-29 2012-11-20 International Business Machines Corporation Determining availability parameters of resource in heterogeneous computing environment
US8037341B2 (en) * 2008-12-29 2011-10-11 International Business Machines Corporation Determining recovery time for interdependent resources in heterogeneous computing environment
US8200800B2 (en) 2009-03-12 2012-06-12 International Business Machines Corporation Remotely administering a server
US8369968B2 (en) * 2009-04-03 2013-02-05 Dell Products, Lp System and method for handling database failover
CN101640688B (zh) * 2009-08-20 2014-03-12 中兴通讯股份有限公司 基于cdn的节点主备用控制器切换方法及cdn网络
US8521869B2 (en) * 2009-12-18 2013-08-27 Fujitsu Limited Method and system for reporting defects within a network
US8566634B2 (en) * 2009-12-18 2013-10-22 Fujitsu Limited Method and system for masking defects within a network
US8289842B2 (en) * 2010-01-04 2012-10-16 International Business Machines Corporation Bridging infrastructure for message flows
JP5839774B2 (ja) 2010-01-06 2016-01-06 三菱重工業株式会社 計算機及び計算機管理方法並びに計算機管理プログラム
US8234515B2 (en) * 2010-04-01 2012-07-31 Accenture Global Services Limited Repurposable recovery environment
US8402106B2 (en) * 2010-04-14 2013-03-19 Red Hat, Inc. Asynchronous future based API
CA2737631C (en) * 2010-04-18 2014-07-15 Layer 7 Technologies Inc. Protected application stack and method and system of utilizing
AU2011255219A1 (en) * 2010-05-21 2012-12-13 Unisys Corporation Configuring the cluster
JP5707409B2 (ja) * 2010-09-08 2015-04-30 株式会社日立製作所 計算機
US8707083B2 (en) * 2010-12-03 2014-04-22 Lsi Corporation Virtualized cluster communication system
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US8812586B1 (en) 2011-02-15 2014-08-19 Google Inc. Correlating status information generated in a computer network
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
JP6329899B2 (ja) * 2011-07-26 2018-05-23 オラクル・インターナショナル・コーポレイション クラウドコンピューティングのためのシステム及び方法
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
JP5687173B2 (ja) * 2011-11-15 2015-03-18 株式会社日立製作所 通信システム及び方法、ハートビート代行サーバ
US9910893B2 (en) * 2011-12-01 2018-03-06 Oracle International Corporation Failover and resume when using ordered sequences in a multi-instance database environment
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US9288177B2 (en) * 2011-12-14 2016-03-15 International Business Machines Corporation Inventory updating of an internet protocol (IP) alias within a highly available computing cluster
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9069806B2 (en) 2012-03-27 2015-06-30 Google Inc. Virtual block devices
US8918448B2 (en) 2012-05-11 2014-12-23 International Business Machines Corporation Application component decomposition and deployment
CN103475677B (zh) * 2012-06-07 2018-08-28 南京中兴软件有限责任公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统
US9591080B2 (en) * 2012-09-17 2017-03-07 Tencent Technology (Shenzhen) Company Limited Method of establishing a network socket with a data server
US9430255B1 (en) 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
KR20150138223A (ko) * 2013-04-03 2015-12-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 샤시의 카트리지에서의 마이크로제어기
US10977276B2 (en) * 2015-07-31 2021-04-13 International Business Machines Corporation Balanced partition placement in distributed databases
EP3271820B1 (en) * 2015-09-24 2020-06-24 Hewlett-Packard Enterprise Development LP Failure indication in shared memory
US10699211B2 (en) 2016-02-29 2020-06-30 Oracle International Corporation Supervised method for classifying seasonal patterns
US11113852B2 (en) 2016-02-29 2021-09-07 Oracle International Corporation Systems and methods for trending patterns within time-series data
US10885461B2 (en) 2016-02-29 2021-01-05 Oracle International Corporation Unsupervised method for classifying seasonal patterns
US10331802B2 (en) 2016-02-29 2019-06-25 Oracle International Corporation System for detecting and characterizing seasons
US10198339B2 (en) 2016-05-16 2019-02-05 Oracle International Corporation Correlation-based analytic for time-series data
US11082439B2 (en) 2016-08-04 2021-08-03 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US10635563B2 (en) 2016-08-04 2020-04-28 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US10402227B1 (en) * 2016-08-31 2019-09-03 Amazon Technologies, Inc. Task-level optimization with compute environments
US20180123924A1 (en) * 2016-10-31 2018-05-03 Hongfujin Precision Electronics (Tianjin) Co.,Ltd. Cluster server monitoring system and method
JP2018116477A (ja) * 2017-01-18 2018-07-26 富士通株式会社 情報処理装置および情報処理システム
US10949436B2 (en) 2017-02-24 2021-03-16 Oracle International Corporation Optimization for scalable analytics using time series models
US10915830B2 (en) 2017-02-24 2021-02-09 Oracle International Corporation Multiscale method for predictive alerting
US10817803B2 (en) 2017-06-02 2020-10-27 Oracle International Corporation Data driven methods and systems for what if analysis
WO2019171704A1 (ja) * 2018-03-06 2019-09-12 日本電気株式会社 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
US10963346B2 (en) 2018-06-05 2021-03-30 Oracle International Corporation Scalable methods and systems for approximating statistical distributions
US10997517B2 (en) 2018-06-05 2021-05-04 Oracle International Corporation Methods and systems for aggregating distribution approximations
US11138090B2 (en) 2018-10-23 2021-10-05 Oracle International Corporation Systems and methods for forecasting time series with variable seasonality
US11138077B2 (en) * 2019-01-24 2021-10-05 Walmart Apollo, Llc System and method for bootstrapping replicas from active partitions
US10855548B2 (en) 2019-02-15 2020-12-01 Oracle International Corporation Systems and methods for automatically detecting, summarizing, and responding to anomalies
US11341017B1 (en) * 2019-04-24 2022-05-24 Snap Inc. Staged release of updates with anomaly monitoring
US11533326B2 (en) 2019-05-01 2022-12-20 Oracle International Corporation Systems and methods for multivariate anomaly detection in software monitoring
US11537940B2 (en) 2019-05-13 2022-12-27 Oracle International Corporation Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests
JP6954693B2 (ja) * 2019-05-29 2021-10-27 Necプラットフォームズ株式会社 フォールトトレラントシステム、サーバ、それらの運用方法、及びプログラム
JP6773345B1 (ja) 2019-05-29 2020-10-21 Necプラットフォームズ株式会社 フォールトトレラントシステム、サーバ、及びそれらの運用方法
US11887015B2 (en) 2019-09-13 2024-01-30 Oracle International Corporation Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems
US11245752B2 (en) * 2020-04-30 2022-02-08 Juniper Networks, Inc. Load balancing in a high-availability cluster

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
WO2001082080A2 (en) * 2000-04-20 2001-11-01 Ciprico, Inc. Network appliance
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
KR100420266B1 (ko) * 2001-10-23 2004-03-02 한국전자통신연구원 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치
DE60106467T2 (de) 2001-12-14 2006-02-23 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
US7403996B2 (en) * 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079896B (zh) * 2007-06-22 2010-05-19 西安交通大学 一种构建并行存储系统多可用性机制并存架构的方法
CN102742214A (zh) * 2011-07-13 2012-10-17 青岛海信传媒网络技术有限公司 改善高可用性系统可靠性的方法和装置
WO2013007023A1 (zh) * 2011-07-13 2013-01-17 青岛海信传媒网络技术有限公司 改善高可用性系统可靠性的方法和装置
CN104137086A (zh) * 2012-02-20 2014-11-05 三菱电机株式会社 信息系统管理装置、信息系统管理方法以及程序
CN102968310A (zh) * 2012-12-05 2013-03-13 武汉烽火普天信息技术有限公司 一种一体化高性能应用软件架构及构建方法
CN105793874A (zh) * 2013-10-02 2016-07-20 沃拉斯堤技术解决方案公司 用于管理团体信息的方法和系统
US11113236B2 (en) 2014-04-04 2021-09-07 Siemens Aktiengesellschaft Method for automatic processing of a number of protocol files of an automation system
CN106104530A (zh) * 2014-04-04 2016-11-09 西门子公司 自动化处理自动化系统的多个协议数据的方法
CN104052806A (zh) * 2014-06-13 2014-09-17 浪潮集团有限公司 一种powerpc架构云存储平台采用drbd+rapid io实现数据同步的方法
CN108983709B (zh) * 2017-05-30 2022-09-13 松下知识产权经营株式会社 制造装置监视系统和制造装置
CN108983709A (zh) * 2017-05-30 2018-12-11 松下知识产权经营株式会社 制造装置监视系统和制造装置
CN107968721A (zh) * 2017-11-02 2018-04-27 江苏神州信源系统工程有限公司 针对服务器主动放行的方法、网络管控系统及被管控终端
CN107968721B (zh) * 2017-11-02 2020-09-11 江苏神州信源系统工程有限公司 针对服务器主动放行的方法、网络管控系统及被管控终端
CN108710673B (zh) * 2018-05-17 2021-07-09 招银云创信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN111273577A (zh) * 2018-12-05 2020-06-12 阿自倍尔株式会社 设施监视系统及设施监视系统的通信方法
CN111273577B (zh) * 2018-12-05 2023-12-01 阿自倍尔株式会社 设施监视系统及设施监视系统的通信方法

Also Published As

Publication number Publication date
US6996502B2 (en) 2006-02-07
EP1650653A2 (en) 2006-04-26
EP1650653A3 (en) 2009-10-28
ATE477538T1 (de) 2010-08-15
JP2005209191A (ja) 2005-08-04
EP1650653B1 (en) 2010-08-11
JP4496093B2 (ja) 2010-07-07
CN1645389B (zh) 2010-07-21
US20050159927A1 (en) 2005-07-21
DE602004028628D1 (de) 2010-09-23

Similar Documents

Publication Publication Date Title
CN1645389B (zh) 用于实现高可用性系统的远程企业管理的系统和方法
US7246256B2 (en) Managing failover of J2EE compliant middleware in a high availability system
US7610582B2 (en) Managing a computer system with blades
JP5443614B2 (ja) 複製されたデータインスタンスのモニタリング
EP3276492B1 (en) Failover and recovery for replicated data instances
US7234075B2 (en) Distributed failover aware storage area network backup of application data in an active-N high availability cluster
US7130897B2 (en) Dynamic cluster versioning for a group
US7234072B2 (en) Method and system for making an application highly available
US7899897B2 (en) System and program for dual agent processes and dual active server processes
US20080172679A1 (en) Managing Client-Server Requests/Responses for Failover Memory Managment in High-Availability Systems
US7444335B1 (en) System and method for providing cooperative resource groups for high availability applications
US20040078397A1 (en) Disaster recovery
US20100042675A1 (en) Request processing method and computer system
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
EP2156286A1 (en) Dynamic cli mapping for clustered software entities
US20030163761A1 (en) System and method for message driven bean service migration
US20060095903A1 (en) Upgrading a software component
US20070226324A1 (en) Apparatus and method for high-availability identification and application installation
EP1489498A1 (en) Managing a computer system with blades
US8191084B1 (en) Techniques for supporting application operation
US20230044503A1 (en) Distribution of workloads in cluster environment using server warranty information
JP2020177489A (ja) 制御方法、制御プログラム、および情報処理装置

Legal Events

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

Granted publication date: 20100721

Termination date: 20190119