在网络中提供有限中继保护通道的方法和设备转让专利

申请号 : CN200510135751.5

文献号 : CN1798068B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曼苏尔·阿里·卡恩·阿里彻利兰蒂普·S.·比哈提亚

申请人 : 朗迅科技公司

摘要 :

公开了对连接网络中第一点和所述网络中第二点的链接提供保护通道的方法和设备。本方法包括以下步骤:判断保护图中所述第一点和所述第二点之间的最短路径,计算所述最短路径的长度,根据所述计算的长度,判断是否应当将所述链接加入所述保护图中,以及把所述保护图中的所述最短路径设置为所述链接的保护路径。第二判断步骤包括评价所述保护图,判断是否不存在现有路径或者现有路径长于中继限度。根据这种评价,本方法或者向所述保护图加入所述链接或者不改变所述保护图。

权利要求 :

1.一种用于对连接网络中第一节点和所述网络中第二节点的链接提供有限中继保护路径的方法,所述网络包括由多个链接互连的多个节点,该方法包括:(a)确定所述网络的保护图中所述第一节点和所述第二节点之间的最短路径;

(b)计算该最短路径的长度;

(c)使用所计算的长度,判断是否应当将所述链接加入所述保护图中;以及(d)把所述保护图中的所述最短路径设置为所述链接的保护路径。

2.根据权利要求1的方法,其中,判断是否应当将所述链接加入所述保护图中进一步包括:评价所述保护图,以便判断所述保护图是否满足从包含下列条件的组中选择的至少一个条件:在所述保护图的第一节点和第二节点之间没有现有路径;和所计算的最短路径的长度长于预定义中继点限度。

3.根据权利要求2的方法,其中,如果满足所述至少一个条件,则通过将所述链接加入所述保护图来更新所述保护图。

4.根据权利要求2的方法,其中,如果所述最短路径短于所述预定义中继点限度,则所述保护图保持不变。

5.根据权利要求1的方法,进一步包括:

在确定最短路径之前,将连接所述第一节点和所述第二节点的链接划分为多个平行子链接,以创建多个子网络。

6.一种用于在具有由多个链接互连的多个节点的网络中提供有限中继保护路径的方法,该方法包括:(a)计算网络的跨度图,该跨度图包括连接所述多个节点的多条路径;

(b)使定义所述跨度图内所述多条路径中每一条的全部链接专用于所述网络中的保护路径;以及(c)使所述网络中所有的其余链接专用于所述多个节点之间的工作路径,其中计算网络的跨度图包括:对于网络中连接各自第一节点和第二节点的每个链接:确定跨度图中所述第一节点和第二节点之间的最短路径;

计算所确定的最短路径的长度;以及

使用所计算的长度,判断是否应当将所述链接加入所述跨度图。

7.根据权利要求6的方法,其中,所计算的跨度图是表示所述网络的图的子图,使得连接所述子图内的任何节点对的最短路径的长度至多是连接所述表示所述网络的图中节点对的最短路径的长度的t倍,其中t是预定义的数字。

8.一种用于对连接网络中第一节点和所述网络中第二节点的链接提供保护路径的装置,所述网络包括由多个链接互连的多个节点,该装置包括:确定所述网络的保护图中所述第一节点和所述第二节点之间的最短路径的装置;

计算该最短路径长度的装置;

使用所计算的长度判断是否应当将所述链接加入所述保护图中的装置;以及把所述保护图中的所述最短路径设置为所述链接的保护路径的装置。

9.根据权利要求8的装置,其中,判断是否应当将所述链接加入所述保护图中的所述装置被配置为评价所述保护图,以便判断所述保护图是否满足从包含下列条件的组中选择的至少一个条件:在所述保护图的第一节点和第二节点之间没有现有路径;和所计算的最短路径的长度长于预定义中继点限度。

10.根据权利要求8的装置,进一步包括在计算所述第一节点和所述第二节点之间的最短路径之前,将连接所述第一节点和所述第二节点的链接划分为多个平行子链接,以创建多个子网络的装置。

