容错网络.pdf

上传人:Y94****206 文档编号:1335086 上传时间:2018-04-16 格式:PDF 页数:55 大小:1.68MB
返回 下载 相关 举报
摘要
申请专利号:

CN99815545.4

申请日:

1999.10.07

公开号:

CN1342362A

公开日:

2002.03.27

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回|||公开|||实质审查的生效

IPC分类号:

H04L29/14

主分类号:

H04L29/14

申请人:

霍尼韦尔有限公司;

发明人:

J·黄; L·李; S·宋

地址:

美国新泽西州

优先权:

1998.11.10 US 09/188,976

专利代理机构:

中国专利代理(香港)有限公司

代理人:

吴立明;李亚非

PDF下载: PDF下载
内容摘要

实现容错网络的方法和设备提供网络容错管理器检测故障并操作一个节点与一个活动信道通信的一个节点。故障检测结合一个或多个方法,包括消息对和链接脉冲检测。故障恢复包括切换所有的数据通讯至备用信道或切换哪些检测到一个故障的节点。节点间的通信提供分布式检测,同时检测节点向他们的网络容错管理器报告故障并且网络容错管理器向所有节点多点传送故障恢复。该网络容错管理器是中间件,与每个节点一起位于网络物理层之上和在网络传输层之下的一个逻辑层。该方法特别适合于以太网LAN并能够使用市场上可购买的网络元件。

权利要求书

1: 一种容错通信网络,包括: 至少二个节点,其中至少二个节点中的每个连接用于数据传输的 多个信道;和 与至少二个节点中的每个相关的网络容错管理器,其中与一个节 点相关的网络容错管理器指示那个节点有选择地在连接那个节点的多 个信道中之一上传送数据包,其中网络容错管理器在位于网络物理层 之上和在网络传输层之下的一个逻辑层,而且其中每个网络容错管理 器与其它网络容错管理器通信。
2: 权利要求1的容错通信网络,其中该网络容错管理器还指示 至少二个节点中的每一个在多个信道中的同样一个上传输数据包。
3: 权利要求1的容错通信网络,其中至少二个节点中的每个包 括: 以一对一关系连接多个信道中的每个的一个网络接口卡;和 以一对多关系连接网络接口卡中的每个的一个网络接口卡交换 机; 其中网络接口卡交换机指示数据包至网络接口卡之一,如同网络 容错管理器指示一样。
4: 权利要求1的容错通信网络,其中多个信道使用网络资源, 其中使用多个信道中的第一信道的网络资源与使用多个信道中的第二 信道的网络资源共享。
5: 一种数据通信的容错网络,包括: 第一网络; 第二网络;和 至少二个节点,其中至少二个节点中的每个连接第一网络和第二 网络,其中至少二个节点中的每个有一个网络容错管理器,而且其中 每个网络容错管理器与其它网络容错管理器通信; 其中每个网络容错管理器指示它的相应节点有选择地在从由第一 网络和第二网络组成的组中选择出的一个网络上传输数据包,还有其 中每个网络容错管理器响应从其它网络容错管理器接收到的消息,还 有其中每个网络容错管理器在位于网络物理层之上和在网络传输层之 下的一个逻辑层。
6: 权利要求5中的容错网络,其中第一网络和第二网络都是单 个物理网络中的逻辑网络。
7: 一种用于通信网络中的节点,包括: 第一网络接口; 第二网络接口; 一个网络容错管理器,其中网络容错管理器在位于网络物理层之 上和在网络传输层之下的一个逻辑层;和 与网络容错管理器通信的网络接口卡交换机,其中网络接口卡交 换机响应网络容错管理器有选择地指示该节点和网络之一之间的数据 流量。
8: 权利要求7中的该节点,其中网络容错管理器和网络接口卡 交换机合并为一个单个软件对象。
9: 一种用于容错通信网络的故障恢复方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从第一个节点初始数据通信,其中数据通信有在活动网络上的第 一个节点通过第一个网络接口传输; 第一个节点检测一个故障,其中该故障是从由活动网络上的一个 故障和备用网络上的一个故障组成的组中选择出来; 当该故障位于活动网络上时,指示第一个节点通过第二网络接口 将数据流量交换给备用网络;和 当该故障位于备用网络之上时,报告该故障。
10: 权利要求9中的故障恢复方法,其中活动网络和备用网络都 是单个物理网络中的逻辑网络。
11: 一种机器可读介质,其中存储使得处理器实现权利要求9的 方法的指令。
12: 一种用于容错通信网络的故障恢复方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从第一个节点初始数据通信,其中数据通信有在活动网络上的第 一个节点通过第一个网络接口传输; 第一个节点检测一个故障,其中该故障发生在活动网络上; 指示第一个节点通过第二网络接口将数据流量交换给备用网络; 和 指示多个节点中的每个剩下节点将数据流量交换给备用网络。
13: 权利要求12中的故障恢复,其中活动网络和备用网络都是 单个物理网络中的逻辑网络。
14: 一种机器可读介质,其中存储使得处理器实现权利要求12 的方法的指令。
15: 一种用于容错通信网络的故障检测方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从第一个节点传输多个消息对,其中每个消息对的第一个消息在 活动网络上传输,每个消息对的第二个消息在备用网络上传输; 在第二个节点上监视接收多个消息对,其中监视接收包括确定在 接收每个消息对的第一个和第二个消息之间的绝对时间差值; 比较每个消息对的绝对时间差值与预定时间,其中绝对时间差值 大于预定时间表示接收失败; 如果连续故障数目超过预定最大值时声明一个故障。
16: 权利要求15中的故障检测方法,其中该故障是从由活动网 络上的一个故障和备用网络上的一个故障组成的组中选择出来;
17: 权利要求15中的故障检测方法,其中活动网络和备用网络 都是单个物理网络中的逻辑网络。
18: 权利要求15中的故障检测方法,其中接收消息对的第一个 消息出现在接收消息对的第二个消息之前。
19: 权利要求15中的故障检测方法,其中传输多个消息对包括 以有规则的时间间隔传输多个消息对。
20: 权利要求15中的故障检测方法,其中如果连续接收故障数 目超过预定最大值时声明一个故障包括如果连续接收故障数目超过1 时声明一个故障。
21: 一种机器可读介质,其中存储使得处理器实现权利要求15 的方法的指令。
22: 一种用于容错通信网络的故障恢复方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从活动网络上的第一个节点传输消息对的第一个消息; 从备用网络上的第一个节点传输消息对的第二个消息; 由活动网络上的第二个节点接收第一个消息; 等待一个预定时间来接收备用网络的第二个节点上的第二个消 息;和 如果第二个消息在预定时间内没有到达备用网络上的第二个节点 上时,声明一个故障。
23: 权利要求22中的故障检测方法,其中传输第一个消息发出 在传输第二个消息之前。
24: 一种机器可读介质,其中存储使得处理器实现权利要求22 的方法的指令。
25: 一种用于容错通信网络的故障检测方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从活动网络上的第一个节点传输消息对的第一个消息; 从备用网络上的第一个节点传输消息对的第二个消息; 由第二个节点接收一个消息,其中该消息从由第一个消息和第二 个消息组成的组中选择; 等待一个预定时间由第二个节点接收该消息对中剩下的一个消 息;和 如果剩下的消息在预定时间内没有到达的第二个节点上时,声明 一个故障。
26: 权利要求25中的故障检测方法,其中传输第一个消息发出 在传输第二个消息之前。
27: 一种机器可读介质,其中存储使得处理器实现权利要求25 的方法的指令。
28: 一种用于容错通信网络的故障检测方法,该容错通信网络有 一个活动网络和一个备用网络并有连接至活动和备用网络的多个节 点,该方法包括: 从活动网络上的第一个节点传输第一个消息对的第一个消息; 从备用网络上的第一个节点传输第一个消息对的第二个消息; 由第二个节点接收一个消息,其中该消息从由第一个消息对的第 一个消息和第一个消息对的第二个消息组成的组中选择; 等待第一个预定时间由第二个节点接收第一个消息对中剩下的一 个消息; 从活动网络上的第一个节点传输第二个消息对的第一个消息; 从备用网络上的第一个节点传输第二个消息对的第二个消息; 由第二个节点接收一个消息,其中该消息从由第二个消息对的第 一个消息和第二个消息对的第二个消息组成的组中选择; 等待第二个预定时间由第二个节点接收第二个消息对中剩下的一 个消息; 如果第一个消息对中剩下的消息在第一个预定时间内没有到达的 第二个节点上,而且第二个消息对中剩下的消息在第二个预定时间内 没有到达的第二个节点上时,声明一个故障,其中第一个消息对中剩 下的消息和第二个消息对中剩下的消息都是从由活动网络和备用网络 组成的组中选择出来的一个网络中传输的。
29: 机器可读介质,其中存储使得处理器实现权利要求28的方 法的指令。
30: 一种用于容错通信网络的一个节点,包括: 第一个网络接口; 第二个网络接口; 一个处理器;和 连接该处理器的一个机器可读介质,其中该机器可读介质存储使 得处理器实现一个方法的指令,该方法包括: 从该节点初始数据通信,其中该数据通信是由该节点通过第一个 网络接口传输; 由该节点检测一个故障,其中该故障出现在与第一个网络接口连 接的第一个网络上;和 指示该节点通过第二个网络接口交换数据通讯至第二个网络。
31: 权利要求20的节点,其中机器可读介质还存储使得处理器 报告故障的指令。

