新四季網

數據發送器及其控制方法

2023-05-14 01:19:51 2

專利名稱:數據發送器及其控制方法
技術領域:
本發明涉及數據單元發送器以及控制數據單元發送器的方法,所述數據單元發送器安排成根據支持反饋功能的通信協議操作,所述發送器根據該通信協議接收報告數據單元通信接收器接收到數據單元的反饋消息。這種反饋消息的示例包括承載數據通信的網絡中始發的顯式擁塞通知(ECN)、數據通信接收器始發的確認消息(確認所發送的數據單元被正確接收)或非確認消息(通知未收到發送的數據單元)。
背景技術:
本發明一般涉及數據單元通信領域。數據單元通信意味著將待發送數據量劃分成各單元,然後通過通信路徑例如網絡將這些各單元發送到接收器。在本領域中,根據特定的上下文和技術,此類數據單元使用不同的名稱,例如分組、片段、幀、協議數據單元等,而術語「數據單元」在本申請中用於涵蓋對數據量的所有這類進一步劃分。
面向數據單元的通信的概念常常伴隨協議分層的概念。換言之,正在發送的數據單元將遵循給定通信協議(例如傳輸控制協議(TCP))的要求,並且該給定協議將是協議棧的一部分。在給定協議的給定數據單元通信中,還將數據單元發送器和數據單元接收器稱為所述協議和所述通信的對等方。用於發送給定協議的數據單元的數據單元發送器一般從高層接收數據,然後將此接收到的數據放入符合給定層的協議的數據單元中。一般來說,數據單元發送器將因此具有用於存儲待發送數據的緩衝器。通信協議和協議分層的概念在本領域是眾所周知的,不必作更詳細的解釋。
雖然原理上可能的是,數據單元發送器將簡單地取其發送緩衝器中的所有數據,準備適當的數據單元並且儘可能快地發送這些數據單元,但數據單元發送器通常執行流控過程,以便控制數據單元發送器發送的數據流,其中所述流控過程經過安排,使任何給定時刻發送器一次可以發送的先前未發送數據量受限於可用傳輸容量值。其原因是數據單元發送器通常沒有無限的帶寬可用於與數據單元接收器的通信。因此,需要對數據單元發送器一次可以發送的數據量實施某種限制。
此類流控過程的一個示例是基於窗口的流控,其中,數據單元發送器維護稱為發送窗口的控制參數,所述數據單元發送器不得有超出發送窗口所示的未決數據單元。所述發送窗口按數據量(例如比特或字節)來測量。如果數據單元已發送,但數據單元發送器尚未接收到確認數據單元接收器正確接收到所述數據單元的反饋消息,則稱為「未決」。在基於窗口的流控中,發送器一次可以發送的數據量被限制於發送窗口大小與未決數據單元中的數據量之差。此限量稱為上文提到的「可用傳輸容量值」。應注意,數據單元發送器可以維護多個窗口,例如由TCP知曉的擁塞窗口和通告窗口,其中在所述多個窗口中選擇發送窗口,例如選擇其中最小的作為發送窗口。基於窗口的流控概念在本領域是眾所周知的,不必作更詳細的解釋。
發送器一次可以發送的先前未發送數據量受限於可用傳輸容量值的流控過程的另一個示例是基於速率的流控。基於速率的流控示例即所謂的TCP友好速率控制(TFRC)協議,參見可從網際網路工程任務小組(IETF)的網站www.ietf.org得到的網際網路草案,例如可在http//www.ietf.org/Intemet-drafts/draft/ietf-tsvwg-tfrc-05.txt得到的2002年10月22日的草案。根據此概念,數據單元發送器根據預定吞吐量公式計算傳輸速率,使得發送器一次可以發送的數據量受限於所述吞吐量公式瞬時允許的傳輸速率。
在發送器與接收器之間的數據單元通信中,可能會發生發送的數據單元丟失而未到達接收器的情況。解決這種可能的數據丟失的一種機制是採用超時功能。超時功能經過安排,以便數據單元發送器監視超時周期,並且如果在超時周期到期之前沒有指定數據單元的反饋消息到達,則重發所述指定的數據單元,因已假定該數據單元已丟失。這種超時概念在多種協議中被採用,例如在TCP中採用重發超時(RTO)功能的形式。
可以注意到,同樣已知的是,響應超時周期到期而沒有接收到所述數據單元的反饋消息,不僅重發指定數據單元,而且附帶地修改流控過程的參數,以便減少允許發送器一次發送的未發送數據量。其原因是,由於超時而假定該數據單元已丟失,並因此假定傳輸數據單元的網絡超載。因此,最好降低網絡上的負載,為此可以減少允許發送器一次發送到該網絡的數據量。例如,在基於窗口的流控中可以縮減發送窗口,或在基於速率的流控中,可以修改吞吐量公式中的參數以降低允許的傳輸速率。
發明目的本發明的目的在於提供一種控制數據單元發送器的改進方法,和改進的數據單元發送器。
發明概述本發明目的通過根據權利要求1所述的方法和權利要求13所述的數據單元發送器來實現。從屬權利要求中則描述了一些優選實施例。
根據本發明,建議以這樣的方式控制數據單元發送器讓超時監視過程利用第一超時周期和第二超時周期,其中第二超時周期短於第一超時周期。隨後,如果在所述第二(較短的)超時周期到期時未發送數據的可用傳輸容量值大於或等於要重發的指定數據單元的大小,則重發所述指定的數據單元。
這樣,本發明建議實施短超時周期和長超時周期,其中在所述短超時周期到期之後如果未超過所述數據單元發送器一方的公平負載份額,即如果為上述的「可用傳輸容量值」所允許,則執行重發。明顯不同的是,如果發送器未充分利用其傳輸容量來發送未發送數據,則應該允許它以任何期望的方式利用該可用容量,尤其是還允許重發指定的數據單元。由此,可以實施更快或更主動的超時功能,而不致使數據單元發送到的網絡超載。
可能有許多原因導致數據單元發送器未充分利用其可用傳輸容量。例如,這可能因為數據單元發送器未從高層,例如從產生供數據單元發送器發送的數據的應用接收到更多數據。例如,此情況可能出現在交互應用如Telnet、聊天或WWW交互中,在此類應用中,數據單元發送器(當使用網際網路時數據單元發送器可以是TCP發送器)在任何給定時間只有非常少的數據單元未決(未決數據單元有時也稱為「在飛行中」的數據單元),因為發送應用沒有更多數據要發送。另一方面,以TCP發送器為例,如果發送窗口很大,則發送窗口大小與未決分組中的數據量之差也很大,數據單元發送器一次可以發送更多數據(如果這種數據存在的話)。根據本發明,數據單元發送器隨後可以實施更主動的超時功能並更快地重發可能丟失的數據單元。這提高了數據吞吐量,而不會使傳輸網絡超載,因為可用於數據單元發送器的傳輸容量足夠用於重發。
如果較短(第二)超時周期到期時,可用傳輸容量值不足以重發指定的數據單元,則超時機制使用較長(第一)超時周期,如果沒有在所述較長超時周期內接收到反饋消息,則重發所述指定數據單元,而不考慮可用的傳輸容量,正如慣例從TCP的RTO機制所知的那樣。根據本發明的優選實施例,將本發明的概念應用於TCP發送器,所述第一(較長)超時周期是常規的RTO值。
如上所述,本發明的基本方面之一是,在可用傳輸容量允許的情況下,允許所述數據單元發送器採用更主動的超時周期。例如在基於窗口的流控系統中,為什麼有傳輸容量可用以及為什麼發送窗口未被充分利用都不重要。這可能是因為發送緩衝器中沒有或只有很少數據要發送,或可能由於其他原因使數據保留在發送緩衝器中,例如因數據單元發送器正在等待從高層接收數據以將其置入期望次序。根據本發明的優選實施例,如果發送緩衝器中未發送數據量小於或等於預定閾值,則僅在第二(較短的)超時周期到期時重發指定數據單元。根據此優選實施例,賦予發送所述發送緩衝器中數據比所述更主動重發數據單元高的優先級,使得在發送緩衝器中尚未發送數據量超過預定閾值的條件下,在較短超時周期到期時不進行重發,以便將可用傳輸容量保留用於發送(可能)的未發送數據。
附圖簡介下文將參考附圖,結合特定實施例來解釋本發明的其他方面和優點,附圖中

