新四季網

用於控制隊列緩衝器的方法及裝置的製作方法

2023-09-23 22:03:55

專利名稱:用於控制隊列緩衝器的方法及裝置的製作方法
技術領域:
本發明涉及用於控制隊列緩衝器的方法及裝置,其中,所述隊列緩衝器連接到鏈路,並在隊列中對流的數據單元排隊。
背景技術:
在基於數據單元的通信、即要發送的信息被分為多個單元並且各個單元通過通信網絡發送的通信中,已知的是沿網絡在鏈路上提供隊列緩衝器,使得可緩衝在這種鏈路上傳送的數據單元。緩衝器可能是發送或輸出緩衝器(即用於要通過出局鏈路發送的數據單元的緩衝器)或者接收或輸入緩衝器(即用於已經通過入局鏈路發送的數據單元的緩衝器)。
用於傳送數據的這類單元可帶有各種名稱,諸如協議數據單元、幀、分組、段、信元等,取決於具體上下文、所使用的具體協議和其它某些慣例。在本文獻的上下文中,數據的所有這類單元一般將稱作數據單元。
把數據單元放入隊列中、使它們在隊列中前移以及從隊列中刪除數據單元的過程被稱作隊列管理或隊列控制。
隊列管理的許多概念是已知的,包括監測隊列長度參數(例如隊列的絕對長度或平均長度)並與長度門限值比較、以便在超過門限值時執行擁塞通知過程的這類概念。這種擁塞通知過程可包括丟棄數據單元和/或標記數據單元(例如在數據單元中設置擁塞通知標誌)。在EP-A-1249972的介紹中描述了例如全滿時丟棄或隨機早期檢測(RED)等的這類管理概念的各種實例。因此,在此不需要重複。
EP-A-1249972提出一種方案,其中,要與隊列長度參數進行比較的長度門限值根據排隊數據單元要通過其發送的鏈路的一個或多個特性自動更新。通過使自動門限適應一個或多個鏈路特性,獲得一種非常靈活的主動隊列管理形式,它可提供改進的吞吐量和減小的延遲,特別是在具有時變特性的鏈路、比如無線鏈路上。
發明目的本發明的一個目的是提供隊列緩衝器管理的改進方法及裝置。

發明內容
這個目的通過本申請的獨立權利要求中所述的方法及裝置來實現。在從屬權利要求中描述有利的實施例。
根據本發明,在系統中,隊列緩衝器控制或管理包括確定與隊列長度相關的長度參數的值,把這個值與門限進行比較,並在超過門限時執行擁塞通知過程,以及提供自動門限適配過程,它包括用於根據一個或多個流量控制參數來調節長度門限值的過程。
通過考慮與排隊數據單元流量關聯的一個或多個流量控制參數,隊列緩衝器管理變得更為靈活,並且更好地能夠以使得對流量控制的緩衝器管理動作或判定的影響不產生不希望的效應的方式進行,和/或更好地能夠以比先有技術系統更直接和智能的方式對流量控制作出反應。
一個或多個流量控制參數可通過任何適當或希望的方式來確定。作為一個實例,它們可能是緩衝控制器中存儲的預定值。優選地,它們在這個情況中與數據單元接收方的已知流量控制過程相關聯。換言之,如果已知某些流量控制過程(例如由包括流量控制例程的廣泛使用的電腦程式提供)採用預定流量控制參數,則這些已知流量控制參數可用作調節長度門限值的基礎。
作為對於根據預定值來導出一個或多個流量控制參數中的至少一部分的替代或補充方式,可提供用於從所述隊列中排隊的所述流的發送方和接收方之一引入的流量控制參數中確定所述一個或多個流量控制參數中的至少一部分的過程。
緩衝器管理可通過關於給定網絡上下文、流量控制原則以及預期效應(或者希望避免的負效應)所希望的任何方式來調諧。根據一個優選實施例,隊列緩衝器管理對已確定流量控制參數的適配用來避免鏈路利用不足。鏈路利用不足意味著存在鏈路空閒(即沒有正傳送的數據單元)的周期。更具體來說,在這個優選實施例中,檢查預期長度門限值是否可能導致又可能因發送數據單元的發送方的反應而引起鏈路利用不足的擁塞通知操作,以及長度門限值以不同方式適配,以便避免這種鏈路利用不足。因而更有效地利用網絡資源。