说明书 :

技术领域

本发明涉及提供网络的方法和设备,更确切地说,涉及保护两个网络位置之间链接所需带宽量的确定方法和设备。

背景技术

服务提供商渐渐发现将音频和视频应用合并到基于单一数据包的网络提高了性价比。传统上此类通信一直使用网络,这种合并的成功取决于能否取代网络向各项应用提供必要的服务质量(QoS)保证。对于实时应用,它转化成严格的带宽、端到端延迟、抖动和损失率保证。例如,若干应用比如经由IP传输语音(VoIP)和视频会议需要最大的可能带宽,同时保持端到端延迟、抖动和数据包丢弃率最小。端到端延迟更小使会议令人感到更加满意、自然;相反,延迟值大使会话不自然,在短语和句子之间有长的停顿。抖动值(延迟易变性)大会导致视频不平稳或音频结结巴巴、间歇。它也会因为数据包超过其延迟预算而丢弃。数据包丢弃超过了可容忍限度会由于剪断和跳行而进一步导致音频和视频质量变差。在今天的“尽力而为”数据网络中,路由器和交换机缓冲区力图迅速填补,又导致了延迟和数据包丢弃。除了这些延迟之外,延迟抖动和数据包丢弃的概率值随着网络中的每次横向中继而累积。
在分类服务框架中,通过在每个网络节点把属于实时会话的数据包标记为接收优选转发处置,即每次中继行为,缓和了这些效应。然而,即使对实时通信量使用了某种优先排队和调度(例如在Diffserv中),能否满足QoS需求仍取决于关键参数。这样的参数包括发送这种通信量路径上的网络中继次数。众所周知,即使对语音通信量使用了优先排队,由于在小带宽链接(亚10Mbps链接)上非语音数据包的传输延迟,即使在5个中继点长度的路径上,排队延迟也可能变得不容忽视。
在其他环境中,使发送数据流量所用的路径中继次数最小化也很重要,比如在光纤网络中使信号质量退化最小化。随着信号穿过多个中继点,它们变得微弱,如果中继点的数目变得太多,信号可能需要重新产生。这可能离不了昂贵的光-电-光(OEO)转换。此外,在MPLS和光纤网络中,使用预置的迂回路径围绕故障进行本地路由,可以实现快速恢复。例如,MPLS快速恢复机制,称为快速或本地重路由,支持本地修复能力。节点或链接出现故障后,故障上游的第一个节点,把受影响的标注交换路径(LSP)重路由到旁路(备用)隧道上,用等效保证的带宽绕过故障点。在新路径上LSP中继点数目因此直接与原始路径的长度以及故障链接或节点的旁路隧道长度有关。对于设计不佳的网络,重路由路径上中继点数目可能很容易变大。因此,有效的恢复方案不仅需要保证从故障中快速恢复,而且也需要保证重路由路径上中继点数目没有明显增加。

发明内容

本发明针对现有技术的各种不足,提供了保护连接网络中第一点和网络中第二点的链接通道的方法.本方法包括以下步骤:判断保护图中所述第一点和所述第二点之间的最短路径,计算所述最短路径的长度,根据所述计算的长度,判断是否应当将所述链接加入所述保护图中,以及把所述保护图中的所述最短路径设置为所述链接的保护路径.
对创建所述保护通道有多条迂回路径的情况,本方法还包括以下步骤:在计算所述第一点和所述第二点之间的最短路径之前,将连接所述第一点和所述第二点的链接划分为多个平行子链接,以创建多个子网络。根据链接容量,以及表示提供过程期间先前考虑的链接的总容量与先前考虑之总工作容量的比值,对这些子链接进行排序。
此外,本发明还包括对连接网络中第一点和网络中第二点的链接进行提供保护通道运算的设备,它包括在保护图中确定所述第一点和所述第二点之间最短路径的装置、计算所述最短路径长度的装置、判断是否应当将所述链接加入所述保护图中的装置,以及把所述保护图中的所述最短路径设置为所述链接的保护路径的装置。

