在具有拓扑状态路由协议的通信网络中的资源匹配的拓扑数据库同步的制作方法

文档序号:7958265阅读:199来源:国知局
专利名称:在具有拓扑状态路由协议的通信网络中的资源匹配的拓扑数据库同步的制作方法
技术领域
本发明一般地涉及在具有拓扑状态路由协议的通信网络中的网络拓扑数据库同步领域,更具体地涉及一种用于在这样的网络中实现资源匹配的网络拓扑数据库同步的方法和装置。仅仅作为例子,本发明适于中断恢复之后的网络故障环境中或者导致网络重启动状态的其它环境中的数据库同步。
背景技术
为了在通信网络中的节点和节点群之间传播或者通告拓扑状态信息,拓扑状态路由协议在通信网络中被采用。通告的拓扑状态信息转而用于为整个给定网络通信计算最佳化路径。典型地,本领域技术人员都了解,拓扑状态信息表示网络域总体上的状态信息。另一方面,当处理特定网络节点本地发起的状态信息时,在本领域中典型地是指本地状态信息。本地链路状态信息将反映给定节点与其对等节点之间通信状态的理解。在本申请中,提到状态信息将表示拓扑状态信息和本地状态信息两者。
网络拓扑的状态信息典型地被存储在同步数据库中,该数据库也称为拓扑数据库,与路由域的每个网络节点相关联。典型地,同步数据库将被存储在所考虑的网络节点内。数据库同步是现有的拓扑状态路由协议机制,其确保网络内的相邻节点共享网络的所有拓扑的公用视图。网络节点可以是交换机、路由器,或者其它数据处理系统。
当按照拓扑状态路由信息操作的多节点网络体系结构被初始化时,例如在网络中断后协议启动,网络的不同节点的拓扑数据库必须每个都与它们的各个近邻节点的拓扑数据库同步。本领域技术人员所公知的,为了路由信息可以被共享,上述拓扑数据库的这种同步是必须的,以便允许利用每个网络节点的数据服务。当两个近邻节点之间的同步完成时,这样的近邻节点之间的链路可以被利用来提供数据服务。
本领域技术人员所公知的,按照不同技术执行两个近邻节点之间的同步。例如,在专用网络对节点接口或专用网络对网络接口(PNNI)协议中,该同步被实施为两个阶段。第一,为了在近邻节点之间建立双向通信,按照已知的“呼叫(Hello)”协议由每个网络节点发送消息。第二,在该近邻节点之间交换拓扑数据库信息直到它们的拓扑状态数据库被同步。PNNI协议在2002年4月,ATM论坛文件第af-pnni-0055.002号,标题为“PrivateNetwork Interface Specification Version 1.1”的文件中规定(PNNI规范)。因此PNNI规范在此引入作为参考。当然,缩写“ATM”代表“异步传输模式”。
上述同步必须在被网络中断或者网络其它原因或者部件故障影响的所有近邻节点之间和之中发生。为了降低网络收敛时间(convergence time),同步应当尽可能快地被执行和完成,目的是减少在启动期间网络服务的不可用性和最小化因路由行为的破坏网络不能运行的时间。
上面的讨论已经提出了影响网络的故障的冲击。然而,精通于这一领域的那些人将会意识到,涉及一个或多个物理或逻辑节点的故障也可能导致对由故障的普通节点服务的近邻节点的路由能力的某种程度的破坏。尽管在一些节点体系结构中在路由功能故障的情况下可能保留某些网络功能,诸如分组转发或者呼叫处理,然而在被允许进入路由系统之前诸如PNNI的拓扑状态协议要求域的每个网络节点将拓扑数据库与近邻节点的拓扑数据库同步。为了从节点故障中恢复,这样的拓扑数据库同步必须发生在这些网络协议中。在恢复的整个方案中,取决于具体情况,同步处理可能花费数秒钟或数分钟或更长时间。对服务提供商或者端用户,这一恢复时间可能会是不可接收的。恢复时间为什么长的一个原因就是绝大多数实施已经制约了必须被共享的数据库同步资源。如果尝试参与网络故障恢复的所有节点拥有有限数量的资源,那么需要受控的方式来确保这些节点优化地利用这些资源以便尽可能有效地使网络恢复,否则,以上提及的恢复延时是可以预期的。
在同步期间,由故障节点服务的网络设备将受到影响并且因此路由功能严重遭受损坏。尽管上述讨论已经聚焦到围绕从网络故障中恢复的难题,本领域技术人员将会认识到相似的问题起因于要求节点承担它的拓扑数据库的同步的其它事件,所述事件例如在网络节点的故障或者与网络节点相关的路由处理器的复位。作为例子,在一些拓扑状态协议中,为了使得路由功能为网络正常地操作,通信网络中的某些节点可以承担重要的或者附加的职责。在如J.Moy于1998年4月在RFC 2328,STD 54,“OSPF版本2”中描述的开放式最短路径最先(OSPF)IP路由协议中,被确定为指定路由器(DR)的节点将承担这样的职责。同样地,在PNNI协议中,被称为对等组领导(PGL)的节点承担这种性质的职责。当与一般网络节点的故障相比较,影响被指定具有前述附加职责的物理节点的故障可能影响与所述故障节点相关的网络节点的网络的相对更大部分。如果相关节点的数据库同步处理(即通过不具有受控方式的同步每个具有受限数据库同步资源的大量节点)中具有延时,那么PGL或DR功能可能也被延时。因此,由于这一延时可能更大数量的节点收到影响。
本领域技术人员所公知的,关于同步的当前目的和方法要求所有受到影响的近邻节点被同时包括在网络的重启或者恢复中。然而,随着网络规模的增加和每个网络节点必须同步的近邻节点数目的增长,同时使数据库与多个近邻节点同步变得日益难解决,因为同步处理是资源高度密集型的。许多节点的资源被召集来参与与近邻节点的同步行动,这些资源涉及存储器、缓冲器管理或处理能力。因此,同时同步所有受影响的近邻节点会降低同步节点的性能,使得所有或者部分同步节点在所有情况下可能不会最终获得同步。或者,根据如前所述的已知同步方法的资源承诺可能导致同步处理停止和重新启动。这可能潜在地负面影响与整个网络有关的启动时间,而且在某种情况下同步网络节点可能变得如此不可控制以至导致节点的级联故障直到节点不能操作。此外,在更大型的网络体系结构中,同步负担在当前实现中如此大以致于需要网络一次重启一个网络节点来确保网络的路由功能的正确重建。这也是非常繁琐的,手工强度大,以及增加了恢复故障网络要花费的时间。
已经寻找网络同步的更新的方法来限制任何给定网络节点可以尝试与之同时同步的近邻节点数量。例如,本领域技术人员理解这一限制可以是用于节点同时同步的近邻节点的设计的最大数目。典型地,同步近邻节点的最大数目远小于由节点为路由目的支持的近邻节点的最大数目。随着连网需求在全球范围内的继续增加,后者数目继续增加。当后者数目继续增加时,前者不能与后者一样地增加,同时选择相同对节点同步的多个节点的概率下降,这增加了预期的收敛和恢复时间。如果成对方式的再同步不受控,以及留下在目前网络中通常如此的随机机会,那么网络可能根本无法恢复,严重地影响服务。
因此,当面临从节点故障中恢复的状况或者可能需要节点如其先前那样同步其拓扑数据库的其它状况时,现有技术的拓扑状态路由协议出现了问题和挑战,而且无论受故障立即影响的节点是否具有突出的责任,这些问题和挑战都会出现。首先,已知的恢复机制典型地破坏至少部分网络的路由功能,并且导致服务影响利用网络的某些设备。受影响的部分网络将在具体情况下有所不同。例如,可以预料到对于执行突出功能的节点,比不执行该功能的节点,受影响的部分网络是更宽范围的。另外,可以预料受影响的部分对于涉及PNNI对等组领导的故障,比影响OSFP指定路由器的故障,更容易扩展。第二,从节点或者链路故障中恢复的时间将是不同的,但是可能是高达几分钟的量级或者更长时间。恢复延时的原因包括要同步的大量近邻节点、有限的数据库同步资源、以及失配的近邻节点,所述失配的近邻节点对再同步和恢复故障的部分网络会导致“偶然”过程。如上所述,对某些服务提供商或者终端用户来说,这一时间范围可能是不可接受的。第三,由于许多节点将不得不意识到故障并因此被要求参与恢复过程,具有带宽的处理时间性质的网络资源将被转移。这通常将有损于其它网络活动,并可能降低网络路由系统的性能和稳定性,尤其是需要比必需的周期更长时间。
因此需要改善的方法和系统以用于通信网络中的节点再同步。相应地,期望一种解决方案至少部分地解决上述和其它缺点。

