專利名稱:對假超時(shí)的響應(yīng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線廣域網(wǎng)中響應(yīng)假超時(shí)的技術(shù)。
背景技術(shù):
在諸如GPRS(通用分組無線業(yè)務(wù))的無線環(huán)境中,眾所周知重發(fā)定時(shí)器常常假終止,即使在沒有實(shí)際的傳輸數(shù)據(jù)丟失時(shí)也會(huì)起動(dòng)不必要的一個(gè)或多個(gè)數(shù)據(jù)包的重發(fā)。此類“假超時(shí)”,正如所知的那樣(又被稱為“STO”),通常歸咎于傳輸控制協(xié)議(下文中“TCP”)棧中的限制。
無線網(wǎng)絡(luò)中的假超時(shí)有各種原因,包括,例如,具有更高優(yōu)先級的數(shù)據(jù)包競爭傳輸帶寬的出現(xiàn)會(huì)引起假傳輸超時(shí);持久可靠的無線鏈路層在不良無線電連接上多次重復(fù)重發(fā)數(shù)據(jù)包以致TCP發(fā)送主機(jī)超時(shí);或者由于繁忙的反向信道,接收主機(jī)無法以及時(shí)的方式向發(fā)送主機(jī)發(fā)送一個(gè)確認(rèn)消息(下文中“ACK”)。
在TCP棧中,MSS(“最大段大小”)表明發(fā)送主機(jī)能夠以單個(gè)包、或段向接收主機(jī)發(fā)送的數(shù)據(jù)的最大數(shù)量(以字節(jié)表示)。一般而言,為了效率起見,發(fā)送主機(jī)根據(jù)MSS發(fā)送數(shù)據(jù)包。TCP窗口(下文中“窗口”)涉及在從接收主機(jī)接收關(guān)于所發(fā)送的數(shù)據(jù)的確認(rèn)(也稱為一“ACK”)之前發(fā)送主機(jī)能夠發(fā)送的數(shù)據(jù)的數(shù)量。
ACK是從接收主機(jī)發(fā)送至發(fā)送主機(jī)用以確認(rèn)傳輸數(shù)據(jù)的接收的通信代碼。此外,在接收到數(shù)據(jù)的每個(gè)TCP段之后,ACK會(huì)從接收主機(jī)傳輸至發(fā)送主機(jī)。另一種情況是,若接收到無序數(shù)據(jù)包,則ACK能選擇性地從接收主機(jī)傳輸至發(fā)送主機(jī)。接收到的數(shù)據(jù)包在被稱為選擇性確認(rèn)(下文中“SACK”)的擴(kuò)展TCP頭部的選項(xiàng)中報(bào)告。無論如何,TCP無法區(qū)別ACK或SACK是響應(yīng)最初傳輸?shù)臄?shù)據(jù)段還是重發(fā)的數(shù)據(jù)段而生成的。
通常,在超時(shí)出現(xiàn)時(shí),TCP棧默認(rèn)重發(fā)還未確認(rèn)的相當(dāng)于整個(gè)窗口的數(shù)據(jù)。然而,如上所述,并非所有超時(shí)都是由數(shù)據(jù)丟失引起的。因此,自動(dòng)重發(fā)會(huì)致使帶寬不必要地用于重發(fā)已經(jīng)成功接收的數(shù)據(jù)。從而,網(wǎng)絡(luò)連接的完整性就被降低了。
此類數(shù)據(jù)TCP段的自動(dòng)重發(fā)會(huì)妨礙“信息包守恒原則”,該原則規(guī)定了在先前傳輸?shù)臄?shù)據(jù)在被確認(rèn)為已經(jīng)接收或被證實(shí)已經(jīng)丟失之前數(shù)據(jù)不得引入網(wǎng)絡(luò)。顯然,假超時(shí)之后TCP段的任何自動(dòng)重發(fā)都不符合信息包守恒原則。
發(fā)明內(nèi)容
描述了用于響應(yīng)無線網(wǎng)絡(luò)中經(jīng)歷的假超時(shí)的技術(shù)。當(dāng)發(fā)生假超時(shí)時(shí),一個(gè)所述響應(yīng)是為在擁塞狀態(tài)參數(shù)下繼續(xù)來自發(fā)送主機(jī)的數(shù)據(jù)流直至或除非已經(jīng)證實(shí)數(shù)據(jù)丟失。特別地,依照接收的確認(rèn)擁塞狀態(tài)值被恢復(fù)且數(shù)據(jù)以逐漸增加的流速繼續(xù)傳輸?;謴?fù)擁塞狀態(tài)值包括恢復(fù)在超時(shí)之前發(fā)現(xiàn)的可用帶寬以及恢復(fù)接收確認(rèn)之前能被傳輸?shù)臄?shù)據(jù)的數(shù)量限定的默認(rèn)值。后者的值被認(rèn)為是擁塞窗口。由于傳輸數(shù)據(jù)流繼續(xù),擁塞窗口的任何增加都依賴于來自接收主機(jī)的確認(rèn)的接收。這是因?yàn)榇_認(rèn)表明了數(shù)據(jù)包從發(fā)送主機(jī)流向接收主機(jī)且沒有在網(wǎng)絡(luò)上丟失。
詳細(xì)描述將參照附圖進(jìn)行說明。圖中,標(biāo)記最左邊的數(shù)字表明標(biāo)記首次出現(xiàn)的圖。不同圖中相同標(biāo)記的使用表明了類似或相同項(xiàng)。
圖1示出帶有實(shí)現(xiàn)用于響應(yīng)假超時(shí)的技術(shù)的設(shè)備,在無線網(wǎng)絡(luò)上通信的設(shè)備。
圖2示出了用于實(shí)現(xiàn)在此所述示例實(shí)施例的通信環(huán)境。
圖3是用于響應(yīng)假超時(shí)的過程的流程圖。
圖4-6示出用于響應(yīng)圖3所示假超時(shí)過程的一方面的示例。
圖7示出能用于實(shí)現(xiàn)在此所述技術(shù)的一般計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境。
具體實(shí)施例方式
以下描述涉及響應(yīng)無線網(wǎng)絡(luò)中經(jīng)歷的假超時(shí)的技術(shù)。由于超時(shí)并非始終指示數(shù)據(jù)丟失,因此按照網(wǎng)絡(luò)資源,在假超時(shí)時(shí)數(shù)據(jù)自動(dòng)重發(fā)可能是浪費(fèi)的響應(yīng)。在后面示例中使用的保守響應(yīng)通過維持來自發(fā)送主機(jī)的確實(shí)的數(shù)據(jù)流直至,或除非,數(shù)據(jù)被證實(shí)丟失,來避免多余的數(shù)據(jù)傳輸。響應(yīng)包括恢復(fù)擁塞狀態(tài)值以及根據(jù)接收的確認(rèn)增加擁塞窗口大小。擁塞窗口(又稱為“cwnd”)是一個(gè)狀態(tài)變量,它限定發(fā)送主機(jī)在接收確認(rèn)之前能夠在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)數(shù)量。
在此描述的示例實(shí)施例可利用各種網(wǎng)絡(luò)協(xié)議,包括公共和/或私人協(xié)議中的任意一個(gè)。實(shí)施例是作為示例,而非以任何方式進(jìn)行限定。
圖1示出了一個(gè)示例性結(jié)構(gòu)100,其中網(wǎng)絡(luò)102使能客戶設(shè)備105、110、115和120,以及服務(wù)器設(shè)備125之間的通信。網(wǎng)絡(luò)102旨在表示各種常用網(wǎng)絡(luò)拓?fù)浜皖愋椭械娜我庖环N,可包括有線和/或無線網(wǎng)絡(luò)。網(wǎng)絡(luò)102還能利用各種常用網(wǎng)絡(luò)協(xié)議中的任意一種,包括公共和/或?qū)S脜f(xié)議。網(wǎng)絡(luò)102可包括例如因特網(wǎng)以及一個(gè)或多個(gè)局域網(wǎng)(LAN)的至少一部分。
客戶機(jī)設(shè)備105可包括各種常用計(jì)算設(shè)備中的任一種,包括臺(tái)式個(gè)人計(jì)算機(jī)(PC),工作站、大型計(jì)算機(jī)、Internet設(shè)備、以及游戲控制臺(tái)。與網(wǎng)絡(luò)102相關(guān)聯(lián)的客戶設(shè)備還可進(jìn)一步包括個(gè)人數(shù)字助理(PDA)110、膝上型計(jì)算機(jī)115、以及蜂窩式電話120等等,它們可與網(wǎng)絡(luò)102通過有線和/或無線鏈路通信。此外還有,客戶機(jī)設(shè)備105、110、115和120的一個(gè)或多個(gè)可包括相同類型設(shè)備,或不同類型設(shè)備。
服務(wù)器設(shè)備125能向計(jì)算設(shè)備105、110、115和120提供各種數(shù)據(jù)和/或功能性中的任意一種。該數(shù)據(jù)可是公開可用的或者受限制的,例如,僅限于特定用戶或僅當(dāng)支付了適當(dāng)?shù)馁M(fèi)用才可用。服務(wù)器設(shè)備125是網(wǎng)絡(luò)服務(wù)器、應(yīng)用程序服務(wù)器、web葉、或其任意組合中的至少一個(gè)。服務(wù)器設(shè)備125是內(nèi)容源的任意設(shè)備,而客戶設(shè)備105、110、115和120包括能接收此類內(nèi)容的任意設(shè)備??蛻艋蚍?wù)器設(shè)備的示例實(shí)施例參照圖7在下文中進(jìn)行更詳細(xì)描述。
客戶機(jī)設(shè)備105、110、115、120和服務(wù)器設(shè)備125中的任意一個(gè)根據(jù)在此所述的示例實(shí)施例可作為發(fā)送主機(jī)或接收主機(jī)。為進(jìn)行說明,而非以任何形式進(jìn)行限制,客戶機(jī)設(shè)備115是一個(gè)經(jīng)由網(wǎng)絡(luò)102向一個(gè)接收主機(jī)傳輸數(shù)據(jù)的發(fā)送主機(jī)。發(fā)送主機(jī)115包括處理器117,該處理器對應(yīng)在此所述的示例實(shí)施例實(shí)現(xiàn)假超時(shí)響應(yīng)。
對應(yīng)圖1的網(wǎng)絡(luò)102的協(xié)議包括但不限于TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議),其中TCP是一個(gè)用于實(shí)現(xiàn)端到端連接錯(cuò)誤檢測和校正的基于鏈接、面向信息流的傳輸服務(wù)。當(dāng)數(shù)據(jù)從發(fā)送主機(jī)115傳輸?shù)浇邮罩鳈C(jī)時(shí),假超時(shí)在網(wǎng)絡(luò)102中并非時(shí)常發(fā)生的,該網(wǎng)絡(luò)可以是無線廣域網(wǎng)。本領(lǐng)域中熟練的技術(shù)人員能理解在傳輸處理中此類超時(shí)的任何影響。然而,假超時(shí)的發(fā)生并不必然表示數(shù)據(jù)包的丟失或擁塞。
假超時(shí)響應(yīng)119以不自動(dòng)重發(fā)數(shù)據(jù)的方式處理假超時(shí)。當(dāng)然,若發(fā)現(xiàn)假超時(shí)(STO),則假超時(shí)響應(yīng)119通過恢復(fù)擁塞狀態(tài)值并維持來自發(fā)送主機(jī)的確實(shí)數(shù)據(jù)流來響應(yīng)STO。也就是說,來自發(fā)送主機(jī)的數(shù)據(jù)流不包括任何重發(fā)的數(shù)據(jù)包,直至或除非數(shù)據(jù)丟失被證實(shí)。
更為特別的是,假超時(shí)響應(yīng)119指示TCP?;謴?fù)緩慢啟動(dòng)閾值(也稱為“sstresh”)到其檢測到超時(shí)之前的值并逐漸增加擁塞窗口“cwnd”。存儲(chǔ)緩慢啟動(dòng)閾值“sstresh”是與用于控制數(shù)據(jù)傳輸?shù)慕?jīng)估計(jì)的可用帶寬相關(guān)的狀態(tài)變量,且再次,擁塞窗口“cwnd”是限制發(fā)送主機(jī)在接收確認(rèn)“ACK”之前能夠在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)數(shù)量的狀態(tài)變量。在超時(shí)發(fā)生之后,擁塞窗口被設(shè)置為MSS,且重發(fā)第一個(gè)未確認(rèn)的包。盡管如此,若證明重發(fā)是不必要的,即,最初的傳輸已經(jīng)由接收主機(jī)成功的接收,則發(fā)送主機(jī)停止重發(fā)其他超時(shí)包。此外,由于ACK是超時(shí)數(shù)據(jù)包成功傳輸?shù)谋硎?,因此擁塞窗口在接收ACK時(shí)增加最大段大小(MSS)(即,cwnd=cwnd+MSS)。就是說,由于ACK提供了使網(wǎng)絡(luò)路徑重新生效所需的準(zhǔn)確數(shù)據(jù),因此,接收ACK就表示能被傳輸?shù)臄?shù)據(jù)數(shù)量能夠被增加。
圖2更詳細(xì)地示出了發(fā)送主機(jī)115的處理器117。處理器117包括數(shù)據(jù)包發(fā)送器205,它利用如TCP協(xié)議向接收主機(jī)發(fā)送數(shù)據(jù)包。在數(shù)據(jù)包從發(fā)送器205傳輸之后,傳輸定時(shí)器/超時(shí)檢測器210跟蹤時(shí)間。因此,在數(shù)據(jù)包傳輸之后,當(dāng)預(yù)定的時(shí)間量,例如,500毫秒過去而沒有對應(yīng)數(shù)據(jù)包的ACK在發(fā)送主機(jī)115處被接收回來時(shí),傳輸定時(shí)器/超時(shí)檢測器210檢測到超時(shí)。若超時(shí)被確定為是假超時(shí)時(shí),超時(shí)響應(yīng)處理器215執(zhí)行超時(shí)響應(yīng)過程119(見圖1),該過程是一個(gè)“帶有重新分包的假超時(shí)檢測”(下文中稱為“STORDER”)響應(yīng)。圖4-6更詳細(xì)地描述了超時(shí)響應(yīng)過程119。圖2所示的處理模塊可以如所示的那樣實(shí)現(xiàn),獨(dú)立地,或以其各種組合實(shí)現(xiàn)。
圖3示出響應(yīng)假超時(shí)的超時(shí)響應(yīng)過程119。過程119被說明為一組框,每個(gè)框代表至少一個(gè)實(shí)現(xiàn)該過程所執(zhí)行的操作。這些操作可以通過軟件、硬件、固件、或其任意組合實(shí)現(xiàn)。此外,為了討論的目的,過程119在數(shù)據(jù)包的傳輸在出現(xiàn)超時(shí)是從發(fā)送主機(jī)115到接收主機(jī)的情況下進(jìn)行描述。
在305,發(fā)送主機(jī)115發(fā)現(xiàn)超時(shí)情況。在檢測到超時(shí)時(shí),發(fā)送主機(jī)115保存310對應(yīng)于直至超時(shí)發(fā)現(xiàn)時(shí)從發(fā)送主機(jī)115傳輸?shù)臄?shù)據(jù)包的最高序列號。所保存的序列號可用作隨后數(shù)據(jù)包傳輸?shù)幕鶞?zhǔn)點(diǎn)。于是,第一個(gè)沒有確認(rèn)的包被重發(fā)。在接收到第一個(gè)來自接收主機(jī)的確認(rèn)時(shí),作出該超時(shí)是依照本領(lǐng)域中已知技術(shù)生成的假超時(shí)(STO)的決定315。此類技術(shù)的示例包括,但不限于,于2004年1月15日向美國專利和商標(biāo)事務(wù)所提交的待批的美國申請?zhí)?0/758,510中描述的技術(shù),且因此不在此描述該技術(shù)。
圖4-6示出在檢測315到STO時(shí)進(jìn)行的示例協(xié)議響應(yīng)119。特別是,在此描述的STODER響應(yīng)不是通過自動(dòng)重發(fā)數(shù)據(jù)包或通過默認(rèn)擁塞控制狀態(tài)處理對STO響應(yīng),而是根據(jù)包守恒原則實(shí)現(xiàn)響應(yīng)。
圖4示出在STODER響應(yīng)中的初始操作。因?yàn)镾TO的檢測315(見圖3)不必基于數(shù)據(jù)包的丟失被預(yù)測,因此擁塞狀態(tài)值被恢復(fù)405以維持來自發(fā)送主機(jī)115的確實(shí)數(shù)據(jù)流。被傳輸?shù)南乱粋€(gè)數(shù)據(jù)包的參數(shù)被設(shè)為與被發(fā)送的先前發(fā)送的數(shù)據(jù)包完全相等直至STO檢測的點(diǎn)。該點(diǎn)可稱為“STODER恢復(fù)點(diǎn)”(下文中“SRP”)。緩慢啟動(dòng)閾值”ssthresh”被恢復(fù)為與其在超時(shí)發(fā)生之前的值完全相等,而擁塞窗口“cwnd”被設(shè)為最大段大小的兩倍(即,cwnd=2*MSS)。這與用于不超過兩個(gè)數(shù)據(jù)包大小的擁塞窗口的初始值的已知TCP原則相一致。
在缺乏數(shù)據(jù)包已經(jīng)丟失的證實(shí)時(shí),按照包守恒原則要求沒有先前傳輸?shù)臄?shù)據(jù)被重發(fā)。也就是說,在這個(gè)時(shí)候,連續(xù)的數(shù)據(jù)流是要僅包括新傳輸?shù)臄?shù)據(jù)包。因此,在410,發(fā)送主機(jī)115通過傳輸直至兩個(gè)新的數(shù)據(jù)包到達(dá)接收主機(jī)來維持?jǐn)?shù)據(jù)流。應(yīng)該注意在網(wǎng)絡(luò)上傳輸?shù)挠糜诰S持?jǐn)?shù)據(jù)流的新數(shù)據(jù)包的數(shù)量可以隨協(xié)議發(fā)展而不同。
在415,發(fā)送主機(jī)115設(shè)置一個(gè)“管道”值,它是網(wǎng)絡(luò)上待完成的字節(jié)數(shù)量的發(fā)送方的估計(jì)。在此階段,管道值被設(shè)為等于到目前為止的最大序列號(即,snd.max)和還未確認(rèn)的最低序列號(即,snd.una)之間的差,加上最大段大小(MSS)pipe=MSS+snd.max-snd.una增加MSS是為了計(jì)算超時(shí)的第一數(shù)據(jù)包的重發(fā)。
在420,發(fā)送主機(jī)115接收確認(rèn)(ACK)。隨后的過程受ACK是否推進(jìn)實(shí)際數(shù)據(jù)流或它是否是副本ACK(duplicate ACK)的影響。若它表示在接收主機(jī)處已經(jīng)成功接收了傳輸?shù)臄?shù)據(jù),則ACK推進(jìn)實(shí)際數(shù)據(jù)流。副本ACK是沒有累積確認(rèn)任何新數(shù)據(jù)而僅僅在其確認(rèn)字段內(nèi)重復(fù)Snd.una的ACK。
圖5仍是ACK在發(fā)送主機(jī)115處被接收420(見圖4)之后的STODER響應(yīng)的示例實(shí)施例。作出有關(guān)接收的ACK是否確認(rèn)覆蓋SRP的一個(gè)序列號的決定505。若對應(yīng)ACK的序列號覆蓋SRP(ACK Seq.No>SRP)(即,自505的“是”分支起),則STODER響應(yīng)終止507。
否則,作出有關(guān)ACK是否確認(rèn)數(shù)據(jù)小于SRP的決定510,即,ACK是否確認(rèn)了某些新的數(shù)據(jù)而沒有覆蓋SRP。此類ACK表示某些數(shù)據(jù)包已經(jīng)離開了網(wǎng)絡(luò)。因此,在這種情況的實(shí)際決定之后(即,自510的“是”分支起),管道值被調(diào)整用以反映待完成包的減少。此外,由于ACK表示某些數(shù)據(jù)已經(jīng)在接收主機(jī)處成功接收,因此當(dāng)接收到ACK時(shí),若擁塞窗口“cwnd”小于緩慢啟動(dòng)閾值“ssthresh”(即,cwnd<ssthresh),則擁塞窗口“cwnd”可以通過向擁塞窗口“cwnd”增加最大段大小“MSS”而打開(即,cwnd=cwnd+MSS)。隨后,為了維持一致的數(shù)據(jù)流,若管道值小于擁塞窗口“cwnd”(即,pipe<cwnd),則新的數(shù)據(jù)包,即沒有被傳輸?shù)臄?shù)據(jù),就能被傳輸。
否則,作出ACK是否為“副本ACK”的確定520,也就是說,ACK具有相同的序列號或是小于未確認(rèn)數(shù)據(jù)的最低序列號,即snd.una。在副本ACK確定之后(即,自520的“是”分支起),網(wǎng)絡(luò)中未完成數(shù)據(jù)的數(shù)量的評估通過重新設(shè)置522管道值為初始管道值減去最大段大小“MSS”(即,pipe=pipe-MSS)來調(diào)整。
此外,若副本ACK包括一個(gè)選擇性確認(rèn)數(shù)據(jù)段小于SRP的數(shù)據(jù)段且擁塞窗口“cwnd”小于緩慢啟動(dòng)閾值(即,cwnd<ssthresh)的SACK塊,則擁塞窗口“cwnd”通過向擁塞窗口的當(dāng)前值“cwnd”增加最大段大小“MSS”(即,cwnd=cwnd+MSS)而重新設(shè)置。隨后,為了維持一致的數(shù)據(jù)流,若管道值小于擁塞窗口“cwnd”(即,pipe<cwnd)傳輸新的數(shù)據(jù)包。
否則,當(dāng)作出已經(jīng)接收到3個(gè)副本ACK的決定530時(shí),可以推測性地假設(shè)數(shù)據(jù)包已經(jīng)從網(wǎng)絡(luò)上丟失(即,自530的“是”分支起)。因此,當(dāng)接收到第三個(gè)副本ACK時(shí),由于沒有接收到ACK而丟失的數(shù)據(jù)包能被從發(fā)送主機(jī)115重發(fā)525,。此外,由于檢測到了丟失,所以緩慢啟動(dòng)閾值“ssthresh”狀態(tài)值以及擁塞窗口“cwnd”狀態(tài)值被重新設(shè)置527。特別是,當(dāng)接收到第三個(gè)副本ACK時(shí),緩慢啟動(dòng)閾值被減少其初始值的一半(即,ssthresh=ssthresh/2),而擁塞窗口被設(shè)為擁塞窗口和緩慢啟動(dòng)閾值中的較小的一個(gè)(即,cwnd=min(cwnd,ssthresh))。當(dāng)作出有關(guān)三個(gè)副本ACK的否定確定530時(shí),過程返回505。
除了重發(fā)丟失數(shù)據(jù)之外,對STO的響應(yīng)由此轉(zhuǎn)換到基于SACK的緩慢啟動(dòng)恢復(fù)過程。
圖6示出基于SACK的緩慢啟動(dòng)恢復(fù)過程。在緩慢啟動(dòng)閾值狀態(tài)值和擁塞窗口狀態(tài)值被重新設(shè)置(見527)之后,發(fā)送主機(jī)115處的ACK的接收作出有關(guān)接收的ACK是否確認(rèn)覆蓋SRP的一個(gè)序列號的決定605,即對應(yīng)于任意待完成數(shù)據(jù)的ACK是否還沒有確認(rèn)。因此,若對應(yīng)ACK的序列號覆蓋了SRP(即,自605的“是”分支起),則STODER響應(yīng)終止607。
否則,作出關(guān)于ACK確認(rèn)數(shù)據(jù)是否小于在SRP處所示數(shù)據(jù)的決定610,即ACK是否為“部分ACK”。在基于SACK的緩慢啟動(dòng)恢復(fù)階段(即,自610的“是”分支起)中的第一個(gè)部分ACK的決定615導(dǎo)致了SRP之下所有數(shù)據(jù)包都丟失的假定結(jié)論。因此通過重新設(shè)置管道值為將重發(fā)的數(shù)據(jù)大小(retran_data)加上發(fā)送的數(shù)據(jù)直至部分ACK減去SRP(snd.max-SRP)確定的時(shí)候,并選擇性確認(rèn)在SRP之上的數(shù)據(jù)包(sacked_pkts above SRP),以避免620重發(fā)的突發(fā)pipe=retran_data+(snd.max-SRP)-(sacked_pkts above SRP)此外,擁塞窗口“cwnd”被調(diào)整為窗口與管道值加上2*MSS的初始窗口值之間的最小的值cwnd=min(cwnd,pipe+(2*MSS))然后數(shù)據(jù)以在SRP之下的數(shù)據(jù)包的形式被發(fā)送625,它們被認(rèn)為是丟失了。
部分ACK的隨后的接收使?fàn)顟B(tài)值被重新設(shè)置630,包括管道值被重新設(shè)置為初始管道值減去已確認(rèn)數(shù)據(jù)的大小(即,pipe=pipe-data_acked)且若“cwnd”小于“ssthresh”,則擁塞窗口cwnd被重新設(shè)置為擁塞窗口cwnd加上最大段大小“MSS”(即,cwnd=cwnd+MSS)。為了維持一致數(shù)據(jù)流、數(shù)據(jù),例如被部分確認(rèn)的最老的數(shù)據(jù)接著從發(fā)送主機(jī)115被重發(fā)625,假定管道值小于擁塞窗口(即,pipe<cwnd)。
部分ACK的否定決定610意味著ACK是一個(gè)副本ACK。因此,管道值被設(shè)置635為管道值減去MSS(即,pipe=pipe-MSS)。若在第一個(gè)部分ACK之前副本ACK被接收且ACK包含一個(gè)選擇性確認(rèn)SRP之下的數(shù)據(jù)的SACK塊而且擁塞窗口小于緩慢啟動(dòng)閾值(即,cwnd<ssthresh),則擁塞窗口增加最大段大小“MSS”(即,cwnd=cwnd+MSS)。為了維持一致數(shù)據(jù)流,丟失數(shù)據(jù)或新數(shù)據(jù)從發(fā)送主機(jī)115傳輸625,假定管道值小于擁塞窗口。
要注意,在第二個(gè)重發(fā)超時(shí)的情況下,上述響應(yīng)過程被終止,而已知的緩慢啟動(dòng)過程開始。
圖7示出一般計(jì)算機(jī)環(huán)境700,它可以用于實(shí)現(xiàn)在此所述的技術(shù)。計(jì)算機(jī)環(huán)境700僅是計(jì)算環(huán)境的一個(gè)示例,且并非試圖提議任何有關(guān)使用范圍或計(jì)算機(jī)和網(wǎng)絡(luò)結(jié)構(gòu)功能性的限定。也不應(yīng)認(rèn)為計(jì)算機(jī)環(huán)境700對在示例計(jì)算機(jī)環(huán)境700中舉例說明的任何組件中的一個(gè)或組合具有任何依賴性或要求。
計(jì)算機(jī)環(huán)境700包括通用計(jì)算機(jī)702形式的計(jì)算設(shè)備。計(jì)算機(jī)702的組件可包括,但不限于,一個(gè)或多個(gè)處理器或處理單元704,系統(tǒng)存儲(chǔ)器706,以及把各種系統(tǒng)組件包括處理器704耦合至系統(tǒng)存儲(chǔ)器706的系統(tǒng)總線708。
系統(tǒng)總線708代表任意幾種類型總線結(jié)構(gòu)中的一個(gè)或多個(gè),包括存儲(chǔ)總線或存儲(chǔ)控制器、外圍總線、加速圖形接口、以及利用各種總線結(jié)構(gòu)中的任一種的處理器或本地總線。作為示例,此類結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(EISA)總線,視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線,外設(shè)部件互連(PCI)總線又稱為Mezzanine總線,PCI快速總線、通用串行總線(USB)、安全數(shù)字(SD)總線、或IEEE 1394,即,F(xiàn)irewire總線。
計(jì)算機(jī)702可包括各種計(jì)算機(jī)可讀介質(zhì)。此類介質(zhì)可以是計(jì)算機(jī)702能夠訪問的任意可用介質(zhì),且包括易失性和非易失性的、可移動(dòng)和不可移動(dòng)的介質(zhì)。
系統(tǒng)存儲(chǔ)器706包括諸如隨機(jī)存取存儲(chǔ)器(RAM)710的易失性存儲(chǔ)器;和/或諸如只讀存儲(chǔ)器(ROM)712或閃存RAM的非易失性存儲(chǔ)器形式的計(jì)算機(jī)可讀介質(zhì)?;据斎胼敵鱿到y(tǒng)(BIOS)714,包括有助于諸如在啟動(dòng)期間計(jì)算機(jī)702的元件之間傳輸信息的基本例程被存儲(chǔ)在ROM 712或閃存RAM內(nèi)。RAM 710通常包括處理單元714能立即訪問的和/或當(dāng)前在上面運(yùn)行的數(shù)據(jù)和/或程序模塊。
計(jì)算機(jī)702也可包括其他可移動(dòng)/不可移動(dòng)介質(zhì)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。作為示例,圖7舉例說明了從不可移動(dòng)、非易失性磁性介質(zhì)(未示出)讀取并向其中寫入的硬盤驅(qū)動(dòng)器716,從可移動(dòng)、非易失性磁性磁盤720(例如,軟盤)讀取并向其中寫入的磁盤驅(qū)動(dòng)器718、以及從可移動(dòng)、非易失性光盤724諸如CD-ROM、DVD-ROM或其他光學(xué)介質(zhì)中讀取和/或向其中寫入的光盤驅(qū)動(dòng)器722。硬盤驅(qū)動(dòng)器716、磁盤驅(qū)動(dòng)器718、以及光盤驅(qū)動(dòng)器722每一個(gè)都通過一個(gè)或多個(gè)數(shù)據(jù)介質(zhì)接口725連接到系統(tǒng)總線708。換句話說,硬盤驅(qū)動(dòng)器716、磁盤驅(qū)動(dòng)器718、以及光盤驅(qū)動(dòng)器722能通過一個(gè)或多個(gè)接口(未示出)連接到系統(tǒng)總線708。
磁盤驅(qū)動(dòng)器及其相關(guān)計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)702提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、以及其他數(shù)據(jù)的非易失性存儲(chǔ)器。盡管示例舉例說明了硬盤716、可移動(dòng)磁盤720、以及可移動(dòng)光盤724,應(yīng)該意識(shí)到可存儲(chǔ)計(jì)算機(jī)能夠訪問的數(shù)據(jù)的其他類型的計(jì)算機(jī)可讀介質(zhì),如磁帶盒或其他磁性存儲(chǔ)設(shè)備、閃存卡、CD-ROM、數(shù)字通用磁盤(DVD)或其他光學(xué)存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除只讀存儲(chǔ)器(EEPROM)等等,都能被用來實(shí)現(xiàn)示例計(jì)算系統(tǒng)和環(huán)境。
在硬盤716、磁盤720、光盤724,ROM 712、和/或RAM 710上能夠存儲(chǔ)任意數(shù)量的程序模塊,包括舉例來說,操作系統(tǒng)726,一個(gè)或多個(gè)應(yīng)用程序728、其他程序模塊730、以及程序數(shù)據(jù)730。此類操作系統(tǒng)726,一個(gè)或多個(gè)應(yīng)用程序728、其他程序模塊730、以及程序數(shù)據(jù)732(或其某些組合)中的任意一個(gè)可實(shí)現(xiàn)支持分布式文件系統(tǒng)的所有或部分常駐組件。
用戶可以通過輸入設(shè)備如鍵盤734和定位設(shè)備736(如,鼠標(biāo))向計(jì)算機(jī)702輸入指令和信息。其他輸入設(shè)備738(未特別示出)可包括麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星接收天線、串行端口、掃描儀等等。這些和其他輸入設(shè)備通過耦合至系統(tǒng)總線708的輸入輸出接口740連接至處理單元704,但是也可以通過其他接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口、或通用串行總線(USB)。
監(jiān)視器742或其他類型顯示設(shè)備也可以通過接口,如視頻分配器744,連接至系統(tǒng)總線708。除監(jiān)視器742之外,其他輸出外圍設(shè)備可包括如揚(yáng)聲器(未示出)和打印機(jī)746的組件,它們可以通過I/O接口740連接至計(jì)算機(jī)702。
計(jì)算機(jī)702可以在使用邏輯連接到如遠(yuǎn)程計(jì)算機(jī)748的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的網(wǎng)絡(luò)化環(huán)境中運(yùn)行。作為示例,遠(yuǎn)程計(jì)算設(shè)備748可以是PC、便攜式計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn)等等。遠(yuǎn)程計(jì)算設(shè)備748以包括在此所述與計(jì)算機(jī)702相關(guān)的多個(gè)或所有元件和特性的便攜式計(jì)算機(jī)舉例說明。另一方面,計(jì)算機(jī)702也能夠在一個(gè)非網(wǎng)絡(luò)化環(huán)境中運(yùn)行。
在計(jì)算機(jī)702和遠(yuǎn)程計(jì)算機(jī)748之間的邏輯連接被描述為局域網(wǎng)(LAN)750和通用廣域網(wǎng)(WAN)752。此類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部局域網(wǎng)、和因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)702經(jīng)由網(wǎng)絡(luò)接口或適配器754連接至局域網(wǎng)750。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)時(shí),計(jì)算機(jī)702常包括調(diào)制解調(diào)器756或其他用于經(jīng)由廣域網(wǎng)752建立通信的設(shè)備。對于計(jì)算機(jī)702可以內(nèi)置或外置的調(diào)制解調(diào)器756可通過I/O接口或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線702。所示的網(wǎng)絡(luò)連接僅是示例,也可以使用在計(jì)算機(jī)702和708之間至少建立一條通信鏈路的其他手段。
在網(wǎng)絡(luò)化環(huán)境中,諸如以計(jì)算環(huán)境700所舉例說明的,所述的有關(guān)計(jì)算機(jī)702的程序模塊、或其部分,能夠存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器設(shè)備中。作為示例,遠(yuǎn)程應(yīng)用程序758駐留在遠(yuǎn)程計(jì)算機(jī)748的存儲(chǔ)設(shè)備中。為了舉例說明,應(yīng)用或程序以及其他可執(zhí)行程序組件如操作系統(tǒng)在此舉例作為離散模塊,盡管眾所周知這些程序和組件在不同的時(shí)間被駐留在計(jì)算設(shè)備702的各種存儲(chǔ)組件之中,且至少能夠被計(jì)算機(jī)的一個(gè)數(shù)據(jù)處理器執(zhí)行。
各種模塊和技術(shù)在此可描述為可由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的計(jì)算機(jī)可執(zhí)行指令如程序模塊的通用形式。通常,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,用于執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。一般而言,程序模塊的功能性可如同在各個(gè)實(shí)施例中所述的那樣是組合的或分布式的。
這些模塊和技術(shù)的實(shí)現(xiàn)可以存儲(chǔ)在某些形式的計(jì)算機(jī)可讀介質(zhì)上或通過其傳輸。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)能夠訪問的任何可用介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括“計(jì)算機(jī)存儲(chǔ)介質(zhì)”以及“通信介質(zhì)”。
“計(jì)算機(jī)存儲(chǔ)介質(zhì)”包括以任意方式或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的易失性和非易失性,可移動(dòng)和不可移動(dòng)的介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字通用磁盤(DVD)或其他光學(xué)介質(zhì)、磁帶盒、磁帶、磁性磁盤存儲(chǔ)器或其他磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息并能由計(jì)算機(jī)訪問的任何其他介質(zhì)。
“通信介質(zhì)”通常提存為計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或調(diào)制數(shù)據(jù)信號中的如載波或其他傳輸機(jī)制的其他數(shù)據(jù)。通信介質(zhì)也包括任意信息傳遞介質(zhì)。術(shù)語“調(diào)制數(shù)據(jù)信號”表示具有一個(gè)或多個(gè)特征集或以在信號中編碼信息的方式改變的信號。作為非限制性示例,通信介質(zhì)包括有線介質(zhì)如有線網(wǎng)絡(luò)或直接線路連接、和無線介質(zhì)如聲學(xué)的、RF、紅外的、和其他無線介質(zhì)。上面的任意組合也包括在計(jì)算機(jī)可讀介質(zhì)的范疇之內(nèi)。
貫穿本說明書引用了“一個(gè)實(shí)施例”、“一實(shí)施例”或“示例實(shí)施例”表示特別描述的特征、結(jié)構(gòu)、或特性的被包含在本發(fā)明的至少一個(gè)實(shí)施例中。因此,這種措詞的使用可能不僅僅指一個(gè)實(shí)施例。此外,所述的特征、結(jié)構(gòu)、或特性可以任意適當(dāng)?shù)姆绞皆谝粋€(gè)或多個(gè)實(shí)施例中組合。
然而,本領(lǐng)域技術(shù)人員能夠理解本發(fā)明可以無需一個(gè)或多個(gè)特定細(xì)節(jié)、或者以其他方法、資源、材料等等實(shí)踐。在其他情況下,未詳細(xì)示出或描述眾所周知的結(jié)構(gòu)、資源、或操作只是為了避免混淆發(fā)明諸方面。
盡管本發(fā)明的示例實(shí)施例和應(yīng)用已經(jīng)進(jìn)行了說明和描述,應(yīng)該理解本發(fā)明并不限于上述的精確配置和資源。對于本領(lǐng)域中熟練的技術(shù)人員而言,各種修訂、更改、以及外觀變化可以在在此揭示的本發(fā)明方法和系統(tǒng)的排列、操作、以及細(xì)節(jié)中實(shí)現(xiàn)而不背離本發(fā)明的范圍。
權(quán)利要求
1.一種用于響應(yīng)假超時(shí)的方法,其特征在于,包括調(diào)整擁塞狀態(tài)值;根據(jù)所調(diào)整的擁塞狀態(tài)值在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流;以及當(dāng)先前傳輸?shù)臄?shù)據(jù)被認(rèn)為已在網(wǎng)絡(luò)上丟失時(shí),重發(fā)先前傳輸?shù)臄?shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)整擁塞狀態(tài)值包括恢復(fù)一緩慢啟動(dòng)閾值;設(shè)置管道值;以及重新設(shè)置擁塞窗口的初始值。
3.如權(quán)利要求2所述的方法,其特征在于,所述緩慢啟動(dòng)的閾值是一個(gè)在超時(shí)之前檢測到的可用帶寬值。
4.如權(quán)利要求2所述的方法,其特征在于,設(shè)定所述管道值包括把發(fā)送主機(jī)能發(fā)送的最大段大小加至到目前為止發(fā)送的最大序列號與還未確認(rèn)的最低序列號間的差上。
5.如權(quán)利要求2所述的方法,其特征在于,所述重新設(shè)置擁塞窗口的初始值包括將擁塞窗口設(shè)置為最大數(shù)據(jù)段大小的兩倍。
6.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述調(diào)整的擁塞狀態(tài)值維持?jǐn)?shù)據(jù)流包括發(fā)送數(shù)據(jù)包;接收確認(rèn);以及通過增加發(fā)送主機(jī)能夠發(fā)送的最大數(shù)據(jù)段大小來重新設(shè)置擁塞窗口。
7.如權(quán)利要求2所述的方法,其特征在于,當(dāng)先前傳輸?shù)臄?shù)據(jù)被認(rèn)為已在網(wǎng)絡(luò)上丟失時(shí)重發(fā)先前傳輸?shù)臄?shù)據(jù)包括當(dāng)3個(gè)副本確認(rèn)被發(fā)送主機(jī)接收時(shí)重發(fā)先前傳輸?shù)臄?shù)據(jù)。
8.如權(quán)利要求7所述的方法,其特征在于,還包括實(shí)現(xiàn)緩慢啟動(dòng)恢復(fù)過程。
9.如權(quán)利要求7所述的方法,其特征在于,還包括實(shí)現(xiàn)緩慢啟動(dòng)恢復(fù)過程,其包括重新調(diào)整管道值;以及根據(jù)所接收的確認(rèn)的模式重新設(shè)置擁塞窗口的大小。
10.一種用于在網(wǎng)絡(luò)上響應(yīng)假超時(shí)的方法,其特征在于,包括恢復(fù)擁塞狀態(tài)值,包括設(shè)置發(fā)送主機(jī)在接收確認(rèn)之前能在網(wǎng)絡(luò)上發(fā)送的數(shù)據(jù)極限值;維持來自發(fā)送主機(jī)的數(shù)據(jù)流;以及在接收到一個(gè)確認(rèn)時(shí),重新設(shè)置發(fā)送主機(jī)在接收確認(rèn)之前能在網(wǎng)絡(luò)上發(fā)送的數(shù)據(jù)極限值。
11.如權(quán)利要求10所述的方法,其特征在于,恢復(fù)擁塞狀態(tài)值包括恢復(fù)在假超時(shí)之前可用帶寬的閾值;以及調(diào)整對在假超時(shí)之前網(wǎng)絡(luò)待完成的數(shù)據(jù)的估計(jì)。
12.如權(quán)利要求10所述的方法,其特征在于,發(fā)送主機(jī)在接收確認(rèn)之前能在網(wǎng)絡(luò)上發(fā)送的所述數(shù)據(jù)極限值被設(shè)置為發(fā)送主機(jī)能夠發(fā)送的最大數(shù)據(jù)段大小的兩倍。
13.如權(quán)利要求10所述的方法,其特征在于,發(fā)送主機(jī)在接收確認(rèn)之前能在網(wǎng)絡(luò)上發(fā)送的所述數(shù)據(jù)極限值,在接收到一個(gè)確認(rèn)后,通過增加發(fā)送主機(jī)能夠發(fā)送的最大數(shù)據(jù)段大小而被重新設(shè)置。
14.如權(quán)利要求10所述的方法,其特征在于,還包括當(dāng)先前在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)被證實(shí)在網(wǎng)絡(luò)上丟失時(shí)重發(fā)數(shù)據(jù)。
15.如權(quán)利要求14所述的方法,其特征在于,當(dāng)接收到3個(gè)副本確認(rèn)時(shí),先前在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)被證實(shí)在網(wǎng)絡(luò)上丟失。
16.如權(quán)利要求9所述的方法,其特征在于,還包括根據(jù)緩慢啟動(dòng)恢復(fù)過程維持?jǐn)?shù)據(jù)流。
17.一種至少具有一條指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,一旦檢測到網(wǎng)絡(luò)上超時(shí)時(shí),該指令使至少一個(gè)處理器調(diào)整擁塞狀態(tài)值;在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流;以及當(dāng)先前傳輸?shù)臄?shù)據(jù)被確定為已在網(wǎng)絡(luò)上丟失時(shí),重發(fā)先前發(fā)送的數(shù)據(jù)。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述至少一條用于調(diào)整擁塞狀態(tài)值的指令包含至少一條指令使至少一個(gè)處理器調(diào)整對網(wǎng)絡(luò)上待完成的數(shù)據(jù)量的估計(jì)為發(fā)送主機(jī)能發(fā)送的最大段大小加上到目前為止發(fā)送的最大序列號與還未確認(rèn)的最低序列號間的差。
19.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述至少一條用于調(diào)整擁塞狀態(tài)值的指令包含至少一條指令用于限制發(fā)送主機(jī)在接收確認(rèn)之前能發(fā)送的數(shù)據(jù)量為發(fā)送主機(jī)能發(fā)送的最大數(shù)據(jù)段大小的兩倍。
20.如權(quán)利要求19所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述至少一條用于在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流的指令包含至少一條指令用于把發(fā)送主機(jī)在接收確認(rèn)之前能發(fā)送的數(shù)據(jù)量增加發(fā)送主機(jī)能夠發(fā)送的最大數(shù)據(jù)段大小。
21.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)先前傳輸?shù)臄?shù)據(jù)被確定為在網(wǎng)絡(luò)上丟失時(shí),所述至少一條用于重發(fā)先前傳輸數(shù)據(jù)的指令包含至少一條指令使至少一個(gè)處理器啟動(dòng)緩慢啟動(dòng)過程。
22.一種用于假超時(shí)恢復(fù)的裝置,其特征在于,包括發(fā)送數(shù)據(jù)包的發(fā)送器;檢測超時(shí)的傳輸定時(shí)器;以及維持?jǐn)?shù)據(jù)流直至數(shù)據(jù)被確認(rèn)在網(wǎng)絡(luò)上丟失的響應(yīng)處理器。
23.如權(quán)利要求22所述的裝置,其特征在于,所述響應(yīng)處理器是用于調(diào)整擁塞狀態(tài)值;根據(jù)所述調(diào)整的擁塞狀態(tài)值在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流;以及當(dāng)先前傳輸?shù)臄?shù)據(jù)被認(rèn)為在網(wǎng)絡(luò)上丟失時(shí),重發(fā)先前傳輸?shù)臄?shù)據(jù)。
24.如權(quán)利要求23所述的裝置,其特征在于,調(diào)整擁塞狀態(tài)值是為了設(shè)置發(fā)送主機(jī)在接收確認(rèn)之前能發(fā)送的數(shù)據(jù)量的極限值為發(fā)送主機(jī)能發(fā)送的最大數(shù)據(jù)段大小的兩倍。
25.如權(quán)利要求23所述的裝置,其特征在于,根據(jù)所述調(diào)整的擁塞狀態(tài)值在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流是為了在接收確認(rèn)時(shí),通過增加發(fā)送主機(jī)能夠發(fā)送的數(shù)據(jù)段大小重新設(shè)定發(fā)送主機(jī)在接收確認(rèn)之前能發(fā)送的數(shù)據(jù)量的極限值;以及在網(wǎng)絡(luò)上傳輸數(shù)據(jù)。
26.如權(quán)利要求23所述的裝置,其特征在于,當(dāng)先前傳輸?shù)臄?shù)據(jù)被認(rèn)為在網(wǎng)絡(luò)上丟失時(shí)重發(fā)先前傳輸?shù)臄?shù)據(jù)是為了在接收3個(gè)副本確認(rèn)時(shí)重發(fā)先前傳輸?shù)臄?shù)據(jù)。
27.如權(quán)利要求23所述的裝置,其特征在于,該裝置是為了進(jìn)一步處理緩慢啟動(dòng)恢復(fù)。
28.一種處理器,其特征在于,包括用于調(diào)整擁塞狀態(tài)值的裝置;用于根據(jù)所述調(diào)整的擁塞狀態(tài)值在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流的裝置;以及用于當(dāng)先前傳輸?shù)臄?shù)據(jù)被認(rèn)為在網(wǎng)絡(luò)上丟失時(shí),重發(fā)先前傳輸?shù)臄?shù)據(jù)的裝置。
29.如權(quán)利要求28所述的處理器,其特征在于,用于根據(jù)所述調(diào)整的擁塞狀態(tài)值在網(wǎng)絡(luò)上維持?jǐn)?shù)據(jù)流的所述裝置在接收到確認(rèn)后,通過增加發(fā)送主機(jī)能夠發(fā)送的最大數(shù)據(jù)段大小重新設(shè)置發(fā)送主機(jī)在接收確認(rèn)之前能發(fā)送的數(shù)據(jù)量的極限值,并繼續(xù)在網(wǎng)絡(luò)上傳輸數(shù)據(jù)。
30.如權(quán)利要求28所述的處理器,其特征在于,重發(fā)先前傳輸數(shù)據(jù)的所述裝置在接收到3個(gè)副本的確認(rèn)時(shí)重發(fā)先前傳輸?shù)臄?shù)據(jù)。
全文摘要
假超時(shí)(STO)響應(yīng)允許發(fā)送設(shè)備在檢測STO之后適當(dāng)?shù)卣{(diào)整擁塞狀態(tài)參數(shù)并維持包流。由于STO的發(fā)生會(huì)伴隨數(shù)據(jù)丟失,因此通過維持先前的可用帶寬值并根據(jù)返回的確認(rèn)增加發(fā)送主機(jī)能夠發(fā)送的極限值,STO響應(yīng)結(jié)合了假超時(shí)和丟失事件。特別是,每次從接收主機(jī)處接收到確認(rèn)表明數(shù)據(jù)包的成功傳輸,該極限值就被增加發(fā)送主機(jī)能發(fā)送的數(shù)據(jù)段的最大大小。因此,一個(gè)實(shí)際數(shù)據(jù)流能被適當(dāng)?shù)鼐S持,與此同時(shí)避免進(jìn)一步的數(shù)據(jù)丟失以及已被接收主機(jī)成功接收的數(shù)據(jù)包的不必要的重發(fā)。
文檔編號H04L12/28GK1671094SQ200510055928
公開日2005年9月21日 申請日期2005年3月15日 優(yōu)先權(quán)日2004年3月15日
發(fā)明者譚焜, 張黔, 朱文武 申請人:微軟公司