CN1333507A - 分布式计算机系统中协调器服务的非中断性迁移 - Google Patents
分布式计算机系统中协调器服务的非中断性迁移 Download PDFInfo
- Publication number
- CN1333507A CN1333507A CN01122492.4A CN01122492A CN1333507A CN 1333507 A CN1333507 A CN 1333507A CN 01122492 A CN01122492 A CN 01122492A CN 1333507 A CN1333507 A CN 1333507A
- Authority
- CN
- China
- Prior art keywords
- node
- service
- hang
- dependence
- mxm
- 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
- 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
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- 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
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明允许一组相关的协调器服务组自一个节点迁移至另一个节点而不使系统中任何节点上的应用程序中断,不像其他方法,本发明允许使一组互相依赖的服务进入“静止”状态并且一起迁移。由于服务操作依赖于其他服务操作的结果和/或数据,只当这些其他操作把为完成依赖的操作所需的数据送回时,任何特定操作才能恰当地完成。因此本发明允许使各服务分阶段地进入“静止”而完成无中断的迁移。最依赖于其他操作的操作先于其他操作而被挂起;然后该过程等待任何当今操作完成。一旦依赖的操作的第一阶段已经完成,即把依赖的操作服务的下一个阶段挂起,该过程等待这些操作的完成等,直至不再有处于“静止”过程中的阶段。因此本发明可应用于比先前方法更为复杂的分布式应用程序。
Description
技术领域
此专利申请的所有材料根据美国和其他国家的版权保护法律受到版权保护。在本发明的第一有效提交日期,此材料作为未公布材料而受到保护。然而,在版权所有者不反对任何人将出现于美国专利和商标事务所的专利文件或记录中的本专利文档或专利公开内容传真复印的情况下,此处同意允许复制此材料,否则保留所有版权权利。
本发明涉及分布式计算机系统和更具体地涉及一种用于在节点之间将服务迁移的改进的系统和方法。
背景技术
分布式计算机系统能够存储可供用户访问的大量信息以便识别和检索包含数据、文本、音频和视频信息的有用文档。分布式系统(100)的典型例子显示于图1中。本发明应用于在分布式计算机系统中运行的分布式应用程序(104a至104n和112a至112x)。分布式计算机系统包含计算机节点(102a至102n和106a至106x)以及一个允许在各计算机节点之间交换消息的通信网络(114)。分布式应用程序(104a至104n和112a至112x)是一个运行于分布式系统中的多个节点上的程序,这些节点一起用于完成一个共同目标(例如并行科学计算、分布式数据库或并行文件系统)。此外,分享的盘存储器(108a至108z)可供计算机节点用于存储数据。
分布式应用程序的一定操作可能要求所有参与的节点之间的协调。一个用于实施这类操作的普通技术是指定一个单个“协调器”节点(110),它用于完成所有要求这类协调的操作。如果另一个节点需要执行这些操作中的一个,则它通过发送一条消息至协调器节点来作到这点,该协调器节点代表另一个节点来完成操作,然后将带有操作结果的回答发送至发出请求的节点。
为使分布式应用程序成为容错的,另一个节点必须能够在协调器出故障时担当起本来由协调器节点提供的服务。为担当起该服务,新协调器节点可能需要重建由旧协调器保持的状态。用于重建必须状态的众所周知的技术包括使用稳态存储器(例如附加的双端口盘或附于网络的分享盘),以及从系统中其他节点中还有从重建信息、RAID阵列或类似内容的划分带区的盘中收集信息。
通常即使没有故障也希望迁移协调器服务。例如,当使用主要/后备的容错方案时(图3),如果主要节点出故障(302),及后备节点用作协调器(304),则当主要节点开始恢复(306)并且再次可用时(308),希望将协调器服务自后备节点迁移回至主要节点(310)。另一个例子是在节点之间迁移协调器服务以便使可用节点之间的CPU负载或其他资源平衡。虽然有可能使用克服故障(fail-over)代码来迫使协调器功能自节点N1迁移至节点N2,由于不同原因这对于分布式应用程序可能是中断性的;该应用程序可能被迫停止运行而在N1上和/或在其他节点上重新启动。
以前所知用于迁移协调器服务的方法只在对于分布式应用程序和/或它所使用的协调器服务的一定限制性的假设下才有用,即:
1.如果可能使等待中的协调器操作中断和“清洁地”流产而不使同一节点上的分布式应用程序的其他部分中断,则有可能以与节点故障情况下完全相同的方式将服务自一个节点迁移至另一个节点。然而,这时假设该协调器操作并不与分布式应用程序的其他部分分享任何数据结构,或者至少有可能将部分地完成的操作恢复以便将分享的数据结构恢复至兼容状态。此外,此方案只在这类恢复操作不要求调用附加的协调器操作的情况下才有用。
2.如果在各协调器操作之间没用依赖性,则有可能将所有新操作挂起并且等待所有等待中的操作完成,然后将协调器服务迁移至另一个节点而避免中断。例如,RS/6000SP的IBMRecoverable VirtualShared Disk(RVSD)产品允许自主要服务器节点迁移一个虚拟盘服务器至后备服务器节点并且往回迁移。它通过在将VSD服务器迁移至其他节点之前先将所有VSD请求(请求读和写一个盘块)挂起而完成。此方案可用的原因是每个盘I/O请求是独立的(为完成一个盘I/O请求,并不要求VSD服务器对其他服务发出附加I/O请求或任何其他请求)。如果各操作并不独立,则此方案可能死锁。
3.如果在各协调器操作之间存在依赖性,则有可能将这些操作组合为一组明显的服务以使属于相同服务的操作彼此独立。在此情况下,有可能使用传统方法每次独立地迁移这些服务中的一个。
虽然这些现有技术迁移服务可用,但所有以上方法都有它们的缺点。以上描述的方法2的缺点是它无法用于互相依赖的服务。当应用程序不允许简单地将等待中的操作流产时,无法使用方法1。当这些服务由于例如所有它们都依赖于某些无法容易地沿着服务边界划分的公共基础结构因而无法每次迁移一个时,无法使用方法3。因此,当各服务是互相依赖时,需要将能够操作的各服务进行迁移。
用于迁移服务的已知方法的另一个缺点是没有能力来不但处理直接互相依赖的服务而且处理间接互相依赖的服务。例如为处理一个操作OP1,一个服务可能需要调用另一个服务操作OP2;因此OP1直接地依赖于OP2。而间接依赖性的例子是:如果操作OP1要求一个分享的资源例如一个联锁(lock),后者可能由位于相同的或另一个节点上的不相关操作OP3所保持;OP3在能够释放它所保持的资源之前可能需要调用一个服务操作OP4。在此例子中,OP1间接地依赖于OP4。现有技术的方法只是简单地将所有可能导致死锁的新操作挂起,因为在OP4完成之前OP1无法完成。因此,需要一种迁移服务,当这些服务不但直接地互相依赖而且间接地互相依赖时也能操作。
本发明允许一组相关的协调器服务自一个节点迁移至另一个节点而不使系统中任何节点上的应用程序中断。不像其他方法,本发明允许一组互相依赖的服务静止和一起迁移。由于服务操作依赖于其他服务操作的结果和/或数据,只当其他服务操作送回为完成任何依赖的具体操作所需数据时,该依赖的操作才能恰当地完成。因此,本发明允许通过使服务处于“静止”阶段而实现非中断性迁移。先于其他操作之前,先将最为依赖于其他操作的各操作挂起;然后过程等待任何当今操作完成。一旦已经完成依赖的操作的第一阶段,即将依赖的操作服务的下一阶段挂起,该过程然后等待完成这些操作等等,直至“静止”阶段再无更多阶段。因此本发明可应用于比先前方法更为复杂的分布式应用程序。
在说明书结尾处的权利要求书中对被认为是本发明的事物具体地指出了和明确地提出了权利要求。结合附图的以下详细描述将使本发明的以上和其他目的、特征和优点十分明显。
附图说明
图1是可在本发明中实现的典型现有技术分布式信息处理网络的系统级总图。
图2阐述包括本发明原理的高度并行分布式多处理器系统计算环境的例子。
图3是用于阐述现有技术中主要节点故障和恢复过程的流程图。
图4是用于阐述本发明所实现的故障恢复和服务迁移的功能总结的流程图。
图5是用于阐述不同操作的依赖性树的框图。
图6是用于阐述不同操作的操作级别和依赖性级别的框图。
图7是用于阐述服务的非中断性迁移的功能总结的流程图。
重要的是注意到这些实施例只是此处新颖原理的许多有利用途的例子。一般而言,在应用本发明的说明中所作叙述毫无必要限制提出不同权利要求的本发明的任何方面。此外,某些叙述可以应用于某些本发明特征而不是其他特征。一般而言,除非另外标明,单数可能是复数而不损失一般性,反之亦然。
在附图中相同数字系指不同视图的相同部件。
实施方式
现在更详细地参照附图,其中相同数字系指不同视图的相同部件,图2是分布式计算环境200的框图,它包括通过多个网络适配器204彼此连接的多个节点202。每个节点202是一个独立的计算机,具有它们自己的操作系统映象208、系统存储器总线218上的存储器210和处理器206,而一个系统输入/输出总线216将I/O适配器212和网络适配器204连接起来。每个网络适配器通过网络转接器220连在一起。
在一个例子中,分布式计算环境200包括N个具有一个或多个处理器206的节点202。在一个例子中,每个处理节点是一个运行AIX的RISC/6000计算机,其中AIX是UNIX操作系统的IBM版本。这些处理节点不必是运行AIX操作系统的RISC/6000计算机。某些或所有处理节点202能够包括不同类型的计算机和/或不同操作系统208。可以认为所有这些变动方案是提出权利要求的本发明的一部分。
协调器服务的非中断性迁移的实施例
可能需要自一个节点迁移至另一个节点的服务或一组服务被定义为一组操作,这些操作可以在使用服务的节点上就地调用,或者通过一对请求/回答消息对而自另一个节点远程地调用(也称为远程过程调用或RPC)。
参照图4,它是一个用于阐述将一组服务自节点N1迁移至节点N2的服务迁移操作的功能总结的流程图400。该迁移操作广泛地包括以下步骤:
(402)服务迁移开始;
(404)将新的输入操作挂起;
(406)等待所有当今进行处理的操作完成;
(408)将服务状态自节点N1传输至节点N2;
(410)将所有挂起的和未来的操作自N1重定向至N2;
然而,在完成此工作中一个独一的挑战在于被迁移的不同操作可能直接地或间接地彼此依赖;换言之,它们是互相依赖的。转向图5,框图500阐述不同操作的依赖性树。为处理操作OP1(502),该服务可能需要调用另一个服务OP2(504);因此OP1直接地依赖于OP2。间接依赖性的例子是如果操作OP1要求一个分享的资源例如联锁,它可能由相同节点或另一个节点(510、512、514)上的不相关操作OP3(506)所保持;OP3可能需要在它能够释放它所保持的资源之前调用一个服务操作OP4(508)。在此例子中,OP1间接地依赖于OP4。
在步骤(404)中简单地立即将所有新操作挂起就能够快速地在步骤(406)中导致死锁。这是因为当今进行的操作OP1可能仍然需要调用操作OP2,但由于所有操作被挂起,在步骤(410)中恢复挂起的操作之前无法完成OP1。然而,该过程根本无法到达步骤(410),因为在OP1完成之前又无法完成步骤(406)。换言之,这些操作是互相依赖的以及此操作的互相依赖性阻止完成节点的恢复或系统服务的迁移。
根据赋予每个操作的数字的“依赖性级别”,通过在多个“阶段”中将操作挂起而解决这个问题。必须选择满足以下条件的依赖性级别:
IF操作OPX直接地或间接地依赖于操作OPY,
THEN
OPX的依赖性级别必须高于OPY的依赖性级别(大于先前赋予的数字值)。
只要依赖性关系是非周期性的,总能找到这一赋值;这是一个合理的假设,因为否则在即使不存在任何故障或迁移尝试的情况下操作也可能死锁。如果不同操作并不相互依赖,则它们可能具有相同依赖性级别。给出依赖性级别赋值后,在多个阶段中将服务操作挂起,其中每个明显的依赖性级别有一个阶段。图6显示图4中所示操作OP1至OP4的操作级别和依赖性级别的图表。由于OP2和OP4并不依赖于任何其他操作,它们处于依赖性级别1。OP3处于依赖性级别2,因为它只依赖于OP4,以及OP1处于依赖性级别3,因为它依赖于OP2、OP3和OP4。
图7是用于阐述分布式计算机系统中协调器服务的非中断性迁移中所涉及步骤的流程图700。首先开始服务迁移(702)。将N确定为赋予的最高依赖性级别(704)。在第一阶段中,将所有具有依赖性级别N的新操作挂起(706)。然后该过程在进至下一个阶段之前等待已经被处理的具有依赖性级别N的操作去完成(708)。将N的值减1以便标示已经完成第N个静止阶段(710)。然后判断是否已经完成所有阶段(N=0)(712)。如果尚未出现过所有阶段的挂起,则该过程回至下一个阶段,其中使所有具有次高依赖性级别(N-1)的操作成为静止等,直至所有操作全都挂起并且所有等待中的操作都已完成。这个分阶段的方案将不会死锁,因为在任何给定阶段N中该过程只等待具有依赖性级别N的操作去完成。在进入稍后阶段之前它们所依赖的所有操作具有较低依赖性级别因而将不会挂起。
一旦所有操作都挂起以及不再有操作被处理,即把由节点N1保持的为提供被迁移的服务而需要的任何状态传输至节点N2(714)。通过将包含状态信息的显式消息自N1发送至N2,即可作到这点(716)。选代地,N1可以简单地将其状态删除(722),而N2可以通过调用同样地用于处理故障情况的方法来恢复状态(724),例如N2由于N1的故障而担当起服务。显式状态转移的前一方案允许实现更快迁移,而在假设故障恢复方法是可用的情况下,状态恢复的后一方案要求实施较少代码。
当N2准备处理服务请求时,将服务的新位置通知分布式应用程序在其上运行的所有节点(718)。然后将所有未来请求送至N2而不是N1。因为服务已经迁移,曾经挂起的操作都完成并且具有一个用于标示操作尚未处理的特定误差码(720)。在收到这一回答后,该发送请求的节点重新将该请求发送至N2,并在其中正常地将它处理。
此迁移方法实施于AIX,版本1,第三次发布(GPFS)的IBMGeneral Parallel File System中。GPFS允许将文件系统管理程序自一个节点迁移至另一个节点。在GPFS中,文件系统管理程序提供若干服务:
盘故障的管理;
分布式联锁的协调;
记录文件的建立和赋值;
盘空间分配的协调;
份额的管理;
系统配置改变的性能。
这些服务所提供的操作之间有若干依赖性。例如,建立一个记录文件要求将分配映象联锁以及可能要求处理盘故障以便完成记录文件的建立。许多这些操作访问在同一节点上正常文件系统操作也在使用的数据结构,例如(见图5)缓冲高速缓存(516)、信息节点高速缓存(518)和相关的控制结构(520)。因此不能将这些操作流产,也不将所有正常文件系统操作流产。因此,如此作的结果是使正在访问文件系统的所有本地应用程序中断。最后,这些服务的实施以及用于调用它们的基础结构要求所有这些服务在同一节点上运行,即这些服务不能每次迁移一个。没有一个传统迁移方法能够用于GPFS中而不使使用文件系统的应用程序中断。因此,此处发现的新颖原理对于操作服务的无故障迁移是必须的。本发明允许在单个步骤中迁移一组这类服务。由于此原因,本发明允许实现传统方法所无法实现的在分布式应用程序中无中断地迁移协调器服务。例如,见如上描述的GPFS并行文件系统。
以此方式,已经描述了用于克服现有技术的不足之处的在分布式计算机系统中无中断地迁移协调器服务的改进的系统和方法。现在,在等待一组互相依赖的操作完成时,操作服务的互相依赖性既不造成应用程序的中断,又不会使服务的迁移死锁。相反,将此处发现的新颖原理用于分布式计算机系统中协调器服务的无中断性迁移可用于灵验地从节点故障中恢复以及将服务自一个节点合适地迁移至另一个节点。
讨论硬件和软件实现方式
如专业人员所知道的,本发明可以用硬件或软件或用硬件和软件的组合来实施。如结合优选实施例中所公开的,根据本发明的系统或方法可以实施于单个计算机系统中,该计算机系统具有单独的用于完成所描述的或权利要求的单独功能或步骤的元件或装置或者一个或多个用于将所公开的或权利要求的功能或步骤中的任何一个的性能组合起来的元件或装置,或者可能布置于由任何专业人员所知道的合适的装置进行互连的分布式计算机系统中。
根据如同结合优选实施例中所公开的本发明的原理,本发明和本发明的原理不限于任何特定类型的计算机系统,而可以用于任何如专业人员所知道的布置为完成所描述的功能和所描述的方法步骤的通用计算机。如专业人员所知道的,如上所述的这类计算机的操作是根据包含于用于计算机的操作或控制中的媒体上的计算机程序的操作的。该用于保持或包含该计算机程序产品的计算机媒体可能是计算机附件例如埋嵌的存储器,也可能是位于专业人员所知道的可携带媒体例如盘上。
本发明不限于任何特定计算机程序或逻辑或语言或指令,而可以使用专业人员所知道的任何这类合适的程序、逻辑或语言或指令来实现。在不限制所公开的本发明原理的情况下,任何这类计算系统能够在其他事物中包括至少一个计算机可读媒体,后者允许计算机自计算机可读媒体中读取数据、指令、消息或消息包和其他计算机可读信息。该计算机可读媒体可能包括非易失性存储器例如ROM、闪烁存储器、软盘、硬盘驱动存储器、CD-ROM和其他永久性存储器。附加地,计算机可读媒体可能包括例如易失性存储器例如RAM、缓存、高速缓存和网络电路。
此外,计算机可读媒体可能包括暂时状态媒体例如网络线路和/或网络接口中的计算机可读信息,该网络包括用于允许计算机读取这类计算机可读信息的有线网络或无线网络。
Claims (19)
1.一种用于将与具有多个连至网络的节点的网络相关联的服务进行节点迁移的方法,一个第一节点上的该方法包括以下步骤:
将依赖性级别赋予一组节点服务中的每个服务;及
确定该组节点服务中存在的依赖性级别的一个最高值;
执行以下子步骤:
将具有等于该依赖性级别最高值的一个依赖性级别的新操作挂起;及
等待具有该最高依赖性级别的当今进行的操作完成;
只要节点服务的迁移中尚有未处理的阶段,就为节点服务的迁移的一个不同阶段重复执行步骤。
2.如权利要求1中所定义的方法,其中用于重复执行步骤的步骤还包括以下子步骤:
将节点服务的迁移中存在的一个依赖性级别的最高值N减量,其中N是从0至i的级别,其中i是依赖性级别的一个初始最高值;及
检查依赖性级别的该最高值N以便判断它是否已经到达零值。
3.如权利要求2中所定义的方法,其中用于检查依赖性级别的最高值N的子步骤还包括以下辅助子步骤:
其中如果依赖性级别的该最高值N没有到达零值则重复该执行步骤;
其中如果依赖性级别的该最高值N已经到达零值则不再重复该执行步骤。
4.如权利要求1中所定义的方法,还包括以下步骤:
开始自该第一节点转移服务状态至一个第二节点;
自该第一节点发送具有状态内容的显式状态消息至该第二节点;及
将所有挂起的和未来的该第一节点操作重定向至该第二节点。
5.如权利要求4中所定义的方法,其中用于将所有挂起的和未来的该第一节点操作重定向至第二节点的步骤还包括以下子步骤:
将一个或多个误差码插入所有第一节点挂起的操作中。
6.如权利要求5中所定义的方法,其中用于将一个或多个误差码插入所有第一节点挂起的操作中的子步骤还包括一个或多个误差码,用于标示所有该第一节点挂起的操作无法在该第一节点上完成以及先前曾经请求过完成任何挂起的操作的任何其他节点现在必须向该第二节点发送一个要求完成任何挂起的操作的请求。
7.如权利要求1中所定义的方法,其中该网络、多个节点和操作服务还包括一个AIX的IBM通用并行文件系统,以便允许将一个文件系统管理程序自一个节点迁移至另一个节点。
8.如权利要求1中所定义的方法,还包括以下步骤:
开始自该第一节点传输服务状态至第二节点;
废弃该第一节点上的任何状态内容;
为该第一节点调用一个故障恢复过程;及
将所有挂起的和未来的该第一节点操作重定向至该第二节点。
9.如权利要求8中所定义的方法,其中用于将所有挂起的和未来的该第一节点操作重定向至该第二节点的步骤还包括以下子步骤:
将一个或多个误差码插入所有第一节点挂起的操作中。
10.如权利要求9中所定义的方法,其中用于将一个或多个误差码插入所有第一节点挂起的操作中的子步骤还包括一个或多个误差码,用于标示所有该第一节点挂起的操作无法在该第一节点上完成以及先前曾经请求过完成任何挂起的操作的任何其他节点现在必须向该第二节点发送一个要求完成任何挂起的操作的请求。
11.如权利要求10中所定义的方法,其中该网络、多个节点和操作服务还包括一个AIX的IBM通用并行文件系统,以便允许将一个文件系统管理程序自一个节点迁移至另一个节点。
12.一种包括编程指令的计算机可读媒体,用于将与具有多个连至网络的节点的网络相关联的节点服务进行节点迁移,在一个第一节点上执行的该编程指令包括:
将依赖性级别赋予一组节点服务中的每个服务;及
确定该组节点服务中存在的依赖性级别的一个最高值;
执行以下指令:
将具有等于一个依赖性级别最高值的一个依赖性级别的新操作挂起;及
等待具有该最高依赖性级别的当今进行的操作完成;
只要节点服务的迁移中尚有未处理的阶段,就为节点服务的迁移的一个不同阶段重复完成步骤。
13.如权利要求12中所定义的计算机可读媒体,其中用于重复执行指令的编程指令还包括以下指令:
将节点服务的迁移中存在的依赖性级别的一个最高值N减量,其中N是从0至i的级别,其中i是依赖性级别的一个初始最高值;及
检查依赖性级别的该最高值N以便判断它是否已经到达零值。
14.如权利要求13中所定义的计算机可读媒体,其中用于检查依赖性级别的该最高值N的编程指令还包括以下辅助指令:
其中如果依赖性级别的该最高值N没有到达零值则重复该执行步骤;
其中如果依赖性级别的该最高值N已经到达零值则不再重复该执行步骤。
15.如权利要求12中所定义的计算机可读媒体,还包括以下编程指令:
开始自该第一节点转移服务状态至该第二节点;
自该第一节点发送具有状态内容的显式状态消息至该第二节点;及
将所有挂起的和未来的该第一节点操作重定向至该第二节点。
16.如权利要求15中所定义的计算机可读媒体,其中用于将所有挂起的和未来的该第一节点操作重定向至第二节点的编程指令还包括以下指令:
将一个或多个误差码插入所有第一节点挂起的操作中。
17.如权利要求16中所定义的计算机可读媒体,其中用于将一个或多个误差码插入所有第一节点挂起的操作中的编程指令还包括一个或多个误差码,用于标示所有该第一节点挂起的操作无法在第一节点上完成以及先前曾经请求过完成任何挂起的操作的任何其他节点现在必须向该第二节点发送一个要求完成任何挂起的操作的请求。
18.如权利要求12中所定义的计算机可读媒体,其中该网络、多个节点和操作服务还包括一个AIX的IBM通用并行文件系统,以便允许将一个文件系统管理程序自一个节点迁移至另一个节点。
19.将与具有多个连至网络的节点的网络相关联的服务进行节点迁移的系统中的一种节点,该节点包括:
一个用于将依赖性级别赋予一组节点服务中的每个服务的识别单元;及
一个用于确定该组节点服务中存在的依赖性级别的一个最高值的确定单元;
一个用于控制以下子单元的执行单元:
一个用于将具有等于依赖性级别的一个最高值的一个依赖性级别的新操作挂起的挂起单元;
一个用于等待当今进行的操作完成的保持单元;及
一个用于向执行单元标示只要节点服务的迁移中尚有未处理的阶段就为节点服务的迁移的不同阶段重复其功能的重复单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/616,844 | 2000-07-14 | ||
US09/616,844 US6622259B1 (en) | 2000-07-14 | 2000-07-14 | Non-disruptive migration of coordinator services in a distributed computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1333507A true CN1333507A (zh) | 2002-01-30 |
CN1165008C CN1165008C (zh) | 2004-09-01 |
Family
ID=24471172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011224924A Expired - Fee Related CN1165008C (zh) | 2000-07-14 | 2001-07-13 | 进行节点迁移的方法和节点设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6622259B1 (zh) |
CN (1) | CN1165008C (zh) |
TW (1) | TW508505B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222761B (zh) * | 2006-07-26 | 2011-07-27 | 三星电子株式会社 | 用于启用网络操作系统的用户设备的传递应用的方法 |
CN101809563B (zh) * | 2007-09-26 | 2013-03-06 | 微软公司 | 分布式、可扩展应用程序的创建和部署 |
CN104331322A (zh) * | 2014-10-24 | 2015-02-04 | 华为技术有限公司 | 一种进程迁移方法和装置 |
CN108985629A (zh) * | 2018-07-17 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 业务链中业务节点的执行方法、装置及服务器 |
CN112384895A (zh) * | 2018-05-01 | 2021-02-19 | 亚马逊技术公司 | 使用函数检查点实现服务枢纽的函数可移植性 |
CN112905352A (zh) * | 2021-01-29 | 2021-06-04 | 北京深演智能科技股份有限公司 | 节点死锁处理的方法和装置 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020097192A (ko) * | 2000-03-01 | 2002-12-31 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | 컴퓨터 파일의 아카이브 갱신 방법 및 시스템 |
US6922791B2 (en) * | 2001-08-09 | 2005-07-26 | Dell Products L.P. | Failover system and method for cluster environment |
US20040203976A1 (en) * | 2002-12-30 | 2004-10-14 | Gupta Vivek G. | Power management for nodes coupled to a communication link |
US7290168B1 (en) | 2003-02-28 | 2007-10-30 | Sun Microsystems, Inc. | Systems and methods for providing a multi-path network switch system |
US7447939B1 (en) * | 2003-02-28 | 2008-11-04 | Sun Microsystems, Inc. | Systems and methods for performing quiescence in a storage virtualization environment |
US7383381B1 (en) | 2003-02-28 | 2008-06-03 | Sun Microsystems, Inc. | Systems and methods for configuring a storage virtualization environment |
US7236987B1 (en) | 2003-02-28 | 2007-06-26 | Sun Microsystems Inc. | Systems and methods for providing a storage virtualization environment |
US7555504B2 (en) * | 2003-09-23 | 2009-06-30 | Emc Corporation | Maintenance of a file version set including read-only and read-write snapshot copies of a production file |
US7668810B2 (en) * | 2006-01-27 | 2010-02-23 | International Business Machines Corporation | Controlling consistency of data storage copies |
US8296768B2 (en) * | 2007-06-30 | 2012-10-23 | Intel Corporation | Method and apparatus to enable runtime processor migration with operating system assistance |
US8464270B2 (en) * | 2007-11-29 | 2013-06-11 | Red Hat, Inc. | Dependency management with atomic decay |
US8832255B2 (en) | 2007-11-30 | 2014-09-09 | Red Hat, Inc. | Using status inquiry and status response messages to exchange management information |
US8645837B2 (en) | 2008-11-26 | 2014-02-04 | Red Hat, Inc. | Graphical user interface for managing services in a distributed computing system |
TW201112006A (en) | 2009-05-29 | 2011-04-01 | Ibm | Computer system, method and program product |
TWI484335B (zh) * | 2010-01-07 | 2015-05-11 | Alibaba Group Holding Ltd | Cached data processing method, processing system, and means |
US8522069B2 (en) * | 2010-01-21 | 2013-08-27 | Wincor Nixdorf International Gmbh | Process for secure backspacing to a first data center after failover through a second data center and a network architecture working accordingly |
US8856775B2 (en) * | 2010-09-22 | 2014-10-07 | International Business Machines Corporation | Unstacking software components for migration to virtualized environments |
EP2652620B1 (en) * | 2010-12-14 | 2015-06-17 | Hitachi, Ltd. | Failure recovery method in information processing system and corresponding information processing system |
US8495019B2 (en) | 2011-03-08 | 2013-07-23 | Ca, Inc. | System and method for providing assured recovery and replication |
US8856583B1 (en) * | 2012-01-20 | 2014-10-07 | Google Inc. | Failover operation on a replicated distributed database system while maintaining access invariance |
WO2018185771A1 (en) * | 2017-04-06 | 2018-10-11 | Technion Research And Development Foundation Ltd. | Moving replicated data in a cloud environment |
US10922159B2 (en) * | 2019-04-16 | 2021-02-16 | International Business Machines Corporation | Minimally disruptive data capture for segmented applications |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130992A (en) | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
US5230047A (en) | 1990-04-16 | 1993-07-20 | International Business Machines Corporation | Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure |
DE59310052D1 (de) * | 1993-11-26 | 2000-07-06 | Siemens Ag | Recheneinheit mit mehreren ausführbaren Tasks |
US5566297A (en) | 1994-06-16 | 1996-10-15 | International Business Machines Corporation | Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments |
US5659682A (en) | 1994-06-16 | 1997-08-19 | International Business Machines Corporation | Scheme to determine completion of directory operations for server recovery |
US5768556A (en) * | 1995-12-22 | 1998-06-16 | International Business Machines Corporation | Method and apparatus for identifying dependencies within a register |
US5805785A (en) | 1996-02-27 | 1998-09-08 | International Business Machines Corporation | Method for monitoring and recovery of subsystems in a distributed/clustered system |
US5748934A (en) * | 1996-05-31 | 1998-05-05 | Hewlett-Packard Company | Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words |
US5907701A (en) * | 1996-06-14 | 1999-05-25 | The Foxboro Company | Management of computer processes having differing operational parameters through an ordered multi-phased startup of the computer processes |
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 |
US5875290A (en) | 1997-03-27 | 1999-02-23 | International Business Machines Corporation | Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system |
US5898853A (en) * | 1997-06-25 | 1999-04-27 | Sun Microsystems, Inc. | Apparatus for enforcing true dependencies in an out-of-order processor |
US6021508A (en) | 1997-07-11 | 2000-02-01 | International Business Machines Corporation | Parallel file system and method for independent metadata loggin |
US6014669A (en) | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6154849A (en) * | 1998-06-30 | 2000-11-28 | Sun Microsystems, Inc. | Method and apparatus for resource dependency relaxation |
US6457008B1 (en) * | 1998-08-28 | 2002-09-24 | Oracle Corporation | Pluggable resource scheduling policies |
US6542986B1 (en) * | 1999-11-09 | 2003-04-01 | Advanced Micro Devices, Inc. | Resolving dependencies among concurrently dispatched instructions in a superscalar microprocessor |
-
2000
- 2000-07-14 US US09/616,844 patent/US6622259B1/en not_active Expired - Lifetime
-
2001
- 2001-07-02 TW TW090116179A patent/TW508505B/zh not_active IP Right Cessation
- 2001-07-13 CN CNB011224924A patent/CN1165008C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222761B (zh) * | 2006-07-26 | 2011-07-27 | 三星电子株式会社 | 用于启用网络操作系统的用户设备的传递应用的方法 |
CN101809563B (zh) * | 2007-09-26 | 2013-03-06 | 微软公司 | 分布式、可扩展应用程序的创建和部署 |
CN104331322A (zh) * | 2014-10-24 | 2015-02-04 | 华为技术有限公司 | 一种进程迁移方法和装置 |
CN104331322B (zh) * | 2014-10-24 | 2018-03-13 | 华为技术有限公司 | 一种进程迁移方法和装置 |
CN112384895A (zh) * | 2018-05-01 | 2021-02-19 | 亚马逊技术公司 | 使用函数检查点实现服务枢纽的函数可移植性 |
CN108985629A (zh) * | 2018-07-17 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 业务链中业务节点的执行方法、装置及服务器 |
CN108985629B (zh) * | 2018-07-17 | 2022-04-08 | 创新先进技术有限公司 | 业务链中业务节点的执行方法、装置及服务器 |
CN112905352A (zh) * | 2021-01-29 | 2021-06-04 | 北京深演智能科技股份有限公司 | 节点死锁处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US6622259B1 (en) | 2003-09-16 |
CN1165008C (zh) | 2004-09-01 |
TW508505B (en) | 2002-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1165008C (zh) | 进行节点迁移的方法和节点设备 | |
US11327799B2 (en) | Dynamic allocation of worker nodes for distributed replication | |
US8074222B2 (en) | Job management device, cluster system, and computer-readable medium storing job management program | |
US20200159611A1 (en) | Tracking status and restarting distributed replication | |
Stellner | CoCheck: Checkpointing and process migration for MPI | |
US5442785A (en) | Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor | |
Wang et al. | Progressive retry for software error recovery in distributed systems | |
CN1213376C (zh) | 用于被复制的服务器的协议 | |
EP0143125A2 (en) | Computer system | |
EP1024430A2 (en) | Fault-tolerant Java virtual machine | |
CN1093660C (zh) | 多媒体系统中高效传送数据流的系统方法和设备 | |
CN1804810A (zh) | 用于存储器访问请求的重定向的方法和系统 | |
JPH1011372A (ja) | Cpu及びi/oデバイス間のリファレンスによるコンピュータシステムデータi/o | |
US20030028723A1 (en) | Efficient data backup using a single side file | |
CN110750356A (zh) | 适用于非易失性内存的多核交互方法、系统及存储介质 | |
US20070203976A1 (en) | Fail-Safe System for Managing of Client-Server Communication | |
JPH103441A (ja) | Cpu及び多重メモリ装置間のリファレンスによるコンピュータシステムデータi/o | |
Stellner | Consistent checkpoints of PVM applications | |
JP5494915B2 (ja) | レプリケーションシステム、マスタサーバ、レプリカサーバ、レプリケーション方法、及びプログラム | |
JPH0855069A (ja) | ネットワークシステム | |
CN113448775A (zh) | 多源异构数据备份方法及装置 | |
JP2001216174A (ja) | アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体 | |
CN1426554A (zh) | 在含有多个计算机子系统的分布式计算机系统中用于保证兼容性的方法以及用于数据保护的方法 | |
KR0162761B1 (ko) | 네트워크 파일 시스템 상에서의 이동통신 교환기 소프트웨어 컴파일 관리방법 | |
JP4305328B2 (ja) | コンピュータシステム及びそれを用いた系切り替え制御方法 |
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: 20040901 Termination date: 20110713 |