CN100359508C - 用于处理集群计算机系统的合并协议的方法和装置 - Google Patents

用于处理集群计算机系统的合并协议的方法和装置 Download PDF

Info

Publication number
CN100359508C
CN100359508C CNB011255560A CN01125556A CN100359508C CN 100359508 C CN100359508 C CN 100359508C CN B011255560 A CNB011255560 A CN B011255560A CN 01125556 A CN01125556 A CN 01125556A CN 100359508 C CN100359508 C CN 100359508C
Authority
CN
China
Prior art keywords
request
receives
reception
merging
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB011255560A
Other languages
English (en)
Other versions
CN1338687A (zh
Inventor
R·米勒
V·L·莫里
K·塞伊
L·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 CN1338687A publication Critical patent/CN1338687A/zh
Application granted granted Critical
Publication of CN100359508C publication Critical patent/CN100359508C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Abstract

一种装置、程序产品和方法,在一个集群计算机系统中使用排序的消息以延迟在一个集群组中合并协议的执行,直到在一组中的每一分区中所有待处理协议被处理,典型的是通过保证在执行该协议前要么取消、要么完成每一待处理协议来实现。从每一个组成员的观点看来,合并协议执行的延迟是通过禁止由这种成员执行该合并请求的处理,直到在所有先前接收到的待处理请求已经完成后而实现。

Description

用于处理集群计算机系统的合并协议的方法和装置
技术领域
本发明一般涉及集群计算机系统,特别涉及在该集群计算机系统上的合并操作的处理。
背景技术
“集群”一般指一种计算机系统组织,其中多个计算机、或节点在一起形成网络,合作执行计算机任务。计算机集群的一个重要方面在于,在该集群中的所有节点表现为一个单一系统-也就是说,从用户的角度看,一个集群中的多个节点看起来是单一的计算机或实体。
集群常常用于较大的关心高性能和可靠性的多用户计算机系统中。例如,可以使用集群提供冗余、或容错,使得如果在集群中的任一节点发生故障,则先前由该节点执行的操作将由该集群中的其它节点处理。集群还用于增加总性能,因为多节点常常可以并行处理比单一计算机所能处理的更大数目的任务。经常是,还可以使用负载平衡保证这些任务在节点之间公平地分布以阻止单个节点过载,因此使总系统性能最大化。例如,集群的一个特别的应用是对一个共享资源诸如数据库或存储设备提供多用户访问,因为多节点可以处理较大数目的用户访问请求,还因为即使在该集群中的任何给定节点发生故障时通常该共享资源仍然可由用户使用。
集群通常通过在单个节点内的“作业”或“处理”的性能处理计算机任务。在某些场合,由不同计算机执行的作业彼此合作来处理一个计算机任务。这种合作的作业通常能够彼此通信,并通常在一个集群中使用一个称为“组”的逻辑实体管理。通常给一组指定某种形式的标识符,在该组中的每一作业标以该标识符以指示在该组中它的成员关系。
一组中的成员作业通常使用一种基于排序消息的模式彼此通信,这里维持在组成员之间发送的消息的特定顺序以便每一成员以和其他每一成员同样的顺序看见由其它成员发送的消息,从而保证节点之间的同步。对要由一组中的成员执行的操作的请求常常称为“协议”,通常通过使用一个或者多个协议使得由一组中的成员合作执行任务。
集群经常通过使用成员关系改变协议支持组成员关系的改变,例如,如果一个成员作业需要增加给一组或从一组中清除。在一些集群系统中,成员关系改变协议作为一类对等协议实现,这里,所有成员接收一个消息并需要每一成员本地决定如何处理该协议和返回指示该消息是否由该成员成功处理的应答。通常,使用对等协议,禁止成员开始其它的工作,直到接收到来自所有成员的应答。在其它系统中,成员关系改变协议可以作为主从协议处理,这里,选举一个成员作为领导,控制其它成员,以便保证该协议的恰当处理。
在集群计算机系统中可以实现的一种特别类型的成员关系改变操作是合并,这种操作在一个组由于在集群中的通信损失被分区后而需要。特别是,在一个集群中的通信损失可以阻止一个或者多个节点与在该集群中的其它节点通信。例如,每当在一组中的不同的成员作业配置在彼此之间损失通信的不同的节点上时,则可以在该集群中形成该组中多个但是独立的事例(称为“分区”)。因此在通信重新建立起来后使用合并来把这些分区合并回一起成为一个单一组。
对于通信损失,通常合并相对一组来说异步-亦即合并可以在任何给定时间发生。然而,即使当一组由于通信损失被分区,但是每一分区仍然可以执行有用的工作。此外,不像在节点故障的场合,一个分区通常假定任何使该分区作为分区结果而“留下”的成员仍然活动并正在执行有用的工作。其结果,每当一个合并发生则必须保证在一个分区中正在进行的工作以一种适当的方式处理,此外,正由多个分区执行的正在进行的工作是一致的,使得该组的所有成员在合并完成时彼此“同步”。否则,可能在不同成员之间发生冲突或不一致,导致系统错误、数据崩溃、甚至系统故障。
给定合并操作的异步本质后,常规集群计算机系统处理这种操作是一接收到一个合并请求时就进行,试图保证合并尽可能快发生来重建原来的组组织。然而,这样做有可能引入不确定的动作,因为在合并时任何正在进行的协议将在该合并被处理后完成,亦即在由一个请求的成员看见的成员关系改变后。
另外,常规集群计算机系统通常使用主从型协议来处理合并操作。然而,主从型协议在许多方面极受限制。首先,主从协议容易在领导者或主导者方面故障。第二,主从协议常常需要在执行合并中使用集中的数据结构,这需要节点之间另外的通信,其相对于地域上分布的节点相当受限。
因此,在该技术领域中非常需要一种改进方式的合并操作的处理来连接一个集群计算机系统中的多个分区。
发明内容
本发明解决与现有技术关联的这些和其它问题,提供一种装置、程序产品和方法,其中使用排序的消息来延迟一个组中的合并协议的执行,直到在一组的每一分区中的所有待处理协议被处理,通常通过在执行该合并协议前取消或完成每一待处理协议而实现。从每一个组成员的观点看来,通过禁止这种成员所做的合并请求的处理,直到在所有先前接收到的待处理请求已经完成之后,延迟该合并协议的执行。
这样,与常规集群计算机系统相反,合并协议与其它协议排序,而常规计算机系统中合并协议在一个集群内的协议的正常排序之外处理。这样做大大简化了分区的同步,因为每一个组成员能够决定一个待处理协议是否是在一个待处理的合并协议之前或之后被请求,并相应处理该待处理协议(基于关于在合并前和合并后哪一些成员存在于该分区/组中)。此外,这样做方便了对等型合并协议的使用,从而不再需要依赖一个主导者或中心数据结构来执行分区的同步。
表征本发明特征的这些和其它优点和特征在所附权利要求中叙述并形成本发明的另一部分。然而,为更好理解本发明和通过它的使用得到的优点和目的,应该参考附图和伴随的说明,其中说明了本发明的一个实施例。
根据本发明的一个方面,提供一种处理由一个集群计算机系统中的一个组的一个成员接收到的合并请求的方法,该方法包括:
(a)在该成员中接收一个合并请求;和
(b)禁止该成员处理该请求,直到所有先前接收到的待处理请求由该成员完成处理之后。
根据本发明的一个方面,提供一种处理由一个集群计算机系统中的一个组的一个成员接收到的请求的方法,该方法包括:
(a)给一个接收的请求分配一个接收标识符,该接收标识符指示该接收到的请求的相对接收顺序;
(b)比较分配给该接收到的请求的接收标识符和最后接收的合并请求的接收标识符;
(c)在处理所述合并请求之前,如果分配给该接收到的请求的接收标识符指示该接收到的请求的接收早于最后接收到的合并请求的接收标识符,则取消该接收到的请求。
根据本发明的一个方面,提供一种处理由集群计算机系统中的一组内的一个成员接收到的合并请求的装置,包括:
接收一个合并请求的设备;以及
禁止该合并请求的处理、直到所有先前接收到的待处理请求完成处理的合并请求处理设备。
根据本发明的一个方面,提供一种集群计算机系统,包括:
(a)多个通过网络彼此连接的节点,在所述多个节点中的至少一个执行多个定义一个组的成员作业;
(b)处理由多个成员作业中的一个成员作业接收的合并请求的装置,其中,所述装置禁止该合并请求的处理,直到所有先前接收到的待处理请求的处理完成之后。
附图说明
图1是一个与本发明一致的集群计算机系统的方框图,表示该集群计算机系统的示例通信损失和分区;
图2是在图1的集群计算机系统中的一个节点的方框图;
图3是一个流程图,表示由在图1的集群计算机系统中的一个组成员执行的一个初始化作业子例程的程序流;
图4是一个流程图,表示由在图1的集群计算机系统中的一个组成员执行的一个处理接收到的消息子例程的程序流。
具体实施方式
以下说明的实施例使用排序的消息处理一个集群计算机系统中的合并请求,例如,合并逻辑上驻留在一个集群计算机系统的一个或多个节点中的一个集群组的多个分区。例如,如图1所示,集群计算机系统8可以包括通过互连11的一个网络彼此互连的多个节点10。在集群计算机系统中公共使用的任何数目的网络拓扑可以与本发明一致使用。此外,单个节点10可以在物理上位于邻近其它节点处,或可以在地域上与其它节点分开,例如分布在一个广域网(WAN)上,这在技术中公知。
在集群计算机系统的意义上,至少一些计算机任务由多个执行合作计算机过程(这里称为“作业”)的节点协同执行,这些过程能够彼此通信。这些合作的作业逻辑上组织成一个“组”,每一个合作的作业被指定为该组的一个“成员”。然而,组成员不需一定操作一个公共的任务--通常对一组的成员所需要的只是这种成员能够在执行期间彼此通信。
例如,图1表示节点10的一个示例集群,为作为例子起见这里还用序号1、2、3...N、N+1、N+2、N+3...M(这里M>N)指示节点10。在各个节点内驻留有多个作业J1-J7,形成该集群计算机系统内的一个示例组的成员。如在该图中所示,在一个集群计算机系统中的节点不需参加所有组(例如节点3)。此外,来自一个给定组的多个作业可以驻留在同一节点内(例如作业J1和J2在节点1内)。
在图示实施例中,成员作业通过使用有序的消息彼此通信。这种消息的一部分这里称为“请求”,其用于响应用户驱动而启动“协议”(例如,在该集群计算机系统中的一个或者多个节点上执行的一个应用或其它计算机处理)。一个协议是需要一组的所有成员处理的工作的一个单元。通常,响应一个协议请求,还需要每一成员返回一个应答消息以指示一个特定协议由该成员成功执行还是失败。此外,通常不允许任何成员继续,直到从所有组成员接收到应答消息,并且如果发生一个成员错误,则把该错误变换为一个应答消息以阻止该协议被挂起。
一组中的成员关系不需要是静止的,许多集群计算机系统支持向一组增加/参加或从一组清除成员的能力。通常,一组中成员关系的改变通过一个称为成员关系改变协议的特别的协议处理,并通过使用给一组的所有成员传送的一个成员关系改变请求处理。
如上所述,在一个集群计算机系统的执行期间可能发生的一个现象是通信损失,它中断一组中的作业彼此通信的能力,这将导致该组被分区为两个或多个分区,或同一组的独立实例。作为一个例子,对于由图1的作业J1-J7形成的组,如果在节点N和N+1之间发生通信损失,则将产生两个分区P1和P2,分区P1包括作业J1-J4,分区P2包括作业J5-J7。
每当通信被重建,则可以通过使用一个由在该图示实施例中的合并请求启动的合并协议重新结合这些分区。把合并请求传送给要结合的每一分区的所有成员,而每一成员通过一个合适的应答消息响应。一个合并协议可以相对于一组异步启动,于是这种协议可以在其它协议执行期间的任何时间启动。然而,给定在每一分区中的成员当一个合并发生时能够处理不同的协议,则重要的是这种协议的进展以一种适当的方式处理,以保证一旦合并协议完成在组成员之间的一致性。
例如,通常必须保证,如果当一个合并发生时在一个分区中正在执行一个协议,则与该协议关联的消息必须与其它分区中的其它协议的消息不同。另外,必须在合并前处理在一个分区中是待处理的而在另一分区中不是的协议请求。还必须在合并后同步这些分区,使得所有分区按照同样的协议工作。
本发明图示的实施例通过保证在合并协议前启动的任何协议请求的处理在处理该合并协议前完成来试图提供这种一致性。图示实施例部分依赖排序的消息发送,从而给每一协议请求分配一个接收(reception)标识符(例如,一个数字值或顺序的其它合适的指示符),它指示这种请求相对于其它接收到的请求的接收顺序。在图示实施例中不给其它消息,诸如应答消息,分配请求标识符,然而,通常给这种消息分配一个请求句柄,它标识这种消息对之响应的特定请求。因此一个合并请求作用为一个同步点,在该同步点后任何请求被考虑为已经发送给所有组成员。
在处理一个合并协议请求前处理先前待处理的协议请求,通过要么取消或者完成这种请求与之相关的协议来实现。在图示实施例中,允许取消任何在合并协议请求被接收时执行尚未开始的待处理协议请求和完成在处理或执行合并前任何对之已经开始执行的待处理协议请求。
应该理解,可以在其它环境使用并非在这里专门使用来说明由一个集群计算机系统处理计算机任务的术语。因此,本发明不应该限制在这里使用的特定术语,例如,像协议、请求、消息、作业、合并、分区等。
现在回到图2,图中表示集群计算机系统8中的一个节点10的一个示例硬件配置。节点10通常表示例如任何一些多用户计算机,诸如网络服务器、中型计算机、大型计算机等。然而,应该理解,本发明可以用其它计算机和数据处理系统实现,例如独立的或单用户计算机,诸如工作站、台式计算机、便携式计算机等,或者用其它可编程电子设备(例如,结合嵌入式控制器等的设备)。
节点10通常包括一个或者多个系统处理器12,它们通过配置在一个高速缓冲存储器系统16内的一级或者多级高速缓冲存储器连接到主存储器14。此外,主存储器14经由一个系统输入/输出(I/O)总线18和多个接口设备例如输入/输出适配器20、工作站控制器22和存储器控制器24连接到一些类型的外部设备,它们分别提供对一个或者多个外部网络(例如一个集群网络11)、一个或者多个工作站28、和/或一个或多个存储设备诸如直接存取存储设备(DASD)30的外部访问。在另外可选的方案中可以使用任何数目的另外的计算机结构。
为实现与本发明一致的合并协议处理,可以在每一节点内实现的集群管理软件内实现作业特定的消息处理功能。例如,图中表示节点10在主存储器14中驻留有操作系统30,用以实现为进行与本发明一致的合并协议处理。还表示出一个或者多个作业或应用,每一个都访问在集群管理器程序32内实现的集群功能。然而,应该理解,这里说明的功能可以节点10内的其它软件层实现,以及这些功能可以在集群计算机系统8中的其它程序、计算机或部件之间分配。因此,本发明不限制在这里说明的特定的软件实现。
下面的讨论将集中在用于实现上述合并协议处理功能的特定的子例程。为实现本发明的实施例而执行的子例程,不管是作为操作系统的一部分、或一个特定的应用、部件、程序、对象、模块或指令序列实现的,这里统称为“计算机程序”或简称为“程序”。计算机程序通常包括一条或多条指令,其在不同时间驻留在计算机的各种存储器或存储设备中,并当由在计算机中的一个或者多个处理器读取并执行时使该计算机执行为执行步骤需要的步骤,或使元件实现本发明的各个方面。此外,尽管本发明已经和将在以后在全功能计算机或计算机系统的意义上说明,但是,本领域的技术人员理解,本发明的各种实施例能够作为各种形式的计算机产品分发,以及不管实际进行这种分发使用的信号承载介质的特定类型,本发明可以同样应用。信号承载介质的例子包括但不限于可记录型介质,诸如易失和非易失存储器设备、软盘或其它可拆卸盘、硬磁盘驱动器、光盘(例如CD-ROM,DVD等)及其它,以及传输型介质,诸如数字和模拟通信连接。
可以理解,后面说明的各种程序可以基于这样的应用确定,对该应用这些程序以本发明的特定的实施例实现。然而,应该理解,下面任何特定的程序术语仅为方便使用,因此本发明不应该限制在仅用于由这种术语标识的和/或指的任何特定应用。
图3和4分别表示适于由组成员执行的初始化作业子例程50和处理接收到消息子例程60,其内实现有合并协议处理功能。每当在一个节点上产生一个作业时,就调用图3的初始化作业子例程50。然而,在子例程50中的大量功能与合并协议处理不相关,还在这个子例程中初始化与合并协议处理相关的一对变量。特别,方框52初始化为该作业的本地接收(LR)号码变量,其用于给由该作业接收到的请求分配顺序接收标识符。方框54初始化一个最后合并(LM)号码变量,它表示由该作业接收的最后(最近接收的)合并请求的接收标识符。每一变量例如初始化为值零。然后方框56执行其它作业初始化操作,通常以常规方式,然后子例程50完成。
图4的处理接收到的消息子例程60在一个作业接收到一个新消息时执行,通常作为在一个队列中放置消息的排序消息服务的结果。子例程60在方框62通过获得为接收到的消息的消息请求句柄而开始。如上所述,消息的请求句柄唯一地标识一个协议,使得请求和对它的应答或者其它响应彼此匹配。
接着,方框64决定接收到的消息是否是一个协议请求,而不是对先前接收到的协议请求的应答或其它响应。如果是,控制交给方框65以决定该接收到的请求是否有任何保存的消息。下面会讨论,可以为一个待处理的(但是尚未处理)请求接收一个诸如应答的消息,并且也正是在此时处理这种待处理请求,使得与之关联的保存的消息可以交付给该作业。因此,在这种环境下方框65把控制交给方框66,把任何这种保存的消息交付给该作业。
一旦保存的消息交付给该作业(或如果不存在保存的消息),则控制交给方框67,给本地接收号码变量增1,以产生当前请求消息的一个接收标识符,其顺序后接先前接收到的请求(例如,使用单调增加序列的任何号码)。接着,方框68分配本地接收号码变量的当前值给该请求消息,从而把该接收标识符与该请求消息关联。
接着,方框70决定该请求消息是否是合并请求。如果是,则控制交给方框72以设定最后合并号码变量等于该请求消息的接收标识符-亦即本地接收号码变量的当前值。然后控制前进到方框74,决定当前请求消息的接收标识符(由本地接收号码变量的当前值表示)是否小于最后接收到的合并请求的接收标识符(用最后合并号码变量的当前值表示)。另外,返回到方框70,如果该请求消息不是合并请求,则绕过方框72,控制直接交给方框74。
如果为当前请求消息的接收标识符小于最后接收到的合并请求的接收标识符(指示发生合并),则控制从方框74传递给方框76以执行合并协议处理。在图示实施例中,合并协议处理采用取消由当前请求消息表示的协议的方式,通常通过给启动该协议的实体返回一个回答,指示由于合并而取消了该请求。启动实体一旦被通知请求被取消,则可以(如果愿意的话)重新发布请求重新尝试该协议。当一个合并请求被处理,使用为所有其它分区的成员关系更新每一成员。这样,任何将来的协议,包括重新发布的协议,将需要从所有成员来的响应,而不只是分区的成员。
返回方框74,如果为当前请求消息的接收标识符大于最后接收到的合并请求的接收标识符(指示从接收到该请求以来未发生合并),则控制直接前进到方框78,以常规方式继续处理该协议,通常通过给该作业交付该消息继续处理。还应该注意,如果当前请求消息是合并消息,则为当前请求消息的本地接收号码将与最后合并号码相同,于是方框74也把控制交给方框78,通过把该消息交付给该作业而继续处理该合并请求。然后,接收到的消息的处理完成。
返回方框64,如果接收到的消息不是协议请求,则控制交给方框80,决定该消息的请求句柄是否匹配任何待处理请求的请求句柄-亦即,接收到的消息是否是对一个待处理的或当前正在进行的协议的应答或其它响应。如果不是,则控制传递给方框82,直接抛弃该消息,完成对接收到的消息的处理。另外可选择的方案是可以把该消息存储为以后处理。
然而,如果接收的消息的请求句柄与待处理请求的句柄确实匹配,则方框80把控制交给方框83以决定接收到的消息的请求句柄是否与当前请求的匹配。如果是,则控制传递给方框84交付该消息给该作业,从而允许完成该协议。另一方面,如果该消息是为一个待处理(但不是当前的)请求的,则方框83把控制交给方框86,保存该消息为以后重放。然后完成该消息的处理,子例程60结束。
因此应该理解,在子例程60中的合并协议处理本质上取消到合并时间的所有请求,除去当合并发生时已经在执行的那些。合并后接收到的请求假定已经被发送到所有成员,所以这些请求不被取消。
还应该理解,前述子例程预先假定对等型合并协议,并假定一组中的所有成员参加任何协议。于是,如果在一个协议期间发生合并,则希望禁止其它分区的成员参加该协议。因此,通过延迟该合并请求的处理,那些新成员不被认识,直到所有待处理协议(包括任何当前正在执行的)完成(例如要么结束,要么被取消)。另外,由于对等协议本质,每一成员还能够在本地决定是否应该调用或取消一个特定请求。然而,应该理解,本发明还可以在与本发明一致的主-从协议环境中实现。
也许还希望为将来的协议保存消息,以便这样的消息当这种协议在以后处理时可以重放。这种情况可以发生,例如,如果一个分区正在执行一个预合并协议,但另一分区已经开始立即执行该合并协议(例如,如果该分区无待处理请求)。当一个分区准备开始合并时希望保持和重放来自该合并协议的所有消息。可以通过扫描待处理请求的请求句柄检测一个将来的协议。抛弃为过去的协议(亦即并非当前协议或将来协议的协议)的消息,并如果该消息请求句柄不匹配一个待处理的或者将来的请求句柄的话检测该消息(亦即在合并前该请求已经从另一分区发送)。
通过一个例子,假定图1的分区P1和P2以特定顺序分别接收下面的请求消息:
P1:R11,R12,R13...R1xMR3
P2:R21,R22,R23...R2yMR3
式中M是合并请求。于是,请求R11到R1x和R21到R2y在该合并请求前由各自的分区接收,请求R3在该合并请求后由两个分区接收。
为举例起见还假定,当接收到合并请求M时分区P1正在执行请求R11,而分区P2正在执行请求R2。M修改最后合并号码。此外,请求R12-R1x和R22-R2y具有比该最后合并号码小的本地接收号码。
因为请求R11和R21有不同的请求句柄,因此它们的消息不由任何其它协议接收。此外,因为M尚未被处理,因此P1和P2都不知道现在在协议级的合并(虽然集群管理器通信机构确实考虑它们并合并)。根据上述在子例程60中的功能,将允许请求R11和R21完成。然后,当请求R12准备好由分区P1处理时,它的本地接收号码将小于最后合并号码,于是该请求将被取消。对请求R13-R1x和R22-R2y发生类似的动作。合并被处理,然后,将对合并的组的所有成员处理请求R3。
例如,如果当分区P2仍然执行请求R21时分区P1开始执行合并请求M,则分区P1的成员可以给分区P2发送对该合并请求的应答消息。然而,分区P2中的每一成员将扫描它的待处理请求表,并发现该应答消息匹配为合并请求M的请求句柄。其结果,分区P2中的每一成员将保存该消息,并当合并请求M在分区P2中被处理时回答这些消息。
当合并请求M最后被处理时,所有分区将被同步。合并请求M的处理更新所有将来的协议看见的成员关系,于是这样的协议包括来自所有分区的所有成员。使用一个应答轮询,于是所有成员将等待,直到所有成员在开始前已经发送应答消息和从所有其它成员接收到应答消息。合并的组就这样同步。然后可以在该合并的组上处理请求R3。其本地接收号码将大于最后合并号码,于是将在所有组成员上执行该协议。
虽然上述功能可以在广阔范围的集群计算机系统内实现,但是本发明的一个可能的应用是在基于AS/400的集群计算机系统中,诸如可从国际商业机器公司得到的计算机系统。在这种实现中,请求可以保存在每一节点的机器接口(MI)层内的请求对列中,并当这种请求准备好被处理时从对列中出来。请求句柄可以作为一个万能的唯一标识符(UUID),当发送一个请求时分配给一组。
对本领域的技术人员来说各种修改是明显的。因此,本发明在于后面所附的权利要求中。

Claims (23)

1.一种处理由一个集群计算机系统中的一个组的一个成员接收到的合并请求的方法,该方法包括:
(a)在该成员中接收一个合并请求;和
(b)禁止该成员处理该请求,直到所有先前接收到的待处理请求由该成员完成处理之后。
2.权利要求1的方法,进一步包括:
(c)给由该成员接收到的每一请求分配一个接收标识符以指示由该成员接收到的每一请求的相对接收顺序,包括给该合并请求分配一个指出该合并请求的接收是在该成员接收到的所有先前接收的待处理请求之后的接收标识符以指示该合并请求的接收;和
(d)按照给每一接收到的请求分配的接收标识符的顺序处理每一接收到的请求,其中,禁止合并请求的处理包括在完成对每一先前接收到的待处理请求的处理后处理该合并请求。
3.权利要求2的方法,其中,处理每一接收到的请求包括,对于每一接收到的请求:
(b1)比较为这种接收到的请求分配的接收标识符和最后接收的合并请求的接收标识符;
(b2)如果分配给这种接收到的请求的接收标识符指示这种接收到的请求的接收早于最后接收到的合并请求的接收标识符,则取消这种接收到的请求。
4.权利要求3的方法,其中,比较分配给这种接收到的请求的接收标识符和最后接收的合并请求的接收标识符包括比较分配给这种接收到的请求的接收标识符与存储的最后合并接收标识符,该方法还包括响应合并请求的接收,更新存储的最后合并接收标识符为该合并请求的接收标识符。
5.权利要求3的方法,其中,取消这种接收到的请求包括给这种接收到的请求的启动者返回一个取消完成消息。
6.权利要求3的方法,其中,处理每一接收的请求还包括,为每一接收的请求,如果分配给这种接收到的请求的接收标识符指示对这种接收到的请求的接收不比最后接收的合并请求的接收标识符早,则执行一个与这种接收的请求关联的协议。
7.权利要求1的方法,还包括:
(c)接收一个不是请求的消息;
(d)决定与该消息关联的一个请求句柄是否与该成员的一个待处理请求的请求句柄相匹配;
(e)如果该请求句柄与为该成员的一个待处理请求的请求句柄不匹配则抛弃该消息。
8.权利要求1的方法,还包括:
(c)在该组中的多个另外的成员中接收所述合并请求;和
(d)在多个另外的成员的每一个中本地禁止该合并请求的处理,直到由每一这种成员完成所有先前接收到的待处理请求的处理之后。
9.一种处理由一个集群计算机系统中的一个组的一个成员接收到的请求的方法,该方法包括:
(a)给一个接收的请求分配一个接收标识符,该接收标识符指示该接收到的请求的相对接收顺序;
(b)比较分配给该接收到的请求的接收标识符和最后接收的合并请求的接收标识符;
(c)在处理所述合并请求之前,如果分配给该接收到的请求的接收标识符指示该接收到的请求的接收早于最后接收到的合并请求的接收标识符,则取消该接收到的请求。
10.权利要求9的方法,其中,比较分配给该接收到的请求的接收标识符和最后接收的合并请求的接收标识符包括比较分配给该接收到的请求的接收标识符与存储的最后合并接收标识符,该方法还包括:
(d)决定该接收到的请求是否是一个合并请求;和
(e)如果是,则更新存储的最后合并接收标识符为该合并请求的接收标识符。
11.权利要求9的方法,其中,取消接收到的请求包括给该接收到的请求的启动者返回一个取消完成消息。
12.权利要求9的方法,还包括,如果分配给接收到的请求的接收标识符指示对该接收到的请求的接收不比最后接收的合并请求的接收标识符早,则执行一个与该接收的请求关联的协议。
13.权利要求9的方法,还包括:
(d)接收一个不是请求的消息
(e)决定与该消息关联的一个请求句柄是否与该成员的一个待处理请求的请求句柄相匹配;
(f)如果该请求句柄与为该成员的一个待处理请求的请求句柄不匹配则抛弃该消息。
14.一种处理由集群计算机系统中的一组内的一个成员接收到的合并请求的装置,包括:
接收一个合并请求的设备;以及
禁止该合并请求的处理、直到所有先前接收到的待处理请求完成处理的合并请求处理设备。
15.权利要求14的装置,其中,所述合并请求处理设备进一步包括接收标识符分配设备,用于给由所述成员接收到的每一请求分配一个接收标识符以指示由该成员接收到的每一请求的相对接收顺序,其中,给合并请求分配一个接收标识符,指示对该合并请求的接收在接收由所述成员先前接收到的待处理请求后,其中,所述合并请求处理设备进一步包括按顺序处理每一接收到的请求的设备,用于按照分配给每一接收到的请求的接收标识符的顺序处理每一接收到的请求、使得通过在完成每一先前接收到的待处理请求的处理之后处理该合并请求而禁止该合并请求的处理。
16.权利要求15的装置,其中,所述按顺序处理每一接收到的请求的设备比较分配给这种接收到的请求的接收标识符和最后接收的合并请求的接收标识符,并且如果分配给这种接收到的请求的接收标识符指示这种接收到的请求的接收早于最后接收到的合并请求的接收标识符,则取消这种接收到的请求。
17.权利要求16的装置,其中,所述按顺序处理每一接收到的请求的设备比较分配给这种接收到的请求的接收标识符和最后接收的合并请求的接收标识符,这通过比较分配给这种接收到的请求的接收标识符与存储的最后合并接收标识符而实现,其中,所述装置进一步包括响应合并请求的接收而更新该存储的最后合并接收标识符为该合并请求的接收标识符的设备。
18.权利要求16的装置,其中,所述装置包括通过给这种接收到的请求的启动者返回一个取消完成消息而取消这种接收到的请求的设备。
19.权利要求16的装置,其中,对于每一接收的请水,如果分配给这种接收到的请求的接收标识符指示对这种接收到的请求的接收不比最后接收的合并请求的接收标识符早,则所述按顺序处理每一接收到的请求的设备执行一个与这种接收的请求关联的协议,从而处理每一接收到的请求。
20.权利要求14的装置,其中,所述装置进一步包括用于接收一个不是请求的消息、决定与该消息关联的一个请求句柄是否匹配为该成员的一个待处理请求的请求句柄、如果该请求句柄不与为该成员的一个待处理请求的请求句柄匹配则抛弃该消息的设备。
21.权利要求14的装置,其中,所述装置进一步包括用于在该组中的多个另外的成员接收所述合并请求的设备,以及在多个另外的成员的每一个中本地禁止所述合并请求的处理、直到由每一这种成员完成所有先前接收到的待处理请求的处理之后的设备。
22.权利要求14的装置,其中,该装置是集群计算机系统中的一个计算机。
23.一种集群计算机系统,包括:
(a)多个通过网络彼此连接的节点,在所述多个节点中的至少一个执行多个定义为一个组的成员作业;
(b)处理由多个成员作业中的一个成员作业接收的合并请求的装置,其中,所述装置禁止该合并请求的处理,直到所有先前接收到的待处理请求的处理完成之后。
CNB011255560A 2000-08-14 2001-08-13 用于处理集群计算机系统的合并协议的方法和装置 Expired - Lifetime CN100359508C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/638328 2000-08-14
US09/638,328 2000-08-14
US09/638,328 US6968359B1 (en) 2000-08-14 2000-08-14 Merge protocol for clustered computer system

Publications (2)

Publication Number Publication Date
CN1338687A CN1338687A (zh) 2002-03-06
CN100359508C true CN100359508C (zh) 2008-01-02

Family

ID=24559581

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011255560A Expired - Lifetime CN100359508C (zh) 2000-08-14 2001-08-13 用于处理集群计算机系统的合并协议的方法和装置

Country Status (5)

Country Link
US (1) US6968359B1 (zh)
JP (1) JP3798661B2 (zh)
KR (1) KR100423225B1 (zh)
CN (1) CN100359508C (zh)
IL (1) IL142019A0 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7120693B2 (en) * 2001-05-08 2006-10-10 International Business Machines Corporation Method using two different programs to determine state of a network node to eliminate message response delays in system processing
US7562156B2 (en) * 2002-08-16 2009-07-14 Symantec Operating Corporation System and method for decoding communications between nodes of a cluster server
US20040267910A1 (en) * 2003-06-24 2004-12-30 Nokia Inc. Single-point management system for devices in a cluster
US7356678B2 (en) * 2004-01-12 2008-04-08 Hewlett-Packard Development Company, L.P. Security measures in a partitionable computing system
WO2007038445A2 (en) 2005-09-26 2007-04-05 Advanced Cluster Systems, Llc Clustered computer system
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US8136102B2 (en) * 2006-06-20 2012-03-13 Google Inc. Systems and methods for compiling an application for a parallel-processing computer system
US8146066B2 (en) * 2006-06-20 2012-03-27 Google Inc. Systems and methods for caching compute kernels for an application running on a parallel-processing computer system
US7814486B2 (en) * 2006-06-20 2010-10-12 Google Inc. Multi-thread runtime system
US8024708B2 (en) * 2006-06-20 2011-09-20 Google Inc. Systems and methods for debugging an application running on a parallel-processing computer system
US8375368B2 (en) * 2006-06-20 2013-02-12 Google Inc. Systems and methods for profiling an application running on a parallel-processing computer system
US8443348B2 (en) * 2006-06-20 2013-05-14 Google Inc. Application program interface of a parallel-processing computer system that supports multiple programming languages
US8381202B2 (en) * 2006-06-20 2013-02-19 Google Inc. Runtime system for executing an application in a parallel-processing computer system
US8108844B2 (en) 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
US8261270B2 (en) * 2006-06-20 2012-09-04 Google Inc. Systems and methods for generating reference results using a parallel-processing computer system
US8136104B2 (en) * 2006-06-20 2012-03-13 Google Inc. Systems and methods for determining compute kernels for an application in a parallel-processing computer system
US9152457B2 (en) * 2009-06-05 2015-10-06 International Business Machines Corporation Processing request management
US9361165B2 (en) * 2009-12-03 2016-06-07 International Business Machines Corporation Automated merger of logically associated messages in a message queue
US9477483B2 (en) * 2013-01-03 2016-10-25 Tapjoy, Inc. Tracking mobile app installations
TWI596612B (zh) * 2015-12-04 2017-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
KR102112047B1 (ko) * 2019-01-29 2020-05-18 주식회사 리얼타임테크 하이브리드 p2p 방식의 클러스터 시스템에서의 작업 노드 확장 방법
US11595321B2 (en) 2021-07-06 2023-02-28 Vmware, Inc. Cluster capacity management for hyper converged infrastructure updates

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404558A (en) * 1992-02-17 1995-04-04 Sharp Kabushiki Kaisha Data driven type information processor having a plurality of memory banks
US5566078A (en) * 1993-05-26 1996-10-15 Lsi Logic Corporation Integrated circuit cell placement using optimization-driven clustering
US5652841A (en) * 1990-02-06 1997-07-29 Nemirovsky; Paul Method and apparatus for aggregating terminals into clusters to assist in the construction of a distributed data communication network
CN1181551A (zh) * 1996-10-28 1998-05-13 三菱电机株式会社 群集控制系统

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709365A (en) * 1983-10-31 1987-11-24 Beale International Technology Limited Data transmission system and method
US5179699A (en) * 1989-01-13 1993-01-12 International Business Machines Corporation Partitioning of sorted lists for multiprocessors sort and merge
US5146590A (en) * 1989-01-13 1992-09-08 International Business Machines Corporation Method for sorting using approximate key distribution in a distributed system
FI87290C (fi) * 1991-01-17 1992-12-10 Kone Oy Foerfarande foer bestaemning av meddelandeidentifierare i ett foer hissar avsett datanaet
US5528605A (en) 1991-10-29 1996-06-18 Digital Equipment Corporation Delayed acknowledgement in an asymmetric timer based LAN communications protocol
JPH05204811A (ja) 1992-01-23 1993-08-13 Nec Corp 管理情報通信システム
JP3415914B2 (ja) * 1993-10-12 2003-06-09 富士通株式会社 並列マージソート処理方法
US5729687A (en) * 1993-12-20 1998-03-17 Intel Corporation System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information
JP3177117B2 (ja) 1994-05-11 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 複数のノード内の制御コードを更新する方法および装置
US5563878A (en) 1995-01-05 1996-10-08 International Business Machines Corporation Transaction message routing in digital communication networks
US5973724A (en) * 1995-02-24 1999-10-26 Apple Computer, Inc. Merging multiple teleconferences
JP3767003B2 (ja) 1996-03-11 2006-04-19 富士通株式会社 グループ編成管理システムと方法
US6216150B1 (en) * 1996-04-30 2001-04-10 International Business Machines Corporation Program product for an application programming interface unifying multiple mechanisms
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
US5704032A (en) 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
US5805786A (en) 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5883939A (en) * 1996-08-29 1999-03-16 Cornell Research Foundation, Inc. Distributed architecture for an intelligent networking coprocessor
US6038216A (en) 1996-11-01 2000-03-14 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6108699A (en) 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
US6138251A (en) 1997-06-30 2000-10-24 Sun Microsystems, Inc. Method and system for reliable remote object reference management
US6049833A (en) 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6115749A (en) 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6065062A (en) 1997-12-10 2000-05-16 Cisco Systems, Inc. Backup peer pool for a routed computer network
US6545981B1 (en) 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6360330B1 (en) 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
US6449734B1 (en) * 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
JPH11328136A (ja) 1998-05-08 1999-11-30 Mitsubishi Electric Corp 計算機ネットワークシステム
CA2237264A1 (en) 1998-05-08 1999-11-08 Northern Telecom Limited Receiver based congestion control
US6421787B1 (en) * 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6343320B1 (en) 1998-06-09 2002-01-29 Compaq Information Technologies Group, L.P. Automatic state consolidation for network participating devices
US6392993B1 (en) 1998-06-29 2002-05-21 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6381215B1 (en) 1998-06-29 2002-04-30 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6496481B1 (en) 1998-07-16 2002-12-17 Industrial Technology Research Institute Data transfer method for wire real-time communications
JP3615057B2 (ja) * 1998-07-17 2005-01-26 株式会社東芝 ラベルスイッチングパス設定方法及びノード装置
US6338092B1 (en) 1998-09-24 2002-01-08 International Business Machines Corporation Method, system and computer program for replicating data in a distributed computed environment
US6367029B1 (en) 1998-11-03 2002-04-02 Sun Microsystems, Inc. File server system tolerant to software and hardware failures
US6427148B1 (en) * 1998-11-09 2002-07-30 Compaq Computer Corporation Method and apparatus for parallel sorting using parallel selection/partitioning
JP2000156706A (ja) 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> データ送受信方法並びにデータ送信プログラムを記憶した媒体及びデータ受信プログラムを記憶した媒体
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
JP2000196677A (ja) 1998-12-28 2000-07-14 Fujitsu Ltd ネットワ―クシステムに用いられる中継装置
US6363495B1 (en) * 1999-01-19 2002-03-26 International Business Machines Corporation Method and apparatus for partition resolution in clustered computer systems
US6507863B2 (en) 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
US6317867B1 (en) * 1999-01-29 2001-11-13 International Business Machines Corporation Method and system for clustering instructions within executable code for compression
US6564372B1 (en) * 1999-02-17 2003-05-13 Elbrus International Limited Critical path optimization-unzipping
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6757698B2 (en) 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6185666B1 (en) * 1999-09-11 2001-02-06 Powerquest Corporation Merging computer partitions
US6425014B1 (en) * 1999-09-22 2002-07-23 International Business Machines Corporation Methods, systems and computer program products for providing network connection information in a cluster of data processing systems
US6408310B1 (en) 1999-10-08 2002-06-18 Unisys Corporation System and method for expediting transfer of sectioned audit files from a primary host to a secondary host
US6625639B1 (en) 1999-10-20 2003-09-23 International Business Machines Corporation Apparatus and method for processing a task in a clustered computing environment
US6460039B1 (en) * 1999-12-09 2002-10-01 International Business Machines Corporation Middleware support for primary component in a partitionable cluster environment
US6847984B1 (en) 1999-12-16 2005-01-25 Livevault Corporation Systems and methods for backing up data files
US6574668B1 (en) 2000-01-25 2003-06-03 Cirrus Logic, Inc. Retransmission scheme in wireless computer networks
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6654902B1 (en) * 2000-04-11 2003-11-25 Hewlett-Packard Development Company, L.P. Persistent reservation IO barriers
US20030041138A1 (en) 2000-05-02 2003-02-27 Sun Microsystems, Inc. Cluster membership monitor
US6578032B1 (en) * 2000-06-28 2003-06-10 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US6839752B1 (en) 2000-10-27 2005-01-04 International Business Machines Corporation Group data sharing during membership change in clustered computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652841A (en) * 1990-02-06 1997-07-29 Nemirovsky; Paul Method and apparatus for aggregating terminals into clusters to assist in the construction of a distributed data communication network
US5404558A (en) * 1992-02-17 1995-04-04 Sharp Kabushiki Kaisha Data driven type information processor having a plurality of memory banks
US5566078A (en) * 1993-05-26 1996-10-15 Lsi Logic Corporation Integrated circuit cell placement using optimization-driven clustering
CN1181551A (zh) * 1996-10-28 1998-05-13 三菱电机株式会社 群集控制系统

Also Published As

Publication number Publication date
IL142019A0 (en) 2002-03-10
CN1338687A (zh) 2002-03-06
KR100423225B1 (ko) 2004-03-18
JP2002117010A (ja) 2002-04-19
KR20020013401A (ko) 2002-02-20
JP3798661B2 (ja) 2006-07-19
US6968359B1 (en) 2005-11-22

Similar Documents

Publication Publication Date Title
CN100359508C (zh) 用于处理集群计算机系统的合并协议的方法和装置
US11687555B2 (en) Conditional master election in distributed databases
US6081826A (en) System using environment manager with resource table in each computer for managing distributed computing resources managed for each application
US6889253B2 (en) Cluster resource action in clustered computer system incorporation prepare operation
US6839752B1 (en) Group data sharing during membership change in clustered computer system
US6892316B2 (en) Switchable resource management in clustered computer system
US6163855A (en) Method and system for replicated and consistent modifications in a server cluster
US6662219B1 (en) System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6510478B1 (en) Method and apparatus for coordination of a shared object in a distributed system
US6983324B1 (en) Dynamic modification of cluster communication parameters in clustered computer system
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
US7089318B2 (en) Multi-protocol communication subsystem controller
JPH10187519A (ja) 分配システムの競合を防止する方法
US10367676B1 (en) Stable leader selection for distributed services
US6058425A (en) Single server access in a multiple TCP/IP instance environment
CN114254036A (zh) 数据处理方法以及系统
US20060048020A1 (en) Subscription-based management and distribution of member-specific state data in a distributed computing system
US7240088B2 (en) Node self-start in a decentralized cluster
US11522966B2 (en) Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment
US7346910B1 (en) Administration of groups of computer programs, data processing systems, or system resources
CN115934006B (zh) Io接入点和数据处理任务管理方法、装置、设备和介质
WO1993018464A1 (en) Distributed processing system
CN113254159B (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
CX01 Expiry of patent term

Granted publication date: 20080102

CX01 Expiry of patent term