亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

使啟動(dòng)接收器發(fā)送速率增加最佳化的制作方法

文檔序號(hào):7719105閱讀:232來源:國知局
專利名稱:使啟動(dòng)接收器發(fā)送速率增加最佳化的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及分組數(shù)據(jù)發(fā)送,尤其涉及在因特網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上利用傳輸控制協(xié)議(TCP)的數(shù)據(jù)發(fā)送。TCP通過它的綜合擁塞和流控制機(jī)制,保證了網(wǎng)絡(luò)的穩(wěn)定性。并且,有關(guān)TCP和IP網(wǎng)絡(luò)的信息可從,例如,根據(jù)US6,298,041 B1獲得。
背景技術(shù)
雖然TPC發(fā)送速率通常由發(fā)送器來控制,但是,存在著接收器知道一點(diǎn)所用鏈路和位速率的場(chǎng)景和環(huán)境,這使得讓接收器在某種程度上控制發(fā)送器的數(shù)據(jù)發(fā)送速率是值得的。為了應(yīng)用這種機(jī)制,接收器應(yīng)該知道往返時(shí)間(RTT)值,以控制或限制發(fā)送器的位速率。其結(jié)果是,發(fā)送器未必親自去探查適用的位速率,這通常以分組丟失為代價(jià),并且,其準(zhǔn)確性比接收器的信息差。
TCP發(fā)送器中的發(fā)送位速率通過稱為擁塞窗口的滑動(dòng)窗口來控制。發(fā)送器發(fā)送數(shù)據(jù)和接收累積確認(rèn)信號(hào)。未完成數(shù)據(jù)是發(fā)送器已經(jīng)發(fā)送,但還沒有接收到它的確認(rèn)信號(hào)的數(shù)據(jù)。允許發(fā)送器擁有等于擁塞窗口的當(dāng)前值的未完成數(shù)據(jù)量。由于在發(fā)送數(shù)據(jù)之后,通常在一個(gè)RTT內(nèi)確認(rèn)它,因此,可以通過下式,從RTT和擁塞窗口尺寸cwnd中計(jì)算出允許發(fā)送位速率B_send:B_send=cwnd/RTT。這些值的例子可以是RTT=100ms(毫秒)和B_send=64Kb/s(千位/秒)。
根據(jù)收集的網(wǎng)絡(luò)信息,動(dòng)態(tài)調(diào)整服務(wù)器上的擁塞窗口,例如,在分組丟失的情況下,TCP發(fā)送器將認(rèn)為網(wǎng)絡(luò)發(fā)生擁塞,并且,縮小窗口,在沒有分組丟失的情況下,定期把窗口擴(kuò)大一點(diǎn)。但是,TCP用于控制數(shù)據(jù)分組的發(fā)送的的窗口是擁塞窗口和稱為廣告窗口awnd的由接收器發(fā)出信號(hào)的另一個(gè)窗口尺寸的最小者。這通常用作TCP的流控制特征,即,保證快速TCP發(fā)送器不發(fā)送接收器可以消耗的數(shù)據(jù)更多的數(shù)據(jù)。
總之,利用綜合流控制和發(fā)送具有從RTT和最大發(fā)送位速率中計(jì)算的值的廣告窗口,接收器可以限制TCP連接的發(fā)送器的上發(fā)送速率。換句話說,接收器可以告訴服務(wù)器最大發(fā)送位速率。當(dāng)增加這個(gè)最大位速率時(shí),接收器應(yīng)該預(yù)見到發(fā)送器的行為,以便不使速率增加得太快,速率增加得太快將引發(fā)可能導(dǎo)致路徑上的緩沖器溢出的、在TCP發(fā)送器上發(fā)送的一串?dāng)?shù)據(jù)分組脈沖。
另一方面,如果接收器使廣告窗口增加得太慢,那么,發(fā)送器將同樣慢慢地增加發(fā)送速率,因此,使鏈路容量得不到充分利用。
因此,所需要的是一種擴(kuò)大廣告窗口,使TCP發(fā)送器上發(fā)送速率的增加最佳化的最佳方式。