说明书


容错网络

    【技术领域】

    本发明一般涉及网络数据通信。特别地,本发明涉及提供网络和网络接口卡容错的设备和方法,其中中间件实现故障检测并能根据检测到活动信道上的一个故障从一个活动信道切换至备用信道。本专利文献的公开部分包括属于版权保护的材料。

    版权拥有者不拒绝任何人传真复制本专利公开,如同它出现在专利和商标局的专利文件或记录中,但是保留所有版权。下面提示适用于下面并在附图中描述的软件和数据应用:版权1998,Honeywell公司,保留所有权利。

    背景技术

    计算机网络已经广泛应用在商业和工业上。它们可以用来链接在一个地点中的或在多个地点中的许多计算机。

    该网络提供一个数据传输或从一台计算机至另一台计算机的流量的通信信道。网络使用是无边的并可以包括简单数据或文件传输,远程音频或视频,多媒体会议,工业过程控制等等。

    大概最流行的网络协议是以太网,它是专用于计算机网络或计算机对计算机的文件传输的高速终端的局域网(LAN)。以太网通信协议许可并提供通过总线一般为双铰线或同轴电缆的数据传输。存在其它的数据总线介质,如光纤总线或无线总线为两个例子。为方便起见,将使用通用术语总线而不管其介质类型。

    典型的LAN有几个与LAN连接并与之通信地节点。每个节点有一个网络接口卡(NIC),它通过LAN插头提供至物理LAN的通信链接。另外,几个网络节点可以通过各种的网络接口卡连接至网络集线器或交换机。而且,多个LAN可以桥接在一起生产更大网络。

    节点一般遵循OSI模型,即国际标准组织的网络模型。OSI模型将网络通信分成7个功能层。这些层以逻辑层次安排,每一层提供紧接其上和其下的层的通信。每个OSI层负责不同的网络服务。这些层是1)物理层,2)数据链接层,3)网络层,4)传输层,5)会话层,6)展现层,7)应用层。前三个层提供数据传输和路由。传输和会话层提供用户应用和硬件之间的接口。最后三层管理用户应用。其它网络模型在现有技术中是已知的。

    以太网协议提供整个网络的消息冲突的恢复,它自身能够从网络元件的故障中恢复,如网络接口卡,分接点,集线器,交换机,桥路或总线。因此,通常需要容错来确保连续的点对点通信。其它人提出的一种方法是依赖特殊硬件设计冗余系统用作故障检测和恢复。然而,这样的解决方案是专用的并依赖供应商的,使得他们很难实现和实现起来花费昂贵。这种针对硬件的系统可以在高度关键应用中被证明,但是他们由于专门化的属性不能高度可手持的或可扩展的。

    相应地,存在一种对提供容错功能的性价比设备和方法的需求,他们能够使用市场上可购买(COTS)的以太网硬件(网络接口卡)和软件(驱动和协议)在现有的以太网上实现。这样一个开放式的解决方案有这样的好处,降低生产成本,易于使用和维护,符合网络标准并在网络间互通。

    发明概述

    中间件方法提供了在传统的以太网网络中的容错性。该网络有多个要求传送文件包的节点。容错网络的节点有不止一个网络连接并包括有多个连接至一个网络的节点和有单连接至多个网络的节点。一个网络容错管理器监视故障检测并执行故障恢复。故障恢复包括将从一个节点的数据传输从表示有一个故障的节点重新定向到一个备用信道上。在一个实施例中,故障恢复限制数据传输及数据接收至一个活动信道。在另一个实施例中,故障恢复容许从任何连接信道接收有效数据包。在另外一个实施例中,该活动信道和备用信道共享共同资源。

    中间件包括驻留在网络接口设备和设备驱动器之上,但在系统传输服务和/或用户应用程序之下的计算机软件。本发明提供网络容错,它不需要修改现有的实现以太网的COTS硬件和软件。该中间件方法对使用标准网络和传输协议如TCP/IP,UDP/IP和IP多点传送的应用程序是透明的。

    在一个实施例中,一个网络节点同时连接至多网络系统中的不止一个网络。该节点有能够选择一个网络上的一个信道的软件开关。网络容错管理器执行在一个活动信道上的故障检测。该网络容错管理器在操作开关选择一个备用信道中还提供故障恢复。在另一个实施例中,该节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,网络容错管理器执行在备用信道上的故障检测和报告,以及在一个活动信道上的故障检测和恢复。

    在另一个实施例中,一个网络节点同时连接至多网络系统中的不止一个网络。该节点对每个连接的网络都有一个NIC(网络接口卡)。该节点还有一个能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的分布式故障检测。该网络容错管理器还提供在操作NIC开关选择连接至备用信道的网络接口卡中的故障恢复。在另一个实施例中,该节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,至少二个节点都同时连接至多网络系统中的不止一个网络。每个节点有每个连接的网络的一个网络接口卡。每个节点还有一个能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的分布式故障检测。该网络容错管理器还提供在操作每个发送节点的NIC开关选择连接至备用信道的网络接口卡中的故障恢复。从一个发送节点的数据包传递给备用信道。来自备用信道的有效数据包由接收节点传递给更高层。在该实施例中,使用活动信道的所有节点根据在活动信道上的故障检测交换为一个备用信道。在另一个实施例中,每个节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,至少二个节点都同时连接至多网络系统中的不止一个网络。每个节点有每个连接的网络的一个网络接口卡。每个节点还有一个能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的分布式故障检测。该网络容错管理器还提供在操作每个发送节点的NIC开关选择连接至备用信道的网络接口卡中的故障恢复。将故障报告给网络容错管理器的节点将它的数据流量从活动信道交换给备用信道。从该发送节点传递数据包给备用信道。在活动信道上没有检测到故障的发送节点容许在活动信道上继续数据传输。每个接收节点的NIC开关容许通过各自的信道在每个网络接口卡上接收数据包。来自任何连接着的信道的有效数据包传递给更高层。在另一个实施例中,该节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,一个节点有至一个容错网络的多个连接。该节点有能够选择一个网络连接的软件开关。网络容错管理器提供在一个活动信道上的故障检测。该网络容错管理器在操作开关选择一个备用信道中还提供故障恢复。在另一个实施例中,该节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,一个节点有至一个容错网络的多个连接。该节点有每个网络连接的NIC(网络接口卡)。该节点还有能够选择一个网络连接的软件开关。该节点还有能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的故障检测。该网络容错管理器在操作NIC开关选择一个连接备用信道的网络接口卡中还提供故障恢复。在另一个实施例中,该节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,至少二个节点都有至一个容错网络的多个连接。每个节点有每个网络连接的一个网络接口卡。每个节点还有一个能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的分布式故障检测。该网络容错管理器还提供在操作每个发送节点的NIC开关选择连接至备用信道的网络接口卡中的故障恢复。从一个发送节点的数据包传递给备用信道。来自备用信道的有效数据包由接收节点传递给更高层。在该实施例中,使用活动信道的所有节点根据在活动信道上的故障检测交换为一个备用信道。在另一个实施例中,每个节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,至少二个节点都有至一个容错网络的多个连接。每个节点有每个网络连接的一个网络接口卡。每个节点还有一个能够选择一个网络接口卡的NIC开关。网络容错管理器提供在一个活动信道上的分布式故障检测。该网络容错管理器还提供在操作每个发送节点的NIC开关选择连接至备用信道的网络接口卡中的故障恢复。向网络容错管理器报告一个故障的节点将数据流量从一个有问题的活动信道交换至备用信道。从一个发送节点的数据包传递给备用信道。没有检测到活动信道上的故障的发送节点容许在活动信道上继续数据传输。每个接收节点的NIC开关容许通过各自的信道在每个网络接口卡上接收数据包。来自任何连接着的信道的有效数据包传递给更高层。在另一个实施例中,每个节点连接至一个活动信道和一个备用信道。

    在另一个实施例中,单个容错网络有一个开放环结构和一个容错网络管理器节点。该单个容错管理器节点用二个网络接口卡连接至开放环的两端。该网络接口卡在故障检测协议中只用来检测网络故障,如网络总线故障。一旦在单个容错网络中检测到网络故障,二个网络接口卡关闭该环来服务应用数据流量。

    在一个实施例中,容错网络地址解析协议(FTNARP)自动地从一个节点开始产生一个介质访问控制(MAC)地址映射表。该FTNARP获得一个活动和备用网络接口卡的MAC地址。然后FTNARP向在活动和备用信道上的其它节点广播该信息。接收节点将该信息增加到他们各自的MAC地址映射表上并用那个节点的MAC地址信息回答源节点。该源节点接收回答信息并将该信息增加到它自己的MAC地址映射表中。

    在另一个实施例中,为包含路由器的网络提供互联网协议(IP)交换。IP交换功能在NIC交换机中实现,其中NIC交换机有IP地址映射表。IP地址映射表实现交换发送节点的每一帧中的IP目的地址,并交换回接收节点的IP地址。

    在另一个实施例中,每个节点通过每个连接着的信道发送一个周期性的消息。接收节点在从第一个信道上的源节点接收第一个消息之后,在从最后信道上的源节点接收最后消息时比较时间差值。如果接收节点不能在一个被分配的时间段内接收最后消息并且最大数目的可容许消息丢失被超过,声明有一个故障。在另一个实施例中,故障使用链接完整脉冲感应来决定。链接完整脉冲感应是一个证实信道完整性的周期性脉冲。在另外一个实施例中,使用二种故障检测模式。

    在本发明的另一个实施例中,使得处理器完成这里描述的方法的指令保存在机器可读的介质上。在本发明的另外一个实施例中,机器可读介质包括在节点中并与该节点通信。在本发明的另外一个实施例中,机器可读介质与该节点通信,但与该节点不物理联系。

    本发明的一个优点是它保持了与IEEE(电气和电子工程师学会)802.3标准的一致。这样的一致性使得本发明在多数标准以太网网络上是实用的,不需要修改以太网硬件和软件,因此保持一个开放的系统。

    作为一种软件方法,本发明还能促进以太网以及其它网络的任何COTS卡和驱动器的使用。使用特殊供应商的卡和驱动器对应用是透明的,从而使得本发明具备供应商互操作性,系统配置弹性和网络用户低成本。

    而且,本发明提供使用OSI网络和夹在中间件之上的传输协议的应用的网络容错。一个例子是使用以TCP-IP为基础的应用,其中中间件透明地支持这些应用,好象该应用通过任何标准网络即非容错网络使用TCP/IP协议。

    【附图说明】

    图1是组成本发明的一个实施例的有多个节点的一个多网络以太网的一部分的方框图。

    图1B是组成本发明的一个多网络系统的实施例的方框图。

    图2是组成本发明的一单个容错网络实施例的方框图。

    图3A是组成本发明的一个实施例的一个节点实施例的方框图。

    图3B是根据本发明的一个特征的一个节点实施例的方框图。

    图4是在特殊操作系统平台上组成本发明的一个实施例的一个节点实施例的方框图。

    图5描述一个消息对故障检测模式实施例的一个时间线。

    图6A是本发明的一个实施例的一个交互消息对表,一个Tskew队列和计时器中断的图形表示。

    图6B是故障检测前的消息对故障检测模式的状态机器图。

    图6C是在一个节点故障检测之后的消息对故障检测模式的状态机器图。

    图7是连接组成本发明的一个实施例的二个网络的二个节点寻址表示。

    图8是组成本发明并有路由器的容错网络的一个实施例的方框图。

    图9是一个消息中断流程的流程图。

    图10A是消息对处理的一个实施例的流程图。

    图10B是消息对处理的一个变种。

    图10C是消息对处理的一个变种。

    图11A是Tskew计时器操作的一个实施例的流程图。

    图11B是Tskew计时器操作的一个实施例的流程图。

    图12A是Tskew计时器中断流程的一个实施例的流程图。

    图12B是Tskew计时器中断流程的一个实施例的流程图。

    图13是信道交换流程的一个实施例的流程图。

    图14是与设备交换失败恢复模式有关的消息中断流程的一个实施例的流程图。

    图15是与设备交换失败恢复模式有关的Tskew计时器中断的一个实施例的流程图。

    图16是容错管理器消息处理流程的一个实施例的流程图。

    图17是消息对发送操作的一个实施例的流程图。

    图18是节点启动流程的流程图。

    图19是报告备用失败流程的流程图。

    实施例详述

    在下面详细描述中,参照其中的附图,在这些附图中用解释性特定实施例的方式表示,本发明在这些实施例中实现。这些实施例用充分的细节来描述,使得本领域的技术人员能够实现本发明,可以理解可以使用其它实施例,并可作出结构上,逻辑上和有关电方面的修改,而不偏离本发明的精神和范畴。因此下面详细描述没有限制的意识,本发明的范畴由附加的权利要求书来定义。图中相似的数字指相似的元件,这从使用的上下文来看应该是明显的。

    下面详细描述是在一个以太网LAN的前提下起草的。本领域的技术人员将明显看到该方法对其它网络协议和其它网络配置是可适应的。

    术语信道定义为从一端的发送节点的网络接口卡至另一端的接收节点的网络接口卡的路径,包括分接点,集线器,交换机,桥路和总线。二个或更多信道可以共享公共资源,如使用公用集线器,交换机,桥路和总线。另外,信道资源可以相互独占的。一个节点上可用的二个信道称为双信道,尽管一个节点不限制为只有二个信道。

    详细描述一般开始于讨论网络设备和它们的结构,然后是故障检测模式的讨论。地址管理作为故障恢复的前奏讨论。故障恢复在文中设计为信道交换和设备交换模式。最后,公开了这些概念的各种示范性执行。

    设备和结构

    图1A示出了组成本发明的简化的容错网络的概念图。容错网络100是一个多网络系统的实例。容错网络100包括一个以太网总线110A和总线110B。容错网络100还包括二个或多个节点120,它们通过分接点连接以太网总线110A和110B。该节点120包括一个或多个网络接口卡170,用来控制与分接点130的连接。在网络接口卡可70描述为单个实体的同时,二个或多个网络接口卡170可以结合为一个有多个通信端口的物理卡。

    图1B示出了多网络系统的一个实施例的更为完整的容错网络100。容错网络100包括一个主网络总线110A和二级网络总线110B。主网络总线110A和二级网络总线110B中只有一个被一个单独节点120在任何时候用作数据传输。尽管,如同涉及设备交换故障恢复模式中所讨论的,节点可以使用多条总线用来接收数据包。主网络总线110A连接至第一网络交换机240A1和第二网络交换机240A2。网络交换机240A通过分接点130A连接节点120至主网络总线110A。图1B描述只有二个网络的交换机240A和连接至主网络总线110A的六个节点120,尽管任何数目的节点可以连接至任何数目的交换机,只要这些数目符合网络协议和交换机端口数目的限制。而且,节点可以用图1A中描述的方式直接连接主网络总线110A。

    二级网络总线110B连接至第一网络交换机240B1和二级网络交换机240B2。网络交换机240B通过分接点130B连接节点120至二级网络总线110B。图1B描述只有二个网络的交换机240B和连接至二级网络总线110B的六个节点120,尽管任何数目的节点可以连接至任何数目的交换机,只要这些数目符合网络协议和交换机端口数目的限制。而且,节点可以用图1A中描述的方式直接连接主网络总线110A。

    在活动资源一般与正常数据通讯有关以及在某些活动资源出现故障的情况下备用资源一般与数据通讯有关的指导下,活动和备用资源的选定是用户可决定的。作为一个例子,主网络总线110A可以指定用于活动信道,同时二级网络总线110B可以指定用于备用信道。可以理解,活动信道的选择是由用户决定的,而且该选定可以交换,而不偏离本发明的范畴。为了有助于说明活动和备用信道的概念,提供几个特例。

    参考图1B,从节点120i至节点120z的活动信道定义为这样的路径,即从节点120i的网络接口卡170A,至节点120i的的分接点130A,至第一交换机240A1,至主网络总线110A,至第二交换机240A2,至节点120z的分接点130A,再至节点120z的网络接口卡170A。从节点120i至节点120z的二级信道定义为这样的路径,即从节点120I的网络接口卡170B,至节点120i的的分接点130B,至第一交换机240B1,至二级网络总线110B,至第二交换机240B2,至节点120z的分接点130B,再至节点120z的网络接口卡170B。活动和备用信道包括在信道两端的网络接口卡。

    相似地,从节点120j至节点120k的活动信道定义为这样的路径,即从节点120j的网络接口卡170A,至节点120j的的分接点130A,至第一交换机240A1,至节点120k的分接点130A,再至节点120k的网络接口卡170A。从节点120j至节点120k的二级信道定义为这样的路径,即从节点120j的网络接口卡170B,至节点120j的的分接点130B,至第一交换机240B1,至节点120k的分接点130B,再至节点120k的网络接口卡170B。

    参照图1B和前面的定义,一个活动信道的故障定义为或者网络交换机240A,主网络总线110A,任何分接点130A或者任何网络接口卡170A的一个故障。同样地,一个备用信道的故障定义为网络交换机240B、二级网络总线110B、任何分接点130B或者任何网络接口卡170B任一个的故障。活动信道上的故障将导致故障恢复,同时备用信道上的故障将被报告而不交换设备或信道。还注意到活动和备用信道的定义是动态的,这样当一个活动信道失败以及故障恢复开始时,选择作为数据流量的备用信道成为活动信道。

    图2示出了单个网络系统实施例的容错网络200。容错网络200包括一个网络总线110。网络总线110以一个开放环安排连接至第一网络交换机2401,第二网络交换机2402和第三网络交换机2403。网络交换机240通过分接点130A和130B连接节点120至网络总线110。图2描述的是只有3个网络的交换机240和连接至网络总线110的四个节点120,尽管任何数目的节点可以连接至任何数目的交换机,只要这些数目符合网络协议以及交换机端口数目的限制。而且,节点可以以图1A中描述的相似方式直接连接至网络总线110。

    容错网络200还包括一个有网络接口卡170A和170B的管理器节点250。管理器节点250的网络接口卡170A和170B用作在正常操作过程中的网络故障的故障检测。如果检测到一个本地故障,管理器节点不采取行动,因为能通过将节点通讯本地交换为备用信道克服本地故障。容错网络200中的本地故障特征为设备故障,它影响与节点120的唯一一个网络接口卡170的通讯。例如,在节点120w节点120z间的本地故障可能是连接至节点120w的网络接口卡170A的活动信道上的第一个交换机2401的一个故障。交换与节点120w的网络接口卡170B的数据通讯容许通过第二交换机2402与节点120z通讯。

    如果检测到一个网络故障,本地交换数据通讯为备用信道对于恢复通讯是不足够的。容错网络200中的一个网络故障其特征是一个设备故障,它影响与节点120的所有网络接口卡的通讯。例如,在节点120w节点120z间的网络故障可能是第二个交换机2402的一个故障。交换通讯从节点120w的网络接口卡170A至170B不足以恢复与节点120z的通讯,因为二个信道通过第二交换机2402路由。在这种情况下,管理器节点250的网络接口卡170A和170B关闭该环,如用虚线255所示,并容许通过管理器节点250进行数据通讯。因为有了通过管理器节点250的数据通讯,尽管第二交换机2402出现故障,还是恢复了在节点120w和120z之间的通讯。

    在活动资源一般与正常数据通讯有关以及在某些活动资源出现故障的情况下备用资源一般与数据通讯有关的指导下,活动和备用资源即物理网络元件的选定是用户可决定的。作为一个例子,网络接口卡170A可以指定为活动信道使用,而网络接口卡170B可以指定为备用信道使用。可以理解,活动信道的选择是由用户决定的,而且该选定在本例中可以交换,而不偏离本发明的范畴。然而,应该注意到节点120z描述为只有一个网络接口卡170A。相应地,节点120z的网络接口卡应该指定为一个活动设备,因为它是与节点120z进行正常数据通讯的唯一选择。

    根据实施例包括容错管理器的节点120的结构一般性地示于图3A中。图3A的节点120可应用于每个容错网络结构,即多网络系统和单容错网络。图3A描述了节点120,它包括在与通讯API(应用程序接口)层330联系的一个应用层325。应用层325和通讯API层330一般涉及所示的OSI模型层5-7。节点120还包括一个与通讯API层330联系的传输/网络协议层335。传输/网络协议层一般涉及OSI模型层3和4。NIC交换机240在它的上端联系传输/网络协议层335,在它的低端联系NIC驱动器350A和NIC驱动器350B以及容错管理器355。NIC驱动器350A启动网络接口卡170A和NIC驱动器350B启动网络接口卡170B。NIC交换机340,容错管理器355,NIC驱动器350A和350B,网络接口卡170A和170B一般涉及OSI模型层2。网络接口卡170A连接至活动信道,网络接口卡170B连接至备用信道。

    容错管理器355作为一个单独对象与每个节点在一起。然而,一个节点的容错管理器通过活动和备用信道与连接网络的其它节点的其它容错管理器通讯,具有分布式故障检测和恢复能力。容错管理器355有容错管理器配置工具360,用来编程和监视它们的行为。而且,容错管理器355和NIC交换机340可以合并为一个单个软件对象。

    图3B描述有一个处理器310和一个机器可读介质320的节点120。机器可读介质320有保存其中的指令,它使得处理器310完成这里公开的一个或多个方法。尽管处理器310和机器可读介质320描述为包括在节点120之中,但没有需要它们应该包括其中。处理器310或机器可读介质320可以联系节点120,但物理上与节点120分开。

    图4描述了节点120的一个更具体的实施例,它包含在微软Windows NT平台上实现的容错管理器。参考图4,该实施例的节点120包括与WinSock2层430联系的应用层325。WinSock2层430与传输/网络协议层335联系。传输/网络协议层335包含一个TCP/UDP(传输控制协议/用户自寻址协议)层434,一个IP(互连网协议)层436和NDIS(物理数据接口规格)协议层438。TCP和UDP是OSI模型的传输层的通信协议。TCP用在数据分发保证所需的地方,同时UDP运行时不需保证数据分发。NDIS协议层438提供与网络设备接口规格(NDIS)480的通信。

    NDIS480在它的的上端和下端与NIC交换机340联系。NDIS480的该部分称为中间驱动器,NDIS480也与NIC驱动器350A和350B联系。NDIS480的该部分称为微型端口驱动器。NDIS480一般提供在传输/网络协议层335和物理层即网络总线110A和110B之间通信。

    NIC交换机340还包括一个微型端口层442,一个协议层444和虚拟驱动446A和446B。微型端口层442提供在NIC交换机340的上端与NDIS480的通信。协议层444提供在NIC340的低端与NDIS480的通信。

    NIC驱动器350A和350B还分别包括一个微型端口层452A和452B。微型端口层452A在NIC驱动器350A的上端提供与NDIS480的通信。微型端口层452B在NIC驱动器350B的低端提供与NDIS480的通信。

    容错管理器355与NIC交换机340联系。容错管理器355有一个窗口驱动模型(WDM)456,用来与容错管理器配置工具360通信。窗口驱动模型456使得通过各种Windows平台的容错管理器355有较易的可携带性。

    图4中的各种元件还能描述为表1中所示的软件对象。单个的软件对象经过API调用通信。与每个对象有关的调用在表1中列出。

    表1

    软件对象和API调用对象职责APIIP层436 a)与物理层直接通信MPSendPackets(Adapter,PacketArray,NumberOfPackets)NIC驱动350 a)与物理层直接通信 b)根据包格式路由包至IP  层436或FTM355.CL ReceiveIndication(Adapter,Macreceive Context,header buffer,HeaderBufferSize,lookaheadbuffer,lookahead buffer size,packet size).ReceiveDelivery(Adapter,Buffer)FTM355 a)执行分布式故障检测 b)直接分布式故障恢复.FTMSend(dest,type,data,Datalength,Adapter).ProcessMSg(Msg).InitFTM()_.AmIFirst().FTMTskewInterrupt().SetParameters().ReportChannelStatus().ForceChannel(Channel X)FTM配置工具360 a)提供FTM355的编程及从 FTM355反馈.ReportNetworkStatus(data).StartTest(data).ReportTestResult(data).SetParameters(data)NIC交换机340 a)直接选择活动网络,如同.FTMProcessMsg(Content)由FTM355决定.AnnounceAddr().UpdateAddr().Send(Packet,Adapter).IndicateReceive(Packet).SwapChannel().ForceChannel(Channel X)

    故障检测

    容错管理器节点355检查分布的故障检测和故障恢复。下面将详细描述与本发明的容错网络关联的二个故障检测模式。其它的故障检测模式对阅读本说明书的本领域的技术人员来说是显然的。一般地,任何故障检测模式是足够的,如果它能够检测到至少一个网络元件的故障并报告该故障。例如,一个以令牌为基础的网络协议中,一个网络故障能有一个故障来表示在一个分配好的时间内接收该令牌。该故障检测模式不必要区分网络故障的类别,只要它认识到存在一个故障。本领域的技术人员将看到下面的描述可以外推至包含不止一个备用信道的容错网络。

    在一个实施例中,容错管理器355的故障检测模式使用消息对。在该实施例中,每个节点发送一对消息。该消息对的一个消息通过活动信道发送。该消息对的其它消息通过备用信道发送。该消息对每隔Tp周期发送一次。在这里,这些消息称为“I_AM_ALIVE”消息。

    一旦接收到一个“I_AM_ALIVE”消息,每个接收节点将有一个时间Tskew来接收该消息对的剩下的“I_AM_ALIVE”消息。用户挑选Tskew设置一个可接收的中断周期。一个中断周期是在检测到故障之前网络故障使网络通信不能的最长时间。中断持续时间一般由Tp和Tskew的函数来定义,这样中断周期等于(MaxLoss+1)*Tp+Tskew,其中MaxLoss等于用户设置的最大可容许的“I_AM_ALIVE”消息丢失。很明显用户控制可接收的中断周期,同时通过操纵MaxLoss,Tp和Tskew平衡带宽使用。

    如果第二个“I_AM_ALIVE”消息在时间Tskew内没有收到,在MaxLoss等于0的情况下,接收节点将声明一个故障并向容错管理器355报告故障。在另一个实施例中,接收节点将不报告该故障,除非失败的消息对的数目超过某些非零MaxLoss。在另外一个实施例中,接收节点将在二个失败消息对即MaxLoss等于1之后报告该故障。在前面二个实施例中,如果消息对在超过最大可容许的故障之前成功完成,失败消息的计数器被复位,这样下一个消息对故障不会导致报告网络故障。

    图5描述了这些“I_AM_ALIVE”消息的时间表。标记为节点i的的发送节点发送“I_AM_ALIVE”消息对至标记为节点j的接收节点。该消息经过用实线表示的活动信道发送和用虚线表示的备用信道。在从其它网络接收第一个消息之后从一个网络接收第二个“I_AM_ALIVE”消息的绝对时间差值,与在图5中示出的Tskew比较,接收的次序并不重要。以一个不同于发送次序的次序接收“I_AM_ALIVE”消息而没有表示一个故障是可接收的。

    为了管理消息对故障检测模式,每个绝对为在网络上的每个节点维护一个消息对表。一旦接收到一个消息对消息,接收节点检查看看消息对是否已经为发送节点接收。如果是的话,接收节点清除该表中的发送者条目的计数器。如果消息对的剩余消息没有接收到,而且失败的消息对超出MaxLoss,接收节点将发送节点的条目放在Tskew队列中作为一个计时器事件。该Tskew队列有助于单个计时器的使用。该计时器事件在Tskew队列中系列化。当为一个条目设置一个计时器时,指向该条目的指针和超时值加到Tskew计时器队列的尾部。该Tskew计时器检查队列中的条目以决定是否应该产生一个超时事件。图6A示出了消息对表610,Tskew队列612和计时器中断614的相互作用。如同所示,消息对表610包括发送者ID域,来自主网络的“I_AM_ALIVE”消息的计数器(标为活动计数),来自二级网络的“I_AM_ALIVE”消息的计数器(标为备用计数),和一个等待标记表示该条目是否在一个MaxLoss还没有被超过的暂时状态。计时器事件616有二个域。第一个域标记为Ptr,是一个指向生成计数器事件的消息对表条目的指针,用线618表示。第二个域标记为Timeout,表示当前时间,即计时器条目生成的时间加上Tskew。如果在Timeout之前没有收到消息对,Tskew计时器将生成一个关于检查用线620表示的队列的超时事件。

    图6B和6C描述了刚刚描述的故障检测模式的状态机器图。图6B和6C假设一个MaxLoss,因此表示第二消息对丢失故障。该符号是用形式(XYZ),其中X是从活动信道接收的消息数目,Y是从备用信道接收的消息数目,Z表示遭遇故障的信道。Z在描述的实施例中能有三种可能值,如果没有故障被检测出为0,如果活动信道表示一个故障为A,如果备用信道表示一个故障为B。围住(XYZ)的实线表示一个稳定状态,虚线表示一个暂时状态。如图6B所示,(200)表示在备用信道上的一个故障,(020)表示活动信道上的一个故障。在出现这二种故障的情况下,该节点将向网络容错管理器报告故障并依照表示有故障的信道进入恢复模式。

    图6C描述备用信道上故障之后的状态机器图。在该阶段有三种可能方案,要么状态变为(000)表示返回一个稳定的无故障条件,该状态继续表示备用信道上的一个故障,要么该状态表示活动信道上的一个故障。活动信道上的故障之后的相应的状态机器图对本领域的一般技术人员将是显然的。

    容错管理器355可用的第二种故障检测模式是链接完整性脉冲检测。链接完整性脉冲由IEEE802.3标准定义为是一个100毫秒的脉冲,它由所有的兼容设备传输。该脉冲用来证实网络电缆传输的完整性。链接完整性脉冲故障将向容错管理器355提示一个故障报告。

    容错管理器355是可配置的,通过它的容错管理器配置工具360来有选择地使用一个或多个故障检测模式。在只有一个集线器或交换机的简单网络中,有需要专门依靠链接完整性脉冲检测作为故障检测模式,从而减少生成,发送和监视“I_AM_ALIVE”消息的需要。然而,应该注意到,一个故障检测模式可以能够检测另一个故障检测模式不能检测的故障类型。例如,链接完整性脉冲可能不能检测消息对故障检测模式能发现的部分总线故障。

    地址管理

    一个NIC交换机处理多个网络地址。NIC交换机340使用一个MAC地址表来解决状态的地址问题。为了解释这个概念,我们将参考图7。图7描述了连接网络700的二个节点120i和120j。网络700可以或是一个多网络系统或是一个单容错网络。参考节点120i,网络接口卡170Ai与网络地址ACTIVE.a有关,网络接口卡170Bi与网络地址STANDBY.b有关。参考节点120j,网络接口卡170Aj与网络地址ACTIVE.c有关,网络接口卡170Bj与网络地址STANDBY.d有关。现在参考表2,如果节点120I希望发送一个数据包至节点120j并定址为ACTIVE.c,NIC交换机340I使用MAC地址表。如果主网络是活动的,NIC交换机340i将数据包直接指向网络总线110A上的地址ACTIVE.c。如果二级网络是活动的,NIC交换机340i将数据包直接指向网络总线110B上的地址STANDBY.d。在接收节点120j上,NIC交换机120j将收到一个二个地址ACTIVE.c和STANDBY.d的有效数据包。

    表2

    MAC地址映射表目标节点ID活动信道地址备用信道地址I ACTIVE.a STANDBY.bJ ACTIVE.c STANDBY.d

    MAC地址映射表是使用一个容错网络地址解析协议(FTNARP)自动产生的。当一个网络节点初始化,它通过容错网络使用一个AnnounceAddr() API调用广播它的MAC地址。每个接收节点将向它的MAC地址映射表使用一个UpdateAddr() API调用增加这种FTNARP信息。每个接收节点还将回答源节点它自己的MAC地址,如果发送节点的信息在接收节点的MAC地址映射表中不先前存在。于是源节点将产生它的MAC地址映射表作为这些回答地址的结果。

    本发明可用于带有路由器的容错网络。这样的容错网络的一个例子在图8中描述。图8中的容错网络包括连接主网络总线110A和二级网络总线110B的二个节点120i和120j。网络总线110A和110B分布包括插在节点120i和120j之间的路由器800A和800B。

    在包括路由器的本实施例中,一个IP切换功能在NIC交换机中实现。NIC交换机包括一个类似MAC地址映射表的IP地址映射表。然而该IP地址映射表只包括减少存储器使用的活动目标映射。

    使用IP地址映射表,NIC交换机交换在发送节点上的每个帧中的IP目标地址,并交换回接收节点上的IP地址。一旦经过包括节点的目标缺省地址的备用网络接收一个FTNARP包,那个接收节点发送回一个FTNARP回答包。为了优化内核存储器使用,FTNARP表能包括只有类似IP地址映射表的活动目标映射条目。在这种情况下,当节点从源节点接收到一个FTNARP包时,该接收节点用一个FTNARP回答响应主网络和二级网络。对主网络的回答,在这种情况下假设是活动的,发送至IP层来更新地址映射表。对二级网络的回答保留在FTNARP表中。

    故障恢复:信道交换模式

    信道交换恢复模式最好参照图1B的多网络系统的情况和图2单容错网络的情况进行描述。在这种故障恢复模式,所有节点都将指示向备用信道交换数据传输。

    参考图1B,如果任何节点检测到并报告一个故障,所有节点将被指示开始使用备用网络。在这种情况下,在节点120i和120x之间的数据流量在故障恢复前将通过网络接口卡170Ai,主网络总线110A和网络接口卡170Ax。在故障恢复之后,在节点120i和120x之间的数据流量将通过网络接口卡170Bi,二级网络总线110B和网络接口卡170Bx。

    参考图2,如果任何节点120检测到并报告一个故障,所有节点将被指示开始使用备用网络。然而,在容错网络200的情况下没有物理上的备用网络。在这种配置中,逻辑活动网络和逻辑备用网络通过使用第一个MAC多点传送组来将所有活动信道地址组合成一个逻辑活动网络,第二个MAC多点传送组将所有备用信道地址组合成一个逻辑备用网络。如果管理器节点250检测到一个网络故障的话,管理器节点250的网络接口卡170A和170B链接在一起来关闭网络总线110的环,有助于逻辑备用网络上的通信。

    故障恢复:设备交换模式

    另一种故障恢复模式是设备交换模式。在这种故障恢复模式中,只有检测到一个故障的那些节点将被指示向备用信道交换数据传输。所有节点或在故障恢复前或在故障恢复后从信道接收有效数据包。再参考图1B(在多网络系统的情况下),如果节点120i检测到并报告一个网络故障。它将被指示开始使用备用信道。在这种情况下,从节点120i至节点120x的数据流量在故障恢复前将通过网络接口卡170Ai,主网络总线110A和网络接口卡170Ax。在故障恢复之后,来自节点120i的数据流量将被指向备用信道。相应地,故障后从节点120i至120x之间的数据流量将通过网络接口卡170Bi,二级网络总线110B和网络接口卡170Bx。如果节点120x还没有检测到该故障,它将继续使用它的活动信道发送数据。而且,节点120x将或者通过网络接口卡170Aj或者通过网络接口卡170Bj接收有效数据包。该设备交换恢复模式在单容错网络的情况下类似工作。

    示例性实现

    图9描述了一个消息中断流程的流程图。如图9中所示,在910,一个节点从另一个节点接收一个容错管理器消息(FTMM)。然后在912,容错管理器检查该节点的活动信道ID是否与该消息指示的活动信道ID一样。如果节点的活动LAN ID不同,在914,该节点运行Swap_Channel()来修改该节点的活动LAN ID。然后在916,容错管理器获得该消息对表的转锁。该转锁是保护共享资源的资源机制。在918,该容错管理器检查发送节点的一个条目是否存在于该消息对表之中。如果是的话,在920该条目通过UpdateState()更新。如果不是的话,在922向该表增加一个条目。该转锁在924被释放,处理重复。

    图10A描述了ProcessMsgPair()流程的消息对表操作的一个实施例的流程图。如图10所示,在1002从活动信道上的一个发送节点接收到一个“I_AM_ALIVE“消息。在1004,接收节点的消息对表中的发送节点的计数器增加。在1006,如果从备用信道上的发送节点接收的消息数目大于0,在1008,两个计数器被清空和如果在1012等待,在1014 Tskew被复位。如果在1006从备用信道上发送节点接收的消息数不大于9,在1010,来自活动信道上的发送节点消息数目与MaxLoss比较。在1010,如果MaxLoss被超过,在1016生成一个超时,它等于当前时间加Tskew。在1018,该超时条目以及它的指针增加到Tskew队列中,在1020复位Tskew,处理重复。如果在1010,MaxLoss没有被超过,不生成一个超时并且没有条目放在该队列中。

    图10B描述了10A流程图的一个变化。在该实施例中,在1036一旦清除计数器,在1040检查该队列条目看看它是否在Tskew队列中。如果是的话,在1044从该队列中将它解除。而且,在1048,Tskew不被复位而不管它是否在等待。

    图10C描述ProcessMsgPair()流程的操作。图10A描述了ProcessMsgPair()流程的消息对表操作的一个实施例的流程图。如图10C所示,在1060从活动信道上的一个发送节点接收到一个“I_AM_ALIVE“消息。在1062,接收节点的消息对表中的发送节点的计数器增加。在1064,如果从备用信道上的发送节点接收的消息数目大于0,在1066,MsgFromA计数器和MsgFromB计数器计数器被清空,在1072,Tskew中断计时器复位。在1064,如果从备用信道上的发送节点接收的消息数目大于0,在1068,来自活动信道上的发送节点消息数目与MaxLoss比较。在1068,如果MaxLoss被超过,在1016生成一个中断计时器,它等于当前时间加Tskew。如果在1068,MaxLoss没有被超过,不生成一个中断计时器。在这二种情况下,在1074,处理重复接收下一个“I_AM_ALIVE“消息。

    图11A描述了Tskew计时器操作的一个实施例的流程图。开始于1102,在1104,该计时器等待一个将要设置的计时器事件。在1106队列中的最老的条目被解除。在1108,如果来自活动信道消息的计数器和来自备用信道消息的计数器都等于0,将控制传动回1106。如果该条件不满足,在1110该等待标志设为TRUE。在1112,计时器等待复位或超时。如果在1114出现复位,控制返回1106。如果在1114出现超时,在1116Tskew队列被清空。然后在1118计时器决定哪个信道表示该故障。如果在1118备用信道表示一个故障,在1122该消息计数器被清空并且控制返回至1104。如果在1118活动信道表示一个故障,在1120调用SwapChannel()来将通信交换给二级网络。

    图11B描述了Tskew计时器操作的一个实施例的流程图。开始于1130,在1132,该计时器等待一个将要设置的计时器事件。在1134,队列中的最老的条目被解除。在1134该等待标志设为TRUE。在1138,计时器等待复位或超时。如果在1140出现复位,控制返回1134。如果在1140出现超时,在1142,Tskew队列被清空。然后在1144计时器决定哪个信道表示该故障。如果在1144备用信道表示一个故障,在1144该消息计数器被清空并且控制返回至1132。如果在1144主网络表示一个故障,在1146调用SwapChannel()来将通信交换给二级网络。

    图12A描述了Tskew计时器中断流程的一个实施例的流程图。如所示,在1202一个节点i检测到一个过期的Tskew。然后在1204,决定哪个信道表示一个故障。如果在1204备用信道表示一个故障,在1206向容错管理器报告一个警报,但对活动信道没有任何改变。如果在1204活动信道表示该故障,在12086向容错管理器报告一个警报并且在1210调用SwapChannel()来将通信从活动信道交换为备用信道。

    图12B描述了Tskew计时器中断流程的另一个实施例的流程图。如所示,在1220一个节点i检测到一个过期的Tskew。然后在1222,决定哪个信道表示一个故障。如果在1222备用信道表示一个故障,在1230向容错管理器报告一个警报,然后执行调用IndicateStandbyFailure()。如果在1222活动信道表示该故障,在12086向容错管理器报告一个警报并且在1226调用SwapChannel()来将通信从活动信道交换为备用信道。在1228,该处理重复。

    图13描述了SwapChannel()流程的一个实施例的流程图。在1302初始化之后,一个节点拨动它的适配器为交换信道。在1306,该容错管理器活动信道ID消息设为活动信道ID。在1308,该节点检查是谁启动了该交换。如果该节点被另一个节点指示交换信道,该处理完成并准备重复。如果该节点启动该交换,在1310生成容错管理器SWAP_CHANNEL消息并在1312由多点传送发送通过活动网络。

    图14描述了与设备交换故障恢复模式有关的消息中断流程的一个实施例的流程图。如所示,在1402,一个节点接收一个包。于是在1404该节点决定它是否为一个容错管理器消息或数据。如果是数据的话,在1406,该包向上传递给应用层。如果是一个容错管理器消息,在1404该节点还决定它是否是一个DEVICE_SWAP消息或一个I_AM_ALIVE消息。如果是一个DEVICE_SWAP消息,在1408,更新NIC交换机的MAC地址映射表以及活动信道标志。如果是一个I_AM_ALIVE消息,在1410该节点检查该消息对表看看是否已经收到一对I_AM_ALIVE消息。如果是的话,在1414,该消息对表被清空并且Tskew被复位。如果已经收到一对I_AM_ALIVE消息,在1412,该消息对表被更新并且Tskew计时器被复位。

    图15描述了与设备交换故障恢复模式有关的Tskew计时器中断的一个实施例的流程图。在1502,如果发送节点i的Tskew已经过时,在1504,接收节点检查该故障是否在活动信道上或在备用信道上。在1504,如果故障在备用信道上,在1510,接收节点向容错管理器消息发出一个警报,表示备用信道的故障。在1504,如果故障在活动信道上,在1506,NIC交换机的MAC地址映射表被更新。如在方框1520所示,该更新涉及设置节点i的活动信道标志从A到B,表示将来的通信应当直接指向节点i的STANDBY地址。在1508,生成容错管理器消息DEVICE_SWAP消息并发送至发送节点。然后在1510接收节点向容错管理器消息发出一个警报表示活动信道的一个故障。

    图16描述了ProcessMsg()流程的一个实施例的流程图。在1602接收到一个容错管理器消息。在1604,如果该消息是一个I_AM_ALIVE消息,在1610执行调用ProcessMsgPair(),并且在1612处理重复。如果该消息是一个SWAP_CHANNEL消息,该节点决定该节点的活动信道ID是否与该消息的活动信道ID一样。如果是的话,不采取任何行动并且在1612处理重复。如果该节点的活动信道ID不同于该消息,在1608该节点进入一个故障恢复模式,如果该节点使用一个信道交换故障恢复模式,交换信道,如果该节点使用一个设备交换故障恢复模式,不采取任何行动。控制从1608返回至1612,处理重复。

    图17描述消息对发送操作的一个实施例流程图。在1702,该处理开始于Tp计时器的过时。一旦该计时器过时,在1704该计时器复位。在1706生成一个I_AM_ALIVE消息并且在1708作为容错管理器消息在每个信道上多点传送。然后在1710该节点睡眠,等待Tp计时器再次过时,在1702重复处理。

    图18描述了节点启动流程的流程图。该过程开始于1802,在1804,数据结构,Tp计时器和MaxLoss初始化。对于单容错网络的情况,在1806为每个连接着的信道注册一个容错多点传送组地址。对于多网络系统的情况,为所有连接着的信道注册一个容错多点传送组地址。对于这二种情况,在1808确认活动信道,在1810该节点进入故障检测状态。

    图19描述了IndicateStandbyFailure()流程的流程图。该处理开始于1902。在1904生成容错管理器STANDBY_LAN_FAILURE消息,以响应备用信道故障的检测。备用信道上的故障检测镜象描述活动信道上的故障检测的处理。然后在1906在活动信道上多点传送STANDBY_LAN_FAILURE消息向每个节点的容错管理器表示对于活动信道的故障恢复备用信道是不可用的。在1908该处理重复。

    结论

    公开了容错网络的实现方法。该方法提供给网络容错管理器用于检测网络故障和操作一个节点来与一个活动信道通信。该方法特别适合于以太网LAN。

    在一个实施例中,该网络容错管理器通过使用消息对监视网络状态,链结完整性脉冲或二种故障检测模式的结合。故障检测模式的选择在另一个实施例中是可配置的。该网络容错管理器作为中间件执行,从而促进COTS设备的使用,现有网络结构的执行和传统传输/网络协议如TCP/IP或其他协议的使用。网络容错管理器在每个节点上并与其他节点的其他网络容错管理器通信。

    在一个实施例中,网络容错管理器将每个网络节点的通信从经历故障的信道切换成备用信道。在另一个实施例中,该网络容错管理器将检测一个故障的节点的通信从已有故障的信道切换到备用信道。

    虽然本发明结合各种实施例描述,但不意味着限制本发明于一种这样的实施例。许多其他的实施例对于阅读以上描述的本领域的技术人员是很显然的。

容错网络.pdf_第1页
第1页 / 共55页
容错网络.pdf_第2页
第2页 / 共55页
容错网络.pdf_第3页
第3页 / 共55页
点击查看更多>>
资源描述

《容错网络.pdf》由会员分享,可在线阅读,更多相关《容错网络.pdf(55页珍藏版)》请在专利查询网上搜索。

实现容错网络的方法和设备提供网络容错管理器检测故障并操作一个节点与一个活动信道通信的一个节点。故障检测结合一个或多个方法,包括消息对和链接脉冲检测。故障恢复包括切换所有的数据通讯至备用信道或切换哪些检测到一个故障的节点。节点间的通信提供分布式检测,同时检测节点向他们的网络容错管理器报告故障并且网络容错管理器向所有节点多点传送故障恢复。该网络容错管理器是中间件,与每个节点一起位于网络物理层之上和在网。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1