CN1245314A - 确定分布式计算机网络系统状态一致全局观察的方法 - Google Patents

确定分布式计算机网络系统状态一致全局观察的方法 Download PDF

Info

Publication number
CN1245314A
CN1245314A CN99110368.8A CN99110368A CN1245314A CN 1245314 A CN1245314 A CN 1245314A CN 99110368 A CN99110368 A CN 99110368A CN 1245314 A CN1245314 A CN 1245314A
Authority
CN
China
Prior art keywords
computing machine
message
around
computer network
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN99110368.8A
Other languages
English (en)
Other versions
CN1252614C (zh
Inventor
海因茨·康茨
奥利弗·舍克
彼得·迈茨纳
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.)
Alcatel CIT SA
Alcatel Lucent SAS
Alcatel Lucent NV
Original Assignee
Alcatel NV
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 Alcatel NV filed Critical Alcatel NV
Publication of CN1245314A publication Critical patent/CN1245314A/zh
Application granted granted Critical
Publication of CN1252614C publication Critical patent/CN1252614C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1428Reconfiguring to eliminate the error with loss of hardware functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供了确定至少包含三个计算机的分布式计算机网络系统状态的一致全局查看的方法,其特征在于,(a)计算机通过通信链路按顺序传输环绕交换消息,每一计算机在每一传输环绕中在没有差错时从每一其它计算机接收消息,(b)在每一个传输环绕中,每一计算机评估从其它计算机收到的消息,并基于评估的结果,向每一其它计算机指定至少三个不同定义的计算机状态之一,并从而确定系统状态的局部观察,以及(c)计算机交换由它们确定的系统状态的局部观察,且每一计算机从交换的局部观察确定系统状态的一致的全局观察。

Description