发明内容
根据发明的一方面,提供一种用于在网络中从连接到网络节点的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与网络节点的方法,该方法包括从每个近邻节点接收标识符以及关于同步资源是否已经分配给所述网络节点的指示;比较所述近邻节点的标识符与其它近邻节点的标识符的大小来确定是否与所述近邻节点同步;并且,如果所述近邻节点已经向所述网络节点分配同步资源,则同步所述近邻节点。
该方法可以进一步包括向所述近邻节点分配同步资源。该方法可以进一步包括发送同步资源分配的指示给所述近邻节点。同步资源可以是节点存储器、节点输入/输出容量、和节点处理器容量中的至少一个。每个标识符可以是唯一值、因特网协议(IP)地址、异步传输模式(ATM)地址、和节点标识(ID)号中的至少一个,或者出于向每个节点提供唯一值目的的任意其它分配值以及可以与其它节点进行区别和具有不同优先次序的权重。指示可以是标记,标识符可以是包含在经由网络发送的一个或者多个消息中的字段。消息可以是专用网络-节点接口(PNNI)呼叫协议消息和PNNI数据库摘要分组(summary packet)中的至少一个。网络节点和多个近邻节点中的每一个可以是路由器、交换机、和数据处理系统中的至少一个。该方法可以进一步包括从每个近邻节点接收同步所述网络节点的优先级的指示。该方法可以进一步包括比较所述近邻节点的优先级与其它近邻节点的优先级来确定是否与所述近邻节点同步。此外,比较步骤可以进一步包括确定所述近邻节点是否属于具有最大和最小标识符大小之一的近邻节点组,该组具有由所述网络节点内可用的同步资源确定的多个近邻节点。
根据本发明的另一个方面,提供了诸如数据处理系统(例如网络节点)的装置、用于适配该系统的方法,以及诸如计算机可读介质的制造产品,所述计算机可读介质上具有用于实现本发明的方法的程序指令。