附图说明

连同附图考虑以下详细说明,不难理解对本发明的讲解,其中:
图1描绘了根据本发明方法所分析之示范网络的表达;
图2描绘了根据本发明提供网络的第一种方法;
图3描绘了根据本发明提供网络方法的第二个实施例;
图4描绘了根据本发明实践图2和/或图3中方法的装置;
图5描绘了根据本发明一个实施例的原始和时间扩展图。
为了便于理解,在可能之处一直使用相同附图标记指示这些图中共用的相同要素。

具体实施方式

图1描绘了本发明在其中运行及存在的示范数据网络100。所述数据网络100除了其他设施以外包括多个节点102n,由多个链接104m互连。如图中所见,从起始节点1021向结束节点1022传输数据,可以有不止一条定义的通道(由一个或多个链接1041和1042定义)。然而,这样的数据网络100易于发生链接和路由器故障(如欠缓冲、一般故障等),对所支持的音频和视频应用质量具有不利的后果。如果数据会话在更长的路径上重路由,这些故障会复合在一起,不仅会影响重路由期间的延迟抖动,而且会对重路由之后的端到端延迟和延迟抖动产生不利的影响。本发明提供的方法和设备确保了发生网络故障时中继点长度受到限制,以便在这些网络中支持实时通信量。
更具体地说,对示范网络100进行了分析,以确定所需的保护容量,使得用户指定的旁路隧道中继点计数限度对一切可能的链接故障都得到保证.虽然对MPLS和光纤网络在高速或本地重路由机制环境中出现了设计问题,但是此解决方案能够应用到其他类型的网络.这些网络通过与保护不同链接所用的旁路隧道共享保护容量,高效地利用了保护容量.所提出的预分割模型(其中预留了保护容量和旁路隧道,以大为减少动态方案的复杂度和信号开销)具有计算快速和独立于未来通信量需求的附加优点,并导致在链接基础上将网络容量先验地分割成链接上的工作容量和保护容量.结果,极大地简化了网络中QoS保证通信量的在线发送,因此任何数据会话都能够在网络的工作容量部分以不保护方式最佳地发送(如经由最短中继点长度的路径),完全不必考虑恢复.万一发生故障,就确定足够的保护容量,并可得到预计算的旁路隧道,以传送重路由的通信量.当保留的保护容量未使用时,可以用其传送较低优先级的非实时通信量,它可以由实时通信量预先清空.
在进一步的分析中,将网络100考虑为赋予容量的网络G=(V;E)其中V是n个节点的集合,E是m个链接的集合。赋予所述链接的容量是:链接e∈E具有容量u(e)。为了易于表达,假设网络100无方向,没有平行链接,链接容量是整数。对旁路隧道中继点长度施加约束r≥2,分离因子k≥1。问题是把每个链接e∈E的容量u(e)都分割成工作容量w(e)≤u(e)和保护容量p(e)=u(e)-w(e),以保证仅仅使用链接的保护容量恢复链接(应对单一链接故障),并且仅仅使用至多k条旁路隧道(用于旁路出故障的链接),每条长度至多r个中继点,以达到保护所用带宽总量(∑ep(e))最小化的目标。此外,假设保护容量能够在不同链接所关联的旁路隧道之间共享。
令B(e)表示链接e的旁路隧道集。对所提出问题的一种可行解决方案满足以下条件:
1)在链接e出现故障时,其最大服务通信量w(e)=u(e)-p(e),可以仅使用在其旁路隧道B(e)之链接上所保留的保护容量,离开链接e重路由。此通信量的路径包括|B(e)|路径集,通过连接其原始路径(不包括链接e)与B(e)中的每条旁路隧道而获得。因此所述通信量继续在其原始路径(链接e除外)上使用所述链接的工作容量并使用B(e)中链接的保护容量。
2)对所有的链接e,|B(e)|≤k,而且B(e)中的每条旁路隧道都不长于r个中继点。
3)所述总保护容量∑ep(e)最小化。
本发明的一种方法(第一种方法)为预提供保护容量的总量最小化问题,以及计算预安装旁路隧道集问题提供了快速近似算法,以确保网络在有限中继点长度的保护下完全链接。更具体地说,更大图G的t-跨度G’(即保护图)是G的子图,其中任意节点对之间最短路径的长度至多是G中最短路径长度的t倍。本算法找到r-跨度图G’,并将全部保护容量分配给G’的链接。所有其余链接都具有完全工作容量。本算法保证一切具有正工作容量的链接都具有至多r个中继点的保护路径。
以下假设距离度量是链接e=(u,v)的中继点计数,其中u是起始节点1021,v是终止节点1022。函数P(u,v)表示从u到v的最短路径,函数length(P(u,v))表示在P(u,v)中的链接数目。如果u和v之间没有路径,length(P(u,v))为∞。在本发明的一个实施例中,认明了这种第一方法,并进一步说明为MAXHOP,其说明如下:
输入:图G=(V,E)和r-保护路径中最大的中继点数目。
令{e1,e2,...,em}为链接,以链接容量(u(e))非增加次序排序。

