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