确定分布式计算机网络系统状态一致全局观察的方法
本发明涉及确定包含至少三个计算机的分布式计算机网络的系统状态的一致全局观察的方法。本发明进而涉及用于执行该方法的分布式计算机网络。
在分布式计算机网络中,系统状态的变化有时作为有意的事件(例如,新的计算机的添加)、或者作为无意的事件(例如,计算机故障)的结果而发生。在这种变化发生时,必须保证计算机网络中的计算机尽快获得新的系统状态的一致的全局观察。如何形成系统状态一致的全局观察的问题常常又称为“成员资格(membership)问题”。
在诸如铁路传信或发电厂技术中,用来监视和控制安全性至关重要的过程的分布式计算机网络中,这一成员资格问题就特别重要。在这种计算机网络中,各计算机比较它们的结果。只有它们被计算机的大部分彼此独立地确定,结果才输出给过程。例如,如果在三个计算机网络中,一个计算机有故障,其它两个计算机能够继续把结果传送给过程。然而,这要求这两个计算机得到系统状态的一致的全局观察,即关于哪一个计算机已经出故障以及哪些计算机没有故障必须一致。
从L.E.Moser等人1991年五月在Arlington,TX,USA在关于分布式计算系统第11届国际会议上题为“非同步分布式系统的成员资格的算法”的出版物页480-488,可知道用于解决非耦合分布式计算机网络的成员资格问题的不同算法。这些算法基于故障假设,根据这种假设计算机或者不发送消息或者发送正确的消息。计算机发送错误消息的情形没有被假设。如果一个接收者还没有收到消息,所述的算法使用其传输被重复的消息。此外,在这种情形下存在其传输没有被重复的消息。例如,这后一组包括请求消息,计算机以这种消息通知其它计算机,它希望重新成为成员。对这种请求的许可是由其它计算机通过特别的认可消息认可的。那里所描述的算法被限制在非耦合计算机网络,且不能适用于同步或虚拟同步分布式网络。
于是本发明的一个目的,是要提供确定包含至少三个计算机的同步或虚拟同步分布式计算机网络的系统状态的一致全局观察的一种方法。本发明的另一目的,是要提供用于执行该方法的分布式计算机网络。
这些目的分别由权利要求1和7中陈述的特点达到。根据本发明,计算机之间的通信是以传输环绕(transmission round)的形式实现的。传输环绕的特征在于,在这种环绕中,每一计算机接收来自没有差错的其它的一个计算机的消息。每一计算机评估从其它计算机收到的消息,并基于评估的结果,向每一其它计算机指定至少三个不同定义的计算机状态之一。这样,每一计算机确定系统状态的其自身局部观察。计算机交换这些局部观察。然后,例如通过使局部观察受到多数判定,每一计算机从收到的局部观察确定系统状态的全局观察。在所有的计算机具有相同的局部观察时,它们都得到系统状态的相同的全局观察。
这一方法对传输的同步性没有严格的要求。它只要求在不必是固定的但是必须为有限并受到限制的一个时间周期内,每一计算机已经收到来自每一其它计算机的消息。这样该方法能够以下面的通信协议使用,根据该通信协议计算机只能在固定指定的时隙进行发送,但也可以使用其中不存在这种固定指定的通信协议。
此外,为了启动分布式计算机网络,根据本发明的方法的使用不需要特别的操作顺序,从而显著降低了计算机网络的复杂性。
由从属权利要求,本发明进一步先进的特点显而易见。
从以下结合附图所阅读的实施例的说明,本发明将更易理解,其中
图1表示有三个计算机R1,R2和R3的一分布式计算机网络;
图2是用于说明术语“传输环绕”的略图;
图3a是如果使用严格同步通信协议,用来解释术语“传输环绕”的略图;
图3b是如果使用虚拟同步通信协议,用来解释术语“传输环绕”的略图;
图4表示带有一故障计算机的分布式计算机网络,以便解释根据本发明的方法;
图5表示根据本发明用于图4中所示分布式计算机网络的传输环绕过程;
图6表示根据本发明如权利要求2中所述的消息结构;
图7表示为解释如权利要求5中所述的实施例的分布式计算机网络;
图8表示其中发生Byzantine故障的分布式计算机网络;
图9表示根据本发明对于在其中定义四个计算机状态的分布式计算机网络引导期间传输环绕的过程。
图1示出包含三个计算机R1,R2和R3的分布式计算机网络VRNW。计算机R1,…,R3由通信链路KV12,KV13和KV32互连,使得每一计算机能够与计算机网络中每一其它计算机通信。图1中,这些通信链路表示为物理点对点连接。然而在很多情形下,更好的是使计算机R1,…,R3通过数据总线通信。
控制计算机R1,…,R3之间通信的通信协议是包指向的,并使得消息包(以下简称“消息”)能够选择地向各计算机寻址。被访地址在一位置以便借助于消息识别发送者。此外通信协议是这样设计的,使得消息是以传输环绕的形式交换。传输环绕的特征在于,在这种环绕中,每一计算机在没有差错的情形下从每一其它计算机接收消息。现在将参照图2以及图3a和3b更详细地说明“传输环绕”这一术语。
图2表示简化示出图1的分布式计算机网络VRNW中的传输环绕的过程。假设计算机R1分别向两个其它计算机R2和R3发送消息A和A’。消息A和A’可以是不同的或相同的。计算机R2和R3分别通过传输消息B,B’和C,C’响应消息A和A’的接收。这一结果是这样一种状态,即每一计算机已从每一其它计算机收到一消息。
然而消息的交换的实现是与所使用的通信协议相关的。图3a简略示出密耦合同步分布式计算机网络中传输环绕的过程。时间轴分为多个周期Zi,其限度在图3a中以灰色带条标出。在每一周期中,对每一计算机指定计算机可在其间通过通信链路发送消息的一时隙。为了指定给它们的时隙的定时,每一计算机必须有共同的时间基准。
在周期Zi中,第一时隙指定给计算机R1。从而它开始向其它两个计算机R2和R3发送消息。由于可能有不同的传播时延,由其它计算机R2和R3不是同时收到消息,但是仍然在指定给计算机R1的时隙内。周期Zi中,下一个时隙指定给计算机R2,该计算机现在向其它计算机,即向计算机R1和R3发送消息。计算机R3类似地进行。在周期Zi末尾,每一计算机已经收到来自每一其它计算机的消息。顺次的周期Zi+1和Zi+2遵循相同的模式。
图3b中所描述的传输环绕过程是基于虚拟同步、松散耦合分布式计算机网络的,它不需要公共的时间基准。在所示的实施例中,第一传输环绕i是由向两个其它计算机R2和R3发送消息的计算机R1起始的。一旦两个其它计算机R2和R3已经收到消息,它们又分别向其它两个计算机R1、R3和R1、R2发送消息。然而这里,没有固定计算机可在其间发送消息并在其内消息必须收到的时隙。计算机之间这样的耦合只是在计算机R2和R3以它们自身的消息的传输来响应来自计算机R1的消息的接收才存在。
在这一虚拟同步计算机网络中,当每一计算机已经收到来自其它每一计算机的消息时,传输环绕也就完成。这一时间点对每一计算机一般是不同的;这是由弯曲的垂直带条指示的。例如,如果计算机R3没有从计算机R2收到消息,直到经过定义的等待时间后,对计算机R3的传输环绕才完成。
在这一虚拟同步分布式计算机网络中,与上述同步计算机网络不同,任何计算机能够启动传输环绕。因而,例如如图2b所示,下一个传输环绕i+1能够由计算机R2启动。在这一传输环绕i+1中,计算机R1首先检测环绕的末尾。因而,虽然传输环绕n+1对其它两个计算机还没有完成,但它已经能够启动下一个传输环绕n+2。
根据本发明,每一传输环绕中,每一计算机评估从其它计算机收到的消息,并基于评估的结果,向每一其它计算机指定至少三个不同定义的计算机状态之一。在本发明的第一实施例中,收到的消息可指定以下三个类别之一:
(a)成员资格消息:是由作为成员的计算机发送的。当一成员已经收到消息,它以其自身的消息的传输在每一传输环绕中可靠地进行响应。
(b)申请消息:是由还不是成员但希望成为成员的计算机发送的。
(c)零消息:或者没有收到消息,或者接收计算机通过差错检测代码的评估确定收到的消息是不可靠的。
已经从其它一计算机收到消息的计算机,现将根据该消息属于这些类别的哪一个,向发送的计算机指定以下三个计算机状态之一:
(a)“成员”(简化为:m)。已经发送成员资格消息的计算机。
(b)“申请”(简化为:a)。已经发送申请消息的计算机。
(c)“非成员”(简化为:n)。已经发送零消息的计算机。
图4中所示的例子中,计算机R1已经开始传输环绕i,由虚线箭头指示。计算机R3是有故障的;因而,它既不向计算机R1发送消息,也不向计算机R2发送消息。计算机R1和R2把这解释为“零消息”,并从而向故障计算机R3指定状态“非成员”(n)。由于计算机R1和R2已经成功地交换了成员资格消息A和B,故它们彼此分类为“成员”(m)。此外,计算机R1和R2认为它们自身是成员。
这些计算机状态是由进入到分布式计算机网络的局部观察的每一计算机组成的。这样,由计算机R1在传输环绕i(简化为LSi,1)中确定的局部观察中,计算机R1和R2是成员(m),而计算机R3是非成员(n)。在图4中这以表达式LSi,1=mmn符号表示。由计算机R2在传输环绕i(简化为LSi,2)中确定的局部观察也是mmn。计算机R3已经收到来自所有其它计算机的成员资格消息,并能够把它自身和其它计算机看作是成员。然而,计算机R3可能恰好严重地出故障以至完全不能确定系统状态的的局部观察。因此,由计算机R3确定的局部观察由表达式“???”设定。
在下一个传输环绕i+1中,根据本发明,三个计算机Rx,x=1,2或3,交换由它们在环绕i中所确定的局部观察LSi,x。图5以简化的表示示出这一点。在传输环绕i中,只有计算机R1和R2,但不是故障的R3,发送消息。在传输环绕i+1中,计算机R1和R2发送消息通知接收者由发送者对先前传输环绕所确定的各局部观察。这样,在传输环绕i+1的末尾,两个计算机R1和R2的每一个具有其自身的观察和由其它各计算机确定的局部观察。由于计算机R3在传输环绕i+1中不发送消息,即使局部观察已经确定,但它不能通知其它计算机其系统状态的局部观察。
通过局部观察的交换,根据本发明的方法保证了在传输环绕i+1的末尾,至少每一功能正常的计算机保持着相同的局部观察。如果所有的计算机根据相同的规则从局部观察确定系统状态的全局观察,则可靠地保证了这些全局观察是相同的,因而是一致的。于是,以下对传输环绕i只谈及一个全局观察GSi
从各局部观察确定全局观察的一个可能的规则,是使局部观察经过简单多数判定。这意味着在全局观察中,对计算机指定计算机处于局部观察多数的计算机状态。在以上只有两个相同的局部观察的例子中,结果当然是:
Figure A9911036800101
其中大写字母表示全局观察中的计算机状态。如果有故障的计算机R3在传输环绕i+1中向两个其它计算机R1和R2发送其局部观察,这不会改变这些计算机的全局观察,因为它们仍然处于多数:
Figure A9911036800111
这还表示,在下一个传输环绕i+1完成之前,即在环绕i的局部观察被交换之前,不能确定传输环绕i中的系统状态的全局观察。
刚才解释的简单多数判定能够由更有资格的多数判定代替。例如,在带有五个计算机的分布式计算机网络中,能够同意,在全局观察中,只有如果不仅在三个局部观察中而且至少四个局部观察中为成员的计算机,才被看作是成员(M)。另一方面,在一定环境中,可能需要少于简单多数的判定;参见以下所述实施例,其中定义了四个计算机状态。
在确定全局观察中,不仅被交换的局部观察,而且正在进行的传输环绕的全局观察可被计算在内。例如可以同意,可以把那些只是在上次确定的全局观察中是成员的那些计算机的局部观察考虑在内。类似地,可以同意,根据上次确定的全局观察,计算机可以发送什么类别的消息。这一例子将在稍后说明。
根据本发明的过程最好扩展到所有的传输环绕,即在每一传输环绕中,在计算机之间交换局部观察。然而与各种应用有关,可以理解的一种情形是,只有响应特别的初始信号或在(多数)固定的区间(例如,每十个传输环绕),才进行局部过程的确定及其后继的交换。局部过程的交换不依赖于其它消息的交换。
在一优选实施例中,计算机之间交换的消息都具有图6所示的格式。每一消息包括含有以下信息的标题HEAD:
(a)消息类别NK;
(b)传输环绕的数目i;以及
(c)在传输环绕i中由计算机j确定的系统状态的局部观察LSi,j
如果由分布式计算机网络正在执行的应用程序需要,消息可以包含有效负载ND。例如图4中所示,如果计算机在传输环绕中向所有其它计算机发送消息A和A’,这些消息A和A’可能只是在它们的有效负载ND不同。然而标题HEAD在两个消息中必须相同,因为否则没有统一的相同状态观察可被确定。
故障容限
如图4所示,如果每一计算机在传输环绕中从每一其它计算机精确地接收一个消息,则根据本发明的上述方法能够用来可靠地确定系统状态的一致全局观察,如果能够对计算机中的故障指示以下两个错误类型之一:
1.计算机完全没有发送消息。
2.计算机发送错误消息,但错误本身对所有的计算机以相同方式显示。
根据本发明的方法能够有效地与通信协议一同使用,通信协议保证由任何计算机向其它计算机发送的数据包由那些其它计算机发送转发,使得在没有错误的情形下,每一其它计算机将接收这一数据包至少两次。对此现将参照图7更为详细地说明。在图7所示的分布式计算机网络中,计算机R1向计算机R2和R3发送标识消息A。计算机R2接收消息A,并向计算机R3不加改变地转发这一消息。计算机R3以相同的方式处理从计算机R1收到的消息。这样,每一计算机R2和R3接收消息A两次,即分别直接从计算机R1并间接地通过计算机R3和R2接收。
使用这一通信协议,即使计算机中的故障能够被指定为第三个错误类型,根据本发明的方法也能够用来确定系统状态的一致全局观察。如上述第二错误类型那样,在这一错误类型中,故障的计算机发送错误的消息。然而,故障本身可以向其它计算机以不同的方式显示(所谓Byzantine故障)。
这种故障的情形简略地示于图8。计算机R1有故障并产生不同的消息A和A’,而不是相同的消息。两个消息以“校正”差错检测代码提供,于是两个其它计算机R2和R3不能够检测到任何差错。然而如果通信协议以上述方式保证了消息被转发,然后例如计算机R2将确定直接从计算机R1收到的消息A与经由计算机R3收到消息A’不同。计算机R3将作出对应的判定。因为这一差异,在由两个功能正常的计算机R2和R3确定的局部观察中,计算机R1将被看作是非成员。在转发消息期间只是假设没有错误发生;否则对于计算机R2不能再区分计算机R1是否已经发送不同的消息,或者计算机R3是否已把从计算机R1收到的消息A破坏为消息A’。
如果使用这种通信协议,则即使计算机之间的通信链路有故障,也能确定系统状态的一致的全局观察。例如,如果图7中计算机R1和R2之间的链路失效,则两个受影响的计算机R1和R2能够通过计算机R3继续交换消息。如果在消息中另外又规定了消息已经采用的通路,那么明显地,所有的计算机能够确定哪一个通信链路出了故障。
四个计算机的状态
在一优选实施例中,对计算机指定四个而不是三个不同定义的状态。于是,有四个不同定义的消息类别:
(a)成员资格消息(简化为:mb):由作为成员的计算机发送。一成员当已经收到消息时,以自身消息的传输在每一传输环绕中可靠地响应。
(b)结合的消息(简化为:bind):由还不是成员但在全局观察中已经被看作申请者(见以下)的计算机发送。
(c)引导消息(简化为:boot):由处于引导过程或已经完成这种过程的计算机发送。
(d)零消息(简化为:null):或者没有收到任何消息,或者接收计算机已经通过评估错误检测代码确定,收到的消息被破坏。
以下的四个计算机状态对应于这些四个不同的消息类别:
(a)“成员”(简化为:m):已经发送成员资格消息的计算机。
(b)“初级成员”(简化为:p):已经发送结合消息的计算机。
(c)“申请者”(简化为:a):已经发送引导消息的计算机。
(d)“非成员”(简化为:n):已经发送零消息的计算机。
以下将通过例子说明这些消息类别和计算机状态以及从这些定义得到的优点的意义。
分布式计算机网络的引导
图9简略示出,在引导分布式计算机网络时,如何能够以四计算机状态确定系统状态一致的全局观察。在这一例子中,假设计算机R1首先引导,紧跟的是计算机R2,稍后是计算机R3。于是,第一传输环绕1以由计算机R1向其它计算机发送的引导消息(boot)开始。图9中,给出由计算机确定的各个消息类别NK以及各个局部观察LS。还给出由计算机确定的全局观察。
由于计算机R1没能从其它计算机收到任何消息,故向这些计算机指定状态“非成员”(n)。它把自身看作是申请者(a),因为它发送引导消息。由于还没有得到任何其它局部观察,多数判定自动产生最低可能的全局系统状态,即GS1=NNN。
在传输环绕2中,除了计算机R2之外计算机R1发送引导消息。因而,计算机R1和R2彼此指定状态“申请者”(a),于是局部观察为LS2,1=LS2,2=aan。从先前的传输环绕,只能得到一个局部观察,于是对局部观察的多数判定不能产生结果。因而,系统状态保持NNN。
在传输环绕3,计算机R1和R2再次发送引导消息,并交换在先前的传输环绕2中所确定它们的局部观察。由于这两个局部观察等同,故两个计算机都确定全局观察为GS3=AAN。
由于在全局观察中两计算机R1和R2都是申请者,它们能够在下一个传输环绕即环绕4中发送结合的消息(bind)。在收到结合的消息时,计算机R1和R2彼此指定计算机状态“初级成员”(p),于是由这两个计算在传输环绕5中交换的局部观察为LS4,1=LS4,2=ppn。
在传输环绕5中,由于在先前确定的全局观察中它们仍然是申请者(A),故计算机仍然发送结合消息。等同的局部观察LS4,1=LS4,2=ppn结果是全局观察GS3=PPN。在传输环绕5中,计算机R3第一次发送引导消息,于是在下一个传输环绕即环绕6的末端,在全局观察中已经被看作是申请者(A)。在这一传输环绕中,两个计算机R1和R2能够第一次发送成员资格消息,因为在先前的传输环绕中,它们在全局观察中被看作是初级成员。在传输环绕7中,两个计算机R1和R2在全局观察中都是成员。分布式计算机网络现在具有多数成员。
这例子说明了,其中计算机能够从传输环绕到传输环绕逐步上升的计算机状态的分层结构,是如何由根据本发明的方法生成的。在刚才解释的例子中,只有局部观察的多数一致,在全局观察中计算机才将上升。然而如果在较高层次由在全局观察中看作是成员的单一计算机看到时,计算机在全局观察中已经上升,则这可能是有利。只有对上升到全局最高层次(M)仍然需要多数表决。这样,层次的上升在很多情形下能够加速。
如果发现计算机有故障,则最好在由计算机确定的局部观察中同意,立即下降到最低计算机状态,即非成员状态(n)。逐步下降也是可用的。计算机必须下降到什么层次,例如能够依照已经发生的故障类型作出,如果能够确定这种类型。
各计算机被接纳(Re)到分布式计算机网络类似于刚刚描述的顺序。然而最后引导的计算机R3被接纳到计算机网络能够借助于图9被推导出。在传输环绕8中(未示出),计算机R3再次发送结合消息(bind)。在这一环绕的末尾,在全局观察中已经把它看作是初级成员(p)。在传输环绕9中,计算机R3发送成员消息(mb),并在下一个环绕即环绕10中,在全局观察中它被看作是成员(m)。
应当理解,根据本发明的方法的使用不限于所描述的三个计算机的计算机网络。这方法特别的优点在于,就计算机的数目和类型、支撑的通信协议、及计算机系统可能的应用而言,非常的灵活。特别地,对计算机既不要求特定的硬件,也不要求特定的操作系统。