对于i=1,...,m{
    假设ei=(u,v)。
    计算P(u,v),G’中从u到v的最短路径。
    如果(length(P(u,v))>r){
        G’=G’U{ei}
        P(ei)=u(ei),w(ei)=0
    }否则{
        P(ei)=0,w(ei)=u(ei)
    }
}
返回G’
注意,算法的近似比值于旁路隧道能够采用的最大中继点长度。容许的中继点长度越大,算法的效率越高。
图2描述了第一方法(MAXHOP)200,以一系列步骤计算保护通道。具体地说,本方法从步骤202开始,进至步骤204,在保护图中对第一点即网络中节点u与第二点即网络中节点v之间的链接以非增加容量的次序进行排序,并搜索最短路径P。链接n由第一点u和第二点v定义。一旦搜索出了第一点和第二点之间的最短路径,本方法转向步骤206,计算第一点u与第二点v之间的这条最短路径P的长度L。一旦完成了这种长度计算,本方法转向步骤208作出决策。具体地说,提问的问题是,在所述保护图中是否不存在路径或者存在比识别出的链接n的长度r(中继点限度)更长的路径。如果不存在路径或现有路径比r长,在步骤204中搜索出的最短路径P就在步骤212加入所述保护图。如果步骤208的答案为否,则本方法转向步骤210,对所述保护图不作改变。
一旦作出了(或是在步骤210或是在步骤212)向保护图加入或不加入路径的决策,本方法就转向步骤214,作出是否存在更多的链接n要评价的决策。如果存在着更多的链接要评价,本方法循环返回到步骤204,对新的链接n搜索新的最短路径P。如果不存在更多的链接要评价,本方法转向步骤216,在所述保护图中的最短路径设定为或指定专用为给定链接的保护通道。
算法MAXHOP不允许将重路由的服务通信量分离到多条迂回路径上。它或者分配全部链接容量用于保护,或者根本不分配。所以提供了第二算法,允许保留部分可用链接容量用于保护,并允许每链接至多k条迂回路径,k为用户指定的参数。实质上,第二算法将网络分离成k个子网络,并在每个单独网络上运行第一算法。组合每个运行的输出使每链接有多达k条保护路径。网络分离包括将每个链接替换(分离)为多个较小容量的并行链接。
更具体地说,令U=maxe∈Eu(e)/k。每个链接都分离成容量U的多个链接,只有至多一个链接的容量比U少,以使其总容量累积为u(e)。例如,假若对链接ei有(s-1)U<u(ei)≤sU,则ei被分离成s个链接ei1,ei2,...,eis。前s-1个链接的容量为U,链接eis的容量为u(ei)-(s-1)U。同样,创建了k个子网络。子网络j包含所有的链接ei,u(ei)≥(j-1)U。更具体地说,对这种链接ei,链接eij加入到子网络j中。第二算法对全体子网络迭代,从子网络k到子网络1。令p’(ei)为迄今为止由算法向所考虑的链接ei1,ei2,...分配的总保护量。同样令u’(ei)是迄今为止在ei1,ei2,...之中所考虑链接的总容量。然后,定义w’(ei)=u’(ei)-p’(ei),并定义保护(e;e’)是链接e’上保留的保护容量,在e出现故障时保护链接e。
在本发明的一个实施例中,认明了这种第二算法,并进一步说明为MAXHOP-SPLIT,其说明如下:
输入:图G=(V,E),k-保护路径限度的数目,r-保护路径中继点限度。
令{e1,e2,...,em}是若干链接,将所述链接分离成eij。
对全部链接ei设置p’(ei);u’(ei)为0。
对全部链接对(e;e’)设置protect(e;e’)为0。
对于j=k至1{
1)以u(eij)作为主键,作为次键,以下降次序对网络j中全部链接eij排序。
2)令E(ei)为使得p’(e’)-protect(ei,e’)≥u(eij)成立之链接e’的集合
3)令G(ei)=(V,E(ei))
4)在网络j上运行MAXHOP,但是利用G(ei)中的链接完成对链接eij=(u,v)的路径计算P(u,v)
5)对全体eij=(u,v)∈网络j{
u’(ei)=u’(ei)+u(eij)
p’(ei)=p’(ei)+p(eij)(即由MAXHOP分配的保护容量)
对P(u,v)中的全部链接e’,protect(ei,e’)=protect(ei,e’)+u(eij)
}}对全体ei∈E,p(ei)=p’(ei)
这种第二算法对容量相同的链接,以(u(eij)+w’(ei))/(u(eij)+u’(ei))下降的次序排序。这是迄今为止工作容量与总容量的比值,如果假设全部工作容量都投入到这个迭代中的话。该算法优先将保护容量加入到这种工作容量比值较高的链接中,以便于在若干链接之中使得保护容量受到共享和负载分配平衡。否则,MAXHOP-SPLIT将可能在全部迭代中以相同次序对待链接(它们的分离链接),使得在全部链接上使保护容量分配平衡的目的失效。
注意,MAXHOP-SPLIT在每个子网络上运行MAXHOP时利用了某种最优化,以便重复使用先前迭代的保护带宽。可以表明没有这些最优化时算法也是正确的。最优化步骤仅仅在先前步骤中考虑的链接ei还没有使用它们时(即p’(e’)-protect(ei,e’)≥u(eij)),仅使用了先前步骤中链接e’的保护容量。因此,即使采用了最优化,本算法返回的解决方案也切实可行。
对这种算法,在考虑链接eij时,MAXHOP寻找能够用于保护网络j中链接eij的、r个中继点的路径P(u,v),每个链接ei=(u,v)的旁路隧道是全体路径P(u,v)的联合。注意,由于对每个eij,MAXHOP仅仅运行至多k次,所以每个链接ei至多有k条这种P(u,v)。
图3描述了第二方法(MAXHOP-SPLIT)300,以一系列步骤计算保护链接通道和应用。具体地说,本方法从步骤302开始,进至步骤304,把网络中的许多链接em分成s个并行链接eij,以创建K个子网络。然后本方法进至步骤306,根据链接容量以及如上所述这种链接容量与先前考虑容量的比值,对给定子网络中的全部链接eij进行排序。具体地说,在本发明的一个实施例中,所述排序以容量减少的顺序完成,而且所述比值是工作容量与已经考虑的总容量之比。
一旦已经对全部链接eij排序,本方法进至步骤308,调用了认明为图2中方法步骤200的过程MAXHOP,并为并行链接eij的每一个确定保护容量值.一旦(通过调用方法200)确定了并行链接的全部数值,方法300进至步骤310,执行保护容量的最后计算.具体地说,对全部链接eij,所考虑的总容量加入ei的总容量,所考虑的总保护容量加入ei的总保护容量。此外,eij的工作容量也加入在P(u,v)中给定链接e’上为链接e所保留的保护容量。
一旦执行了加法运算,本方法转向步骤312,提出第一查询,以判断是否已经考虑了在子网络中的所有链接。如果没有,方法300循环返回到步骤308,根据上述方法200的步骤处理另一个链接。如果已经考虑了子网络中的所有链接,本方法进至步骤314,提出第二查询,以判断是否已经考虑了全部子网络“k”。如果没有,本方法循环返回到步骤306对新的子网络中的链接进行排序。如果已经考虑了全部子网络“k”,本方法在步骤316结束。
为了测量本算法的性能,使用了各种网络进行仿真,包括某些标准网络,比如ARPANET、NJ LATA、National and the EuropeanCost239网络。本算法运行在这些网络上,既采用了统一的链接容量u(e)=1,也采用了随机选择的非统一链接容量u(e),范围从1到2。保护路径限制为3、4、5个中继点。作为基准点,使用了所述问题采用整数线性规划(ILP)和线性规划(LP)的混合系统所获得的解。注意,由于LP以更少的约束模拟所述问题,所以其最优解是所述问题最优解的下限。ILP精确地模拟所述NP完全问题,因此它返回最优解可能要花费太长的时间。
表1中总结了观测结果。“总容量”是非统一情况下的总链接容量,“ILP Max”是所获得的最优可行ILP解,“ILP Min”所返回的ILP对应的松弛LP,2-MAXHOP是k=2时的MAXHOP-SPLIT。在2-MAXHOP中,“Prot”是总的保护容量,PBN%(备用网络的保护百分比)度量在仅使用部分链接容量做保护时2-MAXHOP的有效性如何,并且也是相对于具有非零保护容量之链接的总链接容量的保护容量百分比。
表1真实网络的结果

