專利名稱:控制隊列緩沖區(qū)的方法
技術(shù)領(lǐng)域:
本申請書涉及控制隊列緩沖區(qū)的方法,所述隊列緩沖區(qū)連接到鏈路并且被安排來對準(zhǔn)備通過所述鏈路發(fā)送的數(shù)據(jù)單元進(jìn)行排隊。
背景技術(shù):
在基于數(shù)據(jù)單元的通信中,亦即,其中,要傳輸?shù)男畔⒎殖啥鄠€單元,而且各個單元通過通信網(wǎng)絡(luò)發(fā)送,眾所周知,在沿著網(wǎng)絡(luò)的鏈路上提供隊列緩沖區(qū),使得通過這樣的鏈路傳輸?shù)膯卧梢员痪彌_。緩沖區(qū)可以是發(fā)送或輸入緩沖區(qū)(亦即用于要通過所述鏈路發(fā)送的數(shù)據(jù)單元的緩沖區(qū))或接收或輸出緩沖區(qū)(亦即用于已經(jīng)通過所述鏈路發(fā)送的數(shù)據(jù)單元的緩沖區(qū))。
用于傳輸數(shù)據(jù)的這樣的單元可以有不同的名稱,諸如通信協(xié)議數(shù)據(jù)單元、幀、分組、段、單元(cell)等,取決于特定的上下文、所用的特定通信協(xié)議和某些其他習(xí)慣。在本文獻(xiàn)的情況下,所有這樣的數(shù)據(jù)單元都一般地稱作數(shù)據(jù)單元。
把數(shù)據(jù)單元放入隊列、使它們在所述隊列中向前走、并從所述隊列取出數(shù)據(jù)單元的程序稱作隊列管理。
在數(shù)據(jù)單元傳輸網(wǎng)絡(luò)中一種已知的現(xiàn)象是所謂擁塞現(xiàn)象。擁塞的意思是已經(jīng)不可能輕易地處理準(zhǔn)備通過所述連接或鏈路傳輸?shù)臄?shù)據(jù)單元數(shù)目的狀態(tài)。由于在給定鏈路上擁塞的結(jié)果,與所述鏈路相關(guān)的隊列緩沖區(qū)中的數(shù)據(jù)單元數(shù)目將增加。對擁塞狀態(tài)作出反應(yīng),眾所周知,已實現(xiàn)一種所謂隊滿丟棄(drop-on-full)的數(shù)據(jù)單元丟棄機(jī)制,按照所述機(jī)制,所述隊列緩沖區(qū)接收新數(shù)據(jù)單元時,將與隊列長度相關(guān)的參數(shù),諸如實際隊列長度或平均隊列長度與預(yù)定的閾值比較,若超過閾值,則丟棄數(shù)據(jù)單元。所述閾值指示隊滿狀態(tài)?!皝G棄”的意思是不把它放入隊列,因而不會把它進(jìn)一步傳輸。
準(zhǔn)備丟棄的數(shù)據(jù)單元可以是新到的數(shù)據(jù)單元,在這種情況下,所述機(jī)制被稱作隊尾丟棄,除隊尾丟棄技術(shù)外,已知還實現(xiàn)所謂隨機(jī)丟棄,其中按照隨機(jī)函數(shù)挑選一個已經(jīng)在隊列中的數(shù)據(jù)單元,或者所謂隊首丟棄,其中丟棄所述隊列中的第一個數(shù)據(jù)單元。這樣的隊滿丟棄機(jī)制不僅用來減少擁塞鏈路的負(fù)載,而且用來向所述數(shù)據(jù)單元的信源和/或目的地發(fā)出暗示性擁塞通知。就是說,例如,正如從TCP(傳輸控制協(xié)議)已知的,對數(shù)據(jù)單元的接收者和發(fā)送者一般都實現(xiàn)擁塞控制機(jī)制,使得當(dāng)檢測到數(shù)據(jù)單元已經(jīng)丟失時,減少數(shù)據(jù)單元的發(fā)送速率和/或數(shù)量。
除一旦超過預(yù)定的閾值,亦即一旦判定隊“滿”,就開始丟棄數(shù)據(jù)單元這樣的隊列管理系統(tǒng)之外,還有人提出了比較老練的管理方案,被稱作積極的隊列管理,在意見征詢(Request for Comment(RFC))2309中作了描述。更具體地說,RFC 2309建議被稱作隨機(jī)早期檢測(RED)的積極隊列管理機(jī)制。按照RFC 2309,RED的概念是認(rèn)識到不要等到隊滿,而是實現(xiàn)一種在達(dá)到隊滿狀態(tài)之前就導(dǎo)致丟棄某些分組的機(jī)制是有用的。
按照RFC 2309,RED算法包括兩個主要部分,就是說,首先估計平均隊列的大小,然后決定是否丟棄輸入的數(shù)據(jù)單元。更具體地說,當(dāng)新數(shù)據(jù)單元到達(dá)時,所述算法估計平均隊列大小,若平均隊列大小處于最小閾值minth和最大閾值maxth之間,則作為平均隊列大小的函數(shù)計算一個幾率值,并根據(jù)所得幾率判斷是否要丟棄所述輸入的數(shù)據(jù)單元。若平均隊列大小超過最大閾值maxth,則所述輸入的數(shù)據(jù)單元必須丟棄。幾率函數(shù)是一個線性函數(shù),它具有一個值p(minth)=0,而其中p(maxth)是預(yù)定的最大幾率maxp,其中maxp小于1。
關(guān)于最小閾值minth或最大閾值maxth的選擇,RFC 2309并未提供任何信息。
在Sally Floyd和Van Jacobson在1993年8月的IEEE/ACMTransaction on networking上的“避免擁塞的隨機(jī)早期檢測網(wǎng)關(guān)”一文中對RED算法作了廣泛的討論,其中最小閾值minth,最大閾值maxth和最大幾率maxp都被設(shè)置為固定的參數(shù)。關(guān)于minth和maxth的選擇,它指出這些閾值的最佳值取決于需要的平均隊列大小,而maxth的最佳值部分地取決于鏈路可以允許的最大平均延遲時間。另外,它指出maxth至少應(yīng)為minth的兩倍。
在討論RED參數(shù)設(shè)置的因特網(wǎng)文獻(xiàn)中,Sally Floyd在http//www.acir.org/floyd/REDparameter.txt中指出,用于確定minth的最佳值部分地取決于鏈路速度、傳播延遲時間和最大緩沖區(qū)大小。
1997年11月Wu-chang Feng等人在“在擁塞的TCP-IP網(wǎng)絡(luò)中消除分組丟失的技術(shù)”一文中提出一種稱為自適應(yīng)RED,其中幾率參數(shù)maxp適應(yīng)于通信量負(fù)載。盡管在所述文獻(xiàn)中描述的詳細(xì)算法使用固定閾值,但是它在結(jié)尾時指出,也可以使閾值取決于輸入通信量。Wu-chang Feng等人在1999年3月Infocom’99上的“自配置RED網(wǎng)關(guān)”一文中提出了類似的建議。
PCT專利申請WO 00/60817提出另一個改進(jìn)RED的建議,其中在源自響應(yīng)分組丟失的速率自適應(yīng)應(yīng)用的通信量之間引入微分。所述文獻(xiàn)提議至少引入兩個丟棄先例水平,稱作“剖面內(nèi)”(in profile)和“剖面外”(out profile)。每一個丟棄先例水平具有它自己的最小閾值minth和/或最大閾值maxth。
從PCT專利申請WO 00/57599已知一種隊列管理機(jī)制,其中丟棄函數(shù)按照入口處流速測量和流量曲線選擇。
從美國專利6,134,239已知一種在超載負(fù)載緩沖區(qū)處拒收ATM分組的方法。提出一種RED概念。按照所述文獻(xiàn),監(jiān)測與超載緩沖區(qū)隊列有關(guān)的第一閾值和與特定連接相關(guān)的第二閾值,若兩個閾值都被超過,則丟棄特定連接的輸入分組。
美國專利5,546,389描述一種控制緩沖區(qū)訪問方法,并專門與ATM緩沖區(qū)相關(guān)。提出使用一個或多個閾值和這樣的閾值的動態(tài)控制,其中動態(tài)是根據(jù)輸入和離去的通信量決定的。
歐洲專利1 028 600描述一種ATM開關(guān)的采用動態(tài)隊列長度閾值的緩沖區(qū)管理方案。每當(dāng)一個新單元到達(dá)時便動態(tài)地更新一個公用閾值,其中新的值是根據(jù)通信量狀態(tài)決定的。
歐洲專利0 872 988描述一種改進(jìn)RED的建議,其目的在于為使用不同TCP版本的多個連接共用一個瓶頸鏈路時提供隔離。所述文獻(xiàn)提出的解決方案是為每個連接使用帶寬保留保證。若一個連接利用不足,則另一個連接可以使用利用不足的連接的部分帶寬。當(dāng)所述連接需要收回它的緩沖區(qū)空間時,操作一種預(yù)定的分組丟棄機(jī)制,諸如最長隊列先丟(LOF)機(jī)制。
發(fā)明目的本發(fā)明的目的是提供一種控制隊列緩沖區(qū)的改進(jìn)方法,其中所述方法把與隊列長度相關(guān)的參數(shù)與長度閾值比較,并采用自動閾值自適應(yīng)程序。
發(fā)明概述達(dá)到上述目的的是一種具有權(quán)利要求1特征的方法。在從屬權(quán)利要求中描述了有利的實施例。
按照本發(fā)明,根據(jù)隊列緩沖區(qū)中的數(shù)據(jù)單元準(zhǔn)備通過其發(fā)送的鏈路的一個或多個特性,安排自動閾值自適應(yīng)程序,以便自動地和動態(tài)地修改長度閾值,諸如從RED已知的最小閾值minth或從隊滿丟棄隊列管理方案中已知的單個閾值。
因此,與以上討論的先有技術(shù)形成對比,其中長度閾值不是固定值,而是適合于通信量負(fù)載狀態(tài)。本發(fā)明提出根據(jù)鏈路特性自動地和動態(tài)地修改長度閾值。這導(dǎo)致一種高度靈活的積極隊列管理形式,它提供改進(jìn)的通過量和減少延遲時間,尤其是通過具有時變特性的鏈路,諸如無線電鏈路。
本發(fā)明的方法可以應(yīng)用于任何已知的隊列管理方案,其中把與隊列長度相關(guān)的參數(shù)與至少一個長度閾值進(jìn)行比較,若超過所述閾值,則執(zhí)行擁塞通知程序。就是說,本方法可以應(yīng)用于例如上述任何RED方案,應(yīng)用于隊滿時丟棄數(shù)據(jù)單元的方案,可以是隊尾丟棄、隨機(jī)丟棄或隊首丟棄,應(yīng)用于任何已知的不丟棄而實現(xiàn)明確擁塞通知的方案。
另外,盡管本發(fā)明推薦的實施例采用給IP(因特網(wǎng)協(xié)議)分組排隊的方法,但是本發(fā)明的方法不限于任何特定協(xié)議的數(shù)據(jù)單元,并且,例如,還可以應(yīng)用于ATM單元的隊列管理方法。
按照本發(fā)明一個推薦的實施例,一個或多個鏈路特性是鏈路的往返時間(RTT)和所述鏈路的數(shù)據(jù)速率(DR)或位速率,而閾值自適應(yīng)程序包括隨鏈路的往返時間和數(shù)據(jù)速率而變地更新長度閾值。這種更新可以每隔固定的時間間隔進(jìn)行一次,或者響應(yīng)特定的觸發(fā)事件,諸如上述鏈路特性改變。換句話說,在后一種方案中,每當(dāng)往返時間或數(shù)據(jù)速率變化時閾值隨往返時間和數(shù)據(jù)速率而變地更新。可以指出,閾值的更新將不在所考慮的鏈路特性發(fā)生無限小的變化時啟動,因為將有某種粒度。換句話說,要監(jiān)測所考慮的鏈路特性,若這些特性中的一個發(fā)生大于預(yù)定步距或粒度大小的變化,則更新所述閾值。
更新閾值的功能最好包括根據(jù)往返時間和數(shù)據(jù)速率計算鏈路容量值(LC);以及把閾值設(shè)置為等于算出的鏈路容量值,或者至少隨所述鏈路容量值、例如所述鏈路容量值和預(yù)定常數(shù)之和而變地確定所述閾值。
所述自動閾值自適應(yīng)程序還可以包括根據(jù)鏈路的連接狀態(tài)自動改變長度閾值。換句話說,在這種情況下,鏈路的連接狀態(tài)是自適應(yīng)據(jù)以進(jìn)行的鏈路特性。更具體地說,在鏈路失去連接,亦即不能傳輸數(shù)據(jù)單元時,最好自動增大長度閾值,例如,乘以諸如2的預(yù)定系數(shù)。長度閾值取決于連接性的改變可以由它自己實現(xiàn),或者可以與上述長度閾值根據(jù)諸如往返時間和數(shù)據(jù)速率這樣的鏈路特性更新的程序結(jié)合。
響應(yīng)鏈路的連接性改變長度閾值的程序最好還包括連接狀態(tài)再次允許數(shù)據(jù)單元傳輸之后使長度閾值復(fù)位的特征。這種復(fù)位可以是返回到長度閾值以前的值,或者可以根據(jù)諸如上述往返時間和數(shù)據(jù)速率等一個和多個特性計算新的長度閾值。復(fù)位操作最好還考慮復(fù)位時隊列中的數(shù)據(jù)單元個數(shù)(實際隊列長度),以便逐步把長度閾值復(fù)位到所述新值。
與本發(fā)明相關(guān)而采用的擁塞通知程序可以根據(jù)要求或適用性選擇,并且任何已知的暗示性的或明確的擁塞通知程序均可采用。例如,作為一種暗示性的擁塞通知程序,可以作出丟棄數(shù)據(jù)單元的決定,其中所述決定可以依據(jù)給定的幾率(像在RED技術(shù)的情況下)或無條件地進(jìn)行(像在隊滿丟棄技術(shù)的情況下)。明確的擁塞通知程序的一個示例是在數(shù)據(jù)單元中設(shè)置一個適當(dāng)?shù)膿砣ㄖ獦?biāo)志。例如,可以設(shè)置IP分組IP報頭中的所謂ECN(明確擁塞通知)標(biāo)志。設(shè)置或不設(shè)置所述標(biāo)志的決定再次可以有條件地根據(jù)預(yù)定的幾率函數(shù)作出,或無條件地作出。還應(yīng)指出,與本發(fā)明相關(guān)而采用的擁塞通知程序可以結(jié)合暗示性擁塞通知程序和明確的擁塞通知程序,亦即可以包括作出丟棄數(shù)據(jù)單元的決定和設(shè)置數(shù)據(jù)單元中明確擁塞通知標(biāo)志的決定。
如前所述,本發(fā)明可以應(yīng)用于至少使用一個長度閾值的隊列管理方法。換句話說,可以應(yīng)用于利用隊滿丟棄技術(shù)的隊列管理方法,其中自動使指示隊滿的單個閾值自適應(yīng),或者可以應(yīng)用于利用多個閾值的隊列管理方法,諸如利用兩個閾值minth和maxth的RED的隊列管理方法。按照本發(fā)明,若采用多個閾值,則可以其中只有一個是根據(jù)一個或多個鏈路特性而被自動修改的,而另一個固定不變,或者另一個也可以被自動修改,例如,根據(jù)同一個特性,或者根據(jù)與特定閾值相關(guān)的各自的單獨的鏈路特性。例如,根據(jù)第一組鏈路特性修改RED的最小閾值minth,而根據(jù)不同于所述第一組的第二組鏈路特性修改最大閾值maxth。
按照推薦的實施例,其中本發(fā)明的方法應(yīng)用于RED,根據(jù)往返時間和數(shù)據(jù)速率更新最小閾值minth,而以minth和預(yù)定的常數(shù)之和的形式簡單地計算最大閾值maxth。
附圖簡要說明現(xiàn)將參照詳細(xì)的實施例描述本發(fā)明,不應(yīng)該把參照附圖所描述的實施例作為本發(fā)明的限制。附圖中
圖1表示隊列緩沖區(qū)的示意框圖;圖2表示用于說明本發(fā)明基本實施例的流程圖;圖3表示用于說明本發(fā)明更詳細(xì)的實施例的流程圖;圖4表示用于說明不同閾值自適應(yīng)程序的流程圖;圖5表示用于說明本根據(jù)鏈路連接性改變長度閾值的程序的實施例的流程圖;以及圖6表示用于說明擁塞通知程序的實施例的流程圖。
詳細(xì)描述圖1表示的隊列緩沖區(qū)2的示意框圖,所述隊列緩沖區(qū)2連接到鏈路1并被安排來把輸入的數(shù)據(jù)單元30排入隊列20,以便把所述數(shù)據(jù)單元30通過鏈路1發(fā)送。隊列緩沖區(qū)被包括在屬于網(wǎng)絡(luò)3的傳輸所述數(shù)據(jù)單元30的單元(未示出)中。例如,所述單元可以是網(wǎng)絡(luò)3的路由器。
隊列緩沖區(qū)2也可以安排成起接收緩沖區(qū)的作用,用于從鏈路接收數(shù)據(jù)單元、向網(wǎng)絡(luò)3輸出排入隊列的數(shù)據(jù)單元。
如前所述,按照本發(fā)明,鏈路1、隊列緩沖區(qū)2和數(shù)據(jù)單元30可以是任何需要的類型。例如,數(shù)據(jù)單元30可以是IP分組,而隊列緩沖區(qū)2可以是用于向前遞送所述IP分組的IP路由器的一部分。但是,隊列緩沖區(qū)2也可以是ATM緩沖區(qū),在這種情況下,數(shù)據(jù)單元30是ATM單元。
盡管鏈路可以是任何適當(dāng)或需要的類型,但是本發(fā)明的方法最好應(yīng)用于連接到無線電鏈路,諸如無線電話鏈路的隊列緩沖區(qū)。例如,鏈路1可以由按照GSM(全球移動通信系統(tǒng))、UMTS(萬用移動電話系統(tǒng))或任何其他移動電話通信標(biāo)準(zhǔn)的移動蜂窩電話網(wǎng)絡(luò)。就是說,由于無線電鏈路一般具有時變特性,基于一個或多個鏈路特性的自動閾值自適應(yīng)程序特別有效和有用。
就是說,本發(fā)明的隊列管理方法可以有效地適用于無線電鏈路的時變特性,其方法是修改一個或多個長度閾值,把該長度閾值和與隊列長度相關(guān)的參數(shù)比較,以便啟動擁塞通知程序,。
圖2表示本發(fā)明的方法的基本實施例的流程圖。在步驟S1中,確定與隊列20的長度相關(guān)的長度參數(shù)的值。這個與隊列長度相關(guān)的參數(shù)可以以任何需要的適當(dāng)?shù)姆椒ㄅc隊列長度相關(guān),例如,可以是實際的或瞬間隊列長度QL或由實際或瞬間隊列長度推算的參數(shù),諸如平均值QLAV。
在圖2所示的示例中,與隊列長度相關(guān)的參數(shù)是平均隊列長度QLav。這個平均隊列長度QLav可以按照任何已知的或適當(dāng)?shù)钠骄惴ㄓ嬎?,而這樣的一種算法一般可以包括通過求舊平均乘以第一權(quán)重系數(shù)與瞬間隊列長度乘以第二權(quán)重系數(shù)之和來計算。例如,QLav可以計算如下QLav(新)=QLav(舊)×(1-1/2n)+(QL×1/2n) ...(1)式中QL代表瞬間隊列長度值,n是可以在0和1之間調(diào)整的指數(shù)型權(quán)重系數(shù)。
然后,在步驟S2,把QLav與長度閾值Lth比較。若超過長度閾值Lth,則執(zhí)行擁塞通知程序S3,否則跳過擁塞通知程序S3。
在圖2所示的示例中,流程然后進(jìn)到Lth的自動閾值自適應(yīng)程序,就是說,進(jìn)入步驟S4。按照本發(fā)明,這個自動閾值自適應(yīng)程序S4安排來根據(jù)一個或多個長度特性1自動地修改長度閾值Lth。
可以指出,圖2中各步驟的特定安排只是一個示例。具體地說,構(gòu)成判斷執(zhí)行擁塞通知程序的程序的步驟S1,S2和S3,與步驟S4的Lth之前的自適應(yīng)程序無關(guān)。因此,步驟S1,S2和S3可以獨立于S4進(jìn)行安排,就是說,S4也可以在S1-S3之前或與之并行執(zhí)行。尤其是可以指出,步驟S1至S3為一方,S4為另一方,一般可以包含在一個具有多個步驟的控制隊列緩沖區(qū)的較大的方法中,但是這樣的額外的步驟未示出,因為它們不屬于本發(fā)明。圖2的方法可以用軟件實現(xiàn),而步驟S1-S3可以例如在一個線程中實現(xiàn),而S4可以在另一個線程中實現(xiàn)。但是,所述方法也可以直接用硬件的形式實現(xiàn)。
表示本發(fā)明較詳細(xì)的實施例的流程圖示于圖3。與圖2中所示的相同或等效的步驟標(biāo)以相同的符號,不再贅述。
可以指出,諸如QLav等與隊列長度相關(guān)的參數(shù)和長度閾值Lth可以用任何要求或適當(dāng)?shù)姆绞奖磉_(dá)和測量。例如,可以把這些參數(shù)表達(dá)為以位或字節(jié)為單位的數(shù)據(jù)量,或者這些參數(shù)也可以表達(dá)為數(shù)據(jù)單元的個數(shù),亦即把實際隊列長度QL表達(dá)為數(shù)據(jù)單元數(shù)的整數(shù)個數(shù)(但是由于求平均值的緣故,平均隊列長度QLav一般不是整數(shù))。
按照圖3的示例,一次對話在步驟S5開始。之后,步驟S6確定是否已出現(xiàn)閾值比較觸發(fā)事件。若這樣的事件出現(xiàn),則正如聯(lián)系圖2說明的,執(zhí)行步驟S1,S2和S3。若未出現(xiàn),或者通過了步驟S1,S2和S3之后,則流程進(jìn)到步驟S7。在步驟S7,確定是否出現(xiàn)了自適應(yīng)觸發(fā)事件,若是,則執(zhí)行步驟S4的Lth的自動閾值自適應(yīng)程序。若步驟S7的判斷結(jié)果是否定的,并且在步驟S4完成之后,則圖3的流程進(jìn)到步驟S8,在其中確定對話是否要結(jié)束。若對話不要結(jié)束,則流程循環(huán)回到步驟S6,否則流程結(jié)束。
步驟S6的閾值比較觸發(fā)事件可以用任何需要的或適當(dāng)?shù)姆椒ㄟx擇。例如,步驟S1至S3的閾值比較可以定期,亦即每隔一定的時間間隔啟動。在這種情況下,閾值比較觸發(fā)事件將是例如特定定時條件的出現(xiàn),或者計數(shù)器達(dá)到特定的值的事件。作為一個示例,可以實現(xiàn)從一個預(yù)定值向下計數(shù)至0的閾值比較計數(shù)器,當(dāng)所述計數(shù)器達(dá)到零時,給出步驟6的閾值比較觸發(fā)事件。若判定所述值為0,則啟動步驟S1,S2和S3的程序,并將計數(shù)器復(fù)位為預(yù)定值,使之從新開始向下計數(shù)。
閾值比較也可以由與數(shù)據(jù)單元被隊列接收或發(fā)送的事件或?qū)τ陉犃兄袀€別數(shù)據(jù)單元采取的特定動作觸發(fā)。例如,閾值比較觸發(fā)事件可以是向鏈路釋放數(shù)據(jù)單元。步驟S6的閾值比較觸發(fā)事件最好是要緩沖的新數(shù)據(jù)單元的到達(dá)。
步驟S7中導(dǎo)致自動閾值自適應(yīng)程序S4啟動的自適應(yīng)觸發(fā)事件可以根據(jù)要求或適當(dāng)選擇。例如,可以定期啟動自動閾值自適應(yīng)程序,使得步驟S7中的自適應(yīng)觸發(fā)事件可以是某個時間條件為真,或者計數(shù)器達(dá)到某個值,正如上面聯(lián)系步驟S6的觸發(fā)事件已經(jīng)描述的。步驟S6和步驟S7中的兩個觸發(fā)事件可以具有相同的固定周期,或者可以以不同的時間間隔發(fā)生。換句話說,可以用同一個計數(shù)器來確定步驟S6和步驟S7的觸發(fā)事件,在這種情況下,兩個步驟S6和S7有效地合并為單一步驟,或者可以用不同的計數(shù)器或不同的計數(shù)器值從不同的初始值向下計數(shù)。
步驟S7的自適應(yīng)觸發(fā)事件最好是作為對長度閾值Lth進(jìn)行修改的基礎(chǔ)的一個或多個鏈路特性的變化。可以指出,在實踐中,將僅僅確定具有一定粒度的變化。換句話說,并非特性中任何這樣小的變化都考慮為觸發(fā)事件,而是只有當(dāng)變化了一定量度時,才考慮為觸發(fā)事件。
利用特性的變化作為觸發(fā)事件的示例示于圖4a,其中示出的步驟S71和S41代替了圖3的S7和S4。就是說,圖4a表示一個示例,其中自動閾值自適應(yīng)程序基于鏈路1的往返時間RTT和數(shù)據(jù)速率DR。因此,步驟S71檢查是否往返時間RTT和數(shù)據(jù)速率DR中的一個或兩個都發(fā)生了變化,若是如此,則以RTT和DR的函數(shù)的形式確定長度閾值Lth的新值??梢灾赋?,上述往返時間RTT只與鏈路1有關(guān),并非端點到端點的往返時間。
在先有技術(shù)中已知,往返時間RTT是表示數(shù)據(jù)單元的發(fā)送和相關(guān)的確認(rèn)消息的接收之間所經(jīng)過的時間周期的參數(shù)。RTT可以用任何需要的和適當(dāng)?shù)姆椒ù_定,尤其是用任何已知的方法確定。例如,RTT在采用ARQ(自動重發(fā)請求)的系統(tǒng)中是自動測量的,但是即使在不使用ARQ的系統(tǒng)中,RTT也可以用一種適當(dāng)?shù)膶iT方案測量,諸如從鏈路1發(fā)送側(cè)向鏈路1的接收側(cè)發(fā)送專門的RTT測量信號,其中接收側(cè)被安排來發(fā)回適當(dāng)?shù)拇_認(rèn)信號。這個示例亦稱“ping”。
類似鏈路的RTT,數(shù)據(jù)速率DR也可以用任何適當(dāng)?shù)幕蛐枰姆椒ù_定。例如,DR可以用專門的測量方法測量,或者它也可能是要求DR作為輸入的另一個控制程序的現(xiàn)成的參數(shù)。
在步驟S41中更新Lth的程序最好包括根據(jù)往返時間RTT和數(shù)據(jù)速率DR適當(dāng)估算鏈路的容量值LC。然后根據(jù)估算的鏈路容量值LC計算鏈路閾值Lth。
現(xiàn)將參照圖6描述本發(fā)明的另一個實施例。在這個實施例中,控制隊列緩沖區(qū)的方法采用兩個長度閾值,最小閾值minth和最大閾值maxth。在這個示例中,結(jié)合圖2,3和4a的實施例所提出的閾值Lth對應(yīng)于minth。步驟S3的擁塞通知程序仍是確定超過步驟S2中的minth的數(shù)值QLav是否超過maxth,或者它是否處于minth和maxth之間。這一點表示為圖6中的步驟S31??梢灾赋觯瑘D6的這些步驟S31-S34可以用來代替圖2和3所示的步驟S3,亦即圖6的步驟S31-S34仍是步驟S3的擁塞通知程序的一個特例。
如圖6所示,若QLav處于minth和maxth之間,則程序進(jìn)到步驟S32,在其中根據(jù)QLav計算幾率p。例如,函數(shù)p(QLav)可以定義為線性的并具有數(shù)值p(minth)=0和p(maxth)=maxp,式中maxp是最大幾率值,可以是固定的,或者它本身可以是一個自適應(yīng)參數(shù)。自然,可以選擇適當(dāng)?shù)幕蛐枰膒(QLav)的其他類型函數(shù)。
然后,在步驟S32之后,利用在步驟S32算出的幾率值p(QLav)對數(shù)據(jù)單元執(zhí)行擁塞通知,見步驟S33。另一方面,若步驟S31的判定結(jié)果是否定的,亦即QLav超過maxth,則在步驟S34對數(shù)據(jù)單元執(zhí)行無條件的擁塞通知操作。
可以在步驟S33根據(jù)幾率值p(QLav)執(zhí)行擁塞通知操作,例如,可以用這樣的方法,即利用所述幾率作為權(quán)重進(jìn)行隨機(jī)處理來進(jìn)行,其中隨機(jī)過程產(chǎn)生“是”或“否”,而且以幾率p(QLav)產(chǎn)生“是”。在先有技術(shù)中這程序是眾所周知的,這里就不必進(jìn)一步描述了。若處理的結(jié)果是“是”,則執(zhí)行擁塞通知,而若結(jié)果是“否”,則不執(zhí)行擁塞通知操作。
在步驟S33或在步驟S34中進(jìn)行的擁塞通知可以用任何適當(dāng)?shù)幕蛐枰姆绞竭x擇,而且可以是例如暗示性的擁塞通知操作,諸如丟棄數(shù)據(jù)單元,或者是明確的擁塞通知、諸如在數(shù)據(jù)單元中設(shè)置適當(dāng)?shù)耐ㄖ獦?biāo)志或發(fā)送明確的通知消息(信源熄滅)。這在前面已經(jīng)描述了,不必贅述??梢灾赋?,在步驟S33,S34中可以進(jìn)行同樣類型的擁塞通知操作,例如,在兩種情況下都進(jìn)行丟棄操作,或者在兩種情況下都進(jìn)行標(biāo)志設(shè)置操作,但也同樣可以在步驟S33中進(jìn)行一種類型的擁塞通知操作,而在步驟S34中進(jìn)行另一種操作,例如,在步驟S33中的擁塞通知操作可以是丟棄數(shù)據(jù)單元的動作,而在步驟S34中的擁塞通知操作可以是標(biāo)志設(shè)置操作。
另外,可以用任何適當(dāng)?shù)幕蛐枰姆椒ㄟx擇用于確定在步驟S33或S34中對之執(zhí)行擁塞通知操作的數(shù)據(jù)單元的程序。例如,擁塞通知操作總是對最后到達(dá)的數(shù)據(jù)單元進(jìn)行,或者用隨機(jī)的方法在隊列數(shù)據(jù)單元之間選擇一個數(shù)據(jù)單元,或者選擇隊列中第一個數(shù)據(jù)單元。選擇數(shù)據(jù)單元執(zhí)行擁塞通知操作的這樣的技術(shù)在先有技術(shù)中是眾所周知的,其他任何已知的技術(shù)均可采用,故在此不必贅述。
按照采用兩個閾值minth和maxth的本實施例,步驟S4(圖2,3)或S41(圖4a)的自適應(yīng)程序仍是首先按下式估算鏈路的容量LCLC=(RTTWC+RTT)·DR.......(2)式中DR是鏈路的數(shù)據(jù)速率,RTT是鏈路的往返時間,而RTTWC是預(yù)定的常數(shù)。然后,確定作為估算的鏈路容量LC的函數(shù)的下閾值minth,例如,設(shè)置所述下閾值minth等于所述估算的鏈路容量LC或者設(shè)置所述下閾值minth等于LC和另一個預(yù)定常數(shù)ε的和。最后,把上閾值maxth設(shè)置成等于minth和另一個預(yù)定常數(shù)之和。
關(guān)于第一預(yù)定常數(shù)RTTWC的選擇,所述常數(shù)最好選擇為是在所述鏈路上傳輸?shù)臄?shù)據(jù)單元的總的最壞情況下端點到端點的往返時間,其中端點到端點意指從數(shù)據(jù)單元的信源到數(shù)據(jù)單元目的地,而且其中RTTWC還不包括鏈路本身RTT的貢獻(xiàn)。但是,RTTWC不應(yīng)設(shè)置為無限高的數(shù)值、使得利用2001年的因特網(wǎng)作為基礎(chǔ)時,最好不超過300ms的值。由于另一方面RTTWC應(yīng)該反映最大RTT,亦即最壞情況下的RTT的事實,所以利用2001年因特網(wǎng)作為基礎(chǔ),RTTWC值宜設(shè)置在200ms和300ms的范圍內(nèi),更宜設(shè)置在200ms和250ms的范圍內(nèi)。
自然,在因特網(wǎng)以外的其他類型的網(wǎng)絡(luò)中,可以采用更窄的范圍,在將來的因特網(wǎng)中也是如此,取決于與2001年當(dāng)前的因特網(wǎng)相比速度的提高情況。
第二個預(yù)定的常數(shù)ε可以是0,或者相對于典型的鏈路容量值的一個小的值。例如,若鏈路具有額定的或最大的鏈路容量LCmax,則ε可在0至0.01·LCmax的范圍內(nèi)選擇。同樣地,ε可以設(shè)置為等效于一個小的數(shù)據(jù)單元數(shù)目,諸如2或3。
最后,關(guān)于用于計算maxth的第三常數(shù),所述第三常數(shù)宜為小的數(shù)據(jù)單元數(shù)目,例如,3至6個數(shù)據(jù)單元。若minth和maxth表達(dá)為數(shù)據(jù)單元的數(shù)目,則為了計算maxth,在minth上加上范圍在3-6內(nèi)的整數(shù)即可,在minth和maxth表達(dá)為數(shù)據(jù)量(以字節(jié)或位為單位)的情況下,則按照以數(shù)據(jù)量量度的預(yù)定的數(shù)據(jù)單元大小(諸如,最大段大小)乘以范圍在3-6內(nèi)的整數(shù)的方式來計算第三常數(shù)。
利用以上述方程式(2)為基礎(chǔ)的minth(Lth)的自適應(yīng)的本發(fā)明的本實施例,最好應(yīng)用于這樣一種網(wǎng)絡(luò)中緩沖用于IP分組的緩沖區(qū),所述網(wǎng)絡(luò)中向外發(fā)送這樣的IP分組的流量控制是按照傳輸控制協(xié)議(TCP)或利用比較擁塞控制方案的協(xié)議,諸如基于速率通信協(xié)議的TCP友好的速率控制協(xié)議操作的。就是說,上述閾值的設(shè)置保證了受網(wǎng)絡(luò)限制的TCP發(fā)送者(受網(wǎng)絡(luò)限制是指傳送中的分組數(shù)目受擁塞控制限制)將充分利用其可用帶寬。本發(fā)明的發(fā)明者認(rèn)識到,受網(wǎng)絡(luò)限制的TCP發(fā)送者應(yīng)該允許將其發(fā)送窗口至少增大到分組饋入其中的管道的容量的兩倍,以便充分利用橫跨多個負(fù)載減小事件的可用帶寬。
如上所述,第一常數(shù)RTTWC最好設(shè)置為對在隊列緩沖區(qū)2中緩沖并通過鏈路1傳送的數(shù)據(jù)單元估計的最壞情況端點到端點的往返時間的值。若端點到端點往返時間可以足夠好地估計,則與將所述常數(shù)簡單地設(shè)置在上述200至300ms范圍內(nèi)相比,對所述常數(shù)尤其可以達(dá)到更精確的選擇。若被管理的隊列包含屬于一個信息流的數(shù)據(jù)單元,則尤為如此。利用信源和目的地地址、信源和目的地端口號碼和協(xié)議識別符來識別信息。信息流的定義和概念在先有技術(shù)中是眾所周知的,例如,在TCP(傳輸控制協(xié)議)的情況下,在先有技術(shù)中是眾所周知的,故此不必贅述。在這種情況下,從端點到端點最壞情況往返時間的比較精確的估計減去鏈路往返時間是可能的??梢灾赋?,一般一個隊列緩沖區(qū)都對屬于多個不同信息流的數(shù)據(jù)單元進(jìn)行緩沖。但是可以設(shè)想,隊列緩沖區(qū)2提供多個隊列20,其中每個隊列與一個給定的信息流相聯(lián)系,每個隊列按照其各自的控制參數(shù)進(jìn)行管理。
在上述實施例和圖4a的實施例中,自動閾值自適應(yīng)程序是一種更新一個或多個閾值的程序。下面將描述另一個實施例,其中自動閾值自適應(yīng)程序包括響應(yīng)鏈路連接狀態(tài)而進(jìn)行的閾值改變程序。如可以安排來代替圖3步驟S7和S4的圖4a中所示,首先在步驟S72確定鏈路1的連接狀態(tài)是否改變了,若是,則啟動S42的閾值改變程序。
步驟S72中的所述確定最好簡單地確定鏈路1是否提供連接。換句話說,確定數(shù)據(jù)單元可否傳輸。步驟S42的閾值改變程序最好這樣安排,即,當(dāng)鏈路1的連接狀態(tài)這樣地改變、使得沒有數(shù)據(jù)單元被傳輸,例如,鏈路發(fā)生故障時,增大閾值Lth,例如將瞬間值乘以一個預(yù)定的因數(shù)fc。換句話說,當(dāng)鏈路失去連接時,步驟S42中的程序把長度閾值從Lth增大為fc.Lth。
如其中步驟S73和S43相當(dāng)于圖4a的步驟S72和S42的圖5中所示,增大閾值Lth的步驟最好后跟在其中確定連接是否恢復(fù)的步驟S44。若是,則流程進(jìn)到步驟S45,其中把閾值復(fù)位為新值??梢詮?fù)位為增大前的閾值,亦即把以前增大后的值除以因數(shù)fc,或者可以重新計算Lth,例如,正如以前聯(lián)系Lth更新程序所說明的。換句話說,測量一個或多個鏈路特性,諸如RTT和DR,并按照其預(yù)定的函數(shù),例如按照上列方程式(2)計算Lth的新值。
盡管可以立即把長度閾值Lth復(fù)位為新值,但是最好按照閾值復(fù)位時隊列中數(shù)據(jù)單元的數(shù)目(瞬間隊列長度)逐步改變其值。就是說,若閾值Lth突然變小,而且用作啟動擁塞通知程序的基礎(chǔ)的與隊列長度相關(guān)的參數(shù)突然變得大于閾值Lth,則會突然出現(xiàn)大量的擁塞通知操作(例如,丟棄大量數(shù)據(jù)單元)。為了避免出現(xiàn)這種情況,步可以用這樣的方式實現(xiàn)驟S45的閾值復(fù)位程序,即,Lth高的初始值不立即復(fù)位到新值,而是首先將其減小到與隊列長度相關(guān)的參數(shù)的瞬間值(例如,QL或QLav),若與隊列長度相關(guān)的參數(shù)減小,則隨之減小,直至達(dá)到上述計算的Lth新值為止。
上述根據(jù)長度的連接狀態(tài)改變鏈路的程序,其優(yōu)點是鏈路出現(xiàn)故障時避免不必要的擁塞通知操作。尤其是在擁塞通知操作是丟棄數(shù)據(jù)單元時,根據(jù)鏈路連接狀態(tài)進(jìn)行的所述閾值改變程序保證進(jìn)入緩沖區(qū)的數(shù)據(jù)單元整個負(fù)載被吸收或者在鏈路出故障時在鏈路上進(jìn)行緩沖,而數(shù)據(jù)單元的丟失得以避免。因此,擁塞通知程序的執(zhí)行會向發(fā)送或接收數(shù)據(jù)單元的端點給出錯誤信息,這一般會以對被發(fā)送的數(shù)據(jù)單元的沒有保證的限制來表示回答。
如前所述,圖4a的步驟S71,S41可以用圖3的步驟S7,S4代替,圖4a的步驟S72,S42可以用圖3的步驟S7,S4代替,圖5的步驟S73,S45可以用圖3的步驟S7,S4代替。另外,還可以把圖4a的更新程序與圖4b或圖5的閾值改變程序結(jié)合起來,例如,安排一序列的步驟S71,S41,S72和S42代替圖3的步驟S7,S4。
此外,可以指出,本發(fā)明的方法還可以由自動閾值自適應(yīng)程序補(bǔ)充,以便根據(jù)對隊列緩沖區(qū)2可用的當(dāng)前存儲器容量自動減小長度閾值Lth。
盡管已經(jīng)借助于詳細(xì)的實施例描述了本發(fā)明,但是這些只用來使本發(fā)明得到更好的理解,并不打算用來限制其范圍。本發(fā)明的范圍在后附的權(quán)利要求書中定義。權(quán)利要求書中的引用符號用來使權(quán)利要求更加容易理解,也不打算限制其范圍。
權(quán)利要求
1.一種控制隊列緩沖區(qū)(2)的方法,所述隊列緩沖區(qū)(2)連接到鏈路(1),并被安排來把數(shù)據(jù)單元(30)排入隊列(20)中,所述方法包括確定(S1)與所述隊列(20)的長度相關(guān)的長度參數(shù)的值(QL,QLav);把所述值(QL,QLav)與長度閾值(Lth)比較(S2),若所述值(QL,QLav)等于或大于所述長度閾值(Lth;minth;maxth),則執(zhí)行(S3)擁塞通知程序;以及自動閾值自適應(yīng)程序(S4,S7);其特征在于所述自動閾值自適應(yīng)程序(S4,S7)被安排來根據(jù)所述鏈路(1)的一個或多個特性而自動地修改所述長度閾值(Lth;minth;maxth)。
2.如權(quán)利要求1所述的方法,其特征在于這樣安排所述自動閾值自適應(yīng)程序(S4,S7)、以便每隔一段時間更新所述長度閾值(Lth;minth;maxth)。
3.如權(quán)利要求1所述的方法,其特征在于所述自動閾值自適應(yīng)程序(S4,S7)包括以下步驟確定所述一個或多個特性中的一個或多個特性是否已經(jīng)改變(S71);以及當(dāng)發(fā)生改變時更新(S41)所述長度閾值(Lth;minth;maxth)。
4.如權(quán)利要求1至3中的一個所述的方法,其特征在于所述一個或多個鏈路特性之一是表示數(shù)據(jù)單元通過所述鏈路發(fā)送和接收到相關(guān)的確認(rèn)消息之間所經(jīng)過的時間段的參數(shù)(RTT)。
5.如權(quán)利要求1至4中的一個所述的方法,其特征在于所述一個或多個鏈路特性之一是所述鏈路(1)為發(fā)送所述數(shù)據(jù)單元而提供的數(shù)據(jù)速率(DR)。
6.如權(quán)利要求1至5中的一個所述的方法,其特征在于所述自動閾值自適應(yīng)程序(S4,S7)包括以下步驟估算鏈路容量值(LC);以及根據(jù)所估算的鏈路容量值(LC)確定所述長度閾值(Lth;minth;maxth)。
7.如權(quán)利要求4,5和6所述的方法,其特征在于所述自動閾值自適應(yīng)程序(S4,S7)包括根據(jù)以下因素估算鏈路容量值(LC)-表示數(shù)據(jù)單元通過所述鏈路發(fā)送和接收到相關(guān)的確認(rèn)消息之間所經(jīng)過的時間段的參數(shù)(RTT);和-所述鏈路(1)為發(fā)送所述數(shù)據(jù)單元而提供的數(shù)據(jù)速率(DR)。
8.如權(quán)利要求7所述的方法,其特征在于通過確定表示數(shù)據(jù)單元經(jīng)由所述鏈路發(fā)送和接收到相關(guān)的確認(rèn)消息之間所經(jīng)過的時間段的所述參數(shù)(RTT)和第一預(yù)定常數(shù)(RTTWC)之和來估算所述鏈路容量值(LC);以及把所述鏈路容量值(LC)設(shè)置成等于所述和與所述數(shù)據(jù)速率(DR)的乘積。
9.如權(quán)利要求8所述的方法,其特征在于所述第一預(yù)定常數(shù)(RTTWC)代表數(shù)據(jù)單元從其信源到其目的地的發(fā)送和在其信源接收到相關(guān)的確認(rèn)消息之間所經(jīng)過的最大時間段的估計值,排除所述數(shù)據(jù)單元經(jīng)過所述鏈路發(fā)送和經(jīng)過所述鏈路接收到相關(guān)的確認(rèn)消息之間所經(jīng)過的時間段。
10.如權(quán)利要求9所述的方法,其特征在于所述第一預(yù)定常數(shù)(RTTWC)在200ms至300ms的范圍內(nèi),最好在200ms至250ms的范圍內(nèi)。
11.如權(quán)利要求6至10中的一個所述的方法,其特征在于把所述長度閾值(Lth;minth;maxth)設(shè)置成等于所述估算的鏈路容量值(LC)。
12.如權(quán)利要求6至10中的一個所述的方法,其特征在于把所述長度閾值(Lth;minth;maxth)設(shè)置成等于所述估算的鏈路容量值(LC)與第二常數(shù)(ε)之和。
13.如權(quán)利要求1至12中的一個所述的方法,其特征在于所述長度閾值(Lth;minth;maxth)是第一長度閾值(minth);所述擁塞通知程序(S3)包括把所述長度參數(shù)的所述值(QL;QLav)與大于第一長度閾值(minth)的第二長度閾值(maxth)加以比較(S31)的步驟;以及所述自動閾值自適應(yīng)程序(S4,S7)包括以所述第一長度閾值(minth)和預(yù)定常數(shù)之和的形式計算所述第二長度閾值(maxth)的步驟。
14.如權(quán)利要求1至13中的一個所述的方法,其特征在于所述自動閾值自適應(yīng)程序(S4,S7)包括安排來根據(jù)所述鏈路(1)的連接狀態(tài)(S72)而自動地改變所述長度閾值(Lth;minth;maxth)的閾值改變程序(S42;S43,S44,S45)。
15.如權(quán)利要求14所述的方法,其特征在于所述閾值改變程序(S42;S43,S44,S45)包括以下步驟確定所述連接狀態(tài)是否允許數(shù)據(jù)單元的傳輸,而若所述連接狀態(tài)不允許數(shù)據(jù)單元的傳輸,則按照預(yù)定閾值增大程序增大所述長度閾值(Lth;minth;maxth)。
16.如權(quán)利要求15所述的方法,其特征在于所述閾值增大程序包括把當(dāng)前長度閾值(Lth;minth;maxth)乘以預(yù)定因數(shù)(fc)。
17.如權(quán)利要求16所述的方法,其特征在于所述預(yù)定因數(shù)(fc)是2。
18.如權(quán)利要求15至17中的一個所述的方法,其特征在于所述閾值改變程序(S42;S43,S44,S45)還包括以下步驟確定(S44)所述閾值增大程序之后所述連接狀態(tài)是否再次允許數(shù)據(jù)單元傳輸,若所述連接狀態(tài)再次允許數(shù)據(jù)單元傳輸,則按照預(yù)定的閾值復(fù)位程序(S45)把所述長度閾值(Lth;minth;maxth)設(shè)置為新值。
19.如權(quán)利要求18所述的方法,其特征在于所述閾值復(fù)位程序(S45)包括使所述長度閾值(Lth;minth;maxth)返回執(zhí)行所述閾值增大程序之前的值。
20.如權(quán)利要求18所述的方法,其特征在于所述閾值復(fù)位程序(S45)包括根據(jù)所述鏈路(1)的一個或多個特性的當(dāng)前值更新所述長度閾值(Lth;minth;maxth)。
21.如權(quán)利要求18至20中的一個所述的方法,其特征在于所述閾值復(fù)位程序(S45)包括根據(jù)所述隊列緩沖區(qū)(2)中的數(shù)據(jù)單元的個數(shù)逐步把所述長度閾值(Lth;minth;maxth)復(fù)位為所述新值。
22.如權(quán)利要求21所述的方法,其特征在于所述閾值復(fù)位程序(S45)包括若所述隊列(20)的長度(QL)瞬間值超過所述新值,則把所述長度閾值(Lth;minth;maxth)復(fù)位為所述隊列(20)的長度(QL)瞬間值,并逐步把所述長度閾值(Lth;minth;maxth)減小到所述連續(xù)減小隊列(20)長度(QL)的瞬間值,直至達(dá)到所述新值為止。
23.如權(quán)利要求1至22中的一個所述的方法,其特征在于每隔一段時間執(zhí)行所述確定與所述隊列(20)的長度相關(guān)的參數(shù)的值(QL;QLav)的步驟和所述值(QL;QLav)與所述長度閾值(Lth;minth;maxth)的所述比較的步驟。
24.如權(quán)利要求1至22中的一個所述的方法,其特征在于當(dāng)所述緩沖區(qū)接收到要通過所述鏈路發(fā)送的新的數(shù)據(jù)單元時,執(zhí)行所述確定與所述隊列(20)的長度相關(guān)的參數(shù)的值(QL;QLav)的步驟以及所述值(QL;QLav)與所述長度閾值(Lth;minth;maxth)的所述比較的步驟。
25.如權(quán)利要求1至24中的一個所述的方法,其特征在于所述擁塞通知程序(S3)包括作出丟棄數(shù)據(jù)單元的決定,以便丟棄或保留數(shù)據(jù)單元。
26.如權(quán)利要求1至25中的一個所述的方法,其特征在于所述擁塞通知程序(S3)包括作出數(shù)據(jù)單元設(shè)置標(biāo)志的決定,以便決定是否在數(shù)據(jù)單元中設(shè)置擁塞通知標(biāo)志。
27.如權(quán)利要求25或26所述的方法,其特征在于所述決定是為新接收到的數(shù)據(jù)單元作出的。
28.如權(quán)利要求1至27中的一個所述的方法,其特征在于與所述隊列(20)的長度相關(guān)的所述長度閾值(QL;QLav)是所述隊列(20)的當(dāng)前長度(QL)。
29.如權(quán)利要求1至27中的一個所述的方法,其特征在于與所述隊列(20)的長度相關(guān)的所述長度閾值(QL;QLav)是所述隊列(20)的平均長度(QLav)。
30.如權(quán)利要求1至29中的一個所述的方法,其特征在于所述鏈路(1)的無線電鏈路。
31.如權(quán)利要求1至30中的一個所述的方法,其特征在于還包括自動閾值自適應(yīng)程序,用以根據(jù)所述隊列緩沖區(qū)(2)可用的當(dāng)前存儲器容量自動減小所述長度閾值(Lth;minth;maxth)。
32.如權(quán)利要求1至31中的一個所述的方法,其特征在于所述數(shù)據(jù)單元是因特網(wǎng)通信協(xié)議的分組。
33.一種計算機(jī)程序,所述計算機(jī)程序被安排來執(zhí)行如權(quán)利要求1至31中的一個的方法。
34.一種數(shù)據(jù)載體,它存儲如權(quán)利要求33的計算機(jī)程序。
35.一種數(shù)據(jù)單元傳輸裝置,它包括隊列緩沖區(qū)(2),所述數(shù)據(jù)單元傳輸裝置被安排來連接到鏈路(1)、以便通過所述鏈路發(fā)送數(shù)據(jù)單元,其中,所述數(shù)據(jù)單元發(fā)送裝置被安排來執(zhí)行如權(quán)利要求1至31中的一個的方法。
36.如權(quán)利要求35所述的數(shù)據(jù)單元傳輸裝置,其特征在于;所述數(shù)據(jù)單元傳輸裝置是數(shù)據(jù)單元傳輸網(wǎng)絡(luò)中的路由器。
37.如權(quán)利要求36所述的數(shù)據(jù)單元傳輸裝置,其特征在于所述路由器是因特網(wǎng)通信協(xié)議的路由器。
全文摘要
一種控制隊列緩沖區(qū)(2)的方法,所述隊列緩沖區(qū)(2)連接到鏈路(1),并被安排來把數(shù)據(jù)單元(30)排入隊列(20)中,所述方法包括確定(S1)與所述隊列(20)的長度相關(guān)的長度參數(shù)的值(QL,QL?
文檔編號H04L12/56GK1531804SQ02807835
公開日2004年9月22日 申請日期2002年4月5日 優(yōu)先權(quán)日2001年4月9日
發(fā)明者M·邁爾, M 邁爾, R·盧維格 申請人:艾利森電話股份有限公司