Claims (12)

1.一种确定包含至少三个计算机(R1,R2,R3)的分布式计算机网络(VRNW)的系统状态的一致全局观察(GS)的方法,其特征在于,
(a)计算机通过通信链路(KV12,KV13,KV32)按顺序传输环绕交换消息,每一计算机在每一传输环绕中在没有差错时从每一其它计算机接收消息,
(b)在每一传输环绕中,每一计算机评估从其它计算机收到的消息,并基于评估的结果,向每一其它计算机指定至少三个不同定义的计算机状态之一,并从其确定系统状态的局部观察(LSi,j),以及
(c)计算机交换由它们确定的系统状态的局部观察,且每一计算机从交换的局部观察确定系统状态的一致的全局观察。
2.如权利要求1中所述的方法,其中消息至少包含以下的信息:
(a)消息类别(NK);
(b)消息被发送的传输环绕的数目(i);
(c)由发送计算机确定的系统状态的局部观察(LSi,j)。
3.如以上权利要求任何之一所述的方法,其中系统状态的全局观察的确定还考虑先前的传输环绕的全局观察。
4.如以上权利要求任何之一所述的方法,其中系统状态的全局观察的确定涉及关于各局部观察的多数判定。
5.如以上权利要求任何之一所述的方法,其中由任何计算机发送到其它计算机的消息由所述其它计算机转发,其转发方式为,在没有差错的情形下,每一其它计算机将接收所述消息至少两次。
6.如以上权利要求任何之一所述的方法,其中每一传输环绕包括以下步骤:
(a)任何一计算机(图2中的R1)在其初始向分布式计算机网络中每一其它计算机(R2,R3)发送数据包(A,A’);以及
(b)每一其它计算机(R2,R3)在可预定的时间周期内,以向计算机网络中所有其它计算机传输其自身的数据包(B,B’;C,C’),响应数据包(A,A’)的接收。
7.一种包含至少三个计算机(R1,R2,R3)的分布式计算机网络(VRNW)和用于确定计算机网络系统状态的一致全局观察(GS)的装置,
其特征在于
(a)提供通信链路(KV12,KV13,KV32),计算机通过该链路按顺序传输环绕交换消息,每一计算机在每一传输环绕中在没有差错时从每一其它计算机接收消息,
(b)每一计算机具有一处理器,该处理器评估从其它计算机在一传输环绕中收到的消息,并基于评估的结果,向每一其它计算机指定至少三个不同定义的计算机状态之一,并从其确定系统状态的局部观察(LSi,j),以及
(c)各处理器引起计算机交换由它们确定的系统状态的局部观察,并从交换的局部观察确定系统状态的一致的全局观察。
8.如权利要求7中所述的分布式计算机网络,其中消息至少包括以下信息:
(a)消息类别(NK);
(b)消息被发送的传输环绕的数目(i);
(c)由发送计算机确定的系统状态的局部观察(LSi,j)。
9.如权利要求7或8中所述的分布式计算机网络,其中在确定系统状态的全局观察中处理器考虑先前的传输环绕的全局观察。
10.权利要求7到9任何之一中所述的分布式计算机网络,其中处理器通过多数性表决确定系统状态的全局观察。
11.如以上权利要求7到10任何之一所述的分布式计算机网络,其中由任何计算机发送到其它计算机的数据包由所述其它计算机转发,其转发方式为,在没有差错的情形下,每一其它计算机将接收所述数据包至少两次。
12.如以上权利要求7到11任何之一中所述的分布式计算机网络,其中每一传输环绕包括以下步骤:
(a)任何一计算机(图2中的R1)在其初始向分布式计算机网络中每一其它计算机(R2,R3)发送数据包(A,A’);以及
(b)每一其它计算机(R2,R3)在可预定的时间周期内,以向计算机网络中所有其它计算机传输其自身的数据包(B,B’;C,C’),响应数据包(A,A’)的接收。
CN99110368.8A 1998-07-15 1999-07-15 确定分布式计算机网络系统状态一致全局观察的方法及装置 Expired - Lifetime CN1252614C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19831720.4 1998-07-15
DE19831720A DE19831720A1 (de) 1998-07-15 1998-07-15 Verfahren zur Ermittlung einer einheitlichen globalen Sicht vom Systemzustand eines verteilten Rechnernetzwerks