表1(续)真实网络的结果

LP平均分配总链接容量的37%作为保护容量。因而2-MAXHOP的性能接近最佳,因为它平均分配总链接容量的49%作为保护容量(平均至多是LP的1.37倍)。当网络稠密且r较大时,它尤为优秀。MAXHOP平均分配总链接容量的62%作为保护容量。此值更高,因为只允许一条保护路径(平均至多是LP的1.74倍)。注意,NJ LATA、National and the European Cost239网络比ARPANET网络稠密。对于这些稠密网络且r=5,2-MAXHOP仅保留总链接容量的42%,而MAXHOP保留总链接容量的大约54%作为保护。在稀疏网络如ARPANET中,2-MAXHOP的执行接近于LP的最优解。
对ARPANET、r=3而且是统一容量,LP返回最优解,并且它与LP OPT所返回的结果相同。原因在于由于ARPANET网络相当稀疏,所以仅有一条保护路径能够满足中继点约束。此解是对大多数链接上设置半保护,只对不多的链接设置全保护。因为在网络中不存在尺寸至多为r的路径,所以对某些链接需要全保护。
此外,根据表1中的“PBN%”列,在非零保护容量的链接中,2-MAXHOP仅仅保留不超过84%的链接容量作为备用池。这个值往往在60%左右,而使用MAXHOP时此百分比总是100%。注意,当k为2时,此比值不能小于50%。这就表明在链接中共享和平衡保护容量方面,2-MAXHOP方案非常成功。
图4详细描绘了示范硬件的内部电路,用于以所描述的方式,分别执行以上标识的图2和图3的方法200和300,以便计算适当的路径长度和成本,达到如以上所讨论的适当保护容量值。该硬件包含在控制模块424之内,后者比如网络100中的电脑或其他类型的处理设备,或者具有必要编程信息(即以上标识数字的伪码)的外部计算设备,以便远程运行所需的算法。具体地说,计算设备424包括至少一个中央处理器(CPU)430、支持电路434和存储器436。CPU 430可以包括一个或多个常见的微处理器。支持电路434是众所周知的电路,包括电源供应、时钟、输入输出接口电路等。存储器436可以包括随机存储器、只读存储器、移动磁盘存储器、闪存以及这些类型存储器的各种组合。存储器436有时称为主存储器,并可以部分地用作高速缓冲存储器或缓冲器存储器。存储器436存储着各种软件包(即软件包432和438),按照以上说明的第一或第二算法,专用于处理和分析节点和路径所需的步骤,从而形成了运行所述软件包时作为相同的专用机,或者说对应的ASIC。
众所周知,对t≥2的情况,非常难以创建最少链接的跨度.所以,为了确定近似解,研制了以上标识的方法.对k=1的情况,根据混合整数线性规划(ILP)也可得到最优解.也提出了当k为无界时(以多项式时间)最优解决问题的线性规划.主要目的是要表明,对所提出的问题有可能形成高效、多项式规模的LP.这些LP也用于在仿真中度量所述近似算法的性能.
一般说来,考虑到这些替代解决方案,通过将每个链接替换为前进方向相反的两个有向链接,把无向的图变换为有向图。符号pair(e)用于表示与链接e相反方向的链接。假设两个方向的链接一起失败,则使用δin(v)和δout(v)表示进入和离开节点v的链接。
基于ILP的方法
在所述ILP公式中,所有整型变量都是二进制变量。这些类型的ILP比一般的ILP容易求解。当链接e出现故障时,二进制变量use(e,e’)用于俘获网络中的保护路径。当链接e出现故障时,如果保护路径使用链接e’,那么use(e,e’)设置为1。所述ILP是
最小化ΣeE(p(e)/2)---(1)
注意,由于对每条(无向)边的保护容量计数两次,每个方向一次,所以在目标函数中总保护容量除以2。所述约束为:对全体e∈E;v∈V
Σiδin(v)use(e,i)-Σiδout(v)use(e,i)=0---(2)
以上约束是在每个节点(包括e的终点)处的“流量守恒”约束。由于二进制变量use是保护路径的标志,所以约束规定如果保护路径进入节点,那么它也应当离开这个节点。对链接e,如果use(e,pair(e))设置为1,则流量守恒约束将可能为e正好保证一条保护路径。对其工作容量(u(e)-p(e))为非零的链接,以下成立。
对全体e∈E
u(e)·use(e,pair(e))≥u(e)-p(e)    (3)
后面将会明了使用上式,而不是直接把use(e,pair(e))设置为1的原因。以下约束确保链接的保护路径不使用自身。
对全体e∈E
use(e,e)=0    (4)
以下确保了保护路径的长度至多为r。
对全体e∈E
ΣiEuse(e,i)r+1---(5)
由于use(e,pair(e))设置为1,保护路径的长度将是
因此在不等式中使用了r+1而不是r。
以下约束确保如果链接e在其保护路径中使用链接i,那么链接i的保护容量超过e的工作容量(即u(e)-p(e))。
对全体e;i ∈E;i≠pair(e)
p(i)+(1-use(e,i))u(e)≥u(e)-p(e)  (6)
对全体e∈E
p(e)≤u(e)                         (7)
p(e)=p(pair(e))                   (8)
p(e)≥0                            (9)
约束(7)保证了保护容量不超过总容量。约束(8)保证了对无向图有解。约束(9)保证了保护容量是非负的。
使用(3)式设置use(e,pair(e))的数值为1,而不是直接分配。如果使用直接分配,约束(5)连同流量守恒约束一起将可能要求对于所有的链接,图中保护路径(即使为0容量)长度≤r。相反,通过使用(3)式,对最小周期大于r+1的链接分配了全保护容量。
无界分离
在这部分中,备用流被任意地分离(k无界)。对保护路径能够采用的中继点数目仍然有约束。已表明此问题能够以多项式时间最优地解决。
时间扩展图:在“Constructing Maximal Dynamic fbws fromStatic fbws”,Ford and Fulkerson,Operations Research 6:419-433,1958中介绍了时间扩展图的概念。时间扩展图包含在每个离散“时间间隔”(级别)上若干节点的副本。为本发明的目的而构建了包含r+1个级别的时间扩展图。级别编号从0到r。令级别I上的节点u表示为ui。如果在原始图中存在边(u,v),则时间扩展图包含从ui-1到vi的边,i=1...r。图5描绘了原始图502和具有3个级别的时间扩展图504。在构建时间扩展图之前,通过用两条有向边替换无向边,把无向图变换为有向图。
引理:具有r+1个级别的时间扩展图中任何路径的最大长度为r。
证明:在时间扩展图中的边只能从一个级别到下一个级别。因此,图中不存在环,而且最长的路径从最低级别通到最高级别。
形成具有r+1个级别的时间扩展图上的线性规划,并使用以上引理,限制保护路径的长度为r。注意,并没有显式地构建时间扩展图;它们用于从概念上理解所述LP。
当链接e出现故障时,对i=1...r,使用变量flow(e,e’,i)指示在链接e’上从级别i-1通到级别i的重路由流量。当链接e出现故障时,链接e’上重路由的总流量是∑i=1...r flow(e,e′,i)
如同在ILP中,所述目标函数是,
最小化ΣeE(p(e)/2)---(10)
链接e=(x,y)的备用流在时间扩展图上的路由如下:在节点x0处发送u(e)-p(e)流,并在节点y1...yr+1之间接收它。不允许所述流在任何一个yl,l=0...r节点处离开。在所有其他节点中的流量守恒约束是:对全体e=(x,y)∈E;l=1...r
flow(e,e,l)=0        (11)
flow(e,pair(e),l)=0  (12)
以上约束确保链接的备用流不使用自身或其反向链接。
对全体e=(x,y)∈E
Σeδout(x),eeflow(e,e,1)=u(e)-p(e)---(13)
对链接e=(x,y),以上约束在级别0中x的流出链接(链接e除外)之间发送w(e)=u(e)-p(e)的流。
对全体e=(x,y)∈E,v∈V,v≠x,v≠y,l=2...r
Σeδin(v)flow(e,e,l-1)=Σeδout(v)flow(e,e,l)---(14)
以上约束是除了x和y之外所有节点上,在级别1到r-1上,对链接e=(x,y)保护路径的流量守恒约束。它声明如果备用流在级别l处进入节点,它也应当离开该节点。这不考虑级别0中的节点。除了x0之外,对链接e=(x,y)不希望备用流从级别0中的任何节点进入。以下约束确保了这一点。
对全体e=(x,y)∈E,v∈V,v≠x
Σeδout(v)flow(e,e,l)=0---(15)
在级别r处的节点不需要单独的约束,因为所有的流都集中在目的地。
对链接e=(x,y),以下约束集中了所有级别中在节点y之间的所有备用流(严格地说它将在级别2到r+1之间)。
对全体e=(x,y)∈E
Σl=2Σeδin(y)flow(e,e,l)=u(e)-p(e)---(16)
由于链接e’被分离成多个链接(级别),以下约束确保当链接e出现故障时,在所有这些级别之间的备用流小于e,的保护带宽。
对全体e=(x,y)∈E,e’∈E
Σl=1...rflow(e,e,l)p(e)---(17)
如同ILP,以下约束保证了保护容量不超过总容量(约束18),此解适用于无向图(约束19),并且保护容量是非负的(约束20)。
对全体e∈E
p(e)≤u(e)         (18)
p(e)=p(pair(e))   (19)
p(e)≥0            (20)
虽然本文已经详细显示和介绍过加入了本发明技术的各种实施例,但是本领域的技术人员可以容易地设计出许多其他的、仍然加入了本发明技术的变化实施例。