CN1207674C - 在分布式计算环境中进行拓扑传播的方法和系统 - Google Patents
在分布式计算环境中进行拓扑传播的方法和系统 Download PDFInfo
- Publication number
- CN1207674C CN1207674C CNB011208244A CN01120824A CN1207674C CN 1207674 C CN1207674 C CN 1207674C CN B011208244 A CNB011208244 A CN B011208244A CN 01120824 A CN01120824 A CN 01120824A CN 1207674 C CN1207674 C CN 1207674C
- Authority
- CN
- China
- Prior art keywords
- node
- mentioned
- group
- connection message
- computing environment
- 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 - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 230000008859 change Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
提供一个在分布式计算环境中的不同结点上维护一个公共网络拓扑数据库的拓扑传播设施。当分布式计算环境处于稳定状态时该设施不产生消息传输。通过在分布式计算环境内部没有拓扑改变的时间段内停止上述分组连接消息的发送来实现这个目标。当组头结点发现分布式计算环境内部的至少一个拓扑改变时从至少一个组头结点重新开始发送分组连接消息。分布式计算环境的网络可以包括异构网络以便所提供的拓扑传播设施有利于网络的互操作性。
Description
发明领域
本发明涉及通信网络,更具体地是涉及一种在分布式计算环境内的不同结点上维护一个公共网络拓扑数据库的技术,其中在分布式计算环境处于稳定状态时拓扑传播设施不产生消息传输。
背景技术
通信网络通常可以被定义成通过通信链路或传输组互连的网络结点和端结点的集合。网络结点可以被概括成一个数据处理系统,该数据处理系统在网络内部提供某些功能,例如在其自身及其邻近或相邻结点之间路由消息,选择在一个网络结点和一个端结点之间发送消息的路由以及为连接的端结点提供目录服务。结点之间的链路可以是诸如常规电缆连接的固定通信链路或仅在必要时才允许接通的链路,例如拨号电话连接。端结点具体表现为显示终端,智能工作站,打印机和不为网络中其它结点提供路由、路由选择或目录服务的类似设备。网络结点,端结点和结点之间的传输组均被称作网络资源。网络中各种结点和链路的物理结构和特征(及其状态)被称作网络的拓扑。
在可以在任何网络中的任何两个结点之间发送消息之前,一个负责建立连接的操作人员或数据处理设备需要有关网络拓扑的精确并且最新的文件或数据库。
已经成功地使网络设备自身在没有人工干预的情况下完成维护拓扑数据库的任务。例如,执行通信控制功能的各个处理器可以向其它处理器通知其资源状态的变化情况。其它处理器使用这些拓扑更新消息修正或改变其自己的拓扑网络数据库的副本。
在一个分布式计算系统中,若干网络可以连接包括该系统的结点。可能不是所有的结点被连接到所有网络,并且在任何两个未被连接到相同网络的结点之间发送消息可能需要多个″转发段″。为此,系统内所有结点必须知道当前的全局网络拓扑。拓扑信息包含被连接到系统中各个网络的结点和网络适配器的集合,以及没有被连接的适配器和网络的集合。每当一个结点,网络或网络适配器出现故障或启动时均会改变拓扑信息。通过使用全局网络拓扑,各个结点能够计算可达结点的集合和到达各个可达结点的路由。
本领域需要一种向系统中所有结点传播全局拓扑信息的增强技术。更具体地,需要一种当系统处于稳定状态时,即在没有结点或网络适配器出现故障或启动时保证在分布式计算环境内部没有拓扑消息传播的增强拓扑传播技术。最好在不使用显式消息确认的情况下实现这种增强技术。本发明就是要提供这种拓扑传播机制。
发明内容
概括地讲,本发明在一个方面包括一个在分布式计算环境中进行拓扑传播的方法。该方法包含:从至少一个组头结点向分布式计算环境内至少一个结点组的指定结点发送组连接消息;在分布式计算环境内没有拓扑改变的时间段内停止发送组连接消息;在识别出分布式计算环境内部的拓扑改变时从至少一个组头结点重新开始发送组连接消息。
在另一方面,该方法包含一个在分布式计算环境内进行拓扑传播的系统。该系统包含从至少一个组头结点向分布式计算环境内至少一个结点组的指定结点发送组连接消息的装置;在分布式计算环境内没有拓扑改变的时间段内停止发送组连接消息的装置。该系统还包含在至少一个组头结点识别出分布式计算环境内部的拓扑改变时从至少一个组头结点重新开始发送组连接消息的装置。
在另一个方面,本发明包含至少一个机器可读程序存储设备,该设备实际包含至少一个可被机器运行以便执行在分布式计算环境中进行拓扑传播的方法的指令程序。该方法包含:从至少一个组头结点向分布式计算环境内至少一个结点组的指定结点发送组连接消息;在分布式计算环境内没有拓扑改变的时间段内停止发送组连接消息;在识别出分布式计算环境内部的拓扑改变时从至少一个组头结点重新开始发送组连接消息。
换言之,这里提供了一个拓扑传播设施,其中在使用该设施的分布式计算环境处于稳定状态时该设施不产生消息传输。当没有故障结点,网络适配器或网络连接,或者当前没有正在启动的结点,网络适配器或网络连接时,该环境处于稳定状态。最好在不对拓扑消息传输使用显式消息确认的情况下实现拓扑传播设施。这里提供的拓扑传播方案在分布式计算环境中工作,其中与假定双结点链路的现有传播技术相反,分布式计算环境包括多个网络和多个适配器。并且,这里提供的方案在不可靠的网络中也可以很好地工作,即不需要点到点确认。并且,这里提供的方法为一个正在分布式计算环境内部启动的结点提供了自动网络拓扑传输。
通过本发明的技术还可以实现额外的特性和优点。在这里详细描述了本发明的其它实施例和方面并且这些实施例和方面被当作本发明权利要求的一部分。
附图说明
通过下面结合附图对本发明某些最优实施例进行的详细描述可以理容易地理解本发明的上述目标,优点和特性,其中:
图1是有关一个使用基于本发明的拓扑传播设施的典型通信网络的图例;
图2A-2F描述了被分布式处理系统中多个结点使用的JOIN协议的一个实施例,其中图2A描述了一个PROCLAIM消息,图2B描述了一个JOIN消息,图2C描述了一个准备提交(PTC)消息,图2D描述了一个准备提交确认(PTC ACK)消息,图2E描述了一个提交广播(COMMIT_BCAST)消息,而图2F描述了一个COMMIT消息和一个提交广播确认(COMMIT_BCAST_ACK)消息;
图2G描述了在完成图2A-2F的JOIN协议之后构成的一个新的结点组;
图3A-3C描述了被分布式处理系统的多个结点使用的DEATH协议的一个实施例,其中图3A描述了呈心跳(heartbeat)环形的组初始状态,图3B描述了发现一个结点无应答并且相应发送一个DEATH消息的情况,而图3C描述了从组头结点(GL)发送到组内幸存结点的新的准备提交(PTC)消息;
图4A-4C描述了用于包括两个结点网络的分布式计算环境的结点可达性协议的一个实施例,其中图4A描述了向网络1的组头结点发送一个NODE_CONNECTIVITY消息的情况,图4B描述了从组头结点向组内结点发送一个GROUP_CONNECTIVITY消息的情况,而图4C描述了从结点2通过其适配器向分布式计算环境的网络2的结点4& 5传递GROUP_CONNECTIVITY消息的情况;
图5A描述一个使用基于本发明原理的消息传播设施的初始分布式计算环境;
图5B描述了图5A的分布式计算环境的结点5上的初始网络连接表(NCT);
图5C描述了结点2从图5A的适配器成员组(AMG)消失从而产生新的成员组AMG A_2的情况;
图5D描述了结点5上的NCT,其中结点5被连接到网络2并且与结点2的消失相对应;
图5E描述了图5C的分布式计算环境,其中从新的适配器成员组A_2的的组头结点向其活跃成员传播一个组连接消息(GCM),并且由结点3向网络2上的AMG B-1的结点5 & 6传递这个GCM;
图5F描述了在接收到图5E的结点3传递的GCM时结点5上的NCT的情况;
图6A是有关分布式计算环境一个使用基于本发明原理的拓扑传播的实施例的图例,其中结点2正等候启动;
图6B描述了在等待结点2启动时结点5和结点2上的NCT的情况;
图6C描述了在结点2启动并且构成新AMG A_2之后图6A的分布式计算环境的情况;
图6D描述了在结点2启动时但在更新各个结点上的NCT之前结点5上的NCT和结点2上的NCT的情况;
图6E描述了图6C的分布式计算环境,其中由AMG A_2的组头结点发送一个GCM并且由结点3向结点5&6传递上述GCM;
图6F描述了在从GL1发送GCM之后结点5上的NCT和结点2上的NCT的情况;
图6G描述了图6E的分布式计算环境,其中从GL2(即结点6)发送一个GCM并且由结点3传递到结点2&1;
图6H描述了在GL2公布GCM之后结点5上的NCT和结点2上的NCT的情况;和
图7是一个针对组头结点的状态图,上述组头结点实现了基于本发明原理的拓扑传播设施。
具体实施方式
概括地讲,这里提供了一个向分布式计算环境内的所有结点传播全局拓扑信息的设施,上述分布式计算环境包含一个具有多个通信网络的异构环境。这种机制允许各个结点获得系统拓扑的全局视图,其中包含有关停止工作的网络适配器和属于被分割的网络的结点的信息。当全局拓扑停止改变时,系统内的所有结点会立即具有一个相互一致的拓扑视图。有利的是,当系统处于稳定状态时,即在没有结点或网络适配器出现故障或被加到环境中时不发送拓扑传播消息。并且在不使用显式消息确认的情况下实现这种拓扑传播。
正如这里所使用的,每个网络均构成一个适配器成员组(AMG),其中一个结点被选作组头结点(GL)。GL和组成员周期性地彼此发送拓扑传播消息。在需要时这些传播消息被从一个网络传递到其它网络。使用停止准则以便当在分布式计算环境中没有发生改变时不交换消息。还提供恢复准则以便当在分布式中发生改变时恢复拓扑传播消息传送。
这里在国际商用机器公司的″可靠可伸缩集簇技术″(RSCT)拓扑服务(参照″RS/6000高可用性基础设施″,国际商业机器公司出版物第SG24-4838-00号(″红皮书″)1996)的环境中描述拓扑传播设施,上述拓扑传播设施是一个负责监视分布式计算系统中结点和网络适配器的良好状态的子系统。该子系统存在于国际商业机器公司RS/6000SP系统或RS/6000机器的网络中。该子系统被用作需要对失败结点和网络拓扑中其它变化作出反应的分布式应用的基础。
图1描述了通常表示为10的分布式计算环境的一个例子,其中示出了通过多个网络14在多个结点12之间建立的物理连接。每个结点12均通过一个唯一的网络适配器16被连接到一个不同的网络14。如图所示,不同的结点12可以具有不同数量的网络适配器并且被连接到不同的网络14。在分布式计算环境10中,各个结点12可以直接通过一个共享网络彼此通信,或者以通过两个网络的一个公共结点从一个网络″跳跃″到另一个网络的方式彼此通信。假定分布式计算环境10包括一个可能在传输中损失消息的不可靠计算环境。
如上所述,一个结点可以具有多个适配器,每个适配器均被连接到一个不同的网络。(网络可以包括一个或多个子网;并且网络可以或不可以被连接到其它网络。)由于各个AMG包括网络中可以彼此通信的所有″启动″适配器,所以在″启动″的情况下一个结点中的各个适配器会属于一个不同的″适配器成员组(AMG)″。
在逻辑上″适配器″是网络的一个组头结点(GL):一个结点可以具有一个在网络中是组头结点的适配器和另一个在其网络中不是组头结点的适配器。另一方面,由结点而不是适配器运行拓扑服务守护程序,其中实现了协议。守护程序以逐个适配器的方式实现协议。
为了简化描述,在图2A-3C中通过一个单网络设置解释适配器成员协议。 在这个设置中,把″结点″看作组头结点会更加简单。然而在多网络环境中,把″适配器″看作组头结点会更加精确。根据使用情况,当结点被称作组头结点时术语″结点″应当包含其″适配器″。
在一个实施例中,各个结点运行一个拓扑服务″守护程序″进程。这个进程完成本发明的拓扑传播设施的某些方面的处理,其中包含:(1)发送和接收协议消息;和(2)存储关于到网络的连接的全局网络拓扑和信息,其中所有结点的网络适配器均被连接到上述网络。
为了监视各个网络中适配器的状况和连接,网络中的所有适配器应当试图构成一个″适配器成员组″(AMG),AMG是一个包含网络中所有可以彼此通信的网络适配器的分组。
注意各个结点可以属于若干个AMG,其中每个网络适配器属于一个AMG。
为了确定在各个网络中工作的适配器的集合,在各个网络中运行一个适配器成员协议。
如下所述,处于工作状态的适配器构成一个适配器成员组(AMG),其中成员被组织成虚拟环形拓扑(仅用于举例)。为了保证所有组成员均处于工作状态,各个组成员周期性地向其″下行相邻成员″发送″HEART BEAT″消息并且监视来自其″上行相邻成员″的″HEART BEAT″消息。当适配器出现故障或新适配器开始工作时运行上述协议。这种协议的目标是保证成员组在各个时刻均包含所有可以彼此通信的适配器。
每个分组具有一个″组头结点″(GL)和一个″备份组头结点″。组头结点负责协同组协议,而备份组头结点负责在组头结点适配器出现故障时取得组头地位。根据预定适配器优先权规则选择组头结点与备份组头结点以及适配器在环形拓朴中的位置,其中可以选择适配器的IP地址作为优先权规则。例如,一个较高的IP地址具有较高的优先级。
在所有结点启动和重新配置时读取的配置文件中包含一列在各个网络中所有可能的适配器。
参照图2A-2G,为了把新成员吸收到分组中,各个分组中的组头结点周期性地向处于适配器配置中但不属于组的适配器发送″PROCLAIM″消息(参见图2A)。这些消息只被发送到IP地址低于发送器的IP地址的适配器。
″PROCLAIM″消息被所有不是组头结点的适配器所忽略。如图2B所示,一个从较高优先级(较高IP地址)结点接收″PROCLAIM″消息的组头结点用一″JOIN″消息代表其分组作出应答。该消息包含″加入分组″的成员列表。
一个接收到″JOIN″消息的结点(图2B中的GL1)会试图构成一个新的,含有以前的成员加上加入分组中所有成员的分组(参见图2C)。通过向新分组的所有成员发送一个″PTC″(″准备提交″)消息来完成这个操作。
接收到″PTC″消息的结点用一个如图2D所示的″PTC_ACK″消息作出答复。从其接收到″PTC_ACK″消息的所有结点被包含在新分组中。组头结点(GL1)向所有新的组成员发送一个包含全部分组成员列表的″COMMIT″消息。参照图2E,为了加速″COMMIT″消息的传输,一个″COMMIT_BCAST″消息被组头结点发送到少数被称作″市长″12的结点,并且各个市长结点会向其负责的子分组内的所有成员发送″COMMIT″消息(参见图2F)。(由于假定网络是不可靠的,在没有接收到确认的情况下若干次重复发送类似″PTC″,″COMMIT_BCAST″和″COMMIT″的消息。)
接收到一个″COMMIT″消息表明跃迁到新的分组(如图2G所示),新的分组现在包含老成员加上新加入的成员。在接收到这个消息之后,各个组成员开始向其(可能是新的)下行相邻成员发送″HEARTBEAT″消息。
当初始化一个结点时,该结点用其每个适配器构成一个单适配器组(其结点是组头结点)。该结点接着开始发送和接收″PROCLAIM″消息。
现在参照图3A-3C,一个结点会监视来自其″上行相邻成员″(分组中其IP地址在组成员中间为次最高的适配器)的″HEART BEAT″消息20(参见图3A)。当在某个预定时间段内没有接收到″HEARTBEAT″消息时,假定″上行相邻成员″出现故障。接着向组头结点发送一个请求构成新分组的″DEATH″消息(参见图3B)。
当接收到一个″DEATH″消息时,组头结点试图构成一个新分组,该分组包含当前分组中除被检测为出现故障的适配器以外的所有适配器。如图3C所示,组头结点向新分组的所有成员发送一个″PTC″消息。接着协议按照与前面针对JOIN协议描述的顺序相同的序列继续进行。
一个结点可达性协议被用来允许计算从一个本地结点可达的(因此被认为是正在工作的)结点集合。由于不是所有结点可以被连接到相同的网络,某些结点只有通过一个多网络转发段序列才可以到达。只有在考虑到关于所有网络的信息,甚至是不覆盖所有结点的信息时才可以计算结点可达性。
为了计算结点可达性,使用一个最终一致协议:各个网络上的可达性信息被传送到所有网络;当网络拓扑停止改变时,所有结点最终会具有关于所有网络的一致信息。各个结点接着会能够独立计算出可达结点集合并且达成一个一致的结果。
结点周期性地发送下列消息,直到停止准则指示守护程序停止下来:
从所有组成员向GL发送一个″结点连接消息″(NCM或NODE_CONNECTIVITY)(参见图4A)。指定网络的一个NCM包含该网络的AMG标识加上被禁止的本地适配器的所有″禁止AMG标识″。一个结点必须向本地适配器所属的分组的各个GL发送NCM。
GL在一个″结点连接表″(NCT)中存储来自NCM的全部信息。NCT存储全局网络拓扑(的本地视图)并且包含系统中各个结点和网络适配器的AMG标识。假定任何两个具有相同AMG标识的结点均通过相同的网络彼此连接。
从各个GL向所有组成员发送一个″分组连接消息″(GCM或GROUP_CONNECTIVITY)(参见图4B)。GCM包含AMG标识和属于AMG的结点列表。并且,对于所有这些结点,包含一个有关(其它网络中)所有″禁止AMG标识″的列表。从GL的NCT中提取出发送GCM所需的信息。
一个接收到GCM的结点用消息中的信息更新其拥有的NCT。如果一个接收GCM的守护程序注意到存在某些本地适配器所属的、其成员不会接收到该GCM的分组,则守护程序向这些分组传递GCM(参照图4C中的结点2)。目标是向系统中所有结点传送GCM,甚至包括不与发出GCM的网络直接连接的结点。
在图4C中,由结点2或结点3通过网络2向结点4和5传递针对AMG_1的GCM。
注意通过一个NCM和GCM发送的信息是发送方的NCT的一个子集。
根据本发明,如果GL发送的对应GCM已经反映了通过以前的NCM从一个结点发送到GL的信息,则该结点可以停止发送针对一个指定网络的NCM。通过比较针对本地结点在上次的NCM中发送的信息和在新进入的GCM中发送的信息可以实现这种操作。
当GCM信息与本地信息冲突或守护程序检测到一个本地适配器与之连接的某些网络具有一个新的AMG标识时(通过比较GCM中的信息和NCT中存储的信息可以检测到后一种情况),在所有分组中恢复发送NCM。当检测到一个本地适配器被禁止时也对NCM加以恢复。
由于假定至少某些GCM会到达系统内的所有(在线)结点,所以在发送固定数量的GCM之后,一个结点可以停止发送GCM。当构成一个新的AMG标识时由一个GL恢复发送GCM,当一个新适配器加入分组或从分组中消除一个现有成员时会发生这种情况。 为了允许最近启动的结点获得所有需要的GCM,一个结点当其接收到任何与接收结点的NCT发生冲突的GCM或NCM时也会恢复发送GCM(固定次数)。另外,当其一个适配器被移到″禁止″状态时,一个结点会恢复发送GCM。
这个机制(如图6A-6H中的一个例子所示)按照下列方式工作:
-一个结点启动,并且开始执行其守护程序;
-该结点的适配器加入若干AMG;
-针对新构成的AMG由其各自的GL发送GCM;
-GCM直接或通过使用GCM传递机制到达所有的在线结点;
-由于到达的GCM包含关于一个新构成的分组的信息并且导致NCT的内容发生改变,所有接收新GCM的GL恢复发送其GCM;
-最近启动有结点从所有分组获得GCM。
假定在所有结点均启动的情况下所有结点均会得到一个GL发送的GCM中的至少一个(并且根据需要被传递到其它网络)。如果一个结点此时没有启动,由于在结点变成可工作时会使用恢复准则,所以稍后在该结点启动时该结点会得到GCM。
当一个结点的任何适配器变成被禁止时,NCM和GCM在该结点上的传送均被恢复。这与在一个结点发现拓扑改变时恢复GCM的策略是一致的。
下列原因解释了为什么至少一个GCM应当以较高的可能性到达所有结点。如果在若干尝试之后没有GCM到达一个结点,这通常表明出现了网络问题。然而由于一个AMG中的适配器被假定彼此监视,在发送所有GCM之前应当可以很好地检测出网络问题。检测到网络问题应当导致可以彼此通信的适配器构成新的AMG。结果,新的GCM会通过已知正在工作的适配器。
图5A-5E描述了基于本发明的拓扑传播的一个例子。在图5A中,所示的分布式计算环境包含结点1-6和分别具有AMG A_1与AMGB_1的网络1&2。环境中的各个结点在其各自的NCT中具有正确的全局拓扑结构。例如,参照示出了结点5上的NCT的图5B。
在图5C中,假定结点2消失并导致结点1,3&4产生一个新的适配器成员组(AMG A_2)。在产生AMGA_2时,图5D中示出的结点5上的NCT仍然表明结点2从计算环境中消失。
组头结点GL1向AMG A_2的结点1&3传递一个分组连接消息)GCM)使得结点5知道结点2已经消失。具有连接到网络1和网络2的本地适配器的结点3接着向AMG B_1的结点5&6传递所发送的GCM。如上所述,由于结点3和结点4对两个网络是共同的,所以可以通过结点3或结点4完成GCM的传递。图5F描述了在接收到传递的GCM时在结点5上更新的NCT。注意结点2与结点5隔离的原因在于结点2仍然是结点5通过从A_2或B_1开始的任何跳跃均无法到达的A_1的一个成员。
图6A-6H描述了基于本发明的拓扑传播的另一个例子。在这个例子中,结点2将在图6A描述的分布式计算环境中变成活跃状态。在这个环境中,结点1,3&4属于AMG A_1而结点3,4,5&6属于AMGB_1。图6B针对图6A的分布式计算环境描述了结点5上的NCT和结点2上的NCT。
在图6C中,结点2当前是活跃的,并且已经构成了一个新的适配器成员组(AMG A_2)。此时结点5上的NCT和结点2上的NCT中的拓扑如图6D所示,该结构与图6B中的结构相同。
如图6E所示,通过由GL1向结点1,2&3传递一个分组连接消息(GCM)并且由结点3向结点5&6传递GCM向结点通知新的AMG。如图6F示出,当接收到GCM时,各个结点更新其NCT,从而产生结点5上的NCT和结点2上的NCT。为了完成拓扑更新,AMG B_1的组头结点2通过发送其自己的GCM对新信息作出应答,上述GCM通知AMG B_1的结点2。如图6G所示,来自GL2的GCM被发送到结点3,4&5,其中结点3向AMG A_2的结点1&结点2传递消息。结点5上的NCT和结点2上的NCT中的更新拓扑信息如图6H所示。
图7针对一个组头结点描述了实现基于本发明的拓扑传播的状态图。在状态1中,组头结点向其分组中的结点发送GCM消息。当发生一个预定事件,例如一个消息计数达到预置限制时,组头结点进入一个不向其分组的成员发送GCM消息的第二状态。之后组头结点停留在状态2直到分布式计算环境中发生改变。具体地,在以下情况下组头结点跃迁到状态1:(1)组头结点接收到一个与本地NCT冲突的NCM;(2)组头结点接收到一个与其本地NCT冲突的GCM;(3)组头结点的一个本地适配器属于一个不同的AMG;或(4)组头结点的一个本地适配器被认为是禁止的。
通过前面的描述本领域的技术人员会注意到这里提供的是一个在分布式计算环境内停止和重新开始发送拓扑传播消息的机制。这个机制不需要周期性地向分布式系统中的结点发送网络拓扑信息。一旦拓扑停止改变,系统内的所有GCM会在有限时间内停止。拓扑服务使用基于本发明的机制在系统内所有结点中间传播拓扑信息。拓扑服务使用NCT进行:
·计算从本地结点可达的结点集合。
·计算到各个可达结点的路由。该路由被可靠消息传送(PRM)用来把分组″源路由″到目的地。
本发明可以被包含在一个具有计算机可用介质的制造产品(例如一或多个计算机程序产品)内。这种介质其中包含提供并利用本发明的能力的计算机可读程序代码装置。制造产品可以被包含在计算机系统中或单独销售。
另外,可以提供至少一个机器可读程序存储设备,该设备实际包含至少一个可被机器运行以便执行本发明的功能的指令程序。
以举例的方式提供这里描述的流程图。在不偏离本发明的宗旨的前提下可以改变这些图例或这里描述的步骤(或操作)。例如,在某些情况下,可以按照不同的顺序执行步骤,也可以增加,删除或修改步骤。所有这些变化被认为包括如所附权利要求书所述的本发明的部分。
这里根据本发明的某些最优实施例详细描述了本发明,本领域的技术人员可以对其作出许多修改和改变。所附权利要求书试图把所有这种修改和改变覆盖在本发明的真实宗旨和范围内。
Claims (24)
1.一个在分布式计算环境内进行拓扑传播的方法,上述方法包括:
从至少一个组头结点向分布式计算环境内部至少一个结点组的已识别结点发送分组连接消息;
在分布式计算环境内部没有拓扑改变的时间段内停止上述分组连接消息的发送;和
当发现分布式计算环境内部的拓扑改变时重新开始从至少一个组头结点发送分组连接消息。
2.如权利要求1所述的方法,其中分布式计算环境包括至少两个网络,上述网络均具有至少一个已识别结点组,并且上述方法还包括在至少两个网络的各个已识别结点组组内使用一个心跳协议以保证分组内部的各个已识别结点的继续存在。
3.如权利要求2所述的方法,其中分布式计算环境的至少两个网络包括异构网络。
4.如权利要求2所述的方法,其中分布式计算环境的至少一个结点具有至少两个适配器,上述至少两个适配器把上述至少一个结点连接到上述至少两个网络,并且上述发送包括从一个第一组头结点向上述至少两个网络的第一网络上的第一结点组的已识别结点发送第一分组连接消息,上述至少一个结点包括上述第一结点组的一个已识别结点,并且上述发送还包括上述至少一个结点向上述至少两个网络的一个第二网络上的第二结点组传递上述第一分组连接消息。
5.如权利要求4所述的方法,其中在上述第一结点组的已识别结点和上述第二结点组的已识别结点上接收的上述第一分组连接消息被各个上述已识别结点用来更新一个本地网络连接表。
6.如权利要求4所述的方法,其中上述发送还包括从一个第二组头结点向第二结点组的已识别结点发送第二分组连接消息,和上述至少一个结点向至少两个网络的第一网络上的第一结点组传递上述第二分组连接消息。
7.如权利要求6所述的方法,其中上述第二组头结点进行的上述第二分组连接消息发送是对在上述第二组头结点上接收上述传递的第一分组连接消息中的新信息作出的响应。
8.如权利要求6所述的方法,其中上述停止包括,对于每个组头结点来说,当在组头结点识别出分布式计算环境内部的拓扑改变之后从组头结点发送的消息数量达到一个预定限制时各个组头结点停止上述分组连接消息的发送。
9.如权利要求8所述的方法,其中上述重新开始包括识别分布式计算环境内部的上述拓扑改变,上述识别包括以下事件中的至少一个:在一个组头结点上接收到一个与本地网络连接表数值冲突的结点连接消息,在一个组头结点上接收到一个与本地网络连接表数值冲突的分组连接消息,识别出一个本地适配器属于一个不同的适配器成员组,或识别出一个本地适配器已经被禁止。
10.如权利要求1所述的方法,其中上述停止包括当在上述组头结点识别出分布式计算环境内部的拓扑改变之后从组头结点发送的消息数量达到一个预定限制时各个组头结点停止上述分组连接消息的发送。
11.如权利要求1所述的方法,其中还包括以在上述拓扑传播期间不使用确认消息的方式实现上述发送,上述停止,和上述重新开始。
12.如权利要求1所述的方法,其中上述重新开始发送分组连接消息包括以下情况中的至少一种:在一个组头结点上接收到一个与本地网络连接表数值冲突的结点连接消息,在一个组头结点上接收到一个与本地网络连接表数值冲突的分组连接消息,识别出一个本地适配器属于一个不同的适配器成员组,或识别出一个本地适配器已经被禁止。
13.一个在分布式系统计算环境内进行拓扑传播的系统,上述系统包括:
从至少一个组头结点向分布式计算环境内部至少一个结点组的已识别结点发送分组连接消息的装置;
在分布式计算环境内部没有拓扑改变的时间段内停止上述分组连接消息的发送的装置;和
当发现分布式计算环境内部的拓扑改变时重新开始从至少一个组头结点发送分组连接消息的装置。
14.如权利要求13所述的系统,其中分布式系统计算环境包括至少两个网络,上述网络均具有至少一个已识别结点组,并且上述系统还包括在至少两个网络的各个组内使用一个心跳协议以保证分组内部的各个已识别结点的连续出现的装置。
15.如权利要求14所述的系统,其中分布式计算环境的至少两个网络包括异构网络。
16.如权利要求14所述的系统,其中分布式计算环境的至少一个结点具有至少两个适配器,上述至少两个适配器把上述至少一个结点连接到上述至少两个网络,并且上述发送装置包括从一个第一组头结点向上述至少两个网络的一个第一网络上的第一结点组的已识别结点发送第一分组连接消息的装置,上述至少一个结点包括上述第一结点组的一个已识别结点,并且上述发送装置还包括上述至少一个结点向上述至少两个网络的一个第二网络上的第二结点组传递上述第一分组连接消息的装置。
17.如权利要求16所述的系统,其中在上述第一结点组的已识别结点和上述第二结点组的已识别结点上接收的上述第一分组连接消息被各个上述已识别结点用来更新一个本地网络连接表。
18.如权利要求16所述的系统,其中上述发送装置还包括从一个第二组头结点向第二结点组的已识别结点发送第二分组连接消息的装置,和上述至少一个结点向至少两个网络的第一网络上的第一结点组传递上述第二分组连接消息的装置。
19.如权利要求18所述的系统,其中通过上述第二组头结点进行上述第二分组连接消息发送的上述装置对在上述第二组头结点上接收上述传递的第一分组连接消息中的新信息作出响应。
20.如权利要求18所述的系统,其中上述停止装置包括当在上述组头结点识别出分布式计算环境内部的拓扑改变之后从组头结点发送的消息数量达到一个预定限制时停止各个组头结点发送上述分组连接消息的装置。
21.如权利要求20所述的系统,其中上述重新开始装置包括识别分布式计算环境内部的上述拓扑改变的装置,上述识别装置对以下事件中的至少一个作出响应:在一个组头结点上接收到一个与本地网络连接表数值冲突的结点连接消息,在一个组头结点上接收到一个与本地网络连接表数值冲突的分组连接消息,识别出一个本地适配器属于一个不同的适配器成员组,或识别出一个本地适配器已经被禁止。
22.如权利要求13所述的系统,其中上述停止装置包括当在上述组头结点识别出分布式计算环境内部的拓扑改变之后从组头结点发送的消息数量达到一个预定限制时停止各个组头结点发送上述分组连接消息的装置。
23.如权利要求13所述的系统,其中,以在上述拓扑传播期间不使用确认消息的方式执行上述发送装置、上述停止装置和上述重新开始装置的操作。
24.如权利要求13所述的系统,其中上述重新开始发送分组连接消息的装置对以下情况中的至少一种作出响应:在一个组头结点上接收到一个与本地网络连接表数值冲突的结点连接消息,在一个组头结点上接收到一个与本地网络连接表数值冲突的分组连接消息,识别出一个本地适配器属于一个不同的适配器成员组,或识别出一个本地适配器已经被禁止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/580,945 US6885644B1 (en) | 2000-05-30 | 2000-05-30 | Topology propagation in a distributed computing environment with no topology message traffic in steady state |
US09/580,945 | 2000-05-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1327204A CN1327204A (zh) | 2001-12-19 |
CN1207674C true CN1207674C (zh) | 2005-06-22 |
Family
ID=24323248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011208244A Expired - Fee Related CN1207674C (zh) | 2000-05-30 | 2001-05-29 | 在分布式计算环境中进行拓扑传播的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6885644B1 (zh) |
JP (1) | JP3589409B2 (zh) |
KR (1) | KR100445374B1 (zh) |
CN (1) | CN1207674C (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934768B1 (en) * | 2000-10-23 | 2005-08-23 | International Business Machines Corporation | Dynamic modification of fragmentation size cluster communication parameter in clustered computer system |
US7027411B1 (en) * | 2000-10-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Method and system for identifying and processing changes to a network topology |
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 |
US7203748B2 (en) * | 2002-02-15 | 2007-04-10 | International Business Machines Corporation | Method for detecting the quick restart of liveness daemons in a distributed multinode data processing system |
US7302692B2 (en) * | 2002-05-31 | 2007-11-27 | International Business Machines Corporation | Locally providing globally consistent information to communications layers |
DE50313304D1 (de) * | 2002-09-10 | 2011-01-20 | Siemens Ag | Verfahren zur Kontrolle von Übertragungsressourcen eines paketorientierten Kommunikationsnetzes bei Topologieänderungen |
US7383313B2 (en) * | 2003-11-05 | 2008-06-03 | Hitachi, Ltd. | Apparatus and method of heartbeat mechanism using remote mirroring link for multiple storage system |
US9332069B2 (en) | 2012-12-28 | 2016-05-03 | Wandisco, Inc. | Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems |
US7430684B2 (en) * | 2005-02-09 | 2008-09-30 | International Business Machines Corporation | Method to use fabric initialization to test functionality of all inter-chip paths between processors in system |
US7492716B1 (en) * | 2005-10-26 | 2009-02-17 | Sanmina-Sci | Method for efficiently retrieving topology-specific data for point-to-point networks |
US7996093B2 (en) * | 2008-01-24 | 2011-08-09 | Rockwell Automation Technologies, Inc. | Automatic controller relationship resolution |
JP5111153B2 (ja) * | 2008-02-22 | 2012-12-26 | キヤノン株式会社 | サーバ、デバイス管理方法、プログラム |
US8903973B1 (en) | 2008-11-10 | 2014-12-02 | Tanium Inc. | Parallel distributed network management |
US8589732B2 (en) | 2010-10-25 | 2013-11-19 | Microsoft Corporation | Consistent messaging with replication |
ES2618217T3 (es) * | 2012-03-02 | 2017-06-21 | Lsis Co., Ltd. | Dispositivo de comunicación y procedimiento de comunicación |
US9059961B2 (en) | 2012-12-21 | 2015-06-16 | Tanium Inc. | Creation and maintenance of self-organizing communication orbits in distributed networks |
US11172470B1 (en) | 2012-12-21 | 2021-11-09 | Tanium Inc. | System, security and network management using self-organizing communication orbits in distributed networks |
US10873645B2 (en) | 2014-03-24 | 2020-12-22 | Tanium Inc. | Software application updating in a local network |
CN105991325B (zh) * | 2015-02-10 | 2019-06-21 | 华为技术有限公司 | 处理至少一个分布式集群中的故障的方法、设备和系统 |
US9910752B2 (en) | 2015-04-24 | 2018-03-06 | Tanium Inc. | Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network |
US11461208B1 (en) | 2015-04-24 | 2022-10-04 | Tanium Inc. | Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network |
US11886229B1 (en) | 2016-03-08 | 2024-01-30 | Tanium Inc. | System and method for generating a global dictionary and performing similarity search queries in a network |
US11609835B1 (en) | 2016-03-08 | 2023-03-21 | Tanium Inc. | Evaluating machine and process performance in distributed system |
US10929345B2 (en) | 2016-03-08 | 2021-02-23 | Tanium Inc. | System and method of performing similarity search queries in a network |
US11153383B2 (en) | 2016-03-08 | 2021-10-19 | Tanium Inc. | Distributed data analysis for streaming data sources |
US11372938B1 (en) | 2016-03-08 | 2022-06-28 | Tanium Inc. | System and method for performing search requests in a network |
US10824729B2 (en) | 2017-07-14 | 2020-11-03 | Tanium Inc. | Compliance management in a local network |
US11188445B2 (en) | 2017-08-18 | 2021-11-30 | Vmware, Inc. | Generating a temporal topology graph of a computing environment based on captured component relationship data |
US10841365B2 (en) | 2018-07-18 | 2020-11-17 | Tanium Inc. | Mapping application dependencies in a computer network |
US11343355B1 (en) | 2018-07-18 | 2022-05-24 | Tanium Inc. | Automated mapping of multi-tier applications in a distributed system |
CN109951331B (zh) * | 2019-03-15 | 2021-08-20 | 北京百度网讯科技有限公司 | 用于发送信息的方法、装置和计算集群 |
US11831670B1 (en) | 2019-11-18 | 2023-11-28 | Tanium Inc. | System and method for prioritizing distributed system risk remediations |
US11563764B1 (en) | 2020-08-24 | 2023-01-24 | Tanium Inc. | Risk scoring based on compliance verification test results in a local network |
US12231467B1 (en) | 2021-10-19 | 2025-02-18 | Tanium Inc. | System and method for deputizing satellite endpoints |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827411A (en) | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
US5101348A (en) | 1988-06-23 | 1992-03-31 | International Business Machines Corporation | Method of reducing the amount of information included in topology database update messages in a data communications network |
US5261085A (en) | 1989-06-23 | 1993-11-09 | Digital Equipment Corporation | Fault-tolerant system and method for implementing a distributed state machine |
US5093824A (en) | 1990-03-27 | 1992-03-03 | Bell Communications Research, Inc. | Distributed protocol for improving the survivability of telecommunications trunk networks |
US5321813A (en) * | 1991-05-01 | 1994-06-14 | Teradata Corporation | Reconfigurable, fault tolerant, multistage interconnect network and protocol |
FR2691312B1 (fr) | 1992-05-18 | 1994-07-29 | Telecommunications Sa | Procede de gestion decentralisee du routage de communications dans un reseau de commutateurs de paquets. |
US5574860A (en) * | 1993-03-11 | 1996-11-12 | Digital Equipment Corporation | Method of neighbor discovery over a multiaccess nonbroadcast medium |
US5732086A (en) * | 1995-09-21 | 1998-03-24 | International Business Machines Corporation | System and method for determining the topology of a reconfigurable multi-nodal network |
US5805578A (en) * | 1995-10-27 | 1998-09-08 | International Business Machines Corporation | Automatic reconfiguration of multipoint communication channels |
US5991821A (en) | 1996-04-30 | 1999-11-23 | International Business Machines Corporation | Method for serializing actions of independent process groups |
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 |
US6321270B1 (en) * | 1996-09-27 | 2001-11-20 | Nortel Networks Limited | Method and apparatus for multicast routing in a network |
US5995488A (en) * | 1996-10-08 | 1999-11-30 | Advanced Micro Devices, Inc. | Method and apparatus for regulating data flow in networks |
US6507562B1 (en) * | 1998-06-30 | 2003-01-14 | Sun Microsystems, Inc. | Dynamic optimization for receivers using distance between a repair head and a member station in a repair group for receivers having a closely knit topological arrangement to locate repair heads near the member stations which they serve in tree based repair in reliable multicast protocol |
-
2000
- 2000-05-30 US US09/580,945 patent/US6885644B1/en not_active Expired - Fee Related
-
2001
- 2001-05-07 KR KR10-2001-0024552A patent/KR100445374B1/ko not_active IP Right Cessation
- 2001-05-14 JP JP2001142720A patent/JP3589409B2/ja not_active Expired - Fee Related
- 2001-05-29 CN CNB011208244A patent/CN1207674C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002033752A (ja) | 2002-01-31 |
US6885644B1 (en) | 2005-04-26 |
CN1327204A (zh) | 2001-12-19 |
KR20010109080A (ko) | 2001-12-08 |
KR100445374B1 (ko) | 2004-08-25 |
JP3589409B2 (ja) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1207674C (zh) | 在分布式计算环境中进行拓扑传播的方法和系统 | |
CN1893434A (zh) | 构建对等消息通信应用程序的api | |
JPH06202969A (ja) | ネットワークにおけるコンピュータ及びその運用方法 | |
Hofmann | Enabling group communication in global networks | |
CN1969491A (zh) | 在路由器中的控制故障期间保护多播数据转发的系统和方法 | |
TWI499327B (zh) | 於包含無電池群蜂裝置之網路中通信的方法及其網路與裝置 | |
WO1999055042A1 (en) | System and method for establishing a multicast message delivery error recovery tree in a digital network | |
CN1345148A (zh) | 在具有拓扑状态路由协议的通信网络中实现拓扑数据库再同步的方法和装置 | |
TW200908617A (en) | Method and system for assigning routers to hosts | |
CN1716905A (zh) | 虚拟路由器对应多点传送数据包中继装置 | |
CN1638342A (zh) | 用于管理集群系统中的协议网络故障的系统和方法 | |
US10454884B2 (en) | Terminal and multicast address distribution server | |
CN1216480C (zh) | 用于大规模并行路由器的冗余机制协议 | |
US7480281B2 (en) | Method for improving cluster bring-up in a distributed topology liveness system | |
US20080317061A1 (en) | Methods and systems for dynamic subring definition within a multi-ring | |
JP2007524258A (ja) | モバイルピアツーピアネットワーク構築 | |
JP4884520B2 (ja) | データ収集方法およびシステム | |
WO2006103719A1 (ja) | マルチキャスト通信システム | |
JP2007124148A (ja) | アドホック・ネットワーク・システム、無線アドホック端末およびその故障検出方法 | |
JP3672534B2 (ja) | ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム | |
JP4122328B2 (ja) | 伝送装置 | |
JP2007251805A (ja) | 通信装置およびネットワークシステム | |
JP2022172168A (ja) | トランスポートプロトコル上でのポイント・ツー・ポイント・データベース同期 | |
JP5228369B2 (ja) | 通信システム、通信方法、及び通信プログラム | |
JP2008118274A (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: 20050622 Termination date: 20100529 |