專利名稱:用于柔性帶寬分配的方法和設備的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡技術。更具體而言,本發(fā)明涉及網(wǎng)絡中的資源分配。
背景技術:
服務供應商可以選擇執(zhí)行可用于用戶的不同等級的服務,這些服務通常具有相應的價格差異。例如,某些用戶可能需要比其他用戶相對更高的數(shù)據(jù)傳輸速率,并且愿意為能夠提供這種傳輸速率的更高服務質量(“QoS”)支付額外費用。而其他用戶可能希望對于某些服務(例如語音)接收較高QoS,而對于其他服務(例如非關鍵性數(shù)據(jù))接收較低QoS。服務供應商通?;诜峙浣o不同級別用戶的配置文件來區(qū)分這些用戶。
通常,用戶對網(wǎng)絡資源的用量是通過測量用戶流量在被提交到服務供應商的網(wǎng)絡時所消耗的帶寬量而被測量或限制的。術語“承諾信息速率”(“CIR”)通常被用于指代在某段時間內測量出的能夠被特定用戶所消耗的最大帶寬量。為了允許被提交到網(wǎng)絡的流量流中的波動,還可以定義可允許的“突發(fā)度(burstiness)”。這通常被稱為“峰值信息速率”(“PIR”)。IETF注釋請求2697“A Single Rate Three Color Marker”和IETF注釋請求2698“A Two Rate Three Color Marker”描述了示例性的CIR和PIR,這里為了所有目的通過引用將它們結合于此。
由用戶提交到服務供應商的流量的帶寬(即位數(shù)/秒)被用作對該流量穿過服務供應商的網(wǎng)絡時將消耗的網(wǎng)絡資源量的代理。網(wǎng)絡資源可以包括諸如緩沖、CPU周期、存儲器、CAM條目等的項。
用戶可能具有用于各種類型信息(例如語音、視頻、數(shù)據(jù)等)的聚合CIR和單獨的“粒狀”CIR和/或PIR。例如,一個特定用戶可能具有10Mb/s聚合CIR,其中包括2Mb/s用于語音的粒狀CIR、3Mb/s用于數(shù)據(jù)的粒狀CIR和5Mb/s用于視頻信息的粒狀CIR。
所有這些類型的信息都將可能出現(xiàn)“突發(fā)”,這種“突發(fā)”意味著在某段時間無信息傳輸,而在其他時間需要傳輸大量信息。為了調節(jié)突發(fā)流量,網(wǎng)絡管理員需要確保網(wǎng)絡資源以公平而可預測的方式被分配,即,一個用戶的流量突發(fā)不應該限制由另一用戶提交的符合已分配給該用戶的資源水平的流量流。
但是,鑒于一旦錯過發(fā)送數(shù)據(jù)的機會,就無法再挽回,因此網(wǎng)絡資源可以被看作“易腐爛的”量。
因此服務供應商被兩個矛盾的力所驅動。第一個是確保資源被公平分割的需求。第二個是使可用網(wǎng)絡資源的利用率最大化的需求,這可以關聯(lián)到可能的收入機會。挑戰(zhàn)在于,允許某些用戶所提交流量的量突發(fā),而同時確保其他用戶在選擇發(fā)送流量的情況下不會因缺乏資源而感到“饑餓”。
用于調節(jié)和調整突發(fā)流量模式的常用方法是通過利用“令牌桶”分類數(shù)據(jù)分組而實現(xiàn)的。這里所使用的術語“分組”、“幀”等將被一般地用于指代極小的信息單元,并且不應該被理解為僅僅指代一個特定的協(xié)議、層等等。圖1示出了令牌桶180,該令牌桶被用于判斷數(shù)據(jù)分組是“符合”還是“不符合”指定參數(shù)。例如,被分類為“符合”的分組可以被傳輸?shù)狡湎胍サ哪康牡?。而被分類為“不符合”的分組可能根據(jù)特定實現(xiàn)方式和服務定義而被丟棄或被給予更低等級的服務。
令牌185可以被看作對發(fā)送預定數(shù)據(jù)單元的授權;因此,令牌通常以位或字節(jié)為單位而被測量。在圖1中被表示為水滴的令牌185以固定速率R流入令牌桶180,所述速率R以每時間單位中的數(shù)據(jù)單元(例如位或字節(jié)每秒)為單位而被測量。在該示例中,令牌桶180的容量或容積V為190個數(shù)據(jù)單元。容積V與可以被發(fā)送并仍舊符合令牌桶180的最大數(shù)據(jù)突發(fā)有關。
通常,一個或多個令牌桶被用于加強每個帶寬分布特性。然后,可以使特定的流量流經(jīng)歷特定的帶寬分布特性。從而,一個或多個令牌桶被用于加強用于每個流量流的帶寬分布特性。CIR是帶寬分布特性的一個屬性,并與用戶在一個長時間段內可以發(fā)送的流量的量有關,并且是所有分組都必須符合的。例如,一個令牌桶可以與用于語音信息的一個CIR關聯(lián)使用,而另一令牌桶可以與用于數(shù)據(jù)的一個CIR關聯(lián)使用。其他令牌桶例如可以與用于每種類型信息的PIR相關聯(lián)。
分組根據(jù)它們是符合的,還是不符合的而被分類。在某些優(yōu)選實施例中,分組根據(jù)例如在上述IETF注釋請求中實現(xiàn)的顏色方案(紅、黃和綠)而被分配。但是,可以使用任何適當?shù)姆诸惙桨浮?br>
例如,假設在緩沖器195中等待發(fā)送的下一數(shù)據(jù)分組196的大小為b個數(shù)據(jù)單元,其中V>b。如果令牌桶180已滿,則數(shù)據(jù)分組196是“符合的”分組。根據(jù)某些實現(xiàn)方式,數(shù)據(jù)分組196將被標記為“綠色”以指示它是符合的分組。例如,當令牌桶180包含至少用于b個數(shù)據(jù)單元的令牌時,將得到同樣的結果。一旦已經(jīng)確定分組是符合的,就從令牌桶180中去掉b個令牌185。
但是,如果令牌桶180包含的令牌不夠用于b個數(shù)據(jù)單元,則數(shù)據(jù)分組196是不符合的。根據(jù)某些實施例,不符合的數(shù)據(jù)分組196可以利用另一顏色(例如黃或紅)來標記。
根據(jù)特定實現(xiàn)方式,符合和不符合的數(shù)據(jù)分組可以以各種方式來對待。例如,符合的數(shù)據(jù)分組196可以立即被發(fā)送,而不符合的分組可以被丟棄。
通常,如果用戶沒在發(fā)送數(shù)據(jù),令牌桶180則會在相對較短的時間內(例如在秒的數(shù)量級上)達到它的容量190。在令牌桶180到達其容量190之后,額外的新令牌(現(xiàn)在被稱為超額令牌)被丟棄。這些丟棄的令牌代表未被使用的網(wǎng)絡資源。以更有效的方式分配用戶的總CIR將是希望看到的。而且,在某些示例中,還希望將一個用戶未使用的帶寬柔性地分配給另一用戶或同一用戶的另一服務。
發(fā)明內容
本發(fā)明提供了用于以柔性方式分配網(wǎng)絡資源的方法和設備。在某些實現(xiàn)方式中,用戶用于特定類型服務的未被使用的資源被分配給另一類型的服務。在其他實現(xiàn)方式中,第一用戶的未被使用的資源被分配給第二用戶,例如以此交換對第一用戶的相對較低的服務費用。未被使用的帶寬可以在分層的或不分層的基礎上被分配。在優(yōu)選實施例中,使用令牌桶方法來分配資源。優(yōu)選地,高優(yōu)先級的資源不會被分配方案所損害。共享資源或帶寬的規(guī)則或方式可以以靜態(tài)方式指定,或者可以使用關于網(wǎng)絡中擁塞狀態(tài)的信息來生成動態(tài)(隨時間變化)規(guī)范。
本發(fā)明的某些實現(xiàn)方式提供了一種在計算機網(wǎng)絡中分配資源(例如帶寬、緩沖區(qū)空間、存儲器、CPU周期等)的方法。該方法包括以下步驟確定第一時間,該第一時間是控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌的時間;以及在第一時間之后,將超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。
第一令牌桶可以具有第一容量,第二令牌桶可以具有第二容量,并且第二容量可以在第一時間之后增大。所述第一帶寬分配和第二帶寬分配可以都專用于單個用戶??商鎿Q地,所述第一帶寬分配可以專用于第一用戶,而所述第二帶寬分配可以專用于第二用戶。
該方法還可以包括以下步驟確定第二時間,該第二時間是第二令牌桶幾乎充滿第二令牌和超額的第一令牌的時間;以及在第二時間之后,將超額的第二令牌分配到控制第三帶寬分配的第三令牌桶。
所述第一帶寬分配和第二帶寬分配可以都包括承諾信息速率和/或峰值信息速率。所述第一令牌桶和第二令牌桶可以是顏色感知令牌桶。
該方法還可以包括以下步驟確定第二時間,該第二時間是第二令牌桶幾乎充滿第二令牌,并且第一令牌桶未充滿第一令牌的時間;以及在第二時間之后,將額外的第二令牌分配到第一令牌桶。第一令牌桶可以具有第一容量,第二令牌桶可以具有第二容量,并且第一容量在第二時間之后增大。
在計算機網(wǎng)絡中分配帶寬的替換方法包括以下步驟確定被添加到控制第一帶寬分配的第一令牌桶的第一令牌將是超額的第一令牌;并且將所述超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。
在計算機網(wǎng)絡中分配帶寬的其他方法包括以下步驟確定控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌;確定網(wǎng)絡擁塞的狀態(tài);并且當所述網(wǎng)絡擁塞的狀態(tài)在可接受的水平上時,將額外的第一令牌分配到控制第二帶寬分配的第二令牌桶。該方法還可以包括以下步驟當網(wǎng)絡擁塞的狀態(tài)不在可接受的水平上時,將少于全部額外的第一令牌的額外第一令牌分配到第二令牌桶。
本發(fā)明的某些實施例提供了一種包含在機器可讀介質中的計算機程序。該計算機程序控制網(wǎng)絡設備執(zhí)行以下步驟確定第一時間,該第一時間是控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌的時間;以及在所述第一時間之后,將超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。所述第一令牌桶和第二令牌桶可以是顏色感知令牌桶。
所述第一帶寬分配和第二帶寬分配可以都專用于單個用戶。可替換地,所述第一帶寬分配可以專用于第一用戶,而所述第二帶寬分配可以專用于第二用戶。所述第一帶寬分配和第二帶寬分配可以都包括承諾信息速率和/或峰值信息速率。
該計算機程序還可以控制網(wǎng)絡設備執(zhí)行以下步驟確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌和超額的第一令牌的時間;以及在所述第二時間之后,將超額的第二令牌分配到控制第三帶寬分配的第三令牌桶。
該計算機程序還可以控制網(wǎng)絡設備執(zhí)行以下步驟確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌,并且所述第一令牌桶未充滿第一令牌的時間;以及在所述第二時間之后,將額外的第二令牌分配到所述第一令牌桶。
本發(fā)明的替換實施例提供了一種用于在計算機網(wǎng)絡中分配帶寬的網(wǎng)絡設備。該網(wǎng)絡設備被配置為執(zhí)行以下步驟確定控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌;確定網(wǎng)絡擁塞的狀態(tài);并且當所述網(wǎng)絡擁塞的狀態(tài)在可接受的水平上時,將額外的第一令牌分配到控制第二帶寬分配的第二令牌桶。
圖1示出了令牌桶。
圖2示出了網(wǎng)絡。
圖3示出了分配帶寬的分層式方法。
圖4示出了承諾信息速率的令牌桶和峰值信息速率的令牌桶。
圖5的流程圖示出了分類分組的3色方法。
圖5A的流程圖示出了用于處理已根據(jù)3色分類方案被標記的分組的顏色感知方法。
圖6示出了一種實現(xiàn)方式,其中每種類型的服務由一個承諾信息速率令牌桶和一個峰值信息速率令牌桶控制。
圖7示出了用于共享資源的一般性實現(xiàn)方式。
圖8示出了可被配置用于實現(xiàn)本發(fā)明的某些方法的網(wǎng)絡設備的示例。
具體實施例方式
在以下描述中,提出了多個具體細節(jié),以便對本發(fā)明提供全面理解。但是,本領域技術人員顯而易見,在無需這些具體細節(jié)中的一些或全部的情況下也可以實施本發(fā)明。在其他示例中,沒有詳細描述公知的過程步驟,以免不必要地模糊本發(fā)明。
圖2示出了數(shù)據(jù)網(wǎng)絡205,它可以是任意類型的網(wǎng)絡,包括有線網(wǎng)絡、TCP/IP網(wǎng)絡、光纖信道網(wǎng)絡等等。在本示例中,信息在網(wǎng)絡設備210(例如位于Philadelphia)和網(wǎng)絡設備215與220(例如分別位于Hoboken和Washington)之間傳播。
網(wǎng)絡205可以在同一物理接口上提供多種服務,例如用于語音信息225和視頻信息230。為了提供用于分配網(wǎng)絡資源和用于對這些資源計費的基礎,服務供應商可以基于每種服務或每個用戶來實現(xiàn)某種形式的帶寬整形和/或策略。例如,服務通常是根據(jù)一個或多個帶寬分布特性來提供的,而所述帶寬分布特性使用上述令牌桶方法被加強。令牌桶例如可以在與網(wǎng)絡設備210相關聯(lián)的硬件和/或軟件中被實現(xiàn)。這里,在Washington的用戶A,語音信息225被分配了1Mb/s的固定CIR,而視頻信息230被分配了4Mb/s的固定CIR,從而總CIR為5Mb/s。在Hoboken的用戶B被保證用于各種類型信息的10Mb/s的總CIR。
網(wǎng)絡設備210需要能夠將信息引導至合適的用戶。一般,這通過利用數(shù)據(jù)分組頭部中的目的地地址加以協(xié)助。信息可以在任意便利的層(例如第2或3層)中被編碼。
在本示例中,在位置210和用戶B之間的流量比在位置210和用戶A之間的流量相對更多。但是,現(xiàn)有技術的方法沒有提供用于從用戶A向用戶B分配超額帶寬的便利方法。類似地,用戶A的視頻流量與用戶A的語音流量相比相對更重。同樣,現(xiàn)有方法也沒有提供用于從用戶A的用于語音信息的CIR向用戶A的用于視頻信息的CIR分配超額帶寬的便利方法。此外,在相對較短的時間段內,每種類型(例如語音和視頻)的流量的相對量可能波動。因此,提供資源固定(靜態(tài))分配的任意方案都將是次優(yōu)的。因此,本發(fā)明提供了用于在多種類型服務和/或用戶之間柔性(就是說,在短時間段內動態(tài)變化)分配帶寬的方法和設備。
圖3示出了一種用于柔性帶寬分配的方法。在該示例中,帶寬根據(jù)預定的分層結構被柔性地分配。在本示例中,令牌桶305控制第一類型的服務(例如語音信息),令牌桶325控制第二類型的服務(例如關鍵業(yè)務數(shù)據(jù)),而令牌桶355控制第三類型的服務(例如盡力而為型數(shù)據(jù))。如下面將更詳細描述的,令牌桶的數(shù)量和類型、服務的類型等等純粹是示例性的。
令牌301以速率R1流入令牌桶305,并且不時地被第一類型服務的流量T1所消耗。但是,將存在其間很少或沒有流量T1存在的時間。在這些時間,當令牌桶305充滿時,超額令牌310以(R1-T1)的大致平均速率被轉移或“贈送”到另一令牌桶中。在本示例中,超額令牌310被轉移到令牌桶325中,并使其可以被第二類型的服務所用。一旦令牌被放置在令牌桶中,它就只能通過分組測量所涉及的處理而被從該令牌桶中去除。因此,只有超額令牌會被轉移到另一令牌桶中。
同樣,令牌321以速率R2流入令牌桶325,并且不時地被第二類型服務的流量T2所消耗。但是,當很少或沒有流量T2存在時,超額令牌340將被贈送給另一令牌桶。在本示例中,超額令牌340被贈送給令牌桶355,并使其可以被第三類型的服務所用。由于令牌桶325還正在接收來自令牌桶305的超額令牌310,因此超額令牌340以(R1+R2-T1-T2)的大致平均速率被贈送給令牌桶355。
根據(jù)上述實現(xiàn)方式,存在對超額令牌的分層式分發(fā)。在某些這樣的實現(xiàn)方式中,超額令牌將被從控制較高優(yōu)先級服務的令牌桶贈送給控制較低優(yōu)先級服務的令牌桶。但是,超額令牌可以以任何便利的方式被分發(fā)。例如,在其他實現(xiàn)方式中,超額令牌310只被轉移到令牌桶355。在另外其他實現(xiàn)方式中,超額令牌310中的一些被贈送給令牌桶325,而其余被贈送給令牌桶355。更一般地,來自任意令牌桶的超額令牌中的一些或全部可以被轉移到任意其他的令牌桶。
在優(yōu)先實現(xiàn)方式中,只有當“捐贈者”令牌桶已滿,或至少幾乎已滿時,令牌才被分類為“超額”令牌。這避免了由捐贈者令牌桶控制的服務中的任意惡化。在本示例中,只有當令牌桶305已滿時,令牌310才被分類為“超額的”,并使其可以被一個或多個其他的令牌桶所用。因此,當流量T1再次開始時,令牌桶305將處于與在令牌310未被贈送給其他令牌桶的情況下它將具有的狀況相同的狀況令牌桶305將處于容量滿的狀態(tài),并處在以速率R1被重新填充的過程中。類似地,只有在令牌桶355已滿時,令牌340才能被其他令牌桶所用。
優(yōu)選地,根據(jù)本發(fā)明接收到超額令牌的任意令牌桶的容量是柔性的,以便容納超額令牌310。在圖3所示的示例中,令牌桶325正在接收超額令牌310,從而V2優(yōu)選是可變的。在一個這樣的實現(xiàn)方式中,當令牌桶325接收到超額令牌310時,令牌桶325的容量增大V1,即令牌桶305的容量。根據(jù)某些實現(xiàn)方式,令牌桶的容量可以隨時間變化(例如一天中的時間和/或一星期中的天)。根據(jù)其他實現(xiàn)方式,令牌桶的容量可以響應于網(wǎng)絡利用率的狀態(tài)而變化。
根據(jù)某些實現(xiàn)方式,為了判斷令牌桶325中的令牌是否超額,我們保持跟蹤桶中的不同種類的令牌。令V=X+Y,其中X是用于本地令牌的容量,而Y是用于被贈送令牌的容量。如果桶中存在X個本地令牌,則新的本地令牌是超額的,如果桶中存在Y個被贈送令牌,則新的被贈送令牌是超額的。每次分組被發(fā)送時,如果可獲得被贈送令牌,則被贈送令牌減1。根據(jù)這樣的實現(xiàn)方式,當T1繁重時,令牌桶325具有容量X,而當T1緩慢時,令牌桶325具有容量X+Y。例如,如果流量T2是突發(fā)性的,則這樣的實現(xiàn)方式是有利的。
如上所述,本發(fā)明的某些實現(xiàn)方式使用多色令牌桶方案,它可以是在RFC 2698等中所描述的類型。參考圖1所描述的令牌桶可以被看作2色的令牌桶,其中符合的令牌被分類為一種顏色(例如綠色),而不符合的令牌被分類為另一種顏色(例如紅色)。但是,可以采用任意顏色數(shù)目的分類。
現(xiàn)在將參考圖4到6來描述3色令牌桶方案。圖4示出了PIR令牌桶405和CIR令牌桶420,在本示例中,這兩者都被用于控制一種特定服務。PIR令牌桶405以速率410被填充,并具有容量415。CIR令牌桶420以速率425被填充,并具有容量430,該容量小于容量415。
圖5的流程圖示出了采用PIR令牌桶405和CIR令牌桶420的3色分類過程。在步驟510中,具有b個數(shù)據(jù)單元(例如字節(jié))的分組到達。在步驟515中,利用PIR令牌桶來測試該分組。如果該分組不符合PIR桶,則在步驟520中將該分組分類為“紅色”,并據(jù)此處理分組。例如,分組可以被立即丟棄。
如果該分組符合PIR桶,則在步驟530中,利用CIR令牌桶來測試該分組。如果該分組符合CIR令牌桶,則在步驟535中將分組分類為“綠色”,并據(jù)此處理分組(例如發(fā)送分組)。從PIR和CIR令牌桶中減去對應于b個數(shù)據(jù)單元的令牌。如果確定該分組不符合CIR令牌桶,則在步驟540中將該分組分類為“黃色”,并據(jù)此處理分組。根據(jù)優(yōu)選實施例,從PIR令牌桶405中減去b個令牌。
根據(jù)本發(fā)明的某些實現(xiàn)方式,分組在位于網(wǎng)絡一個部分中的第一設備中被分類和顏色編碼,并被位于網(wǎng)絡另一部分中的第二“下游”顏色感知設備所處理。圖5A的流程圖概括示出可以被“下游”顏色感知設備用于應對3色方案的過程。在步驟550中,經(jīng)顏色編碼的分組到達,顏色編碼信息例如可以被包括在分組的頭部中。
在步驟555中,經(jīng)顏色編碼的分組被PIR令牌桶所測試。如果該分組被標記為紅色,則它在步驟560中將其分類為紅色分組,并據(jù)此處理分組(例如丟棄分組)。如果分組沒有被標記為紅色,但是分組不符合PIR桶(分組大小超過PIR桶中的令牌數(shù)目),則在步驟560中,將該分組分類為紅色分組。
在步驟565中,經(jīng)顏色編碼的分組被CIR令牌桶所測試。如果分組被標記為黃色,則它在步驟570中將其分類為黃色分組,并據(jù)此處理分組。根據(jù)優(yōu)選實施例,從PIR令牌桶405中減去b個令牌。如果分組沒有被標記為黃色,但是分組不符合CIR桶(分組大小超過CIR桶中的令牌數(shù)目),則在步驟570中將分組分類為黃色分組,并從PIR令牌桶405中減去b個令牌。否則,在步驟575中將分組標記為綠色,并從PIR令牌桶405和CIR令牌桶420中都減去b個令牌。
一般而言,服務供應商無法依賴用戶以可靠方式“著色”它們的分組。因此,在本發(fā)明的優(yōu)選實現(xiàn)方式中,服務供應商將“著色”分組。分組在到達它的最終目的地之前可能穿越多個下游服務供應商。因此,分組可能在其被第一服務供應商監(jiān)管之后被“著色”。這可以在分組交換機中的線路卡或諸如ASIC之類的集中資源中完成。
當分組到達下游服務供應商時,下游服務供應商可能與第一服務供應商之間具有關于“顏色”標記的含義和可靠性的協(xié)議。下游服務供應商現(xiàn)在可以以“顏色感知”模式監(jiān)控分組。這可以在位于下游服務供應商的網(wǎng)絡邊緣的分組交換機中的線路卡或中央資源中完成。
顏色感知測量儀可以被第二服務供應商用于向第一服務供應商提供服務。第一服務供應商已標記了來自其用戶的分組,并正在從第二服務供應商購買資源。第二服務供應商使用顏色感知測量儀來確保第一服務供應商只獲得已付費的資源,而同時確保符合的(綠色)原始用戶被賦予高質量的處理。
圖6示出了具有參考圖4和5描述的類型的3色令牌桶方案的示例。該方法被用于服務類型605、610和615,它們可以是任意類型的服務。例如,服務605可以是關鍵業(yè)務數(shù)據(jù),服務610可以是視頻,而服務615可以是盡力而為型數(shù)據(jù)。
但是,在本示例中,服務類型605被具有PIR 625的PIR令牌桶620和具有CIR 635的CIR令牌桶630所控制。優(yōu)選地,當PIR令牌桶620已滿或幾乎滿時,來自PIR令牌桶620的超額令牌640可以被贈送給其他的PIR令牌桶。這里,超額令牌640僅被贈送給PIR令牌桶645,而來自PIR令牌桶645的超額令牌僅被贈送給令牌桶675。此外,來自令牌桶675的超額令牌被丟棄。
在本實現(xiàn)方式中,用于每種服務類型的CIR令牌桶與用于該服務類型的PIR令牌桶獨立地進行操作。優(yōu)選地,當CIR令牌桶630已滿或幾乎滿時,來自CIR令牌桶630的超額令牌655可以被贈送給其他CIR令牌桶。這里,超額令牌655僅被贈送給CIR令牌桶660,而來自CIR令牌桶660的超額令牌僅被贈送給令牌桶685。來自令牌桶685的超額令牌被丟棄。
但是,本發(fā)明的方法可以應用于任意數(shù)目的顏色和任意數(shù)目的服務類型。此外,如上所述,超額令牌的贈送過程不一定是分層的。例如,來自令牌桶675和685的超額令牌可以被贈送給用于服務類型605和/或610的相應令牌桶。超額令牌670可以被贈送給令牌桶620,而超額令牌680可以被贈送給令牌桶630。超額令牌640可以被至少部分地直接贈送給令牌桶675。類似地,超額令牌655可以被至少部分地直接贈送給令牌桶685。
令牌可以被看作對由特定服務或用戶使用網(wǎng)絡資源的授權。因此,令牌最初被服務供應商創(chuàng)建或賦予。本發(fā)明描述了在多個令牌桶之間重分配或轉移超額令牌的后續(xù)過程。參與重分配方案的令牌桶可以形成多種拓撲,例如多層的分層結構、有向圖等等。在一般情況下,鑒于超額令牌可能以該令牌沿其路徑折回的方式從一個令牌桶轉移到另一令牌桶,因此在令牌桶之間重分配超額令牌的拓撲可能構成循環(huán)。就是說,令牌可能由于路徑中的所有令牌桶都已滿而因此返回到該令牌之前從其轉移出去的那個令牌桶。這會導致超額令牌無窮多次地“按其原路徑折回”。在一個實施例中,為了避免這種無休止的循環(huán),當創(chuàng)建每個令牌時,為該令牌附上計數(shù)器。該計數(shù)器最初例如可以被設置為零。如果該令牌是超額令牌,則在每次該超額令牌被從一個令牌桶轉移到另一另牌桶時,該計數(shù)器被加1。當計數(shù)器達到數(shù)目I(該值是可配置的)時,該超額令牌被丟棄。因此,避免了超額令牌無休止地循環(huán)的可能性。
圖7示出了本發(fā)明的多色實現(xiàn)方式。這里,N個測量儀被用于控制N種類型服務的帶寬分配,其中N可以是任何便利的正整數(shù)。所述測量儀可以是令牌桶,但是也可以是任意適當類型的測量設備,例如與銀行相關聯(lián)的信用額度。
N個測量儀中的每一個都使用M色分類方案,其中M是任何便利的正整數(shù)。N個測量儀中的任意一個都可以向任意其他的測量儀贈送超額測量資源(例如令牌)。但是,優(yōu)選地,如上所述,測量資源中的每一個都是被隔離的。如上述優(yōu)選實施例之一所描述的,該隔離過程與使超額CIR令牌僅被贈送給其他CIR令牌桶以及使超額PIR令牌僅被贈送給其他PIR令牌桶的過程是平行的。
一般,本發(fā)明的技術可以在軟件和/或硬件上實現(xiàn)。例如,它們可以被實現(xiàn)在操作系統(tǒng)內核中、分離的用戶進程中、綁定到網(wǎng)絡應用的庫程序包中、專門構建的機器上或網(wǎng)絡接口卡上。在本發(fā)明的特定實施例中,本發(fā)明的技術被實現(xiàn)在諸如操作系統(tǒng)之類的軟件中,或運行在操作系統(tǒng)上的應用程序中。
本發(fā)明的技術的軟件或軟件/硬件混合實現(xiàn)方式可以被實現(xiàn)在通用可編程機器上,該通用可編程機器可以被存儲在存儲器中的計算機程序來有選擇地激活或重配置。這樣的可編程機器可以是被設計用于處理網(wǎng)絡流量的網(wǎng)絡設備,例如路由器或交換機。這樣的網(wǎng)絡設備可以具有多個網(wǎng)絡接口,例如包括幀中繼和ISDN接口。這種網(wǎng)絡設備的具體示例包括路由器和交換機。對于這些機器中的某些的一般體系結構將從以下給出的描述中顯現(xiàn)出來。在可替換的實施例中,本發(fā)明的技術可以被實現(xiàn)在諸如個人計算機或工作站之類的通用網(wǎng)絡主機機器上。此外,本發(fā)明可以至少部分地實現(xiàn)在用于網(wǎng)絡設備或通用計算設備的卡(例如接口卡)上。
現(xiàn)在參考圖8,適用于實現(xiàn)本發(fā)明的某些技術的網(wǎng)絡設備860包括主中央處理單元(CPU)862、接口868和總線867(例如PCI總線)。
一般,接口868包括適合于與適當介質通信的端口869。在某些實施例中,一個或多個接口868包括至少一個獨立的處理器874,并在某些示例中,還包括易失性RAM。獨立處理器874例如可以是ASIC或任意其他適當?shù)奶幚砥?。根?jù)某些這樣的實施例,這些獨立處理器874執(zhí)行這里所述邏輯功能中的至少一些。在某些實施例中,一個或多個接口868控制諸如媒體控制和管理之類的通信密集型任務。通過提供用于通信密集型任務的分離處理器,接口868允許主微處理器862有效地執(zhí)行其他功能,例如路由計算、網(wǎng)絡診斷、安全性功能等等。
接口868通常提供為接口卡(有時被稱為“線路卡”)。一般,接口868控制網(wǎng)絡上數(shù)據(jù)分組的發(fā)送和接收,并有時支持網(wǎng)絡設備860所使用的其他外設。在可以提供的接口中包括FC接口、以太網(wǎng)接口、幀中繼接口、電纜接口、DSL接口、令牌環(huán)接口等等。另外,可以提供各種甚高速接口,例如快速以太網(wǎng)接口、千兆位以太網(wǎng)接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口等等。
當在適當軟件或固件的控制下動作時,在本發(fā)明的某些實現(xiàn)方式中,CPU 862可以負責實現(xiàn)與所需網(wǎng)絡設備的功能相關聯(lián)的具體功能。根據(jù)某些實施例,CPU 862在包括操作系統(tǒng)(例如Windows NT)和任意適當?shù)膽密浖趦鹊能浖刂葡?,實現(xiàn)所有這些功能。
CPU 862可以包括一個或多個處理器863,例如來自Motorola微處理器族的處理器或來自MIPS微處理器族的處理器。在可替換的實施例中,處理器863是被特別設計的用于控制網(wǎng)絡設備860的操作的硬件。在特定實施例中,存儲器861(例如非易失性RAM和/或ROM)也構成CPU862的一部分。但是,存儲器可以以很多不同方式被耦合到系統(tǒng)。存儲器塊861可以被用于各種目的,例如緩存和/或存儲數(shù)據(jù)、對指令編程等。
無論網(wǎng)絡設備的配置怎樣,它都可以采用一個或多個存儲器或存儲器模塊(例如存儲器塊865),這一個或多個存儲器或存儲器模塊被配置用于存儲數(shù)據(jù)、用于通用網(wǎng)絡操作的程序指令和/或其他關于這里所述技術的功能的信息。程序指令例如可以控制操作系統(tǒng)和/或一個或多個應用的操作。
因為可以采用這樣的信息和程序指令來實現(xiàn)這里所述的系統(tǒng)/方法,因此本發(fā)明涉及包括用于執(zhí)行這里所述各種操作的程序指令、狀態(tài)信息等的機器可讀介質。機器可讀介質的示例包括,但不局限于諸如硬盤、軟件和磁帶之類的磁介質;諸如CD-ROM盤之類的光介質;磁光介質;和被特別配置以用于存儲和執(zhí)行程序指令的硬件設備,例如只讀存儲器設備(ROM)和隨機訪問存儲器(RAM)。本發(fā)明還可以被包含在通過適當介質傳播的載波中,例如無線電波、光線路、電線路等等。程序指令的示例既包括諸如編譯器生成的機器碼,又包括包含可以由計算機通過使用解釋器執(zhí)行的更高級代碼的文件。
雖然圖8所示的系統(tǒng)示出了本發(fā)明的一個特定網(wǎng)絡設備,但是它決不是可以實現(xiàn)本發(fā)明的唯一網(wǎng)絡設備體系結構。例如,經(jīng)常使用具有處理通信和路由計算等的單個處理器的體系結構。
用于實現(xiàn)本發(fā)明的測量儀可以是系統(tǒng)中的集中功能,如圖8所示,或者也可以是分布式的(例如在每個接口和/或線路卡上)。在某些實施例中,測量功能被實現(xiàn)為專用微代碼引擎和/或ASIC中的硬線邏輯。
此外,其他類型的接口和介質也可以被用于該網(wǎng)絡設備。接口/線路卡之間的通信路徑可以是基于總線的(如圖8所示),也可以是基于交換構架的(例如交叉構架)。
其他實施例雖然這里示出并描述了本發(fā)明的示例性實施例和應用,但是可以進行很多落入本發(fā)明的概念、范圍和精神內的變化和修改,并且這些變化將被本領域普通技術人員閱讀本申請之后所獲知。
例如,上述某些實施例在多層分層結構的每個層次上僅包括一個對網(wǎng)絡資源的請求者。但是,在每個層次上具有多個請求者也是可能的。當令牌溢出層次N上的令牌桶時,可能在層次N+1上將這些令牌分配給多個請求者。用于分配超額令牌的邏輯可以基于多個方案中的任意一個,例如輪叫或加權輪叫(例如兩個用于請求者X,一個用于請求者Y)。類似地,如果令牌在層次N+1上的多個令牌桶中的任意一個令牌桶溢出,則這些令牌可以溢出到層次N+2上的多個桶。令牌從一個層次流到另一層次的方式可以以繼承鏈(例如作為樹狀結構)來描述。在該樹中,并非層次N上的所有請求者都必須“繼承”來自同一父親、祖父等的令牌。
此外,還可以使用顏色感知資源共享方案,該方案對標記了不同顏色的分組應用不同的處理。例如,溢出“綠色”桶的令牌可能被提供到“黃色”桶,黃色到紅色,以此類推。在一個這樣的實現(xiàn)方式中,到達的綠色幀將首先從綠色桶搜索令牌。如果未獲得任何令牌,則該幀將從“黃色”桶搜索令牌。如果獲得了足夠令牌,該幀則將被標記為黃色。但是,到達的黃色幀將從黃色桶中搜索令牌。如果未獲得任何令牌,則將從紅色桶搜索令牌,以此類推。
本發(fā)明的其他實現(xiàn)方式可以使用其他類型的測量算法來控制帶寬分布特性。例如,某些實現(xiàn)方式使用類似于在異步傳輸模式(“ATM”)中使用的“漏桶”。令牌以恒定速率從桶中漏出。在每次發(fā)送分組時,將令牌放置到桶中,除非桶溢出。將導致溢出的分組是不符合的。
本發(fā)明的另一實施方式使用諸如SMDS所使用的“證書管理器”算法。證書管理器與令牌桶很相似,但是使用證書來取代令牌。另一實現(xiàn)方式使用類似于“幀中繼”的證書方案,該方案用于例如對蜂窩電話的使用提供時間間隔證書。在幀中繼系統(tǒng)中,在時間間隔結尾處未被使用的證書被丟棄。
本發(fā)明的某些實現(xiàn)方式并入了對網(wǎng)絡狀態(tài)的反饋,以便改變令牌溢出方式(速率、令牌接收者等)。例如,如果網(wǎng)絡經(jīng)歷擁塞,則有可能令牌溢出分層結構中的某個層次。當擁塞事件過去時,令牌可以繼續(xù)溢出到其他或所有層次??商鎿Q地,關于網(wǎng)絡擁塞的反饋可以致使被贈送到其他令牌桶的令牌流中發(fā)生改變(例如減少)。從網(wǎng)絡獲得反饋的方法可以根據(jù)本領域公知的任意方法,例如基于往返時間、窗口尺寸等的方法。
因此,本實施例將被看作示例性的而非限制性的,并且本發(fā)明并不局限于這里給出的細節(jié),而是可以在所附權利要求書的范圍和等同物內被修改。
權利要求
1.一種在計算機網(wǎng)絡中分配帶寬的方法,該方法包括確定第一時間,該第一時間是控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌的時間;以及在所述第一時間之后,將超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。
2.如權利要求1所述的方法,其中所述第一令牌桶具有第一容量;所述第二令牌桶具有第二容量;并且所述第二容量在所述第一時間之后增大。
3.如權利要求1所述的方法,其中所述第一帶寬分配和所述第二帶寬分配都專用于單個用戶。
4.如權利要求1所述的方法,其中所述第一帶寬分配專用于第一用戶,而所述第二帶寬分配專用于第二用戶。
5.如權利要求1所述的方法,還包括確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌和超額的第一令牌的時間;以及在所述第二時間之后,將超額的第二令牌分配到控制第三帶寬分配的第三令牌桶。
6.如權利要求1所述的方法,其中所述第一帶寬分配和所述第二帶寬分配都包括承諾信息速率。
7.如權利要求1所述的方法,其中所述第一帶寬分配和所述第二帶寬分配都包括峰值信息速率。
8.如權利要求1所述的方法,其中所述第一令牌桶和所述第二令牌桶都是顏色感知令牌桶。
9.如權利要求1所述的方法,還包括確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌,并且所述第一令牌桶未充滿第一令牌的時間;以及在所述第二時間之后,將額外的第二令牌分配到所述第一令牌桶。
10.如權利要求9所述的方法,其中所述第一令牌桶具有第一容量;所述第二令牌桶具有第二容量;并且所述第一容量在所述第二時間之后增大。
11.一種在計算機網(wǎng)絡中分配帶寬的方法,該方法包括確定被添加到控制第一帶寬分配的第一令牌桶的第一令牌將是超額的第一令牌;并且將所述超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。
12.一種在計算機網(wǎng)絡中分配帶寬的方法,該方法包括確定控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌;確定網(wǎng)絡擁塞的狀態(tài);并且當所述網(wǎng)絡擁塞的狀態(tài)在可接受的水平上時,將額外的第一令牌分配到控制第二帶寬分配的第二令牌桶。
13.如權利要求12所述的方法,還包括以下步驟當所述網(wǎng)絡擁塞的狀態(tài)不在可接受的水平上時,將少于全部額外的第一令牌的額外第一令牌分配到所述第二令牌桶。
14.一種包含在機器可讀介質中的計算機程序,該計算機程序控制網(wǎng)絡設備執(zhí)行以下步驟確定第一時間,該第一時間是控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌的時間;以及在所述第一時間之后,將超額的第一令牌分配到控制第二帶寬分配的第二令牌桶。
15.如權利要求14所述的計算機程序,其中所述第一帶寬分配和所述第二帶寬分配都專用于單個用戶。
16.如權利要求14所述的計算機程序,其中所述第一帶寬分配專用于第一用戶,而所述第二帶寬分配專用于第二用戶。
17.如權利要求14所述的計算機程序,所述計算機程序還控制所述網(wǎng)絡設備執(zhí)行以下步驟確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌和超額的第一令牌的時間;以及在所述第二時間之后,將超額的第二令牌分配到控制第三帶寬分配的第三令牌桶。
18.如權利要求14所述的計算機程序,其中所述第一帶寬分配和所述第二帶寬分配都包括承諾信息速率。
19.如權利要求14所述的計算機程序,其中所述第一帶寬分配和所述第二帶寬分配都包括峰值信息速率。
20.如權利要求14所述的計算機程序,其中所述第一令牌桶和所述第二令牌桶都是顏色感知令牌桶。
21.如權利要求14所述的計算機程序,所述計算機程序還控制所述網(wǎng)絡設備執(zhí)行以下步驟確定第二時間,該第二時間是所述第二令牌桶幾乎充滿第二令牌,并且所述第一令牌桶未充滿第一令牌的時間;以及在所述第二時間之后,將額外的第二令牌分配到所述第一令牌桶。
22.一種用于在計算機網(wǎng)絡中分配帶寬的網(wǎng)絡設備,該網(wǎng)絡設備被配置為執(zhí)行以下步驟確定控制第一帶寬分配的第一令牌桶幾乎充滿第一令牌;確定網(wǎng)絡擁塞的狀態(tài);并且當所述網(wǎng)絡擁塞的狀態(tài)在可接受的水平上時,將額外的第一令牌分配到控制第二帶寬分配的第二令牌桶。
全文摘要
本發(fā)明提供了用于以柔性方式分配網(wǎng)絡資源的方法和設備。在某些實現(xiàn)方式中,用戶用于特定類型服務的未被使用的資源被分配給另一類型的服務。在其他實現(xiàn)方式中,第一用戶的未被使用的資源被分配給第二用戶,例如以此交換對第一用戶的相對較低的服務費用。未被使用的帶寬可以在分層的或不分層的基礎上被分配。在優(yōu)選實施例中,使用令牌桶方法來分配資源。優(yōu)選地,高優(yōu)先級的資源不會被分配方案所損害。共享資源或帶寬的規(guī)則或方式可以以靜態(tài)方式指定,或者可以使用關于網(wǎng)絡中擁塞狀態(tài)的信息來生成動態(tài)(隨時間變化)規(guī)范。
文檔編號H04L12/56GK1781287SQ200480011279
公開日2006年5月31日 申請日期2004年6月7日 優(yōu)先權日2003年6月27日
發(fā)明者帕沙特·岡赫, 羅伯特·克斯戈, 柯德克·杜斯 申請人:思科技術公司