亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于無連接網(wǎng)絡中的改進的路由的方法和設備的制作方法

文檔序號:7676232閱讀:154來源:國知局
專利名稱:用于無連接網(wǎng)絡中的改進的路由的方法和設備的制作方法
技術領域
本發(fā)明涉及通信網(wǎng)絡領域,更為具體地涉及無連接(connectionless ) 網(wǎng)絡中的路由。
背景技術
從因特網(wǎng)的普遍存在和快速發(fā)展中,可以明顯看到無連接網(wǎng)絡的可 伸縮性(scalability)和彈性。盡管無連接網(wǎng)絡4艮成功,但是很多服務提 供商使用面向連接的網(wǎng)絡來實現(xiàn)諸如網(wǎng)絡業(yè)務(traffic)工程的全局目 標。這主要是由于以下事實面向連接的網(wǎng)絡中的業(yè)務管理在操作上比 無連接網(wǎng)絡中的業(yè)務管理更為筒單。特別地,服務提供商經(jīng)常使用第二 層面向連接的網(wǎng)絡來實現(xiàn)第一層無連接網(wǎng)絡的全局目標。 一個實例是使 用多協(xié)議標簽交換(MPLS)來承載網(wǎng)際協(xié)議(IP)業(yè)務。
在面向連接的網(wǎng)絡中,通常沿預定路徑將業(yè)務從源路由至目的地。 因為這些預定路徑可以被單獨地建立和操縱,所以調(diào)整預定路徑以適應 網(wǎng)絡中變化的業(yè)務狀況(traffic condition)是可能的。這種對變化的業(yè) 務狀況的適應對于向與預定路徑相關聯(lián)的業(yè)務提供服務質(zhì)量保證而言 是很重要的。不利的是,面向連接的網(wǎng)絡需要路徑建立以支持始發(fā)于網(wǎng) 絡中的業(yè)務流,這使得面向連接的網(wǎng)絡的伸縮難以進行。此外,網(wǎng)絡中 的故障需要明確建立恢復路徑,從而降低了無連接網(wǎng)絡的操作簡易性。
盡管無連接網(wǎng)絡易于部署和伸縮,但是由于以下事實而使用面向連 接的網(wǎng)絡無連接網(wǎng)絡通常使用最短路徑、逐跳路由。使用最短路徑、 逐跳路由特別適于保持盡力而為(besteffort)連通性(connectivity)(例 如,如使用廣泛部署的諸如OSPF之類的路由協(xié)議所完成的那樣),然 而,葆持連通性并不是服務提供商的唯一目標。除了保持連通性,服務 提供商還尋求高效的業(yè)務管理、有效的容量使用(例如,避免一些鏈路 上發(fā)生擁塞而其他鏈路卻仍未盡其用(underutilized))等目標。不利的 是,盡管利用面向連接的網(wǎng)絡比利用當前在無連接網(wǎng)絡中所采用的路由 更容易達到這樣的網(wǎng)絡范圍的目標,但是面向連接的網(wǎng)絡不像無連接網(wǎng) 絡那樣能夠伸縮。

發(fā)明內(nèi)容
通過本發(fā)明的方法和設備解決了現(xiàn)有技術中的多個缺陷,本發(fā)明中 的方法和設備用于確定在網(wǎng)絡中使用的路由表,該網(wǎng)絡包含多個1類
(type-one)節(jié)點和多個2類(type-two)節(jié)點,其中2類節(jié)點使用相應 的(respective) 2類路由表,所述2類路由表具有與網(wǎng)絡的多個目的地 節(jié)點中的每一個相關聯(lián)的一個下一跳(next-h叩)節(jié)點。所述方法包括 從l類節(jié)點和2類節(jié)點獲得與網(wǎng)絡的多個鏈路中的每一個相關聯(lián)的鏈路 狀態(tài)信息,從1類節(jié)點和2類節(jié)點獲得業(yè)務測量信息,以及使用鏈路狀 態(tài)和業(yè)務測量信息來確定用于相應的1類節(jié)點的1類路由表。以基本上 協(xié)同的(coordinated)方式在整體上(as a group)確定1類路由表,并 且每個1類路由表包括與目的地節(jié)點中的每一個相關聯(lián)的多個下一跳節(jié) 點。


