專利名稱:通信設備和方法
技術領域:
本發(fā)明涉及一種通信設備和方法,其中在發(fā)送方和接收方之間執(zhí)行面向數(shù)據(jù)單元的通信,該發(fā)送方和接收方依照預定的通信協(xié)議工作。
面向數(shù)據(jù)單元的通信是眾所周知的。在面向數(shù)據(jù)單元的通信中,許多數(shù)據(jù)被劃分成一個或更多的數(shù)據(jù)單元,其中數(shù)據(jù)單元的結構是由通信協(xié)議定義的,通信中的發(fā)送方和接收方遵守該協(xié)議。協(xié)議還定義了特定信息是如何編碼的以及發(fā)送方和/或接收方如何對特定信息作出反應。面向數(shù)據(jù)單元的通信也被認為是分組交換通信。應當指出連同特定協(xié)議被使用的數(shù)據(jù)單元有不同的名字,例如分組,幀,段等。出于本發(fā)明描述的目的,術語“數(shù)據(jù)單元”將一般地指在面向數(shù)據(jù)單元通信中使用的各種類型的單元。
許多通信協(xié)議使用來提高可靠性的一個特性是確認接收到的數(shù)據(jù)。更特別地,給定協(xié)議的發(fā)送方或發(fā)送對等體發(fā)送出數(shù)據(jù)單元,給定協(xié)議的接收方或接收對等體通過返回合適的確認數(shù)據(jù)單元確認正確接收。這樣,發(fā)送對等體被通知發(fā)送的數(shù)據(jù)單元也被正確接收到,以及可以因此調整后續(xù)更多將被發(fā)送的數(shù)據(jù)單元的流量控制。使用確認數(shù)據(jù)單元的協(xié)議的一個例子是所謂的傳輸控制協(xié)議(TCP),其是TCP/IP協(xié)議簇中的一部分。
傳輸控制協(xié)議和TCP/IP協(xié)議簇在由W.Richard Stevens,AddisonWesley編寫的“TCP/IP圖解說明,卷1-協(xié)議”中得到了很好的說明。
為了應付數(shù)據(jù)單元或確認數(shù)據(jù)單元可能會丟失的情況,在許多協(xié)議中提供了超時特性,這樣的超時特性意味著在數(shù)據(jù)被發(fā)送時設置一個超時時段,如果在超時時段已到時特定數(shù)據(jù)還沒有被確認的話,則開始超時響應程序。在TCP中,超時響應包括重新傳輸沒有得到確認的數(shù)據(jù),以及重新設置一個或更多的流量控制參數(shù)。
舉一個例子,TCP使用基于窗口的流量控制。TCP是面向字節(jié)的協(xié)議,將要發(fā)送的給定數(shù)目的字節(jié)劃分為所謂的段,以及發(fā)送數(shù)據(jù)的記錄按照字節(jié)被保存,即數(shù)據(jù)已發(fā)送多達哪個字節(jié),以及接收數(shù)據(jù)的記錄同樣按照字節(jié)被保存,即數(shù)據(jù)接收到多達哪個字節(jié)??刂圃摱蔚牧鬟B同確認消息的最簡單的方法是發(fā)送一個段且直到前一次發(fā)送的段被確認后才發(fā)送下一個段。不過,這樣的流量控制的方式不會是非常高效的。已經(jīng)提到的是,TCP使用基于窗口的流量控制,這也被稱作為依據(jù)滑動窗的流量控制。這個概念同樣已經(jīng)在由W.Richard Stevens編寫的前面提及的書中得以很好的描述。
圖2說明滑動窗的概念。正如所看到的,在例子中共計8192字節(jié)的量將要被發(fā)送,其被劃分為8個段。依照發(fā)送窗口控制段的發(fā)送,其中發(fā)送窗口的左端由已經(jīng)被發(fā)送且已經(jīng)確認的段中的數(shù)據(jù)來定義。在圖2的例子中,是已達到2048字節(jié)的數(shù)據(jù),即段1和2。發(fā)送窗口長度的調整,以及由此窗口右端的調整是控制過程的事,在這兒不必解釋得太詳盡。
發(fā)送窗口定義了允許其對應的確認未完成的數(shù)據(jù)的數(shù)量。在圖2的例子中,該數(shù)據(jù)達到4096字節(jié),即段3和4已經(jīng)被發(fā)送但還沒有被確認,這種已發(fā)送但未被確認的段和發(fā)送窗口右端間的差別定義了可用的窗口,即沒有收到進一步確認依然可以發(fā)送的數(shù)據(jù)。其結果是,在圖2的例子中,段5和6依然可以被發(fā)送,但段7和8只有在窗口向右移動時才能被發(fā)送,如果確認進一步的段使得左端向右移動以及/或發(fā)送窗口的長度增加的話,窗口右移的情況就會發(fā)生。
此外,應當指出的是TCP提供連續(xù)的確認,即在段和段的確認之間不是一一對應的,這是因為一個確認消息可以覆蓋多個段。舉個例子,用于接收圖2所示數(shù)據(jù)量的接收對等體可以發(fā)送對長達4096個字節(jié)的一個確認,使得這個確認消息將覆蓋段3和4。
由發(fā)送對等體使用的發(fā)送窗口典型地由所謂的提供窗口或通告窗口來確定,這是由接收對等體向發(fā)送對等體提供的一個數(shù)據(jù)長度。這樣,接收對等體可以影響發(fā)送對等體一次發(fā)送多少段,以及典型地基于接收對等體的接收緩沖區(qū)計算出通告窗口。同樣,通告窗口是一個動態(tài)參量,可以隨著由接收對等體發(fā)送的每一個確認而發(fā)生變化。
除了通告窗口之外,同樣知道定義了所謂的擁塞窗口,它結合幾個擁塞控制例程例如慢啟動,擁塞避免,快速重傳和快速恢復一起使用,又一次見由W.Richard Stevens編寫的前面提及的書。擁塞窗口是發(fā)送對等體保存的一個記錄,它是用來考慮沿著發(fā)送對等體與接收對等體之間連接的擁塞的。作為典型的控制機制,發(fā)送窗口將被定義為通告窗口和擁塞窗口中較小的那個。
通告窗口是受接收對等體影響的流量控制,而擁塞窗口是受發(fā)送對等體影響的流量控制,它作為考慮擁塞的一種機制。
在一般意義上,擁塞窗口是自適應流量控制參數(shù)的一個實例。在TCP中,前面提及的超時響應在于將擁塞窗口重新設置為一個段并且然后只發(fā)送一個段,即重傳沒有得到確認并且因此引起超時的段。于是發(fā)送對等體等待該重傳段的確認。
自適應流量控制參數(shù)的另外一個實例是超時時段本身,例如在TCP中,這被稱作為RTO(重傳超時),RTO作為對一個超時的響應而被加倍。
正如已經(jīng)提及的,超時特性是一種對數(shù)據(jù)丟失的檢測機制。也存在其他的數(shù)據(jù)丟失檢測機制。另外一個實例是在TCP中響應接收到重復的確認而重傳數(shù)據(jù)單元。這種機制將在下面加以簡單解釋。
正如已經(jīng)提及的(見例如圖2),要被發(fā)送的數(shù)據(jù)量被劃分為一個序列。傳統(tǒng)的TCP實現(xiàn)中,如果接收對等體已經(jīng)接收并且確認直到給定字節(jié)數(shù)的一定數(shù)據(jù)量(一定數(shù)目連續(xù)的段),則期待序列中的下一個數(shù)據(jù)。例如,如果一直到段4為止的段已經(jīng)被接收到,那么段4被確認并且接收對等體期待接收段5。如果接收對等體然后接收到另外不同于段5的數(shù)據(jù)單元(例如段6,7和8),則接收對等體為接收的每一個數(shù)據(jù)單元繼續(xù)確認段4。其結果是,接收對等體接收了兩份重復確認。通常TCP以這樣一種模式實現(xiàn)接收對等體將計數(shù)重復確認的次數(shù),并且如果達到一定的閾值(例如3),則重傳序列中接收到重復確認的數(shù)據(jù)單元的下一個數(shù)據(jù)單元。
本發(fā)明的目的是使用一種通信協(xié)議來提高系統(tǒng)中的通信,該協(xié)議規(guī)定發(fā)送數(shù)據(jù)的確認和數(shù)據(jù)丟失檢測功能,例如超時功能或重復確認響應功能。
這個目的通過權利要求1所描述的方法和權利要求18所描述的設備得以解決。
依照本發(fā)明,通信中發(fā)送方將執(zhí)行響應程序來響應觸發(fā)數(shù)據(jù)丟失檢測機制的事件,其中響應程序包括至少兩個不同的模式用于調整流量控制中使用的自適應參數(shù)。這樣本發(fā)明的方法和設備在管理觸發(fā)事件上具有很高的靈活性,以及特別是可以以依靠觸發(fā)事件的各種潛在的原因而選擇響應程序的方式來實現(xiàn),以致于可以調用針對特定態(tài)勢的正確響應策略并因此避免實際上有可能在觸發(fā)數(shù)據(jù)丟失檢測機制后造成惡化態(tài)勢的策略。
數(shù)據(jù)丟失檢測機制是一種能夠檢測到數(shù)據(jù)丟失的機制。實例是超時機制或重復確認機制。自然地,本發(fā)明適用于各種合適的數(shù)據(jù)丟失檢測機制。
依照本發(fā)明,響應程序包括至少兩種不同的模式用于調整流量控制中使用的自適應參數(shù)。舉個例子,其構成一個優(yōu)選的實施方案,即有兩種模式,各自與超時的不同原因或預定的重復確認次數(shù)(例如前面提及的3)有關。更特別地,第一種模式與數(shù)據(jù)單元的丟失有關,以及第二種模式與沿著連接的過度延遲有關。由于使用了兩種不同的模式,所以可能調整參數(shù),使該參數(shù)對超時或重復確認的原因是適合的。因此,流量控制程序將包括一個或更多的評估和判定步驟,觸發(fā)事件將在其中得以鑒定,例如對關于引起事件的原因進行分類。然后,依賴這個特征的結果,會激活一個合適的響應程序。在上述例子的情況下,如果確定超時或重復確認是由于數(shù)據(jù)單元丟失而引起的,那么已知的對數(shù)據(jù)單元丟失的響應程序可能會運行,例如從傳統(tǒng)TCP就已知道,該協(xié)議假定任何超時或接收到幾個重復確認是由于數(shù)據(jù)單元丟失而引起的。依照本發(fā)明,還有第二種模式,以及如果確定超時或重復確認是由于沿著連接的過度延遲而引起,那么運行過度延遲響應程序,這將典型地不同于針對數(shù)據(jù)單元丟失的響應程序。
更特別地,將在下面更為詳細介紹的是,通過降低傳輸速率因而避免進一步擁塞來對數(shù)據(jù)單元已經(jīng)丟失的判定進行回答。另一方面,如果沿著連接發(fā)生過度延遲,那么為響應假定的數(shù)據(jù)單元丟失而采取的策略將毫無作用,相反這些策略可能會實際上加劇過度延遲引起的問題。因此,過度延遲的響應程序將典型的不同,以及例如包括將傳輸速率保持在早先的級別上,但另一方面增加超時時段,從而避免了更多的不必要的重傳。
自然地,本發(fā)明可以實現(xiàn)為提供任意數(shù)目的模式或針對各種觸發(fā)事件原因的響應程序。模式的數(shù)目和各種模式所采取的特定的策略自然地依賴于特定的態(tài)勢,即所選擇的協(xié)議,給定的通信狀況等。
本發(fā)明的一個重要方面是雖然數(shù)據(jù)丟失檢測機制能夠檢測到數(shù)據(jù)丟失,對數(shù)據(jù)丟失檢測機制觸發(fā)的反應不會假定數(shù)據(jù)丟失必然會發(fā)生,相反的是可能有靈活的響應,它可以考慮觸發(fā)事件的各種原因。
本發(fā)明的另外一個方面和優(yōu)點從下面的詳圖描述可以得到更好的理解,參照圖表,其中
圖1說明了參照本發(fā)明的控制程序的一個優(yōu)選實施方案;圖2是用于描述基于窗口流量控制概念的說明圖;圖3是用于解釋本發(fā)明優(yōu)點的圖表;以及圖4是解釋可能在兩臺主機之間的連接中引起過度延遲的態(tài)勢的說明圖。
雖然下面的描述一般針對使用數(shù)據(jù)確認以及同時提供超時特性的任何通信協(xié)議,通常還將給出涉及來自TCP/IP協(xié)議簇的傳輸控制協(xié)議TCP的例子。針對該協(xié)議的本發(fā)明的應用是優(yōu)選的實施方案。為了避免任何不必要的重復,該應用介紹中的公開內容被引入到本發(fā)明的公開內容。
圖1顯示的是本發(fā)明的一個優(yōu)選實施方案的部分流圖。正如可以看見的,步驟S1表明進入響應程序。圖1沒有顯示作為此點先導的流量控制程序,因為對本發(fā)明來說,這些步驟并不重要。舉個例子,它或許是結合圖2加以解釋并且例如從TCP已知的基于窗口的流量控制程序。只有具有數(shù)據(jù)確認和數(shù)據(jù)丟失檢測特性對本發(fā)明來說是重要的,因此協(xié)議的發(fā)送對等體具有檢測可能的或潛在的數(shù)據(jù)丟失的能力,以及可以實施相應的響應程序。正如已經(jīng)提及的,數(shù)據(jù)丟失檢測特性或許例如是超時特性或重復確認檢測特性。
在圖1的例子中,在響應程序被進入后,在步驟S2中存儲用于流量控制的所選自適應參數(shù)以及重新設置到預定值。舉個例子,超時時段和/或前面所述的擁塞窗口都是這樣的自適應流量控制參數(shù)。在傳統(tǒng)的TCP中,擁塞窗口典型地被重新設置為一個段的值以及同時RTO加倍。應該指出不是所有在流量控制程序中使用的自適應參數(shù)事實上都需要被改變,相反只是其中經(jīng)過選擇的數(shù)目需要。
同樣,顯然本發(fā)明自然并不局限于基于窗口的流量控制以及相關的自適應參數(shù),相反本發(fā)明適用于任何流量控制原理以及相關的自適應參數(shù)。
回到圖1,在步驟S3中觸發(fā)事件(例如引起超時)的數(shù)據(jù)單元被重傳。換句話說,當繼續(xù)超時的例子時,在超時時段過程中沒有接收到確認的數(shù)據(jù)單元被重傳。然后,在隨后時刻在步驟S4中確定和被重傳數(shù)據(jù)單元相關的確認是否已經(jīng)被接收到。這或許是累積確認或也可能是單個確認。應該指出圖1中虛線顯示的是其他或許會插入的步驟,但這些對本發(fā)明來說并不重要。然后,依據(jù)圖1中優(yōu)選的例子,步驟S5確定和被重傳的數(shù)據(jù)單元有關的確認事實上是否確認了數(shù)據(jù)單元的初始傳輸或重傳。應該指出“初始傳輸”可能已經(jīng)是一個重傳,這樣重傳可能是重傳的重傳等。實現(xiàn)步驟S5有各種可能,這將再深入解釋。
如果步驟S5確定事實上確認消息確認了數(shù)據(jù)單元的重傳,那么程序繼續(xù)到步驟S7,在這一步驟中運行數(shù)據(jù)單元丟失響應程序,這是因為判定步驟S5的輸出值為否表明丟失了數(shù)據(jù)單元的初始傳輸。在TCP的例子中,步驟S7將在于針對數(shù)據(jù)單元丟失的傳統(tǒng)策略中。
相反,如果判定步驟S5回答為肯定,那么程序繼續(xù)到步驟S6,在這一步驟中運行確認過度延遲的響應程序。換句話說,因為步驟S5表明事實上數(shù)據(jù)單元的初始傳輸沒有丟失,但只是過度延遲了,必須采取相應的策略。舉個例子,當把TCP作為協(xié)議實例時,在于將擁塞窗口返回到在步驟S2中存儲的值以及另一方面使超時時段適應于延遲。換句話說,和初始傳輸有關的往返行程時間RTT以及對初始傳輸?shù)拇_認可以用作調整超時時段的基礎。因此,由于過度延遲引起的更多的不必要的重傳和超時或重復確認可以避免。
優(yōu)選地,擁塞窗口不是被簡單地重置成先前的值,而是相反如果響應程序還沒有發(fā)生的話,即還沒有觸發(fā)數(shù)據(jù)丟失檢測機制,則該值被設置為已假定的值。
正如可以看到的,圖1的例子說明包括步驟S2,S3,S4,S5和S7的第一模式,以及包括步驟S2,S3,S4,S5和S6的第二模式。
為了更好地解釋本發(fā)明,現(xiàn)在將參照圖3,該圖說明了一個流量控制過程的例子,該過程連同傳統(tǒng)的TCP一起實施。圖表說明了以字節(jié)為單位隨著時間過去而傳送的數(shù)據(jù)的數(shù)量。正如可以看到的,頭兩個段在時間t=4s時被發(fā)送。然后由于接收確認數(shù)據(jù)單元和沒有顯示的自適應參數(shù)的調整的相互作用,段被發(fā)送。
出于解釋的目的,應該指出菱形符號指段,以及方形符號指確認數(shù)據(jù)單元。菱形符號指出段的第一個字節(jié),而方形符號指出最小的沒有確認的字節(jié)。在某個段水平上指示的確認數(shù)據(jù)單元總是確認直到該段水平的已發(fā)送段。換句話說,在6400(t=12s)字節(jié)段水平的確認是對低于6400字節(jié)的段的確認,但不包括6400字節(jié)。恰恰相反,正如圖中明確指出的,位于字節(jié)6400的段(t=10s)是引起超時的數(shù)據(jù)單元或分組。其結果是,執(zhí)行了在6400字節(jié)水平的數(shù)據(jù)單元的重傳。
現(xiàn)在,如果假定圖3所示的超時是由過度延遲引起的而不是由所示丟失的第一分組所引起的,那么重傳具有以下負面的影響。
首先,它將導致降低的吞吐量性能,這是由于同樣的數(shù)據(jù)必須穿過連接或連接路徑兩次,這將浪費那些否則已經(jīng)用于有用數(shù)據(jù)的帶寬。這個負面的影響將在任何通過重傳數(shù)據(jù)單元而錯誤響應超時的協(xié)議中產(chǎn)生。
如果,正如圖3所示,使用了TCP協(xié)議,則發(fā)送對等體對不是由于數(shù)據(jù)單元丟失引起的超時的反應是特別不利的發(fā)送方將重傳所有未完成確認的分組,這會降低其傳輸速率。在圖3中已清楚地對其加以說明。
應當指出上述不是由于數(shù)據(jù)單元丟失引起的超時也被稱作為假超時。
同樣正如圖3所示,在傳統(tǒng)的TCP中發(fā)送方將所有和重傳數(shù)據(jù)單元相關的確認誤釋為對重傳的確認,即便這些確認(ACK)實際上是延遲的初始傳輸確認。
圖3沒有說明的是,由發(fā)送對等體發(fā)送的重復數(shù)據(jù)單元附帶地將觸發(fā)接收對等體的重復確認,這將導致傳統(tǒng)TCP發(fā)送方傳輸速率的另一種降低,即擁塞窗口被設置為其先前值的一半。
超出TCP超時時段可以解決的范圍之外的過度延遲的出現(xiàn),或許特別地出現(xiàn)在無線網(wǎng)絡中或這種其至少一部分運行在無線鏈路上的協(xié)議連接中。本申請的發(fā)明人認識到假超時在這樣的網(wǎng)絡中通常會很經(jīng)常地發(fā)生,以致于產(chǎn)生性能嚴重降低的結果?,F(xiàn)在將簡要地論及這樣的實例。
圖4說明了一種情況,在這種情況中兩臺主機計算機充當TCP(由在該圖底部和頂部的主機到主機的長箭頭來指出)的對等體。較低的協(xié)議層包括無線接入網(wǎng)絡到互聯(lián)網(wǎng)的無線鏈路。沒有顯示互聯(lián)網(wǎng)和右邊主機之間的連接。用于無線鏈路的協(xié)議的一個實例是所謂的無線鏈路控制協(xié)議RLC。正如圖4所表明的,傳輸層協(xié)議(例如TCP)和鏈路層協(xié)議(例如RLC)均具有ARQ(自動重傳請求)功能。這意味著這些協(xié)議都能實現(xiàn)超時和重傳功能。在圖4的情況中,由于ARQ正在鏈路層被使用,所以在鏈路層和傳輸層之間產(chǎn)生了競態(tài)情況當鏈路層重傳數(shù)據(jù)時,傳輸層重傳計時器或許會到時,從而導致假超時。在鏈路層上的重傳可以是由于例如傳輸錯誤或切換導致的數(shù)據(jù)丟失。
應當指出無線網(wǎng)絡上的傳輸延遲通常是傳輸層協(xié)議中的發(fā)送和接收對等體之間端對端延遲中的相當大的一部分。如果在這種情形下,在無線網(wǎng)絡中傳輸層連接的可用帶寬在一段短時間上顯著降低,則所引起的傳輸層發(fā)送方和接收方之間端對端延遲的增加會導致假超時。帶寬降低的實例包括移動主機執(zhí)行切換到一個小區(qū),該小區(qū)提供的帶寬小于舊小區(qū)帶寬。
正如前面已經(jīng)指出的,當使用本發(fā)明時,可以避免結合圖3所描述的問題。更特別地是,將結合圖1所描述的方法應用到圖3所描述的問題時,則發(fā)送對等體能夠區(qū)分對數(shù)據(jù)單元初始傳輸?shù)拇_認數(shù)據(jù)單元和對數(shù)據(jù)單元重傳的確認數(shù)據(jù)單元。從這一信息,發(fā)送方能夠確定是否發(fā)生了假超時,或是否真正地存在數(shù)據(jù)單元丟失。該發(fā)送方然后可以相應作出反應。
更特別地,在圖3的實例中,使用本發(fā)明的發(fā)送方將能夠把在已重傳所示的第一分組之后接收到的確認數(shù)據(jù)單元識別為初始傳輸(t=10s)的確認而不是重傳(t=15s)的確認。由于這個原因,發(fā)送方將對過度延遲執(zhí)行一個合適的響應程序,即不重傳第一個重傳數(shù)據(jù)單元之后的那個數(shù)據(jù)單元,以及同樣不會降低傳輸速率,相反發(fā)送方將提高以數(shù)據(jù)單元初始發(fā)送和該初始發(fā)送的相應確認數(shù)據(jù)單元接收之間測量的延遲為基礎的流量控制中所使用的超時時段。這樣,可以避免另外的假重傳和超時。
正如可以看到的,本發(fā)明能夠提供一種機制,在使用提供數(shù)據(jù)確認和超時功能或重復確認檢測功能的一種協(xié)議時允許更為靈活的通信系統(tǒng)。在剛剛描述的實例中,本發(fā)明能夠鑒定觸發(fā)事件,即區(qū)分至少兩種不同的原因,以及然后能夠調用合適的響應程序。應該指出在上述實例中,用于調整自適應參數(shù)的模式一方面與數(shù)據(jù)單元丟失有關,另一方面與過度延遲有關,但自然本發(fā)明決不是局限在這上面。相反,用于調整自適應參數(shù)的模式與任何可能引起超時事件或重復確認事件的原因有關。
在圖1所描述的實施方案中,在步驟S5中確定和給定數(shù)據(jù)單元有關的確認數(shù)據(jù)單元是否確認了初始傳輸或該給定數(shù)據(jù)單元的重傳。依據(jù)實現(xiàn)這一步驟的第一優(yōu)選實施方案,發(fā)送方保存了與發(fā)送和接收對等體之間的連接有關的往返行程時間RTT的記錄,以及特別地保存了在一直到考慮下的時間點的連接或會話過程中找到的最短RTT的記錄。然后,如果在小于該最小RTT預定部分的時段內接收到對重傳數(shù)據(jù)單元的確認數(shù)據(jù)單元,那么發(fā)送方確定這個確認屬于初始傳輸而不是屬于重傳。這個部分可以被設置為固定值,或其本身是一個自適應參數(shù)。自然,是與該部分相乘的比較值不必要是最短測試的RTT,相反發(fā)送方保持平均的RTT值也是有可能的。在這個意義上,與該部分相乘的比較值通常是在連接過程(在會話過程)中測量的一個或更多RTT值的一個函數(shù)。
依據(jù)實現(xiàn)步驟S5的另一個優(yōu)選實施方案,發(fā)送方將一個標志加入到它發(fā)送的數(shù)據(jù)單元中,在其中以允許區(qū)分初始傳輸和重傳的方式定義該標志。然后,接收方可以因此標記確認數(shù)據(jù)單元,以致于發(fā)送方能夠識別一個確認對應的是初始傳輸還是重傳。
可以用任何希望的方式來完成這個數(shù)據(jù)單元的標志。舉個例子,在理論上簡單地指定數(shù)據(jù)單元中的一個單比特位是可能的,其中值0表明是初始傳輸而值1表明是重傳,或反之亦然。在一般意義上,可以選用同樣可以表達更多信息的一個位串。然而,結合提供這樣選項的協(xié)議,優(yōu)選的是使用時間戳選項。這一選項對例如TCP來說是熟知的,見前面提及的由W.Richard Stevens編寫的書。換句話說,優(yōu)選的是在發(fā)送的數(shù)據(jù)單元中包括時間戳,用于表明數(shù)據(jù)單元何時發(fā)送。然后接收方可以簡單地在確認數(shù)據(jù)單元中包括同一時間戳,因此發(fā)送方有獨一無二地方式來識別確認對應的數(shù)據(jù)單元。
雖然本發(fā)明結合優(yōu)選的實施方案加以描述,這并不限制其范圍,而只是用來傳遞對本發(fā)明較好的理解。確切地說,本發(fā)明的范圍是由附加的權利要求來確定的。
權利要求
1.用于在依照預定的通信協(xié)議工作的發(fā)送方和接收方之間控制面向數(shù)據(jù)單元通信的方法,其中該發(fā)送方將多個要被發(fā)送的數(shù)據(jù)劃分成一個或更多具有該協(xié)議確定結構的數(shù)據(jù)單元,該接收方通過向該發(fā)送方返回確認數(shù)據(jù)單元來確認正確接收到數(shù)據(jù)單元,依照在一個或更多自適應參數(shù)和該確認數(shù)據(jù)單元基礎上執(zhí)行的流量控制程序,由該發(fā)送方發(fā)送該數(shù)據(jù)單元,以及該流量控制程序包括能夠在該通信中檢測到數(shù)據(jù)丟失的數(shù)據(jù)丟失檢測機制,由一個或更多預定事件觸發(fā)該數(shù)據(jù)丟失檢測機制來表明潛在的數(shù)據(jù)丟失,其中響應該數(shù)據(jù)丟失檢測機制的觸發(fā)來執(zhí)行相應的響應程序,該響應程序包括至少兩種用于調整該一個或更多自適應參數(shù)的不同模式。
2.權利要求1的方法,其中該數(shù)據(jù)丟失檢測機制是一個超時機制,使得在一個數(shù)據(jù)單元被發(fā)送之后,該發(fā)送方監(jiān)視超時時段以及如果在超時時段到時之前還沒有接收到和該數(shù)據(jù)單元有關的確認數(shù)據(jù)單元,則觸發(fā)該超時機制。
3.權利要求1的方法,其中該數(shù)據(jù)丟失檢測機制是重復確認檢測機制,使得該發(fā)送方監(jiān)視接收到的確認,以及如果一個數(shù)據(jù)單元被確認了預定次數(shù),則觸發(fā)該重復確認檢測機制。
4.權利要求2或3的方法,其中該響應程序包括重傳給定的數(shù)據(jù)單元。
5.權利要求4的方法,其中基于在重傳該給定數(shù)據(jù)單元之后由該發(fā)送方接收到的一個或更多確認數(shù)據(jù)單元,判定至少兩種模式中哪一種模式被選用來調整該自適應參數(shù)。
6.權利要求2的方法,其中超時時段是該自適應參數(shù)中的一個。
7.權利要求1到6之一的方法,其中該流量控制程序是基于窗口的,以及一個或更多流量控制窗口是該自適應參數(shù)之一。
8.權利要求5的方法,其中該至少兩種模式包括第一種和第二種模式,該第一種模式與觸發(fā)事件是由于給定數(shù)據(jù)單元丟失引起的判定有關,而第二種模式與給定數(shù)據(jù)單元或該給定數(shù)據(jù)單元的確認數(shù)據(jù)單元已經(jīng)過度延遲的判定有關。
9.權利要求8的方法,其中該發(fā)送方標志被發(fā)送的數(shù)據(jù)單元使得可以將初始傳輸與重傳區(qū)分開來,以及該接收方相應地標志確認數(shù)據(jù)單元,使得可以將初始發(fā)送數(shù)據(jù)單元的確認與數(shù)據(jù)單元重傳的確認區(qū)分開來。
10.權利要求9的方法,其中發(fā)送方通過在每一個發(fā)送數(shù)據(jù)單元中包括一個時間戳來標志數(shù)據(jù)單元,該時間戳表明該數(shù)據(jù)單元被發(fā)送的時間,以及該接收方通過在該接收到的數(shù)據(jù)單元的確認數(shù)據(jù)單元中包括該接收到的數(shù)據(jù)單元中包含的時間戳來標志該接收到數(shù)據(jù)單元的確認數(shù)據(jù)單元。
11.權利要求9的方法,其中發(fā)送方通過在每一個發(fā)送數(shù)據(jù)單元中包括一個位串來標志數(shù)據(jù)單元,該位串具有至少兩個不同的值來區(qū)分初始傳輸和重傳,以及接收方通過在該接收數(shù)據(jù)單元的確認數(shù)據(jù)單元中包括該接收數(shù)據(jù)單元中包含的位串來標志該接收到的數(shù)據(jù)單元的確認數(shù)據(jù)單元。
12.權利要求11的方法,其中該位串由單個比特組成。
13.權利要求11的方法,其中該位串由多個比特組成,因此該位串能夠區(qū)分不同的重傳。
14.權利要求10-13之一的方法,其中如果在重傳該給定數(shù)據(jù)單元之后接收到的、和該給定數(shù)據(jù)單元有關的第一確認數(shù)據(jù)單元確認了該給定數(shù)據(jù)單元的重傳,則選擇該第一種模式,以及如果在重傳該給定數(shù)據(jù)單元之后接收到的、和該給定數(shù)據(jù)單元有關的第一確認數(shù)據(jù)單元確認了該給定數(shù)據(jù)單元的初始傳輸,則選擇該第二種模式。
15.權利要求8的方法,其中發(fā)送方測量與連接相關的用于發(fā)送該數(shù)據(jù)量的往返行程時間,確定該給定數(shù)據(jù)單元重傳與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間,并且將該時間與來自對一個或更多該往返行程時間的測量所得值相比較,以及基于比較結果選擇該第一種或第二種模式。
16.權利要求15的方法,其中從對該往返行程時間的測量所得值是用于連接的最小往返行程時間,以及如果該給定數(shù)據(jù)單元的重傳與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間小于該最小往返行程時間預定部分,則選擇第二種模式。
17.權利要求8-16之一的方法,其中第二種模式包括基于在該給定數(shù)據(jù)單元初始傳輸與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間來調整超時時段。
18.權利要求8-17之一的方法,其中流量控制程序是基于窗口的,以及使用了擁塞窗口,其中在該觸發(fā)事件發(fā)生后存儲在該觸發(fā)事件時擁塞窗口的值以及隨后將該擁塞窗口的值重新設置為預定的值,以及如果在接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之后選擇了第二種模式,則如果響應程序尚未發(fā)生,就將該擁塞窗口的值設置為應該已經(jīng)假定的值。
19.依照預定通信協(xié)議用于面向數(shù)據(jù)單元通信的通信設備,其中該通信協(xié)議規(guī)定通信中的發(fā)送方將多個要被發(fā)送的數(shù)據(jù)劃分成一個或更多具有該協(xié)議確定結構的數(shù)據(jù)單元以及在該通信中接收方通過向發(fā)送方返回確認數(shù)據(jù)單元來確認正確接收到數(shù)據(jù)單元,其中該通信設備在充當一個發(fā)送方時,被安排為依照在一個或更多自適應參數(shù)和該確認數(shù)據(jù)單元基礎上執(zhí)行的流量控制程序發(fā)送數(shù)據(jù)單元,該流量控制程序包括能夠在該通信中檢測到數(shù)據(jù)丟失的數(shù)據(jù)丟失檢測機制,由一個或更多預定事件觸發(fā)該數(shù)據(jù)丟失檢測機制來表明潛在的數(shù)據(jù)丟失,其中響應該數(shù)據(jù)丟失檢測機制的觸發(fā)來執(zhí)行相應的響應程序,該響應程序包括至少兩種用于調整該一個或更多自適應參數(shù)的不同模式。
20.權利要求19的設備,其中該數(shù)據(jù)丟失檢測機制是一個超時機制,使得在一個數(shù)據(jù)單元被發(fā)送之后,該設備在充當發(fā)送方時會監(jiān)視超時時段以及如果在超時時段到時之前還沒有接收到和該數(shù)據(jù)單元有關的確認數(shù)據(jù)單元,則觸發(fā)該超時機制。
21.權利要求19的設備,其中該數(shù)據(jù)丟失檢測機制是重復確認檢測機制,使得該設備在充當發(fā)送方時會監(jiān)視接收到的確認,以及如果一個數(shù)據(jù)單元被確認了預定次數(shù),則觸發(fā)該重復確認檢測機制。
22.權利要求19到21之一的設備,其中該響應程序包括重傳給定的數(shù)據(jù)單元。
23.權利要求22的設備,其中基于在重傳該給定數(shù)據(jù)單元之后由該發(fā)送方接收到的一個或更多確認數(shù)據(jù)單元,判定至少兩種模式中哪一種模式被選用來調整該自適應參數(shù)。
24.權利要求20的設備,其中超時時段是該自適應參數(shù)中的一個。
25.權利要求19到24之一的設備,其中該流量控制程序是基于窗口的,以及一個或更多流量控制窗口是該自適應參數(shù)之一。
26.權利要求23的設備,其中該至少兩種模式包括第一種和第二種模式,該第一種模式與觸發(fā)事件是由于給定數(shù)據(jù)單元丟失引起的判定有關,而第二種模式與給定數(shù)據(jù)單元或該給定數(shù)據(jù)單元的確認數(shù)據(jù)單元已經(jīng)過度延遲的判定有關。
27.權利要求26的設備,其中該設備在充當發(fā)送方時會標志被發(fā)送的數(shù)據(jù)單元使得可以將初始傳輸與重傳區(qū)分開來,以及該設備在充當接收方時相應地標志確認數(shù)據(jù)單元,使得可以將初始發(fā)送數(shù)據(jù)單元的確認與數(shù)據(jù)單元重傳的確認區(qū)分開來。
28.權利要求27的設備,其中設備在充當發(fā)送方時通過在每一個發(fā)送數(shù)據(jù)單元中包括一個時間戳來標志數(shù)據(jù)單元,該時間戳表明該數(shù)據(jù)單元被發(fā)送的時間,以及設備在充當接收方時通過在該接收到的數(shù)據(jù)單元的確認數(shù)據(jù)單元中包括該接收到的數(shù)據(jù)單元中包含的時間戳來標志該接收到數(shù)據(jù)單元的確認數(shù)據(jù)單元。
29.權利要求27的設備,其中設備在充當發(fā)送方時通過在每一個發(fā)送數(shù)據(jù)單元中包括一個位串來標志數(shù)據(jù)單元,該位串具有至少兩個不同的值來區(qū)分初始傳輸和重傳,以及設備在充當接收方時通過在該接收數(shù)據(jù)單元的確認數(shù)據(jù)單元中包括該接收數(shù)據(jù)單元中包含的位串來標志該接收到的數(shù)據(jù)單元的確認數(shù)據(jù)單元。
30.權利要求28或29的設備,其中如果在重傳該給定數(shù)據(jù)單元之后接收到的、和該給定數(shù)據(jù)單元有關的第一確認數(shù)據(jù)單元確認了該給定數(shù)據(jù)單元的重傳,則選擇該第一種模式,以及如果在重傳該給定數(shù)據(jù)單元之后接收到的、和該給定數(shù)據(jù)單元有關的第一確認數(shù)據(jù)單元確認了該給定數(shù)據(jù)單元的初始傳輸,則選擇該第二種模式。
31.權利要求26的設備,其中設備在充當發(fā)送方時測量與連接相關的用于發(fā)送該數(shù)據(jù)量的往返行程時間,確定該給定數(shù)據(jù)單元重傳與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間,并且將該時間與來自對一個或更多該往返行程時間的測量所得值相比較,以及基于比較結果選擇該第一種或第二種模式。
32.權利要求31的設備,其中從對該往返行程時間的測量所得值是用于連接的最小往返行程時間,以及如果該給定數(shù)據(jù)單元的重傳與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間小于該最小往返行程時間預定部分,則選擇第二種模式。
33.權利要求26到32之一的設備,其中第二種模式包括基于在該給定數(shù)據(jù)單元初始傳輸與接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之間的時間來調整超時時段。
34.權利要求26到33之一的設備,其中流量控制程序是基于窗口的,以及使用了擁塞窗口,其中在該觸發(fā)事件發(fā)生后存儲在該觸發(fā)事件時擁塞窗口的值以及隨后將該擁塞窗口的值重新設置為預定的值,以及如果在接收到和該給定數(shù)據(jù)單元相關的第一確認數(shù)據(jù)單元之后選擇了第二種模式,則如果響應程序尚未發(fā)生,就將該擁塞窗口的值設置為應該已經(jīng)假定的值。
全文摘要
提出一種設備和方法,其中,發(fā)送方將多個要被發(fā)送的數(shù)據(jù)劃分成一個或更多數(shù)據(jù)單元以及接收方通過向該發(fā)送方返回確認數(shù)據(jù)單元來確認正確接收到該數(shù)據(jù)單元。依照涉及一個或更多自適應參數(shù)的流量控制程序,由該發(fā)送方發(fā)送該數(shù)據(jù)單元。在發(fā)送給定數(shù)據(jù)單元之后,發(fā)送方執(zhí)行數(shù)據(jù)丟失檢測例程,以及如果發(fā)生了觸發(fā)事件,則執(zhí)行相應的響應程序,其中這個響應程序包括至少兩種用于調整該一個或更多自適應參數(shù)的不同模式。優(yōu)選地,有第一種和第二種模式,其中第一種模式與數(shù)據(jù)單元的實際丟失有關,因此第一種模式包括傳統(tǒng)的數(shù)據(jù)丟失程序,以及其中第二種模式與發(fā)生了過度延遲但沒有數(shù)據(jù)單元丟失的識別有關。
文檔編號H04L1/18GK1333965SQ99815500
公開日2002年1月30日 申請日期1999年12月31日 優(yōu)先權日1999年1月8日
發(fā)明者M·梅耶爾, R·盧德維格 申請人:艾利森電話股份有限公司