Publications (2)

Publication Number Publication Date
CN1245314A true CN1245314A (zh) 2000-02-23
CN1252614C CN1252614C (zh) 2006-04-19

Family

ID=7874114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99110368.8A Expired - Lifetime CN1252614C (zh) 1998-07-15 1999-07-15 确定分布式计算机网络系统状态一致全局观察的方法及装置

Country Status (6)

Country Link
US (1) US6574744B1 (zh)
EP (1) EP0974901B1 (zh)
CN (1) CN1252614C (zh)
AT (1) ATE451648T1 (zh)
CA (1) CA2277560A1 (zh)
DE (2) DE19831720A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101686141B (zh) * 2008-09-28 2012-01-04 华为技术有限公司 一种实现已读状态同步的方法及设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088142A2 (en) * 2002-04-10 2003-10-23 Instasolv, Inc. Method and system for managing computer systems
US7840856B2 (en) * 2002-11-07 2010-11-23 International Business Machines Corporation Object introspection for first failure data capture
US20040254984A1 (en) * 2003-06-12 2004-12-16 Sun Microsystems, Inc System and method for coordinating cluster serviceability updates over distributed consensus within a distributed data system cluster
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US20050149809A1 (en) * 2003-12-10 2005-07-07 International Business Machines Corporation Real time determination of application problems, using a lightweight diagnostic tracer
US7260743B2 (en) 2004-01-13 2007-08-21 International Business Machines Corporation System and method for achieving autonomic computing self-healing, utilizing meta level reflection and reasoning
US7218708B2 (en) * 2004-03-12 2007-05-15 Honeywell International, Inc. Internet facilitated emergency and general paging system
US9542076B1 (en) * 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
GB2417868A (en) * 2004-09-04 2006-03-08 Hewlett Packard Development Co An asynchronous distributed system with a synchronous communication subsystem which facilitates the generation of global data
WO2008094508A2 (en) 2007-01-26 2008-08-07 Fusionone, Inc. System for and method of backing up content for use on a mobile device
US9374242B2 (en) * 2007-11-08 2016-06-21 Invention Science Fund I, Llc Using evaluations of tentative message content
US8682982B2 (en) 2007-06-19 2014-03-25 The Invention Science Fund I, Llc Preliminary destination-dependent evaluation of message content
US8984133B2 (en) 2007-06-19 2015-03-17 The Invention Science Fund I, Llc Providing treatment-indicative feedback dependent on putative content treatment
US8065404B2 (en) * 2007-08-31 2011-11-22 The Invention Science Fund I, Llc Layering destination-dependent content handling guidance
US8082225B2 (en) * 2007-08-31 2011-12-20 The Invention Science Fund I, Llc Using destination-dependent criteria to guide data transmission decisions
US7930389B2 (en) * 2007-11-20 2011-04-19 The Invention Science Fund I, Llc Adaptive filtering of annotated messages or the like
CN102122254A (zh) * 2011-02-25 2011-07-13 南京大学 一种基于逻辑时钟的智能空间感知方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE246218C (zh) *
DE674601C (de) * 1936-12-29 1939-04-18 Siemens & Halske Akt Ges Gas- oder dampfgefuelltes Entladungsgefaess
DE2202231A1 (de) * 1972-01-18 1973-07-26 Siemens Ag Verarbeitungssystem mit verdreifachten systemeinheiten
CH556576A (de) * 1973-03-28 1974-11-29 Hasler Ag Einrichtung zur synchronisierung dreier rechner.
US4375683A (en) * 1980-11-12 1983-03-01 August Systems Fault tolerant computational system and voter circuit
AU549343B2 (en) * 1981-06-08 1986-01-23 British Telecommunications Public Limited Company Phase locking
JPS5985153A (ja) * 1982-11-08 1984-05-17 Hitachi Ltd 冗長化制御装置
JPS6171750A (ja) * 1984-09-17 1986-04-12 Kokusai Denshin Denwa Co Ltd <Kdd> プロトコル検証回路
US4967347A (en) * 1986-04-03 1990-10-30 Bh-F (Triplex) Inc. Multiple-redundant fault detection system and related method for its use
ATE93332T1 (de) * 1986-05-14 1993-09-15 Alcatel Austria Ag Fehlertolerantes datenverarbeitungssystem.
US4756019A (en) * 1986-08-27 1988-07-05 Edmund Szybicki Traffic routing and automatic network management system for telecommunication networks
NL8602636A (nl) * 1986-10-21 1988-05-16 H C S Technology B V Logische stem-schakeling.
US4907232A (en) * 1988-04-28 1990-03-06 The Charles Stark Draper Laboratory, Inc. Fault-tolerant parallel processing system
US5438680A (en) * 1988-04-29 1995-08-01 Intellectual Properties And Technology, Inc. Method and apparatus for enhancing concurrency in a parallel digital computer
JPH0234059A (ja) * 1988-07-25 1990-02-05 Mitsubishi Electric Corp ノード装置の処理方式
US5327553A (en) * 1989-12-22 1994-07-05 Tandem Computers Incorporated Fault-tolerant computer system with /CONFIG filesystem
US5157667A (en) * 1990-04-30 1992-10-20 International Business Machines Corporation Methods and apparatus for performing fault isolation and failure analysis in link-connected systems
CA2068048A1 (en) * 1991-05-06 1992-11-07 Douglas D. Cheung Fault tolerant processing section with dynamically reconfigurable voting
US5339404A (en) * 1991-05-28 1994-08-16 International Business Machines Corporation Asynchronous TMR processing system
US5535217A (en) * 1994-12-20 1996-07-09 International Business Machines Corporation Method and apparatus for probabilistic clock synchronization with interval arithmetic
US5761439A (en) * 1995-09-25 1998-06-02 Intel Corporation Method and apparatus for synchronizing communications between networked computers
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
DE19620622A1 (de) * 1996-05-22 1997-11-27 Siemens Ag Verfahren zur Synchronisation von Programmen auf unterschiedlichen Computern eines Verbundes
US6370571B1 (en) * 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
DE19740136A1 (de) 1997-09-12 1999-03-18 Alsthom Cge Alcatel Verfahren zur Isolation eines defekten Rechners in einem fehlertoleranten Mehrrechnersystem
DE19742918A1 (de) 1997-09-29 1999-04-01 Cit Alcatel Verfahren zum Austausch von Datenpaketen innerhalb eines sicheren Mehrrechnersystems
US6035416A (en) * 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
DE19745438A1 (de) 1997-10-15 1999-04-22 Cit Alcatel Verfahren zur Fehlerprüfung von echtzeitfähiger Systemsoftware
DE19745963A1 (de) 1997-10-17 1999-04-22 Cit Alcatel Rechnerknotennetzwerk für den Datenaustausch zwischen Rechnerknoten in sicherheitskritischen Anwendungen sowie Verfahren hierfür
DE19745994A1 (de) 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
US6442694B1 (en) * 1998-02-27 2002-08-27 Massachusetts Institute Of Technology Fault isolation for communication networks for isolating the source of faults comprising attacks, failures, and other network propagating errors
US6223304B1 (en) * 1998-06-18 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of processors in a fault tolerant multi-processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101686141B (zh) * 2008-09-28 2012-01-04 华为技术有限公司 一种实现已读状态同步的方法及设备