'通過結合附圖考慮下文中的詳細描述,可以很容易理解本發(fā)明的教 導,其中
圖l描繪了通信網(wǎng)絡的高層次(highlevel)框圖。
圖2描繪了根據(jù)本發(fā)明的一個實施例的方法。
圖3描繪了圖1的通信網(wǎng)絡的最短路徑樹的高層次框圖。
由4描繪了圖1的通信網(wǎng)絡的靈活(flexible)節(jié)點處的能被單獨路 由的業(yè)務的高層次框圖。
圖5描繪了根椐本發(fā)明的一個實施例的方法。
圖6描繪了根據(jù)本發(fā)明的一個實施例的方法。
圖7描繪了根據(jù)本發(fā)明的 一 個實施例的方法。
圖8描繪了適于在執(zhí)行在此所描述的功能中使用的通用計算機的高 層次框圖。
為了便于理解,盡可能地用相同的附圖標記來指代附圖中共有的相 同元素。
具體實施例方式
本發(fā)明使得通常在面向連接的網(wǎng)絡中實現(xiàn)的業(yè)務管理功能得以在無連接網(wǎng)絡中實現(xiàn)。本發(fā)明用靈活節(jié)點(例如靈活路由器)替代了網(wǎng)絡 中的一部分標準節(jié)點(例如標準路由器)。標準路由器包括標準業(yè)務路 由能力(即最短路徑路由)。標準節(jié)點使用由相應的標準節(jié)點在本地確 定的路由表來針對給定目的地節(jié)點選擇下一跳節(jié)點。靈活節(jié)點包括增強 的業(yè)務路由能力(例如,在從多于一個下一跳節(jié)點中選擇以用于將業(yè)務 路由到目的地節(jié)點的過程中的附加靈活性)。靈活節(jié)點使用相應的路由 表針對給定目的地節(jié)點選擇多個下一跳節(jié)點之一,所述路由表由控制器
通過使用從標準節(jié)點和靈活節(jié)點獲得的信息在中心(centrally)確定。
在本發(fā)明中,與相應的靈活節(jié)點相關聯(lián)的路由表由控制器確定???制器從標準節(jié)點和靈活節(jié)點獲得鏈路狀態(tài)信息(例如通過使用一個或多 個協(xié)議)。標準節(jié)點和靈活節(jié)點執(zhí)行業(yè)務測量并向控制器提供業(yè)務測量 信息??刂破魇褂面溌窢顟B(tài)和業(yè)務測量信息來為相應的靈活節(jié)點確定路 由表。控制器以基本上協(xié)同的方式在整體上確定用于靈活節(jié)點的路由 表。控制器將路由表分發(fā)至相應的靈活節(jié)點以用于對業(yè)務進行路由,從 而通過跨越(across)相應靈活節(jié)點的組群的路由表實施協(xié)同的路由表 改變而使控制器能夠操縱網(wǎng)絡內(nèi)的業(yè)務。
本發(fā)明使網(wǎng)絡能夠處理意外的業(yè)務模式且同時保持無連接聯(lián)網(wǎng) (networking)的伸縮性。換句話說,本發(fā)明保留了無連接網(wǎng)絡的伸縮 性和彈性,且同時通過適應性且動態(tài)地改變網(wǎng)絡中的路由來適應不同的 業(yè)務^=莫式從而提供了管理業(yè)務的能力。在一個實施例中,以這樣的方式
改^在一個實施例中,、以這樣的方式來實施本發(fā)明以使得靈活節(jié)點與標 準節(jié)點無縫互操作(interoperate)(即,增強的靈活節(jié)點向后兼容現(xiàn)有 的標準節(jié)點)。
圖1描繪了通信網(wǎng)絡的高層次框圖。特別地,圖1的通信網(wǎng)絡100 包括網(wǎng)絡110和控制器120。如圖1中所描繪的那樣,網(wǎng)絡110包括多 個標準路由器(SR) , 112S1、 112S3-112S8、 112S10-112S13和112S15 (共 同稱為SR 112s),以及多個靈活路由器(FR) 112F2、 112f9和112F14 (共同稱為FR 112F)。SR 112s和FR 112F可以^皮共同表示為路由器112。 SR 112s和FR 112p通常可以被分別稱為2類節(jié)點和1類節(jié)點。路由器 112操作為源節(jié)點、中間節(jié)點和目的地節(jié)點,用于在網(wǎng)絡110內(nèi)傳輸?shù)?業(yè)務。為了清楚起見,可以使用整數(shù)來標識每個路由器112(例如112S1、112S3-112S8、 112sK)-112sn和112815被分別表示為節(jié)點1、 3-8、 10-13和 15,而112f2、 U2f9和112n4被分別表示為2、 9和14)。
如圖1中所描繪的那樣,路由器112使用多個通信鏈路(CL) 114 (共同稱為CL 114)來進行通信。在一個實施例中,每個CL114都是 雙向通信鏈路。在一個實施例中,CL114具有至少一個相關聯(lián)的鏈路參 數(shù)(例如鏈路權重、鏈路容量、鏈路帶寬等以及它們的各種組合)。在 一個實施例中,為了清楚起見,可以做出這樣的假設每個CL114都具 有等于1的相關聯(lián)鏈路權重。如圖1中所描繪的那樣,F(xiàn)R 112f使用多 個管理鏈路(ML) 122 (共同稱為ML122)來與控制器120進行通信。 盡管如此,為了清楚起見,控制器120未被描繪為與SR112s進行通信, 控制器120可以使用一個或多個鏈路與SR112s直接通信、可以經(jīng)由FR 112F和相關聯(lián)的CL114等間接通信等等,以及它們的各種組合。
SR 112s包括標準路由器(并且在此可被稱為標準節(jié)點、非靈活路 由器或非靈活節(jié)點),所述標準路由器可操作來利用標準逐跳分組轉發(fā) 機制。SR 112s利用支持針對給定目的地節(jié)點的單個下一跳節(jié)點的路由 表(通常被稱為非靈活節(jié)點路由表或2類路由表)。在一個實施例中, 例如,可以在標準開放最短路徑優(yōu)先(OSPF)網(wǎng)絡中計算下一跳節(jié)點。 在一個實施例中,SR 112s在網(wǎng)絡110內(nèi)廣播網(wǎng)絡信息(例如拓樸信息、 鏈路狀態(tài)信息、可用的鏈路帶寬信息等等,以及它們的各種組合)。在 一個實施例中,例如,SR 112s使用OSPF-鏈路狀態(tài)通告(OSPF-LSA) 和OSPF-業(yè)務工程(OSPF-TE)消息來廣播網(wǎng)絡信息。在一個這樣的實 施例中,SR112s所廣播的網(wǎng)絡信息的至少一部分由控制器120所接收。
FR 112p包括增強路由器(并且在此被稱為增強節(jié)點、靈活路由器 或者靈活節(jié)點),所述增強路由器能夠利用增強的分組轉發(fā)機制進行操 作。FR 112F利用支持針對給定目的地節(jié)點的多個下一跳節(jié)點的增強路 由表(通常被稱為靈活節(jié)點、靈活路由表或1類路由表)。FR 112f所 利用的增強路由表可以由控制器120計算。在一個實施例中,F(xiàn)R 112F 執(zhí)行業(yè)務測量以產(chǎn)生業(yè)務測量信息。在一個這樣的實施例中,業(yè)務測量 信息可以包括注入(injected)業(yè)務信息、不可控業(yè)務信息等等,以及它 們的各種組合。在一個實施例中,F(xiàn)R 112f向控制器120提供這樣的業(yè) 務測量信息。在一個實施例中,SR112s不知道FR112f的存在。
在一個實施例中,如果就給定目的地節(jié)點而言存在著多個下一跳,則FR 112p可以采用預先指定的(prespecified)方式將去往目的地節(jié)點 的業(yè)務拆分到多個下一跳節(jié)點。存在若干種用于將去往目的地節(jié)點的業(yè) 務拆分到多個下一跳節(jié)點的方法。在一個實施例中,可以采用以下方式 將去往目的地節(jié)點的業(yè)務拆分到多個下一跳節(jié)點以確保不將給定業(yè)務 流拆分到多個下一跳節(jié)點。在一個這樣的實施例中,需要至少一個額外 的業(yè)務測量以用于采用以下方式將去往目的地節(jié)點的業(yè)務拆分到多個 下一跳節(jié)點以確保不將給定業(yè)務流拆分到多個下一跳節(jié)點。
如圖1中所描繪的那樣,控制器120為FR 112F確定路由表。在一 個實施例中,控制器120利用來自于SR 112s和FR 112p的鏈路狀態(tài)信 息和來自于FR 112p的業(yè)務測量信息來為FR 112p確定路由表。在一個 實施例中,為FR 112p確定路由表包括動態(tài)修改FR 112p的現(xiàn)有的路 由表。對與FR 112F相關聯(lián)的現(xiàn)有路由表的動態(tài)修改使控制器120能夠 使FR 112p適應網(wǎng)絡110中變化的業(yè)務狀況。在一個實施例中,控制器 120處理FR 112f的路由表以^奮改FR 112f的路由表中的至少一部分,以 跨越FR 112p實現(xiàn)協(xié)同的業(yè)務路由改變,由此能夠響應于網(wǎng)絡110中變 化的業(yè)務狀況而實現(xiàn)有效的業(yè)務路由管理(例如,低延遲、低分組丟失 等等)。
盡管本發(fā)明被描繪為包括特定配置、包括特定數(shù)目的SR 112s和FR 112F,但是本發(fā)明可以被用于具有SR 112s和FR 112p的多種其他配置的 通信網(wǎng)絡。盡管i t描繪為管理系統(tǒng),在一個實施例中,控制器120可以 被實施為路由器的一部分。在一個實施例中,控制器120可以被實施為 SR 112s之一或FR U2f之一的一部分,或者可替換地,可以將控制器 120的部分功能拆分到SR U2s或FR 112p各種組合。在一個實施例中, 控制器120可以被實施為網(wǎng)絡110內(nèi)的路由器(未繪出)。在一個這樣 的實施例中,路由器可以被配置為僅接收用于計算靈活節(jié)點路由表的狀 態(tài)消息(即,路由器不對網(wǎng)絡110內(nèi)的業(yè)務進行路由)。
圖2描繪了根據(jù)本發(fā)明的一個實施例的方法。特別地,圖2中的方 法200包括用于確定與相應的靈活節(jié)點相關聯(lián)的路由表的方法。盡管是 針對為多個靈活節(jié)點確定路由表來描述的,但是方法200可以被用于確 定具有一個靈活節(jié)點的網(wǎng)絡的路由表。盡管在此將其描述和描繪為連續(xù)
執(zhí)行,但是本領域技術人員將會意識到方法200中的至少一部分步驟可 以被同時執(zhí)行,或者以與圖2中所示出的次序不同的次序執(zhí)行。方法200開始于步驟202并繼續(xù)至步驟204。
在步驟204,從非靈活節(jié)點和靈活節(jié)點接收鏈路狀態(tài)信息。在一個 實施例中,鏈路狀態(tài)信息包括與通信鏈路相關聯(lián)的鏈路權重。在一個這 樣的實施例中,可以使用OSPF-鏈路狀態(tài)通告(OSPF-LSA)消息來接收 鏈路權重。在一個實施例中,鏈路狀態(tài)信息包括與通信鏈路相關聯(lián)的鏈 路容量(和/或可用的鏈路帶寬)。在一個這樣的實施例中,可以使用 OSPF-業(yè)務工程(OSPF-TE)消息來接收鏈路容量。在一個實施例中, 鏈路狀態(tài)信息由中央控制器接收(說明性地,控制器120),所述中央 控制器適于為靈活節(jié)點確定路由表。
在步驟206,從非靈活節(jié)點和靈活節(jié)點接收業(yè)務測量信息。在一個 實施例中,業(yè)務測量信息包括鏈路利用信息。在一個實施例中,鏈路利 用信息包括對網(wǎng)絡中至少一部分鏈路中的每一個的利用的度量 (measure)。在一個實施例中,每個靈活節(jié)點和非靈活節(jié)點測量與該節(jié) 點直接連接的鏈路中的每一個的鏈路利用。在一個實施例中,鏈路利用 可以被表示為相關聯(lián)的鏈路的總鏈路容量的百分比。在一個實施例中, 業(yè)務測量信息包括注入業(yè)務信息和不可控業(yè)務信息。
在一個實施例中,注入業(yè)務信息和不可控業(yè)務信息由相應的靈活節(jié) 點確定。本說明書針對圖3、圖4、圖5和圖6描述和描繪了一種用于 確定注入業(yè)務信息的示例性方法。本說明書針對圖3、圖4、圖5和圖7 描述和描繪了一種用于確定不可控業(yè)務信息的示例性方法。在一個實施 例中,中央控制器(說明性地,控制器120)接收業(yè)務測量信息,所述 中央處理器適于為靈活節(jié)點確定路由表。
在步驟208,使用鏈路狀態(tài)信息和業(yè)務測量信息來確定與相應的靈 活節(jié)點相關聯(lián)的路由表。在一個實施例中,與相應的靈活節(jié)點相關聯(lián)的 路由表可以在整體上被一起確定(即,在考慮與用于靈活節(jié)點組群中的 每個其他靈活節(jié)點的每個其他路由表相關聯(lián)的相應的至少一個特征的 情況下,確定用于靈活節(jié)點組群中的每個靈活節(jié)點的每個路由表)。在 一個實施例中,所述至少一個特征可以包括先前為相應的靈活節(jié)點計算 的路由表、用于確定該組群中的每個其他靈活節(jié)點的每個其他路由表的 當前處理和類似特征、參數(shù)和信息以及它們的各種組合等等。
在一個實施例中,靈活節(jié)點可以與靈活節(jié)點組群相關聯(lián)。在一個實 施例中,靈活節(jié)點可以與多個靈活節(jié)點組群相關聯(lián)。在一個實施例中,中央控制器(說明性地,控制器120)保存靈活節(jié)點組群成員信息,該 信息指示哪些靈活節(jié)點與哪個(哪些)靈活節(jié)點組群相關聯(lián)。在一個這 樣的實施例中,可以采用協(xié)同的方式來確定與靈活節(jié)點組群中相應的靈 活節(jié)點相關聯(lián)的路由表,以使得通過確定和設置靈活節(jié)點的路由表,控 制器因此能夠操縱網(wǎng)絡內(nèi)的業(yè)務。
在一個實施例中,靈活節(jié)點路由表包括每個可能的目的地節(jié)點(包 括非靈活節(jié)點和靈活節(jié)點)與多個下一跳節(jié)點的關聯(lián),這些下一跳節(jié)點 可以由靈活節(jié)點選擇以用于將與該目的地節(jié)點相關聯(lián)的業(yè)務路由至該 目的地節(jié)點。在一個實施例中,靈活節(jié)點路由表可以包括與針對每個目 的地節(jié)點的每個下一跳節(jié)點相關聯(lián)的關聯(lián)業(yè)務拆分部分(例如,用于將 目的地為給定目的地節(jié)點的業(yè)務流拆分到多個路徑)。
在步驟210,路由表被傳送至相應的靈活節(jié)點。在步驟212,由靈 活節(jié)點和非靈活節(jié)點通過網(wǎng)絡對業(yè)務進行路由。非靈活節(jié)點使用在本地 確定的路由表來對業(yè)務進行路由,所述路由表為給定目的地節(jié)點識別一 個下一跳節(jié)點。靈活節(jié)點使用在中心確定的路由表來對業(yè)務進行路由, 所述路由表為給定目的地節(jié)點識別多個下一跳節(jié)點。在步驟214,方法 200結束。
為了清楚起見,在描述對用于靈活節(jié)點的路由表的確定中,考慮以 下表述。假設網(wǎng)絡(說明性地,網(wǎng)絡IIO)包括一組節(jié)點N (說明性地, 路由器112),它們由一組直接鏈路E (說明性地,通信鏈路U4)互相 連接。假設網(wǎng)絡包括n個節(jié)點和m個鏈路。定義這樣的符號,其中 表示靈活節(jié)點集合(說明性地,F(xiàn)R 112F),并且D-WC表示非靈活節(jié) 點集合(說明性地,SR112S)。定義這樣的符號,其中w(e)表示鏈路 es五的鏈路權重(例如OSPF鏈路權重),并且c(e)表示鏈路ee五的鏈 路容量(例如OSPF鏈路容量)。定義這樣的符號,其中f(e)表示鏈路 es五上的業(yè)務流。所有鏈路^£上的業(yè)務流f(e)根據(jù)網(wǎng)絡信息分配協(xié)議 (例如OSPF-LSA、 OSPF-TE等)對于控制器(說明性地,控制器120) 而言是可用的。
定義這樣的符號,其中Tsd表示從源節(jié)點"AT到目的地節(jié)點deW的 業(yè)務速率。定義這樣的符號,其中節(jié)點u可以是非靈活節(jié)點妊D或靈 活節(jié)點"eC。定義這樣的符號,其中Wua表示始發(fā)于靈活節(jié)點"eC或 者通過靈活節(jié)點"eC的去往目的地節(jié)點c/eW的總業(yè)務量。注意, 一般而言,^^乙。在一個實施例中,靈活節(jié)點U可操作來為每個目的地節(jié)點
d測量總業(yè)務量Wud。在一個這樣的實施例中,靈活節(jié)點u可操作來通
過使用多種已知方法中的至少一種來測量總業(yè)務量Wud。在一個實施例
中,用于所有源-目的地節(jié)點對(s,d)的業(yè)務速率Tsd不為控制器所知。 在一個實施例中,網(wǎng)絡中的每個節(jié)點n計算去往網(wǎng)絡中每個其他節(jié) 點的最短路徑。在一個這樣的實施例中,節(jié)點"eW處的路由表包括去往 網(wǎng)絡中的每個節(jié)點的最短路徑上的下一跳。在該實施例中,定義這樣的 符號,其中NH (u,d)表示節(jié)點u處針對目的地節(jié)點d而言的下一跳 節(jié)點。換句話說,在該實施例中,NH (u,d)表示從節(jié)點u到目的地節(jié) 點d的最短路徑上的第一節(jié)點。為了清楚起見,假設對于所有非靈活節(jié) 點"eZ)而言,下一跳節(jié)點是唯一的,即,NH (u,d)對于每個非靈活節(jié) 點t/eD而言,僅具有一個元素。
盡管在此主要針對其中對于每個非靈活節(jié)點"sD而言下一跳節(jié)點 是唯一的實施例進行描述,即,NH (u,d)對于每個非靈活節(jié)點"s/)而 言僅具有一個元素,但是在各種其他實施例中,對于每個非靈活節(jié)點u 而言可獲得多個下一跳節(jié)點,即NH(u,d)對于每個非靈活節(jié)點"eD而 言具有一個或多個元素。換句話說,在一個實施例中,本發(fā)明可擴展至 其中在節(jié)點之間存在可替換的最短路徑的網(wǎng)絡。在該實施例中,可以在 可替換^最短路徑之間拆分業(yè)務。在一個這樣的實施例中,可以使用成 本相等的多個路徑來在可替換的最短路徑之間拆分業(yè)務。此外,盡管 NH (u,d)在此主要被描述為是根據(jù)所有非靈活節(jié)點weD的最短路徑而 計算的,但是只要沒有路由環(huán),就可以為每個靈活節(jié)點"eC任意設置 NH ( u, d)。
圖3描繪了圖1的通信網(wǎng)絡的最短路徑樹的高層次框圖。特別地, 圖3描繪了圖1的通信網(wǎng)絡100的去往節(jié)點13的最短路徑樹300的高 層次框圖。如圖3中所描繪的那樣,被描繪為實線的多個鏈路310 (共 同稱為鏈路310)表示去往節(jié)點13的最短路徑樹300。應當注意,最短 路徑樹300包括這樣的最短路徑樹如果靈活節(jié)點如非靈活節(jié)點那樣工 作(即,如果靈活節(jié)點利用標準最短路徑計算而不是增強的最短路徑計 算),則會出現(xiàn)這樣的最短路徑樹。如圖3中所描繪的那樣,被描繪為 虛線的多個可替換鏈路320 (共同稱為可替換鏈路320)表示與靈活節(jié) 點相關聯(lián)的可替換鏈路。為了清楚起見,假設鏈路310和可替換鏈路320具有等于1的相關聯(lián)鏈路權重。
如圖3中所描繪的那樣,每個非靈活節(jié)點"ei)的下一跳節(jié)點NH(U, d)包括NH (1, 13) =2, NH (3, 13) =2, NH (4, 13) =9, NH ( 5, 13) =12, NH(6, 13) =10, NH(7, 13) =10, NH ( 8, 13 ) =9, NH
(10, 13) =13, NH(11,13) =13, NH(12,13) = 13和NH ( 15, 13 ) =14。如圖3中所描繪的那樣,靈活節(jié)點2eC的下一跳節(jié)點NH (u,d) 包括NH (2, 13 ) - 5 (可替換路徑)和NH (2, 13 ) = 11 (最短路徑); 靈活節(jié)點9eC的下一跳節(jié)點NH (u,d)包括NH (9, 13) - 7 (可替換路 徑)和NH(9, 13) -IO(最短路徑);而靈活節(jié)點i4eC的下一跳節(jié)點 NH (u,d)包括NH ( 14, 13) - 10 (可替換路徑)和NH ( 14, 13) =13
(最短路徑)。換句話說,靈活節(jié)點2可以將去往節(jié)點13的業(yè)務拆分
到兩個不同的下一跳節(jié)點5和11,靈活節(jié)點9可以將去往節(jié)點13的業(yè)
務拆分到兩個不同的下一跳節(jié)點7和10,而靈活節(jié)點14可以將去往節(jié)
點13的業(yè)務拆分到兩個不同的下一跳節(jié)點10和13。
為了清楚起見,在描述本發(fā)明中做出第一定義,其中給定靈活節(jié) 點集合C,如果對于_/ = 1,2,...,*,("","》e5,則從源節(jié)點s到目的地節(jié)點
d的路徑15 = "。,1/1,"2,...^=</將被稱作可行路徑并且如果",_1££),則 ^ =M/(M;—u^ 。其中",,"2,..冉不同的可行路徑;故表示為可采納 (admissible)路徑。源節(jié)點s和目的地節(jié)點d之間的可采納路徑集合被 表示為Psd。根據(jù)此定義,如果就所有非靈活節(jié)點而言針對給定目的地 的下一跳節(jié)點是由最短路徑算法給出的,則路徑是可行的,并且僅當其 是非閉合的(loopless)時,可行路徑才是可采納路徑。因而,源節(jié)點s 與目標結點d之間的所有業(yè)務都必須在pei^上蜂皮路由。
例如,如圖3中所描繪的那樣,路徑3-2-5-12-13是從源節(jié)點3到目 標結點13的可采納路徑。但是,該可采納路徑不是從源節(jié)點3到目的 地節(jié)點13的最短路徑。更確切地說,從源節(jié)點3到目的地節(jié)點13的最 短路徑是3-2-11-13,從源節(jié)點3到目的地節(jié)點13該最短路徑僅需要3 跳。盡管路徑3-6-ll-13從源節(jié)點3到目的地節(jié)點13僅需要3跳,但是 其不是可采納的,原因在于非靈活節(jié)點3的下一跳必須是最短路徑上的 下一跳,所述下一跳為節(jié)點2。
為ir清楚起見,在描述本發(fā)明中,做出第二定義,其中給定非 靈活節(jié)點處的最短路徑路由,從源節(jié)點行進到目的地節(jié)點而不經(jīng)過(tmverse)靈活節(jié)點的業(yè)務被稱為不可控業(yè)務,而始發(fā)于靈活節(jié)點(即 靈活節(jié)點是業(yè)務的源節(jié)點)上或在到達目的地節(jié)點之前經(jīng)過至少一個 靈活節(jié),的業(yè)務被稱為可控業(yè)務。換句話說,可控業(yè)務包括經(jīng)過至少 一個靈活節(jié)點的分組。因而,在靈活節(jié)點處存在至少一個操縱可控業(yè) 務的路徑的機會。
例如,從節(jié)點6到13的業(yè)務是沿著路徑(6-10-13)路由的(可選 地,通過OSPF),然而,因為節(jié)點6和節(jié)點10都不是靈活節(jié)點,所 以從節(jié)點6到節(jié)點13的業(yè)務是不可控業(yè)務。類似地,從節(jié)點5 (始發(fā) 于節(jié)點5)到節(jié)點13的業(yè)務沿路徑5-12-13路由,然而,因為節(jié)點5 和節(jié)點12都不是靈活節(jié)點,所以從節(jié)點5到節(jié)點13的業(yè)務是不可控 業(yè)務。與之對照,因為從節(jié)點8到13的業(yè)務通過靈活節(jié)點9,所以從 節(jié)點8到13的業(yè)務是可控業(yè)務。與之相似,因為從節(jié)點15到13的業(yè) 務通過靈活節(jié)點14,所以從節(jié)點15到13的業(yè)務是可控業(yè)務。
為了清楚起見,在描述本發(fā)明中做出第三定義,其中如果(l) 靈活節(jié)點u在用于分組的路由路徑上(例如OSPF路由路徑)并且(2) 分組在經(jīng)過任何其他靈活節(jié)點之前經(jīng)過靈活節(jié)點u,則該分組被認為由 靈活節(jié)點"eC注入。由靈活節(jié)點"eC注入的去往某一目的地節(jié)點deW 的業(yè)務被表示為U。換句話說,對于所有的可控業(yè)務而言,存在著唯一 的注入可控業(yè)務的靈活節(jié)點。向網(wǎng)絡中注入業(yè)務的靈活節(jié)點可以是或者 可以不是所注入的業(yè)務的源節(jié)點。在此將針對圖4進一步描述該第三定 義的細節(jié)。
圖4描繪了圖1的通信網(wǎng)絡的靈活節(jié)點處的可獨立路由的業(yè)務的高 層次框圖??偟膩碚f,圖4描繪了圖3的最短路徑樹300的各部分的高 層次框圖。特別地,圖4描繪了圖3的鏈路310中的每一個,除了從每 個靈活節(jié)點到目的地節(jié)點13的鏈路310 (即,除從靈活節(jié)點2到節(jié)點 11的鏈路、從靈活節(jié)點9到節(jié)點10的鏈路、從靈活節(jié)點14到13的鏈 路之外)。如圖4中所描繪的那樣,每個節(jié)點旁邊的數(shù)字表示始發(fā)于該 節(jié)點去往目的地節(jié)點13的業(yè)務速率(或者,可替換地,業(yè)務量)。如 圖4中所描繪的那樣,每個鏈路旁邊的數(shù)字表示該鏈路上的業(yè)務速率 (即,與最短路徑樹中指向節(jié)點13的每個下游節(jié)點相關聯(lián)的業(yè)務速率 的組合)。
如在此所描述的,定義如下符號,其中Tsd表示從源節(jié)點^W到目的地節(jié)點"W的業(yè)務速率。如圖4中所描繪的那樣,節(jié)點1的業(yè)務速 率為3 (即(T!, 13 = 3 )),節(jié)點3的業(yè)務速率為4 (即(T3, 13 = 4 )), 節(jié)點4的業(yè)務速率為6(即(T4. 13 = 6)),節(jié)點5的業(yè)務速率為1 (即 (T5. 13 = 1)),節(jié)點6的業(yè)務速率為1 (即(T6, 13 = 1)),節(jié)點7的 業(yè)務速率為6 (即(T7, 13 = 6 )),節(jié)點8的業(yè)務速率為4 (即(T8, 13 =4)),節(jié)點IO的業(yè)務速率為4 (即(T1(), 13 = 4)),節(jié)點11的業(yè)務 速率為2(即(Tn, 13 - 2 )),節(jié)點12的業(yè)務速率為3 (即(T12, 13 - 3 )), 節(jié)點14的業(yè)務速率為2 (即(T14, 13-2)),并且節(jié)點15的業(yè)務速率 為3 (即(T15> 13 - 3 )),
如在此所描述的,做出了第三定義,其中如果(1)靈活節(jié)點u 在用于分組的路由路徑上并且(2)分組在經(jīng)過任何其他靈活節(jié)點之前 經(jīng)過靈活節(jié)點u,則該分組被認為由靈活節(jié)點"eC注入。由靈活節(jié)點"e C 注入的去往目的地節(jié)點deW的業(yè)務^皮表示為Iud。如圖4所描繪的那樣, 從節(jié)點1和3到節(jié)點13的業(yè)務是由靈活節(jié)點2注入的(即12, 13 = 9,原 因在于節(jié)點l提供的業(yè)務速率為3,節(jié)點3提供的業(yè)務速率為4,節(jié)點2 提供的業(yè)務速率為2)。如圖4中所描繪的那樣,從節(jié)點4和8到節(jié)點 13的業(yè)務是由靈活節(jié)點9注入的(即19, 13 = 13,原因在于節(jié)點4提供的 業(yè)務速率為6,節(jié)點8提供的業(yè)務速率為4,節(jié)點9提供的業(yè)務速率為3 )。 如圖4中所描繪的那樣,從節(jié)點15到節(jié)點13的業(yè)務是由靈活節(jié)點14 注入的(即114. 13 = 5,原因在于節(jié)點15提供的業(yè)務速率為3,節(jié)點14 提供的業(yè)務速率為2)。
換句話說,如在此所描述的,如果Tsd的值對于所有源-目的地節(jié)點 對(s,d)而言是已知的,則Iud的值可以被計算出。特別地,如果Tsd 的值對于所有源-目的地節(jié)點對(s,d)而言是已知的,則可通過去除靈 活節(jié)點的外出(egress)鏈路并且讓路由協(xié)議(例如OSPF)對所有的要 求進行路由直到到達靈活節(jié)點或目的地節(jié)點為止來計算Iud的值。在靈 活節(jié)點處積聚的業(yè)務是由靈活節(jié)點注入的業(yè)務。如圖4中所描繪的那樣, 12, 13 = 9, 19, "=13,并且114, 13 = 5。然而,控制器(說明性地,控制器 120)不知道Tsd的值,更確切地說,在一個實施例中,控制器處唯一可 得的測量值是Wud值(即通過節(jié)點"sC去往目的地d的業(yè)務)。
如在此所描述的,因為可以被操縱的唯一業(yè)務是經(jīng)過靈活節(jié)點的業(yè) 務,在一個實施例中,可控業(yè)務和不可控業(yè)務之間產(chǎn)生了區(qū)別。如在此所描述的,Iud表示由靈活節(jié)點"eC注入的去往目的地節(jié)點deJV的業(yè)務, 并且由靈活節(jié)點u所注入的業(yè)務僅沿著可采納路徑/^&之一到達目的
地節(jié)點d。定義這樣的符號,其中g(e)表示鏈路ee^上的不可控業(yè)務流。 盡管如果事先不知道源-目標業(yè)務速率值Tsd則可計算g(e),如在此所描 述的,事先并不知道源-目的地業(yè)務速率值Tsd。
如在此所描述的,在一個實施例中,控制器的目標是對可控業(yè)務進 行路由,以使得鏈路處的分組丟失和分組延遲被最小化。在一個實施例 中,因為鏈路處的分組丟失和分組延遲是鏈路利用的增函數(shù),所以鏈路 利用可用作鏈路處的分組丟失和分組延遲的替代(surrogate)。在一個 這樣的實施例中,控制器的目標是使網(wǎng)絡中的鏈路的最大利用最小。在 一個這樣的公式表示中,可以求解為任意期望級別的準確度的變量可以 是與路徑P相關聯(lián)的路徑流。在一個這樣的公式表示中,與路徑P相關 聯(lián)的路徑流可以被表示為x(P)。在一個這樣的實施例中,控制器求解以 下最優(yōu)化問題,其中控制器嘗試使最大鏈路利用(表示為0)最小
g(e)+J)c(尸)^(e) VeeE 方程1
5>(/0Ad VweC 方程2
尸-"
x(,O V尸 方程3
笫一組不等式(方程i)確保鏈路上的總流(total flow)(鏈路上 的不可控流(表示為g(e)))與鏈路上的可控流(表示為2>(尸))之和)
小于或等于最大鏈路利用(表示為 )與鏈路容量(表示為c(e))之積。 笫二組不等式(方程2)確保與靈活節(jié)點相關聯(lián)的總注入業(yè)務是在網(wǎng)絡 中被路由的(即,確保用于每個靈活節(jié)點"eC和目的地節(jié)點d之間的可
采納路徑Pud的集合中的每個可采納路徑的鏈路上的可控業(yè)務之和(表 示為2>(。)大于或等于由靈活節(jié)點"eC注入的去往目的地節(jié)點c/eW的
業(yè)務(表示為Iud)。
在該最小-最大利用公式中,最大鏈路利用0的最優(yōu)值是任何鏈路 的最大利用,并且控制器嘗試以使最大鏈路利用0最小的方式來求解該 公式。在ii個公式中,如果最大鏈路利用的最優(yōu)值小于1 (0<1),則 沒有鏈路被過度利用。在一個實施例中,由控制器來求解最小-最大利 用公式。在一個實施例中,在求解該最優(yōu)化問題之后,控制器為每個靈 活節(jié)點確定與該靈活節(jié)點相關聯(lián)的每個下一跳節(jié)點,并且為每個目的地節(jié)點確定與每個下一跳節(jié)點相關聯(lián)的每個相關聯(lián)的業(yè)務部分。
在一個實施例中,控制器使用每個靈活節(jié)點上的注入業(yè)務值Iud和
每個鏈路上的不可控流g(e)來為相應的靈活節(jié)點確定路由表。在一個實
施例中,控制器確定每個靈活節(jié)點上的注入業(yè)務值Iud和每個鏈路上的
不可控流g(e)。在一個實施例中,可以使用網(wǎng)絡信息(例如,網(wǎng)絡拓樸 信息、鏈路狀態(tài)信息等等)和業(yè)務測量信息(例如,由靈活節(jié)點做出的 并被從靈活節(jié)點傳送到控制器的測量)確定每個靈活節(jié)點上的注入業(yè)務 值Iud和每個鏈路上的不可控業(yè)務g(e)。
圖5描繪了根據(jù)本實施例的一種方法。特別地,圖5中的方法500 包括用于確定與相應的靈活節(jié)點相關聯(lián)的路由表的方法。盡管在此針對 在適于為相應的靈活節(jié)點確定路由表的控制器上執(zhí)行的操作進行描述, 但是在一個實施例中,方法500的至少一部分步驟可以由相應的靈活節(jié) 點執(zhí)行。盡管被描述和描繪為連續(xù)執(zhí)行,但是本領域技術人員將會意識 到方法500的至少一部分步驟可被同時執(zhí)行,或者以與圖5中所示的次 序不同的次序執(zhí)行。方法500開始于步驟502,并繼續(xù)至步驟504。
在步驟504,獲得拓樸信息。在一個實施例中,拓樸信息是從與控 制器相關聯(lián)的至少一個數(shù)據(jù)庫獲得的。在一個實施例中,從非靈活節(jié)點 和靈活節(jié)點接收拓樸信息。在步驟506,從非靈活節(jié)點和靈活節(jié)點接收 鏈路狀態(tài)消息。在一個實施例中,鏈路狀態(tài)消息包括OSPF-LSA消息。 在步驟508,為網(wǎng)絡中的每個鏈路(即為每個鏈路ee五)確定當前的鏈 路權重。在步驟510,從非靈活節(jié)點和靈活節(jié)點接收鏈路業(yè)務工程消息。 在一個實施例中,鏈路業(yè)務工程消息包括OSPF-TE消息。在步驟512, 為網(wǎng)絡中的每個鏈路(即為每個鏈路ee五)確定當前的鏈路容量(即可 用帶寬)。
在步驟514,使用拓樸信息、當前鏈路權重和當前鏈路容量來確定 由每個非靈活節(jié)點執(zhí)行的當前路由。盡管沒有繪出,但是在一個實施例 中,可以通過獲得相應的非靈活節(jié)點所利用的路由表來確定由每個非靈 活節(jié)點執(zhí)行的當前路由。在步驟516,確定每個靈活節(jié)點的當前路由。 在一個實施例中,使用與每個相應的靈活節(jié)點相關聯(lián)的先前確定的路由 表來確定每個靈活節(jié)點的當前路由(例如,與靈活節(jié)點相關聯(lián)的所確定 的路由表可以由控制器存儲)。
在步驟518,為網(wǎng)絡中的每個鏈路確定總業(yè)務流f(e)。在一個實施例中,使用每個非靈活和每個靈活節(jié)點的當前路由來確定網(wǎng)絡中每個鏈
路的總業(yè)務流f(e)。在一個實施例中,給定當前的鏈路權重(例如 OSPF-LSA鏈路權重)和當前鏈路容量(例如OSPF-TE鏈路容量),控 制器可以為所有非靈活節(jié)點確定當前路由。在一個實施例中,因為控制 器為相應的靈活節(jié)點計算了路由表,所以控制器知道用于所有靈活節(jié)點 的當前路由(即,對于每個靈活節(jié)點而言,多個下一跳節(jié)點中的每一個, 以及可選地,對于每個目的地節(jié)點而言,相關聯(lián)的業(yè)務部分)。
在步驟520,針對網(wǎng)絡中的每個目的地節(jié)點d (即針對每個目的地 節(jié)點deW )并且針對網(wǎng)絡中每個靈活節(jié)點u(即針對每個靈活節(jié)點"eC ) 確定注入業(yè)務值Iud.在一個實施例中,注入業(yè)務值Iud可以由每個靈活 節(jié)點確定,并且被作為處理后的業(yè)務測量信息的 一部分傳送至控制器。 在一個實施例中,注入業(yè)務值Iud可以由控制器通過使用從每個靈活節(jié) 點傳送至控制器的原始業(yè)務測量信息來確定。在此針對圖6描繪和描述 用于確定注入業(yè)務值Iud的示例性方法。
在步驟522,為網(wǎng)絡中的每個鏈路確定不可控業(yè)務g(e)。在一個實 施例中,不可控業(yè)務流g(e)可以由每個靈活節(jié)點確定,并且-皮作為處理 后的業(yè)務測量信息的一部分傳送至控制器。在一個實施例中,不可控業(yè) 務流g(e)可以由控制器通過使用從每個靈活節(jié)點傳送至控制器的原始業(yè) 務測量信息來確定。在此針對圖7描繪和描述用于確定不可控業(yè)務g(e) 的示例性方法。
在步驟524,為網(wǎng)絡中的每個靈活節(jié)點確定路由表。在一個實施例 中,使用每個非靈活和每個靈活節(jié)點的當前路由來確定每個路由表。在 一個實施例中,使用總業(yè)務流f(e)、注入業(yè)務信息(Iud)和不可控業(yè)務 信息(g(e))來確定每個路由表。在一個實施例中,以協(xié)同的方式在整 體上為相應靈活節(jié)點中的每一個確定每個路由表。在該實施例中,對一 個靈活節(jié)點的路由表的確定至少部分基于對多個其他靈活節(jié)點(例如, 網(wǎng)絡中的所有其他靈活節(jié)點,與相同靈活節(jié)點組相關聯(lián)的其他靈活節(jié) 點,跨越多個靈活節(jié)點組群的其他靈活節(jié)點等等,以及它們的各種組合) 中的每個節(jié)點的路由表的確定。在步驟526,方法500結束。
圖6描繪了根據(jù)本發(fā)明的一個實施例的方法。特別地,圖6的方法 600包括用于確定適于在為相應的靈活節(jié)點確定路由表的過程中使用的 注入業(yè)務值的方法。盡管在此是針對在靈活節(jié)點上執(zhí)行的操作進行描述的,但是在一個實施例中,方法600中的至少一部分步驟可以由適于為 相應的靈活節(jié)點確定路由表的控制器來執(zhí)行。盡管在此將其描述和描繪 為連續(xù)執(zhí)行,但是本領域技術人員將會意識到方法600中的至少一部分 步驟可以被同時執(zhí)行,或者以與圖6中所示的次序不同的次序執(zhí)行。方 法600開始于步驟602并進行至步驟604。
在步驟604,選擇靈活節(jié)點"eC。在步驟606,選擇目的地節(jié)點c/eW。 在步驟608,靈活節(jié)點u測量經(jīng)過節(jié)點u的去往目的地節(jié)點d (表示為 經(jīng)過業(yè)務值(traversed traffic value))的業(yè)務量Wud。經(jīng)過業(yè)務值Wud 指示經(jīng)過靈活節(jié)點u的目的地為目的地節(jié)點d的業(yè)務量。在步驟610, 為目的地節(jié)點d確定靈活節(jié)點次序以使得沒有業(yè)務從靈活節(jié)點次序中靠 后(later)的靈活節(jié)點流向靈活節(jié)點次序中的靠前(earlier)的靈活節(jié) 點。在一個實施例中,使用靈活節(jié)點次序以便防止對于流向目的地節(jié)點 d的業(yè)務形成路由環(huán)路。
在步驟612,將業(yè)務流單元從靈活節(jié)點u路由至目的地節(jié)點d。業(yè) 務流單元可以包括任意業(yè)務量(例如,分組)。在步驟614,為靈活節(jié) 點次序中的每個靈活節(jié)點w確定從靈活節(jié)點u到目的地節(jié)點d的單元流 部分凡(",tO。在步驟616,為靈活節(jié)點u和目的地節(jié)點d確定注入業(yè)務
值Iud。在一個實施例中,注入業(yè)務值Iud被計算為以下二者之間的差 (1)經(jīng)過業(yè)務值Wud和(2)在靈活節(jié)點次序中出現(xiàn)在靈活節(jié)點u之前
的所有靈活節(jié)點W上的凡(t/,rf)Iud之和。
在一個實施例中,可以定義符號,其中"《v表示以下事實靈活 節(jié)點"eC在靈活節(jié)點次序中的位置在靈活節(jié)點veC之前。對于靈活節(jié)點 次序中的第一靈活節(jié)點"eC,去往目的地節(jié)點d的注入業(yè)務量等于始發(fā) 于或經(jīng)過靈活節(jié)點"eC的去往目的地節(jié)點c/sW的總業(yè)務量(即Iud-Wud)。對于靈活節(jié)點次序中的第二靈活節(jié)點vsC,將一個業(yè)務單元從 靈活節(jié)點U路由至目的地節(jié)點d,并確定經(jīng)過靈活節(jié)點veC的從靈活節(jié) 點"eC到目的地節(jié)點d的該業(yè)務單元的業(yè)務單元部分(表示為A(",d))。
對于該第二靈活節(jié)點v,去往目的地節(jié)點d的注入業(yè)務量等于以下 二者之差始發(fā)于或經(jīng)過靈活節(jié)點veC的去往目的地節(jié)點deW的總業(yè)務 量;下列的(1)與(2)之積(l)經(jīng)過靈活節(jié)點veC的從靈活節(jié)點"eC 到目的地節(jié)點d的業(yè)務單元的業(yè)務單元部分,和(2)由靈活節(jié)點"eC所 注入的去往目的地節(jié)點d的注入業(yè)務量(即/w-『^-。 一般來說,可重復該過程以使得對于靈活節(jié)點次序中的靈活節(jié)點H^C而言,
由靈活節(jié)點v^C所注入的去往目的地節(jié)點d的注入業(yè)務量Iwd可由下式 給出
<formula>formula see original document page 20</formula>方程4<formula>formula see original document page 20</formula>
在步驟618,確定是否已經(jīng)考慮了最后的目的地節(jié)點(以用于計算 Iud值)。如果尚未考慮最后的目的地節(jié)點,則方法600進行至620。在 步驟620,選擇另 一 目的地節(jié)點d (即不是先前為當前選擇的靈活節(jié)點u 所處理的目的地節(jié)點)。如果考慮了最后的目的地節(jié)點,則方法600進 行至622。在步驟622,確定是否已經(jīng)考慮了最后的靈活節(jié)點(以用于 計算U值)。如果尚未考慮最后的靈活節(jié)點,則方法600進行至624。 在步驟624,選擇另一個靈活節(jié)點u(即不是先前所處理的靈活節(jié)點)。 從步驟620到步驟624,方法600返回到步驟608。如果考慮了最后的 靈活節(jié)點,則方法600進行至步驟626,其中方法600結束。
圖7描繪了根據(jù)本發(fā)明的一個實施例的方法。特別地,圖7的方法 700包括用于確定適于在為相應的靈活節(jié)點確定路由表的過程中使用的 不可控業(yè)務值的方法。盡管在此是針對在靈活節(jié)點上執(zhí)行的操作進行描 述的,但是在一個實施例中,方法700中的至少一部分步驟可以由適于 為相應的靈活節(jié)點確定路由表的控制器來執(zhí)行。盡管在此將其描述和描 繪為連續(xù)執(zhí)行,但是本領域技術人員將會意識到方法700中的至少一部 分步驟可以被同時執(zhí)行,或者以與圖7中所示的次序不同的次序執(zhí)行。 方法700開始于步驟702并進行至步驟704。
在步驟704,針對每個目的地節(jié)點"W針對每個靈活節(jié)點"eC確定 注入業(yè)務值U。在一個實施例中,可以使用針對圖6所描述和描繪的方 法600來確定注入業(yè)務值U。在步驟706,為網(wǎng)絡中的每個鏈路(即為 每個"£ )確定總業(yè)務流f(e)。在一個實施例中,可以使用網(wǎng)絡中的每 個非靈活節(jié)點的當前路由和每個靈活節(jié)點的當前路由來確定網(wǎng)絡中的 每個鏈路的總業(yè)務流f(e),如在此針對圖5的方法500所描述和描繪的那樣。
在步驟708,針對每個目的地節(jié)點c/eW在每個靈活節(jié)點weC處注入 業(yè)務流單元。在步驟710,針對每個目的地節(jié)點deW針對每個靈活節(jié)點 weC確定在鏈路e上路由的注入業(yè)務流單元的單元流部分《>,^)。單元
流部分表示在鏈路e上路由的業(yè)務流單元的部分。在步驟712,為網(wǎng)絡中的每個鏈路e確定不可控業(yè)務流g(e)。在一個實施例中,可以使用注 入業(yè)務值Iud、總業(yè)務流f(e)和單元流部分o:,(",力來確定不可控業(yè)務流值
g(e)。在一個這樣的實施例中,不可控業(yè)務流值g(e)可被計算為下列二
者之差(1 )總業(yè)務流f(e)和(2 )所有靈活節(jié)點u和所有目的地節(jié)點 上的[^(",")./J之和(如方程5所示)。在步驟7M,方法700結束。
g(e) = /(e) —22> )7" 方程5
盡管在此主要針對用于確定靈活節(jié)點路由表的業(yè)務控制問題的特 定公式(即上文中所描述的最小-最大利用公式)而進行描述和描繪,其 中控制器對業(yè)務進行路由以使網(wǎng)絡中每個通信鏈路的最大鏈路利用0最 小,但是在一個實施例中,可以針對靈活節(jié)點路由表的確定來開發(fā)各種 其他業(yè)務控制問題的公式。在一個這樣的實施例中,業(yè)務控制問題的基 本類似的公式涉及保持與通信鏈路相關聯(lián)的鏈路容量基本固定且同時 以使注入業(yè)務與固定的鏈路容量相匹配的方式對注入業(yè)務進行縮放 (scale)。
在一個該縮放公式的實施例中,控制器的目標是使網(wǎng)絡呑吐量(用
義表示)最大。在該縮放公式的一個實施例中,可以求解為任意期望級
別準確度(例如使用原始對偶算法)的變量包括與路徑P相關聯(lián)的路徑
業(yè)務(用x(P)表示)。在該縮放公式中,如果網(wǎng)絡吞吐量;i的最優(yōu)值大
于1 (義>1),則可以在靈活節(jié)點處對當前業(yè)務進行路由,而所有的鏈
路利用都小于l。換句話說,該縮放公式的最優(yōu)解是最小-最大利用公式
的最優(yōu)解的倒數(shù)(inverse)。在一個實施例中,控制器對以下的最優(yōu)化
問題進行求解以嘗試使網(wǎng)絡呑吐量;i最大
E x(尸)^(c(e) —Ve s£ 方程6
Zx(尸)^;i^ VweC "W 方程7
x(尸)^0 v戶 方程8
在一個實施例中,該縮放公式由控制器來求解。在一個實施例中, 控制器計算每個靈活節(jié)點上的注入業(yè)務值Iud和每個鏈路上的不可控業(yè) 務g(e)。在一個實施例中,可以使用網(wǎng)絡信息(例如網(wǎng)絡拓樸信息、鏈 路權重信息、鏈路容量信息和控制器從靈活節(jié)點和非靈活節(jié)點中每一個 接收的類似信息)和靈活節(jié)點信息(例如由靈活節(jié)點測量并被從靈活節(jié) 點傳送到控制器的業(yè)務測量信息)來計算每個鏈路上的不可控流g(e)和每個靈活節(jié)點上的注入業(yè)務值Iud。
盡管在此所描述的先前實施例中,網(wǎng)絡內(nèi)的靈活節(jié)點的相應數(shù)目和 位置都是固定的,但是在一個實施例中,可以選擇網(wǎng)絡內(nèi)的靈活節(jié)點的 相應數(shù)目和位置。在一個這樣的實施例中,給定非靈活節(jié)點的網(wǎng)絡,可 以選擇一部分非靈活節(jié)點以使其由靈活節(jié)點替代(即,確定要替代的非 靈活節(jié)點的數(shù)目以及確定要替代哪些非靈活節(jié)點)。在確定網(wǎng)絡中的靈 活節(jié)點的數(shù)目和位置之后,控制器可以求解動態(tài)路由問題,以根據(jù)網(wǎng)絡 中的業(yè)務才莫式來確定靈活節(jié)點處的業(yè)務路由(即,確定與靈活節(jié)點相關 聯(lián)的靈活節(jié)點路由表)。
如在此所描述的,利用靈活節(jié)點的網(wǎng)絡的性能優(yōu)于無靈活節(jié)點的網(wǎng) 絡。實際上,通過用靈活節(jié)點來替代網(wǎng)絡中的一部分非靈活節(jié)點所獲得 的網(wǎng)絡性能改善取決于網(wǎng)絡內(nèi)靈活節(jié)點的數(shù)目和位置。 一般來說,對靈 活節(jié)點位置的最優(yōu)選擇取決于網(wǎng)絡業(yè)務矩陣(事先不能準確知道)。在 一個實施例中,可以獨立于網(wǎng)絡業(yè)務矩陣來選擇靈活節(jié)點位置。在另一 實施例中,可以根據(jù)對網(wǎng)絡業(yè)務矩陣的估計來選擇靈活節(jié)點位置。
如在此所描述的,在一個實施例中,可以根據(jù)對網(wǎng)絡業(yè)務矩陣的估 計來選擇靈活節(jié)點位置。在一個這樣的實施例中,可以做出各種假設以 簡化對靈活節(jié)點位置的選擇。在一個實施例中,假設靈活節(jié)點的數(shù)目(用
h表示)是已知的。在一個實施例中,假設已知試驗性(tentative)業(yè)務 矩陣(用T表示,其中Tsd表示用于源節(jié)點^W與目的地節(jié)點de〃之間 的業(yè)務的試驗性業(yè)務矩陣)。 一般而言,網(wǎng)絡中的實際業(yè)務偏離試驗性 業(yè)務矩陣T。在一個實施例中,試驗性業(yè)務矩陣T可以被用于確定網(wǎng)絡 內(nèi)h個靈活節(jié)點的布置(即,確定靈活節(jié)點位置)。
在一個公式中,靈活節(jié)點集合C上的業(yè)務矩陣T的吞吐量被定義為 最大標量;i以使得能夠沿容許(permissible)路徑在網(wǎng)絡中對;ir進行路 由。在該公式中,吞吐量可被表示為義(r,c)。在一個這樣的實施例中, 其中C-O對應于網(wǎng)絡中沒有節(jié)點是靈活節(jié)點的情況;而C-N對應于網(wǎng) 絡中的每個節(jié)點都是靈活節(jié)點的情況,A(r,o)《;i(r,c)s;i(r^)。在一個實
施例中,可以通過求解網(wǎng)絡上的最大并發(fā)(concurrent)流問題來計算 義(r,A0。在一個實施例中,給定業(yè)務矩陣T和靈活節(jié)點的數(shù)目h,目標 是確定('針對c:lc卜/2)確定最大吞吐量;i(『,c)。
在一個實施例中,遞增貪婪(incremental greedy)算法可用于求解該吞吐量最大化公式。在一個這樣的實施例中,算法限定了靈活節(jié)點的 集合(最初是空集),并且在該算法的每個步驟中,提供最大的吞吐量 增加的靈活節(jié)點被添加到該靈活節(jié)點的集合中,直到該靈活節(jié)點的集合
包括了h個靈活節(jié)點。在一個實施例中,可以使用組合的完全多項式時 間近似方案(FPTAS)來求解該吞吐量最大化公式,以便為任何預先指 定的s值在(l + s)的最優(yōu)解內(nèi)確定解。
在一個實施例中,其中的目標是確定;i的最大值以使得可以在網(wǎng)絡 中對燈進行路由,吞吐量最大化公式類似于縮放公式(在上文中描述), 其中對于所有ee五而言g(e)-O (對于方程5),并且Isd由Tsd替代(對 于方程6)。在一個這樣的實施例中,鏈路權重I(e)可以與鏈路ee五相 關聯(lián),并且目標是在所有源-目的地節(jié)點對之間的加權最短的容許路徑的 總和大于1的限制下使得2Xe)/(e)最小。
圖8描繪了適于用于執(zhí)行在此所描述的功能的通用計算機的高層次 框圖。如圖8中所描繪的那樣,系統(tǒng)800包括處理器部件802(例如CPU )、 存儲器804 (例如隨機存取存儲器(RAM)和/或只讀存儲器(ROM)、 路由表控制模塊805以及各種輸入/輸出設備806 (例如存儲設備,包括 但不限于磁帶驅動器(tape drive)、軟盤驅動器、硬盤驅動器或光盤驅 動器、接收機、發(fā)射機、揚聲器、顯示器、輸出端口和用戶輸入設備(例 如鍵盤、小鍵盤、鼠標等等))。
應當注意,可以采用軟件和/或軟件和硬件的組合來實施本發(fā)明,例 如,使用專用集成電路(ASIC)、通用計算機或任意其他硬件等價物。 在一個實施例中,本路由表控制模塊或過程805可被加載到存儲器804 中并且由處理器802執(zhí)行以實施上述功能。同樣,本發(fā)明的路由表控制 過程805 (包括相關聯(lián)的數(shù)據(jù)結構)能夠被存儲在計算機可讀介質(zhì)或栽 體上,例如RAM存儲器、磁性或光學驅動器或磁盤等等。
盡管在此主要針對其中為相應的多個靈活節(jié)點確定多個路由表的 網(wǎng)絡來進行描述,其中每個靈活節(jié)點屬于一個靈活節(jié)點組群,但是在一 個實施例中,,可以為屬于相應的多個不同的靈活節(jié)點組群的相應多個靈 活節(jié)點確定路由表。在一個實施例中,盡管可以采用協(xié)同的方式在相應 的靈活節(jié)點組群中的每一個之內(nèi)執(zhí)行為每個靈活節(jié)點組群中的靈活節(jié) 點確定路由表,但是可以不采用協(xié)同的方式跨越相應的靈活節(jié)點組群執(zhí) 行為每個靈活節(jié)點組群中的靈活節(jié)點確定路由表。在一個實施例中,其中采用協(xié)同的方式在相應的靈活節(jié)點組群中每 一個之內(nèi)執(zhí)行為每個靈活節(jié)點組群中的靈活節(jié)點確定路由表,還可以采 用協(xié)同的方式跨越至少一部分靈活節(jié)點組群、跨越靈活節(jié)點組群的多種 組合等等、以及跨越它們的各種組合執(zhí)行為每個靈活節(jié)點組群中的靈活
節(jié)點確定路由表。因而,本發(fā)明并非意在限于靈活節(jié)點分組群、為靈 活節(jié)點組群內(nèi)的各種靈活節(jié)點確定路由表、跨越靈活節(jié)點組群的各種組 合為各種靈活節(jié)點確定路由表等等、以及它們的各種組合。
盡管在此主要針對標準路由器(在此也被稱為非靈活路由器)和增 強路由器(在此也被稱為靈活路由器)來進行描述,但是本發(fā)明可用于 為各種其他網(wǎng)絡部件確定路由表。因而靈活路由器在此也被稱為l類路
由器(或可替換地,1類節(jié)點),而非靈活節(jié)點在此也被稱為2類路由 器(或可替換地,2類節(jié)點)。同樣,本發(fā)明并不意在限于特定類型的 可以跨越網(wǎng)絡對業(yè)務進行路由的網(wǎng)絡部件。
盡管在此主要針對特定網(wǎng)絡配置進行描述,但是本發(fā)明可以被用在 具有各種其他網(wǎng)絡配置的網(wǎng)絡中。盡管在此主要針對基于MPLS/IP的網(wǎng) 絡進行描述,但是本發(fā)明可以被用于采用各種其他協(xié)議組合的通信網(wǎng)絡 中。盡管在此主要針對路由器進行描述,但是本發(fā)明可以被用在包括各 種其他節(jié)點類型的通信網(wǎng)絡中。同樣,本發(fā)明并不意在限于網(wǎng)絡配置、 網(wǎng)絡協(xié)議、網(wǎng)絡節(jié)點類型以及類似的可配置的網(wǎng)絡參數(shù)以及它們的各種 組合。
盡管在此詳細展示和描述了結合了本發(fā)明的教導的多種實施例,但 是本領域技術人員可以很容易設計出許多其他結合了這些教導的不同 實施例。
權利要求
1. 一種用于確定在網(wǎng)絡中使用的路由表的方法,所述網(wǎng)絡包括多個1類節(jié)點和多個2類節(jié)點,所述2類節(jié)點使用相應的2類路由表,所述2類路由表包括與多個目的地節(jié)點中的每一個相關聯(lián)的一個下一跳節(jié)點,所述方法包括從1類節(jié)點和2類節(jié)點獲得與網(wǎng)絡的多個鏈路中的每一個相關聯(lián)的鏈路狀態(tài)信息;從1類節(jié)點和2類節(jié)點獲得業(yè)務測量信息;以及使用鏈路狀態(tài)和業(yè)務測量信息確定用于相應的1類節(jié)點的多個1類路由表,以基本上協(xié)同的方式在整體上確定用于1類節(jié)點的1類路由表,每個1類路由表包括與目的地節(jié)點中的每一個相關聯(lián)的多個下一跳節(jié)點。
2. 根據(jù)權利要求1所述的方法,其中鏈路狀態(tài)信息包括鏈路權重 信息和鏈路容量信息。
3. 根據(jù)權利要求1所述的方法,其中業(yè)務測量信息包括可控業(yè)務 信息或不可控業(yè)務信息之一、鏈路利用信息和注入業(yè)務信息。
4. 根據(jù)權利要求1所述的方法,其中確定1類路由表中的每一個包括為1類節(jié)點和來自于所述多個2類節(jié)點的至少一個目的地節(jié)點的每 個組合確定包括由1類節(jié)點注入的業(yè)務量的注入業(yè)務值;為耦合至1類節(jié)點的至少一個鏈路中的每一個確定不可控業(yè)務值; 使用注入業(yè)務值和不可控業(yè)務值來確定1類路由表。
5. 根據(jù)權利要求4所述的方法,其中為l類節(jié)點和至少一個目的地 節(jié)點的每個組合確定注入業(yè)務值包括為1類節(jié)點和至少一個目的地節(jié)點的每個組合確定經(jīng)過ik務值,每 個經(jīng)過業(yè)務值包括經(jīng)過1類節(jié)點的、目的地為至少一個目的地節(jié)點的業(yè) 務量;以及使用經(jīng)過業(yè)務值確定注入業(yè)務值。
6. 根椐權利要求4所述的方法,其中為1類節(jié)點和至少一個目的地 節(jié)點的每個組合確定注入業(yè)務值包括為1類節(jié)點和至少一個目的地節(jié)點的每個組合確定經(jīng)過業(yè)務值; 確定笫一單元流部分,所述笫一單元流部分包括從1類節(jié)點經(jīng)過中間節(jié)點到至少一個目的地節(jié)點的單元流的部分;以及使用經(jīng)過業(yè)務值和第一單元流部分來確定注入業(yè)務值。
7. 根據(jù)權利要求4所述的方法,其中為耦合至1類節(jié)點的至少一個 鏈路中的每一個確定不可控業(yè)務值包括為所述至少一個鏈路中的每一個確定總流; 為所述至少一個鏈路中的每一個確定第二單元流部分;以及 使用總流、第二單元流部分和注入業(yè)務值來確定不可控業(yè)務值。
8. 根椐權利要求7所述的方法,其中為至少一個鏈路中的每一個 確定總流包含從多個節(jié)點中的每一個獲得拓樸信息; 獲得與所述至少一個鏈路中的每一個相關聯(lián)的鏈路權重信息; 使用拓樸信息和與所述至少一個鏈路中的每一個相關聯(lián)的鏈路權 重信息來為至少一個鏈路中的每一個確定總流。
9. 一種用于確定在網(wǎng)絡中使用的路由表的設備,所述網(wǎng)絡包括多 個1類節(jié)點和多個2類節(jié)點,所述2類節(jié)點使用相應的2類路由表,所 述2類路由表包括與多個目的地節(jié)點中的每一個相關聯(lián)的一個下一跳節(jié) 點,所述設備包括用于從1類節(jié)點和2類節(jié)點獲得與網(wǎng)絡的多個鏈路中的每一個相關聯(lián)的鏈路狀態(tài)信息的裝置;用于從1類節(jié)點和2類節(jié)點獲得業(yè)務測量信息的裝置;以及 用于使用鏈路狀態(tài)和業(yè)務測量信息確定用于相應的1類節(jié)點的多個1類路由表的裝置,其中以基本上協(xié)同的方式在整體上確定用于1類節(jié)點的1類路由表,每個1類路由表包括與目的地節(jié)點中的每一個相關聯(lián)的多個下一跳節(jié)點。
10. —種用于在網(wǎng)絡中的多個1類節(jié)點之一處對業(yè)務進行路由的方 法,所述網(wǎng)絡包括多個1類節(jié)點和多個2類節(jié)點,所述2類節(jié)點使用相 應的2類路由表,所述2類路由表包括與多個目的地節(jié)點中的每一個相 關聯(lián)的一個下一跳節(jié)點,所述方法包括使用相關聯(lián)的1類路由表在1類節(jié)點之一處對業(yè)務進行路由,所述 1類路由表包括與目的地節(jié)點相關聯(lián)中的每一個相關聯(lián)的多個下一跳節(jié) 點;其中使用來自于1類節(jié)點和2類節(jié)點的鏈路狀態(tài)信息和業(yè)務測量信息來確定包括與1類節(jié)點之一相關聯(lián)的1類路由表的多個1類路由表, 以基本上協(xié)同的方式在整體上確定用于1類節(jié)點的1類路由表。
全文摘要
本發(fā)明包括用于確定在網(wǎng)絡中使用的路由表的方法和設備,該網(wǎng)絡包括多個1類節(jié)點和多個2類節(jié)點,所述2類節(jié)點使用相應的2類路由表,所述2類路由表具有與網(wǎng)絡的多個目的地節(jié)點中的每一個相關聯(lián)的一個下一跳節(jié)點。本方法包括從1類節(jié)點和2類節(jié)點獲得與網(wǎng)絡的多個鏈路中的每一個相關聯(lián)的鏈路狀態(tài)信息,從1類節(jié)點和2類節(jié)點獲得業(yè)務測量信息,以及使用鏈路狀態(tài)和業(yè)務測量信息確定用于相應的1類節(jié)點的1類路由表。以基本上協(xié)同的方式在整體上確定1類路由表,并且每個1類路由表包括與目的地節(jié)點中的每一個相關聯(lián)的多個下一跳節(jié)點。
文檔編號H04L12/56GK101416455SQ200780011941
公開日2009年4月22日 申請日期2007年3月19日 優(yōu)先權日2006年3月30日
發(fā)明者M·S·科迪亞拉姆, S·阿加瓦爾, T·V·拉克什曼 申請人:盧森特技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1