圖1是說明根據本發明的第一實施例的流程圖;圖2a是對圖1的實施例的修改;圖2b是對圖1的實施例的進一步修改;圖3是對先前實施例的進一步修改的流程圖;圖4是對圖3的實施例的修改的流程圖;以及圖5是表示根據本發明的數據單元發送器的實施例的示意框圖。
優選實施例的詳細說明下面將描述本發明的具體實施例。要注意的是,對具體實施例的描述旨在幫助本領域技術人員更好地理解本發明,而不是限定本發明的範圍。本發明僅由所附權利要求書限定。而且,在描述實施例的過程中,有時參考基於窗口的流控,具體為以傳輸控制協議TCP為優選示例。但是,應注意,本發明絕對不局限於基於窗口的流控或TCP。更確切地說,本發明適用於具有有限可用傳輸容量值且實施超時監視過程的任何數據單元發送器的上下文。這樣,本發明還可以應用於例如基於速率的流控,如TFRC協議。
圖1顯示根據本發明的第一實施例的流程圖。圖1的處理開始於發生觸發超時監視過程的預定事件。可以任何適當或期望的方式選擇超時監視過程觸發事件。例如,觸發事件可以是第一次發送數據單元(即該數據單元尚未發送過),也稱為數據單元的初始發送。然後,後續超時監控過程可涉及是否重發所述數據單元的問題。但是,超時監視過程還可以由其他事件觸發,例如每當設計成對超時周期倒計時的定時器到期時,在此情況下,判斷相應反饋消息是否在超時周期內到達的指定數據單元可以是尚未接收到相應反饋消息的最舊的數據單元,例如在將正確接收確認作為反饋消息的情況下的最舊未確認數據單元。又如,如果採用確認,則觸發事件可以是收到確認。在此情況下,指定的數據單元還可以是最舊的未決或未確認數據單元。在第一步驟S1中,在相應的定時器上設置短超時周期。該定時器也稱為重發定時器REXMT,而該較短超時周期也稱為快速重發超時值QRTO。由此,步驟S1包括將REXMT設為值QRTO。再者,使REXMT開始對該值倒計時。
然後,在包括步驟S2和S3的超時監視子過程中,判斷對指定數據單元的確認是否已經到達(例如初始發送觸發超時監視的數據單元、或最舊未決數據單元、或任何其他適合的選定數據單元),並在步驟S3中判斷定時器REXMT是否已到期。要注意的是,圖1示例中,採用確認消息作為反饋消息示例。但是,本發明絕對不局限於確認(即指示數據單元是否被正確接收的消息),反饋消息還可以是非確認消息(即具體指示未接收到給定數據單元的消息)或讓數據單元發送器知道發送的數據單元是否已被接收以及被如何接收的某種其他形式。
再參考圖1的示例,如果在步驟S2接收到確認最舊未決片段的確認,則觸發的過程結束,因為沒有發生超時。如果未接收到此確認,則在步驟S3判斷REXMT是否已到期,如果沒有到期,則該過程循環到步驟S2,繼續執行直到接收到確認或定時器到期。如果定時器REXMT到期,則該過程從步驟S3轉到步驟S4。在步驟S4,判斷根據所實施的流控過程確定的可用傳輸容量值是否足夠用於重發指定的數據單元。例如,在基於窗口的流控中,這意味著判斷發送窗口大小與未決數據單元中的數據量之差是否等於或大於指定數據單元的大小。在基於速率的流控的情況中,這意味著計算允許的瞬時速率並判斷當前所用的速率是否比允許的速率足夠低,以便重發指定的數據單元。如果步驟S4確定可用傳輸容量值是足夠的,則過程轉到步驟S8,在其中重發指定的數據單元。隨後過程結束。
另一方面,如果步驟S4確定傳輸容量不足,例如如果重發指定數據單元會超過該數據發送器的允許傳輸容量值,則操作過程執行到步驟S5,在其中重發定時器REXMT復位,並以值(SRTO-QRTO)重新啟動較,SRTO是比QRTO長的超時周期。在步驟S5之後,超時監視過程繼續執行步驟S6和S7,其中,判斷是否接收到對指定數據單元的確認(步驟S6),並判斷重發定時器REXMT是否已到期(步驟S7)。這基本上與先前結合步驟S2和S3的所述的過程相同。如果接收到確認,則該超時監視過程結束,因為沒有發生超時。否則,如果在超時周期內沒有接收到確認,則在步驟S9執行重發,並在此後結束監視過程。
由於過程步驟S5至S9,這意味著使超時周期有效地延長到SRTO。最好,當將本發明應用於已實施超時監視過程的給定數據單元發送器時,將值SRTO選為等於為該給定數據單元發送器定義的單個超時周期的標準值。例如,如果數據單元發送器是TCP發送器,則SRTO可以選為等於在TCP中定義的標準重發超時值RTO。
通過將SRTO定義為應用本發明的數據發送器的標準超時周期,這意味著在步驟S4的判斷結果為否定,即QRTO到期時未進行重發的條件下,數據單元發送器像在常規情況下簡單地繼續監視超時周期,即直到SRTO到期。
應注意,數據單元發送器可以同時進行圖1所示的多個過程,即它可以並行監視多個指定數據單元的超時。自然,數據單元發送器每次只監視一個超時也是可能的。
雖然圖1所示的實施例是基本的實施例,但也可以許多方式對其進行修改。例如,可以更改這些步驟的次序,也可以不同的方式執行這些步驟。例如,不一定非要在步驟1設定值並對其倒計時,因為同樣可以在步驟S1初始化定時器,讓該定時器正計時,然後在步驟S3和S7判斷該定時器是否已達到預定值。還可以採用輸出絕對時間值的定時器,在此情況中不需要步驟S1,並且在步驟S3和S7,判斷該定時器是否已達到預定的絕對時間值。
如上所述,SRTO的值最好選為與標準超時周期對應。根據本發明,所述第二超時周期QRTO比SRTO短。原理上,QRTO可以選為具有比SRTO小的任何期望值。最好,QRTO的值選為大於或等於較長超時值SRTO的預定部分,該預定部分最好為該值的一半。
根據用於確定QRTO值的另一個實施例,最好基於一個或多個測量的反饋響應時間值來確定QRTO。反饋響應時間值是指示發送數據單元到接收到所述發送數據單元的反饋消息之間經過的時間的值。在TCP(和其他協議)的情況中,所說的往返時間RTT是此類反饋響應時間的一個示例。
該數據單元發送器可以安排為持續地測量所述反饋響應時間的樣本。要注意的是,最好還根據一個或多個測量的反饋響應時間值來確定較長超時周期SRTO。例如在TCP中,基於測量的往返時間RTT來確定標準超時值RTO。
假定SRTO的確是基於多個測量的反饋響應時間確定的並且設為大於這些反饋響應時間,則QRTO可以選為例如等於上次測量的反饋響應時間或等於上次測量的反饋響應時間與SRTO/2中的最大者。最好將QRTO確定為上次測量的反饋響應時間、SRTO/2和該反饋響應時間的平滑平均值中的最大者。這種平滑平均值的示例為TCP上下文中定義的參數平滑往返時間SRTT。
還可以採用確定QRTO值的其他可能方案,例如QRTO=上次測量的反饋響應時間+(1/n×(上次測量的反饋響應時間)),n=1,2,3,...。
QRTO=MAX(上次測量的反饋響應時間+(1/m×(上次測量的反饋響應時間));平滑反饋響應時間),其中m=1,2,3,...。
QRTO=最近k次測量的反饋響應時間中的最大者,其中k是自然數。
如上所述,這些僅僅是示例,可以根據給定的具體應用選擇合適或適當的QRTO值。
現在參考圖2a。圖2a顯示了圖1的實施例的變化。即,圖2a所示方法包括附加步驟S20,其中所述步驟S20在圖1所示的步驟S1之前執行。步驟S1之後的所有步驟與圖1相同。因此,圖2a未顯示後續處理步驟。步驟S20在檢測到超時監視過程觸發事件之後執行,它判斷發送緩衝器中的未發送數據量是否小於或等於預定閾值。如果否,例如未發送數據比閾值定義的量多,則過程轉到步驟S21,在步驟S21中,採用較長超時周期SRTO(最好是標準超時周期)執行標準超時監視過程。這在附圖中未作詳細顯示,其可以利用如圖1中步驟S2、S3或S6、S7所示的監視過程來實現。另一方面,如果未發送數據的數據量等於或小於所述閾值,則執行結合圖1所述的本發明過程,即過程轉到步驟S1。
在根據圖2a的實施例中,僅當最初發送緩衝器中未發送數據量未超過給定限量或閾值時,才進入使用較短且更主動的值QRTO的控制過程。這意味著,如果有多於某個量的未發送數據要發送,則不可能採用較短超時周期。換言之,此實施例賦予發送未發送數據比實現更快重發可能丟失的數據單元高的優先級。
可以任何適合或期望的方式選擇步驟S20中使用的閾值。例如,可以將其設為零,這意味著僅當觸發超時周期時先前未發送數據的發送緩衝器為空,即沒有尚未發送數據要發送時,才有可能啟用快速重發。自然,還可以選擇值較大的閾值,例如流控過程定義的最大數據單元大小的一倍或預定倍數。例如,在TCP上下文中,這種最大數據單元大小也稱為最大段大小MSS。
圖2b顯示圖1的實施例的另一種修改,其中,圖2b的實施例可以與或可以不與圖2a組合。在圖2b中,設有附加步驟S22,它本身與結合圖2a討論的步驟S20完全相同。即,在步驟S4確定傳輸容量足夠允許重發指定數據單元之後,步驟S22判斷發送緩衝器中的未發送數據量是否低於預定閾值。如果不低於,則不執行步驟S8的快速重發,而是讓過程轉到步驟S5,步驟S5及後續步驟S6、S7和S9已結合圖1作了說明,因此不必重複。
僅當未發送數據量低於預定閾值(或者在圖2b的實施例與圖2a的實施例相組合的情況下仍低於預定閾值)時,才在步驟S8執行根據較短超時周期QRTO的快速重發。
還要注意的是,步驟S20和S22還可以一起執行,但採用各自不同的閾值。
結合圖2b討論的附加步驟S22的效果類似於結合圖2a討論的步驟S20的效果,即賦予發送未發送數據比快速重發高的優先級。僅當未發送數據量不太大,即未超過預定閾值時,才執行根據較短超時周期QRTO的快速重發。
根據本發明的其他實施例,在數據單元發送器中執行的超時監視過程還安排成在所述較短超時周期QRTO到期之後執行擁塞控制過程。擁塞控制過程包括用於調整所述流控過程所用的一個或多個參數的調整過程,以便減少允許發送器一次發送的先前未發送數據量。例如,在基於窗口的流控的情況中,所述調整過程可包括縮減發送窗口,而在基於速率的流控的情況中,則包括降低允許的傳輸速率。這些措施的目的在於降低傳輸發送數據單元的網絡上的負載。以TCP為例,作為擁塞控制過程的一部分可以調整的一個參數是所謂的擁塞窗口cwnd,而另一個參數是所謂的慢啟動閾值ssthresh。這兩個參數的描述和定義可參見書籍《TCP/IP解說》的第21章(「TCP/IPIllustrated」,Volume 1,The Protocols by W.Richard Stevens,AddisonWesley Longman Corp.,1994),因此不必進一步描述這些參數。
圖3顯示了除實施圖1、圖2a和圖2b所示基本超時監視步驟,還實施實施擁塞控制的一個示例。
圖3所示的過程可以與圖1或圖2b所示過程相組合,且會在步驟S4(圖1所示示例)或步驟S22(圖2b所示示例)之後執行,如圖3頂部所示。圖1和圖2b的步驟S5也在圖3中顯示,但其後的步驟(S6和S9)為簡明起見不予顯示。
在圖3示例中,顯示了步驟S30,在步驟S30判斷是否應該執行延遲的擁塞控制。如果不執行延遲的擁塞控制,則在短超時周期QRTO到期時在步驟S8重發指定的數據單元,並在步驟S31對流控參數進行調整。要注意的是,並不一定要執行步驟S30,如果希望始終將重發步驟S8與對一個或多個流控參數的調整相結合,以作為擁塞控制過程的一部分,則還可以簡單地在圖1或圖2b的流程圖中於步驟S8前或後直接添加步驟31。
但是,最好將步驟S30實現為操作數據單元發送器的一個選項。換言之,在配置數據單元發送器時,可以將其配置為執行或不執行延遲的擁塞控制。如果配置了延遲的擁塞控制,則步驟S30的判斷結果為「是」,於是過程轉到步驟S32,在其中執行重發,然後將重發定時器REXMT設為(SRTO-QRTO)。然後,在中間時間間隔(SRTO-QRTO)內執行中間監視過程,以便判斷在所述中間時間隔SRTO-QRTO內是否收到反饋消息(例如確認)。根據圖3的優選實施例,調整過程是這樣的根據所述中間監視過程的結果,對流控參數執行不同類型的調整。即,如果定時器到期(步驟S34的結果=是),則執行第一種流控參數調整,如果在該時間間隔(SRTO-QRTO)內接收到反饋消息,則執行第一種流控參數調整。
如果過程轉到步驟S35,即執行第一種調整,則意味著重發定時器REXMT已到期且沒有指定數據單元的確認。換言之,在長超時周期SRTO內未收到確認。因此,可以假定該數據單元已丟失。由此,步驟S35中對流控參數的第一種調整安排為對數據單元丟失作出適當的響應。
另一方面,如果過程轉到步驟S36,則意味著雖然沒有在短超時周期QRTO內接收到確認,但在長超時周期SRTO內接收到了確認。因此,很可能所述指定數據單元未丟失。要注意的是,如果在步驟S32中接收到的確認對應於步驟S32中執行的重發,則說明最初發送的數據丟失了,而如果在步驟S33中接收到的確認與最初發送數據相關,則顯然最初發送數據的確未丟失。但是,圖3的示例未區分確認消息與哪次發送(即最初發送或重發)相關,這樣,到達步驟S36時的結論是指定數據單元未丟失概率無論如何大於到達步驟S35時的數據單元未丟失概率。因此,步驟S36中執行的第二種流控參數調整將此結論納入考慮,並會以這樣的方式安排就一次可以發送的數據量而言,步驟36中的流程過程受到的限制不如步驟S35中所執行的第一種調整強。
舉一個TCP上下文中的示例,步驟S35中執行的第一種調整可以是將擁塞窗口縮減為所設計的抗數據丟失的預定大小,在本申請中,所述預定大小稱為丟失窗口。在目前的TCP實施方案中,丟失窗口通常是一個MSS,但原則上可以是不同的值。再者,TCP上下文中的步驟S35可設為在縮減丟失窗口之前,將慢啟動閾值ssthresh縮減為擁塞窗口值的一半。另一方面,步驟S36的第二種調整也可是再次將慢啟動閾值ssthresh設為擁塞窗口大小的一半,但只將擁塞窗口縮減為其大小的一半,與步驟S35中較強的縮減相反。當然,這些僅僅是示例,還可以合適的或期望的不同方式改變變更這些參數。
一般而言,可以說,步驟S36中第二種調整會這樣影響流控過程,即後續為降低通信網負載而對允許傳輸容量的縮減小於步驟S35中第一種調整對允許傳輸容量的縮減。由此,在步驟S36甚至可以不對流控參數作任何改動。
要注意的是,對流控參數的調整過程還可以用作監視超時周期的觸發器。步驟S35的第一種調整過程可以包括例如以(SRTO+QRTO)重啟REXMT,而步驟S31中的調整過程可以包括例如以2×SRTO重啟REXMT。
圖4顯示圖3的實施例的優選變型,在圖4中,在步驟S33之後設有附加步驟S40。其餘步驟與圖3所示的那些步驟完全相同,因此不必重新描述。在圖4的示例中,將數據單元發送器安排成可以區分接收到的反饋消息是與步驟S32中執行的指定數據單元的重發相關,還是與該指定數據單元的最初發送相關。然後,將步驟S40安排為區分反饋消息(例如確認)是否與步驟S32中執行的指定數據單元重發相關。如果在步驟S33中接收到的確認與步驟S32的重發數據無關,則總的調整過程為使這些流控參數保持不變,因為步驟S40的結果指示指定數據單元實際未丟失。由於該指定數據單元未丟失,就不必執行任何擁塞控制措施,因為實際上並無網絡嚴重擁塞的任何指示。雖然未顯示,但可以設想,可以根據步驟S33中接收到的確認與步驟S32的重發無關這一判斷,設置針對流控參數的任意第三種調整。
可以任何適合或期望的方式實現數據單元發送器或中間監視過程區分反饋消息是與重發相反還是與在先發送相關的功能。例如,這可以藉助時間戳功能來實現,據此,數據單元發送器在每個發送數據單元中包含一個時間戳,而接收器在反饋消息中包含相同的時間戳,這樣,數據單元發送器就可以明確地識別出反饋消息與哪次發送相關。區分不同次發送的另一種可能方案是在發送數據單元中包含特定初試發送/重發標識符,此標識符可以簡單得為一個區分初始發送和重發的比特。
圖5顯示根據本發明配置的數據單元的示意框圖。圖5顯示了發送緩衝器51和控制單元52。例如,發送緩衝器51可以是適合於緩存數據的任何類型的存儲器,而控制單元52可以是微處理器。圖5中,數據單元發送器表示為協議層n上的一個通信對等方,其中與接收對等方的通信用雙箭頭53表示。緩衝器51從高層n+1接收數據,並遵循據以實現該數據單元發送器的協議準備數據單元,在控制單元52的控制下,緩衝器51將這些數據單元傳遞給下層n-1。控制單元52示意性地顯示為包括根據結合圖1至圖4所述方法的如下組件流控控制器521,用於控制數據單元發送器發送的數據流;檢測器522,用於檢測超時監視過程觸發事件;以及超時監視器523,用於檢測超時發生在短超時周期QRTO內還是長超時周期SRTO內。這樣,將控制單元52安排用於實施上述各種方法實施例。
本發明的數據單元發送器可以硬體、軟體、或硬體和軟體的任何適當組合的形式來實現。因此,本發明還可以實施為電腦程式,該電腦程式安排為在加載到可連接到通信網並可用作數據單元發送器的設備上,如以適當方式連接到網際網路的個人計算機或用於數據單元通信的運動通信設備上,並由該設備運行時執行結合圖1至圖4所述方法之一,而且本發明可以通過承載這種電腦程式的數據載體來實施。
再次重申,本發明絕不局限於上述特定實施例,而是由所附權利要求書來限定。再者,各權利要求中的標號僅用於方便閱讀這些權利要求,而不用於限制本發明。
權利要求
1.一種控制數據單元發送器的方法,所述數據單元發送器安排成根據提供反饋功能的通信協議操作,根據該通信協議,在進行數據單元通信的發送器從接收器接收報告接收到所述數據單元的反饋消息;所述數據單元發送器具有用於存儲待發送數據的發送緩衝器;所述方法包括如下步驟用於控制所述數據單元發送器發送的數據流的流控過程;所述流控過程經過安排,使任何給定時刻所述發送器一次可以發送的先前未發送數據量受限於可用傳輸容量值;用於檢測超時監視過程觸發事件的過程;超時監視過程,用於監視在預定超時周期(S-RTO)到期之前是否有指定數據單元的反饋消息到達,所述預定超時周期(S-RTO)開始於所述超時監視過程觸發事件發生時;以及用於在所述預定超時周期(S-RTO)到期而所述確認消息仍未到達時,重發所述指定的數據單元;其中所述預定超時周期(S-RTO)是第一超時周期(S-RTO);以及所述超時監視過程安排成如果在短於所述第一超時周期(S-RTO)的第二超時周期(Q-RTO)到期時,用於未發送數據的所述可用傳輸容量值大於或等於所述指定數據單元的大小,則在所述第二超時周期(Q-RTO)到期時執行所述指定數據單元的重發。
2.如權利要求1所述的方法,其特徵在於如果所述發送緩衝器中未發送數據量小於或等於預定閾值,則僅在所述第二超時周期(Q-RTO)到期時才重發所述指定數據單元。
3.如以上權利要求之一所述的方法,其特徵在於所述超時監視過程還安排成在所述第二超時周期(Q-RTO)到期之後執行擁塞控制過程;所述擁塞控制過程包括調整過程,用於調整所述流控過程所用的一個或多個參數,以便減少允許所述發送器一次發送的先前未發送數據量。
4.如權利要求3所述的方法,其特徵在於所述擁塞控制過程安排成在所述第二超時周期(Q-RTO)到期時執行所述調整過程。
5.如權利要求3所述的方法,其特徵在於所述擁塞控制過程安排成延遲執行所述調整過程,以及在所述第二超時周期(Q-RTO)與所述第一超時周期(S-RTO)的到期之間的中間時間間隔內執行中間監視過程;所述中間監視過程安排成檢測與所述指定數據單元相關的反饋消息是否在所述中間時間間隔內到達;並且所述調整過程安排成根據所述中間監視過程結果,在所述中間時間間隔內沒有與所述指定數據單元相關的反饋消息到達時,執行針對所述一個或多個參數的第一調整;而在與所述指定數據單元相關的反饋消息在所述中間時間間隔內到達時,對所述一個或多個參數執行第二調整,所述第一調整不同於所述第二調整。
6.如權利要求5所述的方法,其特徵在於所述中間監視過程安排成能夠區分接收到的與所述指定數據單元相關的反饋消息是與所述第二超時值(Q-RTO)到期時執行的所述指定數據單元重發相關,還是與所述指定數據單元先前的發送相關;並且所述調整過程安排成在所述接收到的反饋消息與所述指定數據單元先前的發送相關時,使所述一個或多個參數保持不變。
7.如權利要求1至6之一所述的方法,其特徵在於所述流控過程是基於窗口的,並且安排成基於發送窗口與未決數據量之差來確定所述可用傳輸容量值。
8.如權利要求1至6之一所述的方法,其特徵在於所述流控過程是基於速率的,並且安排成基於允許的傳輸速率來確定所述可用傳輸容量值。
9.如以上權利要求之一所述的方法,其特徵在於包括測量反饋響應時間(RTT)的過程,所述反饋響應時間指示發送數據單元到接收到與所述反饋消息相關的反饋消息之間經過的時間;其中所述第二超時值(Q-RTO)是根據一個或多個測量的反饋響應時間值來確定的。
10.如權利要求9所述的方法,其特徵在於所述第一超時值(S-RTO)也根據一個或多個測量的反饋響應時間值來確定。
11.如以上權利要求之一所述的方法,其特徵在於所述第二超時值(Q-RTO)大於或等於所述第一超時值(S-RTO)的某個百分數。
12.如以上權利要求之一所述的方法,其特徵在於所述數據單元發送器安排成根據傳輸控制協議TCP來操作;以及所述第一超時值(S-RTO)是標準的TCP重發超時參數RTO。
13.一種根據提供反饋功能的通信協議操作的數據單元發送器,根據所述協議,在進行數據單元通信的發送器接收報告接收到數據單元的反饋消息;所述數據單元發送器包括用於存儲待發送數據的發送緩衝器;用於控制所述數據單元發送器發送的數據流的流控控制器;所述流控控制器實施流控過程,所述流控過程經過安排,使任何給定時刻所述發送器一次可以發送的先前未發送數據量受限於可用傳輸容量值;用於檢測超時監視過程觸發事件的檢測器;超時監視器,用於監視在預定超時周期(S-RTO)到期之前是否有指定數據單元的反饋消息到達的超時監視過程,所述預定超時周期(S-RTO)開始於所述超時監視過程觸發事件發生時;以及用於在所述預定超時周期(S-RTO)到期而所述確認消息仍未到達時,重發所述指定的數據單元,其中所述預定超時周期(S-RTO)是第一超時周期(S-RTO);以及所述超時監視器安排成如果短於所述第一超時周期(S-RTO)的第二超時周期(Q-RTO)到期時用於未發送數據的所述可用傳輸容量值大於或等於所述指定數據單元的大小,則在所述第二超時周期(Q-RTO)到期時執行所述指定數據單元的重發。
14.如權利要求13所述的數據單元發送器,其特徵在於所述超時監視器經過安排,使得在所述發送緩衝器中未發送數據量小於或等於預定閾值時,僅在所述第二超時周期(Q-RTO)到期時才重發所述指定數據單元。
15.如權利要求13或14所述的數據單元發送器,其特徵在於所述超時監視器還安排成在所述第二超時周期(Q-RTO)到期後執行擁塞控制過程;所述擁塞控制過程包括調整過程,用於調整所述流控過程所用的一個或多個參數,以便減少允許所述發送器一次發送的先前未發送數據量。
16.如權利要求15所述的數據單元發送器,其特徵在於所述擁塞控制過程安排成在所述第二超時周期(Q-RTO)到期時執行所述調整過程。
17.如權利要求15所述的數據單元發送器,其特徵在於所述擁塞控制過程安排成延遲執行所述調整過程,以及在所述第二超時值(Q-RTO)與所述第一超時值(S-RTO)到期之間的中間時間間隔內執行中間監視過程;所述中間監視過程安排成檢測與所述指定數據單元相關的反饋消息是否在所述中間時間間隔內到達;並且所述中間監視過程安排成根據所述中間監視過程的結果,在所述中間時間間隔內沒有與所述指定數據單元相關的反饋消息到達時,執行針對所述一個或多個參數的第一調整;而在與所述指定數據單元相關的反饋消息在所述中間時間間隔內到達時,對所述一個或多個參數執行第二調整;所述第一調整不同於所述第二調整。
18.如權利要求17所述的數據單元發送器,其特徵在於所述中間監視過程安排成能夠區分接收到的與所述指定數據單元相關的反饋消息是與所述第二超時值(Q-RTO)到期時執行的所述指定數據單元的重發相關,還是與所述指定數據單元先前的發送相關;並且所述調整過程安排成在所述接收到的反饋消息與所述指定數據單元先前的發送相關時,使所述一個或多個參數保持不變。
19.如權利要求13至18之一所述的數據單元發送器,其特徵在於所述流控過程是基於窗口的,並且安排成基於發送窗口與未決數據量之差來確定所述可用超時容量值。
20.如權利要求13至18之一所述的數據單元發送器,其特徵在於所述流控過程是基於速率的,並且安排成基於允許的傳輸速率來確定所述可用傳輸容量值。
21.如權利要求13至20之一所述的數據單元發送器,其特徵在於包括用於測量反饋響應時間(RTT)的部件,所述反饋響應時間指示發送數據單元到接收到與所述反饋消息相關的反饋消息之間經過的時間;其中所述數據單元發送器安排成根據一個或多個測量的反饋響應時間值來確定所述第二超時值(Q-RTO)。
22.如權利要求21所述的數據單元發送器,其特徵在於所述數據單元發送器還安排成根據一個或多個測量的反饋響應時間值來確定所述第一超時值(S-RTO)。
23.如權利要求13至22之一所述的數據單元發送器,其特徵在於所述第二超時值(Q-RTO)大於或等於所述第一超時值(S-RTO)的一半。
24.如權利要求13至23之一所述的數據單元發送器,其特徵在於所述數據單元發送器安排成根據傳輸控制協議TCP來操作;以及所述第一超時值(S-RTO)是標準的TCP重發超時參數RTO。
25.一種電腦程式,其在連接到通信網的數據處理設備上運行時用於執行如權利要求1至12之一所述的方法,以作為數據單元發送器工作。
26.一種含有如權利要求25所述電腦程式的計算機可讀介質。
全文摘要
提供了一種數據單元發送器和控制該數據單元發送器的方法,其中超時監視過程實施較長的第一超時周期(SRTO)和較短的第二超時周期(QRTO);其中,根據所述超時監視過程,在所述較短超時周期到期時,如果用於未發送數據的可用傳輸容量值大於或等於要重發的指定數據單元的大小,則執行重發。
文檔編號H04L1/16GK1695337SQ02829904
公開日2005年11月9日 申請日期2002年11月18日 優先權日2002年11月18日
發明者M·梅耶, R·魯衛, H·埃斯特勞姆 申請人:艾利森電話股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