Also Published As

Publication number Publication date
EP0974901B1 (de) 2009-12-09
US6574744B1 (en) 2003-06-03
DE19831720A1 (de) 2000-01-20
CN1252614C (zh) 2006-04-19
DE59915108D1 (de) 2010-01-21
ATE451648T1 (de) 2009-12-15
EP0974901A2 (de) 2000-01-26
EP0974901A3 (de) 2004-12-15
CA2277560A1 (en) 2000-01-15

Similar Documents

Publication Publication Date Title
CN1252614C (zh) 确定分布式计算机网络系统状态一致全局观察的方法及装置
CN1086237C (zh) 轮询多个互联设备的方法及数据通信网
CN1207674C (zh) 在分布式计算环境中进行拓扑传播的方法和系统
US7697538B2 (en) Data transfer method and automation system used in said data transfer method
CN87103334A (zh) 利用发送和等待规程进行双工传输数据的方法
Talbot et al. Comparision of fieldbus systems can, ttcan, flexray and lin in passenger vehicles
CN1088033A (zh) 在寄存器型无线设备间传送可变长度消息的方法和装置
CN101078922A (zh) 用于将多信道消息转换成单信道安全消息的方法和设备
EP0580938B1 (en) Duplex communication control device
CN1969236A (zh) 数据传输方法及使用此种数据传输方法的自动化系统
CN1104355A (zh) 相交电缆检测系统
JPH0654911B2 (ja) マスターシップを転送する方法および装置
CN114500151A (zh) 一种基于can总线的运动控制通讯系统及通讯方法
JP2019097088A (ja) シリアル通信システム
US6252874B1 (en) Ethernet card and ethernet card improvement methods
US4910732A (en) Onechip-computers as network-controller and computer
US10459816B2 (en) Communication setting notification apparatus
US7317690B2 (en) Method of constructing network topology and interface circuit
JPH0828722B2 (ja) データ伝送制御方式
CN107659413B (zh) 小型通信设备
EP0507540A2 (en) Method for operating a networked computer system to minimize data conversion overhead
CN100518041C (zh) 监测数据传输的方法和装置
EP0483433A1 (en) Initialization method for the initialization of secondary stations in an information processing system
Bridal et al. On the design of communication protocols for safety-critical automotive applications
JP4570753B2 (ja) エラーコード送出装置および方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060419