發(fā)明內(nèi)容
本發(fā)明提供了一種如權(quán)利要求1所述的、允許盡可能快地把位速率增加到最佳值,同時(shí)允許利用可用鏈路資源的使啟動(dòng)接收器發(fā)送速率增加最佳化的方法。該方法的優(yōu)選實(shí)施例服從于各種各樣的從屬權(quán)利要求。本發(fā)明的方法按確認(rèn)信號(hào),使廣告窗口最多擴(kuò)大一個(gè)段長(zhǎng)。因此,可以把發(fā)送位速率調(diào)整到一個(gè)新值,而不會(huì)引發(fā)可能導(dǎo)致發(fā)送路徑上的緩沖器溢出的一串分組脈沖。這樣,接收器能夠平穩(wěn),但仍然非??斓卦黾影l(fā)送器的位速率。實(shí)際上,發(fā)送器將不發(fā)送比廣告窗口允許的數(shù)據(jù)更多的數(shù)據(jù),并且一次不生成多于一個(gè)的分組。
根據(jù)一個(gè)優(yōu)選實(shí)施例,每隔一定間隔發(fā)送確認(rèn)信號(hào),這樣,使發(fā)送器上位速率的增加更加平滑,并且均勻地分布著發(fā)送的分組。
根據(jù)另一個(gè)優(yōu)選實(shí)施例,在發(fā)送到發(fā)送器之前,把確認(rèn)信號(hào)存放在隊(duì)列中。其結(jié)果是,不直接確認(rèn)輸入的數(shù)據(jù)分組,而是,只要在隊(duì)列中存在足夠多的確認(rèn)信號(hào),就每隔一定間隔發(fā)送輸入的數(shù)據(jù)分組。
根據(jù)另一個(gè)有利實(shí)施例,當(dāng)在下一個(gè)規(guī)則時(shí)間間隔上,在隊(duì)列中存在小于預(yù)定個(gè)數(shù)的確認(rèn)信號(hào)時(shí),把只有該段的一部分的確認(rèn)信號(hào)發(fā)送到發(fā)送器。這樣做的有利之處在于,在沒有足夠多的確認(rèn)信號(hào)可用的情況下,生成不確認(rèn)整個(gè)段的附加確認(rèn)信號(hào)。但是,發(fā)送器可以利用確認(rèn)信號(hào)來調(diào)整廣告窗口,相應(yīng)地增加發(fā)送位速率。
最好,該方法包括確定應(yīng)該完成確認(rèn)信號(hào)的發(fā)送的最大間隔的步驟。這樣就避免了導(dǎo)致TCP發(fā)送器上重發(fā)超時(shí)的確認(rèn)信號(hào)發(fā)送的過分延遲。
根據(jù)該方法的又一個(gè)優(yōu)選實(shí)施例,最遲在已經(jīng)經(jīng)過了完成確認(rèn)信號(hào)的最大間隔的時(shí)候,發(fā)送有關(guān)該段的其余部分的確認(rèn)信號(hào)。