从下面详细的描述,结合附图,本发明的实施方式的进一步特征和优势将变得明显。其中图1的框图说明在示例性的通信网络的一部分中的近邻节点;图2的框图说明在示例性的通信网络的一部分中的近邻节点之间的同步问题;图3的框图说明适于实现本发明的实施例的数据处理系统;图4的框图说明根据本发明的实施例,一种用于通信网络中的近邻节点的改善的同步方法。
图5的流程图说明对于近邻对等状态机可能的状态变化;以及图6的流程图根据本发明的实施例,说明数据处理系统的存储器内的软件模块的操作,该操作用于从网络中耦合到网络节点的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与所述网络节点。
应当注意在整个附图中,相似的特征由相似的附图标记来标识。
具体实施例方式
在下面的描述中,陈述细节以提供对本发明的理解。在一些例子中,某些软件、电路、结构和技术没有被详细描述或者示出,以免使发明模糊不清。这里使用的术语“数据处理系统”是指用于处理数据的任何机器,包括这里描述的通信系统、计算机系统、网络单元、网络节点、以及网络装置。本发明可以实现在任何计算机程序语言中,前提是该数据处理系统的操作系统提供可以支持本发明需求的装置。出现的任何局限性应当是特定类型的操作系统或者计算机程序语言的原因,并且不应当是本发明的限制。
图1的框图说明在示例性的通信网络的一部分100中的近邻网络节点A、B、C、D、E、F、G、H、X、Y、Z。每个网络节点具有所示的近邻节点。近邻网络节点由通信链路110耦合而形成网络100。通信链路110可以是光纤链路、双绞线对链路、无线链路等等。例如,节点F的近邻节点是节点A、X、Y、和Z。网络100可以包括图1中没有示出的另外的节点。这些另外的节点的出现由开放式终接链路110指示。例如,节点C被耦合到A、B、和D以及三个没有示出但由各个开放式终接链路110指示的另外的节点。
在协议启动(例如,网络中断后)时,每个节点(例如F)需要同步其数据库与其近邻节点(如A、X、Y、和Z)的数据库,以便同步路由信息以便允许使用节点F的数据服务和网络100。当两个近邻(例如F和X)之间的同步完成时,近邻F、X之间的链路110可以被用于数据服务。根据公知的方法,两个近邻F、X之间的同步典型地在如下两个阶段执行1.通过呼叫协议,发送呼叫消息以在近邻节点之间建立双向通信;及2.在近邻节点之间交换数据库信息直到它们的数据库被同步。
这一同步必须在受到网络中断影响的所有近邻之间进行。为了降低网络收敛时间,最好尽可能快地执行这一同步,从而降低对服务的负面影响和最小化网络100不可运行的时间量。
如上所述,在启动时网络同步的前述方法让每个节点同时与其所有近邻节点同步。然而,当网络规模增大和每个节点必须同步的近邻的数量增加时,同时同步数据库与多个近邻节点变得日益困难(即资源密集的)。本领域技术人员将明白需要许多节点的资源来与近邻节点同步(例如存储器、缓存器管理、CPU等)。同时同步所有近邻节点可能严重地影响节点的性能。例如,这样的同时同步可能导致没有近邻节点同步、有限数量的近邻节点同步、或者同步的停止并且结果需要重启同步。这可能负面地影响在启动时的整个网络100。在极端的情况下,节点A、B、C、D、E、F、G、H、X、Y、Z可能不堪重负以致于导致节点中的级联故障直到节点不能操作。此外,在极大型网络中,许多节点可能受到这一巨大的同步负担的负面影响。确实,网络100甚至可能需要一次启动一个节点来推进网络的启动。
解决这一同步问题的近期的方法包括针对节点限制节点尝试同时同步的近邻的数量到同时同步近邻节点的设计的最大数量。典型地,虽然由节点支持的近邻节点的最大数量继续增加,但同步近邻节点的最大数量远小于由节点支持的近邻节点的最大数量。例如,在早期的方法中,节点被限制同时同步其最多100个近邻节点中的六个节点。在后来的方法中,这些限制分别被增加到6和300。令人感兴趣的是,ATM论坛最近已经采纳如在PNNI规范中所定义的限制近邻节点同时同步的概念。
图2的框图说明在示例性的通信网络的一部分200中的近邻节点之间的同步问题。因为基于空闲的同步资源(例如存储器、缓存器管理、CPU等)的同时的近邻节点的选择是随机的,所以出现同步问题。因此,如果两个近邻节点没有相互选择,那么同步被延时并且网络收敛受到负面影响。当双向通信在给定节点和其近邻节点之间建立(即,使用呼叫协议)时,每个节点任意挑选三个近邻节点来同步并且分配其同步资源的一部分给这些被选择的近邻节点中的每一个。分配的同步资源由图2中的箭头(例如210)指示,从给定节点(例如节点A.5)沿通信链路230指向其近邻节点或者多个节点(例如节点G)。当每个节点已经分配同步资源(例如210、220)给另一个节点时,同步过程在两个近邻节点(例如A.5、G)之间开始。当同步开始时,分配给它们各自的近邻节点G和A.5的同步资源210和220被投入使用。在图2中,同步资源210和220在节点A.5和G之间的匹配分配允许同步过程在这两个节点之间开始。在选择的第二节点还没有分配其资源给该第一节点时,由第一节点分配给选择的第二节点的资源(例如图2中的D和A.5、A.5和B、B和C)不能使用,直到第二节点分配它自己的资源给第一节点。在这种情况下,同步资源的非匹配分配防止同步在节点之间初始化。
注意,每个节点不知道其近邻节点是否已经分配了资源给它,或者反之亦然。为了确保资源不会进退两难并且网络可以收敛,常常执行超时周期。如果同步在超时周期中没有发生,那么第一节点将重新分配其同步资源给第三个近邻节点,期望第三近邻节点已经分配其资源给该第一节点。超时周期典型地远长于用于执行近邻节点同步的时间(例如10秒对5分钟)。由于这一选择是随机的(即,碰上和错过),而且由于用于选择同步的新的近邻节点的超时典型地大于实际用于执行同步的时间,完成网络同步(和收敛)可能会非常慢。因此,被提供的服务可能受到非常不利的影响。
这样,在大规模网络中断(或者网络重启)期间,网络同步过程没有有效地利用同步资源,因为两个近邻节点之间成对同步是被随机选择的(即碰上和错过),其中存在错过的情况(例如图2中分别与节点D和A.5有关的同步资源240和250)。当相互选择不是快速的(例如图2中的D和A.5),同步资源变得不可用直到资源被以同样的随机方式重分配(例如超时之后),并且相互选择是随机做出的。这导致不可预测的同步行为,这转而可能导致极长的网络同步时间,尤其是当网络中支持的近邻节点数量很大时和当每个节点同时同步的近邻最大数相对小时。
图3的框图说明适于实现本发明的实施例的数据处理系统300。数据处理系统300适于用作诸如ATM网络的通信网络(例如200)中的网络节点(例如A.5)。数据处理系统300包括中央处理单元(CPU)320、存储器330、和接口设备350以及优选地包括输入设备310和显示器340。CPU 320可以包括专用协同处理器和存储器设备。存储器330可以包括RAM、ROM、磁盘设备、以及数据库。接口设备350可以包括网络连接,所述连接包括ATM网络连接。输入设备310可以包括键盘、鼠标、跟踪球,或者类似设备。以及,显示器340可以包括计算机屏幕、终端设备、或者诸如打印机或者绘图仪的硬拷贝产生输出设备。数据处理系统300适于经由接口设备350通过网络200与其它数据处理系统(未示出)通信。数据处理系统300可以包括用于存储和接入网络协议以及编程信息的数据库系统332。数据库系统332可以包括数据库管理系统(DBMS)和数据库并且被存储在数据处理系统300的存储器330中。数据处理系统300已经在其中存储数据表示指令顺序的数据,当所述指令被执行时实施这里描述的方法。当然,数据处理系统300可以包含另外的软件和硬件,对于理解发明而言没必要对其进行描述。
因此,数据处理系统300包括计算机可执行的程序指令,用于指示系统300实现本发明的实施例。程序指令可以包含在驻留于数据处理系统300的存储器330中的一个或者多个软件模块331。可选地,程序指令可以包含在计算机可读介质(诸如CD盘或者软盘)上,所述介质可以用于将程序指令传输到数据处理系统300的存储器330中。可选地,程序指令可以被包含在计算机可读的、信号承载介质中,由程序指令的出售者或者供应商者上载到网络,而且这一信号承载介质可由终端用户或者可能的买家通过接口(例如350)从网络下载到数据处理系统300。
再参见图2,本发明提供一种方法确保不存在这样的情况即具有空闲资源的两个近邻节点(例如D和A.5)不利用这些资源来彼此同步。通过确保这一点,能改善网络同步。一般地,本发明采用如下三条规则或者机制来改善节点同步1.每个节点(例如A.5)应当确定性地选择在同步资源变得可用时,哪些近邻节点(例如,A.4、B、C、D、G、H)应当被分配近邻这些资源(例如,210)。这一选择是基于规则的。
2.每个节点(例如A.5)应当在近邻节点同步之前(例如经由呼叫协议、经由数据库摘要分组(DBSP)等),在通过网络200中传输的消息中指示它已经向一条或者多条链路(例如,230)分配同步资源(例如210)给近邻节点,以便通知其近邻节点它们已经被选择来进行同步。这一消息可以采用“同步资源分配”标记的形式或者包括该标记。
3.一旦接收到指示近邻节点被选择同步的消息,每个节点应当系统地选择近邻节点来同步以便确保所有同步资源被最佳地使用。如果需要,每个节点应当按需移动或者重分配同步资源给可用的链路,来加速同步过程。
从而,根据本发明,通过重分配未使用的资源给另一个近邻节点,如果该近邻节点已经选择指定的第一节点来同步并且已经通过所传输的消息(例如DBSP)告知第一节点这一意图,则该第一节点的同步资源的利用被最大化。与重分配协同,近邻节点选择的任意特性由确定性的方法替代,这导致近邻节点的更多的相互选择。在此使用的“相互选择”这一表述方式指两个近邻节点已经相互选择同步而且已经彼此告知该意图的情况。有利地,资源重分配和确定性的选择的组合导致网络中近邻节点的所有同步更快。
网络故障或者重启之后,节点根据所有节点必须遵循的规则确定性地分配同步资源给近邻节点。规则依赖于每个节点,每个节点具有与其相关的唯一值。例如,唯一值可以是因特网协议(IP)或者ATM地址、节点ID,或者通过如呼叫协议在网络中通告的为近邻节点同步专门使用的唯一值。规则运行来选择和分配同步资源给具有最高(或最低)唯一值的下一个可用的近邻节点。这里使用的术语“可用的”表明未选择的、未同步的、以及与当前节点例如通过呼叫协议建立有双向通信。
通过该规则分配资源将允许具有最高(或最低)唯一值的节点(和它们的近邻节点)立刻开始同步。然而,即使遵循这一规则之后,其它节点可以不必使用它们的同步资源,因为它们需要等待更高(或更低)值节点完成同步。这些节点可能仍然有它们能够同步的其它近邻节点。如此,这些节点可以利用同步资源分配标记来确定是否有机会发起进一步的同步。这通过允许节点重分配它们的同步资源给其它近邻来完成,如果那些近邻指示它们可用于同步的话。
上述方法可以用图形方式来说明。图4的框图说明根据本发明的实施例用于通信网络200中近邻节点(如A.1、A.4、A.5等)的改善的同步方法。在这一例子中,每个节点只有可用于同时地同步三个其它近邻节点的足够同步资源。这由图4中发自节点B、C、D、H、A.5、和A.4的指向沿选择的链路230方向的三个箭头来示意。选择规则(在这一例子中)是选择具有最高节点ID值的三个可用的近邻节点,其中节点A.1具有最低节点ID值“A.1”(即A.1<A.2<A.3<A.4<A.5<B<C<D<G<H)。这一规则促使节点A.5分配近邻同步资源(neighbor synchronizationresources)给近邻节点D、G、和H(即D、G、和H是比B和C更高的节点ID值)。类似地,节点A.4分配近邻同步资源给近邻节点A.2、A.3、和A.5(即A.2、A.3、和A.5是比A.1更高的节点ID值)。从这一初始选择起,一些节点可以立即开始同步(例如,A.5与G,A.4与A.3,A.4与A.2)。这一最高节点ID值的使用使得具有最高节点ID值的节点首先同步。有利地,根据节点同步次序,通过相应地分配节点ID或通过分配其它同步值给节点并且在选择规则中利用这些值来偏向那些优先地最先完成同步的节点,这一特性可以被用于支持网络核心。
再参考图4,注意节点A.4初始地选择节点A.5来同步。如果不立即使用,则节点A.4的同步资源将被浪费。因为节点A.5还没有选择节点A.4来同步,因此它们不能被立即使用。然而,节点A.4注意到它的近邻A.1已经通知它已经分配近邻同步资源给A.4。因此,节点A.4可以将来自节点A.5的近邻同步资源重分配来首先同步节点A.1。当节点A.4完成与节点A.1的同步时,它将再一次选择节点A.5来同步,并且将在其选择过程中继续偏爱节点A.5直到它在与节点A.5的同步中取得成功。这一可重复性是一个优越的特性,因为它确保在近邻节点之间将有比在遵循任意选择过程情况下更多的相互选择。
其它选择规则是可能的,例如在呼叫协议中包括新的“同步优先级TLV”来指示节点的相对优先级。然而,选择具有最高(或最低)节点ID(或路由器ID)值是优选的,因为实现的简单和对许多协议的广泛适应性。
从而,本发明通过近邻节点的更快速的同步推进了改善的网络恢复和网络启动。另外,本发明广阔的适应性,因为它能在若干动态路由协议(例如PNNI、OSPF、和ISIS)中实现,其中近邻节点必须同步它们。
根据一个实施例,本发明可以在如下所述的修改的PNNI规范版本下运行的网络中实现。应当注意,本发明也可以在OSPF和中间系统到中间系统(IS-IS)规范下运行的网络中实现。
关于数据库同步(即PNNI规范的5.7部分),根据这一实施例,当节点(例如图4中的A5)首先获悉近邻对等节点的存在(驻留在同一对等组中)(如图4中的G),当它们变得可用时,分配数据库同步资源给所述节点。需要这些同步资源来执行数据库同步,而且当它们被分配给近邻对等状态机时,状态机初始化数据库交换过程,以便同步近邻对等节点的拓扑数据库。
数据库交换过程包括DBSP序列的交换,DBSP序列包含节点拓扑数据库中所有PNNI拓扑状态单元(PTSE)的标识信息。使用固定不变的机制交换DBSP,由此一方发送DBSP并且另一方以其自己的DBSP响应(隐含地确认接收的分组)。在任何一次中至多允许两个近邻对等节点之间一个未完成的分组。
当节点从近邻对等节点接收DBSP时,对于分组中描述的每个PTSE的出现检查其拓扑数据库。如果在拓扑数据库中没有找到PTSE,或者如果近邻对等节点有更新版本的PTSE,那么该节点必须从这一近邻对等节点,或者可选择地从另一个近邻对等节点请求该PTSE,其中所述另一个近邻对等节点的数据库摘要指示其具有最新版本PTSE。
对于最低等级的近邻对等节点,它们之间可能有多条并行物理链路和/或虚拟路径连接(VPC)。两个近邻对等节点之间的每条物理链路和/或VPC将运行独立的呼叫协议状态机。然而,为了数据库同步和溢出,在近邻对等节点之间只有一个会话被保持。这一会话由近邻对等状态机和近邻对等数据结构来描述,其中包括维护近邻对等节点数据库同步和溢出所必需的信息。只要链路达到呼叫状态“内部双向(2-WayInside)”,事件“添加端口(AddPort)”在相应的近邻对等状态机中被触发。同样地,当链路离开呼叫状态“内部双向”,事件“撤销端口(DropPort)”在相应的近邻对等状态机中被触发。当事件“添加端口”被第一次触发时,两个近邻对等节点之间的第一条链路出现之后,数据库交换过程开始。当用于近邻对等节点之间的最后一条链路的“撤销端口”事件发生时,近邻对等状态机将在内部产生“最后撤销端口(DropPortLast)”事件,致使用于近邻对等节点的所有状态信息都被清除。
当PNNI拓扑状态分组(PTSP)、PTSE“确认”分组、DBSP、或PTSE“请求”分组被发送时,在处于呼叫状态“内部双向”的近邻对等节点之间的任何链路都可以被使用。连续的分组可以在不同链路上发送,对PNNI路由信息的分布和维护没有任何有害的影响。当近邻对等状态机处于“满(Full)”状态时,最低等级近邻对等节点之间的链路只能在PTSE中进行通告。对于近邻最低等级对等节点由物理链路和VPC连接的情况,变化到“满”状态或者从满”状态变化到其它状态将将致使该节点的PTSE的一个或者多个新的实例被发起或者被刷新。
在近邻对等逻辑组节点之间,只有基于交换式虚拟信道连接(SVCC)的路由控制信道(RCC)被用于PNNI路由分组的交换。与最低等级近邻对等的情况相似,近邻对等状态机被耦合到RCC的呼叫状态机。注意,逻辑组节点(LGN)之间的水平的链路的呼叫状态不影响近邻对等状态。当RCC的呼叫状态达到“内部双向”时,事件“添加端口”在近邻对等状态机中被触发并且数据库交换过程开始。当RCC的呼叫状态脱离状态“内部双向”时,事件“撤销端口”在近邻对等状态机中被触发,致使其从“满”状态转换到“NP失效(NPdown)”状态。
在近邻节点通过基于SVCC的RCC通信的情况下,近邻对等状态机不直接影响水平方向的链路PTSE的发起。相反地,其通过“水平链路”呼叫协议间接地影响水平方向链路PTSE的发起。另外,当首先为给定链路发起PTSE时,相关的LGN呼叫机必须处于“内部双向”状态而且对等数据结构必须处于“满”状态。
关于近邻对等数据结构(即PNNI规范的5.7.1部分),不考虑那些节点之间的链路数量,针对每个近邻对等节点,每个节点具有单个近邻对等数据结构。近邻对等会话在除了“NP失效”之外的状态中被称为邻接。近邻对等数据结构包含关于在两个近邻对等之间形成邻接的所有信息。属于不同对等组的近邻节点将不形成邻接。近邻对等数据结构包括如下信息·“状态”近邻对等有限状态机(FSM)的状态。下面将更详细地描述它。
·“远程节点ID”用于标识近邻对等节点的节点ID。
·“端口ID列表”端口ID列表只被用在由物理链路和/或VPC连接的最低等级近邻对等的情况下。端口ID列表是那些到处于状态“内部双向”的近邻对等的链路的列表。当PTSP、PTSE确认分组、DBSP、或PTSE请求分组被发送或重新发送到近邻对等时,在这一列表中指定的任何链路都可以被使用。
·“DS序列号”标识独立DBSP的无符号的32位数字。当第一次进入“协商”状态时,数据库摘要(DS)序列号应当被设置为一个值,该值不是由近邻对等先前所见过的,但是不能太大以致于不能序列号不能安全地包装。一个合理的方案是使用该状态机的日历计数器(time of daycounter)的时间的较低的24位。然后DS序列号由主节点(master)用发送的每个新的DBSP进行增加。从节点(slave)的DS序列号指示从主节点接收的最后分组。
·“对等重发列表”已经被溢出但没有被近邻对等确认的PTSE的列表。这些将被周期地重发直到它们被确认,或者直到近邻对等状态机被拆卸。与该列表中每个条目相关的是“PTSE重发定时器”。这是在“PTSE重发间隔”秒之后激发的间隔定时器。当与该PTSE相对应的确认被接收时该定时器被停止。
·“PTSE重发间隔”在每隔PTSE重发间隔秒重发每个没有被确认的PTSE。
·“对等延时确认列表”延时确认将被发送到近邻对等的PTSE的列表。每隔“对等延时确认间隔”秒,确认分组被发送到近邻对等,所述近邻对等包含对等延时确认列表中的所有条目的PTSE标识信息,且该列表被清除。
·“对等延时确认间隔”这是对等延时确认列表的连续检查之间的时间间隔。
·“对等延时确认定时器”当该定时器期满时,在对等延时确认列表中任何没有被确认的PTSE被捆绑到确认分组中并且被发送到近邻对等。
·“PTSE请求列表”为了同步两个近邻对等的拓扑数据库需要被请求的PTSE列表。当接收DBSP时这一列表被创建。PTSE请求分组被用于从这一近邻对等、或者选择性的从任何其它已知的具有丢失PTSE的近邻对等来请求这一列表上的每个PTSE。当合适的PTSE被接收时,该列表耗尽。
·“DS Rxmt间隔”以秒为单位,节点再次发送前一DBSP之前的等待时间。
·“DS Rxmt定时器”在DSRxmt间隔秒之后激发的间隔定时器。当节点接收到正确的DBSP时该定时器被停止。
·“请求Rxmt间隔”以秒为单位,节点发送新的PTSE请求分组之前的时间,所述新的PTSE请求用于请求尚未接收到的最后的PTSE请求分组的PTSE。
·“请求Rxmt定时器”在请求Rxmt间隔秒之后激发的间隔定时器。当接收到在最后的PTSE请求分组中被请求的所有PTSE时,该定时器被停止。
·“最后接收的数据库摘要分组的标识信息”包含在从近邻对等接收的最后的DBSP中的DBSP分组标记(包括“初始化”、“更多”、“主节点”、和保留位)和DS序列号。这一信息被用于确定是否从近邻对等接收的下一个DBSP是副本。
根据本发明的这一实施方式,近邻对等数据结构包括如下附加信息·“同步资源分配状态”本地同步资源分配状态可以是已分配或者未分配。它用于向其近邻指示是否数据库同步资源对这一近邻对等FSM已经变得可用。如果同步资源被分配,那么“同步资源分配”位在被发送的DBSP中被设置为1。如果未分配同步资源,那么同步资源分配位在被发送的DBSP中被清除。
·“数据库同步资源”数据库(DB)同步资源是完成与近邻对等的数据库同步过程所需的那些资源。如果逻辑节点没有能力一次执行与所有近邻对等的并发的数据库同步,那么数据库同步资源被限制到任何一次只允许最大数量的近邻用于数据库同步。在它们变得空闲时(参见上述),数据库同步资源以确定性的方式被分配给近邻对等FSM。DB同步资源的准确的内容是实施特定的,然而,它们可以包含诸如PTSE请求列表资源、或者数据库摘要资源、主/从关系等的项目。作为参考,当两个近邻对等正在交换数据库时,它们形成主/从关系。只是对于初始的拓扑数据库交换,这一关系是相关的。主节点发送第一个DBSP并选择初始的DS序列号。DBSP的重发由主节点控制。从节点只能响应主节点的DBSP。主/从关系在“协商”状态被确定。
·“同步资源使用中的间隔”以秒为单位,近邻对等FSM重评估哪个近邻将使用目前被分配给该近邻对等FSM的同步资源之前的时间。
·“同步资源使用中的定时器”在同步资源使用中的间隔秒之后激发的间隔定时器。当进入“交换”或者“NP失效”状态时该定时器被停止。
关于近邻对等状态(即PNNI规范的5.7.2部分),近邻对等状态机被用于描述数据库同步和与近邻对等正在进行的溢出的状态。图5的流程图说明近邻对等状态机的可能的状态变化。图中的线条标记有致使每个状态变化的事件。事件在下文描述。状态包括如下·“NP失效”近邻对等FSM的初始状态。这一状态指示没有到近邻对等的在用链路(即处于呼叫状态“内部双向”)。在这一状态中,没有与近邻对等相关联的邻接。
·“协商”在两个近邻对等之间创建邻接的第一步。这一步的目的是确定哪个节点是主节点,并且决定初始DS序列号。
·“交换”在这一状态节点通过发送DBSP到近邻对等来描述其拓扑数据库。作为处理DBSP的结果之后,必需的PTSE可以被请求。
·“加载”在这一状态中,DBSP的完整序列已经与近邻对等进行了交换,必需的PTSE被请求,且至少有一个还没有被接收。
·“满”在这一状态中,这一节点已经从近邻对等接收了所有已知可用的PTSE。到近邻对等的链路现在可以在PTSE中通告。
除了图5中所示的状态转换外,应当注意如下的附加的状态转换事件“DS失配”强制协商状态;事件“无用的PTSE请求”强制协商状态;事件“撤销端口”不导致状态变化;以及事件“最后撤销端口”强制“NP失效”状态。
关于致使近邻对等状态变化的事件(即PNNI规范的5.7.3部分),状1态变化可由多个事件产生。这些事件被两个近邻对等之间与数据库同步相关联的程序触发,或者被用于相关联的链路的呼叫状态机的动作触发。事件在图5的线条标记上示出。状态变化的详细描述和事件发生后采取的动作在下文提供。事件被定义如下·“添加端口”用于链路到近邻对等的呼叫状态机已经达到“内部双向”状态。
·“协商完成”主/从关系已经被协商,并且初始DS序列号已经达成一致。
·“交换完成”近邻对等的最后一个DBSP已经被接收,这一节点的最后一个DBSP已经被发送,且PTSE请求列表为非空。节点现在知道哪个PTSE需要被请求。
·“同步完成”近邻对等的最后一个DBSP已经被接收,这一节点的最后一个DBSP已经被发送,且PTSE请求列表为空。
·“加载完成”PTSE请求列表上的最后PTSE已经被接收。
·“DS失配”这样的DBSP已经被接收,其(a)具有非预期的DS序列号;或者(b)意外地有初始化位设置,或(c)具有主节点位的非预期设置。这些情况的任意一个都指示数据库同步中出现了错误。
·“无用PTSE请求”不包含在数据库中的PTSE的PTSE请求已经被接收,或接收的PTSE没有在PTSE请求列表中的实例新。这指示在数据库同步中的错误。
·“撤销端口”链路到近邻对等的呼叫状态机已经退出“内部双向”状态。
·“最后撤销端口”在处理撤销端口事件中,已经确定到该近邻的所有端口已经撤销。
根据本发明的一个实施例,致使近邻对等状态变化的事件包括如下的附加事件·“分配同步资源”本地数据库同步资源已经被分配给该近邻对等FSM,并且这一节点现在准备开始与其近邻同步。
·“放弃同步资源”由该近邻对等FSM使用的本地数据库资源现在必须被更高优先权的近邻对等FSM使用。
·“同步资源使用中的定时器期满”同步资源使用中的定时器已经期满,并且该近邻对等FSM由于处于协商状态还没有开始与其近邻同步。该近邻对等FSM必须确定是否应当将目前分配给它的同步资源重新分配给另一个近邻对等FSM,或者由该近邻再次使用。
关于近邻对等状态机(即PNNI规范的5.7.4部分),有限状态机(FSM)由二维表格(参见下面)来表示,该二维表格具有跨越表格顶部的状态和沿左侧向下的事件。事件和状态的每个配对在表格的单元格相交。单元格示出应当发生的状态转换和采取的动作。例如,对于“添加端口”和“NP失效”的事件和状态对,单元格读出“Ds1,协商”。“协商”是新的状态,“Ds1”是采取的动作。动作在表格之后描述。根据本发明的一个实施例,近邻对等状态包括下列附加的事件和状态(如表格中斜体所示)近邻对等FSM