通過以下參照附圖對優選實施例的詳細說明,本發明的其它方面和細節將變得明顯,附圖包括圖1說明根據本發明的一個實施例的緩衝器和緩衝控制器的示意框圖表示,圖2說明本發明的一個方法實施例的流程圖,圖3說明根據本發明的另一個實施例的緩衝器和緩衝控制器的示意框圖表示,以及圖4說明本發明的另一個方法實施例的流程圖。
具體實施例方式
雖然本發明的以下優選實施例通常參照採用基於窗口的流量控制的系統,更具體來說是參照傳送IP(網際網路協議)數據單元的系統,但是本發明既不是限制到基於窗口的流量控制也不是限制到基於IP的系統。本發明可適用於任何類型的數據單元的排隊而與具體協議無關,並且可適用於任何類型的流量控制,例如還適用於基於速率的流量控制,只要能夠讓緩衝器管理過程確定流量控制參數。
此外,本發明的方法可適用於任何已知的隊列管理方案,在其中,隊列長度相關參數與至少一個長度門限值進行比較,並且在超過門限時執行擁塞通知過程。也就是說,該方法例如可適用於任何已知的RED方案,可適用於在隊列全滿時丟棄數據單元、例如尾端丟棄、隨機丟棄或前端丟棄的方案,以及可適用於執行作為對丟棄的替代或補充的顯式擁塞通知的任何已知的方案。
優選的是結合EP-A-1249972中公開的主動隊列管理來應用本發明的方法及裝置。本文獻的完整公開及其美國相應申請通過引用結合於本文中。
圖1說明隊列緩衝控制器10的示意表示,它能夠實現用於控制隊列緩衝器20中的數據單元的管理的本發明。參考標號3表示通信網絡,數據單元30通過它到達隊列緩衝器20,以便在通過鏈路40發送之前被放入隊列21。
在隊列21中排隊的數據單元30屬於一個或多個流。流一般由源和目標主機地址、源和目標服務接入點(SAP)標識符和協議標識符來標識。流的定義和概念是本領域例如從TCP/IP眾所周知的,在該情況中,SAP標識符稱作埠號,以及源和目標主機地址稱作IP位址,使得在此不需要進一步說明。
隊列21可按照下列方式排列所述隊列21中的所有數據單元來自同一個流,或者它們可能來自多個流。可能的是,緩衝器20通過下列方式來管理存在多個隊列,每個隊列與相應的流關聯。
現在描述用於在隊列緩衝控制器10中體現本發明的概念的具體元件。要注意,隊列緩衝控制器一般包括不止這些元件、即用於處理所接收數據單元和管理緩衝器的已知元件,為了簡潔起見,沒有對它們進行明確說明。控制器10還可能具有具體實現如EP-A-1249972中所述的系統的元件。
參考標號101描述用於確定與隊列21的長度相關的長度參數的值的隊列長度確定器。此外,提供比較器102,用於把已確定長度值與設置成自動適配長度門限值的門限適配器104所提供的長度門限值進行比較。比較器102連接到在已確定長度值大於長度門限值時執行擁塞通知過程的擁塞通知器103。下面將會更詳細地繼續說明,要確定的長度參數可通過任何適當或所希望的方式來選擇,例如作為絕對長度隊列長度或者平均隊列長度,以及擁塞通知過程可同樣以適當或所希望的方式來選擇,例如作為數據單元丟棄過程和/或顯式數據單元標記過程。
根據本發明的這個實施例,提供流量控制參數確定器105以用於確定在隊列21中排隊的流的發送方和接收方其中之一所引入的流量控制參數。此外,門限適配器104以下列方式設置長度門限值根據已確定流量控制參數來調節。
要注意,上述元件101-105可作為硬體、軟體或者硬體和軟體的任何適當組合來提供。控制器10優選地是可編程數據處理器,以及元件101至105是軟體元件、例如程序代碼部分。
圖2說明本發明的方法的一個方法實施例的流程圖,該方法可採用圖1所示的控制器10來執行。在第一步驟S1,確定與隊列21的長度相關的長度參數的值。這個隊列長度相關參數可通過任何所希望或適當的方式與隊列長度相關,例如可能是實際或瞬時隊列長度QL,或者從實際或瞬時隊列長度導出的參數、比如平均值QLav。
在圖2的實例中,隊列長度相關參數是實際隊列長度QL。如果希望採用平均隊列長度QLac,則這個平均值可按照任何已知的適當求平均算法來確定,以及這樣一種算法通常可包括通過計算舊平均值與第一加權因子相乘再加上瞬時隊列長度與第二加權因子相乘之和來更新舊平均值。例如,QLav可計算為QLav(new)=QLav(old)·(1-1/2n)+(QL·1/2n)其中,QL表示瞬時隊列長度值,以及n是在0與1之間可調整的指數加權因子。
回到圖2,隊列長度參數QL與長度門限值Lth進行比較。如果超過長度門限值Lth,則執行擁塞通知過程S3,否則省略擁塞通知過程S3。
如以上所述,擁塞通知過程可通過任何適當或所希望的方式來選擇。例如,它可包括從隊列21中丟棄/標記一個或多個預定或者一個或多個隨機選擇的數據單元,或者包括在把一個或多個新到達的數據單元放入隊列21之前將其丟棄/標記,或者與預定概率函數相關地執行這種丟棄/標記操作。標記可例如通過在排隊數據單元的一個或多個中設置顯式擁塞通知標誌來實現。
在步驟S2或S3之後,過程轉到步驟S4,在其中確定是否已經發生適配長度門限參數Lth的適配觸發事件。要注意,步驟S4是可選的。如果步驟S4判定已經發生適配觸發事件,則過程轉到步驟S5,在其中確定隊列21中排隊的流的發送方和接收方其中之一所引入的流量控制參數。然後,過程轉到步驟S6,在其中進行Lth的適配過程,它根據步驟S5所確定的流量控制參數來調節長度門限值Lth。
可能要注意,圖2所示的步驟的具體排列只是一個實例。特別地,組成用於判定擁塞通知過程的執行的過程的步驟S1、S2和S3與步驟S4、S4和S6構成的適配過程無關。因此,步驟S1、S2和S3可與S4、S5和S6無關地排列,使得步驟S4-S6可在步驟S1-S3之前執行或者與其並行執行。可能特別要注意,一方面的步驟S1-S3以及另一方面的S4-S6一般包含在控制或管理隊列緩衝器的更大的方法中,更大的方法具有更多步驟和過程,但是其中這些附加步驟和過程沒有示出,因為它們不屬於本發明。圖2的方法可實現為軟體,以及步驟S1-S3可例如在一個線程中實現,而S4-S6可在另一個獨立線程中實現。但是,該方法也可直接以硬體的形式來實現。
要注意,步驟S6的Lth的適配過程一般不僅考慮已確定流量控制參數,而且還考慮與隊列管理、例如EP-A-1249972提出的鏈路相關特性相干的其它參數。
此外還要注意,引起自動門限適配過程S6的發起的步驟S4中的適配觸發事件可按照適當或所希望的方式來選擇。例如,可能定期發起自動門限適配過程,使得步驟S4中的適配觸發事件可能是某個時間條件變為真或者是計數器達到預定值的事件。適配觸發事件還可包括在適配過程S6中起一定作用的一個或多個參數的變化,例如測量的流量控制參數或者一個或多個鏈路特性參數。可能要注意,實際上,變化僅採用某個粒度來確定。換言之,不是參數中的任何非常小的變化都被認為是觸發事件,而是在出現預定幅度的變化時才認為是觸發事件。
確定流量控制參數的過程可確定所關注流的流量控制所涉及的一個或多個流量控制參數。優選地,一個流量控制參數被監測,以及該流量控制參數優選地由流的接收方引入。這例如可通過把流量控制參數插入從接收方發送給發送方用於確認數據單元的正確接收的確認數據單元中來進行。這個種類的方案是本領域眾所周知的,例如ARQ(自動重傳請求),使得在此不需要作進一步說明。
例如,如果流量控制基於窗口,則流量控制參數可能是接收方所引入的控制窗口,所述控制窗口表示接收方可處理的數據單元數量的限制。例如,所測量流量控制參數可能是從TCP已知的接收窗口或者通知窗口rwnd。但是,所測量流量控制參數也可由發送方引入,並且表示發送方可發送的數據單元數量的限制。
另一方面,在基於速率的流量控制系統中,所測量流量控制參數可能是接收方所引入的控制速率,例如它表示接收方可處理的到達數據單元的數據速率限制,它也可稱作rlfr(接收方限制流速率)。另一方面,流量控制參數之一還可能是流13的發送方所公告的數據速率,例如表示發送方可發送的數據單元的速率的數據速率限制、所述發送方的當前發送速率或者所述發送方的目標發送速率。目標發送速率例如可由發送視頻信息並打算以某個質量發送的應用來通告。
圖1所示的控制器10和緩衝器20一般在通信網絡3的網絡節點中提供。這樣一種通信節點例如可能是網絡3中的伺服器和/或路由器。
如果流量控制參數從上述確認數據單元中提取,則這可在其中配備了控制器10和緩衝器20的網絡節點上進行,或者可在不同的網絡節點上進行,在後一種情況中,所提取流量控制參數從所述另一個網絡節點發送給其中配備了控制器10和緩衝器20的網絡節點。
圖1說明前一種情況的一個實例,在其中,另外假定緩衝器20還保持確認數據單元,使得流量控制參數確定器105可從緩衝的確認數據單元中提取預期流量控制參數。
流量控制參數的提取一般優選地在其中配備了緩衝器和緩衝控制器的節點中進行。但是,網絡以下列方式設置是可行的這例如因數據單元由具有嵌入其中的高層數據單元的緩衝器來處理而極為困難或者不可行,以及附加加密已經在嵌入的高層數據單元中執行,使得所述高層數據單元中包含的任何控制參數無法被提取。要注意,術語「嵌入」表示封裝和/或分段。
在這種情況中,其中提取在配備了控制器和緩衝器的網絡節點上不可行,應當實現一個過程,使得其中嵌入的高層數據單元可解密的不同網絡節點執行預期流量控制參數的提取,並把所提取流量控制參數發送給所關注的網絡節點。發送可通過專用連接來執行,或者通過提供從另一個網絡節點發送給所關注網絡節點的數據單元中的專用位置來執行。
在後一種情況中,流量控制參數確定器105本身連接到網絡3,以便接收所提取流量控制參數(圖1中未示出)。
現在參照圖3和圖4來描述其它實施例。要注意,與圖1和圖2中包含的相同的參考標號在圖3和圖4中表示相應的元件,使得不需要重複說明。
圖3所示的配置幾乎與圖1所示相同,但流量控制參數確定器105已經由用於存儲基於已知流量控制過程所使用的流量控制參數的一個或多個預定值的存儲裝置106代替。圖4說明一個流程圖,它與圖2相同,但步驟S5被省略,以及S6中的Lth的適配過程設置成在適配Lth時考慮存儲裝置106中存儲的一個或多個值。
流量控制過程中使用的參數例如可從以下事實來了解包含流量控制例程的某些電腦程式始終採用一個或多個具體的流量控制參數。那麼,不需要從數據單元或者確認消息中獲取這類參數。作為一個實例,Microsoft Corporation的眾所周知的作業系統Windows 2000為TCP接收窗口、即TCP接收方向TCP發送方通告的窗口的計算指定特定值。這些值基於16KB或64KB。初始條件中使用的精確值為16384位元組,以及對於乙太網,窗口通常設置為17520位元組(16KB上捨入為十二個1460-字節段,參見Dave MacDonald和Warren Barkley的Microsoft Windows 2000 TCP/IP實現細節,白皮書,2000年,第31和32頁)。因此,值16KB和64KB(以及可能16384位元組和/或17520位元組)可被存儲,作為預定流量控制值。
要注意,圖1和圖3所示的實施例可結合,即以利用預定存儲流量控制參數以及由發送方和/或接收方所引入的並從數據單元或確認消息中得到的流量控制參數的一個實施例的形式。
如以上所述,自動門限適配過程可通過任何適當或所希望的方式來設置。它優選地以下列方式來設置它包括估算鏈路容量值LC,在長度門限值設置成等於估算鏈路容量值的條件下,分析擁塞通知過程的執行是否因發送方對擁塞通知的反應而導致這個估算鏈路容量的利用不足,以及根據分析步驟的結果,通過在分析步驟表明沒有利用不足時把鏈路門限值設置成等於估算鏈路容量值,否則把長度門限值設置成大於估算鏈路容量值,來適配長度門限值。
鏈路容量值可被理解為在考慮中的流的發送方必需發出的數據的最小量,使得鏈路40分配給所述流的帶寬被完全利用。完全利用表示分配到給定流的鏈路帶寬的份額始終被完全利用。以稍微不同的方式來說明,如果考慮僅服務於單個流的鏈路40的簡化實例,則這意味著那個流的發送方發送許多數據,使得鏈路40一直忙,即不斷發送數據單元而在中間沒有任何空閒時間。再換句話說,鏈路容量是發送方發送的數據量,使得被發送的任何附加數據不會增加吞吐量,因為附加數據被排隊。
鏈路容量還可被理解為鏈路40提供給所關注流的數據速率與無負荷網絡的情況的所述流關聯的往返時間(RTT)相乘之積。無負荷網絡表示沒有排隊延遲。因此,無負荷RTT的值等於流的實際RTT與所述流的所有排隊延遲之間的差值。
因此,鏈路容量值的估算一般包括確定表示無負荷RTT的時間值,並把這個值與鏈路40為所關注流提供的數據速率DR相乘。這個無負荷RTT的確定可通過任何適當或所希望的方式進行。一個實例是計算常數RTTWC與鏈路40所提供的RTT之和。RTTWC是除了所關注鏈路40的RTT之外的整個無負荷RTT的最壞情況估算,並且可具有150到300ms、更優選為150到250ms的值。估算給定流的無負荷RTT的一個備選可能性包括例如通過保持所緩衝數據單元30在隊列21中花費的時間量的平均值,並計算流的實際RTT與這個排隊延遲之間的差值,來計算緩衝器20上的排隊延遲。流的實際RTT的值例如可由發送方插入所述流的數據單元中,並由控制器10讀取。
要注意,鏈路容量的估算值LC一般與實際瞬時鏈路容量不相同。估算鏈路容量的過程優選地使估算值超過實際鏈路容量,即估算值是保守的。這可通過任何適當或所希望的方式來實現,例如通過採用以上所述的無負荷RTT的最壞情況估算值和/或通過把預定正因子加至估算鏈路容量時所使用的參數的一個或多個。換言之,可把預定因子加至無負荷RTT和/或鏈路的RTT和/或DR,以及可把預定正因子加至計算結果,即,用LC+ε來取代LC的計算值LC←LC+ε。
分析擁塞通知過程的執行是否將導致估算鏈路容量的利用不足的步驟取決於用於所考慮流的流量控制的具體類型。下面繼續給出具體實例。在任何情況中,如果在長度門限值被考慮設置成等於估算鏈路容量值的條件下,由於發送方對擁塞通知的流量控制反應而不會出現利用不足,則實際長度門限值可設置為這個估算鏈路容量。另一方面,如果分析表明利用不足、即其中可能出現分配給特定流的帶寬的一個或多個空閒周期的情況,則長度門限值Lth設置成大於估算鏈路容量值。進行這種操作時,執行擁塞通知過程的趨勢被降低,因為減小了超過長度門限值Lth的概率。因此,也降低了鏈路利用不足的可能性。因此,鏈路資源不太可能因利用不足而浪費。
如果分析步驟表明利用不足,則長度門限值Lth優選地設置成根據流量控制參數導出的值。
這將在一個實例的上下文中說明,在其中,發送方與接收方之間的流量控制是基於窗口的。更具體來說,發送方被設置成以預定序列發送數據單元,以及接收方被設置成發送確認數據單元的正確接收的確認消息。每個確認消息標識在序列中正確接收到的最後一個數據單元,以及接收方向發送方發送表示接收方可處理的數據單元數量的限制的窗口值。流的發送方採用被選擇為接收方所通告的窗口與第二窗口值中的最小值的發送窗口來執行基於窗口的流量控制,使得發送方不得發送具有比最高確認序列號和發送窗口之和更高的序列號的數據單元。作為對擁塞通知的反應,發送方將第二窗口值除以k(k>1),此後再對於它所接收的每個複製確認消息將第二窗口增加一個預定增量。複製確認消息是標識已經在前一個確認數據單元中確認的序列號的正確接收的確認數據單元。
以這種方式工作的系統的一個實例是TCP,在其中,通知窗口又稱作rwnd,上述第二窗口是擁塞窗口,以及對擁塞通知作出反應的過程稱作快速恢復。對於TCP,k=2。但是要注意,當前實施例不是限制為TCP,而是可適用於按照以上一般描述的方式工作的任何系統。
根據這個實施例,用於緩衝器管理的流量控制參數是確認數據單元中包含的第一窗口值,即表示接收方可處理的數據單元數量的限制的窗口值。此外,長度門限值Lth最初(即在開始管理所關注流的數據單元時)設置為上述估算鏈路容量值LC。然後,自動門限適配過程S6以下列方式來執行如果第一窗口值(例如rwnd)大於最初等於估算鏈路容量值LC的三倍的(Lth+2×LC),則長度門限值Lth設置成等於估算鏈路容量值LC。
其原因說明如下。在按照上述方式工作的流量控制系統中,如果隊列長度門限Lth設置為估算鏈路容量值LC,則在擁塞通知過程時的發送窗口大小將為Lth+LC=2×LC。這是因為以下事實如果發送窗口大小等於鏈路容量,則隊列長度將為零。此外,為了在擁塞通知響應階段期間(即,當第二窗口值除以二,然後對於每個複製確認消息增加一個預定增量時)使用鏈路,這個第二窗口必需能夠擴充到在擁塞通知過程時的發送窗口大小的1.5倍。因此,如果發送窗口無法擴充到超過2×1.5×LC,則擁塞通知將導致鏈路利用不足。因此,比較接收方所通告的窗口與3×LC的步驟是用於分析是否將響應擁塞通知而出現鏈路利用不足的步驟的一個實例。
在一般化以上考慮時,可能要考慮,Lth可能改變並且不再等於LC,使得條件是把通知窗口與(Lth+LC)×1.5進行比較。
採用TCP作為實例,這個實施例也可用偽代碼來表達If(rwnd>1.5×(LC+Lth){Lth=LC;}else{Lth=x;}要注意,在上述實例中,如果rwnd大於1.5×(LC+Lth),則長度門限Lth設置成等於估算鏈路容量LC。但是,如果rwnd=1.5×(LC+Lth),設置Lth=LC也是可行的。
X的值可通過任何適當或所希望的方式來選擇,只要它大於LC。例如,它可選擇為第一窗口值(本例中為rwnd)的函數。它優選地設置成等於第一窗口值減去預定減少值,其中,所述預定減少值可能為零,或者其本身可能是流的數據單元的最大段大小的函數。例如,預定減少值可能是最大段大小的兩倍。
與流的接收方所通告的窗口值相關地設置長度門限值的好處在於,如果流由接收方限制,則不會達到長度門限值。如果沒有達到長度門限值,則不會進行擁塞通知過程,因而不會不必要地產生鏈路利用不足。因此,實現鏈路資源的更好利用,同時沒有負面影響在發送方和接收方執行的流量控制。
現在描述另一個TCP實例,它基於結合圖3和圖4所述的配置及方法。假定存儲了兩個已知的接收方窗口值,表示為LIM1和LIM2。LIM1大於LIM2。例如,LIM1=64KB,LIM2=16KB,參見以上結合作業系統Windows2000所述的實例。LIM1無疑也可能是基於64KB所選的值、例如64KB左右給定範圍內的任何值,以及LIM2同樣也可能是基於16KB所選的值、例如16KB左右給定範圍內的任何值。以偽代碼表達If 1.5×(LC+Lth)>LIM1{Lth=X1;}else if 1.5×(LC+Lth)>LIM2{Lth=X2;}else{Lth=LC}X1大於X2,並且兩者均大於LC。優選地,X1為LIM1的函數,和/或X2為LIM2的函數。例如,函數可能是LIM1或LIM2減去預定減少值的值,其中,所述預定減少值可能為零,或者其本身可能是流的數據單元的最大段大小的函數。例如,預定減少值可能是最大段大小的兩倍。
雖然已經通過具體實例描述了本發明,但這些不是要進行限制,因為本發明的範圍由所附權利要求來定義。權利要求中的參考標號僅用來使權利要求更易於閱讀,同樣不是要具有任何限制作用。
權利要求
1.一種控制隊列緩衝器(20)的方法,所述隊列緩衝器(20)連接到鏈路(40),並且設置成在隊列(21)中對流的數據單元(30)進行排隊,包括確定(S1)與所述隊列的長度相關的長度參數的值(QL;QLav),把所述值(QL;QLav)與長度門限值(Lth)進行比較(S2),並且如果所述值(QL;QLav)大於所述長度門限值(Lth),則執行(S3)擁塞通知過程,以及自動門限適配過程(S6),其特徵在於所述自動門限適配過程(S6)包括用於根據一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)來調節所述長度門限值(Lth)的過程。
2.如權利要求1所述的方法,其特徵在於,所述一個或多個流量控制參數(LIM1,LIM2)為預定值。
3.如權利要求2所述的方法,其特徵在於,所述預定值與數據單元發送方和數據單元接收方中的一個或兩者的已知流量控制過程關聯。
4.如權利要求1至3其中之一所述的方法,其特徵在於,還包括用於從所述隊列(21)中排隊的所述流的發送方和接收方其中之一所引入的流量控制參數(rwnd;rlfr)中確定所述一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)中的一個或多個的過程(S5)。
5.如權利要求4所述的方法,其特徵在於,所述流量控制參數由所述接收方引入,並被插入從所述接收方發送給所述發送方以用於確認數據單元的正確接收的確認數據單元中。
6.如權利要求5所述的方法,其特徵在於,所述緩衝器設置在連接所述發送方和所述接收方的通信網絡的網絡節點中,其中,用於確定所述流量控制參數的所述過程包括在所述網絡節點上從所述確認數據單元中提取所述流量控制參數。
7.如權利要求5或6所述的方法,其特徵在於,所述緩衝器設置在連接所述發送方和所述接收方的通信網絡的第一網絡節點中,其中,用於確定所述流量控制參數的所述過程包括在與所述第一網絡節點不同的第二網絡節點上從所述確認數據單元中提取所述流量控制參數,並把所述流量控制參數從所述第二網絡節點發送給所述第一網絡節點。
8.如權利要求1至7其中之一所述的方法,其特徵在於,對於所述隊列(21)中的所述流執行的流量控制是基於窗口的,其中所述一個或多個流量控制參數之一是控制窗口。
9.如權利要求8所述的方法,其特徵在於,所述控制窗口由所述接收方引入,並且表示接收方可處理的數據單元數量的限制。
10.如權利要求8所述的方法,其特徵在於,所述控制窗口由所述發送方引入,並且表示發送方可發送的數據單元數量的限制。
11.如權利要求1至7其中之一所述的方法,其特徵在於,對於所述隊列(21)中的所述流執行的流量控制是基於速率的,其中所述一個或多個流量控制參數之一是控制速率。
12.如權利要求10所述的方法,其特徵在於,所述控制速率由所述接收方引入,並且表示接收方可處理的到達數據單元的數據速率限制。
13.如權利要求10所述的方法,其特徵在於,所述控制速率由所述發送方引入,並且表示對於發送方可發送的數據單元的速率的數據速率限制、當前發送速率和目標發送速率其中之一。
14.如權利要求1至13其中之一所述的方法,其特徵在於,所述自動門限適配過程包括估算鏈路容量值(LC),在所述長度門限值(Lth)設置成等於所述估算鏈路容量值(LC)的條件下,分析擁塞通知過程的執行是否會因所述發送方對擁塞通知的反應而導致所述鏈路的利用不足,以及通過如果所述分析步驟表明沒有利用不足,則把所述長度門限值(Lth)設置成等於所述估算鏈路容量值(LC),否則把所述長度門限值(Lth)設置成大於所述估算鏈路容量值(LC),根據所述分析步驟的結果來適配所述長度門限值(Lth)。
15.如權利要求14所述的方法,其特徵在於,如果所述分析步驟表明利用不足,則所述長度門限值(Lth)設置成根據所述流量控制參數(LIM1,LIM2;rwnd;rlfr)其中之一導出的值。
16.如權利要求14或15所述的方法,其特徵在於,所述隊列(21)中的所述流的發送方以預定序列來發送所述數據單元,所述隊列(21)中的所述流的接收方向所述發送方發送用於確認所述數據單元的正確接收的確認消息,其中,每個確認消息標識在所述序列中正確接收的最後一個數據單元,以及所述接收方向所述發送方發送表示所述接收方可處理的數據單元數量的限制的第一窗口值,基於窗口的由所述發送方執行的流量控制使用發送窗口,所述發送窗口被選作所述第一窗口值與第二窗口值中的最小值,使得所述發送方不得發送具有比最高確認序列號與發送窗口之和更高的序列號的數據單元,以及所述發送方將所述第二窗口值除以二來作為對擁塞通知的反應,然後對於它所接收的每個複製確認消息把第二窗口增加預定增量,其中所述一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)其中之一是所述第一窗口值,以及所述長度門限值(Lth)最初設置成等於所述估算鏈路容量值(LC),以及所述自動門限適配過程包括在所述第一窗口值大於所述估算鏈路容量值(LC)與所述長度門限值(Lth)的瞬時值之和的1.5倍時,把所述長度門限值(Lth)設置成等於所述估算鏈路容量值(LC)。
17.如權利要求16所述的方法,其特徵在於,所述自動門限適配過程包括在所述第一窗口值大於或等於所述估算鏈路容量值(LC)與所述長度門限值(Lth)的瞬時值之和的1.5倍時,把所述長度門限值(Lth)設置成等於所述估算鏈路容量值(LC)。
18.如權利要求16或17所述的方法,其特徵在於,如果所述第一窗口值不滿足把所述長度門限值(Lth)設置成等於所述估算鏈路容量值(LC)的條件,則把所述長度門限值(Lth)設置成等於所述第一窗口值的函數。
19.如權利要求18所述的方法,其特徵在於,所述函數是所述第一窗口值與預定減少值之間的差值。
20.一種電腦程式產品,包括設置成在連接到包含所述鏈路的通信網絡的可編程數據處理裝置上運行時執行權利要求1至19其中之一的方法的電腦程式。
21.一種隊列緩衝控制器(10),用於控制連接到鏈路(40)並且設置成在隊列(21)中對流的數據單元(30)進行排隊的隊列緩衝器(20),包括隊列長度確定器(101),用於確定與所述隊列的長度相關的長度參數的值(QL;QLav),比較器(102),用於把所述值與長度門限值進行比較,擁塞通知器(103),用於在所述值大於所述長度門限值時執行擁塞通知過程,以及門限適配器(104),用於自動適配所述長度門限值,其特徵在於所述門限適配器(104)設置成用於根據一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)來調節所述長度門限值。
22.如權利要求21所述的隊列緩衝控制器(10),其特徵在於,所述一個或多個流量控制參數(LIM1,LIM2)為預定值。
23.如權利要求22所述的隊列緩衝控制器(10),其特徵在於,所述預定值存儲在所述隊列緩衝控制器(10)中,並且與數據單元接收方的已知流量控制過程關聯。
24.如權利要求19至21其中之一所述的隊列緩衝控制器(10),其特徵在於,還包括流量控制參數確定器(105),用於從所述隊列(21)中排隊的所述流的發送方和接收方其中之一所引入的流量控制參數(rwnd;rlfr)中確定所述一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)中的一個或多個。
25.如權利要求24所述的隊列緩衝控制器(10),其特徵在於,所述流量控制參數由所述接收方引入,並且被插入從所述接收方發送給所述發送方以用於確認數據單元的正確接收的確認數據單元中,以及所述隊列緩衝器(20)設置在連接所述發送方和所述接收方的通信網絡(3)的網絡節點中,其中所述流量控制參數確定器(105)設置成用於在所述網絡節點上從所述確認數據單元中提取所述流量控制參數。
26.如權利要求21所述的隊列緩衝控制器(10),其特徵在於,所述流量控制參數由所述接收方引入,並且被插入從所述接收方發送給所述發送方以用於確認數據單元的正確接收的確認數據單元中,以及其中所述隊列緩衝器(20)設置在連接所述發送方和所述接收方的通信網絡(3)的第一網絡節點中,其中所述流量控制參數確定器(105)設置成用於接收來自第二網絡節點的所述流量控制參數,所述流量控制參數在所述第二網絡節點被提取。
27.如權利要求21至26其中之一所述的隊列緩衝控制器(10),其特徵在於,所述門限適配器(104)包括估算器,用於估算鏈路容量值(LC),分析器,用於在所述長度門限值設置成等於所述估算鏈路容量值(LC)的條件下,分析擁塞通知過程的執行是否會因所述發送方對擁塞通知的反應而導致所述鏈路的利用不足,以及適配器,用於通過在所述分析步驟表明沒有利用不足時把所述長度門限值設置成等於所述估算鏈路容量值(LC),否則把所述長度門限值設置成大於所述估算鏈路容量值(LC),根據所述分析步驟的結果來適配所述長度門限值。
28.如權利要求27所述的隊列緩衝控制器(10),其特徵在於,所述門限適配器(104)設置成在所述分析器表明利用不足時把所述長度門限值設置成根據所述流量控制參數(LIM1,LIM2;rwnd;rlfr)其中之一導出的值。
29.如權利要求27或28所述的隊列緩衝控制器(10),其特徵在於,所述隊列中的所述流的發送方以預定序列來發送所述數據單元,所述隊列中的所述流的接收方向所述發送方發送用於確認所述數據單元的正確接收的確認消息,其中,每個確認消息標識在所述序列中正確接收的最後一個數據單元,以及所述接收方向所述發送方發送表示所述接收方可處理的數據單元數量的限制的第一窗口值,基於窗口的由所述發送方執行的流量控制使用發送窗口,所述發送窗口被選作所述第一窗口值與第二窗口值中的最小值,使得所述發送方不得發送具有比最高確認序列號與發送窗口之和更高的序列號的數據單元,以及所述發送方將所述第二窗口值除以二來作為對擁塞通知的反應,然後對於它所接收的每個複製確認消息把第二窗口增加預定增量,其中所述一個或多個流量控制參數(LIM1,LIM2;rwnd;rlfr)其中之一是所述第一窗口值,以及所述門限適配器(104)設置成最初把所述長度門限值設置為等於所述估算鏈路容量值,以及如果所述第一窗口值大於所述估算鏈路容量值(LC)與所述長度門限值(Lth)的瞬時值之和的1.5倍,則把所述長度門限值設置成等於所述估算鏈路容量值。
30.如權利要求29所述的隊列緩衝控制器(10),其特徵在於,所述門限適配器(104)設置成用於在所述第一窗口值大於或等於所述估算鏈路容量值(LC)與所述長度門限值(Lth)的瞬時值之和的1.5倍時,把所述長度門限值設置成等於所述估算鏈路容量值。
31.如權利要求29或30所述的隊列緩衝控制器(10),其特徵在於,所述門限適配器(104)在所述第一窗口值不滿足把所述長度門限值設置成等於所述估算鏈路容量值的條件時,把所述長度門限值設置成等於所述第一窗口值的函數。
32.如權利要求31所述的隊列緩衝控制器(10),其特徵在於,所述函數是所述第一窗口值與預定減少值之間的差值。
全文摘要
控制隊列緩衝器的方法及裝置,其中,如果隊列長度參數超過門限值,則執行擁塞通知過程,所述門限值通過考慮流量控制參數的過程來自動適配。
文檔編號H04L12/56GK1910868SQ200380111052
公開日2007年2月7日 申請日期2003年12月23日 優先權日2003年12月23日
發明者P·施利瓦-伯特林, H·埃克斯特倫, R·路德維希 申請人:艾利森電話股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