CN1181551A - 群集控制系统 - Google Patents
群集控制系统 Download PDFInfo
- Publication number
- CN1181551A CN1181551A CN97121527.8A CN97121527A CN1181551A CN 1181551 A CN1181551 A CN 1181551A CN 97121527 A CN97121527 A CN 97121527A CN 1181551 A CN1181551 A CN 1181551A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- computing machine
- routine
- routine package
- demons
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
一种监视控制群集系统、当计算机发生故障时将在其上运行的程序转移到群集内的其他计算机上运行的群集控制系统。在构成群集的各计算机上执行群集守护程序,在起动各程序包的同时,监视控制执行计算机上的资源,并将其数据作为局部数据保存在各计算机上。管理程序与各计算机上的群集守护程序通信。并保存着用于对群集系统的总体进行监视控制的全局数据。当管理程序或执行着该管理程序的计算机发生故障时,由群集守护程序在其他计算机上重新起动。
Description
本发明涉及一种群集控制系统,它对群集系统进行监视控制,当在某台计算机上发生故障时,它将在该计算机上运行着的程序包转移到构成群集的另一台计算机上执行。
在现有技术中被称作群集的技术大体上可分为由CPU共享主存的紧密结合型群集和计算机采用LAN和公用盘等并共享数据的松散结合型群集。这里说明的是后者即松散结合型群集。
图50是表示现有的群集系统构成例的说明图。
在图中,计算机A~N(101a~101n)是构成群集的多台计算机。在各计算机上,执行着群集守护程序A~N(102a~102n),由各群集守护程序起动各程序包A1~N2(103a1~103n2)。
这里,所谓程序包,指的是应用程序和服务程序等的总称。
各群集守护程序监视和控制执行中的计算机上的资源(CPU、LAN、盘、程序包提供的各种服务、网络地址等),并将其数据作为局部数据A~N(104a~104n)保存在各计算机内。
以下,根据图51说明群集系统的动作。
当在计算机A(101a)上失去必要的资源A(2401a)时,群集守护程序A(102a)使计算机A(101a)停止。
在计算机(101a)停止时,另一台计算机N(101n)上的群集守护程序N(102n)检测该计算机A(101a)的停止,并由另一台计算机N(101n)执行在计算机A(101a)上执行着的程序包A(103a)。
按照这种方式,程序包可在群集内的任何一台计算机上执行。此外,通过将网络地址分配给每个程序包,当用户利用由程序包提供的服务时,就没有必要知道是在群集内的哪一台计算机上执行着该程序包。
另外,作为对分散着的资源状态进行集中监视控制的方式,有特开平5-75628号「网络资源监视系统」、特开平5-134902号「分布式计算系统中的工作信息管理方式」、特开平6-223020号「网络管理系统及目标资源的管理方法」等。
但是,这些方式通过采用管理用的计算机或管理用的处理程序(管理程序)实现,但都没有考虑在管理用的计算机或管理用的处理程序(管理程序)中发生了故障时的情况。
由于现有的群集系统按如上方式构成,所以,在编制对系统总体进行监视和控制的程序时,必须将数据分散于各计算机,并与群集内的所有计算机进行通信,因而存在着很难编制程序的问题。
在对分散着的资源状态进行集中监视控制的方式中,还存在着当监视和控制整个系统的计算机或处理程序发生故障时其监视功能完全停止的问题。
由于对各种程序包之间的相关关系或优先等级等没有进行定义,所以还存在着很难从多重系统等的其他系统进行转移的问题。
此外,还存在着程序包重新起动花费时间、恢复时也花费时间的问题。
由于系统恢复后在程序包的切换处理上要花费时间,使进行并行处理的程序包不能进行并行处理,因此,还存在着恢复后系统的性能恶化的问题。
本发明是为解决上述问题而开发的,其目的是提供一种容易编制对群集系统总体进行监视和控制的程序、同时可从其他系统转移并能以高速进行操作的群集控制系统。
与本发明的第一方面有关的群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包由另一台计算机执行,在该群集控制系统中,构成该群集的各计算机包括:提供应用或各种服务的程序包、对在计算机之间进行通信的资源进行监视控制的群集守护程序、及将监视结果作为局部数据存储的局部数据存储装置;在群集系统中的一台计算机除上述程序包、群集守护程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置、与全局数据存储装置和各计算机上的群集守护程序进行通信并对群集系统的总体进行监视控制的管理程序;当安装着管理程序的计算机发生故障时,可在群集内的其他计算机上重新起动。
与本发明的第二方面有关的群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包由另一台计算机执行,在该群集控制系统中,构成该群集的各计算机包括:提供应用或各种服务的程序包、对在计算机之间进行通信的资源进行监视控制的群集守护程序、与该计算机本身的群集守护程序及管理程序进行通信的服务程序、及将监视结果作为局部数据存储的局部数据存储装置;群集系统中的一台计算机除群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置、及与全局数据存储装置和各计算机上的服务程序进行通信并对群集系统的总体进行监视控制的管理程序;当安装着管理程序的计算机发生故障时,可在群集内的其他计算机上重新起动。
与本发明的第三方面有关的群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行着的程序包由另一台计算机执行,在该群集控制系统中,构成该群集的各计算机包括:提供应用或各种服务的程序包、对在该计算机本身的程序包和计算机之间进行通信的资源进行监视控制的群集守护程序、与该计算机本身的群集守护程序、各计算机上的服务程序之间及全局数据存储装置进行通信的服务程序;及将监视结果作为局部数据存储的局部数据存储装置;在群集系统中的一台计算机除上述群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置;各计算机上的服务程序可直接在全局数据存储装置及服务程序之间进行通信。
与本发明的第四方面有关的群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行着的程序包由另一台计算机执行,在该群集控制系统中,构成该群集的各计算机包括:提供应用或各种服务的程序包;对在该计算机本身的程序包及各计算机之间进行通信的资源进行监视控制的群集守护程序;与该计算机本身的群集守护程序、各计算机上的服务程序之间及全局数据存储装置进行通信的服务程序;及将监视结果作为局部数据存储的局部数据存储装置;在群集系统中的一台计算机除上述群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置以及与该计算机本身的服务程序和守护程序进行通信的管理程序;各计算机上的服务程序可直接在全局数据存储装置及服务程序之间进行通信。
有关本发明的第五方面,是在与本发明的第一、第二或第四方面有关的群集控制系统中,管理程序包括:记述了构成群集系统的计算机群的资源状态变化时的处理的资源设定文件;及根据资源设定文件的定义,当资源状态有变化时进行资源控制处理的自动控制机构。
有关本发明的第六方面,是在与本发明的第五方面有关的群集控制系统中,在资源设定文件中定义与程序包间的相互关系和与执行有关的优先级信息,自动控制机构根据该定义信息使各计算机上的程序包运行。
有关本发明的第七方面,是在与本发明的第一、第二、第四或第五方面有关的群集控制系统中,管理程序包括:对程序包附加包含运行、等待、试验的运行操作模式、并根据该模式对程序包的操作控制进行管理的模式管理机构。
有关本发明的第八方面,是在与第1、第2、第4乃至第7方面有关的群集控制系统中,管理程序包括收集与在群集系统内发生的资源状态变化有关的运行记录的运行记录管理机构。
另外,有关本发明的第九方面,当构成群集控制系统的多台计算机中的一台计算机发生故障时,使在上述发生故障的计算机上运行中的提供应用或各种服务的程序包由另一台计算机运行,在该群集控制系统中,上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包的起动和运行进行控制的群集守护程序,上述多台计算机中的第1计算机运行上述程序包即第1程序包,上述多台计算机中的第2计算机在起动状态下等待提供与上述第1程序包相同的应用和服务的第2程序包,上述多台计算机中的一台计算机除上述群集守护程序外,还包括管理程序,用于从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机发生故障时,在上述第2计算机上运行上述第2程序包,同时在上述第1计算机从上述故障恢复时,使上述第1计算机在起动状态下等待上述第1程序包。
另外,本发明的第十方面具有从上述第1程序包的输出或上述第2程序包的输出选择任何一个后输出的输出控制装置,上述第2计算机不是在起动状态下等待上述第2程序包,而是运行上述第2程序包,它包括下述管理程序以取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在从上述输出控制装置输出上述第1程序包的输出时,如在上述第1计算机中发生故障,则取代上述第1程序包的输出,从上述输出装置输出上述第2程序包的输出,并在上述第2计算机发生故障之前由上述输出控制装置继续输出上述第2程序包的输出,当上述第1程序包重新开始运行而上述第2计算机发生故障时,取代上述第2程序包的输出,从上述输出控制装置输出上述第1程序包的输出。
另外,本发明的第十一方面包括如下管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,在上述第2计算机上运行上述上述第2程序包,同时,使上述多台计算机中的第3计算机在起动状态下等待上述第1程序包。
另外,本发明的第十二方面包括存储由上述多台计算机的每一台起动的各程序包的优先级的管理表,并包括如下管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,从上述管理表检索比在上述第1计算机上运行着的上述程序包的优先级低的程序包,并使该优先级低的程序包停止运行,同时在运行着上述优先级低的程序包的计算机上起动在上述第1计算机上运行着的程序包。
另外,有关本发明的第十三方面,当构成群集控制系统的多台计算机中的一台计算机发生故障时,使提供在上述发生故障的计算机上运行中的应用或各种服务的程序包由另一台计算机运行,在该群集控制系统中,上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包的起动和运行进行控制的群集守护程序,上述多台计算机中的一台计算机除上述守护程序外,还包括:存储由上述多台计算机的每一台起动的各程序包的优先级和上述多台计算机的每一台的负载的管理表;及管理程序,用于从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机的负载变得大于预定负载时,参照上述管理表,使在上述第1计算机上运行着的程序包中的优先级低的程序包停止运行,并在上述多台计算机中的负载小于预定负载的计算机上起动被停止的程序包。
另外,有关本发明的第十四方面,取代上述管理表,包括存储在上述多台计算机上起动的各程序包的优先级的管理表,上述群集守护程序监视各自的计算机的资源,并包括如下管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述群集守护程序监视的资源发生变化时,根据上述优先级,将资源重新分配给由上述多台计算机的每一台运行着的程序包。
另外,有关本发明的第十五方面,包括存储将由上述多台计算机的每一台并行运行的多个上述程序包作为一组时的组名的管理表,并包括下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机发生故障时,从上述管理表检索上述多台计算机的计算机中没有运行与在上述第1计算机上运行着的程序包同组的程序包的计算机,并在检索到的计算机上起动和运行由上述第1计算机运行着的程序包。
图1是本发明第1实施形态的处理程序结构图。
图2是本发明第1实施形态的管理程序的结构图。
图3是表示本发明第1实施形态的与用户请求对应的管理程序的处理的流程图。
图4是表示本发明第1实施形态的管理程序的资源状态监视处理的流程图。
图5是表示本发明第1实施形态应用例的图。
图6是本发明第2实施形态的处理程序结构图。
图7是本发明第2实施形态的管理程序的结构图。
图8是本发明第2实施形态的服务程序的结构图。
图9是表示本发明第2实施形态的服务程序变形例的结构图。
图10是表示本发明第2实施形态的管理程序的资源状态监视处理的流程图。
图11是表示本发明第2实施形态的服务程序的资源状态监视处理的流程图。
图12是本发明第3实施形态的处理程序结构图。
图13是表示本发明第3实施形态应用例的图。
图14是本发明第4实施形态的处理程序结构图。
图15是表示本发明第4实施形态应用例的图。
图16是本发明第5实施形态的管理程序的结构图。
图17是表示本发明第5实施形态的设定文件例的图。
图18是表示本发明第6实施形态的设定文件例的图。
图19是本发明第7实施形态的管理程序的结构图。
图20是本发明第7实施形态的模式状态切换图。
图21是表示本发明第7实施形态应用例的图。
图22是本发明第8实施形态的管理程序的结构图。
图23是本发明第9实施形态的管理程序的结构图。
图24是本发明第9实施形态的管理表存储内容的构成例。
图25是说明本发明第9实施形态的管理程序的处理的流程图。
图26是表示本发明第9实施形态的系统动作例的功能框图。
图27是本发明第10实施形态的管理程序的结构图。
图28是本发明第10实施形态的管理表存储内容的构成例。
图29是说明本发明第10实施形态的管理程序的处理的流程图。
图30是表示本发明第10实施形态的系统动作例的功能框图。
图31是本发明第11实施形态的管理程序的结构图。
图32是本发明第11实施形态的管理表存储内容的构成例。
图33是说明本发明第11实施形态的管理程序的处理的流程图。
图34是表示本发明第11实施形态的系统动作例的功能框图。
图35是本发明第12实施形态的管理表存储内容的构成例。
图36是说明本发明第12实施形态的管理程序的处理的流程图。
图37是表示本发明第12实施形态的系统动作例的功能框图。
图38是本发明第13实施形态的管理表存储内容的构成例。
图39是表示本发明第13实施形态的系统动作例的功能框图。
图40是本发明第14实施形态的管理表存储内容的构成例。
图41是说明本发明第14实施形态的管理程序的处理的流程图。
图42是表示本发明第14实施形态的系统动作例的功能框图。
图43是本发明第15实施形态的管理表存储内容的构成例。
图44是说明本发明第15实施形态的管理程序的处理的流程图。
图45是表示本发明第15实施形态的系统动作例的功能框图。
图46是表示本发明第15实施形态的系统动作例的功能框图。
图47是本发明第16实施形态的管理程序的结构图。
图48是本发明第16实施形态的管理表存储内容的构成例。
图49是说明本发明第16实施形态的管理程序的处理的流程图。
图50是表示现有技术的处理程序结构图。
图51是表示现有技术的动作的图。
实施形态1
以下,根据图1~图5说明本发明的第1实施形态。
在图1中,计算机A~N(101a~101n)是构成群集的多台计算机。在各计算机上,执行着群集守护程序A~N(102a~102n),由各群集守护程序起动各程序包A1~N2(103a1~103n2)。
所谓程序包,指的是应用程序和服务程序等的总称。
另外,各群集守护程序监视和控制执行中的计算机上的资源(CPU、LAN、盘、程序包、网络地址等),并将其数据作为局部数据A~N(104a~104n)保存在各计算机内。
管理程序105通过与各计算机上的群集守护程序进行通信,对群集系统的总体进行监视控制,并保存着全局数据106。
全局数据106是可以由群集内的任何一台计算机参照的数据,可采用公用盘、公用存储器、或通过存储器的复制实现。
另外,管理程序105是群集系统内的程序包之一,当管理程序或执行着管理程序的计算机发生故障时,由守护程序在另一台计算机上重新起动。
以下,根据图2说明管理程序的结构。
在图中,请求处理机构201是接收来自用户的请求(D201:资源状态取得请求、资源控制请求、通知设定请求)、进行与请求相应的处理(D202、D203、D204)并将处理结果(D205)发送给用户的结构。
资源控制机构202接受来自请求处理机构201的请求(D204),通过参照资源状态DB(数据库)(203)(D206)来确定保存着作为请求对象的资源的计算机,并向该计算机发送资源控制请求(D207)。
对于群集内的各个资源,资源状态监视机构204向保存着资源的计算机发送资源状态取得请求(D208),接收作为其响应的资源状态(D209),并当资源状态变化时,参照资源状态DB(203)(D210),通知资源状态变化处理机构205(D211)。
资源状态变化处理机构205接受来自资源状态监视机构204的通知(D211),对资源状态DB(203)进行更新(D212),同时参照通知设定DB(数据库)(207)(D213),如设定着通知设定,则通知资源状态变化通知机构208(D214)。
通知设定机构206根据来自请求处理机构201的请求(D202),对通知设定DB(207)进行更新(D215),并参照资源状态DB(203)(D216),将当前状态通知资源状态变化通知机构208(D217)。
资源状态变化通知机构208接受来自资源状态变化处理机构205或通知设定机构206的通知(D214、D217),向进行设定的用户发送资源状态变化通知(D218)。
通知控制机构209是对用户与群集守护程序之间的发送接收进行控制的机构。资源状态DB(203)是存储着资源名称、状态、保存着该资源的计算机等信息的数据库。
通知设定DB(207)是存储着当某个资源的状态发生变化时向与管理程序连接着的某个用户发送通知的信息的数据库。
以下,根据图3说明当有了来自用户的请求时的管理程序的处理动作。
首先,在步骤301中,等待来自用户的请求(D201),在步骤302中,判别来自用户的请求(D201)的种类。
当来自用户的请求是取得资源状态时,在步骤303中,请求处理机构201参照资源状态DB(D203),并取得与该请求对应的资源状态。在步骤304中,请求处理机构201向用户发送资源状态(D205),并返回步骤301。
另一方面,当来自用户的请求是控制资源时,在步骤305中,资源控制机构202接受来自请求处理机构201的请求(D204),并参照资源状态DB(D206),取得保存着与该请求对应的资源状态的计算机。
在步骤306中,资源控制机构202向在步骤305中取得的计算机发送控制请求(D207)。在步骤307中,请求处理机构201将步骤306的资源控制机构202的处理结果发送给用户(D205),并返回步骤301。
当来自用户的请求是设定资源状态变化的通知时,在步骤308中,通知设定机构206对通知设定DB进行更新(D215)。
在步骤309中,请求处理机构201起动资源控制机构202(D204),同时向用户发送处理结果(D205)。
在步骤310中,通知设定机构206从资源状态DB(203)取得当前的资源状态(D216)。在步骤311中,资源状态变化通知机构208接受来自通知设定机构206的通知(D217),将在步骤310中取得的资源状态通知给用户(D218),并返回步骤301。
之所以在步骤310中向用户发送通知,是为了返回当前资源状态(对用户的初始值)。
其次,根据图4说明管理程序的资源监视处理。
在步骤401中,对所有资源完成步骤402以下的处理。在步骤402中,资源状态监视机构204从保存着该资源的计算机取得资源状态(D208、D209)。
在步骤403中,资源状态监视机构204参照资源状态DB(203)(D210),如果该状态与取得的资源状态相同,则返回步骤401,如果不相同,则进行步骤404以下的处理。
在步骤404中,资源状态变化处理机构205从资源状态监视机构204接受通知(D211),并将资源状态DB(203)的状态更新为取得的资源状态(D212)。
在步骤405中,资源状态变化处理机构205参照通知设定DB(D213),如果登录着与该资源状态变化对应的对用户的通知,则在步骤406中,资源状态变化通知机构208从资源状态变化处理机构205接受通知(D214),并将资源的状态变化通知用户(D218),如果没有登录,则返回步骤401。
在步骤407中,停止一定的时间。
图5是表示群集系统内的监视控制用处理程序的构成例。
在图中,可以根据与管理程序105在同一计算机A(101a)上的处理程序A(501a)、群集内的另一计算机B(101b)上的处理程序B(501b)、在WS(工作站)等的群集以外的计算机C(101c)上的处理程序C(501c)对群集内的所有资源进行监视控制。
另外,各组合处理程序只须对管理程序105进行访问,即可对群集进行监视和控制,而无需知道该管理程序在哪一台计算机上操作。
实施形态2
根据图6~图11说明本发明的第2实施形态。
本实施形态是对图1的处理程序结构进行变更后的形态,是当不能由其他计算机访问群集守护程序时或当想要减轻管理程序和网络的负载时采用的结构。
图6是表示本实施形态的处理程序结构的图。
服务程序A~N(601a~601n)是在各计算机上执行的与各计算机上的群集守护程序及管理程序进行通信的程序。
而其他单元是与图1中标以相同符号的单元相同的构成单元。
图7是本实施形态的管理程序的结构。与图2的不同点在于:去掉了资源状态监视机构204、由资源状态变化处理机构205接受来自服务程序的通知(D701)、及资源控制机构不是向群集守护程序而是向服务程序发送资源控制请求(D702)。
图8是表示本实施形态的服务程序的结构的图。
各机构的动作除以下几点外与图2相同。即,去掉了通知设定DB(207)和通知设定机构206,对请求处理机构201的请求只是来自管理程序的资源控制请求(D702)。
资源控制机构202将资源控制请求(D702)发送到运行着的计算机上的群集守护程序,而不参照资源状态DB(203)。
资源状态变化处理机构205将来自资源状态监视机构204的所有通知(D211)通知资源状态变化通知机构208(D214),而不参照通知设定DB(207)。
资源状态变化通知机构208不是向用户而是向管理程序进行资源状态变化的通知(D701)。资源状态DB(801)只管理执行着服务程序的计算机保存的局部的资源状态。
如果在通信控制机构209发送时管理程序105不存在,则其数据保存在一个队列内。
当收到来自用户的请求时,管理程序的处理与图3相同。
以下,根据图10说明管理程序的资源监视处理。
在步骤1001中,资源监视状态机构204等待来自服务程序的资源状态变化通知(D701)。步骤1002~1004与图4的步骤404~406相同。
以下,根据图11说明服务程序的资源监视处理。
在步骤1101中,对计算机的所有资源完成步骤1102以下的处理。在步骤1102中,资源监视状态机构204从群集守护程序取得资源的状态(D208、D209)。
在步骤1103中,资源状态监视机构204参照资源状态DB(D210),如果该状态与取得的资源状态相同,则返回步骤1101,如果不相同,则进行步骤1104以下的处理。
在步骤1104中,资源状态变化处理机构205从资源状态监视机构204接受通知(D211),并将资源状态DB的状态更新为取得的资源状态(D212)。
在步骤1105中,资源状态变化通知机构208从资源状态变化处理机构205接受通知(D214),并将资源的状态变化通知管理程序(D701),并返回步骤1101。并且在步骤1106中,停止一定的时间。
另外,图9是图8的变形例,示出了具有向群集守护程序通知资源状态变化的功能时的服务程序的结构。各机构的基本动作与图8相同,但不同点是去掉了资源状态监视机构204、资源状态DB(801),并增加了一个通知设定机构206。
这里,通知设定机构206向群集守护程序发送通知设定请求(D901),以便在服务程序起动或群集守护程序起动时通知所有的资源状态变化。
另外,资源状态变化处理机构205接受来自群集守护程序的通知(D902),并通知资源状态变化通知机构208(D903)。
按照以上的结构,由于同一计算机上的服务程序与群集守护程序通信,并且,管理程序与服务程序通信,所以,即使群集守护程序只能与同一计算机上的处理程序通信,也仍能由管理程序进行群集的集中监视控制。
另外,由于各服务程序可定期取得资源状态,所以能使负载分散,并使流向网络的数据减少,因而能减轻管理程序和网络的负载。
实施形态3
根据图12、图13说明本发明的第3实施形态。
本实施形态是对图6的处理程序结构进行变更后的形态,将管理程序去掉而在服务程序相互之间进行通信,并可参照全局数据。
以下,根据图12说明处理程序的结构。
服务程序A~N(601a~601n)与在装有各服务程序A~N的计算机上执行着的群集守护程序、其他计算机上的服务程序及用户进行通信。
全局数据106可由各计算机访问,而由各计算机的访问以互斥的方式进行。
服务程序的结构与图2的管理程序的结构相同,但各机构有以下几点不同。
对资源状态DB(203)、通知设定DB(207)的访问由服务程序以互斥的原子动作方式进行。
另外,各服务程序的资源状态监视机构204只对执行着各服务程序的计算机上的资源进行监视。
如果在计算机上存在要控制的资源,则资源控制机构202向计算机上的群集守护程序发送,如不存在该资源,则在参照资源状态DB(203)后,向保持着该资源的计算机上的服务程序或群集守护程序发送。
再有,通信控制机构209从各用户的接收和向用户的发送,变成从用户或服务程序的接收和向用户或服务程序的发送。
图13是表示采用本结构的用户处理程序的结构例。
用户处理程序A(1301)选择服务程序601a~601n内的任何1个服务程序进行通信。这里,如图13(b)所示,当该服务程序中发生故障时,选择另一服务程序,并重新进行连接。
用户处理程序B(1302)选择服务程序601a~601n内的任何2个服务程序进行通信。在这种情况下,即使如图13(b)所示其中1个服务程序中发生故障时,仍可以通过另一服务程序进行通信,继续进行处理。
按照以上的结构,用户可与群集内的任何一个服务程序进行通信,从而能进行群集的集中监视控制。
另外,通过与2个服务程序进行通信,可以缩短服务程序发生故障时造成的通信被禁止的时间。
实施形态4
根据图14、图15说明本发明的第4实施形态。
本实施形态在图12中增加了管理程序105。
以下,参照图14说明处理程序的结构。
这里,服务程序A~N(601a~601n)与图12所示相同。
管理程序105按照只具有网络地址的程序包构成,用户可通过访问管理程序105而对群集内的任何一个服务程序进行访问。
图15是采用本结构的用户处理程序的构成例。
用户处理程序A(1501)与管理程序105进行通信。当如图15(b)所示在管理程序105中发生了故障时,在另一计算机上重新起动管理程序105,用户处理程序A(1051)与管理程序105重新进行连接。
用户处理程序B(1502)选择服务程序601a~601n内的任何2个服务程序进行通信。即使如图15(b)所示其中一个服务程序中发生故障时,仍可以通过与另一服务程序进行通信,继续进行处理。
按照以上的结构,用户可以象实施形态1、实施形态2一样只对管理程序进行访问的运行状态,或象实施形态3一样,适当选择对群集内的任何一个服务程序进行访问的运行状态。
另外,当只对管理程序进行访问时,由于管理程序按只具有网络地址的程序包构成,所以,与实施形态1和2相比,能在短时间内进行管理程序的转移,因此,即使在管理程序中发生故障时,也能缩短通信被禁止的时间。
实施形态5
根据图16、图17说明本发明的第5实施形态。
本实施形态是在图7的管理程序中包括设定文件和自动控制机构。
图16是本实施形态的管理程序的结构图。
在图中,设定文件1601用于根据资源状态的变化进行系统的自动控制,并记有资源名、事件名、处理的组。
另外,事件名、处理中的变量名(属性)、及命令名(方法)由资源的种类决定,变量名表示为“资源名。变量名”,命令名表示为“资源名->命令名”。
自动控制机构1062用于读入设定文件1061(D1601),当收到来自资源状态变化处理机构205的通知(D1602)时,参照资源状态DB(203)(D1603),并根据设定文件1061的定义,向资源控制机构202发送资源控制请求(D1604)。
其次,图17是表示设定文件的例的图。
在图中,pkg1、pkg2是资源名,资源的种类是程序包。第1~第3行是注释。第5~第9行是用于当pkg1停止时如pkg2没有起动则使pkg2起动的定义。
第11~第15行是用于在pkg1起动时如pkg2在与pkg1同一计算机上起动着则使pkg2停止的定义。第17~第21行是用于在pkg2起动时如pkg1在与pkg2同一计算机上起动着则使pkg2停止(中止pkg2的起动)的定义。
在以上的定义中,使pkg1和pkg2不在同一计算机上运行,如在同一计算机上运行,则是使pkg1优先的系统。
在本设定文件中以对程序包进行的控制作为一个例子,但当然也可以对其他资源进行控制。
另外,在本实施形态中说明了实施形态2的管理程序,但也适用于实施形态1、实施形态4中所述的管理程序。
实施形态6
根据图18说明本发明的第6实施形态。
本实施形态是图17的设定文件的变形例,可以设定程序包间的相关关系和优先级。
在设定文件中增加了程序包名和程序包的可执行条件的组合描述,自动控制机构可以根据设定文件的设定利用资源控制机构对资源进行控制。
程序包的可执行条件是“程序包名、|、&、!”的列,程序包名以在同一计算机上起动该程序包为条件,而|、&、!表示条件的逻辑加、逻辑积、逻辑非。
另外,程序包的优先级根据描述的顺序决定。
图18是设定文件例。
第1行是注释。第2行定义在同一计算机上pkg2运行时pkg1不能运行。第3行定义pkg2不能与pkg1在同一计算机上运行。
第4行定义pkg3必须与pkg1或pkg2在同一计算机上运行。
如按照以上定义,则可构成在同一计算机上只运行pkg1或pkg2中的任何一个时的计算机上执行pkg3的系统。
实施形态7
根据图19~图21说明本发明的第7实施形态。
本实施形态是在图7的管理程序结构中增加一个模式管理机构。
当可在多台计算机上执行相同的程序包时,对各程序包附加“运行”、“等待”、“试验”等模式的信息,并实现根据模式信息改变程序包的动作的管理程序。
图19是表示本实施形态的管理程序的结构的图。
模式管理机构1901用于接受来自资源状态变化处理机构205的通知(D1901),并参照资源状态DB203(D1902),向资源控制机构202发送资源控制请求(D1903),使其进行如图20所示的动作。
图20是表示程序包程序的模式状态切换的图。
模式为停止的程序包程序,可通过指定“运行”、“等待”、“试验”的模式后起动,从而切换到各状态,并在请求停止或发生故障时,将模式从各状态切换到“停止”状态。
另外,当“运行”中的其他程序包程序停止后,模式为“等待”中的程序包程序可将模式切换到“运行”状态。
而模式状态为“运行”的程序包,总是被控制为存在于群集内的一个程序包。
图21是表示2台计算机运行时的应用例的图。
在图中,程序包A(2101、2102)是在各计算机上执行着的相同的程序包。如图21(a)所示,当假定计算机1上的程序包A(2101)的模式为“运行”、而计算机2上的程序包A(2102)的模式为“等待”时,如计算机1发生故障(图21(b)),则使计算机2上的程序包A(2102)的模式为“运行”并继续进行处理(图21(c))。
在重新起动计算机1时,由于在群集内有运行着的程序包A(2102),所以在计算机1上应使程序包A(2101)的模式为等待态状重新起动。(图21(d))。
通过采用以上的结构,与只是重新起动程序包的方式相比,可在更短的时间内进行切换。
在本实施形态中,作为模式的状态,定义了“运行”、“等待”、“试验”,但也可以定义为其他状态。
另外,在本实施形态中,采用了实施形态2的管理程序,但当然也可以使用实施形态1、实施形态4、实施形态5的管理程序。
实施形态8
根据图22说明本发明的第8实施形态。
本实施形态是在图7的管理程序结构中增加了一个运行记录管理机构。
在图22中示出本实施形态的管理程序的结构。
在图中,运行记录管理机构2201用于接受来自资源状态变化处理机构205的资源状态变化的通知(D2201)并对运行记录DB(数据库)(2202)进行更新(D2202)。这时,运行记录数据按时间序列顺序控制。
另外,还接受来自请求处理机构201的请求(D2203),并参照运行记录DB(2202)(D2204),将运行记录数据送回。
在运行记录DB(2202)内,保存着群集内的所有资源的全部事件及其发生的时间。
按照以上结构,用户只需对管理程序进行访问,即可取得在群集内发生的所有事件的信息。
另外,在本实施形态中,说明了实施形态2的管理程序,但当然也可以使用实施形态1、实施形态4、实施形态5、实施形态7的管理程序。
实施形态9
根据图23~图26说明本发明的第9实施形态。
在本实施形态中,包括取代图1中示出的群集系统管理程序105而采用的具有按模式管理各程序包的功能的管理程序。另外,以下,如不是特别指定计算机A101a~计算机N101n中的某一台,则称之为计算机101;如不是特别指定群集守护程序A102a~N102n中的某一个,则称之为群集守护程序102;如不是特别指定程序包103a1~103n2中的某一个,则称之为程序包103。
在图23中示出本实施形态的管理程序的结构。
在图23中,通知处理机构2301用于接受来自群集守护程序102的资源状态变化通知(D2301),并将接收到的资源状态变化通知发送到模式管理机构2302(D2302)。
资源状态变化的通知(D2301)是在例如计算机101停机时等系统总体资源发生变化的情况下由管理该资源的群集守护程序102发送的通知。
模式管理机构2302用于接受来自通知处理机构2301的资源状态变化通知(D2302),并参照/更新管理表2303,将模式控制请求(D2304)发送到模式控制机构2304。
模式控制机构2304,用于接受来自模式管理机构2302的模式控制请求(D2304)并向群集守护程序102或程序包103发送模式控制请求(D2305)。
图24示出管理表2303的存储内容的例。在管理表2303中,保存着程序包名和模式状态,例如「运行」、「等待」、「停止」等。
图25是说明图23的管理程序105的处理的流程图。
以下,根据图25说明管理程序105的动作。
在步骤2501中,模式管理机构2302进行管理表2303的初始化。
其次,在步骤2502中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向模式管理机构2302发送资源状态变化通知(D2302)。
接着,在步骤2503中,模式管理机构2302判断资源状态变化通知(D2302)的种类。当资源状态变化通知(D2302)是计算机101的起动时,进入步骤2507,如果是计算机101停止时,则进入步骤2504。
如果是计算机101停止时,则在步骤2504中,模式管理机构2302更新管理表2303,并将在停止的计算机101上运行或等待的全部程序包103的模式重写为「停止」。
然后,在步骤2505中,检查是否有模式为「等待」的程序包103。这时,如在计算机上执行着多种类型的程序包103,则检查在与停止的程序包103种类相同的程序包103中是否有模式为「等待」的程序包103。为此,也可在图24所示的管理表2303中追加执行着程序包103的计算机的信息和程序包103的种类信息。
在步骤2505中,如果没有模式为「等待」的程序包103,则返回步骤步骤2502。这里,当没有模式为「等待」的程序包103时,也可以在运行中的其他计算机101上起动与停止的程序包103种类相同的程序包。
如果有模式为「等待」的程序包103,则在步骤2506中,模式管理机构2302向模式控制机构2304发送指示「运行」的模式控制请求(D2304)。然后,模式控制机构2304通过群集守护程序102,向在步骤2505中查得的程序包103发送模式控制请求(D2304),从而使该等待中的程序包103开始运行。
其次,在步骤2510中,模式管理机构2302对管理表2303进行更新。即,将管理表2303中的与在步骤2506中指示运行的程序包103有关的模式重写为「运行」。步骤2510结束后,返回步骤2502。
另一方面,当在步骤2503中判定通知的种类为计算机101起动时,在步骤2507中,模式管理机构2302将模式控制请求(D2304)发送到模式控制机构2304,并以等待状态起动在起动的计算机101上已停止的程序包103。
然后,在步骤2508中,参照管理表2303,检查是否有模式为「运行」的程序包103。这时,如存在着多种类型的程序包103,则检查在与步骤2507中起动了的程序包103种类相同的程序包103中是否有模式为「运行」的程序包103。
如果有模式为「运行」的程序包103,则在步骤2510中,模式管理机构2302对管理表2303进行更新。即,将管理表2303的与在步骤2506中起动了的程序包103有关的模式重写为「等待」。步骤2510结束后,返回步骤2502。
另一方面,如果没有模式为「运行」的程序包103,则在步骤2509中,模式管理机构2302向模式控制机构2304发送指示「运行」的模式控制请求(D2304)。然后,模式控制机构2304通过群集守护程序102,向在步骤2508查得的程序包103发送模式控制请求(D2305),从而使该等待中的程序包103开始运行。
其次,在步骤2510中,模式管理机构2302对管理表2303进行更新。即,将管理表2303的与在步骤2509中指示运行的程序包103有关的模式重写为「运行」。步骤2510结束后,返回步骤2502。
图26是说明本实施形态的动作一例的图。在图26中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图26(a)所示,在作为第1计算机的计算机A101a上执行着作为第1程序包的程序包A103a,在作为第2计算机的计算机B101b上作为第2程序包的程序包B103b处于等待状态,这时,如图26(b)所示,如假定计算机A101a停止,则管理程序105按如上所述的方式动作,如图26(c)所示,在计算机B101b上立即执行等待着的程序包B103b,即变为运行状态。这时,从程序包A103a向程序包B103b的切换由于程序包B103b而处于等待状态,所以节省了在起动上所花的时间,因而能高速地进行。然后,如计算机A101a从停止状态恢复而开始正常动作,则在计算机A101a上起动先前停止的程序包A103a,并变成等待状态。
这里,即使是在计算机A101a从故障恢复后,也不是将处理立即从程序包B103b切换到程序包A103a,而是使程序包A103a处于等待状态,不进行新的切换处理,因而能以高速执行系统总体的处理。
如上所述,如按照本实施形态的结构,则可以构成根据在群集系统中的运行/等待这样的模式进行管理的双重系统,并且,与只重新起动程序包的方式相比,能在更短的时间里进行切换。
实施形态10
根据图27~图30说明本发明的第10实施形态。
在本实施形态中,包括取代图1中示出的群集系统的管理程序105而采用的具有管理各程序包的功能的管理程序。
在图27中示出本实施形态的管理程序的结构。
在图27中,与图23相同的符号表示相同或相当的部分。
输出管理机构2701用于接受来自通知处理机构2301的资源状态变化通知(D2302),并参照和更新管理表2702,将输出抑制/解除请求(D2702)发送到输出抑制机构(2703)。
输出抑制机构2703用于接受来自输出管理机构2701的输出抑制/解除请求(D2702),并向群集守护程序102或程序包103发送输出抑制/解除请求(D2703)。
图28示出管理表2702的存储内容的例子。在管理表2702中,保存着程序包名和输出抑制状态,例如抑制、解除等。
图29是说明图27的管理程序105的处理的流程图。
以下,根据图29说明本实施形态的管理程序105的动作。
在步骤2901中,输出管理机构2701进行管理表2702的初始化。
其次,在步骤2902中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向输出抑制机构2703发送资源状态变化通知(D2301)。
接着,在步骤2903中,输出管理机构2701判断资源状态变化通知(D2301)的种类。当资源状态变化通知(D2301)是计算机101的起动时,进入步骤2907,如果是计算机101停止时,则进入步骤2904。
如果是计算机停止时,则在步骤2904中,输出管理机构2701更新管理表2702,并将在停止的计算机105上的全部程序包103的输出抑制状态重写为「抑制」。
然后,在步骤2905中,输出管理机构2701检查是否有输出抑制状态为「抑制」的程序包103。这时,如在计算机上执行着多种类型的程序包103,则检查在与被抑制的程序包103种类相同的程序包103中是否有输出抑制状态为「抑制」的程序包103。为此,也可在图28所示的管理表2702中追加执行着程序包103的计算机的信息和程序包103的种类信息。
在步骤2905中,如果没有输出抑制状态为「抑制」的程序包103,则返回步骤2902。这里,当没有输出抑制状态为「抑制」的程序包103时,也可以在运行中的其他计算机101上起动与在步骤2904中被抑制的程序包103种类相同的程序包。
如果有输出抑制状态为「抑制」的程序包103,则在步骤2906中,输出管理机构2701向输出抑制机构2703发送指示「解除」的输出抑制解除请求(D2702)。然后,输出抑制机构2703通过群集守护程序102,向在步骤2905中查得的程序包103发送输出抑制解除请求(D2703),从而使输出被抑制的程序包103开始输出。
其次,在步骤2910中,输出管理机构2701对管理表2702进行更新。即,将管理表2702的与在步骤2906中指示输出抑制解除的程序包103有关的输出抑制状态重写为「解除」。步骤2910结束后,返回步骤2902。
另一方面,当在步骤2903中判定通知的种类为计算机101起动时,在步骤2907中,输出管理机构2701将输出抑制解除请求(D2702)发送到输出抑制机构2703,并在被起动的计算机101上以抑制输出的状态起动程序包103。
然后,在步骤2908中,参照管理表2702,检查是否有输出抑制状态为「解除」的程序包103。这时,如存在着多种类型的程序包103,则检查在与步骤2907中起动了的程序包103种类相同的程序包103中是否有输出抑制状态为「解除」的程序包103。
如果有输出抑制状态为「解除」的程序包103,则在步骤2910中,输出管理机构2701对管理表2702进行更新。即,将管理表2702的与在步骤2906中起动了的程序包103有关的输出抑制状态重写为「抑制」。步骤2910结束后,返回步骤2902。
另一方面,如果没有输出抑制状态为「解除」的程序包103,则在步骤2909中,输出管理机构2701向输出抑制机构2703发送指示「解除」的输出抑制解除请求(D2702)。然后,输出抑制机构2703通过群集守护程序102,向在步骤2908查得的程序包103发送输出抑制解除请求(D2702),从而使该输出被抑制的程序包103开始输出。
其次,在步骤2910中,输出管理机构2701对管理表2702进行更新。即,将管理表2702的与在步骤2909中指示输出抑制解除的程序包103有关的输出抑制状态重写为「解除」。步骤2910结束后,返回步骤2902。
图30是说明本实施形态的动作例的图。在图30中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图30(a)所示,在作为第1计算机的计算机A101a上执行着作为第1程序包的程序包A103a,在作为第2计算机的计算机B101b上执行着作为第2程序包的程序包B103b,程序包A103a进行着输出,即处在输出抑制解除状态,而程序包B103b被抑制,即处在输出抑制状态。但是,程序包A103a和程序包B103b接受相同的输入数据,并进行着同样的动作。
在图30(a)所示的状态下,假定如图30(b)所示计算机A101a停止,则上述管理程序105按如上所述的方式动作,如图30(c)所示,在计算机B101b上输出被抑制的程序包B103b立即开始输出。这时,由于程序包B103b与程序包A103a进行同样的动作,所以切换在瞬间完成,与实施形态9所示的系统相比,其特征是系统的恢复时间更快。
然后,如计算机A101a从停止状态恢复而开始正常动作,则在计算机A101a上起动先前停下来的程序包A103a,并重新开始动作。这时,是在输出被抑制的状态下动作。
这里,即使是在计算机A101a从故障恢复后,也不是将处理立即从程序包B103b切换到程序包A103a,而是使程序包A103a处于输出抑制状态,不进行新的切换处理,因而能以高速执行系统总体的处理。
这里,输出控制装置是进行输出抑制、输出抑制解除的装置,可设置在程序包程序内,也可以是与程序包程序不同的处理程序或由线索执行的程序。当程序包103与另一程序包103等其他处理程序、线索或外围设备等的硬件控制器进行通信时,可通过输出控制装置进行通信。
如上所述,如按照本实施形态的结构,则可以在群集系统上构成自由运行双重系统,并且,与只重新起动程序包的方式相比,能在更短的时间里进行切换。
实施形态11
根据图31~图34说明本发明的第11实施形态。
在本实施形态中,包括取代图1中示出的群集系统的管理程序105而采用的具有按模式管理各程序包的功能的管理程序。
在图31中示出本实施形态的管理程序的结构。
在图31中,程序包管理机构3101用于接受来自通知处理机构2301的资源状态变化通知(D2302),并参照和更新管理表3102,将程序包控制请求(D3102)发送到程序包控制机构3103。
程序包控制机构3103用于接受来自程序包管理机构3101的程序包控制请求(D3102),并向群集守护程序102或程序包103发送程序包控制请求(D3103)。
图32示出管理表3102的存储内容的例子。在管理表3102中,保存着如图32(a)所示的存储着程序包名、模式的状态、执行计算机、组名的第1表和如图32(b)所示的存储着各计算机的动作状态、例如「运行」、「停止」的信息的第2表。这里,模式状态信息例如为「运行」、「停止」、「等待」等的信息,执行计算机的信息是表示以程序包名特定的程序包在哪个计算机101上执行的信息,组名是表示程序包种类的信息,指定同一组名的程序包可以接替其他程序包的处理。
图33是说明图31的管理程序105的处理的流程图。
以下,根据图33说明管理程序105的动作。
在步骤3201中,程序包管理机构3101进行管理表3102的初始化。
其次,在步骤3202中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向程序包管理机构3101发送资源状态变化通知(D2302)。
接着,在步骤3203中,程序包管理机构3101判断资源状态变化通知(D2302)的种类。当资源状态变化通知(D2302)是计算机101的起动时,进入步骤3208,如果是计算机101停止时,则进入步骤3204。
如果是计算机101停止时,则在步骤3204中,程序包管理机构3101更新管理表3102,并将在停止的计算机105上运行或等待的全部程序包103的模式重写为「停止」。
然后,在步骤3205中,检查在与停止的程序包的组相同的组内是否有模式为「等待」的程序包103。
在步骤3205中,如果没有模式为「等待」的程序包103,则转移到步骤3208。
如果有模式为「等待」的程序包103,则在步骤3206中,程序包管理机构3101向程序包控制机构3103发送指示「运行」的程序包控制请求(D3102)。然后,程序包控制机构3103通过群集守护程序102,向在步骤3205中查得的程序包103发送程序包控制请求(D3102),从而使该等待中的程序包103开始运行。
其次,在步骤3207中,程序包管理机构3101对管理表3102进行更新。即,将管理表3102的与在步骤3206中指示运行的程序包103有关的模式重写为「运行」。步骤3210结束后,返回步骤3202。
接着,在步骤3208中,程序包管理机构3101参照管理表3102并判断是否有能够执行模式为「停止」的程序包的计算机101。如有计算机101时,进入步骤3209,如没有时,转移到步骤3212。
在步骤3209中,程序包管理机构3101向程序包控制机构3103发送指示「等待」的程序包控制请求(D3102)。然后,程序包控制机构3103向在步骤3206中查得的计算机101的群集守护程序102发送程序包控制请求(D3103)。如群集守护程序102接收到指示「等待」的程序包控制请求(D3103),则以等待状态起动作为目标的程序包103。
然后,在步骤3210中,程序包管理机构3101参照管理表3102并检查与在步骤3209中起动了的程序包的组相同的组内是否有模式为「运行」的程序包103。如果有,则转移到步骤3212,如没有时,则进入步骤3211。
在步骤3211中,程序包管理机构3101向程序包控制机构3103发送指示「运行」程序包控制请求(D3102)。然后,程序包控制机构3103向管理着在步骤3209中起动了的程序包103的群集守护程序102发送程序包控制请求(D3103)。如群集守护程序102接收到指示「运行」的程序包控制请求(D3103),则将作为目标的程序包103的等待状态解除,并使其开始运行。
其次,在步骤3212中,程序包管理机构3101对管理表3102进行更新。即,将在步骤3209、步骤3211中变更了的程序包状态反映在管理表3102内。步骤3212结束后,返回步骤3202。
图34是说明本实施形态的动作一例的图。在图34中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图34(a)所示,在作为第1计算机的计算机A101a上运行着作为第1程序包的程序包A103a,在作为第2计算机的计算机B101b上作为第2程序包的程序包B103b处于等待状态,并假定程序包A103a与程序包B103b在同一个组内。
在图34(a)所示的状态下,假定如图34(b)所示计算机A101a停止,则管理程序105按如上所述的方式动作,如图34(c)所示,在计算机B101b上立即执行等待着的程序包B103b,即变为运行状态,接替程序包A103a的处理。这时,由于程序包B103b处于等待状态,所以,从程序包A103a向程序包B103b的切换节省了在起动上所花的时间,因而能高速地进行。
然后,在作为第3计算机的另一计算机C101c上起动与先前停止的程序包A103a相同的程序包103,并保持等待状态。
如上所述,如按照本实施形态的结构,则可以构成根据在群集系统中的运行/等待这样的模式进行管理的双重系统,并且,与重新起动程序包的方式相比,能在更短的时间里进行切换。
另外,如按照本实施形态的结构,则还具有可以缩短降级运行时间的效果。即,在现有的双重系统中,当其中一台计算机停止时,在进行该计算机的恢复作业期间,降级为单系统方式,在该期间内,如另一台计算机也停止,则整个系统就都停了下来,但如按照本实施形态,则当一边的程序包停止时,由于停止的程序包在另一计算机上起动,所以降级为单系统的时间只是程序包的重新起动时间,因而能避免因多重故障造成的系统全部停止,并使系统的可靠性提高。
实施形态12
根据图35~图37说明本发明的第12实施形态。
本实施形态的管理程序105的结构与图31所示基本相同,但在下述那样的各构成部分中所执行的处理不同。
首先,对管理表3102进行说明。
图35示出了管理表3102的存储内容的例子。在本实施形态的管理表3102中,保存着如图35(a)所示的存储着程序包名、执行着该程序包的执行计算机名的第3表和如图35(b)所示的存储着各计算机的动作状态、例如「运行」、「停止」信息的第2表。
以下,根据图33说明管理程序105的动作。
图33是说明图31的管理程序105的处理的流程图。
在步骤3501中,程序包管理机构3101进行管理表3102的初始化。
其次,在步骤3502中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向程序包管理机构3101发送资源状态变化通知(D2302)。
接着,在步骤3503中,程序包管理机构3101判断资源状态变化通知(D2302)的种类。当资源状态变化通知(D2302)是计算机101的起动时,进入步骤3507,如果是计算机101停止时,则进入步骤3504。
如果是计算机101停止时,则在步骤3204中,程序包管理机构3101参照管理表3102并检索空闲计算机101。当检索到空闲计算机101时,进入下一个步骤3506,如没有空闲计算机101时,就转移到步骤3510。
接着,在步骤3206中,程序包管理机构3101向程序包控制机构3103发送指示「运行」的程序包控制请求(D3102)。然后,程序包控制机构3103向在步骤3505中检索到的计算机101的群集守护程序102发送指示「运行」的程序包控制请求(D3103)。收到该程序包控制请求(D3103)的群集守护程序102起动与在停止的计算机101上执行过的程序包103相同的程序包103,并开始执行该程序包103。
其次,在步骤3510中,程序包管理机构3101将管理表3102的内容更新为当前的计算机状态,并返回步骤3202。
另一方面,当在步骤3503中判定通知的种类为计算机101起动时,在步骤3507中,程序包管理机构3101将管理表3102的内容更新为当前计算机101的状态,即,将与起动后的计算机101有关的状态项目重写为「运行」。
然后,在步骤3508中,参照例如在实施形态11中说明过的如图32(a)所示的第1表,检查是否有停止着的程序包103,当有停止着的程序包103时,检查是否有能够执行该停止着的程序包103的计算机101。当没有停止着的程序包103时,或当没有能够执行该停止着的程序包103的计算机101时,就转移到上述步骤3510,当有停止着的程序包103、且有能够执行该停止着的程序包103的计算机101时,就进入接下一个步骤3509。
在步骤3509中,程序包管理机构3101向程序包控制机构3103发送指示「运行」的程序包控制请求(D3102)。然后,程序包控制机构3103向在步骤3508中查得的计算机101的群集守护程序102发送指示「运行」的程序包控制请求(D3103),从而在由步骤3508中查得的计算机101上起动在同一步骤3508中查得的程序包103,同时执行该程序包103。
在步骤3509结束后,进入上述步骤3510。
图37是说明本实施形态的动作的一例的图。在图37中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图37(a)所示,在计算机A101a上运行着程序包A103a,在计算机B101b上运行着程序包B103b,并假定程序包A103a与程序包B103b是种类不同的程序包103。
在图34(a)所示的状态下,假定如图34(b)所示计算机A101a停止,则上述管理程序105按如上所述的方式动作,在空闲计算机N101n上起动并执行程序包A103a。
在这之后,如图34(c)所示,如计算机A101a起动,则这时计算机A101a变成空闲计算机、即备用的计算机。
然后,如图37(d)所示,如此时计算机B101b因故障等而停止,则上述管理程序105按如上所述的方式动作,在此时已成为空闲计算机的计算机A101a上起动并执行在计算机B101b上执行的程序包B103b。
如上所述,如按照本实施形态的结构,则可以构成根据在群集系统中的系统状态改变程序包的转移目的地的多重系统。
另外,在本实施形态中,即使如图37(c)所示停止的计算机A101a恢复,也是使计算机A101a处于备用状态,而由已执行了程序包A103a的计算机N101n继续执行程序包A103a,恢复后的计算机A101a此时变成其他计算机的备用机。因此,与使恢复后的计算机A101a重新执行程序包A103A并使计算机N101n重新成为备用机那样的系统相比,能以高速执行处理。
实施形态13
根据图38和图39说明本发明的第13实施形态。
本实施形态的管理程序105的结构与图31所示基本相同,其处理也与参照图36说明过的实施形态12相同。但是,如以下所述,请求起动程序包103的计算机101进行的处理、即步骤3504及步骤3508不同。
首先,说明本实施形态的管理表3102。
图38示出管理表3102的存储内容的例子。在本实施形态的管理表3102中,保存着如图38(a)所示的存储着程序包名、执行着该程序包的执行计算机名及其程序包的组名的第4表和如图38(b)所示的存储着各计算机的动作状态、例如「运行」、「停止」的信息的第2表。
其次,说明本实施形态的管理程序105的动作。如上所述,本实施形态的管理程序105的动作与实施形态12基本相同,所以以下仅说明不同的处理,即步骤3504及步骤3508。
在本实施形态的步骤3504中,程序包管理机构3101参照管理表3102检索的不是空闲计算机,而是检索没有执行与在停止的计算机101上执行过的程序包103同组的程序包103的计算机101。当检索到没有执行同组的程序包103的计算机101时,进入下一个步骤3506,如检索到时,转移到步骤3510。
另外,在本实施形态的步骤3508中,参照例如在实施形态11中说明过的如图32(a)所示的第1表,检查是否有停止着的程序包103,当有停止着的程序包103时,检查是否有能够执行该停止着的程序包103的计算机101。当没有停止着的程序包103时,或当没有能够执行该停止着的程序包103的计算机103时,向上述步骤3510转移,当有停止着的程序包103、且有能够执行该停止着的程序包103的计算机101时,进入下一个步骤3509。这里,作为能执行的计算机101,不是空闲计算机101,而是查找没有执行与停止的程序包103同组的程序包103的计算机101。
图39是说明本实施形态的动作的一例的图。在图39中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图39(a)所示,在计算机A101a上运行着程序包A103a,在计算机B101b上运行着程序包B103b,并假定程序包A103a与程序包B103b是被指定为同一组的程序包,是将一个集中的处理由各组分散进行、即进行并行处理的程序包,由计算机A101a执行着的程序包C103c是用于将程序包A103a和程序包B103b的输出集中的程序包。
在图34(a)所示的状态下,假定如图34(b)所示计算机A101a停止,则上述管理程序105按如上所述的方式动作,由没有执行与其同组的程序包的计算机N101n、而不是由执行着与其同组的程序包B103b的计算机B101b起动和执行该程序包A103a。
如上所述,如按照本实施形态的结构,则可以在群集系统上构成分载系统,能进行负载的分散。即,由于不在同一计算机101上起动多个进行并行处理的同一组的程序包,所以,即使是在执行切换处理后,也仍能以并行处理的方式继续进行高速处理。
实施形态14
根据图40~图42说明本发明的第14实施形态。
本实施形态的管理程序105的结构与图31所示基本相同,但在如以下所述的各构成部分中所执行的处理不同。
首先,对管理表3102进行说明。
图40示出管理表3102的存储内容的例子。在本实施形态的管理表3102中,保存着如图40(a)所示的存储着程序包名、执行着该程序包的执行计算机名、及其程序包的优先级的第5表和如图40(b)所示的存储着各计算机的动作状态、例如「运行」、「停止」信息的第2表。
以下,根据图41说明管理程序105的动作。
图41是说明图31的管理程序105的处理的流程图。
在步骤4001中,程序包管理机构3101进行管理表3102的初始化。
其次,在步骤4002中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向程序包管理机构3101发送资源状态变化通知(D2302)。
接着,在步骤4003中,程序包管理机构3101判断资源状态变化通知(D2302)的种类。当资源状态变化通知(D2302)是计算机101的起动时,进入步4004,如果是计算机101停止时,则进入步骤4007。
另一方面,当在步骤4003中判定通知的种类为计算机101起动时,在步骤4004中,程序包管理机构3101参照管理表3102并检索停止着的程序包103。这里,作为检索停止着的程序包103的方法的一例,有这样的方法,即:由图40(a)的第5表的执行计算机指定的计算机检索在图40(b)的第2表中为「停止」的程序包103;或者,检索虽然在图40(a)的第5表中指定了程序包名及优先级、但在执行计算机的项目中没有指定任何计算机的程序包103。
其次,在步骤4005中,程序包管理机构3103判断在步骤4004中是否已检索到停止的程序包。这里,如有停止的程序包时,进入下一个步骤4006,如没有时,则转移到步骤4012。
接着,在步骤4006中,程序包管理机构3101首先检索在停止的程序包103中优先级最高的程序包,并将指示最高优先级的程序包103「运行」的程序包控制请求(D3102)发送到程序包控制机构3103。然后,程序包管理机构3103向新起动的计算机101的群集守护程序102发送指示「运行」的程序包控制请求(D3103),从而在新起动的计算机101上执行在停止的程序包103中优先级最高的程序包103。
如步骤4006结束,则转移到下一个步骤4012。
然后,在步骤4012中,程序包管理机构3101根据当前计算机及程序包的状态更新管理表3102的内容,并返回步骤4002。
另一方面,当在步骤4003中判定通知的种类为计算机101停止时,在步骤4007中,程序包管理机构3101参照管理表3102并检索可以执行在停止的计算机101上运行过的程序包的计算机101。当检索到可执行的计算机101时,进入下一步骤4011,如没有检索到可执行的计算机101时,转移到步骤4009。
这里,判断程序包103是否可以执行是将执行该程序包所必需的资源与作为对象的计算机101的剩余资源进行比较,如果在计算机101上留有足够的执行该程序包所必需的资源,则判定可以执行,而如不够时,则判定不能执行。
当没有可执行的程序包103时,在步骤4009中,程序包管理机构3101参照管理表3102,检查在优先级比停止的程序包103低的程序包103中是否有可停止的程序包103。当有可停止的程序包103时,进入步骤4010,如没有时,进入上述的步骤4012。
当有可停止的程序包103时,在步骤4010中,程序包管理机构3101向程序包控制机构3103发送指示「停止」的程序包控制请求(D3102)。然后,程序包控制机构3103向管理着在步骤4009查得的程序包103的群集守护程序102发送指示「停止」的程序包控制请求(D3103)。收到该程序包控制请求(D3103)的群集守护程序102使在步骤4009中查得的程序包103停止,并将该程序包使用着的资源释放。
如该步骤4010结束,则转移到步骤4011。
在步骤4011中,程序包管理机构3101向程序包控制机构3103发送指示停止的程序包103「运行」的程序控制请求(D3102)。然后,程序包控制机构3103、向在步骤4008中查得的计算机101、或在步骤4010中停止了程序包103的计算机101的群集守护程序102发送指示「运行」的程序包控制请求(D3103)。收到该程序包控制请求(D3103)的群集守护程序102起动停止的程序包103并开始运行。
如该步骤4011结束,则转移到上述步骤4012。
图42是说明本实施形态的动作一例的图。在图42中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图42(a)所示,在计算机A101a~N101n上分别运行着程序包A103a~N103n,并假定程序包A103a~N103n分别为种类不同的程序包103。假定在各程序包的优先级中,程序包A103a最高,其次是程序包B103b,而程序包N101n最低。
在图42(a)所示的状态下,假定如图43(b)所示作为第1计算机的计算机A101a停止,则上述管理程序105按如上所述的方式动作,在计算机N101n上,将优先级比程序包A103a低的程序包N101n停止,转而起动和执行停止的程序包A103a。
在这之后,如图34(c)所示,如计算机A101a恢复并起动,则这时在计算机A101a上,执行停止了的程序包N101n。
并且,这时如图37(d)所示,如计算机B101b因故障等而停止,则管理程序105按如上所述的方式动作,将在计算机A101a上执行着的优先级低的程序包N103n停止,并转而起动和执行优先级高的停止了的程序包B103b。
这里,进而如图42(e)所示,如计算机N101n也停止,则由于程序包A103a的优先级比程序包B103b高,所以将已在计算机A101a上执行的程序包B103b停止,转而在计算机A101a上起动和执行程序包A103a。
在这之后,如图42(f)所示,如计算机B101b恢复,则在计算机B101b上起动和执行在停止的程序包中优先级最高的程序包B103b。
如上所述,如按照本实施形态的结构,则可以在群集系统上构成多重降级系统,即使在发生故障时也能优先进行重要的处理。
实施形态15
根据图43~图46说明本发明的第15实施形态。
本实施形态的管理程序105的结构与图31所示基本相同,但在下述那样的各构成部分中所执行的处理不同。
首先,对管理表3102进行说明。
图43示出管理表3102的存储内容的例子。在本实施形态的管理表3102中,保存着如图43(a)所示的存储着程序包名、执行着该程序包的执行计算机名、其程序包的优先级及执行其程序包所必需的负载的第6表和如图43(b)所示的存储着各计算机的动作状态、例如「运行」、「停止」的信息及计算机的最大容许负载的第7表。作为负载的例子,有资源(例如存储器及CPU的时间)等。
以下,根据图44说明管理程序105的动作。
图41是说明图31的管理程序105的处理的流程图。
在步骤4301中,程序包管理机构3101进行管理表3102的初始化。
其次,在步骤4302中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向程序包管理机构3101发送资源状态变化通知(D2302)。
接着,在步骤4303中,程序包管理机构3101判断资源状态变化通知(D2302)的种类。当资源状态变化通知(D2302)是计算机101的起动或停止时,进入步骤4309,如果是传达计算机101的负载超过100%的通知时,则进入步骤4304。
在步骤4304中,选择在负载超过100%的计算机101(以下,在本实施形态中,称作过载计算机)上运行过的程序包103、而且是当前不进行处理的程序包103中优先级最低的程序包,并在以下的步骤4305~4308中对该程序包103(以下,在本实施例中称作选择程序包)进行处理。
首先,在步骤4305中,使选择程序包停止。即,程序包管理机构3101向程序包控制机构3103发送指示选择程序包停止的程序包控制请求(D3102)。然后,程序包控制机构3103向管理着该选择程序包的群集守护程序102发送指示「停止」的程序包控制请求(D3103),群集守护程序102在收到该请求后,将选择程序包停止。这里,通过将选择程序包停止,将过载计算机的资源释放,因而可减少过载计算机的负载。
其次,在步骤4306中,程序包管理机构3101更新与选择程序包有关的管理表-2303的项目,即重写为「停止」。
在步骤4307中,判断是否对在过载计算机上运行的全部程序包进行了上述步骤4304~4306的处理,如已处理时,进入步骤4310,如尚未处理,则转移到下一步骤4308。
在下一个步骤4308中,检查过载计算机的负载是否超过100%。如超过100%时,返回上述步骤4304,如不到100%时,转移到步骤4310。判断是否超过100%的方法是由程序包管理机构3101参照管理表2303并将在过载计算机上运行或等待中的程序包负载的总和与过载计算机的最大容许负载进行比较。
另一方面,当在步骤4303中判定通知的种类是计算机的起动或停止时,在步骤4309中,程序包管理机构3101更新管理表2303,并根据通知的内容将该计算机的项目重写为「运行」或「停止」。
然后,在步骤4310中,程序包管理机构3101参照管理表3102,并检索在停止着的程序包103中优先级最高的程序包(以下,在本实施形态中,称作优先程序包)。
其次,在步骤4311中,程序包管理机构3101参照管理表2303,选择可执行优先程序包的计算机101。这里,计算机101的选择以执行优先程序包所必需的负载、各计算机101的最大容许负载、以及与在各计算机101上运行或等待中的程序包有关的负载为基准进行。当不存在可执行的计算机101时,不进行选择,因而得到没有可执行的计算机的结果。
接着,在步骤4312中,判断在步骤4311中是否有可执行的计算机101,如果有,就进入步骤4313,如果没有,就转入步骤4316。
在接着的步骤4313中,在由步骤4311选出的计算机101上起动优先程序包。即,程序包管理机构3101向程序包控制机构3103发送指示优先程序包的「运行」的程序包控制请求(D3102)。然后,程序包控制机构3103向在步骤4311中选出的计算机101的群集守护程序102发送指示「运行」的程序包控制请求(D3103),从而在该计算机101上执行停止着的程序包103中优先级最高的程序包103。
然后,在步骤4314中,程序包管理机构3101对管理表2303进行更新,也就是更新管理表2303中与选择程序包有关的项目、即执行计算机。
其次,在步骤4315中,程序包管理机构3101判断是否对所有停止着的程序包103进行了自上述步骤4310起的处理、即步骤4310~4318的处理,如已对所有的程序包103进行了处理,则转移到步骤4302,等待新的资源状态变化通知(D2301)的到来,如果对所有的程序包103进行的处理尚未完成,则返回步骤4310。
另一方面,当在步骤4312中判定没有可执行的计算机101时,在步骤4316中,程序包管理机构3101参照管理表3202,检查在优先级比停止着的程序包103低的程序包中是否有可以停止的程序包103。当有可以停止的程序包103时,进入步骤4317,如没有时,进入上述步骤4315。
当有可以停止的程序包103时,在步骤4317中,程序包管理机构3101向程序包控制机构3103发送指示「停止」的程序包控制请求(D3102)。然后,程序包控制机构3103向管理着在步骤4316中查得的程序包103的群集守护程序102发送指示「停止」的程序包控制请求(D3103)。收到该程序包控制请求(D3103)的群集守护程序102将在步骤4316中查得的程序包103停止,并将该程序包使用着的资源释放。
其次,在步骤4318中,程序包管理机构3101更新管理表2303,将与在步骤4317中停止了的程序包103有关的项目重写为当前状态。
如步骤4311结束,则转移到上述步骤4311,进行如上所述的新资源的释放、或优先程序包的起动的处理。
图45是说明本实施形态的动作的一例的图。在图45中,与图1相同的符号表示相同或相当的部分。
首先,开始时,如图45(a)所示,在计算机A101a~N101n上分别运行着程序包A103a~F101f,并假定程序包A103a~F101f分别为种类不同的程序包103。假定在各程序包的优先级中,程序包A103a最高,其次是程序包B103b,以下按顺序为程序包C101c、程序包D101d、程序包E101e、程序包F101f。另外,程序包A103a占计算机A101a的负载的40%,程序包B103b~程序包F101f按顺序分别占执行计算机101的负载的40%、40%、20%、20%、20%。
在图45(a)所示的状态下,如假定如图45(b)所示的作为第1计算机的计算机A101a的负载超过了100%,则上述管理程序105按如上所述的方式动作,如图45(c)所示,在计算机A101a上,将优先级比最高优先级低的程序包D103d停止,转而在负载充裕的计算机B101b上起动并开始执行程序包D103d。
另外,图46是说明本实施形态动作的另一例的图。在图46中,与图45相同的符号表示相同或相当的部分。
在图46(a)所示的状态下,假定如图46(b)所示,计算机A101a停止并使程序包A103a及程序包D103d停止。于是,上述管理程序105按如上所述的方式动作,如图46(c)所示,在计算机N101n上起动并开始执行在停止的程序包中优先级最高的程序包A103a。这时,优先级低的程序包F103f停止。
另一方面,在负载充裕的计算机B101b上起动和执行在停止的程序包中优先级占第2位的D103d。
另外,程序包F101f由于没有负载有剩余的计算机101而且优先级也比其他程序包103低,所以不起动。
如上所述,如按照本实施形态的结构,则可以构成负载自动分配系统,能自动地将负载分散,因而能防止对重要处理的响应特性劣化。
实施形态16
根据图47~图49说明本发明的第16实施形态。
本实施形态包括取代图1所示群集系统的管理程序105而采用的、具有根据各程序包的优先级管理分配给各程序包的资源量的功能的管理程序。
在图47中示出本实施形态的管理程序的结构。
在图47中,与图23相同的符号表示相同或相当的部分。资源分配管理机构4601用于接受来自通知处理机构2301的资源状态变化通知(D2301),参照和更新管理表4602,将程序包控制请求(D4603)发送到资源分配控制机构4603。
资源分配控制机构4603用于接受来自资源分配管理机构4601的程序包分配控制请求(D4602),并向群集守护程序102或程序包103发送资源分配控制请求(D4603),从而将剩余的资源只按程序包的优先级分配给该程序包103。
图48示出了管理表4602的存储内容的例子。在管理表4602中,保存着如图48所示的存储着程序包名、执行计算机、优先级的第8表。这里,执行计算机的信息是表示由程序包名特定的程序包103由哪一台计算机执行的信息。
图49是说明图47的管理程序105的处理的流程图。
以下,根据图49说明管理程序105的动作。
在步骤4801中,资源分配管理机构4601进行管理表4602的初始化。
其次,在步骤4802中,通知处理机构2301等待来自群集守护程序102的资源状态变化通知(D2301),并在收到后向资源分配管理机构4601发送资源状态变化通知(D2302)。
接着,在步骤4803中,资源分配管理机构4601根据发送资源状态变化通知(D2302),更新管理表4602。
在步骤4804中,在群集系统的多台计算机101中选择尚未进行步骤4805~步骤4808的处理的计算机(以下,在本实施形态中,将所选择的该计算机称作选择计算机)。然后,进行以下的步骤4804~步骤4807的处理。
首先,在步骤4805中,从由选择计算机执行着的程序包中选择在尚未进行步骤4806和步骤4807的处理的程序包中优先级最高的程序包(以下,在本实施形态中,将所选择的该程序包称作选择程序包)。然后,对选择程序包进行以下的步骤4806和步骤4807的处理。
在步骤4806中,从选择计算机的资源剩余量计算分配给选择程序包的资源量。例如,可按下式计算。
[分配资源量]=[资源剩余量×0.5 ]
然后,按下式计算新的资源剩余量。
(新的)[资源剩余量]=[资源剩余量]-[分配资源量]
其次,在步骤4807中,资源分配管理机构4601向资源分配控制机构4603发送资源分配控制请求(D4602),资源分配控制机构4603向选择计算机的群集守护程序102发送资源分配控制请求(D4603)。收到资源分配控制请求(D4603)的群集守护程序102将在步骤4806中计算出的[分配资源量]的资源分配给选择程序包,并起动和执行选择程序包。
接着,在步骤4808中,判断是否已对选择计算机上的所有程序包103执行了上述步骤4806~步骤4807的处理,当没有执行时,返回步骤4805,并反复进行上述处理。
另一方面,如已执行时,在步骤4809中,判断是否已对所有计算机执行了上述步骤4804~步骤4808的处理,当没有执行时,返回步骤4804并反复进行上述处理。如已执行时,返回步骤4802,等待下一个资源状态变化通知(D2301)。
另外,如该步骤4809的处理结束,则在步骤4804中,将进行了步骤4805~步骤4808的处理的信息清除,并将其看作没有进行过处理。于是,当在步骤4802中收到新的资源状态变化通知(D2301)时,即使是对在收到该通知前进行过步骤4805~步骤4808的处理的计算机101,也执行步骤4805~步骤4808的处理。对步骤4805的程序包选择来说也是同样的。
按照这种方式,可以根据群集系统的最新资源状态将资源动态地分配给程序包103。
另外,步骤4806的分配资源量的计算式如果是按照程序包103的优先级、并按优先级越高分配的资源越多的方式,则也可采用另外的计算式。例如可采用下式:
[分配资源量]=[资源剩余量]×(1/[优先级])×0.8
按照以上结构,在群集系统内,可以防止对重要处理的响应特性恶化,并能继续进行不太重要的处理。
本发明由于按如上所述的形式构成,所以具有如下所示的效果。
由于管理程序对群集上的全部资源进行统一的监视控制,程序包只对管理程序进行访问即可,所以,即使发生故障时,也无需知道计算机上的工作环境。
另外,由于可将管理程序编制成一个程序包程序,所以,即使管理程序和运行着该管理程序的计算机发生故障,也能很容易地切换到其他计算机上运行。
另外,由于在各计算机上设有对该计算机的资源进行监视控制的服务程序,所以,能减轻管理程序或网络的负载。
另外,由于各计算机上的服务程序相互通信,并可直接访问全局数据,所以,可以无需安装管理程序。
另外,由于管理程序与同一计算机上的服务程序通信,各计算机上的服务程序相互通信,所以,程序包程序可以选择对管理程序和服务程序中的任何一个进行访问。
另外,由于设有自动控制机构,并可根据定义了程序包程序间的相互关系的设定文件进行反映执行环境的系统运行,所以,可以进行灵活的系统设计。
另外,由于对程序包程序附加动作模式后进行管理,所以,很容易进行从多重系统的转移及系统的应用。
另外,由于将群集系统内的所有资源状态的变化汇总后作为运行记录收集保存,所以,在发生故障时很容易进行故障分析操作。
另外,在群集控制系统中,当构成群集控制系统的多台计算机中的一台计算机发生故障时,使提供在上述发生故障的计算机上运行中的应用或各种服务的程序包程序由另一台计算机运行,上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包程序的起动和运行进行控制的群集守护程序,上述多台计算机中的第1计算机运行上述程序包程序即第1程序包程序,上述多台计算机中的第2计算机在起动状态下等待提供与上述第1程序包程序相同的应用或服务的第2程序包程序,上述多台计算机中的一台计算机除上述群集守护程序外,还包括管理程序,用于从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机发生故障时,在上述第2计算机上运行上述第2程序包程序,同时,在上述第1计算机从故障恢复时,使上述第1计算机在起动状态下等待上述第1程序包程序,所以能使系统高速恢复,并在恢复后仍能高速地执行处理。
另外,还具有从上述第1程序包程序的输出或上述第2程序包程序的输出选择任何一个后输出的输出控制装置,上述第2计算机不是在起动状态下等待上述第2程序包,而是运行上述第2程序包程序,并包括管理程序,取代上述管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在从上述输出控制装置输出上述第1程序包程序的输出时,如在上述第1计算机中发生故障,则取代上述第1程序包程序的输出,从上述输出装置输出上述第2程序包程序的输出,并在上述第2计算机发生故障之前由上述输出控制装置继续输出上述第2程序包程序的输出,当上述第1程序包程序重新开始运行而上述第2计算机发生故障时,取代上述第2程序包程序的输出,从上述输出控制装置输出上述第1程序包程序的输出,所以能使系统高速恢复,并在恢复后仍能高速地执行处理。
另外,还包括如下管理程序来取代上述管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,在上述第2计算机上运行上述第2程序包,同时,使上述多台计算机中的第3计算机在起动状态下等待上述第1程序包,所以能使系统高速恢复,并在恢复后仍能高速地执行处理。
另外,还包括存储由上述多台计算机的每一台起动的各程序包程序的优先级的管理表,并包括如下管理程序来取代上述管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,从上述管理表检索比在上述第1计算机上运行着的上述程序包程序的优先级低的程序包程序,并使该优先级低的程序包程序停止运行,同时在运行着上述优先级低的程序包程序的计算机上起动在上述第1计算机上运行着的程序包程序,所以,即使在计算机停止后,仍能优先运行重要的处理。
另外,在群集控制系统中,当构成群集控制系统的多台计算机中的一台计算机发生故障时,使提供在上述发生故障的计算机上运行中的应用或各种服务的程序包由另一台计算机运行,上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包程序的起动和运行进行控制的群集守护程序,上述多台计算机中的一台计算机除上述守护程序外,还包括:存储由上述多台计算机的每一台起动的各程序包程序的优先级和上述多台计算机的每一台的负载的管理表;管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机的负载变得大于预定负载时,参照上述管理表,使在上述第1计算机上运行着的程序包中的优先级低的程序包停止运行,并在上述多台计算机中的负载小于预定负载的计算机上起动被停止的程序包;所以,能自动地将负载再分散,并能防止对重要处理的响应特性恶化。
另外,取代上述管理表,还包括存储在上述多台计算机上起动的各程序包的优先级的管理表,上述群集守护程序监视各自的计算机的资源,并包括管理程序来取代上述管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在由上述群集守护程序监视的资源发生变化时,根据上述优先级,将资源重新分配给在上述多台计算机的每一台上运行着的程序包程序,所以,能防止对重要处理的响应特性恶化,并能继续进行不太重要的处理。
另外,还包括存储将由多台计算机的每一台并行运行的多个上述程序包作为一组时的组名的管理表,并包括下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机发生故障时,从上述管理表检索上述多台计算机的计算机中没有运行与在上述第1计算机上运行着的程序包同组的程序包程序的计算机,并在检索到的计算机上起动和运行由上述第1计算机运行着的程序包程序,所以,在系统恢复后,能高速执行并行处理。
Claims (15)
1.一种群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包程序由另一台计算机执行,该群集控制系统的特征在于:
构成群集系统的各计算机包括:提供应用或各种服务的程序包;对在计算机之间进行通信的资源进行监视控制的群集守护程序;及根据该群集守护程序将监视结果作为局部数据存储的局部数据存储装置;
在群集系统中的一台计算机除上述程序包程序、群集守护程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置以及与上述全局数据存储装置和各计算机上的群集守护程序进行通信并对群集系统的总体进行监视控制的管理程序;
当安装着该管理程序的计算机发生故障时,可在群集系统内的其他计算机上重新起动该管理程序。
2.一种群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包程序由另一台计算机执行,该群集控制系统的特征在于:
构成群集系统的各计算机包括:提供应用或各种服务的程序包程序;对在计算机之间进行通信的资源进行监视控制的群集守护程序;与该计算机本身的群集守护程序及管理程序进行通信的服务程序;及将上述监视结果作为局部数据存储的局部数据存储装置;
在群集系统中的一台计算机除上述群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置;及与上述全局数据存储装置和各计算机上的服务程序进行通信并对群集系统的总体进行监视控制的管理程序;
当安装着该管理程序的计算机发生故障时,可在群集系统内的其他计算机上重新起动该管理程序。
3.一种群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包程序由另一台计算机执行,该群集控制系统的特征在于:
构成该群集系统的各计算机包括:提供应用或各种服务的程序包程序;对该计算机本身的程序包程序和在计算机之间进行通信的资源进行监视控制的群集守护程序;与该计算机本身的群集守护程序、各计算机上的服务程序之间、及全局数据存储装置进行通信的服务程序;将上述监视结果作为局部数据存储的局部数据存储装置;
在群集系统中的一台计算机除上述群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置;
上述各计算机上的服务程序可直接在全局数据存储装置及服务程序之间进行通信。
4.一种群集控制系统,当构成群集系统的计算机群中的某台计算机发生故障时,使在该计算机上运行中的程序包程序由另一台计算机执行,该群集控制系统的特征在于:
构成该群集系统的各计算机包括:提供应用或各种服务的程序包程序;对该计算机本身的程序包程序和在各计算机之间进行通信的资源进行监视控制的群集守护程序;与计算机本身的群集守护程序、各计算机上的服务程序之间、及全局数据存储装置进行通信的服务程序;及将上述监视结果作为局部数据存储的局部数据存储装置;
在群集系统中的一台计算机除上述群集守护程序、服务程序、局部数据存储装置外,还装有从各计算机上的局部数据进行收集并可由任何一台计算机参照的全局数据存储装置;对与该计算机本身的服务程序和守护程序进行通信的群集系统总体进行监视控制管理程序;
上述各计算机上的服务程序可直接在全局数据存储装置及服务程序之间进行通信。
5.根据权利要求2或权利要求4所述的群集控制系统,其特征在于,
上述管理程序包括:记述了构成群集系统的计算机群的资源状态变化时的处理的资源设定文件;根据资源设定文件的定义,当资源状态有变化时进行资源控制处理的自动控制机构。
6.根据权利要求5所述的群集控制系统,其特征在于:在上述资源设定文件中定义与程序包程序间的相互关系和执行有关的优先级信息,自动控制机构根据该优先级信息使各计算机上的程序包程序运行。
7.根据权利要求1、2、4中的任何一项所述的群集控制系统,其特征在于:上述管理程序对程序包程序附加包括运行、等待、试验的运行操作模式,并包括根据该模式对程序包程序的操作控制进行管理的模式管理机构。
8.根据权利要求1、2、4中的任何一项所述的群集控制系统,其特征在于,上述管理程序包括:收集与在群集系统内发生的资源状态变化有关的运行记录的运行记录管理机构。
9.一种群集控制系统,当构成群集系统的计算机群中的一台计算机发生故障时,使提供在上述发生故障的计算机上运行中的应用或各种服务的程序包由另一台计算机运行,该群集控制系统的特征在于:
上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包的起动和运行进行控制的群集守护程序,上述多台计算机中的第1计算机运行上述程序包程序即第1程序包程序,上述多台计算机中的第2计算机在起动状态下等待提供与上述第1程序包程序相同的应用或服务的第2程序包程序;
上述多台计算机中的一台计算机除上述群集守护程序外,还包括管理程序,用于从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机发生故障时,在上述第2计算机上运行上述第2程序包程序,同时在上述第1计算机从上述故障恢复时,使上述第1计算机在起动状态下等待上述第1程序包程序。
10.根据权利要求9所述的群集控制系统,其特征在于:具有从上述第1程序包程序的输出或上述第2程序包程序的输出选择任何一个后输出的输出控制装置;
上述第2计算机不是在起动状态下等待上述第2程序包程序,而是运行上述第2程序包程序,并具有下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在从上述输出控制装置输出上述第1程序包的输出时,如在上述第1计算机中发生故障,则取代上述第1程序包的输出,从上述输出装置输出上述第2程序包程序的输出,并在上述第2计算机发生故障之前由上述输出控制装置继续输出上述第2程序包程序的输出,当上述第1程序包程序重新开始运行而上述第2计算机发生故障时,取代上述第2程序包程序的输出,从上述输出控制装置输出上述第1程序包程序的输出。
11.根据权利要求9所述的群集控制系统,其特征在于:包括下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,在上述第2计算机上运行上述第2程序包程序,同时,使上述多台计算机中的第3计算机在起动状态下等待上述第1程序包程序。
12.根据权利要求9所述的群集控制系统,其特征在于:包括存储由上述多台计算机的每一台起动的各程序包程序的优先级的管理表,并包括下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述第1计算机中发生故障时,从上述管理表检索比在上述第1计算机上运行的上述程序包程序的优先级低的程序包程序,并使该优先级低的程序包程序停止运行,同时在运行着上述优先级低的程序包程序的计算机上起动在上述第1计算机上运行的程序包程序。
13.一种群集控制系统,当构成群集控制系统的多台计算机中的一台计算机发生故障时,使提供在上述发生故障的计算机上运行中的应用或各种服务的程序包程序由另一台计算机运行,该群集控制系统的特征在于:
上述多台计算机包括分别监视各自的计算机的故障和恢复、同时对上述程序包程序的起动和运行进行控制的群集守护程序;
上述多台计算机中的一台计算机除上述守护程序外,还包括:存储由上述多台计算机的每一台起动的各程序包程序的优先级和上述多台计算机的每一台的负载的管理表;管理程序,用于从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机的负载变得大于预定负载时,参照上述管理表,使在上述第1计算机上运行着的程序包程序中的优先级低的程序包程序停止运行,并在上述多台计算机中的负载小于预定负载的计算机上起动被停止的程序包程序。
14.根据权利要求13所述的群集控制系统,其特征在于:取代上述管理表,包括存储在上述多台计算机上起动的各程序包程序的优先级的管理表;
上述群集守护程序监视各自的计算机的资源;
还包括下述管理程序来取代上述管理程序:从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在由上述群集守护程序监视的资源发生变化时,根据上述优先级,将资源重新分配给由上述多台计算机的每一台运行着的程序包程序。
15.根据权利要求13所述的群集控制系统,其特征在于:包括存储将由上述多台计算机的每一台并行运行的多个上述程序包作为一组时的组名的管理表;
还包括下述管理程序来取代上述管理程序,从上述多台计算机的各群集守护程序接收监视结果,同时对上述群集守护程序进行控制,从而在上述多台计算机中的第1计算机发生故障时,从上述管理表检索上述多台计算机的计算机中没有运行与在上述第1计算机上运行着的程序包程序同组的程序包程序的计算机,并在检索到的计算机上起动和运行由上述第1计算机运行的程序包程序。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP285398/96 | 1996-10-28 | ||
JP285398/1996 | 1996-10-28 | ||
JP28539896 | 1996-10-28 | ||
JP75254/1997 | 1997-03-27 | ||
JP9075254A JPH10187638A (ja) | 1996-10-28 | 1997-03-27 | クラスタ制御システム |
JP75254/97 | 1997-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1181551A true CN1181551A (zh) | 1998-05-13 |
CN1123838C CN1123838C (zh) | 2003-10-08 |
Family
ID=26416405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97121527A Expired - Fee Related CN1123838C (zh) | 1996-10-28 | 1997-10-24 | 群集控制系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6088727A (zh) |
JP (1) | JPH10187638A (zh) |
CN (1) | CN1123838C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300690C (zh) * | 2003-09-30 | 2007-02-14 | 国际商业机器公司 | 用于监视计算机系统中的资源的方法和系统 |
CN100339835C (zh) * | 2002-06-10 | 2007-09-26 | 联想(北京)有限公司 | 机群故障定位与报警的方法与系统 |
CN100359508C (zh) * | 2000-08-14 | 2008-01-02 | 国际商业机器公司 | 用于处理集群计算机系统的合并协议的方法和装置 |
CN100422945C (zh) * | 2004-10-22 | 2008-10-01 | 国际商业机器公司 | 在信息存储和检索系统中提供故障恢复保护的设备和方法 |
CN1669001B (zh) * | 2002-05-31 | 2010-11-17 | 维里塔斯管理公司 | 用于在服务器整合环境中执行业务连续性策略的方法和装置 |
CN101346678B (zh) * | 2005-12-30 | 2011-06-22 | 先进微装置公司 | 用于丛集工具的自动化状态估计系统以及操作该系统的方法 |
US8326990B1 (en) | 2005-07-15 | 2012-12-04 | Symantec Operating Corporation | Automated optimal workload balancing during failover in share-nothing database systems |
CN103593234A (zh) * | 2012-06-08 | 2014-02-19 | 苹果公司 | 自适应进程重要性 |
CN105900066A (zh) * | 2014-02-17 | 2016-08-24 | 株式会社日立制作所 | 计算机以及基于管理程序的资源调度方法 |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9603582D0 (en) | 1996-02-20 | 1996-04-17 | Hewlett Packard Co | Method of accessing service resource items that are for use in a telecommunications system |
US6542928B1 (en) * | 1998-06-02 | 2003-04-01 | Micron Technology, Inc. | Automatic configuration of testers and hosts on a computer network |
US6549932B1 (en) * | 1998-06-03 | 2003-04-15 | International Business Machines Corporation | System, method and computer program product for discovery in a distributed computing environment |
US6553403B1 (en) * | 1998-06-03 | 2003-04-22 | International Business Machines Corporation | System, method and computer program product for monitoring in a distributed computing environment |
US6460070B1 (en) * | 1998-06-03 | 2002-10-01 | International Business Machines Corporation | Mobile agents for fault diagnosis and correction in a distributed computer environment |
US6311217B1 (en) * | 1998-06-04 | 2001-10-30 | Compaq Computer Corporation | Method and apparatus for improved cluster administration |
US6266781B1 (en) * | 1998-07-20 | 2001-07-24 | Academia Sinica | Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network |
US6467050B1 (en) * | 1998-09-14 | 2002-10-15 | International Business Machines Corporation | Method and apparatus for managing services within a cluster computer system |
US6308208B1 (en) * | 1998-09-30 | 2001-10-23 | International Business Machines Corporation | Method for monitoring network distributed computing resources using distributed cellular agents |
US6732166B1 (en) * | 1999-05-28 | 2004-05-04 | Intel Corporation | Method of distributed resource management of I/O devices in a network cluster |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US6691244B1 (en) * | 2000-03-14 | 2004-02-10 | Sun Microsystems, Inc. | System and method for comprehensive availability management in a high-availability computer system |
US7487152B1 (en) | 2000-05-31 | 2009-02-03 | International Business Machines Corporation | Method for efficiently locking resources of a global data repository |
US7185076B1 (en) * | 2000-05-31 | 2007-02-27 | International Business Machines Corporation | Method, system and program products for managing a clustered computing environment |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US6816732B1 (en) * | 2000-07-27 | 2004-11-09 | Ipr Licensing, Inc. | Optimal load-based wireless session context transfer |
US7225456B2 (en) * | 2001-04-23 | 2007-05-29 | Sony Corporation | Gateway screen for interactive television |
US6701463B1 (en) * | 2000-09-05 | 2004-03-02 | Motorola, Inc. | Host specific monitor script for networked computer clusters |
US20060162639A1 (en) * | 2001-03-23 | 2006-07-27 | Costello James M | Touch tunnel |
US6981003B2 (en) * | 2001-08-03 | 2005-12-27 | International Business Machines Corporation | Method and system for master planning priority assignment |
US6990602B1 (en) | 2001-08-23 | 2006-01-24 | Unisys Corporation | Method for diagnosing hardware configuration in a clustered system |
US6938031B1 (en) | 2001-10-19 | 2005-08-30 | Data Return Llc | System and method for accessing information in a replicated database |
US7000016B1 (en) | 2001-10-19 | 2006-02-14 | Data Return Llc | System and method for multi-site clustering in a network |
EP1320217B1 (en) * | 2001-12-14 | 2004-10-13 | Hewlett-Packard Company, A Delaware Corporation | Method of installing monitoring agents, system and computer program for monitoring objects in an IT network |
US7392421B1 (en) * | 2002-03-18 | 2008-06-24 | Symantec Operating Corporation | Framework for managing clustering and replication |
US6986076B1 (en) | 2002-05-28 | 2006-01-10 | Unisys Corporation | Proactive method for ensuring availability in a clustered system |
EP1372075B1 (en) * | 2002-06-13 | 2004-08-25 | Fujitsu Siemens Computers, LLC | Method for eliminating a computer from a cluster |
US20040015581A1 (en) * | 2002-07-22 | 2004-01-22 | Forbes Bryn B. | Dynamic deployment mechanism |
US7058846B1 (en) * | 2002-10-17 | 2006-06-06 | Veritas Operating Corporation | Cluster failover for storage management services |
EP1611532A4 (en) * | 2003-03-19 | 2008-10-22 | Unisys Corp | SERVER CONSOLIDATION DATA MODEL |
US7590984B2 (en) * | 2003-05-29 | 2009-09-15 | International Business Machines Corporation | System and method for balancing a computing load among computing resources in a distributed computing problem |
US7467180B2 (en) * | 2003-05-29 | 2008-12-16 | International Business Machines Corporation | Automatically segmenting and populating a distributed computing problem |
WO2004114143A2 (de) * | 2003-06-18 | 2004-12-29 | Fujitsu Siemens Computers Gmbh | Clusteranordnung |
US7747717B2 (en) * | 2003-08-14 | 2010-06-29 | Oracle International Corporation | Fast application notification in a clustered computing system |
US7953860B2 (en) * | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
US7664847B2 (en) * | 2003-08-14 | 2010-02-16 | Oracle International Corporation | Managing workload by service |
US20060064400A1 (en) * | 2004-09-21 | 2006-03-23 | Oracle International Corporation, A California Corporation | Methods, systems and software for identifying and managing database work |
US7689685B2 (en) * | 2003-09-26 | 2010-03-30 | International Business Machines Corporation | Autonomic monitoring for web high availability |
CN100429629C (zh) * | 2003-12-04 | 2008-10-29 | 中国科学院计算技术研究所 | 一种构造大规模高可用机群操作系统的方法 |
JP2007108804A (ja) * | 2004-01-27 | 2007-04-26 | Matsushita Electric Ind Co Ltd | アプリケーション起動調停システム |
DE102004005128B3 (de) * | 2004-02-02 | 2005-01-05 | Fujitsu Siemens Computers Gmbh | Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall |
WO2005076134A1 (ja) * | 2004-02-09 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | サービスを自動継続する電子機器 |
US7890798B1 (en) * | 2004-03-22 | 2011-02-15 | Hewlett-Packard Development Company, L.P. | Computer cluster with second-node instance of application having access to state snapshot of first-node instance of application |
US7900206B1 (en) | 2004-03-31 | 2011-03-01 | Symantec Operating Corporation | Information technology process workflow for data centers |
US8057307B2 (en) * | 2004-04-08 | 2011-11-15 | International Business Machines Corporation | Handling of players and objects in massive multi-player on-line games |
US7346811B1 (en) | 2004-08-13 | 2008-03-18 | Novell, Inc. | System and method for detecting and isolating faults in a computer collaboration environment |
US7523195B2 (en) * | 2004-10-29 | 2009-04-21 | International Business Machines Corporation | Method and system for monitoring server events in a node configuration by using direct communication between servers |
US7475274B2 (en) * | 2004-11-17 | 2009-01-06 | Raytheon Company | Fault tolerance and recovery in a high-performance computing (HPC) system |
JP4831599B2 (ja) | 2005-06-28 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | 処理装置 |
US8713186B2 (en) | 2007-03-13 | 2014-04-29 | Oracle International Corporation | Server-side connection resource pooling |
US7757116B2 (en) * | 2007-04-04 | 2010-07-13 | Vision Solutions, Inc. | Method and system for coordinated multiple cluster failover |
US7822841B2 (en) * | 2007-10-30 | 2010-10-26 | Modern Grids, Inc. | Method and system for hosting multiple, customized computing clusters |
US8127235B2 (en) | 2007-11-30 | 2012-02-28 | International Business Machines Corporation | Automatic increasing of capacity of a virtual space in a virtual world |
KR100956638B1 (ko) * | 2007-12-11 | 2010-05-11 | 한국전자통신연구원 | 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법 |
US20090164919A1 (en) | 2007-12-24 | 2009-06-25 | Cary Lee Bates | Generating data for managing encounters in a virtual world environment |
JP5625243B2 (ja) * | 2009-02-26 | 2014-11-19 | 日本電気株式会社 | 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム |
US8238538B2 (en) | 2009-05-28 | 2012-08-07 | Comcast Cable Communications, Llc | Stateful home phone service |
US9205328B2 (en) | 2010-02-18 | 2015-12-08 | Activision Publishing, Inc. | Videogame system and method that enables characters to earn virtual fans by completing secondary objectives |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
US9477529B2 (en) | 2012-06-20 | 2016-10-25 | International Business Machines Corporation | Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes |
US10137376B2 (en) | 2012-12-31 | 2018-11-27 | Activision Publishing, Inc. | System and method for creating and streaming augmented game sessions |
US9367335B2 (en) | 2013-07-12 | 2016-06-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | State dependent optimization for sequential booting of heterogeneous systems |
US9515901B2 (en) | 2013-10-18 | 2016-12-06 | AppDynamics, Inc. | Automatic asynchronous handoff identification |
JP6295759B2 (ja) | 2014-03-20 | 2018-03-20 | 富士通株式会社 | ネットワーク管理装置,情報処理システム及びプログラム |
US10286326B2 (en) | 2014-07-03 | 2019-05-14 | Activision Publishing, Inc. | Soft reservation system and method for multiplayer video games |
US11351466B2 (en) | 2014-12-05 | 2022-06-07 | Activision Publishing, Ing. | System and method for customizing a replay of one or more game events in a video game |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
US10315113B2 (en) | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US10099140B2 (en) | 2015-10-08 | 2018-10-16 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US11185784B2 (en) | 2015-10-08 | 2021-11-30 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US10376781B2 (en) | 2015-10-21 | 2019-08-13 | Activision Publishing, Inc. | System and method of generating and distributing video game streams |
US10245509B2 (en) | 2015-10-21 | 2019-04-02 | Activision Publishing, Inc. | System and method of inferring user interest in different aspects of video game streams |
US10232272B2 (en) | 2015-10-21 | 2019-03-19 | Activision Publishing, Inc. | System and method for replaying video game streams |
US10300390B2 (en) | 2016-04-01 | 2019-05-28 | Activision Publishing, Inc. | System and method of automatically annotating gameplay of a video game based on triggering events |
US10474653B2 (en) | 2016-09-30 | 2019-11-12 | Oracle International Corporation | Flexible in-memory column store placement |
KR102460416B1 (ko) * | 2016-10-24 | 2022-10-28 | 삼성에스디에스 주식회사 | 컨테이너 기반의 분산 애플리케이션 관리 시스템 및 방법 |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US11044141B2 (en) | 2019-07-09 | 2021-06-22 | Phillip N Hughes | High density, high availability compute system |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
JP7328907B2 (ja) * | 2020-01-31 | 2023-08-17 | 株式会社日立製作所 | 制御システム、制御方法 |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4342083A (en) * | 1980-02-05 | 1982-07-27 | The Bendix Corporation | Communication system for a multiple-computer system |
US5228046A (en) * | 1989-03-10 | 1993-07-13 | International Business Machines | Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature |
US5129080A (en) * | 1990-10-17 | 1992-07-07 | International Business Machines Corporation | Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers |
JP2534430B2 (ja) * | 1992-04-15 | 1996-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法 |
US5781736A (en) * | 1996-04-30 | 1998-07-14 | International Business Machines Corporation | Method for obtaining the state of network resources in a distributed computing environment by utilizing a provider associated with indicators of resource states |
US5787249A (en) * | 1996-04-30 | 1998-07-28 | International Business Machines Coporation | Method for managing membership of a group of processors in a distributed computing environment |
-
1997
- 1997-03-27 JP JP9075254A patent/JPH10187638A/ja active Pending
- 1997-10-17 US US08/953,632 patent/US6088727A/en not_active Expired - Fee Related
- 1997-10-24 CN CN97121527A patent/CN1123838C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359508C (zh) * | 2000-08-14 | 2008-01-02 | 国际商业机器公司 | 用于处理集群计算机系统的合并协议的方法和装置 |
CN1669001B (zh) * | 2002-05-31 | 2010-11-17 | 维里塔斯管理公司 | 用于在服务器整合环境中执行业务连续性策略的方法和装置 |
CN100339835C (zh) * | 2002-06-10 | 2007-09-26 | 联想(北京)有限公司 | 机群故障定位与报警的方法与系统 |
CN1300690C (zh) * | 2003-09-30 | 2007-02-14 | 国际商业机器公司 | 用于监视计算机系统中的资源的方法和系统 |
CN100422945C (zh) * | 2004-10-22 | 2008-10-01 | 国际商业机器公司 | 在信息存储和检索系统中提供故障恢复保护的设备和方法 |
US8326990B1 (en) | 2005-07-15 | 2012-12-04 | Symantec Operating Corporation | Automated optimal workload balancing during failover in share-nothing database systems |
CN101346678B (zh) * | 2005-12-30 | 2011-06-22 | 先进微装置公司 | 用于丛集工具的自动化状态估计系统以及操作该系统的方法 |
CN103593234A (zh) * | 2012-06-08 | 2014-02-19 | 苹果公司 | 自适应进程重要性 |
CN103593234B (zh) * | 2012-06-08 | 2016-12-28 | 苹果公司 | 自适应进程重要性 |
CN105900066A (zh) * | 2014-02-17 | 2016-08-24 | 株式会社日立制作所 | 计算机以及基于管理程序的资源调度方法 |
CN105900066B (zh) * | 2014-02-17 | 2018-05-11 | 株式会社日立制作所 | 计算机以及基于管理程序的资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1123838C (zh) | 2003-10-08 |
US6088727A (en) | 2000-07-11 |
JPH10187638A (ja) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1123838C (zh) | 群集控制系统 | |
CN1573656A (zh) | 并行处理系统中的电源管理系统及电源管理程序 | |
CN101061464A (zh) | 信息处理设备及其程序、模块化系统的运行管理系统和组件选择方法 | |
CN1280730C (zh) | 不用存储单元收集装置及不用存储单元收集方法 | |
CN1299177C (zh) | 数据管理装置、计算机系统及数据处理方法 | |
CN1760804A (zh) | 信息处理设备,信息处理方法,及计算机程序 | |
CN1287282C (zh) | 执行实时操作的方法和系统 | |
CN1120425C (zh) | 存储器控制器和存储器控制方法 | |
CN1577316A (zh) | 单处理器操作系统并行处理系统中的安全管理系统 | |
CN1706657A (zh) | 印刷装置、控制印刷程序、记录控制印刷程序的记录媒体 | |
CN1809815A (zh) | 管理锁定和事务 | |
CN1878460A (zh) | 安装作业管理方法、安装机及准备支援方法、安装流水线 | |
CN1269337C (zh) | 内容自适应服务控制方法 | |
CN1427335A (zh) | 电路组控制系统 | |
CN1670721A (zh) | 应用单处理器操作系统的并行处理系统中的处理器间通信系统及其程序 | |
CN1534504A (zh) | 利用单处理器操作系统的并行处理系统及并行处理程序 | |
CN1581635A (zh) | 信息处理装置与方法以及计算机可读介质 | |
CN1156862A (zh) | 文件系统 | |
CN1669001A (zh) | 用于服务器整合环境的业务连续性策略 | |
CN1945520A (zh) | Dkc内存储池及虚拟卷中的数据运用管理方法 | |
CN1677421A (zh) | 现状系统和现状管理方法 | |
CN1498367A (zh) | 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法 | |
CN1601474A (zh) | 执行实时操作的方法和系统 | |
CN101075177A (zh) | 计算机系统 | |
CN1260643C (zh) | 数据处理系统和方法、信息处理装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031008 Termination date: 20101024 |