注意缩写“FSM_ERR”代表内部执行错误,表格中的动作如下·Ds0不做任何事。
·Ds1对于最低等级节点的情况,该节点由物理链路和/或VPC连接,端口ID被加到近邻对等数据结构的端口ID列表中。进入该状态时,如果邻接第一次已经被尝试,DS序列号应当被分配某个唯一值(如同日历钟)。否则,如果那信息仍然可用,则节点增加DS序列号的值,该序列号是从前一次该邻接对于该近邻对等是有效时保存的值。然后它宣布自己是主节点(设置主节点位为1),并且开始发送带有初始化、更多、以及主节点位设置的DBSP。这一分组中没有包括PTSE摘要。该DBSP按照DSRxmt间隔被重发直到进入下一状态。另外,根据这一实施例,下面描述的过程(即关于分配数据库同步资源给近邻对等FSM)将被执行。
·Ds2节点必须开始在DBSP中发送其拓扑数据库内容的摘要给近邻对等。在该节点的对等组等级或者更高等级上,拓扑数据库由不是由这一节点发起的就是这一节点接收的PTSE组成。每个DBSP具有DS序列号,并且被隐含地确认。在任何一次只有一个DBSP被允许未决。另外,根据这一实施例,如果它正在运行,则“同步资源使用中的定时器”被停止。
·Ds3停止DS Rxmt定时器如果先前没有停止的话。开始(或继续)发送PTSE请求分组给该近邻对等和/或可选地给其它近邻对等。每个PTSE请求分组要求一些近邻对等的较新的PTSE(它们被发现但是在交换状态还没有被接收)。这些PTSE被列入近邻对等数据结构中的PTSE请求列表中。
·Ds4停止DS Rxmt定时器如果先前没有停止的话。数据库现在被同步。对于最低等级近邻节点的情况,到近邻的所有链路现在必须在PTSE中被通告。另外,根据这一实施例,下面描述的过程(即关于分配数据库同步资源给近邻对等FSM)被执行。
·Ds5停止对等延时确认定时器、DS Rxmt定时器、和请求Rxmt定时器如果先前没有停止的话。等对重发列表、对等延时确认列表、PTSE请求列表以及所有相关的定时器都被清除。数据库摘要的交换必须再次开始。节点增加该近邻对等的DS序列号,宣布自己为主节点(设置主节点位为1),并且开始发送带有初始化、更多、以及主节点位设置的DBSP。该分组中不包括PTSE摘要。DS Rxmt定时器被启动并且DBSP以每DSRxmt间隔被重发。另外,根据这一实施例,下面描述的过程(即关于分配数据库同步资源给近邻对等FSM)被执行。
·Ds6与Ds5相同,除了存在通告到那个近邻的链路的任何PTSE的情况,必须修改那些PTSE来移除该链路。这样的PTSE必须被重新发起或者如果必要,则被刷新。另外,根据这一实施例,下面描述的过程(即关于分配数据库同步资源给近邻对等FSM)被执行。
·Ds7针对由物理链路和/或VPC连接的最低等级近邻对等的情况,端口ID被添加到近邻对等数据结构的端口ID列表中。
·Ds8与Ds7相同,带有附加需求的这一动作将致使到近邻对等的链路被添加,致使新的PTSE的实例被发起。
·Ds9链路从对应的近邻对等数据结构中的端口ID列表中被移除。该动作将致使到该近邻对等的链路被移除。在“满”状态下如果存在通告那条链路的PTSE,则受影响的PTSE的新的实例必须被发起。如果这是到该近邻的最后一个在用链路,则产生最后撤销端口事件。
·Ds10停止对等延时确认定时器、DS Rxmt定时器、同步资源使用中和请求Rxmt定时器,如果先前没有停止的话。等对重发列表、对等延时确认列表、PTSE请求列表以及所有相关的定时器都被清除。另外,根据这一实施例,停止同步资源使用中的定时器,如果先前没有停止的话。
·Ds11发送前一个数据库摘要分组给近邻,并重启DS Rxmt定时器。
·Ds12发送包含来自PTSE请求列表的一个或者多个条目的PTSE请求分组向该近邻对等,和/或可选地给任何其它近邻对等,并且重启对应的请求Rxmt定时器。
·Ds13在长于PTSE重发间隔秒之前被最后发送的并且还没有被确认的那些PTSE被封装在PTSP中并发送给近邻对等。所有有关的PTSE R重发定时器被重启。
·Ds14从对等延时确认列表向近邻对等发送包含所有PTSE标识信息条目的PTSE确认分组。被确认的PTSE从对等延时确认列表中被删除。
·Ds15根据这一实施例,从对等延时确认列表向近邻对等发送包含所有PTSE标识信息条目的PTSE确认分组。被确认的PTSE从对等延时确认列表中被删除。
·Ds16根据这一实施例,停止同步资源使用中的定时器,如果其正在运行的话。清除由该节点发送的DBSP中的同步资源分配位并且立即发送DBSP分组。
·Ds17根据这一实施例,执行下面描述的过程(即关于分配数据库同步资源给近邻对等FSM)。
关于发送DBSP(即PNNI规范的5.7.5部分),下面描述DBSP如何被发送到近邻对等。任何一次只允许一个DBSP未完成。DBSP的发送取决于近邻对等的状态。在协商状态下,节点发送具有初始化、更多、主节点位设置的空DBSP。根据本发明的这一实施例,同步资源分配位基于如下定义的规则被设置(即关于分配数据库同步资源给近邻对等FSM)。当发送这样的DBSP时,DS Rxmt定时器必须被重启。当DS Rxmt定时器激发时,每隔DSRxmt间隔秒重发这些分组。
在交换状态下,包括当响应于事件“协商完成”发送DBSP时,DBSP包含拓扑状态信息的摘要,所述信息包含在该节点数据库中。在逻辑组节点的情况下,在逻辑组节点的等级或者更高等级发起或者接收的拓扑数据库的那些部分包括在数据库摘要中(对于作为更低等级节点的一个或者多个具体情况,更低等级的PTSE可以属于交换系统的拓扑数据库,但是不属于逻辑组节点的拓扑数据库)。在逻辑组节点的等级发起的并具有不同于逻辑组节点的对等组ID的发起对等组ID的拓扑数据库的任何部分,都将不包括在数据库摘要中。将被包括在数据库摘要中的每个PTSE的PTSP和PTSE头信息被列在节点的DBSP的一个中。对于在进入交换状态之后接收的新实例的PTSE不需要包括在任何DBSP中,因为它们将由正常的淹没过程(flooding procedure)处理。推荐但不是必需的,每个PTSE至多一次被包括在发送给近邻对等的DBSP的整个序列中。
在交换状态中,确定何时发送DBSP取决于节点是主节点还是从节点。当新的DBSP将被发送时,分组的DS序列号按如下所述被设置,并且来自节点的拓扑数据库的PTSE的新的设置被描述。当每个条目包括的DBSP被确认时,认为该条目已经由近邻对等接收。注意“更多”位被非对称地设置,使用的不同规则取决于该节点是主节点还是从节点·主节点当(i)从节点通过回送DS序列号确认前一个DBSP,或者(ii)经过DSRxmt间隔秒而没有确认,在这种情况下前一个DBSP被重发,则DBSP被设置。只要DBSP被发送,DS Rxmt定时器必须被重启。如果节点已经发送了其所有DBSP序列,则“更多”位必须被设置为0。如果该分组包括被发送给从节点的数据库摘要的最后部分,则“更多”位可选地被设置为0。
·从节点只响应从主节点接收的DBSP发送DBSP。如果从主节点接收的分组是新的,则发送新的DBSP;否则前一个DBSP被重发。如果节点已经发送了其所有DBSP序列(即该DBSP的内容是空的),那么“更多”位必须被设置为0。在状态“加载”和“满”中,响应从主节点接收的DBSP副本,从节点必须重发其最后的DBSP。注意在“加载”或者“满”状态,从节点已经发送的最后一个分组必须被清空,以及初始化、更多、和主节点位设置为0且有相同DS序列号,如在当前的近邻对等数据结构中一样。
关于接收DBSP(即PNNI规范的5.7.6部分),下面描述接收的DBSP的处理。进入的DBSP通过其被接收的接口与近邻对等相关联。每个DBSP具有DS序列号,且被隐含地确认。DBSP的进一步处理取决于与远程节点ID相关联的近邻对等数据结构的状态。
如果DBSP被接收,以下分组字段在相应的近邻对等数据结构中作为“最后接收的数据库摘要分组的标识信息”被保存DBSP标记(包括初始化、更多、主节点、以及保留位),和DS序列号。如果这些字段在从近邻对等接收的两个相继的DBSP中被相同地设置,则第二个DBSP被认为是如下描述中的处理的“副本”。
如果近邻对等状态是NP失效,则分组必须被忽略。
否则,如果状态是协商如果接收到的分组符合下列情况之一,并且如果根据本发明的这一实施例有如下描述的同步资源被分配给该近邻对等状态机(即关于分配数据库同步资源给近邻对等FSM),那么近邻对等状态机必须用事件“协商完成”(导致状态转移到交换)执行,且分组必须被作为序列中的下一个被接受和进一步处理。否则,分组必须被忽略。
·初始化、更多和主节点位是1,分组的内容为空,以及近邻对等的节点ID大于该节点自己的节点ID。在这种情况下,该节点现在是从节点。一旦生成事件“协商完成”,则该从节点必须采取如下动作·停止DS Rxmt定时器,·设置主节点位为0(表明从节点),设置“初始化”位为0,设置DS序列号为主节点所指定的值,以及发送DBSP到包括该节点的数据库摘要的第一部分的主节点。
·“初始化”和“主节点”位是0,分组的DS序列号等于节点自己的DS序列号(表明确认),以及近邻对等的节点ID小于该节点自己的节点ID。在这种情况下,该节点是主节点。一旦生成事件“协商完成”,主节点必须采取下面的动作(最后两个动作不是必须按这一顺序来采取)·停止DS Rxmt定时器,·处理接收到的DBSP的内容(参见下面在交换状态下采取的动作所描述的最后一段),·将DS序列号加1,设置“初始化”位为0,发送DBSP到包括该节点的数据库摘要的第一部分的从节点,以及重启DS Rxmt定时器。
交换按顺序执行下列步骤·如果节点是主节点且接收到的DBSP是副本,则停止处理该分组。
·如果节点是从节点且接收到的DBSP是副本,通过对发送给主节点的最后一个DBSP进行重发来响应,且停止处理接收的DBSP。
·如果“主节点”位的状态与连接的主/从状态不一致,则生成事件“DS失配”且停止处理该分组。
·如果“初始化”位被设置,生成事件“DS失配”且停止处理该分组。
·如果节点是主节点且分组的DS序列号等于节点自己的DS序列号(该分组是序列中的下一个),则分组必须被接受并按如下处理(最后两个动作不是必须按这一顺序来采取)·停止DS Rxmt定时器,·处理接收到的DBSP的内容(参见下面),·以如下顺序A)将DS序列号加1,B)如果节点已经发送了其所有DBSP序列(即节点发送的前一个DBSP有设置为0的“更多”位),而且接收到的分组有设置为0的“更多”位,在PTSE请求列表为非空的情况下生成事件“交换完成”,或在PTSE请求列表为空的情况下生成事件“同步完成”。
C)否则,发送新的DBSP给从节点并且重启DS Rxmt定时器。
·如果节点是从节点且分组的DS序列号比节点自己的DS序列号大1(这一分组是序列中的下一个),分组必须被接受并按如下处理(没有特定的顺序)
·处理接收的DBSP的内容(参见下面),·按如下顺序D)将DS序列号设置为出现在接收的分组中的DS序列号,E)向主节点发送DBSP,F)如果接收到的分组具有设置为0的“更多”位,且刚刚被发送的DBSP也有设置为0的“更多”(即刚刚被发送的DBSP的内容为空),那么,如果PTSE请求列表为非空,则生成事件“交换完成”,或如果PTSE请求列表为空,则生成事件“同步完成”。
·另外,生成事件“DS失配”并且停止处理该分组。
处理接收到的DBSP的内容当节点将接收到的DBSP作为序列中的下一个接受时,最近被发送的DBSP的内容被确认作为已经被接收,且该接收的DBSP的内容按如下处理。
对于列出的每个PTSE,节点在其数据库中查找该PTSE以了解它是否也有该PTSE的实例。如果它没有,或者如果数据库副本不是最近的,采取如下动作之一·如果列出的PTSE是该节点的自己发起的PTSE之一,节点必须·如果节点具有PTSE的有效实例,则重新发起具有更大序列号的PTSE的更新的实例,或者·在拓扑数据库中安装PTSE之后,从路由域刷新该PTSE,剩余的生存期设置为“过期的时限(ExpiredAge)”。
·否则,如果列出的PTSE具有PTSE剩余生存期“过期的时限”,那么该PTSP和在PTSE摘要中的PTSE头内容必须被接受作为具有空内容的新的或者更新的PTSE。在拓扑数据库中安装PTSE之后,遵循用于接收PTSE的过程来确定是否PTSE必须被溢出到其它的近邻对等。
“加载”或者“满”在这些状态的任一状态中,节点已经发送并接收全部DBSP序列。只有接收的分组应当被复制。接收的任何其它DBSP必须生成事件“DS失配”,致使邻接回复到协商状态并且两个近邻对等再同步它们的数据库。
当在“加载”或“满”状态接收DBSP时遵循的过程与在交换状态遵循的那些过程相同,除了作为序列中的下一个被接受的分组必须生成事件“DS失配”,并且那样的分组的进一步处理必须被停止。注意含有不一致的主节点位或者初始化位被设置为1的分组的接收也必须生成事件“DS失配”。
根据本发明的这一实施例,关于分配数据库同步资源给近邻对等FSM,节点从可用的DB同步资源的池中分配DS同步给在协商状态的近邻对等FSM并且尝试与其近邻同步。没有被分配给任何近邻对等FSM的任何DB同步资源称为未分配的DB同步资源。当近邻对等FSM被分配DB同步资源时,“分配同步资源”事件被注入相应的近邻对等FSM。当近邻对等FSM被指示放弃同步资源时,“放弃同步资源”事件被注入该近邻对等FSM。用于注入这两个事件的过程在下面被描述。
同样根据本发明的这一实施例,节点必须对近邻对等FSM重评估、分配、或者放弃DB同步资源。下面的情况和随后的过程应用到这一关系(regard)中1)如果近邻对等FSM从NP失效状态或者满状态进入协商状态,那么a)如果有任何未分配的DB同步资源,则那些DB同步资源之一被分配给这一近邻对等FSM,并且分配同步资源事件被注入这一近邻对等FSM。
b)否则,如果这一近邻对等FSM的远程近邻节点ID高于这一近邻对等FSM的本地节点ID,没有未分配的DB同步资源,那么i)如果除了处于协商状态的剩余近邻对等FSM之外,有至少一个远程近邻节点ID低于这一节点,那么(A)在具有低于这一节点的远程近邻节点Id的(并且处于协商状态和具有分配的同步资源)近邻对等FSM之外选择具有最低远程近邻节点ID的节点,并且放弃其同步资源。将“放弃同步资源”事件注入FSM。同样,分配这些新近被放弃的同步资源给这一近邻对等FSM并且将“分配同步资源”事件注入这一FSM。
ii)否则,不做任何事。
c)否则,如果除了处于协商状态且具有同步资源已分配的剩余近邻对等FSM,有至少一个远程近邻节点ID低于这一近邻对等FSM的远程近邻节点ID的节点,那么i)选择具有最低远程近邻节点ID的近邻对等FSM,从该近邻对等FSM放弃同步资源并且将“放弃同步资源”事件注入该FSM。分配同步资源给该近邻对等FSM并且将“分配同步资源”事件注入该FSM。
d)否则,不做任何事。
2)如果近邻对等FSM从交换或者加载状态进入协商状态,或者用于同步资源使用中的定时器对于该近邻对等FSM已经过期,那么a)如果除了该近邻正在使用的资源有任何未分配的DB同步资源,那么该近邻继续使用这些DB同步资源并且将“分配同步资源”事件注入该近邻对等FSM。
b)否则,如果没有未分配的DB同步资源可用于其它近邻,并且如果除了处于协商状态的剩余邻对等FSM而外有至少一个还没有分配同步资源,以及从近邻最后接收的数据库摘要分组具有设置为1的“同步资源已分配”位,那么i)选择那些近邻之外的具有最高远程近邻节点ID的一个。如果被选择的近邻对等FSM不是这一个,那么从该FSM放弃同步资源,将“放弃同步资源”事件注入该FSM,分配同步资源给被选择的FSM并且将“分配同步资源”事件注入选择的FSM。如果选择的近邻对等FSM是该FSM,那么保持分配给该FSM的同步资源并将“分配同步资源”事件注入该FSM。
c)否则,选择处于尚未分配同步资源的协商状态的所有剩余近邻对等FSM,并且利用这一套近邻对等FSM执行上述步骤2(b)(i)。
3)如果近邻对等FSM进入“满”状态且不再需要其被分配的DB同步资源,那么从近邻对等FSM放弃同步资源且a)如果有任何未分配的DB同步资源,或者如果没有其它近邻对等FSM处于协商状态没有同步资源,那么不做任何事,b)否则,如果除了处于协商状态的剩余近邻对等FSM之外有至少一个还没有被分配的同步资源,并且从近邻最后接收到的DBSP具有设置为1的“同步资源已分配”位,那么i)选择在那些近邻之外的具有最高远程节点ID的近邻,分配该近邻的同步资源给它,并且将“分配同步资源”事件注入那个近邻。
c)否则,选择处于协商状态且同步资源还未被分配的所有剩余近邻对等FSM,并且利用这一套近邻对等FSM执行上述步骤3(b)(i)。
4)如果没有DB同步资源分配给它的近邻对等FSM接收具有“同步资源已分配”位的DBSP,那么a)如果存在至少一个处于协商状态且同步资源使用中的定时器还没有运行的其它近邻对等FSM,具有被分配的DB同步资源,并且从远程近邻最后接收到DBSP具有设置为0的“同步资源已分配”位,那么i)在那些近邻对等FSM之外,选择具有最低远程近邻节点ID的一个,并且放弃其同步资源,将“放弃同步资源”事件注入其近邻对等FSM,分配同步资源给这一近邻并且将事件注入这一近邻。
b)否则,不做任何事。
上面描述的方法(即关于图4)可以借助于流程图总结。图6的流程图根据本发明的实施例,说明数据处理系统(如图3中的300或者图4中的A.4)中的存储器330内的软件模块331的操作600,该操作用于从通过网络200耦合到网络节点A.4的多个近邻节点(如A.1,A.2,A.3,A.5)中选择近邻节点(如图4中的A.5)来同步网络拓扑数据库信息与该网络节点A.4。
在步骤601,操作600开始。
在步骤602,标识符和关于同步资源是否被分配给网络节点A.4的指示从每个近邻节点A.1、A.2、A.3、A.5被接收。
在步骤603,近邻节点A.5的标识符A.5与其它近邻节点A.1、A.2、A.3的标识符A.1、A.2、A.3的大小(即A.5>A.3>A.2>A.1)进行比较来确定是否与近邻节点A.5同步。
在步骤604,如果近邻节点A.5已经分配同步资源给网络节点A.4,则近邻节点A.5被同步(如与A.4)。
在步骤605,操作600结束。
该方法可以进一步包括分配同步资源给近邻节点A.5。该方法可以进一步包括发送同步资源的分配的指示给近邻节点A.5。同步资源可以是节点存储器、节点输入/输出容量、以及节点处理器容量中的至少一个。每个标识符可以是唯一值、因特网协议(IP)地址、异步传输模式(ATM)地址、以及节点标识(ID)号中的至少一个。指示可以是标记,标识符可以是包含通过网络200发送的一个或者多个消息中的字段。网络200可以是ATM网络。消息可用是专用网络-节点接口(PNNI)呼叫协议消息和PNNI数据库摘要分组中的至少一个。网络节点A.4和多个近邻节点A.1、A.2、A.3、A.5中的每一个可以是路由器、交换机、和数据处理系统300中的至少一个。该方法可以进一步包括从每个近邻节点A.1、A.2、A.3、A.5接收同步网络节点A.4的优先级的指示。该方法可以进一步包括比较近邻节点A.5的优先级与其它近邻节点A.1,A.2,A.3的优先级来确定是否同步近邻节点A.5。以及,比较步骤603可以进一步包括确定是否近邻节点A.5属于具有最大(如A.2、A.3、A.5>A.1)和最小标识符大小之一的近邻节点组(如A.2、A.3、A.5),该组具有由该网络节点A.4内可用的同步资源确定的多个近邻节点(如,3)。
根据本发明的一个实施例,上面描述的方法可以由网络管理数据处理系统(未示出)来实现,该系统被连接到网络200中的一个或者多个网络节点A.4和近邻节点(A.1、A.2、A.3、A.5)。
尽管这一发明主要作为方法讨论,本领域的普通技术人员将理解参照数据处理系统300(或者网络节点A.4)的上述装置可以被编程来使本发明的方法得以实现。而且,与数据处理系统300一起使用的制造产品,诸如预先记录的存储器设备或者包含有程序指令的其它类似的计算机可读介质,可以控制数据处理系统300来使得本发明的方法得以实现。应当理解这样的装置和制造产品也包括在本发明的范围内。
特别地,根据本发明的一个实施例,在执行时致使在此描述的方法被图3的数据处理系统300执行的指令序列可以包含在数据载体产品中。这一数据载体产品可以由图3中的数据处理系统300加载和运行。另外,根据本发明的一个实施例,在执行时致使在此描述的方法被图3的数据处理系统300执行的指令序列可以包含在计算机软件产品中。该计算机软件产品可以由图3中的数据处理系统300加载和运行。而且,根据本发明的一个实施例,在执行时致使在此描述的方法被图3的数据处理系统300执行的指令序列可以包含在包括协同处理器或者存储器的集成电路产品中。该集成电路产品可以被安装在图3的数据处理系统300中。
上述本发明的实施例仅出于示例性的目的。本领域技术人员应当理解,可以对这些实施例进行各种变化,所有这些变化都在本发明的范围之内。
权利要求
1.一种用于在网络中从耦合到网络节点的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与所述网络节点的方法,该方法包括从每个所述近邻节点接收标识符以及关于同步资源是否已经被分配给所述网络节点的指示;比较所述近邻节点的标识符与其它近邻节点的标识符的大小,来确定是否与所述近邻节点同步;以及,如果所述近邻节点已经分配同步资源给所述网络节点,则与所述近邻节点同步。
2.根据权利要求1的方法,进一步包括分配同步资源给所述近邻节点。
3.根据权利要求2的方法,进一步包括向所述该近邻节点发送同步资源分配的指示。
4.根据权利要求1的方法,其中所述同步资源是节点存储器、节点输入/输出容量,和节点处理器容量中的至少一个。
5.根据权利要求1的方法,其中每个标识符是唯一值、因特网协议地址、异步传输模式地址、和节点标识号中的至少一个。
6.根据权利要求1的方法,其中所述指示是标记,所述标识符是包含在经由所述网络发送的一个或多个消息中的字段。
7.根据权利要求6的方法,其中所述网络是异步传输模式网络。
8.根据权利要求7的方法,其中所述消息是专用网络-节点接口呼叫协议消息和专用网络-节点接口数据库摘要分组中的至少一个。
9.根据权利要求1的方法,其中所述网络节点和所述多个近邻节点中的每一个是路由器、交换机、和数据处理系统中的至少一个。
10.根据权利要求1的方法,进一步包括从每个近邻节点接收与所述网络节点同步的优先级的指示。
11.根据权利要求10的方法,进一步包括比较所述近邻节点的优先级与其它近邻节点的优先级来确定是否与所述近邻节点同步。
12.根据权利要求1的方法,其中所述比较进一步包括确定所述近邻节点是否属于具有最大和最小标识符大小之一的近邻节点组,该组具有由所述网络节点内可用的同步资源确定的多个近邻节点。
13.一种网络中的系统,用于从耦合到所述系统的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息,该系统包括耦合到存储器的处理器,以及到所述网络的接口,所述系统适于从每个所述近邻节点接收标识符和关于同步资源是否已经被分配给所述系统的指示;比较所述近邻节点的标识符与其它近邻节点的标识符的大小,来确定是否与所述近邻节点同步;以及如果所述近邻节点已经向所述系统分配同步资源,则与所述近邻节点同步。
14.根据权利要求13的系统,其中所述处理器进一步适于向所述近邻节点分配同步资源。
15.根据权利要求14的系统,其中所述处理器进一步适于向所述近邻节点发送同步资源分配的指示。
16.根据权利要求13的系统,其中所述同步资源是节点存储器、节点输入/输出容量、和节点处理器容量中的至少一个。
17.根据权利要求13的系统,其中每个标识符是唯一值、因特网协议地址、异步传输模式地址、和节点标识号中的至少一个。
18.根据权利要求13的系统,其中所述指示是标记,所述标识符是包含在经由所述网络发送的一个或者多个消息中的字段。
19.根据权利要求18的系统,其中所述网络是异步传输模式网络。
20.根据权利要求19的系统,其中所述消息是专用网络-节点接口呼叫协议消息和专用网络-节点接口数据库摘要分组中的至少一个。
21.根据权利要求13的系统,其中所述网络节点和所述多个近邻节点中的每一个是路由器、交换机、和数据处理系统中的至少一个。
22.根据权利要求13的系统,其中所述处理器进一步适于从每个近邻节点接收与所述网络节点同步的优先级的指示。
23.根据权利要求22的系统,其中所述处理器进一步适于比较所述近邻节点的优先级与其它近邻节点的优先级来确定是否与所述近邻节点同步。
24.根据权利要求13的系统,其中所述比较进一步包括确定所述近邻节点是否属于具有最大和最小标识符大小之一的近邻节点组,该组具有由所述网络节点内可用的同步资源确定的多个近邻节点。
25.一种具有计算机可执行代码的计算机程序产品,用于命令数据处理系统在网络中从耦合到所述数据处理系统的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与所述数据处理系统,所述代码包括用于从每个所述近邻节点接收标识符和关于同步资源是否已经被分配给所述数据处理系统的指示的代码;用于比较所述近邻节点的标识符与其它近邻节点的标识符的大小来确定是否与所述近邻节点同步的代码;以及,如果所述近邻节点已经向所述数据处理系统分配同步资源,则用于与所述近邻节点同步的代码。
26.根据权利要求25的计算机程序产品,进一步包括用于向所述近邻节点分配同步资源的代码。
27.根据权利要求26的计算机程序产品,进一步包括用于向所述近邻节点发送同步资源分配的指示的代码。
28.根据权利要求25的计算机程序产品,其中所述同步资源是节点存储器、节点输入/输出容量、和节点处理器容量中的至少一个。
29.根据权利要求25的计算机程序产品,其中每个标识符是唯一值、因特网协议地址、异步传输模式地址、和节点标识号中的至少一个。
30.根据权利要求25的计算机程序产品,其中所述指示是标记,所述标识符是包含在经由所述网络发送的一个或者多个消息中的字段。
31.根据权利要求30的计算机程序产品,其中所述网络是异步传输模式网络。
32.根据权利要求31的计算机程序产品,其中所述消息是专用网络-节点接口呼叫协议消息和专用网络-节点接口数据库摘要分组中的至少一个。
33.根据权利要求25的计算机程序产品,其中所述网络节点和所述多个近邻节点中的每一个是路由器、交换机、和数据处理系统中的至少一个。
34.根据权利要求25的计算机程序产品,进一步包括用于从每个近邻节点接收同步所述网络节点的优先级的指示的代码。
35.根据权利要求34的计算机程序产品,进一步包括用于比较所述近邻节点的优先级与其它近邻节点的优先级来确定是否与所述近邻节点同步的代码。
36.根据权利要求25的计算机程序产品,其中用于比较的代码进一步包括用于确定所述近邻节点是否属于具有最大和最小标识符大小之一的近邻节点组的代码,其中该组具有由所述网络节点内可用的同步资源确定的多个近邻节点。
37.一种网络中的计算机可读信号,用于命令数据处理系统从耦合到所述数据处理系统的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与所述近邻节点,所述信号包括用于从每个近邻节点接收标识符以及关于同步资源是否已经被分配给所述数据处理系统的指示的信号;用于比较所述近邻节点的标识符与其它近邻节点的标识符的大小来确定是否与所述近邻节点同步的信号;以及如果所述近邻节点已经向所述数据处理系统分配同步资源,则用于与所述近邻节点同步的信号。
38.根据权利要求37的计算机可读信号,进一步包括用于向所述近邻节点分配同步资源的信号。
39.根据权利要求38的计算机可读信号,进一步包括用于向所述近邻节点发送同步资源分配的指示的信号。
40.根据权利要求37的计算机可读信号,其中所述同步资源是节点存储器、节点输入/输出容量、和节点处理器容量中的至少一个。
41.根据权利要求37的计算机可读信号,其中每个标识符是唯一值、因特网协议地址、异步传输模式地址、和节点标识号中的至少一个。
42.根据权利要求37的计算机可读信号,其中所述指示是标记,所述标识符是包含在经由所述网络发送的一个或者多个消息中的一个字段。
43.根据权利要求42的计算机可读信号,其中所述网络是异步传输模式网络。
44.根据权利要求43的计算机可读信号,其中所述消息是专用网络-节点接口呼叫协议消息和专用网络-节点接口数据库摘要分组中的至少一个。
45.根据权利要求37的计算机可读信号,其中所述网络节点和所述多个近邻节点中的每一个是路由器、交换机、和数据处理系统中的至少一个。
46.根据权利要求37的计算机可读信号,进一步包括用于从每个近邻节点接收同步所述网络节点的优先级的指示的信号。
47.根据权利要求46的计算机可读信号,进一步包括用于比较所述近邻节点的优先级与其它近邻节点的优先级来确定是否与所述近邻节点同步的信号。
48.根据权利要求37的计算机可读信号,其中用于比较的信号进一步包括用于确定所述近邻节点是否属于具有最大和最小标识符大小之一的近邻节点组的信号,该组具有由所述网络节点内可用的同步资源确定的多个近邻节点。
全文摘要
一种用于在网络中从连接到网络节点的多个近邻节点中选择近邻节点来同步网络拓扑数据库信息与该网络节点的方法,该方法包括从每个近邻节点接收标识符和关于同步资源是否已经被分配给网络节点的指示;比较该近邻节点的标识符与其它近邻节点的标识符的大小来确定是否与该近邻节点同步;以及,如果该近邻节点已经分配同步资源给该网络节点则同步该近邻节点。
文档编号H04L12/24GK1976336SQ20061006472
公开日2007年6月6日 申请日期2006年10月27日 优先权日2005年10月27日
发明者C·拉杰什克 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1