專利名稱:用于在基于分組的計算機網(wǎng)絡中速率整形的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種基于分組的計算機網(wǎng)絡,并尤其涉及一種控制基于分組的網(wǎng)絡內(nèi)的流量速率。
背景技術:
已知基于分組的網(wǎng)絡用于以突發(fā)發(fā)送數(shù)據(jù)。突發(fā)流量能夠?qū)е戮W(wǎng)絡擁塞并當輸入緩沖器滿時導致分組被丟棄。為了改善網(wǎng)絡的性能并提供可靠的服務質(zhì)量(QoS),有必要能夠控制網(wǎng)絡中不同位置處的流量至特定的期望速率。控制流量的兩種技術通常稱為速率整形和速率限制。速率整形包括當分組到達一個位置時緩沖分組,并然后根據(jù)給定的算法控制分組流離開緩沖器以滿足期望的速率。由于分組被緩沖,所以能夠接收分組的突發(fā),然后以可控的方式發(fā)送這些分組,從而不會丟棄進入的分組。速率限制包括測量到達一個位置的分組的速率,然后丟棄超出期望速率的分組。
一些用于實現(xiàn)速率整形或速率限制的公共算法包括熟知的漏桶和令牌桶算法。使用漏桶算法實現(xiàn)速率整形包括緩沖進入的分組然后以恒定的速率從緩沖器中發(fā)送這些分組,即漏速率(例如以字節(jié)/秒測量的)。例如,當接收大小為C(即,幾字節(jié))的分組時,在其被從緩沖器發(fā)送之前,在緩沖器中將該分組保持C時間周期/漏速率。但是如果緩沖器為空的,那么如漏速率所指示的傳輸容量變?yōu)槲词褂貌⑶也挥糜诶鄯e分組的后續(xù)突發(fā)。所以,當分組的新突發(fā)在無流量的周期之后到達緩沖器時,新分組仍將被緩沖并以漏速率進行發(fā)送。這種技術不能為考慮到基于分組的網(wǎng)絡流量的突發(fā)本質(zhì)而提供靈活性。
使用令牌桶算法用于速率整形包括以恒定速率為桶分配比特值(即,1000字節(jié),50單元等)并且只有必須數(shù)量的比特,字節(jié),或單元在桶中累積時才允許從緩沖器中發(fā)送分組。在無流量的周期中,比特以恒定的速率繼續(xù)在桶中累積并且流量的以下突發(fā)能夠使用該累積的比特。盡管這種技術考慮到網(wǎng)絡流量的突發(fā)本質(zhì)而提供了靈活性,但是如果桶在無流量的周期中累積了太多的比特,那么將不可能整形后繼的分組突發(fā)??稍试S的突發(fā)量能夠通過設定桶中所累積的大量比特的最大值來限制,但是桶的最大值必須至少和最大期望的分組一樣大,以防止緩沖器中大的分組被截留(trap)。設定最大桶的大小為最大期望分組的大小其不利之處在于,這將允許相對小的分組的大量突發(fā)脈沖得不到整形。
能夠用于速率整形或速率限制的另一個算法包括計算某一位置處的當前流量速率并比較當前速率和期望的速率以確定是否應該發(fā)送以下分組。根據(jù)該算法,如果當前速率小于期望速率,那么將允許分組流動,如果當前速率大于期望速率,那么將不允許分組流動。一種已知的算法諸如用于速率整形的算法,被稱為指數(shù)加權運動平均(EWMA)算法。EWMA算法的一個實例如下表示Current_RateN=(1-Gain)·Current_RateN-1+Gain·BytesN其中,tN+1=tN+Δt這里 Current_RateN為第N個采樣間隔的EWMA,Current_RateN-1為第N-1個采樣間隔的EWMA,以及BytesN為在第N個采樣間隔內(nèi)發(fā)送的字節(jié)數(shù)量,每個采樣間隔的周期為Δt。Gain控制低通濾波器操作所必須的時間常量(即,頻率響應)。當用于從緩沖器發(fā)送分組時,如果Current_RateN大于預定的期望速率(稱之為Desired_Rate)時,那么不發(fā)送任何分組。如果Current_RateN小于預定的期望速率時,那么發(fā)送這些分組。一種用于控制從緩沖器發(fā)送分組的算法在現(xiàn)有技術中如下表示如果(Current_RateN>Desired_Rate)不發(fā)送分組否則發(fā)送分組。
圖1描述了在速率整形系統(tǒng)中應用上述EWMA算法產(chǎn)生的流量104與時間(以Δt增加)比值的當前速率的示意圖,其中緩沖器被填滿了分組。在開始時間,t0,發(fā)送流量的突發(fā)并且按照EWMA計算的當前速率超出了期望的速率,其中期望速率通過水平虛線106表示。只要當前速率高于期望的速率,那么就不發(fā)送任何新流量并且當前速率穩(wěn)定地下降。一旦當前速率下降到低于期望的速率(即,時間t2),則發(fā)送流量的新突發(fā)并且當前速率跳回到期望速率之上。如圖1所示,在滿載的系統(tǒng)中,流量的當前速率幾乎完全地高于期望速率,因為當前速率下降到低于期望速率時,將發(fā)送更多的分組。由于當前速率幾乎完全地高于期望速率,因此在滿載周期達到的傳輸速率將大于期望的速率,這里根據(jù)由時間周期分割的發(fā)送比特總數(shù)計算達到的速率,其中在該時間周期上發(fā)送這些比特。例如,在圖1中,在滿載的系統(tǒng)中在時間周期t0到t9上達到的速率108高于期望的速率。理想狀態(tài)下,達到的速率應該等于期望的速率。
就需要能夠控制特定網(wǎng)絡流量至期望的速率,以及現(xiàn)有技術速率整形和速率限制算法的缺點而言,實際需要一種能夠有效地控制基于分組的流量速率的算法,即靈活地并容易地實現(xiàn),特別是在硬件中實現(xiàn)。
發(fā)明內(nèi)容
一種用于控制基于分組的流量流動以滿足期望速率的方法和系統(tǒng)包括,計算在一個鏈路上基于分組流量作為運動平均的當前速率,計算計算的當前速率和期望速率之間的誤差之和,并響應于計算的誤差之和以確定分組是否能夠流動。在一個實施例中,當當前速率和期望速率之間的誤差之和小于或等于零時,從緩沖器發(fā)送分組到鏈路上,并且當誤差之和大于零時,在緩沖器中保持該分組。由于以響應于當前速率和期望速率之間的誤差之和來控制分組流動,所以即使在突發(fā)流量環(huán)境中,也能保持所獲得的流量速率接近于期望的速率。
在本發(fā)明的一個實施例中,比較誤差之和與門限值以確定是否允許有任何分組流動。如果誤差之和低于該門限則允許分組流動,如果誤差之和高于該門限,則不允許分組流動。在一個實施例中,門限值為零,如果誤差之和小于或等于零則允許分組流動。在另一個實施例中,當誤差之和表示達到的流量速率低于期望的速率時允許分組流動,而當誤差之和表示達到的流量速率高于期望的速率時則不允許分組流動。
為了控制在無流量周期過后允許流動的突發(fā)的大小,可為當前速率設立一個最小值。如果當前速率低于該最小值,則將計算的當前速率調(diào)整為該最小值。同理,為誤差之和建立一個最小值,如果誤差之和低于最小值,則將計算的誤差之和調(diào)整為該最小值。這些技術都控制從靜默周期“所借”帶寬的大小。特別是,后者的(第二)技術防止大量的負余項累積。
在一個實施例中,計算當前速率和誤差之和以及確定是否在每個周期分組能夠重復流動,其中每Δt發(fā)生一次循環(huán)。
在一個實施例中,如下計算當前速率當前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示在當前周期中發(fā)送的比特數(shù)量,Wa和Wb為加權。當使用上述提供的表達式時,能夠?qū)⒂糜谙乱粋€計算周期的前一速率設定為在上一個周期所計算的當前速率。在一個實施例中,Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為采樣間隔的常量數(shù)量。具體而言,Wa可以被定義為Wa=1/(NC·Δt)。在一個實施例中,Wb為NC的函數(shù)。更具體而言,Wb可以被定義為Wb=1/NC。
當使用上述提供的速率表達式時,通過設立一個初始速率并如果當前速率降低到低于初始速率時將當前速率調(diào)整為初始速率,從而能夠控制流量突發(fā)的大小。
誤差之和可以如下計算當前誤差=前一誤差+(當前速率-期望速率),這里根據(jù)上述提供的表達式來計算當前速率。通過為當前誤差設立一個最小門限,并如果當前誤差降低到低于該門限時,將當前誤差調(diào)整為該門限,從而能夠控制分組突發(fā)的大小。當使用上述提供的誤差表達式時,將下一個計算周期的前一誤差設定為在上一個計算周期中計算的當前誤差。在一個實施例中,如果當前誤差小于或等于零則允許分組流動,如果當前誤差大于零則不允許分組流動。
本發(fā)明能夠以控制基于分組的流量流動的方法和系統(tǒng)來實施。該方法和系統(tǒng)能夠用于速率整形或速率限制并且,通過調(diào)整用戶提供的初始速率,期望速率,NC和Δt的輸入?yún)?shù),從而能夠容易地調(diào)整算法的性能特性。
本發(fā)明還能夠以特別用于速率整形的方法來實施,其中響應于計算的當前速率和期望速率之間的計算誤差之和,從而從緩沖器中發(fā)送分組。
根據(jù)以下結合附圖通過實例的方式示例本發(fā)明原理的詳細描述,本發(fā)明的其他方面和好處將顯示出來。
圖1描述了根據(jù)現(xiàn)有技術在速率整形系統(tǒng)中應用EWMA算法產(chǎn)生的流量速率與以Δt增加的時間之比值的示意圖,其中緩沖器被填滿了分組。
圖2描述了根據(jù)本發(fā)明的實施例實現(xiàn)速率整形算法的速率整形系統(tǒng)。
圖3A描述了根據(jù)本發(fā)明的實施例在實現(xiàn)速率整形算法中產(chǎn)生的流量輪廓圖。
圖3B描述了圖3A中計算的當前速率和期望速率之間誤差之和的圖。
圖3C描述了響應于圖3B中當前速率和期望速率之間誤差之和而產(chǎn)生的開關控制信號圖。
圖4描述了根據(jù)本發(fā)明的實施例用于控制基于分組的流量的流率以滿足期望的速率。
圖5A描述了根據(jù)本發(fā)明的另一個實施例使用圖4所示的速率整形算法產(chǎn)生的未調(diào)整速率輪廓的圖,其中包括一部分調(diào)整的速率輪廓。
圖5B描述了根據(jù)本發(fā)明的另一個實施例在計算速率和根據(jù)圖5A中速率輪廓產(chǎn)生的期望速率之間誤差之未調(diào)整的和,其中包括一部分調(diào)整的誤差之和。
圖6描述了根據(jù)本發(fā)明的另一個實施例,用于控制基于分組的流量的流率以滿足期望速率的方法流程圖,其中期望速率已考慮無流量的周期而被修改。
圖7描述了根據(jù)本發(fā)明的一個實施例,連接至相同輸出鏈路并由緩沖器專用開關控制的兩個緩沖器的示意性實施例,其中實現(xiàn)了圖4或圖6的速率整形算法的多個實例以允許未使用的帶寬由其它緩沖器使用。
圖8描述了根據(jù)本發(fā)明的一個實施例,通過圖7的一個選擇器實現(xiàn)的邏輯矩陣實例以使得能夠共享可用的帶寬。
圖9描述了根據(jù)本發(fā)明的一個實施例,QoS系統(tǒng)的一個實施例,其中使用圖4或圖6的速率整形算法從多個緩沖器發(fā)送分組。
具體實施例方式
一種用于控制基于分組的流量流動以滿足期望速率的方法和系統(tǒng)包括,計算在一個鏈路上基于分組流量的作為運動平均的當前速率,計算被計算的當前速率和期望速率之間的誤差之和,并響應于計算的誤差之和以確定分組是否能夠流動。在一個實施例中,當當前速率和期望速率之間的誤差之和小于或等于零時,從緩沖器發(fā)送分組到鏈路上,并且當誤差之和大于零時,在緩沖器中保持該分組。由于響應于當前速率和期望速率之間的誤差之和來控制分組流動,所以即使在突發(fā)流量環(huán)境中,也能保持獲得的流量速率接近于期望的速率。
圖2描述了為本發(fā)明關鍵的能夠用于實現(xiàn)速率整形算法的速率整形系統(tǒng)的實例。速率整形系統(tǒng)包括一個緩沖器112,一個開關114,以及速率整形邏輯116。緩沖器在輸入鏈路118上接收發(fā)來的分組并緩沖這些分組直到其被發(fā)送到輸出鏈路120。該開關為緩沖器和輸出鏈路之間的網(wǎng)關。該開關受速率整形邏輯的控制并且速率整形邏輯實現(xiàn)如下所述的速率整形算法。速率整形算法的一個實施例需要提供四個域(初始速率,期望速率,Δt和NC)中的初始化信息如用戶定義的輸入?yún)?shù)給速率整形邏輯。域初始速率,期望速率,Δt和NC如下定義。在工作中,速率整形邏輯接收實際的發(fā)送信息,與輸出鏈路相關的C,并輸出一個開關控制信號(Switch_Control)給開關。速率整形邏輯產(chǎn)生的控制信號使開關接通(如果它不總是接通),以便從緩沖器發(fā)送分組或關斷(如果它不總是關斷),以便在緩沖器中保持該分組。盡管圖2所述的開關作為從緩沖器發(fā)送分組的機制,但是其它的機制也能夠用于從緩沖器發(fā)送分組。如這里所述,輸入和輸出鏈路可能包括一個位于集成電路的總線,位于電路板上的總線,介質(zhì)諸如電線,光纖,連接兩個網(wǎng)絡設備的RF信號,或其它用于傳送分組化信息的鏈路。輸入和輸出鏈路還可能包括上述鏈路的任意組合。
在執(zhí)行本發(fā)明算法中的基本步驟之一包括計算基于分組的流量的運動平均,當前速率。以下描述了一種用于計算基于分組流量的當前速率和運動平均的技術,然后描述了一種用于計算計算的當前速率和期望速率之間誤差之和的技術。參考圖3到圖9更詳細地描述速率整形算法的一個實施例。
在給定時間周期T的基于分組的流量速率(即,比特/秒)能夠如下表示R=ΣCT]]>其中∑C為時間T中發(fā)送的比特總數(shù)。在N個采樣間隔的采樣域中,速率能夠如下表示RateN=Σi=0NCiN·Δt]]>
這里Δt為采樣間隔,N為在其上計算速率的采樣間隔的數(shù)量。這意味著有關在第N個間隔之前發(fā)生的采樣間隔的以下速率RateN-1=Σi=0N-1Ci(N-1)·Δt]]>接下來在采樣間隔0到N中發(fā)送的比特之和能夠如下表示Σi=0NCi=Σi=0N-1Ci+CN]]>利用RateN和RateN-1代替上述式子RateN·N·Δt=RateN-1·(N-1)·Δt+CN因此能夠遞歸表示RateN為RateN=RateN-1+GNN·ΔT-RateN-1N]]>或RateN=RateN-1+Wa·CN-Wb·RateN-1其中如下定義加權Wa和WbWa=1N·Δt,]]>和Wb=1N]]>盡管在上述推導中N為變量,但是也能夠?qū)設定為常量值以簡化速率計算。在一個實施例中,N被設定為常量值,Nc,用于計算加權Wa和Wb,因此Wa=1Nc·Δt,]]>和Wb=1Nc]]>這里Nc表示采樣間隔數(shù)量的常數(shù)。速率計算能夠如下表述當前速率=前一速率+[Wa·C-Wb·前一速率]這里當前速率與RateN有關,前一速率與RateN-1有關,這里使用Nc計算Wa和Wb,并且C為與在最近采樣間隔中發(fā)送的與比特數(shù)量相關的實際發(fā)送信息。
在圖2的實施例中,C表示在最后的采樣間隔,發(fā)送給系統(tǒng)的輸出鏈路120的實際比特數(shù)量。在圖2中,邏輯線路122表示與提供給速率整形邏輯的輸出鏈路相關的實際發(fā)送信息。盡管邏輯線路122與圖2的輸出鏈路相連接,但是實際的發(fā)送信息能夠通過各種技術提供給速率整形邏輯,所使用的確切技術對于本發(fā)明而言不是關鍵。例如,實際發(fā)送信息可能被從緩沖器提供。
執(zhí)行該算法的其它基本步驟包括計算計算的當前速率和期望速率之間的誤差之和。在整個描述中,計算的當前速率和期望速率之間的誤差被稱為“余項”,盡管應該理解術語“誤差”和“余項”可相互替換。在N個采樣間隔的采樣域中,第N個采樣間隔的瞬時余項表示為ResidueN=RateN-Desired_Rate。第N個采樣間隔中的余項之和在這里表示為Σi=0NResidueN=Σi=0N(RateN-Desired_Rate)]]>這意味著在第N個采樣間隔之前發(fā)生的有關采樣間隔的以下式子為Σi=0N-1ResidueN-1=Σi=0N-1(RateN-1-Desired_Rate)]]>所以,第N個采樣間隔的瞬時余項之和還能夠以術語即第N-1個采樣間隔余項之和加上第N個采樣間隔的瞬時余項如下表示Σi=0NResidueN=Σi=0N-1ResidueN-1+ResidueN]]>用ResidueN=RateN-Desired_Rate代入得到Σi=0NResidueN=Σi=0N-1ResidueN-1+(RateN-Desired_Rate)]]>所以,第N個采樣間隔的余項之和還能夠以術語當前余項和前一個余項如下表示當前余項=前一余項+(當前速率-期望速率)這里當前速率如上所述進行計算,前一余項與上一個采樣間隔余項之和有關,并且期望速率被提供作為一個用戶輸入。
使用速率整形的算法包括在每個采樣間隔都計算當前速率和當前余項,即每個Δt,并且然后基于當前余項的值產(chǎn)生一個開關控制信號。在一個實施例中,如果當前余項小于或等于零,則產(chǎn)生使開關發(fā)送分組的控制信號(即,“1”),如果當前余項大于零,則產(chǎn)生使開關保持分組的控制信號(即,“0”)。當當前余項小于或等于零時發(fā)送分組,因為余項之和表示獲得的速率當前等于或低于期望速率,反之當當前余項大于零時則保持這些分組,因為余項之和表示獲得的速率當前低于期望速率。使用該算法,在時間的擴展周期中,分組流量獲得的速率將接近期望的速率。盡管在本實施例中,余項值為零且為發(fā)送和保持分組的關鍵值,在其他實施例中該值可能被數(shù)學操作為除了零之外的特定值。
在一個實施例中,循環(huán)執(zhí)行速率整形算法,這里每個循環(huán)間隔為與采樣間隔相同的時間周期Δt。當開始新的循環(huán)時,要更新前一速率和前一余項的值以反映當前的值。具體而言,在前一個循環(huán)中計算的當前速率用于前一速率并且在前一個循環(huán)中計算的當前余項用于前一余項。整個速率整形算法能夠以偽碼來表示,例如表示為//速率整形算法每個Δt執(zhí)行。
//部分I更新速率和余項當前速率=前一速率+Wa·C-Wb·前一速率;當前余項=前一余項+(當前速率-期望速率);//部分II更新切換控制如果(當前余項<=0)Switch_Control=1;否則Switch_Control=0;前一速率=當前速率;前一余項=當前余項;
圖3A,3B,和3C為一系列時間同步圖,其表示實現(xiàn)上述速率整形算法的示例結果。圖3A為通過實現(xiàn)上述算法產(chǎn)生的速率輪廓圖。該圖描述了分組流量的當前速率304的一個實例,該速率根據(jù)運動平均與分組流量的期望速率306相關的時間(以Δt增加)之比值而計算。圖3B為根據(jù)圖3A中的速率輪廓產(chǎn)生的余項328之和以及圖3C為響應于余項之和根據(jù)速率整形算法產(chǎn)生的開關控制信號330的圖。在本實例中,開關控制信號“1”使得分組被發(fā)送以及開關控制信號“0”使得分組被保持。
在描述圖3A-3C的示例結果中,假設在時間t0初始化該算法并且與此同時從緩沖器發(fā)送分組的突發(fā)。在時間t0的被發(fā)送分組使得當前速率迅速上升,如圖3A所示。在時間t1,當前速率的增加使得當前余項從零變?yōu)榇笥诹愕奶囟ㄖ?,這反過來使得開關控制信號從“1”變?yōu)椤?”,從而保持任何剩余的被緩沖的被保留。盡管切換不是發(fā)送新的分組,但是分組流量的當前速率在時間t0和t8之間如圖3A所示以當前速率的向下斜率而降低。響應于當前速率,如圖3B所示,只要當前速率高于期望速率則當前余項就增加,一旦當前速率低于期望速率就降低。當前余項的響應產(chǎn)生于如上所述的當前余項,當前速率,和期望速率之間的關系。在當前余項變得小于或等于零的該點上,開關控制信號從“0”改變?yōu)椤?”,以允許從緩沖器發(fā)送分組的其他突發(fā)。例如,在時間t8,當前余項等于零,這使得開關控制信號從“0”變到“ 1”,如圖3C所示。當開關控制信號變?yōu)椤?”時,釋放分組的其他突發(fā)并且當前速率迅速上升,如在時間t8通過當前速率所示。參考圖3B和3C,每當當前余項變?yōu)榱銜r開關控制信號從“0”切換到“1”,然后一旦當前余項增加到大于零則開關控制信號從“1”再切換回“0”。這種機制確保了在滿載的系統(tǒng)中整個平均流量速率保持在或接近期望速率。
圖4描述了用于執(zhí)行上述速率整形算法的方法流程圖的實施例。在開始第一循環(huán)之前,在步驟434為速率整形算法設定期望速率值,Nc,和Δt。設定期望速率值,Nc,和Δt可能包括手動用戶輸入或響應于較寬QoS系統(tǒng)產(chǎn)生的自動輸入。在第一循環(huán)開始時,即步驟436,在步驟438設定前一速率和前一余項為零。在步驟440,獲取發(fā)送信息,C。在步驟442,如上所述使用所提供的表達式計算當前速率。用于計算當前速率的值包括前一速率,C,Wa,和Wb。在步驟444計算當前速率之后,如上所述使用所提供的表達式計算當前余項。用于計算當前余項的值包括前一余項,當前速率,和期望速率。然后計算的當前余項用于在判斷點446確定是否應該發(fā)送或保持這些分組。如果當前余項小于或等于零則,在步驟448,發(fā)送分組;如果當前余項大于零,則在步驟450,保持該分組。在一個實施例中,發(fā)送分組包括產(chǎn)生一個打開開關的控制信號,保持分組包括產(chǎn)生一個關斷開關的控制信號。在判斷點452作出發(fā)送或保持分組的判斷之后,如果采樣間隔Δt已終止,在步驟454開始下一個循環(huán)。為了開始下一個循環(huán),在步驟456,在上一循環(huán)計算的當前速率值作為前一速率用于以下的速率計算,并在上一循環(huán)計算的當前余項的值作為前一余項用于以下的余項計算。在設定前一速率和前一余項的值之后,獲得發(fā)送信息,C(步驟440)的方法,計算當前速率(步驟442),計算當前余項(步驟444),以及如上所述重復地確定是否發(fā)送或保持分組(判斷點446)。每Δt時間間隔連續(xù)地重復該過程。
盡管當速率整形系統(tǒng)的輸入緩沖器滿載時上述算法也工作正常,但是當突發(fā)通過無流量的周期時,速率整形算法可以允許發(fā)送發(fā)來的突發(fā)而不經(jīng)過速率整形。當突發(fā)通過無流量的周期時,可能發(fā)送這些分組而不經(jīng)過速率整形,因為無流量的周期將允許積累相對大的負余項。根據(jù)上述算法,只要當前余項保持低于零,則相對大的負余項將允許發(fā)送分組的突發(fā)脈沖。為了在無流量周期過后防止流量的大量突發(fā),在特定情況下,將當前速率和當前余項的值人工控制為預先設立的門限。具體而言,在一個實施例中,控制當前速率以便不允許它降低到低于預先設立的速率,這里稱之為初始化速率,并控制當前余項以便它不會降低到低于零。保證當前速率和當前余項不會降低到低于特定的門限這樣控制能夠從無流量的前一個周期所“借”的帶寬量。圖5A和5B描述了無流量周期所引起的問題以及對當前速率和當前余項所作的調(diào)整以保證所有的分組被速率整形,即使在無流量周期過后。圖5A描述了使用速率整形算法產(chǎn)生的速率輪廓圖,以及圖5B為由圖5A的速率輪廓而產(chǎn)生的余項之和的時間同步圖。
參考圖5A,為了示例的目的假設,在時間t0流量的初始化突發(fā)之后跟隨一個無流量的周期。當時間經(jīng)歷時,計算的當前速率504向零降低除非手動進行調(diào)整。為了保持當前速率為最小值,調(diào)整當前速率為預定的初始速率556,而不論何時計算的當前速率低于初始速率。圖5A描述了如何調(diào)整當前速率為預定的初始速率,而不論何時計算的當前速率低于初始速率。
在一個實施例中,使用模擬來找到初始速率值。該模擬用于找到在滿載有分組的系統(tǒng)中產(chǎn)生的當前速率的最小值。然后產(chǎn)生的最小值被設定作為初始速率。在一個實施例中,當開始模擬時,初始化當前速率為期望速率。
參考圖5B,不論何時來自圖5A的當前速率504小于期望速率506,都將減少當前余項528。當當前速率小于期望速率時除非手動地調(diào)整它,否則當前余項將無期限地減少。為了將當前余項保持在最小值,不論何時計算的當前余項小于零,都將當前余項調(diào)整為零。圖5B描述了已被調(diào)整為零的當前余項的一部分,因為計算的當前余項小于零。盡管在本實施例中,當前余項被調(diào)整為當前余項的最小值零,但是當前余項能夠被調(diào)整為某些其他的最小門限值。
用于更新的速率整形算法的偽碼的一個實施例如下//經(jīng)修改的速率整形算法每個Δt執(zhí)行。
//部分I更新速率和余項當前速率=前一速率+Wa·C-Wb·前一速率;如果(當前速率<初始速率)當前速率=初始速率;當前余項=前一余項+(當前速率-期望速率);如果(當前余項<0)當前余項=0;//部分II更新切換控制如果(當前佘項=0)Switch_Control=1;否則Switch_Control=0;前一速率=當前速率;前一余項=當前余項;圖6描述了用于執(zhí)行經(jīng)過上述修改的圖4的速率整形算法的方法流程圖。該方法流程圖類似于圖4的方法流程圖,除了在步驟634設立除其他參數(shù)之外的初始速率,在其他步驟660,如果當前速率小于初始速率則將當前速率設定為初始速率,在其他步驟662,如果當前余項小于零則將當前余項設定為零,并且在判斷點646,如果當前余項等于零則發(fā)送分組,如果當前余項大于零則保持該分組。
在一個可替換的實施例中,能夠在多緩沖器系統(tǒng)中實現(xiàn)上述速率整形算法以允許連接到相同鏈路的其他緩沖器使用可用的帶寬。具體而言,當?shù)诙彌_器不能保持任何分組時(即,當?shù)诙彌_器未充分使用它的可用帶寬),多緩沖器系統(tǒng)允許將分配給第二緩沖器的帶寬由第一緩沖器借用。圖7描述了連接到公共輸出鏈路764并受緩沖器專用開關714所控制的兩個緩沖器(緩沖器1和緩沖器2)712的示例性實施例。每個緩沖器專用開關通過緩沖器專用選擇器766與兩個緩沖器專用速率整形器716和717相連接。緩沖器專用速率整形器實現(xiàn)了兩種版本的上述速率整形算法。如虛線768所示,每個選擇器從其他緩沖器接收緩沖器狀態(tài)信息并且如線722所示,每個速率整形器接收與其各自的緩沖器相關的實際發(fā)送信息。
在圖7的實施例中,假設從緩沖器1發(fā)送的速率需要控制為期望速率并且發(fā)送的速率能夠被控制為最大速率,如果在公共輸出鏈路764上存在可用的未使用帶寬。對于緩沖器2保持相同。為了在每個緩沖器都獲得期望的速率整形,兩個速率整形器與每個緩沖器相關聯(lián)。參考緩沖器1,一個速率整形器,RS1_Desired716,設定速率整形緩沖器1為期望速率(即,算法中的期望速率域被設定為期望速率)并且另一個速率整形器,RS1_Maximum717,設定速率整形緩沖器1為最大速率(即,算法中的期望速率域被設定為最大速率)。同樣,參考緩沖器2,RS2_Desired716,設定速率整形緩沖器2為期望速率(即,算法中的期望速率域被設定為期望速率)并且另一個速率整形器,RS2_Maximum717,設定速率整形緩沖器2為最大速率(即,算法中的期望速率域被設定為最大速率)。在圖7的實施例中,當每個緩沖器中存在流量時,那么通過速率整形器RS1_Desired和RS2_Desired分別將每個緩沖器控制為它的期望速率。但是,如果其中的一個緩沖器沒有已緩沖的流量,那么能夠允許其他緩沖器上升到其最大速率。
參考圖7和圖8為了示例的目的描述了利用雙速率整形器對緩沖器1速率整形。圖8描述了選擇器766為緩沖器1實現(xiàn)的邏輯矩陣770的實例。如果從RS1_Desired716輸出的控制信號為“1”,表示能夠從緩沖器1發(fā)送分組,那么選擇器輸出一個控制信號“1”到開關并發(fā)送該分組。不管RS1_Maximum717的值如何以及是否在緩沖器2中存在分組,選擇器將輸出控制信號“1”。如果從RS1_Desired輸出的控制信號為“0”,以及RS1_Maximum輸出的控制信號為“0”,那么選擇器輸出一個控制信號“0”到開關而不管在緩沖器2中是否存在分組。如果從RS1_Desired輸出的控制信號為“0”,以及RS1_Maximum輸出的控制信號為“1”,那么選擇器將查詢緩沖器2的狀態(tài)以確定是否能夠發(fā)送分組。如果在緩沖器2中存在分組,選擇器則輸出一個控制信號“0”并從緩沖器1不發(fā)送任何分組。不從緩沖器1發(fā)送分組因為,保留用于緩沖器2中分組的帶寬不能由其他緩沖器使用。但是,如果在緩沖器2中不存在分組并且RS1_Maximum為“1”,那么用于開關1的選擇器將輸出一個控制信號“1”到開關1,并將從緩沖器1發(fā)送分組。從緩沖器1發(fā)送分組受到RS1_Maximum的控制,只要在緩沖器2中不存在任何分組以及RS1_Desired保持為“0”。
能夠依比例決定參考圖7所述的系統(tǒng)包括控制多于兩個的緩沖器。在依比例決定的系統(tǒng)中,用于每個緩沖器的選擇器監(jiān)視所有其他緩沖器的緩沖器狀態(tài),或其他緩沖器的某些組合并使用緩沖器信息確定是否能夠以指定的最大速率來發(fā)送分組。
上述速率整形算法還能夠用于同時控制多個緩沖器。圖9描述了其中通過相同速率整形邏輯控制多個緩沖器的QoS系統(tǒng)的一個實施例。QoS系統(tǒng)包括一個分組分類器972,緩沖器訪問控制器974,存儲器976,速率整形邏輯916,以及調(diào)度器978。存儲器包括多個受緩沖器專用開關914控制的緩沖器(即,緩沖器1到M)。緩沖器專用開關中的每一個通過如上所述的速率整形邏輯控制。速率整形邏輯接收與各自的輸出鏈路920相關的實際發(fā)送信息,并使用實際發(fā)送信息執(zhí)行速率整形算法和產(chǎn)生開關控制信號。
在工作中,分類器972確定每個發(fā)來的分組應該被緩沖到哪個緩沖器中。在分組分類之后,緩沖器訪問控制器974確定是否能夠?qū)⒎纸M轉(zhuǎn)發(fā)到它們的適當緩沖器中。在一個實施例中,緩沖器訪問控制器使用加權隨機提前丟棄(WRED)算法確定是否應該將分類的分組轉(zhuǎn)發(fā)到各個緩沖器。速率整形邏輯916確定是否通過調(diào)度器978接收緩沖的分組。在一個實施例中,速率整形邏輯在每個循環(huán)中為每個緩沖器執(zhí)行參考圖6所描述的步驟并輸出開關控制信號(Switch_1_Control和Switch_M_Control)給各個開關。根據(jù)開關的狀態(tài),調(diào)度器發(fā)送分組。例如,發(fā)送分組可能用于通過切換結構進行切換。
在一個實施例中,在硬件中實現(xiàn)參考圖2到9描述的速率整形算法。如上所述,當前速率的計算需要兩步乘法運算。在硬件實現(xiàn)中,乘法運算需要相對大量的資源并且期望限制硬件實現(xiàn)所需的資源。一種減少乘法運算所需資源的方法是將乘法運算減少為移位。以下將描述其中將兩步乘法運算減少為移位的速率整形算法的硬件實施例。
加權常量Wa如上定義為1/(NC·Δt),NC為時間間隔的數(shù)量。NC能夠被選擇為2的冪并且在一個實施例中,NC為位于(包括)29到213之間的2的冪。如上所述,每Δt時間間隔執(zhí)行一次該算法。為了將乘法運算減少為移位,還選擇時間間隔Δt以便它為2的冪,更具體而言,2的負冪。在一個實施例中,時間間隔Δt為硬件時鐘時間(或周期)以及受速率整形算法控制的緩沖器數(shù)量的函數(shù)。在優(yōu)選實施例中,Δt應該大于時鐘時間乘以受速率整形算法控制的緩沖器數(shù)量(即,Δt>時鐘時間·緩沖器數(shù)量),從而能夠為每個緩沖器在每個Δt時間中更新當前速率,當前余項,以及開關。注意到假設需要花費一個時鐘周期來為單個的緩沖器更新當前速率,當前余項,以及開關。表1提供了Δt的示例值,該值能夠用作受速率整形算法控制的緩沖器數(shù)量的函數(shù)以及時鐘周期的函數(shù)。該表還包括了能夠使用的最小Δt以及選擇作為2的負冪的Δt。
表1
加權常量定義1/(NC·Δt)。Wra常量定義為Wra=log2(Wa)并且如果1/(NC·Δt)為2的冪并且大于1,那么Wa·C減少為以下式子Wa·C≈(C<<Wra)因此,乘法運算被減少為向左移位運算。
加權常量Wb定義為1/N。常量Wrb能夠定義為Wrb=log2(Wb)并且如果1/N大于2的冪并小于1,那么Previous_Rate·Wb減少為以下式子Previous_Rate·Wb≈(Previous_Rate>>W(wǎng)b)因此,乘法運算被減少為向右移位運算。
由于移位導致丟失比特,所以可能降低計算的精確性。為了避免精確性的降低,實施定點運算并且十進制之后的比特數(shù)量稱為精確度。硬件實現(xiàn)的速率整形算法能夠以偽碼來表示,為了示例的目的,如下表示//硬件實現(xiàn)的速率整形算法每個Δt執(zhí)行。
//部分I更新速率和余項當前速率=前一速率+((C<<精確度)<<Wra)-(前一速率>>W(wǎng)rb);如果(當前速率<初始速率)當前速率=初始速率;當前余項=前一余項+(當前速率-期望速率);如果(當前余項<0)當前余項=0;//部分II更新切換控制如果(當前余項=0)開關控制=1;否則開關控制=0;前一速率=當前速率;前一余項=當前余項;在一個實施例中,在使用可變長度分組的環(huán)境中實現(xiàn)速率整形算法,例如,以太網(wǎng)環(huán)境,但是,速率整形算法還能夠在使用固定長度單元(如分組)的環(huán)境中實現(xiàn)。例如,異步傳輸模式(ATM)環(huán)境。
盡管這里實現(xiàn)的算法用于完成速率整形,但是該算法還能夠用于完成速率限制或任何其他速率控制技術。當該算法用于速率限制時,當當前余項低于門限(即零)時丟棄分組,并且當當前余項高于門限時發(fā)送該分組。
在上述算法的實施例中,以特定的方式使用提供的方程來計算當前速率和期望速率之間的誤差之和。但是,應該理解,可以以不同方式來計算當前速率和期望速率之間的誤差之和而不偏離這里所描述的并且以下請求保護的本發(fā)明的范圍和實質(zhì)。
不論以硬件或軟件來實現(xiàn)速率整形算法,通過簡單地調(diào)整任何用戶輸入域,如初始速率,期望速率,Δt和Nc都能容易地調(diào)整算法性能。對于初始速率,較低的初始速率可有效地允許從無流量的前一周期“借”更多的帶寬,允許在靜默周期過后大量的分組突發(fā)流動。對于Δt,較大的Δt趨于使得流量輪廓更具突發(fā)性,因為開關更新之間的時間周期較長。對于Nc,Nc的值越小,則計算的當前速率將越更接近地跟蹤瞬時速率,產(chǎn)生了較快的響應時間。通理,Nc的值越大,計算的當前速率將不能更接近地跟蹤瞬時速率,產(chǎn)生了較慢的響應時間。
速率整形算法能夠在一個宏觀層次上實現(xiàn),其中開關表示網(wǎng)絡中的一個節(jié)點或在較低層次上實現(xiàn),其中開關控制從特定緩沖器的發(fā)送功能。而且,開關能夠是控制分組流入鏈路的任何機制。
盡管已經(jīng)描述并示例了本發(fā)明的具體實施例,但是本發(fā)明并不限制于這些描述和示例的具體形式或部分安排。本發(fā)明僅僅通過權利要求書來限定。
權利要求
1.一種用于控制基于分組的流量流動以滿足期望速率的方法,該方法包括計算在一個鏈路上基于分組流量的作為運動平均的當前速率;計算所述計算的當前速率和所述期望速率之間的誤差之和;以及響應于所述計算的誤差之和以確定分組是否能夠流動。
2.根據(jù)權利要求1所述的方法其中確定分組是否能夠流動包括如果所述誤差之和小于誤差門限則允許分組流動,以及如果所述誤差之和大于所述誤差門限,則不允許分組流動。
3.根據(jù)權利要求1所述的方法其中確定分組是否能夠流動包括如果所述誤差之和小于或等于零則允許分組流動,如果所述誤差之和大于零則不允許分組流動。
4.根據(jù)權利要求1所述的方法其中確定分組是否能夠流動包括當所述誤差之和表示獲得的流量速率低于期望速率時允許分組流動,而當所述誤差之和表示獲得的流量速率高于期望速率時則不允許分組流動。
5.根據(jù)權利要求1所述的方法還包括為所述當前速率設立一個最小值并且當所述當前速率低于所述最小值時調(diào)整所述當前速率的值。
6.根據(jù)權利要求1所述的方法包括為所述誤差之和設立一個最小值并且當所述誤差之和低于所述最小值時調(diào)整所述誤差之和的值。
7.根據(jù)權利要求1所述的方法還包括為所述當前速率和所述誤差之和設立一個最小值;如果所述當前速率低于用于所述當前速率的所述最小值時調(diào)整所述當前速率的值;和如果所述誤差之和低于用于所述誤差之和的所述最小值時調(diào)整所述誤差之和的值。
8.根據(jù)權利要求1所述的方法,其中使用與所述鏈路相關的實際流量信息計算所述當前速率。
9.根據(jù)權利要求1所述的方法,其中計算所述當前速率和所述誤差之和以及確定是否分組能夠流動在每個循環(huán)周期重復一次,其中循環(huán)每Δt發(fā)生一次。
10.根據(jù)權利要求1所述的方法,其中將所述當前速率計算為加權的運動平均。
11.根據(jù)權利要求10所述的方法其中所述當前速率如下計算當前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特數(shù)量,Wa和Wb為加權。
12.根據(jù)權利要求11所述的方法其中用于下一計算周期的所述前一速率被設定為上一計算周期所計算的當前速率。
13.根據(jù)權利要求11所述的方法其中Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
14.根據(jù)權利要求11所述的方法其中Wa定義為Wa=1/(NC·Δt),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
15.根據(jù)權利要求11所述的方法其中Wb為NC的函數(shù),這里NC為采樣間隔的數(shù)量。
16.根據(jù)權利要求11所述的方法其中Wb定義為Wb=1/NC,這里NC為采樣間隔的數(shù)量。
17.根據(jù)權利要求11所述的方法還包括設立一個初始速率并且如果所述當前速率降低到低于所述初始速率時將所述當前速率調(diào)整到所述初始速率。
18.根據(jù)權利要求11所述的方法其中所述誤差之和如下計算當前誤差=前一誤差+(當前速率-期望速率)。
19.根據(jù)權利要求18所述的方法還包括為所述當前誤差建立一個最小門限并且如果所述當前誤差降低到低于所述門限時將當前誤差調(diào)整為所述門限。
20.根據(jù)權利要求18所述的方法其中用于下一計算周期的所述前一誤差被設定為上一計算周期所計算的當前誤差。
21.根據(jù)權利要求18所述的方法其中如果所述當前誤差小于或等于零則允許分組流動,如果所述當前誤差大于零則不允許分組流動。
22.根據(jù)權利要求1所述的方法還包括響應于分組是否能夠流動的所述確定接通或關斷開關。
23.一種用于控制輸入鏈路和輸出鏈路之間基于分組的流量流動以滿足期望速率的系統(tǒng),該系統(tǒng)包括連接于所述輸入鏈路和所述輸出鏈路之間的開關,當所述開關接通時允許流量從所述輸入鏈路向所述輸出鏈路流動,當所述開關關斷時不允許分組流動;和連接控制所述開關的速率整形邏輯,所述速率整形邏輯包括的裝置用于;計算在所述輸入和輸出鏈路其中之一上基于分組流量的作為運動平均的當前速率;計算所述計算的當前速率和所述期望速率之間的誤差之和;以及響應于所述計算的誤差之和確定分組是否能夠通過所述輸出鏈路流動。
24.根據(jù)權利要求23所述的系統(tǒng)其中確定分組是否能夠流動包括,如果所述誤差之和低于誤差門限則允許分組流動,以及如果所述誤差之和高于所述誤差門限,則不允許分組流動。
25.根據(jù)權利要求23所述的系統(tǒng)其中確定分組是否能夠流動包括,如果所述誤差之和小于或等于零則允許分組流動,如果所述誤差之和大于零則不允許分組流動。
26.根據(jù)權利要求23所述的系統(tǒng)確定分組是否能夠流動包括,當所述誤差之和表示獲得的流量速率低于期望速率時允許分組流動,而當所述誤差之和表示獲得的流量速率高于期望速率時則不允許分組流動。
27.根據(jù)權利要求23所述的系統(tǒng)其中所述速率整形邏輯包括用于為所述當前速率建立一個最小值并且當所述當前速率低于所述最小值時調(diào)整所述當前速率值的邏輯。
28.根據(jù)權利要求23所述的系統(tǒng)其中所述速率整形邏輯包括為所述誤差之和建立一個最小值并且當所述誤差之和低于所述最小值時調(diào)整所述誤差之和的值的邏輯。
29.根據(jù)權利要求23所述的系統(tǒng)其中所述速率整形邏輯包括的邏輯用于為所述當前速率和所述誤差之和建立一個最小值;如果所述當前速率低于用于所述當前速率的所述最小值時調(diào)整所述當前速率的值;和如果所述誤差之和低于用于所述誤差之和的所述最小值時調(diào)整所述誤差之和的值。
30.根據(jù)權利要求23所述的系統(tǒng)其中使用與所述輸入和輸出鏈路相關的實際流量信息計算所述當前速率。
31.根據(jù)權利要求23所述的系統(tǒng)其中計算所述當前速率和所述誤差之和以及確定是否分組能夠從所述鏈路流動在每個循環(huán)周期重復一次,其中循環(huán)每Δt發(fā)生一次。
32.根據(jù)權利要求23所述的系統(tǒng)其中所述當前速率被計算為加權的運動平均。
33.根據(jù)權利要求32所述的系統(tǒng)其中所述當前速率如下計算當前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特數(shù)量,Wa和Wb為加權。
34.根據(jù)權利要求33所述的系統(tǒng)其中用于下一計算周期的所述前一速率被設定為上一計算周期所計算的當前速率。
35.根據(jù)權利要求33所述的系統(tǒng)其中Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
36.根據(jù)權利要求33所述的系統(tǒng)其中Wa定義為Wa=1/(NC·Δt),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
37.根據(jù)權利要求33所述的系統(tǒng)其中Wb為NC的函數(shù),這里NC為采樣間隔的數(shù)量。
38.根據(jù)權利要求33所述的系統(tǒng)其中Wb定義為Wb=1/NC,這里NC為采樣間隔的數(shù)量。
39.根據(jù)權利要求33所述的系統(tǒng)其中所述速率整形邏輯還包括用于建立一個初始速率并且如果所述當前速率降低到低于所述初始速率時將所述當前速率調(diào)整為所述初始速率的邏輯。
40.根據(jù)權利要求33所述的系統(tǒng)其中所述誤差之和如下計算當前誤差=前一誤差+(當前速率-期望速率)。
41.根據(jù)權利要求40所述的系統(tǒng)其中所述速率整形邏輯還包括的邏輯用于為所述當前誤差建立一個最小門限并且如果所述當前誤差降低到低于所述門限時將當前誤差調(diào)整為所述門限。
42.根據(jù)權利要求40所述的系統(tǒng)其中用于下一計算周期的所述前一誤差被設定為上一計算周期所計算的當前誤差。
43.根據(jù)權利要求40所述的系統(tǒng)其中如果所述當前誤差小于或等于零則允許分組流動,如果所述當前誤差大于零則不允許分組流動。
44.根據(jù)權利要求23所述的系統(tǒng)還包括響應于分組是否能夠從所述鏈路流動的所述確定接通或關斷開關。
45.一種用于控制基于分組的流量從緩沖器流動到輸出鏈路以滿足期望速率的方法,該方法包括計算在所述輸出鏈路上基于分組流量的作為運動平均的當前速率;計算所述計算的當前速率和所述期望速率之間的誤差之和;以及響應于所述計算的誤差之和確定分組是否能夠從所述緩沖器發(fā)送到所述輸出鏈路。
46.根據(jù)權利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,如果所述誤差之和小于誤差門限則允許從所述緩沖器發(fā)送分組,以及如果所述誤差之和大于所述誤差門限,則不允許從所述緩沖器發(fā)送分組。
47.根據(jù)權利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,如果所述誤差之和小于或等于零則允許從所述緩沖器發(fā)送分組,如果所述誤差之和大于零則不允許從所述緩沖器發(fā)送分組。
48.根據(jù)權利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,當所述誤差之和表示獲得的流量速率低于期望速率時允許從所述緩沖器發(fā)送分組,而當所述誤差之和表示獲得的流量速率高于期望速率時則不允許從所述緩沖器發(fā)送分組。
49.根據(jù)權利要求45所述的方法還包括,通過為所述當前速率建立一個最小值來控制分組突發(fā)的大小并且當所述當前速率低于所述建立的最小值時調(diào)整所述當前速率的值。
50.根據(jù)權利要求45所述的方法還包括,通過為所述誤差之和建立一個最小值來控制分組突發(fā)的大小并且當所述誤差之和低于所述建立的最小值時調(diào)整所述誤差之和的值。
51.根據(jù)權利要求45所述的方法還包括為所述當前速率和所述誤差之和建立一個最小值;通過當所述當前速率低于用于所述當前速率的所述建立的最小值時調(diào)整所述當前速率的值來控制分組突發(fā)的大?。缓屯ㄟ^當所述誤差之和低于用于所述誤差之和的所述建立的最小值時調(diào)整所述誤差之和的值來控制分組突發(fā)的大小。
52.根據(jù)權利要求45所述的方法其中所述當前速率如下計算當前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特數(shù)量,Wa和Wb為加權。
53.根據(jù)權利要求52所述的方法還包括建立一個初始速率并且如果所述當前速率降低到低于所述初始速率時將所述當前速率調(diào)整為所述初始速率。
54.根據(jù)權利要求52所述的方法其中所述誤差之和如下計算當前誤差=前一誤差+(當前速率-期望速率)。
55.根據(jù)權利要求54所述的方法還包括為所述當前誤差建立一個最小門限并且如果所述當前誤差降低到低于所述門限時將當前誤差調(diào)整為所述門限。
全文摘要
本發(fā)明涉及一種用于在基于分組的計算機網(wǎng)絡中速率整形的方法和系統(tǒng)。在控制基于分組的流量的流動以滿足期望的速率,包括計算在一個鏈路上基于分組流量的作為運動平均的當前速率,計算所計算的當前速率和期望速率之間的誤差之和,并響應于所述計算的誤差之和以確定分組是否能夠流動。當計算的當前速率和期望速率之間的誤差之和表示當前速率小于期望速率時,允許分組流動,而當所述誤差之和表示當前速率大于期望速率時,則不允許分組流動。通過人工控制當前速率的最小值和誤差之和還能夠控制突發(fā)的數(shù)量。流控制算法能夠用于速率整形或速率限制。
文檔編號H04L25/02GK1618024SQ02827774
公開日2005年5月18日 申請日期2002年12月5日 優(yōu)先權日2001年12月5日
發(fā)明者桑迪普·洛達, 迪派克·阿特雷施 申請人:瑞通網(wǎng)絡公司