多个容错网络中的非容错网络节点 【技术领域】
本发明总体涉及计算机网络,更具体地涉及一种在容错网络中提供非容错网络节点可操作性的方法和装置。
背景技术
计算机网络对在利用计算机工作的环境中的通信和生产率已经变得日益重要。电子邮件已经在许多情况中代替了纸件邮件和传真作为信息传播的工具,因特网上大量可获得的信息已经变成许多与工作相关和与个人相关的任务的无价资源。在计算机网络上交换数据的能力使得能共享工作环境中诸如打印机等计算机资源,使得能对连网计算机进行基于网络的中央管理。
例如,办公室职员的个人电脑可以运行通过网络自动安装和更新的软件,这种软件生成的数据被打印到由若干不同办公室人员共享的连网打印机。可以用网络来保存每个个人电脑中安装的软件和硬件的清单,这极大地简化了清单管理任务。每台个人电脑的软件和硬件配置也可以通过网络管理,使连网环境中地用户支援的任务更加容易。
连网计算机通常也连接到一个或多个向连网计算机提供数据和资源的网络服务器。例如,服务器可以存储许多可由连网计算机执行的软件应用程序,或者可以存储可被连网计算机访问和使用的数据库。网络服务器通常也管理某些能被任何一个连网计算机使用的连网设备,诸如打印机。服务器也可以方便连网计算机之间的诸如电子邮件的数据的交换以及其它类似的服务。
从本地网络连接到诸如因特网的更大型网络,能通过诸如提供电子邮件访问或对万维网的访问而提供更大的交换数据的能力。这些数据连接使通过因特网从事商务活动变得切实可行,并且促进了计算机网络的发展和使用。提供诸如电子商务、流式音频或视频、电子邮件等数据和服务功能或提供其它内容的因特网服务器依赖本地网络以及因特网的运行来提供在这种数据服务器与客户计算机系统之间的路径。
但是像其它电子系统一样,网络是要出故障的。错误配置、断线、电子部件故障、以及许多其它因素会引起计算机网络连接出故障,导致计算机网络可能的失灵。可以通过使用备用或冗余网络部件使诸如过程控制、医疗或其它关键应用等关键网络环境中的这种故障最小化。例如,通过使用与关键网络节点的第二网络连接,能提供与第一网络连接相同的功能。但是,便于在发生网络故障时的运行的网络连接管理却可能是件困难的任务,并且其本身就受制于网络系统或用户正确检测网络错误和弥补网络错误的能力。此外,当基本和冗余网络产生错误时,无论哪个网络的唯一使用都不能提供完全的网络可操作性。
一种解决方案是使用能用冗余通信信道来检测和管理计算机网络的状态的方法或装置。这种系统融合了各种能够检测并管理节点与每个与该节点相连的其它容错网络节点之间的通信信道的状态的实施例节点。在有些实施例中,这种网络节点采用一个网络状态数据记录来指示基本和冗余网络的每一个与另一个节点的连接的状态,并进一步采用使得能确定用于在每对节点之间收发数据的可操作数据路径的逻辑。
但是这种网络最好要包括没有完全容错功能的节点。这种非容错网络节点的一个普通例子是一台具有内置网络连接的标准的办公室用激光打印机。需要一种便于与这种容错网络系统中的非容错网络节点通信的方法和装置。
【发明内容】
本发明提供一种用于操作容错网络环境中的非容错网络节点的方法和装置。在有些实施例中,将网络中出现的非容错的任何网络节点的网络地址或网络位置存储起来,要发往被检测到的非容错网络节点的数据仅通过该非容错网络节点与之相连的网络被路由。在各种其它实施例中,容错网络包含一个具有附接到每个网络的容错网络节点的基本和冗余网络;附接到基本网络或冗余网络的非容错网络节点于是就能通过只通过该非容错网络节点与之相连的网络传送的数据与任何容错网络节点通信。
【附图说明】
图1表示符合本发明实施例的带有多个容错网络节点的容错计算机网络的示意图,该网络有基本和冗余网络连接并且有多个非容错网络节点。
图2表示符合本发明实施例的在容错计算机网络中管理与非容错网络节点通信的方法的流程图。
【具体实施方式】
在以下对发明实施例的详细说明中,参考构成本说明一部分的各附图,附图中表示可以实现本发明的示意性的具体实施例。这些实施例的细节充分的描述,使本领域的熟练人员能实践本发明;要明白也可以使用其它实施例,并且在不偏离本发明精神和范围的情况下可以作出逻辑的、机械的、电力的和其它的改变。因此,以下的详细说明不应认为是限制性的,本发明的范围只能由权利要求书界定。
本发明提供一种在容错计算机网络中管理与非容错网络节点通信的方法和装置。本发明的各种实施例能够标识非容错网络节点的网络位置和地址,能够仅通过网络的某些部分路由数据,以与非容错网络节点通信。有些实施例中的网络包含具有与每个容错网络节点的连接的一个基本网络和一个冗余网络,并且本发明包含仅通过非容错网络节点与之相连的网络向连接到基本网络或冗余网络的非容错网络节点路由信息。
本发明的各种形式是在诸如以太网的现有网络接口技术范围内实现的。在这样一个实施例中,容错网络包含两个与每个容错计算机或节点的以太网连接-一个基本网络连接和一个容错网络连接。就本发明而言,哪个连接是基本连接、哪个连接是冗余连接并不重要,因为这些连接在物理上和功能上都是相似的。在这里所讨论的实施例中,基本和冗余网络连接是可互换的,其名称主要是为了将这两个网络互相区别。基本和冗余网络每个也可以有一个或多个非容错网络节点连接着,利用本发明可方便与这种非容错网络的通信。
图1表示一个示例性的容错网络,具有容错网络节点101、102和103。基本网络104和冗余网络105将每个节点与网络的其它节点连接,如连接各节点与每个网络的直线所示的那样。非容错网络节点也连接到每个网络,包括与基本网络104相连的非容错网络节点106和与冗余网络105相连的非容错网络节点107。
连接着容错网络节点的容错网络连接被设置得使得容错网络节点能在多重网络故障的情况下互相通信,例如在有些实施例中,使用特定的节点至节点通信规则和每个节点内的网络状态监测功能。容错网络的各种实施例中的通信规则有利于根据存储在每个容错网络节点中并在每个容错网络节点之间传送的网络状态数据确定每对节点之间的网络路径。这种系统的每个容错网络节点必须能够识别非容错网络节点并改变其通信规则,以便与诸如图1的网络例子中的节点106和107的非容错网络节点通信。
在典型的单一网络配置中,要发往网络节点的数据被简单地通过网络发送到目的节点。但是如果将多个网络组合起来构成一个诸如图1的网络的能够弥补多重故障的容错网络,则最好将要发往诸如节点106或107的某个非容错网络节点的数据通过该非容错网络节点与之相连的特定网络发送。
在本发明的有些实施例中,将要发往诸如非容错网络节点106的非容错网络节点的数据简单地广播,或者通过基本网络104和冗余网络105二者传送,以确保数据被发送到该非容错网络节点与之相连的网络。这种系统无须跟踪非容错网络节点的地址或位置,而只是依靠冗余网络105的网络接口适配器来滤出多余数据。但是这种配置依靠与冗余网络105相连的节点忽略要发往不与该网络附接的某个网络节点的数据的能力,并且还浪费冗余网络上的网络带宽。
本发明的其它实施例包含保持所检测到的在基本网络104和冗余网络105这两个网络上存在的非容错网络节点一个地址表,并进一步将每个地址或非容错网络节点与在其上检测到节点地址的网络相关联。在本发明的有些实施例中,非容错网络节点地址的检测包含监测和截获被某些IP兼容的网络设置中的每个节点发送的因特网协议(IP)地址解析协议(ARP)包。例如,以太网网络中每个ARP包含唯一地标识传送该ARP包的媒体访问控制(MAC)地址。被截获的每个非容错网络节点的MAC地址然后与在其上检测到该非容错网络节点的网络一起被记录下来。在其它实施例中,可以将其它网络硬件和通信协议用于相同目的,这都在本发明的范围之内。
在本发明的这种实施例中,要从容错网络节点向非容错网络节点发送数据,就要在发送容错网络节点的被存储的地址记录中寻找所需节点的地址,然后确定相关的网络。例如,如果容错网络节点101启动向非容错网络节点106的数据传输,节点101搜寻其存储的地址记录,找到节点106的地址,并且进一步发现节点106的地址数据在基本网络104上而不是在冗余网络105上被接收了。节点101于是只通过网络104发送要发往节点106的数据,而不需要通过冗余网络105发送相同的数据,占用额外的网络带宽。
在本发明的其它实施例中,诸如节点101的容错网络节点使用指示该节点与其它容错网络节点通信的能力的网络状态数据来重新路由(reroute)要发往网络故障周围的非容错网络节点的数据。这在有些实施例中的实现方法是,一开始在该非容错网络节点没有驻留的网络上发送数据,并用选定的容错网络节点将所发送的数据传送到在非容错网络节点的网络上的某一点上的、该非容错网络节点驻留的网络,使得该非容错网络节点的网络上的故障不在传送节点与该非容错接收节点之间。在其它实施例中,可以将数据重新路由过容错网络,以避免多重故障,这属于本发明的范围。
在其它实施例中,如果含有非容错网络节点的地址和网络数据的记录不含关于目的地非容错网络节点的数据,则发往非容错网络节点的数据是通过容错网络系统中的所有网络而不是通过一个网络发送的。发送这种数据包含在以上讨论的图1所示的网络例子的基本和冗余网络二者上发送或复制数据。
图2是在诸如图1中的网络例子中的容错网络中的容错网络节点与非容错网络节点之间管理通信的方法的流程图。在201,每个容错网络节点确定每个网络上与该容错网络节点相连的任何非容错网络节点的网络地址。这可以通过任何适当的方式实现,包括搜索由该非容错网络节点传送的IP ARP包或其它标识数据。在202,每个容错网络节点进一步确定每个非容错网络节点所在的网络。在有些实施例中,这只包含检测在检测容错网络节点中的哪个网络适配器检测到该IP ARP包或其它标识数据。在203,容错网络节点各自存储在201和202确定的数据。在一个实施例中,在所存储的数据中将每个非容错网络节点的地址和网络数据互相关联,使得只要查找某一个非容错网络节点的记录,就能既检索出该基点的网络地址,也能检索出该节点所驻留的网络的网络地址。在各种实施例中,网络地址和与每个非容错网络节点相关联的网络的确定以及这些数据的存储的过程是一个连续的过程,甚至在诸如图2的流程图的其它方框的执行的其它操作期间也发生。
在204,某容错网络节点开始向非容错网络节点发送数据。在205,在所存储的数据中搜索该非容错网络节点的地址和网络。在206,根据在所存储数据中是否存在该非容错网络节点的地址和网络数据的确定而作出决定。如果所存储数据中存在该地址和网络数据,则在207,仅通过所存储数据指出的该非容错网络节点与之相连的那个网络将要发送的数据从该容错网络节点发送到该非容错网络节点。在其它实施例中,将数据通过一个或多个中间节点发送到非容错网络节点,以避免一个或多个网络故障。如果地址和网络数据不在所存储数据中,则将要发送的数据通过该发送容错网络节点与之相连的所有网络发送,以确保目的地非容错网络节点收到数据。在图1的例子中,数据要通过基本网络104和冗余网络105这两个网络发送。
本发明提供一种使具有基本和冗余网络连接的网络能管理数据至该网络内的非容错网络节点的路由的方法和装置。本发明的有些实施例在每个容错网络节点内采用一个含有为每个非容错网络节点检测到的地址和网络数据的数据记录,该数据记录然后被容错网络节点用来确定发往特定非容错网络节点的数据应当通过那个网络发送。在有些实施例中,本发明包括重新路由因网络故障而不能被直接从容错网络节点传输到非容错网络节点的数据,并且包含路由该数据至一个或多个能便于节点之间通信的中间节点。
尽管本文解释和说明了特定实施例,对本领域的一般熟练人员来说,显然可以用为实现相同目的而设计的任何安排来代替所示的具体实施例。本申请旨在包含本发明的任何改编和变体。本发明仅受权利要求书以及与权利要求书相当的全部范围的限制。