CN102047630B - 用于计算多协议标签交换流量工程路径的方法和装置 - Google Patents
用于计算多协议标签交换流量工程路径的方法和装置 Download PDFInfo
- Publication number
- CN102047630B CN102047630B CN200980118818.0A CN200980118818A CN102047630B CN 102047630 B CN102047630 B CN 102047630B CN 200980118818 A CN200980118818 A CN 200980118818A CN 102047630 B CN102047630 B CN 102047630B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- cost
- minimal cost
- lsr
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 35
- 230000006872 improvement Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 8
- 230000004907 flux Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Navigation (AREA)
Abstract
本发明提供用于搜索通信网络中的在源节点与目的地节点之间的最小代价路径的方法和装置。首先确定与从源节点到一组中间节点的最小代价路径相关联的一组代价。还确定从目的地节点到中间节点的沿相反方向的最小代价路径。至少基于与从目的地节点到中间节点的最小代价路径相关联的第一代价和与首先确定的从源节点到中间节点的最小代价路径相关联的第二代价来选择中间节点。因此,然后可以通过使用第二代价作为启发信息来计算源节点与目的地节点之间的最小代价路径。
Description
相关申请案交叉引用
本申请要求于2008年6月18日提交且题为“Method and Apparatus for Calculating MPLSTraffic Engineering Paths”的美国专利申请案第12/141,208号的优先权,其通过引用结合到本文中,如同其全部复制一样。
技术领域
本申请案大体上涉及搜索通信网络中的最小代价路径。更具体而言,本申请案涉及用于计算多协议标签交换(“MPLS”)流量工程(“TE”)路径。
背景技术
MPLS网络正在变得普遍。通常,因特网和通信网络的指数增长已不仅导致网络流量的数量的类似增长,而且导致对更好的服务质量(“QoS”)的更大需要。同时,诸如语音、视频、和关键业务功能等新出现的应用将仅仅导致对更多带宽和更高服务质量的甚至更大的需要。正在变得普遍以更好地满足这些需要的一种解决方案是MPLS技术。
除了比某些现有技术更适合于基于IP的网络之外,由MPLS提供的一个关键优点是改善的可管理性。即,MPLS提供用于使网络拥挤最小化、满足服务质量要求、并提供网路可靠性和可用性的流量工程。流量工程的一个组成部分是配置和/或计算MPLS流量工程路径。
MPLS网络包括标签交换路由器(“LSR”)的网络。可以出于多种目的配置和/或计算通过LSR的网络的端到端路径,诸如为了满足带宽和/服务质量要求。这些端到端路径是也被称为MPLS流量工程LSP或MPLS流量工程路径的标签交换路径(“LSP”)。
为了更好地满足对更多带宽和较高服务质量的需要,一般需要改进MPLS技术并相应地需要提供用于计算MPLS流量工程路径的新的且改进的方法和装置。
发明内容
本发明的实施例提供用于计算MPLS流量工程路径的新的且改进的方法和装置。在一组实施例中,首先搜索通信网络中的从源节点到一组节点的一组最小代价路径。在搜索该组最小代价路径时可以使用改进Dijkstra算法。在由于搜索该组最小代价路径而获得关于通信网络的良好的知识之后,可以在搜索通信网络中的在源节点与其它节点之间的其它路径时使用该知识作为启发信息。在某些实施例中,这种新的且改进的人工智能启发式搜索框架可以使用包括基于A*的算法在内的算法以在搜索其它路径时利用启发信息。
因此,可以借助于启发信息更高效地进行MPLS流量工程路径的配置和/或计算。因此,改进MPLS技术以更好地满足例如对更多带宽和更高服务质量的需要。因此,随着通信网络增长得更大和/或随着计算到更多节点的更多路径,使用启发信息有利地提供更大的效率增益。随着计算更多的路径,积累关于通信网络的更多知识。积累并使用所积累的启发信息的这种能力预期对大型服务提供商的MPLS网络和/或随着MPLS网络一般增长得更大而特别有益。
在一个实施例中,一种用于搜索通信网络中的在源节点与目的地节点之间的最小代价路径的方法可以包括确定一组代价。该组代价中的每个代价与通信网络中的从源节点到多个节点的多个最小代价路径中的相应的一个相关联。所述多个节点可以包括中间节点,并且所述中间节点可以与所述多个最小代价路径中的中间最小代价路径相关联。该方法还可以包括确定从目的地节点到中间节点的最小代价路径。该方法还可以包括至少基于与从目的地节点到中间节点的最小代价路径相关联的第一代价和与从源节点到中间节点的中间最小代价路径相关联的第二代价来选择中间节点。所述中间节点可以在源节点与目的地节点之间的最小代价路径中。另外,所述方法可以包括沿着源节点与目的地节点之间的最小代价路径发送通信数据。
依照上述实施例,本发明的方法可以在一种装置中体现,该装置包括通信接口、存储媒体、控制器、和可由控制器执行以便操作该装置的一组指令。本发明的方法还可以在计算机可读存储媒体中体现,该计算机可读存储媒体具有在其中体现的用于指导包括控制器的装置的操作的计算机可读程序。依照上述实施例,所述计算机可读程序包括用于操作该装置的指令。
附图说明
可以通过参照以下附图来进一步理解特定实施例的本质和优点。在图中,遍及多个图使用相同的参考标记来指示类似的组件。在某些情况下,子标记与后面是连字符的参考编号相关联以表示多个类似组件中的一个。当在没有对现有子标记的规定的情况下对参考编号进行参考时,意图指的是全部的此类多个类似组件。
图1提供示出本发明的实施例中的MPLS网络和搜索源节点与目的地节点之间的最小代价路径的示意图。
图2提供概括本发明的实施例中的用于搜索源节点与目的地节点之间的最小代价路径的方法的高级方框图。
图3是概括本发明的实施例中的用于搜索源节点与至少一个目的地节点之间的最小代价路径的方法的流程图。
具体实施方式
本发明的实施例提供用于计算多协议标签交换(“MPLS”)流量工程(“TE”)路径的新的且改进的方法和装置。本文所使用的术语“节点”意图被广泛地理解为包括通信路径中的点。在某些情况下,节点可以是连接路径的至少一个或两个片断的终止或交叉节点。通信的路径可以通过任何类型的通信网络。术语“通信网络”意图被广泛地解释为包括载送通信数据的任何网络,其可以是电学的或光子学的。
仅仅举例来说,在一个实施例中,通信网络可以是MPLS网络。在MPLS网络中,源节点可以是入口边缘标签交换路由器(“LSR”)或接收输入封包并对该封包加标签的源LSR。该封包被依照标签沿着标签交换路径(“LSP”)转送到MPLS网络中的下一个LSR(有时称为核心LSR)。当封包到达出口边缘LSR时,出口边缘LSR在封包离开MPLS网络时去除标签并递送封包。出口边缘LSR可以是目的地节点或目的地LSR。
因此,通过MPLS网络来计算LSP涉及通过LSR的网络来搜索路径。最佳地,该路径是所有可能的路径之中与最小代价相关联的路径。代价可以与某些度量相关联。同时,可能的路径还可以受到某些约束,包括带宽要求、服务质量要求、和/或某些亲和性。“亲和性”一般指的是用于避免或包括某些路径的管理约束。应注意的是满足一组约束的最小代价(或“最短”)路径称为约束最短路径优先(“CSPF”)路径。
可以使用改进Dijkstra算法来首先搜索从源LSR到一组目的地LSR的一组最小代价路径。对算法的修改规定违反任何约束的路径被排除。在某些实施例中,存储至少一组代价,每个代价与该组最小代价路径中的各路径相关联,因为其有益地提供关于MPLS网络的知识。随后,在某些实施例中,通过使用一种算法来搜索源LSR与另一目的地LSR之间的路径,所述算法包括可以通过使用来自该组代价的信息作为启发信息来利用所存储的知识的基于A*的算法。启发信息的使用可以大大地改善搜索效率,尤其是在获得关于MPLS网络的更多知识时。
图1提供示出本发明的实施例中的MPLS网络和搜索源节点与目的地节点之间的最小代价路径的示意图。MPLS网络包括LSR 110的网络。第一LSR 110-1“邻近于”第二LSR 110-2,意味着在两者之间不存在介于中间的LSR。应注意的是路径可以包括一个或多个“链路”且两个相邻LSR之间的路径可以包括一个“链路”。第一方向度量可以与从第一LSR 110-1至第二LSR110-2的第一链路相关联。同样地,第二方向度量可以与从第二LSR 110-2到第一LSR 110-1的第二链路相关联。两个方向度量可以是相同的或不同的。在某些实施例中,可以使用第一方向度量作为与第一链路相关联的代价,并且可以使用第二方向度量作为与第二链路相关联的代价。在其它实施例中,可以使用第一方向度量作为与第一链路和第二链路两者相关联的代价。如果链路不可用(即沿特定方向不可到达),则可以使链路与无穷代价相关联。
如所示,沿第一LSR 110-1与第二LSR 110-2之间任一方向的两个链路与同一代价A 150-1相关联。同样地,第二LSR 110-2与第三LSR 110-3之间的链路(或沿任一方向的两个链路)与代价B 150-2相关联;第三LSR 110-3与第四LSR 110-4之间的链路与代价C 150-3相关联;以及第四LSR 110-4与第五LSR 110-5之间的链路与代价D 150-4相关联。还示出了例如第一LSR110-1与第六LSR 110-6之间和第一LSR 110-1与第七LSR 110-7之间的其它链路。事实上,第一LSR 110-1具有与之相邻的以下LSR:第二LSR 110-2、第六LSR 110-6、和第七LSR 110-7。
为了搜索从第一LSR 110-1到第三LSR 110-3的最小代价路径,在第一LSR 110-1是源LSR且第三LSR 110-3是目的地LSR的情况下,可以使用改进Dijkstra算法。应注意的是虽然提出了改进Dijkstra算法,但预期本领域的技术人员更好地理解Dijkstra算法的细节。在运行该算法之前,将以下数据结构初始化为空:OPEN_SET和CLOSED_SET。另外,对于所有LSR,将代价函数g(X)初始化为无穷大(或非常大的数字),代价函数g(X)是与到目前为止已从源LSR到目的地LSR X找到的路径之中的最小代价路径相关联的代价。对于源LSR而言,代价函数g()被设置为零。
应注意的是CLOSED_SET将包括第一组LSR,使得对于第一组LSR中的每个LSR而言,已找到从源LSR到每个LSR的所有可能路径之中的最小代价路径。相反,OPEN_SET将包括第二组LSR,使得对于第二组LSR中的每个LSR而言,已找到从源LSR到每个LSR的路径;同时该路径是到目前为止已找到的路径之中的最小代价路径,然而该路径可以不是所有可能路径之中的最小代价路径。
在步骤1处,将源LSR 110-1添加到CLOSED_SET。
在步骤2处,使R为刚刚已被添加到CLOSED_SET的LSR,所述R是一个LSR,将扫描该LSR到其所有相邻LSR的路径。因此,初始R将是源LSR 110-1。对于每个N而言,在N是邻近于R的LSR的情况下,进行以下操作。例如,在遍历以下各项的第一迭代中,N可以是第二LSR 110-2;在第二迭代中,N可以是第六LSR 110-6;并且在第三迭代中,N可以是第七LSR 110-7。如上所述,三个LSR邻近于源LSR 110-1。
在步骤2.1处,如果N已在CLOSED_SET中,则忽视N并继续下一次迭代。
在步骤2.2处,计算g(R)加与从R到N的路径相关联的代价的和。例如,在第一迭代中,在R是源LSR 110-1且N是第二LSR 110-2的情况下,和可以是零加代价A 150-1。
在步骤2.3处,如果该和小于g(N)的现有值,则将g(N)更新为该和。否则,忽视N并继续下一次迭代。
在步骤2.4处,检验所有约束。如果到N的路径违反约束,则通过将g(N)设置回其在步骤2.3处的更新之前的前一值来丢弃N,并继续下一次迭代。
在步骤2.5处,将N添加到OPEN_SET。
在步骤3处,选择OPEN_SET中的具有最低g()的LSR。从OPEN_SET中删除LSR并将LSR添加到CLOSED_SET。
在步骤4处,重复步骤2和3,直至到达目的地LSR 110-3或OPEN_SET变为空为止。
本领域的技术人员应理解的是在搜索从源LSR 110-1到目的地LSR 110-3的最小代价路径时,还找到到CLOSED_SET中的其它目的地LSR的一组最小代价路径。有益地,在某些实施例中,存储至少一组代价,每个代价与该组最小代价路径中的各路径相关联,因为其提供关于通信网络的有价值的信息。
有利地,在某些实施例中,可以使用改进A*算法来利用来自该组代价的信息。即,可以使用用于CLOSED_SET中的每个LSR X的g(X)作为启发信息。本领域的技术人员应认识到在改进A*算法中,插入新步骤2.4.5并通过使用g(X)作为启发信息在改进Dijkstra算法中替换步骤3。本领域的技术人员还应认识到应用改进A*算法来搜索从另一目的地LSR返回源LSR的最小代价路径,而不是搜索从源LSR到另一目的地LSR的最小代价路径。
例如,为了随后搜索从第五LSR 110-5返回第一LSR 110-1的最小代价路径,其中第五LSR110-5是新的源LSR且第一LSR 110-1是新的目的地LSR,可以使用以下改进A*算法。在运行算法之前,也将以下数据结构初始化为空:OPEN_SET和CLOSED_SET。同样地,对于所有LSR,将代价函数ag(X)初始化为无穷大,代价函数ag(X)是与到目前为止已从新的源LSR 110-5到目的地LSR X找到的路径之中的最小代价路径相关联的代价。对于源LSR而言,代价函数ag()被设置为零。
在步骤1处,将新的源LSR 110-5添加到CLOSED_SET。
在步骤2处,使R为刚刚已被添加到CLOSED_SET的LSR,所述R是一个LSR,将扫描该LSR到其所有相邻LSR的路径。因此,初始R将是新的源LSR 110-5。对于每个N而言,在N是邻近于R的LSR的情况下,进行以下操作。
在步骤2.1处,如果N已在CLOSED_SET中,则忽视N并继续下一次迭代。
在步骤2.2处,计算ag(R)加与从R到N的路径相关联的代价的和。例如,在第一次迭代中,在R是新的源LSR 110-5且N是第四LSR 110-4的情况下,所述和将是零加代价D 150-4。
在步骤2.3处,如果该和小于ag(N)的现有值,则将ag(N)更新为该和。否则,忽视N并继续下一次迭代。
在步骤2.4处,检验所有约束。如果到N的路径违反约束,则通过将ag(N)设置回其在步骤2.3处的更新之前的前一值来丢弃N,并继续下一次迭代。
在步骤2.4.5处,将启发式代价函数f(N)更新为ag(N)加g(N)。例如,假设N是第三LSR 110-3,则ag(N)可以是代价D 150-4加代价C 150-3(即,ag(N)可以是从新的源LSR 110-5到第三LSR110-3的最小代价路径),并且g(N)将是代价A 150-1加代价B 150-2(即,g(N)将是根据以上改进Dijkstra算法确定的新目的或前一源LSR 110-1与第三LSR 110-3之间的最小代价路径)。因此,f(N)可以是代价D 150-4加代价C 150-3、加代价A 150-1加代价B 150-2。应注意的是如果g(N)不可用,即不可使用改进Dijkstra算法从早先的搜索中获得启发信息,则g(N)是零且f(N)具有与ag(N)相同的值。
在步骤2.5处,将N添加到OPEN_SET。
在步骤3处,选择OPEN_SET中的具有最低f()的LSR。从OPEN_SET中删除LSR并将LSR添加到CLOSED_SET。应注意的是由于代价A 150-1加代价B 150-2实际上是新目的地LSR110-1与第三LSR 110-3之间的实际最小代价,所以其提供用于搜索从新的源LSR 110-5通过第三LSR 110-3返回到新的目的地(或前一源)LSR 110-1的路径的优良且可能完美的启发信息。事实上,在此步骤处在运行此算法时的某个点处,很可能将第三LSR 110-3选为中间LSR。
在步骤4处,重复步骤2和3,直至到达新的目的地LSR 110-1或OPEN_SET变为空为止。
图2提供概括本发明的实施例中的用于搜索源节点与目的地节点之间的最小代价路径的方法的高级方框图。在方框210处,允许用户指定第一数目,使得多个节点中的节点的总数至少为该第一数目;将用改进Dijkstra算法来搜索从源节点到所述多个节点的多个最小代价路径。或者,可以将该数目指定为节点总数的百分比数目。还可以允许用户指定将用改进Dijkstra算法具体地搜索的目的地节点的第二数目(此第二数目本质上是改进Dijkstra算法将要运行的次数)。
在方框230处,使用改进Dijkstra算法来搜索从源节点到所述多个节点的最小代价路径;存储与最小代价路径相关联的一组代价。如上所述,本领域的技术人员应理解的是所述多个节点可以包括已经具体搜索其到达最小代价路径的特定节点、以及已经在搜索到所述特定节点的最小代价路径的同时找到其到达最小代价路径的节点。例如,在以上示例中,碰巧具体地搜索了从第一LSR 110-1到第三LSR 110-3的最小代价路径。本领域的技术人员应理解的是还可以在搜索从第一LSR 110-1到第三LSR 110-3的最小代价路径的同时找到从第一LSR 110-1到第二LSR110-2的最小代价路径。存储与最小代价路径相关联的代价。还应认识到在下文的方框250处,可以将第三LSR 110-3或第二LSR 110-2中的任一个视为中间节点。
如果所述多个节点中的节点的总数至少是由用户从方框210指定的第一数目,和/或如果已用改进Dijkstra算法具体地搜索的目的地节点的数目至少为用户从方框210指定的第二数目,则该方法可以继续至方框250。
在方框250处,随后通过使用一组代价作为启发信息使用A*算法来搜索源节点与其它目的地节点之间的最小代价路径。例如,随后,通过使用从搜索从第一LSR 110-1至第三LSR 110-3的最小代价路径获得的启发信息来搜索从第一LSR 110-5返回第一LSR 110-1的最小代价路径。在本实施例中,很可能基于启发信息将第三LSR 110-3选择为中间节点,并因此计算第一LSR110-1与第三LSR 110-5之间的最小代价路径。可以同样地计算到其它目的地LSR的最小代价路径。
图3是概括本发明的实施例中的用于搜索源节点与至少目的地节点之间的最小代价路径的方法的流程图。如上所述,代价与链路相关联。在方框310处,可以允许用户同时使用因数对与相邻节点之间的每个链路相关联的每个代价进行加法、减法、乘法、或除法。在方框315处,可以允许用户输入用于选择用于搜索源节点与目的地节点之间的最小代价路径的方法的命令。该方法可以是依照本公开的实施例的新的且改进的方法。如果用户未输入该命令,则可以自动地为用户选择默认方法。
在方框320处,可以允许用户指定数目,使得多个节点中的节点的总数至少为该数目。对于所述多个节点中的每个节点而言,将例如通过使用改进Dijkstra算法来搜索从源节点到每个节点的所有可能路径之中的最小代价路径。或者,可以允许用户指定第一百分比数目,使得作为节点总数的第二百分比数目的多个节点中的节点总数至少为该第一百分比数目。
例如,如果用户已在方框320处指定零,则可以不使用改进Dijkstra算法。相反,甚至可以在源节点与第一目的地节点之间的初始搜索中使用改进A*算法。如果用户已在方框320处指定30,则很可能在从源节点到第一目的地节点的初始搜索中使用改进Dijkstra算法。如果作为初始搜索的结果,已经找到从源节点到除第一目的地节点之外的十九个节点的最小代价路径,则在从源节点到第二目的地节点的第二搜索中可能仍使用改进Dijkstra算法。如果作为第二搜索的结果,已经找到从源节点到除第二目的地节点之外的九个节点的最小代价路径,则在从源节点到第三目的地节点的第三搜索中可能仍使用改进A*算法。这是因为到运行第三搜索时,第一目的地节点、十九个节点、第二目的地节点、和九个节点至少为30个节点。或者,如果存在总共150个节点且用户已指定20%,则将实现类似结果。
在方框325处,可以允许用户指定将用改进Dijkstra算法具体地搜索的目的地节点的数目。预期该数目本质上是改进Dijkstra算法将要运行的次数。如上所述,本领域的技术人员应理解的是所述多个节点可以包括已经具体搜索其到达最小代价路径的特定节点、以及已经在搜索到所述特定节点的最小代价路径的同时找到其到达最小代价路径的节点。此数目是特定节点的数目。
在方框340处,可以确定一组代价,每个代价与通信网络中的从源节点到所述多个节点的多个最小代价路径中的相应的一个相关联。所述多个节点可以包括中间节点。该中间节点与所述多个最小代价路径中的中间最小代价路径相关联。例如,中间节点可以是上述第三LSR 110-3。如从以上改进Dijkstra算法可以观察到的,所述多个最小代价路径中的每个最小代价路径对应于所述多个节点中的相应的一个。所述多个最小代价路径中的每个最小代价路径包括从源节点到所述多个节点中的相应的一个的路径。该路径与代价相关联,并且该代价是与从源节点到所述多个节点中的相应的一个的每个路径相关联的代价之中的最低代价。在某些实施例中,在确定与到所有节点的最小代价路径相关联的一组代价时,可以在没有约束的情况下使用Dijkstra算法。
在方框345处,可以存储该组代价。可以使用易失性存储器、非易失性存储器、和/或其它存储设备来存储此信息。在某些实施例中,还可以传输此信息并将其存储在除最初获得该信息的设备和位置之外的设备或位置处。例如,可以将信息复制和/或复写到另一LSR或另一装置中。还可以收集该信息并将其存储在更集中的管理站处。反之,一旦存储,还可以对所述一组代价进行清空和/或刷新。
在方框360处,可以例如通过使用上述改进A*算法来确定从目的地节点到中间节点的最小代价路径。例如,在上述示例中,确定从第五LSR 110-5到第三LSR 110-3的最小代价路径,第三LSR 110-3是中间LSR;与最小代价路径相关联的代价是代价D 150-4加代价C 150-3。
在方框365处,可以选择中间节点。例如,在上述示例中,可以在至少考虑代价A 150-1加代价B 150-2实际上是第一LSR 110-1与第三LSR 110-3之间的实际最小代价的情况下选择第三LSR 110-3。应注意的是代价A 150-1加代价B 150-2提供用于搜索从第五LSR 110-5通过第三LSR 110-3到第一LSR 110-1的路径的优良且可能完美的启发信息。还应注意的是可以重复方框365多次,因为考虑多个中间节点。因此,随后可以计算源节点与目的地节点之间的最小代价路径。在方框370处,可以沿着源节点与目的地节点之间的最小代价路径发送通信数据。在某些实施例中,可以为用户显示最小代价路径的表示。
如先前提到的,本领域的技术人员应理解的是可以对任何数目的附加目的地节点运行改进A*算法。例如,如果首先用改进Dijkstra算法找到了到J个目的地节点的最小代价路径,并且存在用于源节点的总共K个目的地节点,则可以重复改进A*算法(例如,通过返回到方框360)以便搜索到其余的K减J个目的地节点的最小代价路径。通过返回到方框360并从方框360开始重复,可以在不重新确定所述一组代价的情况下确定其余目的地节点。还应注意的是虽然J一般小于K,但J可以与K相同。如果J与K相同,则使用改进Dijkstra算法来搜索源节点与所有目的地节点之间的所有最小代价路径。相反,如果J是零,则在没有启发信息辅助的情况下仍可以使用改进A*算法。
另外,还可以沿相反方向应用该算法。例如,可以通过在算法中将目的地节点(例如,第五LSR 110-5)作为源LSR使用改进Dijkstra算法来搜索多个最小代价路径。然后可以使用改进A*算法来搜索从第一LSR 110-1到第五LSR 110-5的最小代价路径。因此,还可以确定源节点(例如,第一LSR 110-1)与目的地节点(例如,第五LSR 110-5)之间的最小代价路径。事实上,可以沿相反方向使用改进Dijkstra算法和改进A*算法,但是两种算法都不局限于沿特定方向的搜索。
此外,在搜索从源节点到目的地节点的最小代价路径时,可能的是目的地节点实际上与中间节点是同一节点,并且从目的地节点到中间节点的最小代价路径将是到目的地节点本身的路径。还可能的是中间节点在源节点与第一目的地节点之间的最小代价路径中,而且在源节点与第二目的地节点之间的最小代价路径中。
此外,路径计算单元(“PCE”)可以包括依照上述实施例的装置和/或计算机可读媒体上的指令。通常将PCE定义为能够基于网络图来计算网络路径或路线并施加计算约束的实体(组件、应用程序、或网络节点)。
因此,已描述了多个实施例,本领域的技术人员应认识到在不脱离本发明的精神的情况下可以使用各种修改、替换构造、及等价物。因此,不应将以上说明视为限制由以下权利要求书定义的本发明的范围。
Claims (22)
1.一种用于搜索通信网络中的源节点与目的地节点之间的最小代价路径的方法,所述方法包括:
确定一组代价,其中所述一组代价中的每个代价与所述通信网络中的从所述源节点到多个节点的多个最小代价路径中的相应的一个相关联,并且其中所述多个节点包括中间节点,所述中间节点与所述多个最小代价路径中的中间最小代价路径相关联;
确定从所述目的地节点到所述中间节点的最小代价路径;
至少基于与从所述目的地节点到所述中间节点的所述最小代价路径相关联的第一代价和与从所述源节点到所述中间节点的所述中间最小代价路径相关联的第二代价来选择所述中间节点,其中所述中间节点是在所述源节点与所述目的地节点之间的所述最小代价路径中;以及
沿着所述源节点与所述目的地节点之间的所述最小代价路径发送通信数据;
其中:
与从第一节点到第二节点的第一链路相关联的第一方向度量不同于与从所述第二节点到所述第一节点的第二链路相关联的第二方向度量;
所述第一节点在所述通信网络中与所述第二节点邻近;
所述第一方向度量被用作与所述第一链路相关联的代价;以及
所述第一方向度量还被用作与所述第二链路相关联的代价。
2.如权利要求1所述的方法,其中:
所述多个最小代价路径中的每个最小代价路径对应于所述多个节点中的相应的一个;
所述多个最小代价路径中的每个最小代价路径包括从所述源节点到所述多个节点中的所述相应的一个的路径;
所述路径与代价相关联;以及
所述代价是与从所述源节点到所述多个节点中的所述相应的一个的每个路径相关联的代价中的最低代价。
3.如权利要求1所述的方法,其中:
所述通信网络是多协议标签交换MPLS网络。
4.如权利要求1所述的方法,其中所述源节点与所述目的地节点之间的所述最小代价路径是MPLS流量工程TE路径。
5.如权利要求1所述的方法,其中:
第一方向度量与从第一节点到第二节点的第一链路相关联;
第二方向度量与从所述第二节点到所述第一节点的第二链路相关联;
所述第一节点在所述通信网络中与所述第二节点邻近;
所述第一方向度量被用作与所述第一链路相关联的代价;以及
所述第二方向度量被用作与所述第二链路相关联的代价。
6.如权利要求1所述的方法,还包括:
允许用户同时将与相邻节点之间的每个链路相关联的每个代价乘以因数。
7.如权利要求1所述的方法,其中:
所述目的地节点与所述中间节点是同一节点;以及
从所述目的地节点到所述中间节点的所述最小代价路径是到所述目的地节点本身的路径。
8.如权利要求1所述的方法,其中在确定所述通信网络中的从所述源节点到所述多个节点的所述多个最小代价路径时至少部分地使用Dijkstra算法。
9.如权利要求1所述的方法,其中在没有约束的情况下在确定所述通信网络中的从所述源节点到所述多个节点的所述多个最小代价路径时至少部分地使用Dijkstra算法,其中所述多个节点包括所述通信网络中的所有节点。
10.如权利要求1所述的方法,其中当至少部分地使用A*算法时,使用所述第二代价作为启发信息。
11.如权利要求1所述的方法,还包括:
允许用户指定数目;以及
允许用户指定多个特定的目的地节点;
其中在确定从所述源节点到所述数目的特定目的地节点的最小代价路径时至少部分地使用Dijkstra算法。
12.如权利要求1所述的方法,还包括:
存储所述一组代价。
13.如权利要求1所述的方法,其中所述源节点与所述目的地节点之间的所述最小代价路径满足至少一个约束。
14.如权利要求1所述的方法,还包括:
允许用户输入用于选择所述用于搜索所述源节点与所述目的地节点之间的所述最小代价路径的方法的命令。
15.如权利要求1所述的方法,其中:
所述目的地节点是第一目的地节点;
所述中间节点是第一中间节点;
所述中间最小代价路径是第一中间最小代价路径;以及
所述多个节点包括第二中间节点,所述第二中间节点与所述多个最小代价路径中的第二中间最小代价路径相关联;
所述方法还包括:
确定从第二目的地节点到所述第二中间节点的最小代价路径;以及
至少基于以下各项来选择所述第二中间节点:
与从所述第二目的地节点到所述第二中间节点的所述最小代价路径相关联的第三代价;以及
与从所述源节点到所述第二中间节点的所述第二中间最小代价路径相关联的第四代价;
其中所述第二中间节点是在所述源节点与所述第二目的地节点之间的最小代价路径中。
16.如权利要求15所述的方法,其中所述第一中间节点与所述第二中间节点是同一节点。
17.如权利要求15所述的方法,还包括:
在不重新确定所述一组代价的情况下对所述通信网络中的多个目的地节点重复如权利要求15所述的方法。
18.如权利要求17所述的方法,其中所述多个节点中的节点的总数小于目的地节点的总数。
19.如权利要求17所述的方法,还包括:
允许用户指定第一百分比数目,其中作为目的地节点总数的第二百分比数目的所述多个节点中的节点总数至少为所述第一百分比数目。
20.一种用于搜索通信网络中的源节点与目的地节点之间的最小代价路径的装置,所述装置包括:
通信接口;
存储媒体;
控制器,
所述控制器用于确定一组代价,其中:
所述一组代价中的每个代价与所述通信网络中的从所述源节点到多个节点的多个最小代价路径中的相应的一个相关联;以及
所述多个节点包括中间节点,所述中间节点与所述多个最小代价路径中的中间最小代价路径相关联;
所述控制器还用于确定从所述目的地节点到所述中间节点的最小代价路径;以及
所述控制器还用于至少基于以下各项来选择所述中间节点:
与从所述目的地节点到所述中间节点的所述最小代价路径相关联的第一代价;以及
与从所述源节点到所述中间节点的所述中间最小代价路径相关联的第二代价;
其中所述中间节点是在所述源节点与所述目的地节点之间的所述最小代价路径中。
21.如权利要求20所述的装置,其中
路径计算单元PCE包括所述装置。
22.如权利要求20所述的装置,其中:
所述装置用于确定所述通信网络中的从所述源节点到所述多个节点的所述多个最小代价路径,至少部分地执行Dijkstra算法;以及
所述装置还用于选择所述中间节点,至少部分地执行A*算法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/141,208 US9049145B2 (en) | 2008-06-18 | 2008-06-18 | Method and apparatus for calculating MPLS traffic engineering paths |
US12/141,208 | 2008-06-18 | ||
PCT/CN2009/072059 WO2009152725A1 (en) | 2008-06-18 | 2009-06-01 | Method and apparatus for calculating mpls traffic engineering paths |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102047630A CN102047630A (zh) | 2011-05-04 |
CN102047630B true CN102047630B (zh) | 2013-04-24 |
Family
ID=41431183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980118818.0A Expired - Fee Related CN102047630B (zh) | 2008-06-18 | 2009-06-01 | 用于计算多协议标签交换流量工程路径的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9049145B2 (zh) |
CN (1) | CN102047630B (zh) |
WO (1) | WO2009152725A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8681635B2 (en) * | 2009-12-31 | 2014-03-25 | Mapquest, Inc. | Computer-implemented systems and methods for planning a route |
US8854956B2 (en) | 2011-08-02 | 2014-10-07 | Futurewei Technologies, Inc. | System and method for finding segments of path for label switched path crossing multiple domains |
CN104170328A (zh) * | 2011-10-28 | 2014-11-26 | 爱立信(中国)通信有限公司 | 标签交换路由器的环网中的保护 |
CN102664802B (zh) * | 2012-04-20 | 2014-10-22 | 同济大学 | 基于反馈的自适应多约束的路径搜索方法 |
US9430508B2 (en) | 2013-12-30 | 2016-08-30 | Microsoft Technology Licensing, Llc | Disk optimized paging for column oriented databases |
US9723054B2 (en) | 2013-12-30 | 2017-08-01 | Microsoft Technology Licensing, Llc | Hierarchical organization for scale-out cluster |
US9898398B2 (en) | 2013-12-30 | 2018-02-20 | Microsoft Technology Licensing, Llc | Re-use of invalidated data in buffers |
CN107533437A (zh) * | 2015-09-24 | 2018-01-02 | 慧与发展有限责任合伙企业 | 弹性存储器结构 |
CN108833544B (zh) * | 2018-06-15 | 2021-08-20 | 中电万维信息技术有限责任公司 | 一种动态数据共享交换方法 |
CN114827019B (zh) | 2018-07-13 | 2023-08-22 | 华为技术有限公司 | 用于在网业务的mpls扩展头 |
WO2020048493A1 (en) | 2018-09-05 | 2020-03-12 | Huawei Technologies Co., Ltd. | Segment routing in mpls network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598532A (en) * | 1993-10-21 | 1997-01-28 | Optimal Networks | Method and apparatus for optimizing computer networks |
CN1350244A (zh) * | 2000-10-25 | 2002-05-22 | 日本电气株式会社 | 最低成本路径搜索装置及其使用的最低成本路径搜索方法 |
CN101159695A (zh) * | 2007-11-16 | 2008-04-09 | 杭州华三通信技术有限公司 | 链路选择方法和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020086B2 (en) * | 2000-07-03 | 2006-03-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Lagrange quality of service routing |
IL141855A0 (en) * | 2001-03-07 | 2002-03-10 | Onetiercommunications Inc | A method and apparatus for providing an improved quality of service for data transfer over the internet |
CN1350224A (zh) | 2001-11-21 | 2002-05-22 | 李善崇 | 两笔优化拼音输入法及其键盘 |
US6925061B2 (en) * | 2001-12-26 | 2005-08-02 | Tropic Network Inc. | Multi-constraint routing system and method |
US7280481B2 (en) * | 2002-10-10 | 2007-10-09 | Guangyi David Rong | Shortest path search method “Midway” |
US7031262B2 (en) * | 2004-05-19 | 2006-04-18 | Cisco Technology, Inc. | Reoptimization triggering by path computation elements |
US7630392B2 (en) * | 2005-05-31 | 2009-12-08 | Cisco Technology, Inc. | Multi-homing using controlled route leakage at a backup service provider |
US7599302B2 (en) * | 2005-07-19 | 2009-10-06 | Cisco Technology, Inc. | Dynamic enforcement of MPLS-TE inter-domain policy and QoS |
US7571411B2 (en) * | 2006-01-12 | 2009-08-04 | International Business Machines Corporation | Methods and apparatus for providing flexible timing-driven routing trees |
-
2008
- 2008-06-18 US US12/141,208 patent/US9049145B2/en not_active Expired - Fee Related
-
2009
- 2009-06-01 WO PCT/CN2009/072059 patent/WO2009152725A1/en active Application Filing
- 2009-06-01 CN CN200980118818.0A patent/CN102047630B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598532A (en) * | 1993-10-21 | 1997-01-28 | Optimal Networks | Method and apparatus for optimizing computer networks |
CN1350244A (zh) * | 2000-10-25 | 2002-05-22 | 日本电气株式会社 | 最低成本路径搜索装置及其使用的最低成本路径搜索方法 |
CN101159695A (zh) * | 2007-11-16 | 2008-04-09 | 杭州华三通信技术有限公司 | 链路选择方法和设备 |
Non-Patent Citations (8)
Title |
---|
《A formal basis for the heuristic determination of minimum cost paths》;Hart, Peter.E.et al;《IEEE Transactions on Systems Science and Cybernetics》;IEEE Xplore;19680731;第4卷(第2期);第100-107页 * |
《A Note On two Problems In Connexion with Graphs》;E.W.Dijkstra;《Numerische Mathematik 1》;19591231;第269-271页 * |
《Evaluation of Heuristic Path Selection Algorithm for Multi-Constrained QoS Routing》;Wendong Xiao et al;《Proceeding of IEEE》;20040323;第112-116页 * |
《On the Heuristics of A* or A Algorithm In ITS and Robot Path Planning》;Takayuki Goto,et al;《Proceedings of IEEE》;20031030;第1159-1166页 * |
E.W.Dijkstra.《A Note On two Problems In Connexion with Graphs》.《Numerische Mathematik 1》.1959,第269-271页. |
Hart, Peter.E.et al.《A formal basis for the heuristic determination of minimum cost paths》.《IEEE Transactions on Systems Science and Cybernetics》.IEEE Xplore,1968,第4卷(第2期),第100-107页. |
Takayuki Goto,et al.《On the Heuristics of A* or A Algorithm In ITS and Robot Path Planning》.《Proceedings of IEEE》.2003,第1159-1166页. |
Wendong Xiao et al.《Evaluation of Heuristic Path Selection Algorithm for Multi-Constrained QoS Routing》.《Proceeding of IEEE》.2004,第112-116页. |
Also Published As
Publication number | Publication date |
---|---|
US9049145B2 (en) | 2015-06-02 |
WO2009152725A1 (en) | 2009-12-23 |
CN102047630A (zh) | 2011-05-04 |
US20090316583A1 (en) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102047630B (zh) | 用于计算多协议标签交换流量工程路径的方法和装置 | |
Xu et al. | Trap avoidance and protection schemes in networks with shared risk link groups | |
Liu et al. | Approximating optimal spare capacity allocation by successive survivable routing | |
Kodian et al. | Failure-independent path-protecting p-cycles: Efficient and simple fully preconnected optical-path protection | |
EP1271844B1 (en) | Route determining method in a multi protocol label switching network | |
US7583601B2 (en) | Multicast transfer route setting method, and multicast label switching method for implementing former method | |
US7535828B2 (en) | Algorithm for backup PE selection | |
US7609624B2 (en) | Method and apparatus for pre-provisioning networks to support fast restoration with minimum overbuild | |
EP1609275B8 (en) | Data networking | |
JP2014039314A (ja) | リンクステートプロトコルにより制御されるネットワークにおいて転送状態を算出する装置及び方法 | |
US10348610B2 (en) | Method and apparatus for minimum label bandwidth guaranteed path for segment routing | |
WO2007117821A2 (en) | Method and apparatus for generating a degree-constrained minimum spanning tree | |
CN101296178A (zh) | 域间流量工程路径计算方法和路径计算装置 | |
CN111865789B (zh) | 一种基于段路由的sr路径约束方法 | |
US20050174934A1 (en) | Traffic-independent allocation of working and restoration capacity in networks | |
Klopfenstein | Rerouting tunnels for MPLS network resource optimization | |
CN102325039A (zh) | 一种面向电力控制业务的ason网络优化设计方法 | |
US7061869B2 (en) | Apparatus and method for graceful reassignment of out-of-kilter communications paths | |
Groebbens et al. | Efficient protection in MPλS networks using backup trees: Part one—Concepts and heuristics | |
Qassoud et al. | Investigation of bandwidth reservation for segment routing | |
US20120063362A1 (en) | Method and apparatus for computing paths to destinations in networks having link constraints | |
Solano et al. | A fast algorithm based on the MPLS label stack for the label space reduction problem | |
Xu et al. | An Optimization Meta-heuristic Algorithm Based on Segment Routing | |
Bhandari | The Sliding Shortest Path Algorithms. | |
Groebbens et al. | Efficient protection in MP AS networks using backup trees: part-One concepts and heuristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 |