用于计算多协议标签交换流量工程路径的方法和装置的制作方法

文档序号:7734303阅读:111来源:国知局
专利名称:用于计算多协议标签交换流量工程路径的方法和装置的制作方法
技术领域
本申请案大体上涉及搜索通信网络中的最小代价路径。更具体而言,本申请案涉 及用于计算多协议标签交换(“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至第二 LSR 110-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 相关联。还示出了例如第一 LSR 110-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算法 的细节。在运行该算法之前,将以下数据结构初始化为空0PEN_SET和CL0SED_SET。另外, 对于所有LSR,将代价函数g(X)初始化为无穷大(或非常大的数字),代价函数g(X)是与 到目前为止已从源LSR到目的地LSR X找到的路径之中的最小代价路径相关联的代价。对 于源LSR而言,代价函数g()被设置为零。应注意的是CL0SED_SET将包括第一组LSR,使得对于第一组LSR中的每个LSR而 言,已找到从源LSR到每个LSR的所有可能路径之中的最小代价路径。相反,0PEN_SET将 包括第二组LSR,使得对于第二组LSR中的每个LSR而言,已找到从源LSR到每个LSR的路径;同时该路径是到目前为止已找到的路径之中的最小代价路径,然而该路径可以不是所 有可能路径之中的最小代价路径。在步骤1处,将源LSR 110-1添加到CL0SED_SET。在步骤2处,使R为刚刚已被添加到CL0SED_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已在CL0SED_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添加到0PEN_SET。
在步骤3处,选择0PEN_SET中的具有最低g ()的LSR。从0PEN_SET中删除LSR并 将 LSR 添加到 CL0SED_SET。在步骤4处,重复步骤2和3,直至到达目的地LSR 110_3或0PEN_SET变为空为止。本领域的技术人员应理解的是在搜索从源LSR 110-1到目的地LSR 110-3的最小 代价路径时,还找到到CL0SED_SET中的其它目的地LSR的一组最小代价路径。有益地,在 某些实施例中,存储至少一组代价,每个代价与该组最小代价路径中的各路径相关联,因为 其提供关于通信网络的有价值的信息。有利地,在某些实施例中,可以使用改进A*算法来利用来自该组代价的信息。艮口, 可以使用用于CL0SED_SET中的每个LSR XWg(X)作为启发信息。本领域的技术人员应认 识到在改进A*算法中,插入新步骤2. 4. 5并通过使用g(X)作为启发信息在改进Dijkstra 算法中替换步骤3。本领域的技术人员还应认识到应用改进A*算法来搜索从另一目的地 LSR返回源LSR的最小代价路径,而不是搜索从源LSR到另一目的地LSR的最小代价路径。例如,为了随后搜索从第五LSR 110-5返回第一 LSR 110_1的最小代价路径,其中 第五LSR 110-5是新的源LSR且第一 LSR 110-1是新的目的地LSR,可以使用以下改进A*算 法。在运行算法之前,也将以下数据结构初始化为空0PEN_SET和CL0SED_SET。同样地,对 于所有LSR,将代价函数ag(X)初始化为无穷大,代价函数ag(X)是与到目前为止已从新的 源LSR 110-5到目的地LSR X找到的路径之中的最小代价路径相关联的代价。对于源LSR 而言,代价函数ag()被设置为零。在步骤1处,将新的源LSR 110-5添加到CL0SED_SET。在步骤2处,使R为刚刚已被添加到CL0SED_SET的LSR,所述R是一个LSR,将扫 描该LSR到其所有相邻LSR的路径。因此,初始R将是新的源LSR 110-5。对于每个N而 言,在N是邻近于R的LSR的情况下,进行以下操作。
在步骤2. 1处,如果N已在CL0SED_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 ( S卩,ag (N)可以是从新的 源LSR 110-5到第三LSR 110-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)不可用,即不可使用改进Di jkstra算 法从早先的搜索中获得启发信息,则g(N)是零且f(N)具有与ag(N)相同的值。在步骤2. 5处,将N添加到0PEN_SET。在步骤3处,选择0PEN_SET中的具有最低f ()的LSR。从0PEN_SET中删除LSR 并将LSR添加到CL0SED_SET。应注意的是由于代价A 150-1加代价B 150-2实际上是新 目的地LSR 110-1与第三LSR 110-3之间的实际最小代价,所以其提供用于搜索从新的源 LSR 110-5通过第三LSR 110-3返回到新的目的地(或前一源)LSR 110-1的路径的优良且 可能完美的启发信息。事实上,在此步骤处在运行此算法时的某个点处,很可能将第三LSR 110-3选为中间LSR0在步骤4处,重复步骤2和3,直至到达新的目的地LSR 110-1或0PEN_SET变为空 为止。图2提供概括本发明的实施例中的用于搜索源节点与目的地节点之间的最小代 价路径的方法的高级方框图。在方框210处,允许用户指定第一数目,使得多个节点中的节 点的总数至少为该第一数目;将用改进Dijkstra算法来搜索从源节点到所述多个节点的 多个最小代价路径。或者,可以将该数目指定为节点总数的百分比数目。还可以允许用户 指定将用改进Dijkstra算法具体地搜索的目的地节点的第二数目(此第二数目本质上是 改进Dijkstra算法将要运行的次数)。在方框230处,使用改进Dijkstra算法来搜索从源节点到所述多个节点的最小代 价路径;存储与最小代价路径相关联的一组代价。如上所述,本领域的技术人员应理解的是 所述多个节点可以包括已经具体搜索其到达最小代价路径的特定节点、以及已经在搜索到 所述特定节点的最小代价路径的同时找到其到达最小代价路径的节点。例如,在以上示例 中,碰巧具体地搜索了从第一 LSR 110-1到第三LSR 110-3的最小代价路径。本领域的技 术人员应理解的是还可以在搜索从第一 LSR 110-1到第三LSR 110-3的最小代价路径的同 时找到从第一 LSR 110-1到第二 LSR 110-2的最小代价路径。存储与最小代价路径相关联 的代价。还应认识到在下文的方框250处,可以将第三LSR 110-3或第二 LSR 110-2中的 任一个视为中间节点。
如果所述多个节点中的节点的总数至少是由用户从方框210指定的第一数目,和 /或如果已用改进Dijkstra算法具体地搜索的目的地节点的数目至少为用户从方框210指 定的第二数目,则该方法可以继续至方框250。在方框250处,随后通过使用一组代价作为启发信息使用k*算法来搜索源节点与 其它目的地节点之间的最小代价路径。例如,随后,通过使用从搜索从第一 LSR 110-1至 第三LSR 110-3的最小代价路径获得的启发信息来搜索从第一 LSR 110-5返回第一 LSR 110-1的最小代价路径。在本实施例中,很可能基于启发信息将第三LSR 110-3选择为中间 节点,并因此计算第一 LSR 110-1与第三LSR 110-5之间的最小代价路径。可以同样地计 算到其它目的地LSR的最小代价路径。图3是概括本发明的实施例中的用于搜索源节点与至少目的地节点之间的最小 代价路径的方法的流程图。如上所述,代价与链路相关联。在方框310处,可以允许用户 同时使用因数对与相邻节点之间的每个链路相关联的每个代价进行加法、减法、乘法、或除 法。在方框315处,可以允许用户输入用于选择用于搜索源节点与目的地节点之间的最小 代价路径的方法的命令。该方法可以是依照本公开的实施例的新的且改进的方法。如果用 户未输入该命令,则可以自动地为用户选择默认方法。在方框320处,可以允许用户指定数目,使得多个节点中的节点的总数至少为该 数目。对于所述多个节点中的每个节点而言,将例如通过使用改进Dijkstra算法来搜索从 源节点到每个节点的所有可能路径之中的最小代价路径。或者,可以允许用户指定第一百 分比数目,使得作为节点总数的第二百分比数目的多个节点中的节点总数至少为该第一百 分比数目。例如,如果用户已在方框320处指定零,则可以不使用改进Dijkstra算法。相 反,甚至可以在源节点与第一目的地节点之间的初始搜索中使用改进A*算法。如果用户 已在方框320处指定30,则很可能在从源节点到第一目的地节点的初始搜索中使用改进 Dijkstra算法。如果作为初始搜索的结果,已经找到从源节点到除第一目的地节点之外的 十九个节点的最小代价路径,则在从源节点到第二目的地节点的第二搜索中可能仍使用改 进Dijkstra算法。如果作为第二搜索的结果,已经找到从源节点到除第二目的地节点之外 的九个节点的最小代价路径,则在从源节点到第三目的地节点的第三搜索中可能仍使用改 进A*算法。这是因为到运行第三搜索时,第一目的地节点、十九个节点、第二目的地节点、 和九个节点至少为30个节点。或者,如果存在总共150个节点且用户已指定20%,则将实 现类似结果。在方框325处,可以允许用户指定将用改进Di jkstra算法具体地搜索的目的地节 点的数目。预期该数目本质上是改进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个目的地节点,则可以重复改进k*算法(例如,通 过返回到方框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算法和改进k*算法,但是两种 算法都不局限于沿特定方向的搜索。此外,在搜索从源节点到目的地节点的最小代价路径时,可能的是目的地节点实 际上与中间节点是同一节点,并且从目的地节点到中间节点的最小代价路径将是到目的地 节点本身的路径。还可能的是中间节点在源节点与第一目的地节点之间的最小代价路径 中,而且在源节点与第二目的地节点之间的最小代价路径中。
此外,路径计算单元(“PCE”)可以包括依照上述实施例的装置和/或计算机可读 媒体上的指令。通常将PCE定义为能够基于网络图来计算网络路径或路线并施加计算约束 的实体(组件、应用程序、或网络节点)。因此,已描述了多个实施例,本领域的技术人员应认识到在不脱离本发明的精神 的情况下可以使用各种修改、替换构造、及等价物。因此,不应将以上说明视为限制由以下 权利要求书定义的本发明的范围。
权利要求
1.一种用于搜索通信网络中的源节点与目的地节点之间的最小代价路径的方法,所述 方法包括确定一组代价,其中所述一组代价中的每个代价与所述通信网络中的从所述源节点到 多个节点的多个最小代价路径中的相应的一个相关联,并且其中所述多个节点包括中间节 点,所述中间节点与所述多个最小代价路径中的中间最小代价路径相关联; 确定从所述目的地节点到所述中间节点的最小代价路径;至少基于与从所述目的地节点到所述中间节点的所述最小代价路径相关联的第一代 价和与从所述源节点到所述中间节点的所述中间最小代价路径相关联的第二代价来选择 所述中间节点,其中所述中间节点是在所述源节点与所述目的地节点之间的所述最小代价 路径中;以及沿着所述源节点与所述目的地节点之间的所述最小代价路径发送通信数据。
2.如权利要求1所述的方法,其中所述多个最小代价路径中的每个最小代价路径对应于所述多个节点中的相应的一个;所述多个最小代价路径中的每个最小代价路径包括从所述源节点到所述多个节点中 的所述相应的一个的路径;所述路径与代价相关联;以及所述代价是与从所述源节点到所述多个节点中的所述相应的一个的每个路径相关联 的代价中的最低代价。
3.如权利要求1所述的方法,其中所述通信网络是多协议标签交换(“MPLS”)网络。
4.如权利要求1所述的方法,其中所述源节点与所述目的地节点之间的所述最小代价 路径是MPLS流量工程(“TE”)路径。
5.如权利要求1所述的方法,其中第一方向度量与从第一节点到第二节点的第一链路相关联; 第二方向度量与从所述第二节点到所述第一节点的第二链路相关联; 所述第一节点在所述通信网络中与所述第二节点邻近; 所述第一方向度量被用作与所述第一链路相关联的代价;以及 所述第二方向度量被用作与所述第二链路相关联的代价。
6.如权利要求1所述的方法,其中与从第一节点到第二节点的第一链路相关联的第一方向度量不同于与从所述第二节 点到所述第一节点的第二链路相关联的第二方向度量; 所述第一节点在所述通信网络中与所述第二节点邻近; 所述第一方向度量被用作与所述第一链路相关联的代价;以及 所述第一方向度量还被用作与所述第二链路相关联的代价。
7.如权利要求1所述的方法,还包括允许用户同时将与相邻节点之间的每个链路相关联的每个代价乘以因数。
8.如权利要求1所述的方法,其中所述目的地节点与所述中间节点是同一节点;以及从所述目的地节点到所述中间节点的所述最小代价路径是到所述目的地节点本身的路径。
9.如权利要求1所述的方法,其中在确定所述通信网络中的从所述源节点到所述多个 节点的所述多个最小代价路径时至少部分地使用Dijkstra算法。
10.如权利要求1所述的方法,其中在没有约束的情况下在确定所述通信网络中的从 所述源节点到所述多个节点的所述多个最小代价路径时至少部分地使用DijStra算法,其 中所述多个节点包括所述通信网络中的所有节点。
11.如权利要求1所述的方法,其中当至少部分地使用A*算法时,使用所述第二代价作 为启发信息。
12.如权利要求1所述的方法,还包括 允许用户指定数目;以及允许用户指定多个特定的目的地节点;其中在确定从所述源节点到所述数目的特定目的地节点的最小代价路径时至少部分 地使用Dijkstra算法。
13.如权利要求1所述的方法,还包括 存储所述一组代价。
14.如权利要求1所述的方法,其中所述源节点与所述目的地节点之间的所述最小代 价路径满足至少一个约束。
15.如权利要求1所述的方法,还包括允许用户输入用于选择所述用于搜索所述源节点与所述目的地节点之间的所述最小 代价路径的方法的命令。
16.如权利要求1所述的方法,其中 所述目的地节点是第一目的地节点; 所述中间节点是第一中间节点;所述中间最小代价路径是第一中间最小代价路径;以及所述多个节点包括第二中间节点,所述第二中间节点与所述多个最小代价路径中的第 二中间最小代价路径相关联; 所述方法还包括确定从第二目的地节点到所述第二中间节点的最小代价路径;以及 至少基于以下各项来选择所述第二中间节点与从所述第二目的地节点到所述第二中间节点的所述最小代价路径相关联的第三代 价;以及与从所述源节点到所述第二中间节点的所述第二中间最小代价路径相关联的第四代价;其中所述第二中间节点是在所述源节点与所述第二目的地节点之间的最小代价路径中。
17.如权利要求16所述的方法,其中所述第一中间节点与所述第二中间节点是同一节点ο
18.如权利要求16所述的方法,还包括在不重新确定所述一组代价的情况下对所述通信网络中的多个目的地节点重复如权 利要求16所述的方法。
19.如权利要求18所述的方法,其中所述多个节点中的节点的总数小于目的地节点的 总数。
20.如权利要求18所述的方法,还包括允许用户指定第一百分比数目,其中作为目的地节点总数的第二百分比数目的所述多 个节点中的节点总数至少为所述第一百分比数目。
21.一种用于搜索通信网络中的源节点与目的地节点之间的最小代价路径的装置,所 述装置包括通信接口 ; 存储媒体; 控制器;以及可由所述控制器执行的一组指令,所述一组指令包括 用于确定一组代价的指令,其中所述一组代价中的每个代价与所述通信网络中的从所述源节点到多个节点的多个最 小代价路径中的相应的一个相关联;以及所述多个节点包括中间节点,所述中间节点与所述多个最小代价路径中的中间最小代 价路径相关联;用于确定从所述目的地节点到所述中间节点的最小代价路径的指令;以及 用于至少基于以下各项来选择所述中间节点的指令与从所述目的地节点到所述中间节点的所述最小代价路径相关联的第一代价;以及 与从所述源节点到所述中间节点的所述中间最小代价路径相关联的第二代价; 其中所述中间节点是在所述源节点与所述目的地节点之间的所述最小代价路径中。
22.如权利要求21所述的装置,其中 路径计算单元(“PCE”)包括所述装置。
23.如权利要求21所述的装置,其中用于确定所述通信网络中的从所述源节点到所述多个节点的所述多个最小代价路径 的所述指令至少部分地执行Dijkstra算法;以及用于选择所述中间节点的所述指令至少部分地执行k*算法。
24.一种具有在其中体现的计算机可读程序的计算机可读存储媒体,所述计算机可读 程序用于指导包括控制器的装置的操作,其中所述计算机可读程序包括用于操作用于依 照以下各项来搜索通信网络中的在源节点与目的地节点之间的最小代价路径的装置的指 令确定一组代价,其中所述一组代价中的每个代价与所述通信网络中的从所述目的地节点到多个节点的多 个最小代价路径中的相应的一个相关联;以及所述多个节点包括中间节点,所述中间节点与所述多个最小代价路径中的中间最小代 价路径相关联;确定从所述源节点到所述中间节点的最小代价路径;以及至少基于以下各项来选择所述中间节点与从所述源节点到所述中间节点的所述最小代价路径相关联的第一代价;以及 与从所述目的地节点到所述中间节点的所述中间最小代价路径相关联的第二代价; 其中所述中间节点是在所述源节点与所述目的地节点之间的所述最小代价路径中。
25.如权利要求M所述的装置,其中在确定从所述目的地节点到所述中间节点的最小代价路径时至少部分地使用 Dijkstra 算法; 以及在确定从所述源节点到所述目的地节点的最小代价路径时至少部分地使用A*算法。
全文摘要
本发明提供用于搜索通信网络中的在源节点与目的地节点之间的最小代价路径的方法和装置。首先确定与从源节点到一组中间节点的最小代价路径相关联的一组代价。还确定从目的地节点到中间节点的沿相反方向的最小代价路径。至少基于与从目的地节点到中间节点的最小代价路径相关联的第一代价和与首先确定的从源节点到中间节点的最小代价路径相关联的第二代价来选择中间节点。因此,然后可以通过使用第二代价作为启发信息来计算源节点与目的地节点之间的最小代价路径。
文档编号H04L29/06GK102047630SQ200980118818
公开日2011年5月4日 申请日期2009年6月1日 优先权日2008年6月18日
发明者肖斌, 黎仁蔚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1