專利名稱:一種擁塞控制方法
技術領域:
本發(fā)明涉及通訊領域,具體涉及一種對通訊過程中可能出現(xiàn)的突發(fā)流
量進行流量整形(Traffic Shaping )的擁塞控制方法。
背景技術:
在交換機、路由器、服務器網(wǎng)絡發(fā)包、光通信等領域都需要用到擁塞 4空制(congestion control) #支術。
漏桶算法(Leaky Bucket)是通訊領域的擁塞控制中流量整形(Traffic Shaping)或即時速率限制(Rate Limiting )時經(jīng)常使用的一種算法,它的 主要目的是控制信元注入到信道的速率,平滑信道上的突發(fā)流量。漏桶算 法提供了一種機制,通過它,突發(fā)流量可以被整形以便為信道提供一個穩(wěn) 定的流量,降低信道出現(xiàn)擁塞的機率。
漏桶算法的思想很簡單,就是設計一個具有漏桶特性的緩沖器。如果 用一個底部開有小孔的桶接水,那么不論向里倒水的速度是否變化,水從 孔中流出的速度都是恒定的,只有桶空了,水的流出速率才變?yōu)榱?。如?不顧桶的大小,以太高的速度向里倒水,水就會從上沿溢出。
實現(xiàn)上,漏桶可被設計為一個緩沖區(qū)和緩沖區(qū)計數(shù)器,每當信息源產(chǎn) 生一個信元時緩沖區(qū)計數(shù)值加1,并把信元保存在緩沖區(qū),同時按照一個 適當?shù)乃俾蔲,從緩沖區(qū)取出信元,輸出到信道中去。當緩沖區(qū)計數(shù)值達 到i殳定的閾值N時,新到達的信元將被丟棄或^^皮標識。
漏桶的兩個控制參數(shù)是漏出速率f和緩沖區(qū)容量N,這兩個控制參數(shù) 要根據(jù)提交的業(yè)務量的特性來設定。
緩沖區(qū)的大小會影響到信元到達目的地的延遲,因此緩沖區(qū)的大小是 根據(jù)通訊設備的能力或業(yè)務對延遲的耐受能力所確定的。如果信元的輸入
質(zhì)量較好,也可以選擇使用一個更小緩沖區(qū)。
漏桶算法的實現(xiàn)需要解決一個問題,就是通過合理的策略,設置漏出 速率f和緩沖區(qū)容量N,并在需要予以更新。
漏桶算法的實現(xiàn)需要解決一個問題是盡量避免丟棄信元。
漏桶算法漏出速率的確定方式是多種多樣的, 一般有
(1) 通過信道輸出端口的最大速率確定;
(2) 根據(jù)業(yè)務類型固定設計,例如在流媒體通訊中,可以根據(jù)節(jié)目 源的碼率設定;
(3) 平均輸入速率法,即根據(jù)最近進入(或輸出)的信元的平均速 率設定;
一般情況下,為了廣泛地適應于不同的業(yè)務場合,都釆用平均輸入速 率法確定漏出速率,這樣可以構造一個統(tǒng)一的自適應動態(tài)漏桶算法,方便 地應用于不同業(yè)務類型、不同的速率或不同流量特性的通訊擁塞控制中。
有些CBR業(yè)務,即固定碼率業(yè)務,例如流媒體業(yè)務,要求輸出碼率 抖動小,實際上,就是需要把漏出速率的變動限制在一個很小的范圍內(nèi)。
在固定碼率業(yè)務中,信元的輸入在極短時間內(nèi),可能存在突發(fā)流量, 或在短時間斷流,但在一段稍長時間內(nèi),它的平均輸入速率是穩(wěn)定的。采 用平均輸入速率法的自適應動態(tài)漏桶,可以4艮好地適應這樣輸入速率的抖 動,并把輸出碼率控制在一個很小的范圍內(nèi),滿足固定碼率業(yè)務的需求。
但簡單地采用平均輸入速率法時,會遇到下面一些問題
(i) 無法處理斷流。但某些場合下,信源會長時間停止向緩沖區(qū)(漏 桶)輸入信元,如果繼續(xù)把斷流時間計入平均速率的計算時間,則不能真 實反映正常情況下的真實平均速率,計算速率偏低。如果以這個速率作為 漏出速率,緩沖區(qū)則會變得很大而無法接受,或者只能在輸入端丟棄信元。
(ii) 平均值的計算具有^f艮強的剛性,當信元輸入速率以緩慢的速率 變化起伏時,計算平均速率將與當前信元輸入的速率有較大的誤差,帶來 的問題是當輸入速率屬于高峰期內(nèi),緩沖區(qū)將大量累積而導致溢出,或
延遲增加;當輸入速率屬于低谷時,緩沖區(qū)將會被完全消耗,輸出速率抖 動,無法實現(xiàn)固定碼率業(yè)務。
為了全面反映信元輸入的平均速率, 一般會采用全程的平均速率計算 方法,即通過從第一個輸入信元到達時到現(xiàn)在的總計時,和信元輸入的總 數(shù)來計算平均輸入速率。
在申請?zhí)朇N200510120182 ,名稱為《用于控制流媒體數(shù)據(jù)的編碼比 特率的系統(tǒng)和過程》的專利申請中,提及了通過使用最優(yōu)線性二次方程控 制理論,客戶機緩沖區(qū)持續(xù)時間被保持盡可能接近于目標級,同時,仍然 保持編碼比特率(因而質(zhì)量)盡可能恒定。
但通過線性二次方程,其計算量非常巨大,當信元輸入流非常巨大時, 需要性能高,成本昂貴的設備才能負荷相關計算需求。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種擁塞控制方法,反映了信元輸入 平均速率的長期變動趨勢,最大限度地抑制速率輸出抖動的同時,又對最 近的時間內(nèi)的輸入速率的進行加權,以反映最新的信元輸入情況,以適用 斷流及碼率起伏等情況。用戶可以根據(jù)業(yè)務的類型,選擇不同的漏桶緩沖 區(qū)大小,以及加權的參數(shù),滿足不同用戶的需求。
為了解決上述問題,本發(fā)明提供了一種擁塞控制方法,包括以下步驟
(1) 將信元輸入緩沖區(qū),記錄相關參數(shù),并依據(jù)所述參數(shù)全程性地 計算信元平均漏出速率f;
(2) 根據(jù)平均漏出速率f,計算當前時刻的信元理應漏出的數(shù)量,并 以此數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出;
(3) 選擇相應的加權處理方式對信元平均輸入速率進行處理,之后 重新設置所述相關參數(shù),返回步驟(1);
進一步的,本發(fā)明所述的方法,其中,所述相關參數(shù),包括從第一 個輸入信元到達時到當前的總計時,輸出的信元總數(shù),以及緩沖區(qū)內(nèi)信元
數(shù);
進一步的,本發(fā)明所述的方法,其中,步驟(l)中,所述全程性計
算,包括當每輸入一個或一組信元時,計算一次;
進一步的,本發(fā)明所述的方法,其中,步驟(l)中,所述信元平均 漏出速率f的計算,包括信元平均漏出速率f,為所述輸出的信元總數(shù) 與緩沖區(qū)內(nèi)信元數(shù)之和,除以所述從第 一個輸入信元到達時到當前的總計 時;其中,所述輸出的信元總數(shù)與緩沖區(qū)內(nèi)信元數(shù)之和,為輸入信元總數(shù);
進一步的,本發(fā)明所述的方法,其中,步驟(2)中,所述計算當前 時刻的信元理應漏出的數(shù)量,包括信元理應漏出的數(shù)量,等于距上次漏 出信元的時間間隙除以所述信元平均漏出速率f;
進一步的,本發(fā)明所述的方法,其中,所述步驟(2)中,以信元理 應漏出的數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出,包括檢測所述信元理應漏出 的數(shù)量,如果小于1,則不再漏出信元,執(zhí)行步驟(3);如果大于等于1, 則漏出一個信元,再檢測當前緩沖區(qū)內(nèi)是否還有信元,如果有,則繼續(xù)下 一輪對所述信元理應漏出數(shù)量的檢測;否則,執(zhí)行步驟(3);
其中,當所述信元理應漏出的數(shù)量大于1時,每漏出一個信元,則對 信元理應漏出的數(shù)量減1,并對輸出的信元總數(shù)加1;
進一步的,本發(fā)明所述的方法,其中,步驟(3)中,所述相應的加 斥又處理方式,包^l舌整形加^又處理方式、以及浮點型加4又處理方式;
進一步的,本發(fā)明所述的方法,其中,步驟(3)中,如果選擇整形 加4又方式進4于處理,則包4舌以下步驟
(i) 檢測是否重新輸入了一定數(shù)量的信元,如果所述輸入信元總數(shù), 和2的m次冪減1相與為0,且總計時和2的m次冪減1相與為0時, 則進行加權處理,執(zhí)行步驟(ii);否則,不進行加權處理,返回步驟(1 );
所述一定數(shù)量,通過選擇加權幾率因子m進行設定,數(shù)值上等于2 的m次冪;所述加權幾率因子m,為大于l的正整數(shù);
(ii) 選擇整數(shù)加權因子n,加權后的總計時,為原總計數(shù)減去原總
計數(shù)右移n位后的值;加權后的輸入信元總數(shù),為原輸入信元總數(shù)減去原 輸入信元總數(shù)右移n位后的值;
其中,加權后的輸入信元總數(shù)與加權后的總計時之商,為加權后的信 元平均輸入速率;所述整數(shù)加權因子n,大于或等于2,小于或等于m;
進一步的,本發(fā)明所述的方法,其中,所述步驟(3)中,如果選擇 浮點型加權方式進行處理,則包括
自起始狀態(tài)或者自上一次加權處理完畢,收到隨機選擇或者預設的若 千數(shù)量信元之后,則選擇加權因子人,加權后的總計時,為原總計數(shù)減去, 原總計數(shù)和加權因子入之商的值;加權后的輸入信元總數(shù),為原輸入信元 總數(shù)減去,原輸入信元總數(shù)和加權因子人之商的值;所述加權因子入,為 大于或等于1的實數(shù);
或者,自起始狀態(tài)或者自上一次加權處理完畢,收到隨機選擇或者預 設的若干數(shù)量信元之后,則選擇加權因子Y,加權后的總計時,為原總計 數(shù)與加權因子Y的積;加權后的輸入信元總數(shù),為原輸入信元總數(shù)與加權 因子Y的積;所述加權因子Y,為大于0且小等于1的實數(shù);
其中,加權后的輸入信元總數(shù)與加權后的總計時之商,為加權后的信 元平均輸入速率;
進一步的,本發(fā)明所述的方法,其特征在于,所述步驟(3)中,重 新設置相關參數(shù),包括用加權后的總計時取代原總計時;并用加權后的 輸入信元總數(shù)減去緩沖區(qū)內(nèi)信元數(shù),得到新的輸出的信元總數(shù)。
采用本發(fā)明所述方法,與現(xiàn)有技術相比,釆用本發(fā)明所述的漏桶速率 控制裝置中漏出速率計算方法,對最近一段時間內(nèi)信元輸入速率進行了加 權,既反映總的信元平均輸入速率,可以根據(jù)最新的信元輸入情況自動調(diào) 整漏出速率,在抑制輸出速率抖動和適應信元輸入的變化之間取得良好的 平衡。
用戶可以很方便地根據(jù)業(yè)務的類型和需求,選擇不同的加權機率因子
m和整數(shù)加權因子n,獲得不同的加權效果。
釆用優(yōu)選方法后,漏桶速率控制裝置中大部分數(shù)據(jù)的運算可以采用整 數(shù)的與和位移運算,大大減輕了計算負荷,提高漏桶速率控制裝置對性能。
圖1是本發(fā)明所述的方法流程圖2是本發(fā)明實施例的平均漏出速率計算及擁塞控制流程的流程圖。
具體實施例方式
本發(fā)明為了解決傳統(tǒng)技術方案存在的弊端,通過以下具體實施例進一 步闡述本發(fā)明所述的一種擁塞控制方法,以下對具體實施方式
進行詳細描 述,但不作為對本發(fā)明的限定。
如圖l所示,為本發(fā)明所述的方法流程圖,包括以下步驟
步驟IOI,將信元輸入緩沖區(qū),記錄相關參數(shù),全程性地計算信元平 均漏出速率f;
f=(Po+Pb) + T;
其中,從第一個輸入信元到達時到當前的總計時T,擁塞控制裝置輸 出的信元總數(shù)Po,以及緩沖區(qū)內(nèi)信元凄tPb;
步驟102,根據(jù)平均漏出速率f,計算當前時刻的信元理應漏出的數(shù)
量;
間隔執(zhí)行計算當前時刻,信元理應漏出的數(shù)量,為距上次漏出信元的
時間間隙,除以前面計算出的信元平均漏出速率f;
步驟103,以所述信元理應漏出的數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出;
檢測所述信元理應漏出的數(shù)量,如果小于l,則不再漏出信元,執(zhí)行 步驟(3 );
如果大于等于l,則漏出一個信元,再檢測當前緩沖區(qū)內(nèi)是否還有信
元;如果有,則繼續(xù)下一輪對所述信元理應漏出數(shù)量的檢測;否則,執(zhí)行 步驟(3 );
當所述信元理應漏出的數(shù)量大于1時,每漏出一個信元,則對信元理 應漏出的數(shù)量減1,并對輸出的信元總數(shù)加1;
步驟104,選擇相應的加權處理方式對信元平均輸入速率進行處理, 之后重新設置相關參數(shù);
如果選擇浮點型加權方式進行處理自起始狀態(tài)或者自上一次加權處 理完畢,收到隨機選擇或者預設的若干數(shù)量信元之后,選擇加權因子人, 入>=1, x是實數(shù);按下面公式進行處理
<formula>formula see original document page 11</formula>
P' T是加^又后總計時和輸入信元數(shù),它們相除后是加4又后信元平均 輸入速率;
這一步也可以采用變換算法完成選擇加權因子y, y是大于O,小于 等于l的實數(shù);按下面公式進行處理 P, =p*Y
P' T'是加權后總計時和輸入信元數(shù),它們相除后是加權后信元平均 輸入速率;
經(jīng)加權處理后,計算平均速率要求和加權前相同,或誤差很小,否則 則引入加權失真,加權失真會影響信元輸出的質(zhì)量;
因為大多擁塞裝置采用整數(shù)運算時,其運算效率遠大于浮點數(shù)運算, 同時為了減少加4又出現(xiàn)的失真,可以采用下面所述的優(yōu)選方法優(yōu)化前面所 述的加權處理方法
通過加權機率因子m確定進行加權的時機,m為大于1的正整數(shù); 如果P&(2、1)二二0且T&(2m-1)==0,不會引入加權失真,對信元平均輸 入速率進行加權處理,之后重新設置相關參數(shù),返回步驟(l),繼續(xù)進
行下一次控制;如果否,則不進行加權處理,直接返回步驟(l);
選擇整數(shù)加權因子n, n與前面所述的加權因子人的關系是X=2n, T' =T —(T》n); P' =P —(P》n);
其中n大于等于2,小于等于m;且加權前后的平均信元輸入速率是 不變的;
另外,如果信元的輸入是離散和隨機的,同時時間的計量足夠精確, 那么滿足加權條件的機率為l/2m+1。
利用本發(fā)明所述的方法,同時結合一定機率進行的加權處理流程,完 成以下任務
應用領域流i某體IPTV頻道轉(zhuǎn)碼器;
應用裝置對高達100路以上的直播頻道進行轉(zhuǎn)碼處理;
運行環(huán)境普通PC服務器,分時Linux操作系統(tǒng)。
功能需求
(1) 按頻道進行信道劃分, 一個頻道一個信道,分別進行擁塞控制;
(2) 信道信元輸入速率差距大,這些頻道當中有標清節(jié)目,平均碼 率為1.2-2.0Mbps,也有高清節(jié)目,平均碼率為6-9Mbps;
(3) 輸入速率會在出現(xiàn)長時間的速率起伏因為轉(zhuǎn)碼器頻道是輪播 頻道,會在不同的時間內(nèi)播放不同的節(jié)目, 一個節(jié)目源的播放時間從10 多秒到幾小時不等, 一般是l個時間左右。 一般來說,同一個節(jié)目源,其 碼率是相當穩(wěn)定的,但不同節(jié)目源之間,則有相當差別的。因此當直播源 會根據(jù)需要切換節(jié)目源時,信元輸入速率會在出現(xiàn)長時間的速率起伏;
(4) 經(jīng)常出現(xiàn)突發(fā)流量,由于轉(zhuǎn)碼器內(nèi)部的處理需求,需要緩沖大 量信元,在合適時刻一次性輸出,以及直播源和前面信道等原因,都會導 致在擁塞控制裝置的輸入端,經(jīng)常出現(xiàn)的突發(fā)性流量。
如圖2所示,是本發(fā)明實施例的平均漏出速率計算及擁塞控制流程
的流程圖。平均漏出速率計算及擁塞控制流程,包括以下步驟
步驟201,按照頻道劃分信道分別進行擁塞控制,流程開始;
步驟202,記錄初始參數(shù)計時丁=0;輸出信元總數(shù)Po二O;記錄當前 緩沖區(qū)緩沖信元的數(shù)量Pb^;上次發(fā)包到現(xiàn)在的時間Tp=0;
步驟203,把輸入信元保存在緩沖區(qū)內(nèi);
步驟204,根據(jù)轉(zhuǎn)碼器的計算能力,選擇的時間間隔是lms;按照固 定的時間間隔執(zhí)行下面步驟;
轉(zhuǎn)碼器運行在一定硬件及軟件系統(tǒng)之上,并不能保證時間間隔是絕對 精確的lms,本實施例也不要求時間間隔是精確的lms,但要求AT是真 實的距上次執(zhí)行本步驟的時間間隔;
步驟205,重新計算時間
T=T+AT;
Tp= Tp + △ T; 其中,△ T是固定的時間間隔lms;
步驟206,檢查緩沖區(qū)內(nèi)最新的緩沖的信元數(shù)Pb',如果Pb'等于O, 則重復步驟204;否則,執(zhí)行步驟207;
步驟207,計算最新的平均漏出速率f=(Po+Pb' ) + T;
步驟208,控制信元輸出,計算當前時刻,信元理應漏出的數(shù)量;
信元理應漏出的數(shù)量,數(shù)值上等于上次發(fā)包到現(xiàn)在的時間Tp,除以 前面計算出的平均漏出速率f;
當信元理應漏出的數(shù)量大于等于1時,即Tp〉二f時,則漏出l個信 元,然后更新參數(shù);Po=Po+l; Tp = Tp-f;
否則,執(zhí)行步驟210;
步驟209,如果當前緩沖區(qū)內(nèi)的緩沖的信元數(shù)大于0,則執(zhí)行步驟208,
直至輸出所有符合條件的信元;否則,執(zhí)行步驟210;
有兩種情況執(zhí)行步驟210, —種緩沖的信元數(shù)等于O,另一種是理應 漏出的數(shù)量可能小于l,本方案的主要特征不是發(fā)生斷流時進行加權,而 是用戶可以選擇一定機率,或者說每收到x個(與m相關,大概是2的m 次方,不是固定的)信元,符合條件時,就進行加權,但要求加權符合下 面的條件,否則會出現(xiàn)加權失真
步驟210,選擇加權機率因子m二4,整數(shù)加權因子11=3;
步驟211,如果(Po+Pb' )&0x0f二二0且T&0x0f二二0,其中OxOf = 15 = 24-1 =2m-l,則執(zhí)行步驟212,繼續(xù)下面的加權處理;否則,執(zhí)行步 驟204;
步驟212,進4于加權處理;
P=(Po+Pt/ );
其中,Po是當前已經(jīng)輸出的信元數(shù);Pb'是當前緩沖區(qū)中的信元數(shù); p, =p_(p》3); T' =T-(T 3);
加權后,理論信元平均輸入速率是不變的,即P' +T =P + T;
步驟213,重設參數(shù)T=T' ; Po =P' - Pb';
步驟214,依據(jù)上一步中更新的參數(shù),執(zhí)行步驟204,繼續(xù)進行下一 次控制。
在采用本實施例所述的流程和方法進行擁塞控制后,所有頻道輸出碼 率在宏觀上都非常平穩(wěn),沒有很大的變動。
在微觀上,采用RFC4445所描述的延遲因素DF參數(shù)測試了信元的輸 出質(zhì)量。在沒有采用本實施例之前,無論是標清節(jié)目還是高清節(jié)目,平均 DF>=50ms,最大DF^2000ms。
采用本實施例的方案后,輸出質(zhì)量大幅提高,其中輸入碼率為1.5Mbps 標清節(jié)目
平均DF42ms,最大DF45ms。 輸入碼率為9Mbps高清節(jié)目 平均DF40ms,最大DF42ms。
同時,如果出現(xiàn)長時間頻道輸入中斷,中斷時間大于l小時,當碼流 恢復初期,輸出速率是不均勻的,但很快逐漸恢復平穩(wěn),恢復時間大約為 30秒左右。
同時,如果頻道出現(xiàn)短時間輸入中斷,中斷時間為l秒左右時,輸出 不會出現(xiàn)中斷,而且輸出速率繼續(xù)保持均勻。
當輸入節(jié)目源變化而引起相應的輸入碼率變化時,輸出速率與輸入速 率在短時間內(nèi)可以觀察出差距,但很快得以恢復,恢復時間為5秒左右。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)
形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1、一種擁塞控制方法,其特征在于,包括以下步驟(1)將信元輸入緩沖區(qū),記錄相關參數(shù),并依據(jù)所述參數(shù)全程性地計算信元平均漏出速率f;(2)根據(jù)平均漏出速率f,計算當前時刻的信元理應漏出的數(shù)量,并以此數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出;(3)選擇相應的加權處理方式對信元平均輸入速率進行處理,之后重新設置所述相關參數(shù),返回步驟(1)。
2、 如權利要求1所述的方法,其特征在于,所述相關參數(shù),包括 從第一個輸入信元到達時到當前的總計時,輸出的信元總數(shù),以及緩沖區(qū) 內(nèi)信元數(shù)。
3、 如權利要求l所述的方法,其特征在于,步驟(l)中,所述全程 性計算,包括當每輸入一個或一組信元時,計算一次。
4、 如權利要求2所述的方法,其特征在于,步驟(l)中,所述信元 平均漏出速率f的計算,包括信元平均漏出速率f,為所述輸出的信元總數(shù)與緩沖區(qū)內(nèi)信元數(shù)之和, 除以所述從第一個輸入信元到達時到當前的總計時;其中,所述輸出的信元總數(shù)與緩沖區(qū)內(nèi)信元數(shù)之和,為輸入信元總數(shù)。
5、 如權利要求4所述的方法,其特征在于,步驟(2)中,所述計算 當前時刻的信元理應漏出的數(shù)量,包括信元理應漏出的數(shù)量,等于距上次漏出信元的時間間隙除以所述信元 平均漏出速率f。
6、 如權利要求5所述的方法,其特征在于,所述步驟(2)中,以信 元理應漏出的數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出,包括檢測所述信元理應漏出的數(shù)量,如果小于l,則不再漏出信元,執(zhí)行 步驟(3);如果大于等于1,則漏出一個信元,再檢測當前緩沖區(qū)內(nèi)是 否還有信元,如果有,則繼續(xù)下一輪對所述信元理應漏出數(shù)量的^r測;否 則,執(zhí)行步驟(3 );其中,當所述信元理應漏出的數(shù)量大于1時,每漏出一個信元,則對 信元理應漏出的數(shù)量減1,并對輸出的信元總數(shù)加1。
7、 如權利要求l所述的方法,其特征在于,步驟(3)中,所述相應 的加權處理方式,包括整形加權處理方式、以及浮點型加權處理方式。
8、 如權利要求7所述的方法,其特征在于,步驟(3)中,如果選擇 整形加權方式進行處理,則包括以下步驟(i) 檢測是否重新輸入了一定數(shù)量的信元,如果所述輸入信元總數(shù), 和2的m次冪減1相與為0,且總計時和2的m次冪減1相與為0時, 則進行加權處理,執(zhí)行步驟(ii);否則,不進行加權處理,返回步驟(1 );所述一定數(shù)量,通過選擇加權幾率因子m進行設定,數(shù)值上等于2 的m次冪;所述加權幾率因子m,為大于l的正整數(shù);(ii) 選擇整數(shù)加權因子n,加權后的總計時,為原總計數(shù)減去原總 計數(shù)右移n位后的值;加權后的輸入信元總數(shù),為原輸入信元總數(shù)減去原 輸入信元總數(shù)右移n位后的值;其中,加權后的輸入信元總數(shù)與加權后的總計時之商,為加權后的信 元平均輸入速率;所述整數(shù)加權因子n,大于或等于2,小于或等于m。
9、 如權利要求7所述的方法,其特征在于,所述步驟(3)中,如果 選擇浮點型加權方式進行處理,則包括自起始狀態(tài)或者自上一次加權處理完畢,收到隨機選擇或者預設的若 干數(shù)量信元之后,則選擇加權因子人,加權后的總計時,為原總計數(shù)減去, 原總計數(shù)和加權因子入之商的值;加權后的輸入信元總數(shù),為原輸入信元 總數(shù)減去,原輸入信元總數(shù)和加權因子入之商的值;所述加權因子X,為 大于或等于1的實數(shù);或者,自起始狀態(tài)或者自上一次加權處理完畢,收到隨機選擇或者預 設的若干數(shù)量信元之后,則選擇加權因子Y,加權后的總計時,為原總計 數(shù)與加權因子Y的積;加權后的輸入信元總數(shù),為原輸入信元總數(shù)與加權 因子Y的積;所述加權因子Y,為大于0且小等于1的實數(shù);其中,加權后的輸入信元總數(shù)與加權后的總計時之商,為加權后的信 元平均輸入速率。
10、如權利要求l、 8或9所述的方法,其特征在于,所述步驟(3) 中,重新設置相關參數(shù),包括用加權后的總計時取代原總計時;并用加權后的輸入信元總數(shù)減去緩 沖區(qū)內(nèi)信元數(shù),得到新的輸出的信元總數(shù)。
全文摘要
本發(fā)明公開了一種擁塞控制方法,包括以下步驟(1)將信元輸入緩沖區(qū),記錄相關參數(shù),并依據(jù)所述參數(shù)全程性地計算信元平均漏出速率f;(2)根據(jù)平均漏出速率f,計算當前時刻的信元理應漏出的數(shù)量,并以此數(shù)量,控制緩沖區(qū)內(nèi)信元的漏出;(3)選擇相應的加權處理方式對信元平均輸入速率進行處理,之后重新設置相關參數(shù),返回步驟(1)。本發(fā)明的方法反映了信元輸入平均速率的長期變動趨勢,最大限度地抑制速率輸出抖動的同時,又對最近的時間內(nèi)的輸入速率的進行加權,以反映最新的信元輸入情況,以適用斷流及碼率起伏等情況。用戶可以根據(jù)業(yè)務的類型,選擇不同的漏桶緩沖區(qū)大小,以及加權的參數(shù),滿足不同用戶的需求。
文檔編號H04L12/56GK101110781SQ20071014049
公開日2008年1月23日 申請日期2007年8月24日 優(yōu)先權日2007年8月24日
發(fā)明者劉繼年, 李加周, 卓 桑, 王志英, 陳重奮 申請人:中興通訊股份有限公司