專利名稱:數(shù)據(jù)網(wǎng)絡中的成本的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信網(wǎng)絡中的成本(cost),更具體地說,涉及為數(shù)據(jù)通信網(wǎng)絡的一組節(jié)點得出一組有效路徑成本(path cost)的方法、設備和計算機程序組件。
為諸如“開放最短路徑優(yōu)先”(OSPF)協(xié)議之類眾所周知的路由選擇協(xié)議提出了QoS擴展。在“Implementation and PerformanceMeasurements of QoS Routing Extensions to OSPF”,Apostolopouloset al.Proceeding of IEEE INFOCOM′99,pp.75-83,NewYork,March,1999中描述了這種擴展的例子。OSPF協(xié)議是鏈路狀態(tài)路由選擇協(xié)議的一個例子。眾所周知,在大型網(wǎng)絡中,這種協(xié)議不能有效工作。從而,為了可縮放性起見,OSPF網(wǎng)絡被分成幾個路由區(qū)。在“OSPF Version 2”,Moy,Internet Engineering Task Force(IETF)Request for Comments(RFC)2328,April 1998中進一步描述了OSPF協(xié)議。
本領域中眾所周知的另一種類似的路由選擇協(xié)議是在“PrivateNetwork Interface Specification,Version 1.0”,the ATM Forum,March 1996中描述的專用網(wǎng)絡間接口(PNNI)協(xié)議。根據(jù)PNNI協(xié)議,網(wǎng)絡被分成幾群,從而形成路由層次。
為了提供全局準確的路徑選擇,應考慮所涉及的每個路由域(不論它是OSPF區(qū),還是PNNI群)的通過特性?!癘n Scalable QoSRouting,Performance Evaluation of Topology Aggregation”,Hao etal,Proceedings of IEEE INFOCOM′2000,Tel Aviv,Israel,March2000和“QoS Routinga Precomputation Perspective”,Orda et al,Proceeding of IEEE INFOCOM′99 pp.128-136,Tel Aviv,Israel,March 2000都建議借助網(wǎng)絡的層次組織,可顯著增加路徑計算效率。
“Transition Matrix Generation for Complex NodeRepresentation”,Iliadis et al,Proceedings of the IEEE ATMWorkshop′99,pp489-500,Kochi,Japan,May 1999中說明的是一種利用轉(zhuǎn)換矩陣表示路由域的通過特性的方法,所述轉(zhuǎn)換矩陣給出路由域的每對入口-出口節(jié)點的路徑成本。轉(zhuǎn)換矩陣中的每一項是對應一對入口-出口節(jié)點的通過特性的最小表示(minimal representation)??衫孟拗瞥杀径攘浚郊映杀径攘?,或者這兩者描述通過特性(traversingcharacteristics)。只利用一種度量描述的轉(zhuǎn)換特性可被看作一維。利用N種度量描述的轉(zhuǎn)換特性可被看作N維。路徑的附加度量是路徑中所有鏈路的所有附加度量的和。路徑的限制度量是路徑中所有鏈路的限制度量中的最小者。附加度量的例子包括延遲和管理成本。限制度量的例子包括帶寬。本領域中,通過特性的最小表示被稱為有效邊界(frontier)。下面簡要說明計算有效邊界的常規(guī)技術??砂凑諆煞N標準對這些技術分類計算結果一些技術計算網(wǎng)絡中從一個源入口-出口節(jié)點到所有其它入口-出口節(jié)點的有效邊界。其它技術計算所有各對入口-出口節(jié)點之間的有效邊界。要認識到屬于前一類別的技術必須應用于所有的入口-出口節(jié)點。
延遲功能一些技術只支持固定延遲功能。其它技術既可應用于固定延遲,又可應用于取決于帶寬的延遲。
下述三種眾所周知的算法可被用于計算最小表示在“Efficient Frontier Formulation for Additive and RestrictiveMetrics in Hierarchical Routing”,Bauer et al,Proceedings of theIEEE ICC′00,pp.1353-59,New Orleans,June 2000中描述的Multi-Dijkstra算法;在“Introduction to Algorithms”,Corment et al.the MITElectrical Engineering and Computers Science Series,MIT Press,ISBN 0-262-031412-8,1989中,在“On a Routing Problem”,Bellman,Quarterly of Applied Mathematics,Vol.16,No.1,pp.87-90,1958中,以及在“Flows in Networks”,F(xiàn)ord Jr.et al.Princeton University Press,1962中描述的Bellman-Ford算法;和在“Algorithm 97(Shortest Path)”,F(xiàn)loyd,Communications ofthe ACM,Vol.5,No.6,1965中描述的Floyd-Warshall算法。
所有這三種算法都適用于恒定延遲。但是,只有Bellman Ford和Floyd Warshau算法能夠處理取決于帶寬的延遲。另外,只有Multi-Dijkstra和Bellman-Ford算法能夠為單源節(jié)點對所有節(jié)點(onesource to all nodes)解決有效邊界問題。對于計算有效邊界來說,Multi-Dijkstra和Floyd-Warshall一般比Bellman-Ford算法簡單。于是應根據(jù)應用選擇這些算法。例如,如果只存在少數(shù)入口-出口頂點,并且只考慮恒定延遲,則Multi-Dijkstra算法優(yōu)于Floyd-Warshall算法。
一般來說,計算從一個節(jié)點到路由域的所有其它節(jié)點的有效邊界的常規(guī)技術計算復雜,應用有限。希望提供一種更簡單的計算這種有效邊界的方法。另外,希望提供一種解決“單源節(jié)點對所有節(jié)點”問題的方法。
a)把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在第一數(shù)據(jù)集合中,在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關;b)從第一數(shù)據(jù)集合中選擇最佳路徑成本,其中該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果若干路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本;c)把在步驟b)中選擇的最佳路徑成本記錄在第二數(shù)據(jù)集合中,在第二數(shù)據(jù)集合中,記錄的成本與通過對應路徑到達的節(jié)點相關;d)從第一數(shù)據(jù)集合中除去在步驟c)中記錄在第二數(shù)據(jù)集合中的成本;e)在第一數(shù)據(jù)集合中,記錄從通過對應于步驟c)中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本;在第一數(shù)據(jù)集合中,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關;f)對于在步驟e)中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一和第二數(shù)據(jù)集合中與該節(jié)點相關的成本,并從第一數(shù)據(jù)集合除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有較差限制成本和較差附加成本的任意成本,或者除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有相同限制成本和較差附加成本的任意成本;g)重復步驟b)-f),直到在步驟f)之后,在第一數(shù)據(jù)集合中不留下任何成本為止;從而所得到的第二數(shù)據(jù)集合包括該組有效成本。
這提供了一種更簡便并且更快速的計算有效邊界的方法。另外,該方法簡化了“單源節(jié)點對所有節(jié)點”問題的求解。此外,該方法既適合于恒定延遲,又適合于取決于帶寬的延遲。
每個限制成本最好包括表示對應路徑的帶寬的數(shù)值;最佳限制成本是表示最大帶寬的成本。每個附加成本最好包括表示與對應路徑相關的轉(zhuǎn)接延遲的數(shù)值,最佳附加成本是表示最小轉(zhuǎn)接延遲的成本。至少一個路徑可包括若干鏈路和至少一個中間節(jié)點。
本發(fā)明還延伸到一種包括計算機程序代碼裝置的計算機程序組件,所述計算機程序代碼當被加載到數(shù)據(jù)處理系統(tǒng)的處理器中時,配置處理器,以便執(zhí)行如前所述的得出一組有效路徑成本的方法。
從另一方面看本發(fā)明,提供一種得出數(shù)據(jù)通信網(wǎng)絡中的一組節(jié)點的一組有效路徑成本的設備,所述一組節(jié)點包括一個源節(jié)點和若干目的地節(jié)點,其中在網(wǎng)絡中確定該組節(jié)點中節(jié)點間路徑的路徑成本,每個路徑成本包括限制成本和附加成本,該設備包括用于保存路徑成本的第一數(shù)據(jù)集合和第二數(shù)據(jù)集合的存儲器和控制邏輯,所述控制邏輯被配置成a)把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在第一數(shù)據(jù)集合140中,在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關;b)從第一數(shù)據(jù)集合140中選擇最佳路徑成本,其中該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果若干路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本;c)把在步驟b)中選擇的最佳路徑成本記錄在第二數(shù)據(jù)集合150中,在第二數(shù)據(jù)集合150中,記錄的成本與通過對應的路徑到達的節(jié)點相關;d)從第一數(shù)據(jù)集合140中除去在步驟c)中記錄在第二數(shù)據(jù)集合150中的成本;e)在第一數(shù)據(jù)集合140中,記錄從通過對應于步驟c)中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關;f)對于在步驟e)中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一數(shù)據(jù)集合140和第二數(shù)據(jù)集合150中與該節(jié)點相關的成本,從第一數(shù)據(jù)集合140中除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有較差限制成本和較差附加成本的任意成本,或者和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有相同限制成本和較差附加成本的任意成本;和。
g)重復步驟b)-f),直到在步驟f)之后,在第一數(shù)據(jù)集合中不留下任何成本為止。
從而所得到的第二數(shù)據(jù)集合包括該組有效成本。
本發(fā)明延伸到包括分別連接數(shù)據(jù)通信網(wǎng)絡的路徑的若干端口,以及如前所述得出一組有效路徑成本的設備的數(shù)據(jù)連網(wǎng)設備。本發(fā)明還延伸到數(shù)據(jù)網(wǎng)絡,包含通過若干路徑互連的若干節(jié)點,至少一個節(jié)點包含這樣的數(shù)據(jù)連網(wǎng)設備。
這里,措辭“限制成本”用于描述隨鏈路的大小或特征,例如帶寬而變化的成本。限制成本C可被定義成C=Max-帶寬,或者定義成C=1/帶寬。根據(jù)限制成本的定義,路徑的最弱鏈路確定限制成本。與限制成本相反的是附加成本。附加成本取決于,例如鏈路的延遲。
這里,單詞“節(jié)點”或者“頂點”用作路由器、交換機、橋接器、橋式路由器、集線器,以及通信網(wǎng)絡中傳送或接收信息的任意其它連網(wǎng)設備的類屬術語。
可借助定向圖模擬網(wǎng)絡。使用下述約定網(wǎng)絡的節(jié)點被稱為定向圖的頂點。
兩個網(wǎng)絡節(jié)點之間的鏈路被稱為定向圖的兩個頂點之間的直接路徑或者棱邊(edge)。
假定G(V,E)為代表指定時刻時的網(wǎng)絡的定向圖。V是一組頂點,E是一組定向棱邊。于是對于所有vi,vj∈V(如果vi和vj是連接的),存在棱邊 可利用多個平行棱邊連接頂點。連接兩個頂點vi和vj的一組棱邊被表示成Evi,vj=Δ{ϵvi,vj0,ϵvi,vj1,...,ϵvi,vjn}.]]>符號 代表連接頂點vi和vj的任意棱邊。
假定s和t為定向圖G(V,E)的兩個頂點。假定Ps,t為連接s和t的一組路徑 如果不存在從s到t的路徑,則Ps,t=φ。長度‖ρ‖=n的路徑ρ∈Ps,t是一系列 的n條棱邊,從而v0=svn=tϵvi,vi=1∈Evi,vi=1∀ι∈[0,...,ν-1].]]>如果在v=vi或v=vi+1的情況下,存在棱邊 則認為頂點v是路徑ρ的一部分。
關于路徑和棱邊的度量提供和網(wǎng)絡中的可用資源有關的信息。現(xiàn)在定義可用帶寬及轉(zhuǎn)接延遲的度量。但是,要認識到這里給出的意見適用于符合這里提供的定義的任意限制度量和附加度量。
對于棱邊 可用帶寬將用 表示??捎脦挶徽J為是限制性的,因為路徑的可用帶寬是該路徑通過的棱邊的可用帶寬中的最小者。對于長度為n的從s到t的可行路徑ρ來說,可用帶寬為B(ρ)=minϵ∈ρ{B(ϵ)}.....(1)]]>假定,棱邊的轉(zhuǎn)接延遲是被請求帶寬b的函數(shù)。從而,對于棱邊ε∈E和被請求帶寬b來說,轉(zhuǎn)接延遲由D(ε,b)∈R+給出。如果b>B(ε),則D(ε,b)=∞。轉(zhuǎn)接延遲被認為是累積的,因為路徑的轉(zhuǎn)接延遲是通過的棱邊的轉(zhuǎn)接延遲之和。對于長度為n的從s到t的可行路徑來說,轉(zhuǎn)接延遲為D(ρ,b)=Σϵ∈ρD(ϵ,b)]]>對于棱邊ε∈ρ,如果被請求帶寬b>B(ε),則D(ρ,b)=∞。否則,D(ρ,b)有限。
下面,定義一對入口-出口頂點的二維轉(zhuǎn)換特征。轉(zhuǎn)換特征的維是帶寬和延遲。隨后檢查相對于一組入口-出口頂點的擴展。
研究前面提及的代表一個路由域的定向圖G(V,E)。假定s,t∈V為兩個入口-出口頂點。做出路由判定所關心的從s到t的通過(traversing)度量是最大可用帶寬Bmax,以及被請求帶寬b的最大轉(zhuǎn)接延遲函數(shù)Deff(b)。這兩者都取決于連接s和t的一組路徑Ps,t。具體地說,Bs,tmax=Δmaxρ∈Ps,t(B(ρ)),]]>和(3)Ds,teff(b)=Δminρ∈Ps,t{D(ρ,b)}]]>根據(jù)可用帶寬和轉(zhuǎn)接延遲的定義,得出結論,對于b≤Bs,tmax,則Ds,teff(b)<∞,并且對于b>Bs,tmax,則Ds,teff(b)=∞.]]>于是,由于Ds,teff代表對于每個帶寬,具有最小延遲的路徑,因此Ds,teff足以描述入口-出口對s,t的通過度量。Ds,teff還確定適用帶寬及從s到t的轉(zhuǎn)接延遲的有效邊界。根據(jù)定義,Ds,teff取決于路徑組Ps,t。但是,只有路徑組Ps,t的子集對有效邊界產(chǎn)生影響。下面把該子集稱為s和t的有效路徑或者Ps,tE 有效邊界可被看成一系列的分段,每一段對應于路徑的傳輸延遲函數(shù)
其中bn=Bs,tmax,]]>bo=0,在i∈[1,n]的情況下,如下給出ρiρi=Ps,tE,]]>從而D(ρi,b)=Ds,teff(b)∀b∈[bi-1,bi].]]>注意ρi可以不是唯一的,因為可能存在滿足等式(7)的多個路徑。另外,對于一些形式的延遲函數(shù)來說,可能發(fā)生單一路徑影響多個分段的情況。例如,在等式(6)中,對于一些i≠j,有可能ρi≡ρj。
現(xiàn)在參見
圖1,圖中舉例說明了恒定延遲路徑的有效邊界的一個例子。這些路徑是D(ρ,b)與b無關,從而可被寫成D(ρ)的路徑。本例中,Ps,tE包括四個路徑。這些路徑的轉(zhuǎn)接延遲-帶寬特征被表示成有效邊界上的黑點。這些有效邊界的可用帶寬和轉(zhuǎn)接延遲完整地確定Ds,teff。陰影區(qū)還包括不是Ps,tE一部分的無效解答(solution),這些無效解答被表示成白點。對于恒定延遲路徑,能夠如下定義可實現(xiàn)的最小延遲Ds,tmin=minρ∈Ps,tE{D(ρ).......(8)]]>一般情況下,對于被請求的帶寬Bs,tmax,不可能實現(xiàn)Ds,tmin。只有當路徑ρ∈Ps,tE的延遲D(ρ)都相等時,才可能實現(xiàn)Ds,tmin。例如,如果Ps,tE只包含單一路徑,則情況就是這樣。于是,對于任意網(wǎng)絡,如果Ds,teff(Bs,tmax)=Ds,tmin,]]>則存在“單一路徑解答”。
現(xiàn)在假定定向圖包括稱為R0...,RN-1∈V的N個入口-出口頂點。對于每對入口-出口頂點Ri,Rj,存在一個有效邊界DRi,Rjeff(b)。該組所有有效邊界完整地確定網(wǎng)絡的通過度量。用稱為轉(zhuǎn)換矩陣的矩陣給出任意一對入口-出口頂點之間的所有有效邊界的代數(shù)表達。可如下規(guī)定該轉(zhuǎn)換矩陣 轉(zhuǎn)換矩陣是基礎路由域的布局的代數(shù)表示。在它完整保持關于帶寬和延遲度量的通過特性的意義上,它是路由域的準確表示。
如前所述,本發(fā)明解決的問題涉及轉(zhuǎn)換矩陣的計算。具體地說,該問題涉及轉(zhuǎn)換矩陣每一項的計算。參考圖2a,研究包含四個入口-出口頂點0、1、2和3的例證網(wǎng)絡。參見圖2b,每一項是每對入口-出口頂點之間的有效邊界。
在本發(fā)明的一個優(yōu)選實施例中,并行地并且以“降序”方式迭代確定對應于各個頂點的有效邊界?!敖敌颉币庵甘紫日页鰩捿^大的有效邊界點,在具有相同帶寬的點之中,首先找出延遲較小的點。通過考慮有效邊界的圖形表示(如前所述,延遲沿y軸,帶寬沿x軸),這種方法能夠從右(較高的帶寬)向左(較低的帶寬)有效地清除有效邊界。下面簡要地詳細說明根據(jù)本發(fā)明確定有效邊界的程序的優(yōu)選例子。不過,預先給出一些預備定義。
預備定義假定G(V,E)為代表指定時刻時的網(wǎng)絡的圖。V是一組頂點,E是一組定向棱邊。于是對于所有vi,vj∈V(如果vi和vj是連接的),存在棱邊 可利用多個平行棱邊連接頂點。連接兩個頂點vi和vj的一組棱邊被表示成Evi,vj=Δ{ϵvi,vj0,ϵvi,vj1,...,ϵvi,vjn}.]]>符號 代表連接頂點vi和vj的任意棱邊。對于棱邊 其用帶寬和延遲來表示的度量(成本)將由C(ϵvi,vj)=Δ(B(ϵvi,vj)),D(ϵvi,vj)]]>表示,其中 和 分別表示與該棱邊相關的可用帶寬和延遲。假定這些度量是非負實數(shù)。換句話說, 并且 如下比較兩個成本Ci=(Bi,Di)和Cj=(Bj,Dj)當且僅當Bi=Bj,并且Di=Dj時,成本Ci等于Cj(Ci=Cj)。否則,成本Ci不等于Cj(Ci≠Cj)。
當且僅當Bi≥Bj,Di≤Dj,并且(Ci≠Cj)時,成本Ci好于Cj,或者說,成本Cj差于Ci。
當且僅當Bk=min(Bi,Bj)并且Dk=Di+Dj時,成本Ck擴大成本Ci和Cj(Ck=ext(Ci,Cj))。
過程假定v0是要從其計算有效邊界的源頂點。假定ri,i=1...N-1為從v0到達頂點vi的成本列表。假定fi,i=1...N-1為與頂點vi相關的有效邊界。假定 和 分別為包含對應列表的數(shù)據(jù)集,即 和 這些數(shù)據(jù)集可被排列成表格。
在繼續(xù)說明之前,給出下述輔助定義i為迭代計數(shù)值;vm(i)為第i次迭代的標記頂點; 是從頂點vj發(fā)出的一組棱邊;rj是從v0到達頂點vi的成本列表;fj是包含和頂點vj對應的有效邊界的列表;下面是呈一系列規(guī)則1)-3)形式的過程的偽代碼表示。
初始化i=1m(1)=0f0(∞,0) 第i步迭代1)對于集合 中的每個棱邊 doa)根據(jù)fm(i)列表的最后一項和成本 計算擴展路徑 的成本Cj=(Bj,Dj)即,Cj=ext(fm(i),C(ϵvm(i),vj)).]]>b)if等于或差于列表fj的任意項,then丟棄Cj,c)else ifCj等于或差于列表rj的任意項,then丟棄Cj,else dod)通過使列表繼續(xù)按照帶寬,以及延遲(對于相同帶寬的項)分類,把Cj輸入列表rj。
e)丟棄列表rj的差于Cj的任意項。
done2)if 數(shù)據(jù)集為空,thenSTOP。
3)else doa)選擇 數(shù)據(jù)集合的最佳項,假定包含在列表rk中。最佳項可被認為是具有最大帶寬的一項,并在存在多項的情況下,具有最低延遲的一項。根據(jù)另一標準,例如中繼段計數(shù),或者隨意地打破剩余線路。
b)從列表rk中除去該項,并將其放入列表fk。
c)增大計數(shù)值i=i+1。
d)設置m(i)=k(從而vm(i)=vk)done返回步驟。
例子參見圖3,現(xiàn)在說明具體體現(xiàn)本發(fā)明,確定從頂點0到例證的四節(jié)點網(wǎng)絡的剩余頂點1、2和3的有效邊界的方法的例子。要認識到本發(fā)明同樣適用于具有四個以上或者四個以下節(jié)點的網(wǎng)絡。
步驟1現(xiàn)在參見圖4,該方法從頂點0開始,并且考慮從頂點0發(fā)出的所有棱邊。三個棱邊分別提供與頂點1、2和3的連接。目前不存在與頂點0相關的成本。于是,按照上述規(guī)則1d)把相對于頂點1、2和3的相應棱邊的成本插入 數(shù)據(jù)集合中。 在 數(shù)據(jù)集合中,用帶寬表示的最佳成本是到頂點3的成本9,5。隨后按照規(guī)則3b),把該成本從 數(shù)據(jù)集合轉(zhuǎn)移為頂點3的有效邊界。
該方法現(xiàn)在轉(zhuǎn)移到具有相關成本9,5的頂點3。
步驟2現(xiàn)在參見圖5,頂點3具有去往頂點1和2的兩個棱邊。圖5中表示了由與設置在 數(shù)據(jù)集合中的頂點3(9,5)相關的成本擴展的這些棱邊的成本。由于在 數(shù)據(jù)集合中仍然不存在關于頂點1和2的項目,因此這些成本被輸入 數(shù)據(jù)集合。
最寬的帶寬值對應于頂點28,10。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點2的有效邊界。 該方法現(xiàn)在轉(zhuǎn)移到具有相關成本8,10的頂點2。
步驟3現(xiàn)在參見圖6,頂點2具有去往頂點1和3的兩個棱邊。圖6中表示了由與設置在 數(shù)據(jù)集合中的頂點2(8,10)相關的成本擴展的這些棱邊的成本。到達頂點1的成本等于(6,12),它差于r1列表中的成本(6,9),于是,按照規(guī)則1c),該成本被丟棄。到達頂點3的成本等于(1,11),它差于f3列表中的成本(9,5)。于是,按照規(guī)則1b),該成本被丟棄。最寬的帶寬值對應于頂點27,6。 從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點2的有效邊界。
該方法轉(zhuǎn)到具有相關成本7,6的頂點2。
步驟4參見圖7,頂點2具有去往頂點1和3的兩個棱邊。圖7中表示了由與設置在 數(shù)據(jù)集合中的頂點2(7,6)相關的成本擴展的這些棱邊的成本。到達頂點1的成本等于(6,8),它既不等于又不差于r1的任意項。于是,按照規(guī)則1d),該成本被輸入 數(shù)據(jù)集合。但是,項目(6,9)差于(6,8)。于是,按照規(guī)則1e)丟棄項目(6,9)。到達頂點3的成本等于(1,7),它差于f3表中的成本(9,5)。于是,按照規(guī)則1b),該成本被丟棄。 最寬的帶寬值對應于頂點16,8。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點1的有效邊界。
該方法現(xiàn)在轉(zhuǎn)到具有相關成本6,8的頂點1。
步驟5現(xiàn)在參見圖8,頂點1具有去往頂點2和3的兩個棱邊。到達頂點2的成本等于(2,9),它差于f2列表中的成本(7,6)。于是,按照規(guī)則1b),該成本被丟棄。到達頂點3的成本等于(3,11),它差于f3列表中的成本(9,5)。于是,按照規(guī)則1b),該成本被丟棄。 最寬的帶寬值對應于頂點1。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點1的有效邊界。 該方法現(xiàn)在轉(zhuǎn)到具有相關成本4,1的頂點1。
步驟6參見圖9,頂點1具有去往頂點2和3的兩個棱邊。到達頂點2的成本等于(2,2),它既不等于又不差于f2的任意項。于是,按照規(guī)則1d),該成本被輸入 數(shù)據(jù)集合。到達頂點3的成本等于(3,4),它既不等于又不差于f3的任意項。于是,按照規(guī)則1d),該成本被輸入 數(shù)據(jù)集合。 最寬的帶寬值對應于頂點33,4。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為有效邊界。
該方法現(xiàn)在轉(zhuǎn)到具有相關成本3,4的頂點3。
步驟7現(xiàn)在參見圖10,頂點3具有去往頂點1和2的兩個棱邊。到達頂點1的成本等于(3,8),它差于f1列表中的成本(4,1)。于是,按照規(guī)則1b),該成本被丟棄。但是,到達頂點2的成本等于(3,5),它既不等于又不差于f2或r2的任意項。于是,按照規(guī)則1d),該成本被輸入 數(shù)據(jù)集合。 最寬的帶寬值對應于頂點23,5。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點2的有效邊界。 該方法現(xiàn)在轉(zhuǎn)到具有相關成本3,5的頂點2。
步驟8
參見圖11,頂點2具有去往頂點1和2的兩個棱邊。到達頂點1的成本等于(3,7),它差于f1列表中的成本(4,1)。于是,按照規(guī)則1b),該成本被丟棄。到達頂點3的成本等于(1,6),它差于f3列表中的成本(3,4)。于是,按照規(guī)則1b),該成本被丟棄。 最寬的帶寬值對應于頂點22,2。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點2的有效邊界。
現(xiàn)在該方法轉(zhuǎn)到具有相關成本2,2的頂點2。
步驟9現(xiàn)在參見圖12,頂點2具有去往頂點1和3的兩個棱邊。到達頂點1的成本等于(2,4),它差于f1列表中的成本(4,1)。于是,按照規(guī)則1b),該成本被丟棄。但是,到達頂點3的成本等于(1,3),它既不等于又不差于f3列表中的任意項。于是,按照規(guī)則1d),該成本被輸入 數(shù)據(jù)集合。 最寬的帶寬值對應于頂點31,3。從 數(shù)據(jù)集合把該值轉(zhuǎn)移為頂點3的有效邊界。
該方法轉(zhuǎn)到具有相關成本1,3的頂點3。
步驟10現(xiàn)在參見圖13,頂點3具有去往頂點1和2的兩個棱邊。到達頂點1的成本等于(1,7),它差于f1列表中的成本(4,1)。于是,按照規(guī)則1b),該成本被丟棄。到達頂點2的成本等于(1,4),它差于f2列表中的成本(2,2)。于是,按照規(guī)則1b),該成本被丟棄。 由于在 數(shù)據(jù)集合中沒有留下其它項目,因此按照規(guī)則2)結束該方法。
最終結果從頂點0到頂點1、2、3的有效邊界如下 圖14-16分別圖解說明了從頂點0到頂點1、2和3的有效邊界。
現(xiàn)在參見圖17,在本發(fā)明的一個優(yōu)選實施例中,提供一種包含計算機程序代碼的計算機程序組件,所述計算機程序代碼當被加載到數(shù)據(jù)處理系統(tǒng)的處理器中時,配置處理器執(zhí)行得出數(shù)據(jù)通信網(wǎng)絡中的一組節(jié)點的一組有效路徑成本的方法,所述一組節(jié)點包括一個源節(jié)點和若干目的地節(jié)點,其中在網(wǎng)絡中確定該組節(jié)點中節(jié)點間路徑的路徑成本,每個路徑成本包括諸如表示可用帶寬的數(shù)值之類的限制成本和諸如表示轉(zhuǎn)接延遲的數(shù)值之類的附加成本。
該方法包括在步驟10,把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在數(shù)據(jù)處理系統(tǒng)的存儲器中的第一數(shù)據(jù)集合中。在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關。
在步驟20,從第一數(shù)據(jù)集合中選擇最佳路徑成本。該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果若干路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本。例如,如果限制成本是表示帶寬的數(shù)值,則最佳限制成本是表示最大帶寬的成本。類似地,如果附加成本是表示轉(zhuǎn)接延遲的數(shù)值,則最佳附加成本是表示最小轉(zhuǎn)接延遲的成本。
在步驟30,把在步驟20中選擇的最佳路徑成本記錄在數(shù)據(jù)處理系統(tǒng)的存儲器中的第二數(shù)據(jù)集合中。在第二數(shù)據(jù)集合中,記錄的成本與通過對應的路徑到達的節(jié)點相關。
在步驟40,從第一數(shù)據(jù)集合中除去在步驟30中記錄在第二數(shù)據(jù)集合中的成本。這種除去可涉及刪除、標記或者把該成本排除在考慮范圍之外的任意其它操作。
在步驟50,從通過對應于步驟30中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本被記錄在第一數(shù)據(jù)集合中。在第一數(shù)據(jù)集合中,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關。
在步驟60,對于在步驟50中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一和第二數(shù)據(jù)集合中與該節(jié)點相關的成本。從第一數(shù)據(jù)集合除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有較差限制成本和較差附加成本的任意成本,或者和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的具有相同限制成本和較差附加成本的任意成本。
在步驟70,重復步驟20-60,直到在步驟60之后,在第一數(shù)據(jù)集合中不留下任何成本。在步驟80,所得到的第二數(shù)據(jù)集合包括該組有效成本。換句話說,該組有效成本包括源節(jié)點的有效邊界。要認識到數(shù)據(jù)處理系統(tǒng)可以是路由器、交換機、橋接器、橋式路由器、集線器、或者在通信網(wǎng)絡中傳送或接收信息的任意其它網(wǎng)絡連網(wǎng)設備。
現(xiàn)在參見圖18,在本發(fā)明的另一實施例中,提供一種數(shù)據(jù)連網(wǎng)設備100,所述數(shù)據(jù)連網(wǎng)設備100包括連接數(shù)據(jù)通信網(wǎng)絡170的輸入/輸出(I/O)端口110,與I/O端口110耦接的處理器120,和與處理器耦接的存儲器130。存儲器包括分配的存儲第一數(shù)據(jù)集合140的空間,分配的存儲第二數(shù)據(jù)集合150的空間和控制邏輯程序代碼160。操作上,數(shù)據(jù)連網(wǎng)設備得出數(shù)據(jù)通信網(wǎng)絡中包括源節(jié)點和若干目的地節(jié)點的一組節(jié)點的一組有效路徑成本。數(shù)據(jù)處理設備可包括數(shù)據(jù)通信網(wǎng)絡的源節(jié)點。在網(wǎng)絡中確定該組節(jié)點中節(jié)點之間路徑的路徑成本,并且每個路徑成本包括限制成本和附加成本。操作上,控制邏輯160配置處理器,以便a)把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在第一數(shù)據(jù)集合140中,在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關;b)從第一數(shù)據(jù)集合140中選擇最佳路徑成本,其中該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果若干路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本;c)把在步驟b)中選擇的最佳路徑成本記錄在第二數(shù)據(jù)集合150中,在第二數(shù)據(jù)集合150中,記錄的成本與通過對應的路徑到達的節(jié)點相關;d)從第一數(shù)據(jù)集合140中除去在步驟c)中記錄在第二數(shù)據(jù)集合150中的成本;e)在第一數(shù)據(jù)集合140中,記錄從通過對應于步驟c)中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關;f)對于在步驟e)中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一數(shù)據(jù)集合140和第二數(shù)據(jù)集合150中與該節(jié)點相關的成本,從第一數(shù)據(jù)集合140中除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有較差限制成本和較差附加成本的任意成本,或者除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有相同限制成本和較差附加成本的任意成本;和。
g)重復步驟b)-f),直到在步驟f)之后,在第一數(shù)據(jù)集合中不留下任何成本為止。
所得到的第二數(shù)據(jù)集合包括該組有效成本。雖然,在前面參考圖18說明的本發(fā)明的實施例中,控制邏輯160是計算機程序代碼,不過要認識到,在本發(fā)明的其它實施例中,至少可利用硬連線邏輯電路部分實現(xiàn)控制邏輯。另外要認識到,至少一個路徑可包括若干鏈路和至少一個中間節(jié)點。
總之,在前面說明的本發(fā)明的優(yōu)選實施例中,為數(shù)據(jù)通信網(wǎng)絡中包括源節(jié)點和若干目的地節(jié)點的一組節(jié)點得出一組有效路徑成本,其中在網(wǎng)絡中確定該組節(jié)點中節(jié)點間路徑的路徑成本,每個路徑成本包括限制成本和附加成本,包括首先迭代識別帶寬較高的路徑,并且當存在兩個或多個帶寬相同的路徑時,選擇具有與其相關的較低轉(zhuǎn)接延遲的路徑。
權利要求
1.一種為數(shù)據(jù)通信網(wǎng)絡中的一組節(jié)點得出一組有效路徑成本的方法,所述一組節(jié)點包括一個源節(jié)點和多個目的地節(jié)點,其中在網(wǎng)絡中確定所述一組節(jié)點中節(jié)點間路徑的路徑成本,并且每個路徑成本包括限制成本和附加成本,所述方法包括a)把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在第一數(shù)據(jù)集合中,在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關;b)從第一數(shù)據(jù)集合中選擇最佳路徑成本,其中該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果多個路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本;c)把在步驟b)中選擇的最佳路徑成本記錄在第二數(shù)據(jù)集合中,在第二數(shù)據(jù)集合中,記錄的成本與通過對應路徑到達的節(jié)點相關;d)從第一數(shù)據(jù)集合中除去在步驟c)中記錄在第二數(shù)據(jù)集合中的成本;e)在第一數(shù)據(jù)集合中,記錄從通過對應于步驟c)中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本;在第一數(shù)據(jù)集合中,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關;f)對于在步驟e)中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一和第二數(shù)據(jù)集合中與該節(jié)點相關的成本,并從第一數(shù)據(jù)集合除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有較差限制成本和較差附加成本的任意成本,或者除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有相同限制成本和較差附加成本的任意成本;g)重復步驟b)-f),直到在步驟f)之后,在第一數(shù)據(jù)集合中不留下任何成本為止;從而所得到的第二數(shù)據(jù)集合包括該組有效成本。
2.按照權利要求1所述的方法,其中每個限制成本包括表示對應路徑的帶寬的數(shù)值;最佳限制成本是表示最大帶寬的成本。
3.按照權利要求1或2所述的方法,其中每個附加成本包括表示與對應路徑相關的轉(zhuǎn)接延遲的數(shù)值,最佳附加成本是表示表示最小轉(zhuǎn)接延遲的成本。
4.按照前述任意權利要求所述的方法,其中至少一個路徑包括多個鏈路和至少一個中間節(jié)點。
5.一種包括計算機程序代碼裝置的計算機程序組件,所述計算機程序代碼裝置當被加載到數(shù)據(jù)處理系統(tǒng)的處理器中時,配置所述處理器,以便執(zhí)行按照權利要求1-4任一所述的得出一組有效路徑成本的方法。
6.一種得出數(shù)據(jù)通信網(wǎng)絡中的一組節(jié)點的一組有效路徑成本的設備,所述一組節(jié)點包括一個源節(jié)點和多個目的地節(jié)點,其中在網(wǎng)絡中確定該組節(jié)點中節(jié)點間路徑的路徑成本,并且每個路徑成本包括限制成本和附加成本,該設備包括用于保存路徑成本的第一數(shù)據(jù)集合和第二數(shù)據(jù)集合的存儲器和控制邏輯,所述控制邏輯被配置成a)把從源節(jié)點到任意目的地節(jié)點的直接路徑的路徑成本記錄在第一數(shù)據(jù)集合中,在第一數(shù)據(jù)集合中,每個記錄的成本與通過對應路徑到達的節(jié)點相關;b)從第一數(shù)據(jù)集合中選擇最佳路徑成本,其中該最佳路徑成本被確定為包含最佳限制成本的路徑成本,或者如果多個路徑成本包括相同的限制成本,則為具有最佳限制成本和最佳附加成本的路徑成本;c)把在步驟b)中選擇的最佳路徑成本記錄在第二數(shù)據(jù)集合中,在第二數(shù)據(jù)集合中,記錄的成本與通過對應的路徑到達的節(jié)點相關;d)從第一數(shù)據(jù)集合中除去在步驟c)中記錄在第二數(shù)據(jù)集合中的成本;e)在第一數(shù)據(jù)集合中,記錄從通過對應于步驟c)中記錄的成本的路徑到達的目的地節(jié)點到該組節(jié)點中的任意其它節(jié)點的直接路徑的累積路徑成本,在第一數(shù)據(jù)集合中,每個記錄的累積路徑成本與通過對應路徑到達的節(jié)點相關;f)對于在步驟e)中,把其相關成本記錄在第一數(shù)據(jù)集合中的每個節(jié)點,比較第一數(shù)據(jù)集合和第二數(shù)據(jù)集合中與該節(jié)點相關的成本,從第一數(shù)據(jù)集合中除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有較差限制成本和較差附加成本的任意成本,或者除去和到達該節(jié)點的任意其它成本相比,到達該節(jié)點的、具有相同限制成本和較差附加成本的任意成本;和。g)重復步驟b)-f),直到在步驟f)之后,在第一數(shù)據(jù)集合中不留下任何成本為止。從而所得到的第二數(shù)據(jù)集合包括該組有效成本。
7.按照權利要求6所述的設備,其中每個限制成本包括表示對應路徑的帶寬的數(shù)值;最佳限制成本是表示最大帶寬的成本。
8.按照權利要求6或7所述的設備,其中每個附加成本包括表示與對應路徑相關的轉(zhuǎn)接延遲的數(shù)值,最佳附加成本是表示最小轉(zhuǎn)接延遲的成本。
9.按照權利要求6-8任一所述的設備,其中至少一個路徑包括多個鏈路和至少一個中間節(jié)點。
10.一種數(shù)據(jù)連網(wǎng)設備,包括用于分別連接到數(shù)據(jù)通信網(wǎng)絡的路徑的多個端口,以及與路徑耦接、如權利要求6-9任一所述的得出一組有效路徑成本的設備。
11.一種數(shù)據(jù)網(wǎng)絡,包含通過多個路徑互連的多個節(jié)點,至少一個節(jié)點包含如權利要求10中所述的數(shù)據(jù)連網(wǎng)設備。
全文摘要
一種為數(shù)據(jù)通信網(wǎng)絡中的一組節(jié)點得出一組有效路徑成本的方法,所述一組節(jié)點包括一個源節(jié)點和若干目的地節(jié)點,其中在網(wǎng)絡中確定所述一組節(jié)點中節(jié)點間路徑的路徑成本,并且每個路徑成本包括限制成本和附加成本,所述方法包括首先迭代地確定帶寬較高的路徑,當存在兩個或多個帶寬相同的路徑時,選擇具有與之相關的較低轉(zhuǎn)接延遲的路徑。
文檔編號H04Q11/04GK1476696SQ01819246
公開日2004年2月18日 申請日期2001年11月12日 優(yōu)先權日2000年11月21日
發(fā)明者丹尼爾·鮑爾, 約翰·戴戈, 伊利亞斯·伊利亞迪斯, 保羅·斯科頓, 丹尼爾 鮑爾, 戴戈, 斯 伊利亞迪斯, 斯科頓 申請人:國際商業(yè)機器公司