在下文中,將參照附圖,更詳細(xì)地描述本發(fā)明,在附圖中圖1顯示了舉例說明在服務(wù)器上初始化新發(fā)送位速率的步驟的流程圖。
實(shí)施例詳述為了舉例說明本發(fā)明,在下文中,假設(shè)發(fā)送器和接收器之間是TCP連接,其中,根據(jù)如下方程,發(fā)送器的位速率B_old受廣告窗口awnd限制B_old=awnd/RTT由于移動(dòng)網(wǎng)絡(luò)中的無線電資源控制已經(jīng)建立起新的無線電載體或到目前為止共享鏈路的另一種數(shù)據(jù)流已知完成了,因此,接收器獲得,例如,可用于這種連接的鏈路容量從B_old增加到B_new的信息。接收器根據(jù)下式計(jì)算新的廣告窗口awnd_new=B_new*RTT參照?qǐng)D1,第一步驟100是根據(jù)下式計(jì)算新確認(rèn)信號(hào)空間ACK_spaceACK_space=MSS/B_newMSS是在連接建立時(shí)協(xié)商好的或基于下式的最大段長(zhǎng)ACK_space=RTT/awnd_new其中,awnd_new是以段數(shù)為單位給出的。所有輸入數(shù)據(jù)分組都不直接加以確認(rèn),而是,將確認(rèn)信號(hào)存放在ACK-queue中。一旦在步驟100中設(shè)置了定時(shí)器,如步驟200所示,接收器就一直等到經(jīng)過了下一個(gè)ACK_space時(shí)間。請(qǐng)注意,由于發(fā)送器最好盡快用新位速率開始發(fā)送,因此,對(duì)于第一個(gè)確認(rèn)信號(hào),在步驟100中可以把定時(shí)器設(shè)置成較小的值,甚至是零(取決于發(fā)送前確認(rèn)信號(hào)的時(shí)間)。為了避免分組脈沖串,根據(jù)變量ACK_space把隨后的確認(rèn)信號(hào)隔開。
同時(shí),應(yīng)該發(fā)送確認(rèn)信號(hào),和流程圖繼續(xù)到詢問300,看一看是否有多于一個(gè)的確認(rèn)信號(hào)處在ACK-queue之中。在隊(duì)列中沒有確認(rèn)信號(hào)的情況下,算法必須在此刻暫停,直到可以生成新確認(rèn)信號(hào)為止。
如果有多于一個(gè)的確認(rèn)信號(hào)處在ACK-queue之中,那么,如方塊400所示,發(fā)送確認(rèn)信號(hào),和重新初始化更新的awnd值和ACK_space定時(shí)器。在這種條件下,隊(duì)列中存在足夠多的確認(rèn)信號(hào)可用作平滑地增加服務(wù)器的發(fā)送位速率的流控制命令。
另一方面,如果只有一個(gè)確認(rèn)信號(hào)存在于隊(duì)列之中,那么,過程繼續(xù)到圖中方塊500所示的步驟。參數(shù)original_ack_no代表確認(rèn)輸入整個(gè)數(shù)據(jù)分組的段確認(rèn)號(hào),即,原始確認(rèn)分組的確認(rèn)號(hào)字段。參數(shù)last_ack_no包含發(fā)送的最后一段的ack_no。在方塊500的步驟中,廣告窗口awnd和最后廣告的awnd_last分別遞增一個(gè)段。并且,確認(rèn)號(hào)ack_no和最后確認(rèn)號(hào)last_ack_no每一個(gè)都增加一個(gè)字節(jié)。并且,需要定義定時(shí)器split_ack-timer,它定義應(yīng)該完成確認(rèn)信號(hào)ACK的發(fā)送的最大時(shí)間間隔。應(yīng)該據(jù)此設(shè)置這個(gè)定時(shí)器,以避免將導(dǎo)致發(fā)送器上重發(fā)超時(shí)的發(fā)送整個(gè)ACK的過分延遲。
隨后,生成確認(rèn)信號(hào)。生成指的是應(yīng)該把原始確認(rèn)信號(hào)的一些首標(biāo)字段改變成現(xiàn)在計(jì)算的那些。在TCP首標(biāo)中應(yīng)該適當(dāng)?shù)卦O(shè)置變量廣告窗口awnd和確認(rèn)號(hào)ack_no。只為算法內(nèi)的計(jì)算局部保持其余變量不變。作為這些改變的結(jié)果,還必須計(jì)算和設(shè)置首標(biāo)檢驗(yàn)和。在最后一步中,發(fā)送確認(rèn)信號(hào)。請(qǐng)注意,這個(gè)確認(rèn)信號(hào)不是用于整個(gè)段的,而只是用于該段的一部分的,在本例中,它是一個(gè)字節(jié)。從而,這個(gè)確認(rèn)信號(hào)不允許發(fā)送器發(fā)送附加數(shù)據(jù)分組。不過,它包含(作為每個(gè)確認(rèn)信號(hào))觸發(fā)新數(shù)據(jù)分組的發(fā)送的廣告窗口(在這種情況中,將它加1)。但是,強(qiáng)調(diào)一下,數(shù)據(jù)分組不是由確認(rèn)信號(hào)本身觸發(fā)的,而是由于增加的廣告窗口引起的。最后,方塊500中的最后步驟是隨著確認(rèn)信號(hào)已經(jīng)被發(fā)送出去,初始化或啟動(dòng)ACK_space定時(shí)器。
流程圖中的下一個(gè)詢問600確定ACK_space定時(shí)器和split_ACK定時(shí)器之一是否已經(jīng)截止。在split_ACK定時(shí)器已經(jīng)截止的情況下,由于已經(jīng)經(jīng)過了完成整個(gè)段的確認(rèn)信號(hào)的最大時(shí)間間隔,流程繼續(xù)到方塊700。因此,發(fā)送具有原始確認(rèn)號(hào)的確認(rèn)信號(hào),和更新參數(shù)last_ack_no和廣告窗口值。隨著整個(gè)TCP段已經(jīng)得到確認(rèn),這個(gè)確認(rèn)信號(hào)現(xiàn)在觸發(fā)新數(shù)據(jù)分組的發(fā)送。
另一方面,如果在詢問600中,確定ACK_space定時(shí)器已經(jīng)截止,那么,詢問800檢查在確認(rèn)信號(hào)隊(duì)列中是否存在另一個(gè)確認(rèn)信號(hào)。如果存在的話,過程繼續(xù)到步驟700。否則,到達(dá)方塊900。在步驟900中,除了不需要啟動(dòng)split_ACK_timer之外,執(zhí)行與方塊500相同的步驟。從而,在方塊900中,為具有相應(yīng)ack_no和awnd值的段的下一個(gè)字節(jié)發(fā)送進(jìn)一步的確認(rèn)信號(hào)。流程繼續(xù)到如上所述的詢問600。
最后,請(qǐng)注意,每當(dāng)廣告窗口的值被修改時(shí),就比較是否已經(jīng)達(dá)到awnd的新目標(biāo)值。如果是的話,隨著廣告窗口達(dá)到它的最終目標(biāo)值,算法即告完成。
通過利用如上所述的算法,接收器保證了在接收到確認(rèn)信號(hào)之后,隨著在發(fā)送器上接收到增加了的廣告窗口值,發(fā)送器根據(jù)新的數(shù)據(jù)速率馬上開始發(fā)送。更有甚者,發(fā)送器將不發(fā)送比廣告窗口所允許的數(shù)據(jù)更多的數(shù)據(jù),和將不生成任何分組脈沖串。
因此,該算法使接收器能夠非常平滑和快速地增加發(fā)送器的位速率,而沒有任何沿著路徑發(fā)生緩沖器溢出的危險(xiǎn)。同時(shí),可用鏈路容量得到有效使用。
權(quán)利要求
1.一種增加利用傳輸控制協(xié)議(TCP)在網(wǎng)絡(luò)上從發(fā)送器發(fā)送到接收器的數(shù)據(jù)分組的啟動(dòng)接收器發(fā)送速率的方法,包括把有關(guān)于接收數(shù)據(jù)分組的確認(rèn)信號(hào)從接收器發(fā)送到發(fā)送器,所述確認(rèn)信號(hào)包含指示允許發(fā)送位速率的廣告窗口,和按確認(rèn)信號(hào),使廣告窗口最多擴(kuò)大一個(gè)段長(zhǎng)。
2.根據(jù)權(quán)利要求1所述的方法,每隔一定間隔發(fā)送確認(rèn)信號(hào)。
3.根據(jù)權(quán)利要求1所述的方法,在發(fā)送到發(fā)送器之前,把確認(rèn)信號(hào)存放在隊(duì)列中。
4.根據(jù)權(quán)利要求1所述的方法,當(dāng)在下一個(gè)規(guī)則時(shí)間間隔上,在隊(duì)列中存在小于預(yù)定個(gè)數(shù)的確認(rèn)信號(hào)時(shí),把該段的一部分的確認(rèn)信號(hào)發(fā)送到發(fā)送器。
5.根據(jù)權(quán)利要求1所述的方法,還包括確定應(yīng)該完成數(shù)據(jù)段的確認(rèn)信號(hào)的發(fā)送的最大時(shí)間間隔的步驟。
6.根據(jù)權(quán)利要求4和5之一所述的方法,還包括最遲在已經(jīng)經(jīng)過了完成確認(rèn)信號(hào)的最大間隔的時(shí)候,發(fā)送有關(guān)該段的其余部分的確認(rèn)信號(hào)的步驟。
7.根據(jù)權(quán)利要求6所述的方法,其中,該段的一部分的確認(rèn)信號(hào)不觸發(fā)下一個(gè)數(shù)據(jù)分組的發(fā)送,而該段的其余部分的確認(rèn)信號(hào)觸發(fā)下一個(gè)數(shù)據(jù)分組的發(fā)送。
全文摘要
增加利用傳輸控制協(xié)議(TCP)在網(wǎng)絡(luò)上從發(fā)送器發(fā)送到接收器的數(shù)據(jù)分組的啟動(dòng)接收器發(fā)送速率的方法,包括把有關(guān)于接收數(shù)據(jù)分組的確認(rèn)信號(hào)從接收器發(fā)送到發(fā)送器的步驟,其中,所述確認(rèn)信號(hào)包含指示允許發(fā)送位速率的廣告窗口;和按確認(rèn)信號(hào),使廣告窗口最多擴(kuò)大一個(gè)段長(zhǎng)的步驟。
文檔編號(hào)H04L12/56GK1469601SQ0314867
公開日2004年1月21日 申請(qǐng)日期2003年6月17日 優(yōu)先權(quán)日2002年6月18日
發(fā)明者費(fèi)爾南多·伯佐薩, 羅爾夫·哈肯伯格, 托馬斯·克林納, 卡斯滕·伯邁斯特, 伯邁斯特, 克林納, 哈肯伯格, 費(fèi)爾南多 伯佐薩 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1