国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于在基于分組的計(jì)算機(jī)網(wǎng)絡(luò)中速率整形的方法和系統(tǒng)的制作方法

      文檔序號(hào):7756315閱讀:177來源:國(guó)知局
      專利名稱:用于在基于分組的計(jì)算機(jī)網(wǎng)絡(luò)中速率整形的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種基于分組的計(jì)算機(jī)網(wǎng)絡(luò),并尤其涉及一種控制基于分組的網(wǎng)絡(luò)內(nèi)的流量速率。
      背景技術(shù)
      已知基于分組的網(wǎng)絡(luò)用于以突發(fā)發(fā)送數(shù)據(jù)。突發(fā)流量能夠?qū)е戮W(wǎng)絡(luò)擁塞并當(dāng)輸入緩沖器滿時(shí)導(dǎo)致分組被丟棄。為了改善網(wǎng)絡(luò)的性能并提供可靠的服務(wù)質(zhì)量(QoS),有必要能夠控制網(wǎng)絡(luò)中不同位置處的流量至特定的期望速率??刂屏髁康膬煞N技術(shù)通常稱為速率整形和速率限制。速率整形包括當(dāng)分組到達(dá)一個(gè)位置時(shí)緩沖分組,并然后根據(jù)給定的算法控制分組流離開緩沖器以滿足期望的速率。由于分組被緩沖,所以能夠接收分組的突發(fā),然后以可控的方式發(fā)送這些分組,從而不會(huì)丟棄進(jìn)入的分組。速率限制包括測(cè)量到達(dá)一個(gè)位置的分組的速率,然后丟棄超出期望速率的分組。
      一些用于實(shí)現(xiàn)速率整形或速率限制的公共算法包括熟知的漏桶和令牌桶算法。使用漏桶算法實(shí)現(xiàn)速率整形包括緩沖進(jìn)入的分組然后以恒定的速率從緩沖器中發(fā)送這些分組,即漏速率(例如以字節(jié)/秒測(cè)量的)。例如,當(dāng)接收大小為C(即,幾字節(jié))的分組時(shí),在其被從緩沖器發(fā)送之前,在緩沖器中將該分組保持C時(shí)間周期/漏速率。但是如果緩沖器為空的,那么如漏速率所指示的傳輸容量變?yōu)槲词褂貌⑶也挥糜诶鄯e分組的后續(xù)突發(fā)。所以,當(dāng)分組的新突發(fā)在無流量的周期之后到達(dá)緩沖器時(shí),新分組仍將被緩沖并以漏速率進(jìn)行發(fā)送。這種技術(shù)不能為考慮到基于分組的網(wǎng)絡(luò)流量的突發(fā)本質(zhì)而提供靈活性。
      使用令牌桶算法用于速率整形包括以恒定速率為桶分配比特值(即,1000字節(jié),50單元等)并且只有必須數(shù)量的比特,字節(jié),或單元在桶中累積時(shí)才允許從緩沖器中發(fā)送分組。在無流量的周期中,比特以恒定的速率繼續(xù)在桶中累積并且流量的以下突發(fā)能夠使用該累積的比特。盡管這種技術(shù)考慮到網(wǎng)絡(luò)流量的突發(fā)本質(zhì)而提供了靈活性,但是如果桶在無流量的周期中累積了太多的比特,那么將不可能整形后繼的分組突發(fā)??稍试S的突發(fā)量能夠通過設(shè)定桶中所累積的大量比特的最大值來限制,但是桶的最大值必須至少和最大期望的分組一樣大,以防止緩沖器中大的分組被截留(trap)。設(shè)定最大桶的大小為最大期望分組的大小其不利之處在于,這將允許相對(duì)小的分組的大量突發(fā)脈沖得不到整形。
      能夠用于速率整形或速率限制的另一個(gè)算法包括計(jì)算某一位置處的當(dāng)前流量速率并比較當(dāng)前速率和期望的速率以確定是否應(yīng)該發(fā)送以下分組。根據(jù)該算法,如果當(dāng)前速率小于期望速率,那么將允許分組流動(dòng),如果當(dāng)前速率大于期望速率,那么將不允許分組流動(dòng)。一種已知的算法諸如用于速率整形的算法,被稱為指數(shù)加權(quán)運(yùn)動(dòng)平均(EWMA)算法。EWMA算法的一個(gè)實(shí)例如下表示Current_RateN=(1-Gain)·Current_RateN-1+Gain·BytesN其中,tN+1=tN+Δt這里 Current_RateN為第N個(gè)采樣間隔的EWMA,Current_RateN-1為第N-1個(gè)采樣間隔的EWMA,以及BytesN為在第N個(gè)采樣間隔內(nèi)發(fā)送的字節(jié)數(shù)量,每個(gè)采樣間隔的周期為Δt。Gain控制低通濾波器操作所必須的時(shí)間常量(即,頻率響應(yīng))。當(dāng)用于從緩沖器發(fā)送分組時(shí),如果Current_RateN大于預(yù)定的期望速率(稱之為Desired_Rate)時(shí),那么不發(fā)送任何分組。如果Current_RateN小于預(yù)定的期望速率時(shí),那么發(fā)送這些分組。一種用于控制從緩沖器發(fā)送分組的算法在現(xiàn)有技術(shù)中如下表示如果(Current_RateN>Desired_Rate)不發(fā)送分組否則發(fā)送分組。
      圖1描述了在速率整形系統(tǒng)中應(yīng)用上述EWMA算法產(chǎn)生的流量104與時(shí)間(以Δt增加)比值的當(dāng)前速率的示意圖,其中緩沖器被填滿了分組。在開始時(shí)間,t0,發(fā)送流量的突發(fā)并且按照EWMA計(jì)算的當(dāng)前速率超出了期望的速率,其中期望速率通過水平虛線106表示。只要當(dāng)前速率高于期望的速率,那么就不發(fā)送任何新流量并且當(dāng)前速率穩(wěn)定地下降。一旦當(dāng)前速率下降到低于期望的速率(即,時(shí)間t2),則發(fā)送流量的新突發(fā)并且當(dāng)前速率跳回到期望速率之上。如圖1所示,在滿載的系統(tǒng)中,流量的當(dāng)前速率幾乎完全地高于期望速率,因?yàn)楫?dāng)前速率下降到低于期望速率時(shí),將發(fā)送更多的分組。由于當(dāng)前速率幾乎完全地高于期望速率,因此在滿載周期達(dá)到的傳輸速率將大于期望的速率,這里根據(jù)由時(shí)間周期分割的發(fā)送比特總數(shù)計(jì)算達(dá)到的速率,其中在該時(shí)間周期上發(fā)送這些比特。例如,在圖1中,在滿載的系統(tǒng)中在時(shí)間周期t0到t9上達(dá)到的速率108高于期望的速率。理想狀態(tài)下,達(dá)到的速率應(yīng)該等于期望的速率。
      就需要能夠控制特定網(wǎng)絡(luò)流量至期望的速率,以及現(xiàn)有技術(shù)速率整形和速率限制算法的缺點(diǎn)而言,實(shí)際需要一種能夠有效地控制基于分組的流量速率的算法,即靈活地并容易地實(shí)現(xiàn),特別是在硬件中實(shí)現(xiàn)。

      發(fā)明內(nèi)容
      一種用于控制基于分組的流量流動(dòng)以滿足期望速率的方法和系統(tǒng)包括,計(jì)算在一個(gè)鏈路上基于分組流量作為運(yùn)動(dòng)平均的當(dāng)前速率,計(jì)算計(jì)算的當(dāng)前速率和期望速率之間的誤差之和,并響應(yīng)于計(jì)算的誤差之和以確定分組是否能夠流動(dòng)。在一個(gè)實(shí)施例中,當(dāng)當(dāng)前速率和期望速率之間的誤差之和小于或等于零時(shí),從緩沖器發(fā)送分組到鏈路上,并且當(dāng)誤差之和大于零時(shí),在緩沖器中保持該分組。由于以響應(yīng)于當(dāng)前速率和期望速率之間的誤差之和來控制分組流動(dòng),所以即使在突發(fā)流量環(huán)境中,也能保持所獲得的流量速率接近于期望的速率。
      在本發(fā)明的一個(gè)實(shí)施例中,比較誤差之和與門限值以確定是否允許有任何分組流動(dòng)。如果誤差之和低于該門限則允許分組流動(dòng),如果誤差之和高于該門限,則不允許分組流動(dòng)。在一個(gè)實(shí)施例中,門限值為零,如果誤差之和小于或等于零則允許分組流動(dòng)。在另一個(gè)實(shí)施例中,當(dāng)誤差之和表示達(dá)到的流量速率低于期望的速率時(shí)允許分組流動(dòng),而當(dāng)誤差之和表示達(dá)到的流量速率高于期望的速率時(shí)則不允許分組流動(dòng)。
      為了控制在無流量周期過后允許流動(dòng)的突發(fā)的大小,可為當(dāng)前速率設(shè)立一個(gè)最小值。如果當(dāng)前速率低于該最小值,則將計(jì)算的當(dāng)前速率調(diào)整為該最小值。同理,為誤差之和建立一個(gè)最小值,如果誤差之和低于最小值,則將計(jì)算的誤差之和調(diào)整為該最小值。這些技術(shù)都控制從靜默周期“所借”帶寬的大小。特別是,后者的(第二)技術(shù)防止大量的負(fù)余項(xiàng)累積。
      在一個(gè)實(shí)施例中,計(jì)算當(dāng)前速率和誤差之和以及確定是否在每個(gè)周期分組能夠重復(fù)流動(dòng),其中每Δt發(fā)生一次循環(huán)。
      在一個(gè)實(shí)施例中,如下計(jì)算當(dāng)前速率當(dāng)前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示在當(dāng)前周期中發(fā)送的比特?cái)?shù)量,Wa和Wb為加權(quán)。當(dāng)使用上述提供的表達(dá)式時(shí),能夠?qū)⒂糜谙乱粋€(gè)計(jì)算周期的前一速率設(shè)定為在上一個(gè)周期所計(jì)算的當(dāng)前速率。在一個(gè)實(shí)施例中,Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為采樣間隔的常量數(shù)量。具體而言,Wa可以被定義為Wa=1/(NC·Δt)。在一個(gè)實(shí)施例中,Wb為NC的函數(shù)。更具體而言,Wb可以被定義為Wb=1/NC。
      當(dāng)使用上述提供的速率表達(dá)式時(shí),通過設(shè)立一個(gè)初始速率并如果當(dāng)前速率降低到低于初始速率時(shí)將當(dāng)前速率調(diào)整為初始速率,從而能夠控制流量突發(fā)的大小。
      誤差之和可以如下計(jì)算當(dāng)前誤差=前一誤差+(當(dāng)前速率-期望速率),這里根據(jù)上述提供的表達(dá)式來計(jì)算當(dāng)前速率。通過為當(dāng)前誤差設(shè)立一個(gè)最小門限,并如果當(dāng)前誤差降低到低于該門限時(shí),將當(dāng)前誤差調(diào)整為該門限,從而能夠控制分組突發(fā)的大小。當(dāng)使用上述提供的誤差表達(dá)式時(shí),將下一個(gè)計(jì)算周期的前一誤差設(shè)定為在上一個(gè)計(jì)算周期中計(jì)算的當(dāng)前誤差。在一個(gè)實(shí)施例中,如果當(dāng)前誤差小于或等于零則允許分組流動(dòng),如果當(dāng)前誤差大于零則不允許分組流動(dòng)。
      本發(fā)明能夠以控制基于分組的流量流動(dòng)的方法和系統(tǒng)來實(shí)施。該方法和系統(tǒng)能夠用于速率整形或速率限制并且,通過調(diào)整用戶提供的初始速率,期望速率,NC和Δt的輸入?yún)?shù),從而能夠容易地調(diào)整算法的性能特性。
      本發(fā)明還能夠以特別用于速率整形的方法來實(shí)施,其中響應(yīng)于計(jì)算的當(dāng)前速率和期望速率之間的計(jì)算誤差之和,從而從緩沖器中發(fā)送分組。
      根據(jù)以下結(jié)合附圖通過實(shí)例的方式示例本發(fā)明原理的詳細(xì)描述,本發(fā)明的其他方面和好處將顯示出來。


      圖1描述了根據(jù)現(xiàn)有技術(shù)在速率整形系統(tǒng)中應(yīng)用EWMA算法產(chǎn)生的流量速率與以Δt增加的時(shí)間之比值的示意圖,其中緩沖器被填滿了分組。
      圖2描述了根據(jù)本發(fā)明的實(shí)施例實(shí)現(xiàn)速率整形算法的速率整形系統(tǒng)。
      圖3A描述了根據(jù)本發(fā)明的實(shí)施例在實(shí)現(xiàn)速率整形算法中產(chǎn)生的流量輪廓圖。
      圖3B描述了圖3A中計(jì)算的當(dāng)前速率和期望速率之間誤差之和的圖。
      圖3C描述了響應(yīng)于圖3B中當(dāng)前速率和期望速率之間誤差之和而產(chǎn)生的開關(guān)控制信號(hào)圖。
      圖4描述了根據(jù)本發(fā)明的實(shí)施例用于控制基于分組的流量的流率以滿足期望的速率。
      圖5A描述了根據(jù)本發(fā)明的另一個(gè)實(shí)施例使用圖4所示的速率整形算法產(chǎn)生的未調(diào)整速率輪廓的圖,其中包括一部分調(diào)整的速率輪廓。
      圖5B描述了根據(jù)本發(fā)明的另一個(gè)實(shí)施例在計(jì)算速率和根據(jù)圖5A中速率輪廓產(chǎn)生的期望速率之間誤差之未調(diào)整的和,其中包括一部分調(diào)整的誤差之和。
      圖6描述了根據(jù)本發(fā)明的另一個(gè)實(shí)施例,用于控制基于分組的流量的流率以滿足期望速率的方法流程圖,其中期望速率已考慮無流量的周期而被修改。
      圖7描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例,連接至相同輸出鏈路并由緩沖器專用開關(guān)控制的兩個(gè)緩沖器的示意性實(shí)施例,其中實(shí)現(xiàn)了圖4或圖6的速率整形算法的多個(gè)實(shí)例以允許未使用的帶寬由其它緩沖器使用。
      圖8描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過圖7的一個(gè)選擇器實(shí)現(xiàn)的邏輯矩陣實(shí)例以使得能夠共享可用的帶寬。
      圖9描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例,QoS系統(tǒng)的一個(gè)實(shí)施例,其中使用圖4或圖6的速率整形算法從多個(gè)緩沖器發(fā)送分組。
      具體實(shí)施例方式
      一種用于控制基于分組的流量流動(dòng)以滿足期望速率的方法和系統(tǒng)包括,計(jì)算在一個(gè)鏈路上基于分組流量的作為運(yùn)動(dòng)平均的當(dāng)前速率,計(jì)算被計(jì)算的當(dāng)前速率和期望速率之間的誤差之和,并響應(yīng)于計(jì)算的誤差之和以確定分組是否能夠流動(dòng)。在一個(gè)實(shí)施例中,當(dāng)當(dāng)前速率和期望速率之間的誤差之和小于或等于零時(shí),從緩沖器發(fā)送分組到鏈路上,并且當(dāng)誤差之和大于零時(shí),在緩沖器中保持該分組。由于響應(yīng)于當(dāng)前速率和期望速率之間的誤差之和來控制分組流動(dòng),所以即使在突發(fā)流量環(huán)境中,也能保持獲得的流量速率接近于期望的速率。
      圖2描述了為本發(fā)明關(guān)鍵的能夠用于實(shí)現(xiàn)速率整形算法的速率整形系統(tǒng)的實(shí)例。速率整形系統(tǒng)包括一個(gè)緩沖器112,一個(gè)開關(guān)114,以及速率整形邏輯116。緩沖器在輸入鏈路118上接收發(fā)來的分組并緩沖這些分組直到其被發(fā)送到輸出鏈路120。該開關(guān)為緩沖器和輸出鏈路之間的網(wǎng)關(guān)。該開關(guān)受速率整形邏輯的控制并且速率整形邏輯實(shí)現(xiàn)如下所述的速率整形算法。速率整形算法的一個(gè)實(shí)施例需要提供四個(gè)域(初始速率,期望速率,Δt和NC)中的初始化信息如用戶定義的輸入?yún)?shù)給速率整形邏輯。域初始速率,期望速率,Δt和NC如下定義。在工作中,速率整形邏輯接收實(shí)際的發(fā)送信息,與輸出鏈路相關(guān)的C,并輸出一個(gè)開關(guān)控制信號(hào)(Switch_Control)給開關(guān)。速率整形邏輯產(chǎn)生的控制信號(hào)使開關(guān)接通(如果它不總是接通),以便從緩沖器發(fā)送分組或關(guān)斷(如果它不總是關(guān)斷),以便在緩沖器中保持該分組。盡管圖2所述的開關(guān)作為從緩沖器發(fā)送分組的機(jī)制,但是其它的機(jī)制也能夠用于從緩沖器發(fā)送分組。如這里所述,輸入和輸出鏈路可能包括一個(gè)位于集成電路的總線,位于電路板上的總線,介質(zhì)諸如電線,光纖,連接兩個(gè)網(wǎng)絡(luò)設(shè)備的RF信號(hào),或其它用于傳送分組化信息的鏈路。輸入和輸出鏈路還可能包括上述鏈路的任意組合。
      在執(zhí)行本發(fā)明算法中的基本步驟之一包括計(jì)算基于分組的流量的運(yùn)動(dòng)平均,當(dāng)前速率。以下描述了一種用于計(jì)算基于分組流量的當(dāng)前速率和運(yùn)動(dòng)平均的技術(shù),然后描述了一種用于計(jì)算計(jì)算的當(dāng)前速率和期望速率之間誤差之和的技術(shù)。參考圖3到圖9更詳細(xì)地描述速率整形算法的一個(gè)實(shí)施例。
      在給定時(shí)間周期T的基于分組的流量速率(即,比特/秒)能夠如下表示R=&Sigma;CT]]>其中∑C為時(shí)間T中發(fā)送的比特總數(shù)。在N個(gè)采樣間隔的采樣域中,速率能夠如下表示RateN=&Sigma;i=0NCiN&CenterDot;&Delta;t]]>
      這里Δt為采樣間隔,N為在其上計(jì)算速率的采樣間隔的數(shù)量。這意味著有關(guān)在第N個(gè)間隔之前發(fā)生的采樣間隔的以下速率RateN-1=&Sigma;i=0N-1Ci(N-1)&CenterDot;&Delta;t]]>接下來在采樣間隔0到N中發(fā)送的比特之和能夠如下表示&Sigma;i=0NCi=&Sigma;i=0N-1Ci+CN]]>利用RateN和RateN-1代替上述式子RateN·N·Δt=RateN-1·(N-1)·Δt+CN因此能夠遞歸表示RateN為RateN=RateN-1+GNN&CenterDot;&Delta;T-RateN-1N]]>或RateN=RateN-1+Wa·CN-Wb·RateN-1其中如下定義加權(quán)Wa和WbWa=1N&CenterDot;&Delta;t,]]>和Wb=1N]]>盡管在上述推導(dǎo)中N為變量,但是也能夠?qū)設(shè)定為常量值以簡(jiǎn)化速率計(jì)算。在一個(gè)實(shí)施例中,N被設(shè)定為常量值,Nc,用于計(jì)算加權(quán)Wa和Wb,因此Wa=1Nc&CenterDot;&Delta;t,]]>和Wb=1Nc]]>這里Nc表示采樣間隔數(shù)量的常數(shù)。速率計(jì)算能夠如下表述當(dāng)前速率=前一速率+[Wa·C-Wb·前一速率]這里當(dāng)前速率與RateN有關(guān),前一速率與RateN-1有關(guān),這里使用Nc計(jì)算Wa和Wb,并且C為與在最近采樣間隔中發(fā)送的與比特?cái)?shù)量相關(guān)的實(shí)際發(fā)送信息。
      在圖2的實(shí)施例中,C表示在最后的采樣間隔,發(fā)送給系統(tǒng)的輸出鏈路120的實(shí)際比特?cái)?shù)量。在圖2中,邏輯線路122表示與提供給速率整形邏輯的輸出鏈路相關(guān)的實(shí)際發(fā)送信息。盡管邏輯線路122與圖2的輸出鏈路相連接,但是實(shí)際的發(fā)送信息能夠通過各種技術(shù)提供給速率整形邏輯,所使用的確切技術(shù)對(duì)于本發(fā)明而言不是關(guān)鍵。例如,實(shí)際發(fā)送信息可能被從緩沖器提供。
      執(zhí)行該算法的其它基本步驟包括計(jì)算計(jì)算的當(dāng)前速率和期望速率之間的誤差之和。在整個(gè)描述中,計(jì)算的當(dāng)前速率和期望速率之間的誤差被稱為“余項(xiàng)”,盡管應(yīng)該理解術(shù)語“誤差”和“余項(xiàng)”可相互替換。在N個(gè)采樣間隔的采樣域中,第N個(gè)采樣間隔的瞬時(shí)余項(xiàng)表示為ResidueN=RateN-Desired_Rate。第N個(gè)采樣間隔中的余項(xiàng)之和在這里表示為&Sigma;i=0NResidueN=&Sigma;i=0N(RateN-Desired_Rate)]]>這意味著在第N個(gè)采樣間隔之前發(fā)生的有關(guān)采樣間隔的以下式子為&Sigma;i=0N-1ResidueN-1=&Sigma;i=0N-1(RateN-1-Desired_Rate)]]>所以,第N個(gè)采樣間隔的瞬時(shí)余項(xiàng)之和還能夠以術(shù)語即第N-1個(gè)采樣間隔余項(xiàng)之和加上第N個(gè)采樣間隔的瞬時(shí)余項(xiàng)如下表示&Sigma;i=0NResidueN=&Sigma;i=0N-1ResidueN-1+ResidueN]]>用ResidueN=RateN-Desired_Rate代入得到&Sigma;i=0NResidueN=&Sigma;i=0N-1ResidueN-1+(RateN-Desired_Rate)]]>所以,第N個(gè)采樣間隔的余項(xiàng)之和還能夠以術(shù)語當(dāng)前余項(xiàng)和前一個(gè)余項(xiàng)如下表示當(dāng)前余項(xiàng)=前一余項(xiàng)+(當(dāng)前速率-期望速率)這里當(dāng)前速率如上所述進(jìn)行計(jì)算,前一余項(xiàng)與上一個(gè)采樣間隔余項(xiàng)之和有關(guān),并且期望速率被提供作為一個(gè)用戶輸入。
      使用速率整形的算法包括在每個(gè)采樣間隔都計(jì)算當(dāng)前速率和當(dāng)前余項(xiàng),即每個(gè)Δt,并且然后基于當(dāng)前余項(xiàng)的值產(chǎn)生一個(gè)開關(guān)控制信號(hào)。在一個(gè)實(shí)施例中,如果當(dāng)前余項(xiàng)小于或等于零,則產(chǎn)生使開關(guān)發(fā)送分組的控制信號(hào)(即,“1”),如果當(dāng)前余項(xiàng)大于零,則產(chǎn)生使開關(guān)保持分組的控制信號(hào)(即,“0”)。當(dāng)當(dāng)前余項(xiàng)小于或等于零時(shí)發(fā)送分組,因?yàn)橛囗?xiàng)之和表示獲得的速率當(dāng)前等于或低于期望速率,反之當(dāng)當(dāng)前余項(xiàng)大于零時(shí)則保持這些分組,因?yàn)橛囗?xiàng)之和表示獲得的速率當(dāng)前低于期望速率。使用該算法,在時(shí)間的擴(kuò)展周期中,分組流量獲得的速率將接近期望的速率。盡管在本實(shí)施例中,余項(xiàng)值為零且為發(fā)送和保持分組的關(guān)鍵值,在其他實(shí)施例中該值可能被數(shù)學(xué)操作為除了零之外的特定值。
      在一個(gè)實(shí)施例中,循環(huán)執(zhí)行速率整形算法,這里每個(gè)循環(huán)間隔為與采樣間隔相同的時(shí)間周期Δt。當(dāng)開始新的循環(huán)時(shí),要更新前一速率和前一余項(xiàng)的值以反映當(dāng)前的值。具體而言,在前一個(gè)循環(huán)中計(jì)算的當(dāng)前速率用于前一速率并且在前一個(gè)循環(huán)中計(jì)算的當(dāng)前余項(xiàng)用于前一余項(xiàng)。整個(gè)速率整形算法能夠以偽碼來表示,例如表示為//速率整形算法每個(gè)Δt執(zhí)行。
      //部分I更新速率和余項(xiàng)當(dāng)前速率=前一速率+Wa·C-Wb·前一速率;當(dāng)前余項(xiàng)=前一余項(xiàng)+(當(dāng)前速率-期望速率);//部分II更新切換控制如果(當(dāng)前余項(xiàng)<=0)Switch_Control=1;否則Switch_Control=0;前一速率=當(dāng)前速率;前一余項(xiàng)=當(dāng)前余項(xiàng);
      圖3A,3B,和3C為一系列時(shí)間同步圖,其表示實(shí)現(xiàn)上述速率整形算法的示例結(jié)果。圖3A為通過實(shí)現(xiàn)上述算法產(chǎn)生的速率輪廓圖。該圖描述了分組流量的當(dāng)前速率304的一個(gè)實(shí)例,該速率根據(jù)運(yùn)動(dòng)平均與分組流量的期望速率306相關(guān)的時(shí)間(以Δt增加)之比值而計(jì)算。圖3B為根據(jù)圖3A中的速率輪廓產(chǎn)生的余項(xiàng)328之和以及圖3C為響應(yīng)于余項(xiàng)之和根據(jù)速率整形算法產(chǎn)生的開關(guān)控制信號(hào)330的圖。在本實(shí)例中,開關(guān)控制信號(hào)“1”使得分組被發(fā)送以及開關(guān)控制信號(hào)“0”使得分組被保持。
      在描述圖3A-3C的示例結(jié)果中,假設(shè)在時(shí)間t0初始化該算法并且與此同時(shí)從緩沖器發(fā)送分組的突發(fā)。在時(shí)間t0的被發(fā)送分組使得當(dāng)前速率迅速上升,如圖3A所示。在時(shí)間t1,當(dāng)前速率的增加使得當(dāng)前余項(xiàng)從零變?yōu)榇笥诹愕奶囟ㄖ?,這反過來使得開關(guān)控制信號(hào)從“1”變?yōu)椤?”,從而保持任何剩余的被緩沖的被保留。盡管切換不是發(fā)送新的分組,但是分組流量的當(dāng)前速率在時(shí)間t0和t8之間如圖3A所示以當(dāng)前速率的向下斜率而降低。響應(yīng)于當(dāng)前速率,如圖3B所示,只要當(dāng)前速率高于期望速率則當(dāng)前余項(xiàng)就增加,一旦當(dāng)前速率低于期望速率就降低。當(dāng)前余項(xiàng)的響應(yīng)產(chǎn)生于如上所述的當(dāng)前余項(xiàng),當(dāng)前速率,和期望速率之間的關(guān)系。在當(dāng)前余項(xiàng)變得小于或等于零的該點(diǎn)上,開關(guān)控制信號(hào)從“0”改變?yōu)椤?”,以允許從緩沖器發(fā)送分組的其他突發(fā)。例如,在時(shí)間t8,當(dāng)前余項(xiàng)等于零,這使得開關(guān)控制信號(hào)從“0”變到“ 1”,如圖3C所示。當(dāng)開關(guān)控制信號(hào)變?yōu)椤?”時(shí),釋放分組的其他突發(fā)并且當(dāng)前速率迅速上升,如在時(shí)間t8通過當(dāng)前速率所示。參考圖3B和3C,每當(dāng)當(dāng)前余項(xiàng)變?yōu)榱銜r(shí)開關(guān)控制信號(hào)從“0”切換到“1”,然后一旦當(dāng)前余項(xiàng)增加到大于零則開關(guān)控制信號(hào)從“1”再切換回“0”。這種機(jī)制確保了在滿載的系統(tǒng)中整個(gè)平均流量速率保持在或接近期望速率。
      圖4描述了用于執(zhí)行上述速率整形算法的方法流程圖的實(shí)施例。在開始第一循環(huán)之前,在步驟434為速率整形算法設(shè)定期望速率值,Nc,和Δt。設(shè)定期望速率值,Nc,和Δt可能包括手動(dòng)用戶輸入或響應(yīng)于較寬QoS系統(tǒng)產(chǎn)生的自動(dòng)輸入。在第一循環(huán)開始時(shí),即步驟436,在步驟438設(shè)定前一速率和前一余項(xiàng)為零。在步驟440,獲取發(fā)送信息,C。在步驟442,如上所述使用所提供的表達(dá)式計(jì)算當(dāng)前速率。用于計(jì)算當(dāng)前速率的值包括前一速率,C,Wa,和Wb。在步驟444計(jì)算當(dāng)前速率之后,如上所述使用所提供的表達(dá)式計(jì)算當(dāng)前余項(xiàng)。用于計(jì)算當(dāng)前余項(xiàng)的值包括前一余項(xiàng),當(dāng)前速率,和期望速率。然后計(jì)算的當(dāng)前余項(xiàng)用于在判斷點(diǎn)446確定是否應(yīng)該發(fā)送或保持這些分組。如果當(dāng)前余項(xiàng)小于或等于零則,在步驟448,發(fā)送分組;如果當(dāng)前余項(xiàng)大于零,則在步驟450,保持該分組。在一個(gè)實(shí)施例中,發(fā)送分組包括產(chǎn)生一個(gè)打開開關(guān)的控制信號(hào),保持分組包括產(chǎn)生一個(gè)關(guān)斷開關(guān)的控制信號(hào)。在判斷點(diǎn)452作出發(fā)送或保持分組的判斷之后,如果采樣間隔Δt已終止,在步驟454開始下一個(gè)循環(huán)。為了開始下一個(gè)循環(huán),在步驟456,在上一循環(huán)計(jì)算的當(dāng)前速率值作為前一速率用于以下的速率計(jì)算,并在上一循環(huán)計(jì)算的當(dāng)前余項(xiàng)的值作為前一余項(xiàng)用于以下的余項(xiàng)計(jì)算。在設(shè)定前一速率和前一余項(xiàng)的值之后,獲得發(fā)送信息,C(步驟440)的方法,計(jì)算當(dāng)前速率(步驟442),計(jì)算當(dāng)前余項(xiàng)(步驟444),以及如上所述重復(fù)地確定是否發(fā)送或保持分組(判斷點(diǎn)446)。每Δt時(shí)間間隔連續(xù)地重復(fù)該過程。
      盡管當(dāng)速率整形系統(tǒng)的輸入緩沖器滿載時(shí)上述算法也工作正常,但是當(dāng)突發(fā)通過無流量的周期時(shí),速率整形算法可以允許發(fā)送發(fā)來的突發(fā)而不經(jīng)過速率整形。當(dāng)突發(fā)通過無流量的周期時(shí),可能發(fā)送這些分組而不經(jīng)過速率整形,因?yàn)闊o流量的周期將允許積累相對(duì)大的負(fù)余項(xiàng)。根據(jù)上述算法,只要當(dāng)前余項(xiàng)保持低于零,則相對(duì)大的負(fù)余項(xiàng)將允許發(fā)送分組的突發(fā)脈沖。為了在無流量周期過后防止流量的大量突發(fā),在特定情況下,將當(dāng)前速率和當(dāng)前余項(xiàng)的值人工控制為預(yù)先設(shè)立的門限。具體而言,在一個(gè)實(shí)施例中,控制當(dāng)前速率以便不允許它降低到低于預(yù)先設(shè)立的速率,這里稱之為初始化速率,并控制當(dāng)前余項(xiàng)以便它不會(huì)降低到低于零。保證當(dāng)前速率和當(dāng)前余項(xiàng)不會(huì)降低到低于特定的門限這樣控制能夠從無流量的前一個(gè)周期所“借”的帶寬量。圖5A和5B描述了無流量周期所引起的問題以及對(duì)當(dāng)前速率和當(dāng)前余項(xiàng)所作的調(diào)整以保證所有的分組被速率整形,即使在無流量周期過后。圖5A描述了使用速率整形算法產(chǎn)生的速率輪廓圖,以及圖5B為由圖5A的速率輪廓而產(chǎn)生的余項(xiàng)之和的時(shí)間同步圖。
      參考圖5A,為了示例的目的假設(shè),在時(shí)間t0流量的初始化突發(fā)之后跟隨一個(gè)無流量的周期。當(dāng)時(shí)間經(jīng)歷時(shí),計(jì)算的當(dāng)前速率504向零降低除非手動(dòng)進(jìn)行調(diào)整。為了保持當(dāng)前速率為最小值,調(diào)整當(dāng)前速率為預(yù)定的初始速率556,而不論何時(shí)計(jì)算的當(dāng)前速率低于初始速率。圖5A描述了如何調(diào)整當(dāng)前速率為預(yù)定的初始速率,而不論何時(shí)計(jì)算的當(dāng)前速率低于初始速率。
      在一個(gè)實(shí)施例中,使用模擬來找到初始速率值。該模擬用于找到在滿載有分組的系統(tǒng)中產(chǎn)生的當(dāng)前速率的最小值。然后產(chǎn)生的最小值被設(shè)定作為初始速率。在一個(gè)實(shí)施例中,當(dāng)開始模擬時(shí),初始化當(dāng)前速率為期望速率。
      參考圖5B,不論何時(shí)來自圖5A的當(dāng)前速率504小于期望速率506,都將減少當(dāng)前余項(xiàng)528。當(dāng)當(dāng)前速率小于期望速率時(shí)除非手動(dòng)地調(diào)整它,否則當(dāng)前余項(xiàng)將無期限地減少。為了將當(dāng)前余項(xiàng)保持在最小值,不論何時(shí)計(jì)算的當(dāng)前余項(xiàng)小于零,都將當(dāng)前余項(xiàng)調(diào)整為零。圖5B描述了已被調(diào)整為零的當(dāng)前余項(xiàng)的一部分,因?yàn)橛?jì)算的當(dāng)前余項(xiàng)小于零。盡管在本實(shí)施例中,當(dāng)前余項(xiàng)被調(diào)整為當(dāng)前余項(xiàng)的最小值零,但是當(dāng)前余項(xiàng)能夠被調(diào)整為某些其他的最小門限值。
      用于更新的速率整形算法的偽碼的一個(gè)實(shí)施例如下//經(jīng)修改的速率整形算法每個(gè)Δt執(zhí)行。
      //部分I更新速率和余項(xiàng)當(dāng)前速率=前一速率+Wa·C-Wb·前一速率;如果(當(dāng)前速率<初始速率)當(dāng)前速率=初始速率;當(dāng)前余項(xiàng)=前一余項(xiàng)+(當(dāng)前速率-期望速率);如果(當(dāng)前余項(xiàng)<0)當(dāng)前余項(xiàng)=0;//部分II更新切換控制如果(當(dāng)前佘項(xiàng)=0)Switch_Control=1;否則Switch_Control=0;前一速率=當(dāng)前速率;前一余項(xiàng)=當(dāng)前余項(xiàng);圖6描述了用于執(zhí)行經(jīng)過上述修改的圖4的速率整形算法的方法流程圖。該方法流程圖類似于圖4的方法流程圖,除了在步驟634設(shè)立除其他參數(shù)之外的初始速率,在其他步驟660,如果當(dāng)前速率小于初始速率則將當(dāng)前速率設(shè)定為初始速率,在其他步驟662,如果當(dāng)前余項(xiàng)小于零則將當(dāng)前余項(xiàng)設(shè)定為零,并且在判斷點(diǎn)646,如果當(dāng)前余項(xiàng)等于零則發(fā)送分組,如果當(dāng)前余項(xiàng)大于零則保持該分組。
      在一個(gè)可替換的實(shí)施例中,能夠在多緩沖器系統(tǒng)中實(shí)現(xiàn)上述速率整形算法以允許連接到相同鏈路的其他緩沖器使用可用的帶寬。具體而言,當(dāng)?shù)诙彌_器不能保持任何分組時(shí)(即,當(dāng)?shù)诙彌_器未充分使用它的可用帶寬),多緩沖器系統(tǒng)允許將分配給第二緩沖器的帶寬由第一緩沖器借用。圖7描述了連接到公共輸出鏈路764并受緩沖器專用開關(guān)714所控制的兩個(gè)緩沖器(緩沖器1和緩沖器2)712的示例性實(shí)施例。每個(gè)緩沖器專用開關(guān)通過緩沖器專用選擇器766與兩個(gè)緩沖器專用速率整形器716和717相連接。緩沖器專用速率整形器實(shí)現(xiàn)了兩種版本的上述速率整形算法。如虛線768所示,每個(gè)選擇器從其他緩沖器接收緩沖器狀態(tài)信息并且如線722所示,每個(gè)速率整形器接收與其各自的緩沖器相關(guān)的實(shí)際發(fā)送信息。
      在圖7的實(shí)施例中,假設(shè)從緩沖器1發(fā)送的速率需要控制為期望速率并且發(fā)送的速率能夠被控制為最大速率,如果在公共輸出鏈路764上存在可用的未使用帶寬。對(duì)于緩沖器2保持相同。為了在每個(gè)緩沖器都獲得期望的速率整形,兩個(gè)速率整形器與每個(gè)緩沖器相關(guān)聯(lián)。參考緩沖器1,一個(gè)速率整形器,RS1_Desired716,設(shè)定速率整形緩沖器1為期望速率(即,算法中的期望速率域被設(shè)定為期望速率)并且另一個(gè)速率整形器,RS1_Maximum717,設(shè)定速率整形緩沖器1為最大速率(即,算法中的期望速率域被設(shè)定為最大速率)。同樣,參考緩沖器2,RS2_Desired716,設(shè)定速率整形緩沖器2為期望速率(即,算法中的期望速率域被設(shè)定為期望速率)并且另一個(gè)速率整形器,RS2_Maximum717,設(shè)定速率整形緩沖器2為最大速率(即,算法中的期望速率域被設(shè)定為最大速率)。在圖7的實(shí)施例中,當(dāng)每個(gè)緩沖器中存在流量時(shí),那么通過速率整形器RS1_Desired和RS2_Desired分別將每個(gè)緩沖器控制為它的期望速率。但是,如果其中的一個(gè)緩沖器沒有已緩沖的流量,那么能夠允許其他緩沖器上升到其最大速率。
      參考圖7和圖8為了示例的目的描述了利用雙速率整形器對(duì)緩沖器1速率整形。圖8描述了選擇器766為緩沖器1實(shí)現(xiàn)的邏輯矩陣770的實(shí)例。如果從RS1_Desired716輸出的控制信號(hào)為“1”,表示能夠從緩沖器1發(fā)送分組,那么選擇器輸出一個(gè)控制信號(hào)“1”到開關(guān)并發(fā)送該分組。不管RS1_Maximum717的值如何以及是否在緩沖器2中存在分組,選擇器將輸出控制信號(hào)“1”。如果從RS1_Desired輸出的控制信號(hào)為“0”,以及RS1_Maximum輸出的控制信號(hào)為“0”,那么選擇器輸出一個(gè)控制信號(hào)“0”到開關(guān)而不管在緩沖器2中是否存在分組。如果從RS1_Desired輸出的控制信號(hào)為“0”,以及RS1_Maximum輸出的控制信號(hào)為“1”,那么選擇器將查詢緩沖器2的狀態(tài)以確定是否能夠發(fā)送分組。如果在緩沖器2中存在分組,選擇器則輸出一個(gè)控制信號(hào)“0”并從緩沖器1不發(fā)送任何分組。不從緩沖器1發(fā)送分組因?yàn)椋A粲糜诰彌_器2中分組的帶寬不能由其他緩沖器使用。但是,如果在緩沖器2中不存在分組并且RS1_Maximum為“1”,那么用于開關(guān)1的選擇器將輸出一個(gè)控制信號(hào)“1”到開關(guān)1,并將從緩沖器1發(fā)送分組。從緩沖器1發(fā)送分組受到RS1_Maximum的控制,只要在緩沖器2中不存在任何分組以及RS1_Desired保持為“0”。
      能夠依比例決定參考圖7所述的系統(tǒng)包括控制多于兩個(gè)的緩沖器。在依比例決定的系統(tǒng)中,用于每個(gè)緩沖器的選擇器監(jiān)視所有其他緩沖器的緩沖器狀態(tài),或其他緩沖器的某些組合并使用緩沖器信息確定是否能夠以指定的最大速率來發(fā)送分組。
      上述速率整形算法還能夠用于同時(shí)控制多個(gè)緩沖器。圖9描述了其中通過相同速率整形邏輯控制多個(gè)緩沖器的QoS系統(tǒng)的一個(gè)實(shí)施例。QoS系統(tǒng)包括一個(gè)分組分類器972,緩沖器訪問控制器974,存儲(chǔ)器976,速率整形邏輯916,以及調(diào)度器978。存儲(chǔ)器包括多個(gè)受緩沖器專用開關(guān)914控制的緩沖器(即,緩沖器1到M)。緩沖器專用開關(guān)中的每一個(gè)通過如上所述的速率整形邏輯控制。速率整形邏輯接收與各自的輸出鏈路920相關(guān)的實(shí)際發(fā)送信息,并使用實(shí)際發(fā)送信息執(zhí)行速率整形算法和產(chǎn)生開關(guān)控制信號(hào)。
      在工作中,分類器972確定每個(gè)發(fā)來的分組應(yīng)該被緩沖到哪個(gè)緩沖器中。在分組分類之后,緩沖器訪問控制器974確定是否能夠?qū)⒎纸M轉(zhuǎn)發(fā)到它們的適當(dāng)緩沖器中。在一個(gè)實(shí)施例中,緩沖器訪問控制器使用加權(quán)隨機(jī)提前丟棄(WRED)算法確定是否應(yīng)該將分類的分組轉(zhuǎn)發(fā)到各個(gè)緩沖器。速率整形邏輯916確定是否通過調(diào)度器978接收緩沖的分組。在一個(gè)實(shí)施例中,速率整形邏輯在每個(gè)循環(huán)中為每個(gè)緩沖器執(zhí)行參考圖6所描述的步驟并輸出開關(guān)控制信號(hào)(Switch_1_Control和Switch_M_Control)給各個(gè)開關(guān)。根據(jù)開關(guān)的狀態(tài),調(diào)度器發(fā)送分組。例如,發(fā)送分組可能用于通過切換結(jié)構(gòu)進(jìn)行切換。
      在一個(gè)實(shí)施例中,在硬件中實(shí)現(xiàn)參考圖2到9描述的速率整形算法。如上所述,當(dāng)前速率的計(jì)算需要兩步乘法運(yùn)算。在硬件實(shí)現(xiàn)中,乘法運(yùn)算需要相對(duì)大量的資源并且期望限制硬件實(shí)現(xiàn)所需的資源。一種減少乘法運(yùn)算所需資源的方法是將乘法運(yùn)算減少為移位。以下將描述其中將兩步乘法運(yùn)算減少為移位的速率整形算法的硬件實(shí)施例。
      加權(quán)常量Wa如上定義為1/(NC·Δt),NC為時(shí)間間隔的數(shù)量。NC能夠被選擇為2的冪并且在一個(gè)實(shí)施例中,NC為位于(包括)29到213之間的2的冪。如上所述,每Δt時(shí)間間隔執(zhí)行一次該算法。為了將乘法運(yùn)算減少為移位,還選擇時(shí)間間隔Δt以便它為2的冪,更具體而言,2的負(fù)冪。在一個(gè)實(shí)施例中,時(shí)間間隔Δt為硬件時(shí)鐘時(shí)間(或周期)以及受速率整形算法控制的緩沖器數(shù)量的函數(shù)。在優(yōu)選實(shí)施例中,Δt應(yīng)該大于時(shí)鐘時(shí)間乘以受速率整形算法控制的緩沖器數(shù)量(即,Δt>時(shí)鐘時(shí)間·緩沖器數(shù)量),從而能夠?yàn)槊總€(gè)緩沖器在每個(gè)Δt時(shí)間中更新當(dāng)前速率,當(dāng)前余項(xiàng),以及開關(guān)。注意到假設(shè)需要花費(fèi)一個(gè)時(shí)鐘周期來為單個(gè)的緩沖器更新當(dāng)前速率,當(dāng)前余項(xiàng),以及開關(guān)。表1提供了Δt的示例值,該值能夠用作受速率整形算法控制的緩沖器數(shù)量的函數(shù)以及時(shí)鐘周期的函數(shù)。該表還包括了能夠使用的最小Δt以及選擇作為2的負(fù)冪的Δt。
      表1

      加權(quán)常量定義1/(NC·Δt)。Wra常量定義為Wra=log2(Wa)并且如果1/(NC·Δt)為2的冪并且大于1,那么Wa·C減少為以下式子Wa·C≈(C<<Wra)因此,乘法運(yùn)算被減少為向左移位運(yùn)算。
      加權(quán)常量Wb定義為1/N。常量Wrb能夠定義為Wrb=log2(Wb)并且如果1/N大于2的冪并小于1,那么Previous_Rate·Wb減少為以下式子Previous_Rate·Wb≈(Previous_Rate>>W(wǎng)b)因此,乘法運(yùn)算被減少為向右移位運(yùn)算。
      由于移位導(dǎo)致丟失比特,所以可能降低計(jì)算的精確性。為了避免精確性的降低,實(shí)施定點(diǎn)運(yùn)算并且十進(jìn)制之后的比特?cái)?shù)量稱為精確度。硬件實(shí)現(xiàn)的速率整形算法能夠以偽碼來表示,為了示例的目的,如下表示//硬件實(shí)現(xiàn)的速率整形算法每個(gè)Δt執(zhí)行。
      //部分I更新速率和余項(xiàng)當(dāng)前速率=前一速率+((C<<精確度)<<Wra)-(前一速率>>W(wǎng)rb);如果(當(dāng)前速率<初始速率)當(dāng)前速率=初始速率;當(dāng)前余項(xiàng)=前一余項(xiàng)+(當(dāng)前速率-期望速率);如果(當(dāng)前余項(xiàng)<0)當(dāng)前余項(xiàng)=0;//部分II更新切換控制如果(當(dāng)前余項(xiàng)=0)開關(guān)控制=1;否則開關(guān)控制=0;前一速率=當(dāng)前速率;前一余項(xiàng)=當(dāng)前余項(xiàng);在一個(gè)實(shí)施例中,在使用可變長(zhǎng)度分組的環(huán)境中實(shí)現(xiàn)速率整形算法,例如,以太網(wǎng)環(huán)境,但是,速率整形算法還能夠在使用固定長(zhǎng)度單元(如分組)的環(huán)境中實(shí)現(xiàn)。例如,異步傳輸模式(ATM)環(huán)境。
      盡管這里實(shí)現(xiàn)的算法用于完成速率整形,但是該算法還能夠用于完成速率限制或任何其他速率控制技術(shù)。當(dāng)該算法用于速率限制時(shí),當(dāng)當(dāng)前余項(xiàng)低于門限(即零)時(shí)丟棄分組,并且當(dāng)當(dāng)前余項(xiàng)高于門限時(shí)發(fā)送該分組。
      在上述算法的實(shí)施例中,以特定的方式使用提供的方程來計(jì)算當(dāng)前速率和期望速率之間的誤差之和。但是,應(yīng)該理解,可以以不同方式來計(jì)算當(dāng)前速率和期望速率之間的誤差之和而不偏離這里所描述的并且以下請(qǐng)求保護(hù)的本發(fā)明的范圍和實(shí)質(zhì)。
      不論以硬件或軟件來實(shí)現(xiàn)速率整形算法,通過簡(jiǎn)單地調(diào)整任何用戶輸入域,如初始速率,期望速率,Δt和Nc都能容易地調(diào)整算法性能。對(duì)于初始速率,較低的初始速率可有效地允許從無流量的前一周期“借”更多的帶寬,允許在靜默周期過后大量的分組突發(fā)流動(dòng)。對(duì)于Δt,較大的Δt趨于使得流量輪廓更具突發(fā)性,因?yàn)殚_關(guān)更新之間的時(shí)間周期較長(zhǎng)。對(duì)于Nc,Nc的值越小,則計(jì)算的當(dāng)前速率將越更接近地跟蹤瞬時(shí)速率,產(chǎn)生了較快的響應(yīng)時(shí)間。通理,Nc的值越大,計(jì)算的當(dāng)前速率將不能更接近地跟蹤瞬時(shí)速率,產(chǎn)生了較慢的響應(yīng)時(shí)間。
      速率整形算法能夠在一個(gè)宏觀層次上實(shí)現(xiàn),其中開關(guān)表示網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)或在較低層次上實(shí)現(xiàn),其中開關(guān)控制從特定緩沖器的發(fā)送功能。而且,開關(guān)能夠是控制分組流入鏈路的任何機(jī)制。
      盡管已經(jīng)描述并示例了本發(fā)明的具體實(shí)施例,但是本發(fā)明并不限制于這些描述和示例的具體形式或部分安排。本發(fā)明僅僅通過權(quán)利要求書來限定。
      權(quán)利要求
      1.一種用于控制基于分組的流量流動(dòng)以滿足期望速率的方法,該方法包括計(jì)算在一個(gè)鏈路上基于分組流量的作為運(yùn)動(dòng)平均的當(dāng)前速率;計(jì)算所述計(jì)算的當(dāng)前速率和所述期望速率之間的誤差之和;以及響應(yīng)于所述計(jì)算的誤差之和以確定分組是否能夠流動(dòng)。
      2.根據(jù)權(quán)利要求1所述的方法其中確定分組是否能夠流動(dòng)包括如果所述誤差之和小于誤差門限則允許分組流動(dòng),以及如果所述誤差之和大于所述誤差門限,則不允許分組流動(dòng)。
      3.根據(jù)權(quán)利要求1所述的方法其中確定分組是否能夠流動(dòng)包括如果所述誤差之和小于或等于零則允許分組流動(dòng),如果所述誤差之和大于零則不允許分組流動(dòng)。
      4.根據(jù)權(quán)利要求1所述的方法其中確定分組是否能夠流動(dòng)包括當(dāng)所述誤差之和表示獲得的流量速率低于期望速率時(shí)允許分組流動(dòng),而當(dāng)所述誤差之和表示獲得的流量速率高于期望速率時(shí)則不允許分組流動(dòng)。
      5.根據(jù)權(quán)利要求1所述的方法還包括為所述當(dāng)前速率設(shè)立一個(gè)最小值并且當(dāng)所述當(dāng)前速率低于所述最小值時(shí)調(diào)整所述當(dāng)前速率的值。
      6.根據(jù)權(quán)利要求1所述的方法包括為所述誤差之和設(shè)立一個(gè)最小值并且當(dāng)所述誤差之和低于所述最小值時(shí)調(diào)整所述誤差之和的值。
      7.根據(jù)權(quán)利要求1所述的方法還包括為所述當(dāng)前速率和所述誤差之和設(shè)立一個(gè)最小值;如果所述當(dāng)前速率低于用于所述當(dāng)前速率的所述最小值時(shí)調(diào)整所述當(dāng)前速率的值;和如果所述誤差之和低于用于所述誤差之和的所述最小值時(shí)調(diào)整所述誤差之和的值。
      8.根據(jù)權(quán)利要求1所述的方法,其中使用與所述鏈路相關(guān)的實(shí)際流量信息計(jì)算所述當(dāng)前速率。
      9.根據(jù)權(quán)利要求1所述的方法,其中計(jì)算所述當(dāng)前速率和所述誤差之和以及確定是否分組能夠流動(dòng)在每個(gè)循環(huán)周期重復(fù)一次,其中循環(huán)每Δt發(fā)生一次。
      10.根據(jù)權(quán)利要求1所述的方法,其中將所述當(dāng)前速率計(jì)算為加權(quán)的運(yùn)動(dòng)平均。
      11.根據(jù)權(quán)利要求10所述的方法其中所述當(dāng)前速率如下計(jì)算當(dāng)前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特?cái)?shù)量,Wa和Wb為加權(quán)。
      12.根據(jù)權(quán)利要求11所述的方法其中用于下一計(jì)算周期的所述前一速率被設(shè)定為上一計(jì)算周期所計(jì)算的當(dāng)前速率。
      13.根據(jù)權(quán)利要求11所述的方法其中Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
      14.根據(jù)權(quán)利要求11所述的方法其中Wa定義為Wa=1/(NC·Δt),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
      15.根據(jù)權(quán)利要求11所述的方法其中Wb為NC的函數(shù),這里NC為采樣間隔的數(shù)量。
      16.根據(jù)權(quán)利要求11所述的方法其中Wb定義為Wb=1/NC,這里NC為采樣間隔的數(shù)量。
      17.根據(jù)權(quán)利要求11所述的方法還包括設(shè)立一個(gè)初始速率并且如果所述當(dāng)前速率降低到低于所述初始速率時(shí)將所述當(dāng)前速率調(diào)整到所述初始速率。
      18.根據(jù)權(quán)利要求11所述的方法其中所述誤差之和如下計(jì)算當(dāng)前誤差=前一誤差+(當(dāng)前速率-期望速率)。
      19.根據(jù)權(quán)利要求18所述的方法還包括為所述當(dāng)前誤差建立一個(gè)最小門限并且如果所述當(dāng)前誤差降低到低于所述門限時(shí)將當(dāng)前誤差調(diào)整為所述門限。
      20.根據(jù)權(quán)利要求18所述的方法其中用于下一計(jì)算周期的所述前一誤差被設(shè)定為上一計(jì)算周期所計(jì)算的當(dāng)前誤差。
      21.根據(jù)權(quán)利要求18所述的方法其中如果所述當(dāng)前誤差小于或等于零則允許分組流動(dòng),如果所述當(dāng)前誤差大于零則不允許分組流動(dòng)。
      22.根據(jù)權(quán)利要求1所述的方法還包括響應(yīng)于分組是否能夠流動(dòng)的所述確定接通或關(guān)斷開關(guān)。
      23.一種用于控制輸入鏈路和輸出鏈路之間基于分組的流量流動(dòng)以滿足期望速率的系統(tǒng),該系統(tǒng)包括連接于所述輸入鏈路和所述輸出鏈路之間的開關(guān),當(dāng)所述開關(guān)接通時(shí)允許流量從所述輸入鏈路向所述輸出鏈路流動(dòng),當(dāng)所述開關(guān)關(guān)斷時(shí)不允許分組流動(dòng);和連接控制所述開關(guān)的速率整形邏輯,所述速率整形邏輯包括的裝置用于;計(jì)算在所述輸入和輸出鏈路其中之一上基于分組流量的作為運(yùn)動(dòng)平均的當(dāng)前速率;計(jì)算所述計(jì)算的當(dāng)前速率和所述期望速率之間的誤差之和;以及響應(yīng)于所述計(jì)算的誤差之和確定分組是否能夠通過所述輸出鏈路流動(dòng)。
      24.根據(jù)權(quán)利要求23所述的系統(tǒng)其中確定分組是否能夠流動(dòng)包括,如果所述誤差之和低于誤差門限則允許分組流動(dòng),以及如果所述誤差之和高于所述誤差門限,則不允許分組流動(dòng)。
      25.根據(jù)權(quán)利要求23所述的系統(tǒng)其中確定分組是否能夠流動(dòng)包括,如果所述誤差之和小于或等于零則允許分組流動(dòng),如果所述誤差之和大于零則不允許分組流動(dòng)。
      26.根據(jù)權(quán)利要求23所述的系統(tǒng)確定分組是否能夠流動(dòng)包括,當(dāng)所述誤差之和表示獲得的流量速率低于期望速率時(shí)允許分組流動(dòng),而當(dāng)所述誤差之和表示獲得的流量速率高于期望速率時(shí)則不允許分組流動(dòng)。
      27.根據(jù)權(quán)利要求23所述的系統(tǒng)其中所述速率整形邏輯包括用于為所述當(dāng)前速率建立一個(gè)最小值并且當(dāng)所述當(dāng)前速率低于所述最小值時(shí)調(diào)整所述當(dāng)前速率值的邏輯。
      28.根據(jù)權(quán)利要求23所述的系統(tǒng)其中所述速率整形邏輯包括為所述誤差之和建立一個(gè)最小值并且當(dāng)所述誤差之和低于所述最小值時(shí)調(diào)整所述誤差之和的值的邏輯。
      29.根據(jù)權(quán)利要求23所述的系統(tǒng)其中所述速率整形邏輯包括的邏輯用于為所述當(dāng)前速率和所述誤差之和建立一個(gè)最小值;如果所述當(dāng)前速率低于用于所述當(dāng)前速率的所述最小值時(shí)調(diào)整所述當(dāng)前速率的值;和如果所述誤差之和低于用于所述誤差之和的所述最小值時(shí)調(diào)整所述誤差之和的值。
      30.根據(jù)權(quán)利要求23所述的系統(tǒng)其中使用與所述輸入和輸出鏈路相關(guān)的實(shí)際流量信息計(jì)算所述當(dāng)前速率。
      31.根據(jù)權(quán)利要求23所述的系統(tǒng)其中計(jì)算所述當(dāng)前速率和所述誤差之和以及確定是否分組能夠從所述鏈路流動(dòng)在每個(gè)循環(huán)周期重復(fù)一次,其中循環(huán)每Δt發(fā)生一次。
      32.根據(jù)權(quán)利要求23所述的系統(tǒng)其中所述當(dāng)前速率被計(jì)算為加權(quán)的運(yùn)動(dòng)平均。
      33.根據(jù)權(quán)利要求32所述的系統(tǒng)其中所述當(dāng)前速率如下計(jì)算當(dāng)前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特?cái)?shù)量,Wa和Wb為加權(quán)。
      34.根據(jù)權(quán)利要求33所述的系統(tǒng)其中用于下一計(jì)算周期的所述前一速率被設(shè)定為上一計(jì)算周期所計(jì)算的當(dāng)前速率。
      35.根據(jù)權(quán)利要求33所述的系統(tǒng)其中Wa為NC和Δt的函數(shù),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
      36.根據(jù)權(quán)利要求33所述的系統(tǒng)其中Wa定義為Wa=1/(NC·Δt),這里Δt為采樣間隔和NC為所述采樣間隔的數(shù)量。
      37.根據(jù)權(quán)利要求33所述的系統(tǒng)其中Wb為NC的函數(shù),這里NC為采樣間隔的數(shù)量。
      38.根據(jù)權(quán)利要求33所述的系統(tǒng)其中Wb定義為Wb=1/NC,這里NC為采樣間隔的數(shù)量。
      39.根據(jù)權(quán)利要求33所述的系統(tǒng)其中所述速率整形邏輯還包括用于建立一個(gè)初始速率并且如果所述當(dāng)前速率降低到低于所述初始速率時(shí)將所述當(dāng)前速率調(diào)整為所述初始速率的邏輯。
      40.根據(jù)權(quán)利要求33所述的系統(tǒng)其中所述誤差之和如下計(jì)算當(dāng)前誤差=前一誤差+(當(dāng)前速率-期望速率)。
      41.根據(jù)權(quán)利要求40所述的系統(tǒng)其中所述速率整形邏輯還包括的邏輯用于為所述當(dāng)前誤差建立一個(gè)最小門限并且如果所述當(dāng)前誤差降低到低于所述門限時(shí)將當(dāng)前誤差調(diào)整為所述門限。
      42.根據(jù)權(quán)利要求40所述的系統(tǒng)其中用于下一計(jì)算周期的所述前一誤差被設(shè)定為上一計(jì)算周期所計(jì)算的當(dāng)前誤差。
      43.根據(jù)權(quán)利要求40所述的系統(tǒng)其中如果所述當(dāng)前誤差小于或等于零則允許分組流動(dòng),如果所述當(dāng)前誤差大于零則不允許分組流動(dòng)。
      44.根據(jù)權(quán)利要求23所述的系統(tǒng)還包括響應(yīng)于分組是否能夠從所述鏈路流動(dòng)的所述確定接通或關(guān)斷開關(guān)。
      45.一種用于控制基于分組的流量從緩沖器流動(dòng)到輸出鏈路以滿足期望速率的方法,該方法包括計(jì)算在所述輸出鏈路上基于分組流量的作為運(yùn)動(dòng)平均的當(dāng)前速率;計(jì)算所述計(jì)算的當(dāng)前速率和所述期望速率之間的誤差之和;以及響應(yīng)于所述計(jì)算的誤差之和確定分組是否能夠從所述緩沖器發(fā)送到所述輸出鏈路。
      46.根據(jù)權(quán)利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,如果所述誤差之和小于誤差門限則允許從所述緩沖器發(fā)送分組,以及如果所述誤差之和大于所述誤差門限,則不允許從所述緩沖器發(fā)送分組。
      47.根據(jù)權(quán)利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,如果所述誤差之和小于或等于零則允許從所述緩沖器發(fā)送分組,如果所述誤差之和大于零則不允許從所述緩沖器發(fā)送分組。
      48.根據(jù)權(quán)利要求45所述的方法其中確定是否能夠從所述緩沖器發(fā)送分組包括,當(dāng)所述誤差之和表示獲得的流量速率低于期望速率時(shí)允許從所述緩沖器發(fā)送分組,而當(dāng)所述誤差之和表示獲得的流量速率高于期望速率時(shí)則不允許從所述緩沖器發(fā)送分組。
      49.根據(jù)權(quán)利要求45所述的方法還包括,通過為所述當(dāng)前速率建立一個(gè)最小值來控制分組突發(fā)的大小并且當(dāng)所述當(dāng)前速率低于所述建立的最小值時(shí)調(diào)整所述當(dāng)前速率的值。
      50.根據(jù)權(quán)利要求45所述的方法還包括,通過為所述誤差之和建立一個(gè)最小值來控制分組突發(fā)的大小并且當(dāng)所述誤差之和低于所述建立的最小值時(shí)調(diào)整所述誤差之和的值。
      51.根據(jù)權(quán)利要求45所述的方法還包括為所述當(dāng)前速率和所述誤差之和建立一個(gè)最小值;通過當(dāng)所述當(dāng)前速率低于用于所述當(dāng)前速率的所述建立的最小值時(shí)調(diào)整所述當(dāng)前速率的值來控制分組突發(fā)的大?。缓屯ㄟ^當(dāng)所述誤差之和低于用于所述誤差之和的所述建立的最小值時(shí)調(diào)整所述誤差之和的值來控制分組突發(fā)的大小。
      52.根據(jù)權(quán)利要求45所述的方法其中所述當(dāng)前速率如下計(jì)算當(dāng)前速率=前一速率+(Wa·C-Wb·前一速率),這里C表示比特?cái)?shù)量,Wa和Wb為加權(quán)。
      53.根據(jù)權(quán)利要求52所述的方法還包括建立一個(gè)初始速率并且如果所述當(dāng)前速率降低到低于所述初始速率時(shí)將所述當(dāng)前速率調(diào)整為所述初始速率。
      54.根據(jù)權(quán)利要求52所述的方法其中所述誤差之和如下計(jì)算當(dāng)前誤差=前一誤差+(當(dāng)前速率-期望速率)。
      55.根據(jù)權(quán)利要求54所述的方法還包括為所述當(dāng)前誤差建立一個(gè)最小門限并且如果所述當(dāng)前誤差降低到低于所述門限時(shí)將當(dāng)前誤差調(diào)整為所述門限。
      全文摘要
      本發(fā)明涉及一種用于在基于分組的計(jì)算機(jī)網(wǎng)絡(luò)中速率整形的方法和系統(tǒng)。在控制基于分組的流量的流動(dòng)以滿足期望的速率,包括計(jì)算在一個(gè)鏈路上基于分組流量的作為運(yùn)動(dòng)平均的當(dāng)前速率,計(jì)算所計(jì)算的當(dāng)前速率和期望速率之間的誤差之和,并響應(yīng)于所述計(jì)算的誤差之和以確定分組是否能夠流動(dòng)。當(dāng)計(jì)算的當(dāng)前速率和期望速率之間的誤差之和表示當(dāng)前速率小于期望速率時(shí),允許分組流動(dòng),而當(dāng)所述誤差之和表示當(dāng)前速率大于期望速率時(shí),則不允許分組流動(dòng)。通過人工控制當(dāng)前速率的最小值和誤差之和還能夠控制突發(fā)的數(shù)量。流控制算法能夠用于速率整形或速率限制。
      文檔編號(hào)H04L25/02GK1618024SQ02827774
      公開日2005年5月18日 申請(qǐng)日期2002年12月5日 優(yōu)先權(quán)日2001年12月5日
      發(fā)明者桑迪普·洛達(dá), 迪派克·阿特雷施 申請(qǐng)人:瑞通網(wǎng)絡(luò)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1