專(zhuān)利名稱(chēng):用于在不可靠環(huán)境中啟用報(bào)頭壓縮來(lái)提供網(wǎng)絡(luò)數(shù)據(jù)恢復(fù)優(yōu)化的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳輸數(shù)據(jù),更具體地涉及使用報(bào)頭壓縮的傳送控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)數(shù)據(jù)分組傳輸,該報(bào)頭壓縮優(yōu)選地是一類(lèi)在本領(lǐng)域中已知為V.Jacobson報(bào)頭壓縮的報(bào)頭壓縮技術(shù),該V. Jacobson報(bào)頭壓縮在1990年2月的IETF RFC 1144“Compressing TCP/IP Headers for Low-Speed Serial Links”(V-J報(bào)頭壓縮)中有描述。
背景技術(shù):
TCP/IP報(bào)頭壓縮(V-J報(bào)頭壓縮)能通過(guò)串行連接的點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)鏈路將TCP/IP報(bào)頭從40個(gè)字節(jié)壓縮到三個(gè)至四個(gè)字節(jié)之少。使用這樣的報(bào)頭壓縮技術(shù)對(duì)于在如下的媒體可靠環(huán)境中的吞吐量而言通常不成問(wèn)題,在這一環(huán)境中傳送的數(shù)據(jù)很少由于物理干擾和其它破壞而丟失或者失真。
然而,在不可靠傳輸鏈路環(huán)境中,比如在無(wú)線數(shù)據(jù)傳輸環(huán)境中,噪聲通常是猝發(fā)的。因而,數(shù)據(jù)分組丟失的出現(xiàn)很是普遍。例如,在第一代無(wú)線碼分多址(CDMA)中,無(wú)線鏈路協(xié)議(RLP)被用作為在PPP層以下用于數(shù)據(jù)傳送的鏈路層。RLP是最佳努力型協(xié)議,而且對(duì)于丟失幀僅進(jìn)行少數(shù)幾輪恢復(fù)。另外,如果RLP無(wú)法恢復(fù)丟失幀則它會(huì)將損壞幀遞送到較高層。
V-J報(bào)頭壓縮依賴于先前接收的依次正確分組以便從壓縮TCP/IP報(bào)頭中恢復(fù)信息。結(jié)果,如果在CDMA無(wú)線數(shù)據(jù)傳送期間啟用TCP/IPV-J報(bào)頭壓縮,則單個(gè)數(shù)據(jù)分組丟失可能造成對(duì)所有隨后接收的數(shù)據(jù)分組進(jìn)行解碼的失敗。隨后接收的分組的總大小(字節(jié))可能達(dá)到整個(gè)廣告的TCP接收器窗大小。由于在TCP報(bào)頭部分中的不正確恢復(fù)的TCP順序號(hào),所以解碼失敗被指示為不正確的TCP檢驗(yàn)和。
RFC 1144的第4.2部分標(biāo)題為“Error Recovery(錯(cuò)誤恢復(fù))”,而且提出了用于使解壓縮器在CRC錯(cuò)誤出現(xiàn)之后再次開(kāi)始生成有效分組的技術(shù)。
目前,靜默地丟棄那些具有不正確TCP校驗(yàn)和的數(shù)據(jù)分組(盡管數(shù)據(jù)有效載荷仍然正確)。另外,由于數(shù)據(jù)分組被接收器靜默地丟棄,所以沒(méi)有向回發(fā)送TCP確認(rèn)(ACK)分組以觸發(fā)對(duì)等TCP(即數(shù)據(jù)發(fā)送方)快速重發(fā)/恢復(fù)算法。這一問(wèn)題造成浪費(fèi)空中信道資源也造成較低的數(shù)據(jù)傳送吞吐量。
圖1示出了典型的TCP/IP/PPP協(xié)議棧實(shí)施。假設(shè)存在有要求遞送到對(duì)等應(yīng)用的成塊用戶數(shù)據(jù)1。用戶數(shù)據(jù)1先被遞送到TCP層2。TCP層2可以將成塊用戶數(shù)據(jù)1分段成數(shù)個(gè)分段。對(duì)于每個(gè)分段,TCP層2將數(shù)據(jù)放入幀的有效載荷中,而且將它與TCP報(bào)頭2A一起打包到TCP幀中。圖2示出了常規(guī)TCP幀格式,該格式在報(bào)頭部分中具有16比特的校驗(yàn)和部分。接著,TCP層2將整個(gè)TCP幀遞送到IP層3。IP層3將整個(gè)TCP幀視為數(shù)據(jù),而且將它置入幀的有效載荷部分中,添加IP報(bào)頭3A,由此生成IP幀。圖3示出了具有16比特報(bào)頭校驗(yàn)和的常規(guī)IP幀格式。IP幀然后被遞送到PPP層4而且置入PPP有效載荷部分中和打包到具有PPP報(bào)頭4A的PPP幀中。圖4示出了具有16比特幀校驗(yàn)順序(即具有16比特CRC校驗(yàn)的FCS)的常規(guī)PPP幀格式。PPP幀被遞送到較低層以傳遞到對(duì)等實(shí)體。例如,在第一代無(wú)線CDMA系統(tǒng)中該較低層是RLP層和IS2000/IS-95物理層。
從圖2和圖3可以看出IP報(bào)頭和TCP報(bào)頭均包括20個(gè)字節(jié)。如果啟用V-J報(bào)頭壓縮,則TCP/IP報(bào)頭的全部40個(gè)字節(jié)可以壓縮到約三個(gè)字節(jié)(一個(gè)字節(jié)的標(biāo)志比特,兩個(gè)字節(jié)的TCP校驗(yàn)和)至四個(gè)字節(jié)以便僅傳送幀之間的差異。
在無(wú)線環(huán)境中,數(shù)據(jù)傳送常??梢杂靡韵率纠苑绞竭M(jìn)行
幀編號(hào)1234567XXYZZZZ其中X指示接收的良好依次幀;Y指示由于RLP層數(shù)據(jù)丟失或者破壞而破壞的PPP幀;以及Z指示接收的非依次幀。
對(duì)于破壞的第3號(hào)Y幀,在該幀中的一些字節(jié)(或者比特)可能丟失或者更改,造成該幀通常無(wú)法通過(guò)PPP FEC校驗(yàn)。結(jié)果,此幀將在PPP層中丟棄。
在關(guān)閉V-J報(bào)頭壓縮后,Z幀(第4、5、6和7號(hào)幀)將具有良好的PPP層FCS、良好的IP報(bào)頭校驗(yàn)和以及TCP校驗(yàn)和。每當(dāng)它接收Z(yǔ)幀時(shí),TCP接收器就會(huì)將該幀存儲(chǔ)于緩沖器中。它也將TCP ACK包發(fā)送回到數(shù)據(jù)發(fā)送方以便通知發(fā)送方它已經(jīng)接收上至分組編號(hào)3的所有數(shù)據(jù)分組。例如,當(dāng)數(shù)據(jù)接收器接收四個(gè)Z幀比如第4、5、6和7號(hào)幀時(shí),它會(huì)將全都具有同一確認(rèn)分組編號(hào)2的四個(gè)TCP ACK幀發(fā)送回到數(shù)據(jù)發(fā)送方。當(dāng)數(shù)據(jù)發(fā)送方接收三個(gè)或者更多的確認(rèn)同一分組編號(hào)2的連續(xù)TCP ACK幀時(shí),它將立即知道第3號(hào)分組丟失。數(shù)據(jù)發(fā)送方然后將立即重發(fā)第3號(hào)數(shù)據(jù)分組而且僅重發(fā)第3號(hào)分組。當(dāng)數(shù)據(jù)接收器接收破壞的第3號(hào)幀時(shí),它發(fā)送TCP ACK以確認(rèn)上至第7號(hào)幀的所有數(shù)據(jù)。因而,所有Z幀都是有用的。這又稱(chēng)為如在RFC 2581中定義的TCP快速重發(fā)和快速恢復(fù)算法。幾乎所有TCP協(xié)議棧都實(shí)施有這一算法。
現(xiàn)在考慮開(kāi)啟(啟用)V-J報(bào)頭壓縮的情況,第4、5、6和7號(hào)幀仍將全都具有良好的PPP層幀校驗(yàn)和(FCS),而且被傳遞到IP層。在IP層中,由于用于一個(gè)TCP連接的所有分組具有相同的IP報(bào)頭信息,所以IP報(bào)頭可以被成功地恢復(fù),而IP報(bào)頭檢驗(yàn)也是正確的。結(jié)果,數(shù)據(jù)可以傳遞到TCP層。然而,由于第3號(hào)幀丟失,而且由于TCP層依賴于依次幀以便對(duì)TCP順序號(hào)進(jìn)行解碼,所以所有Z幀將表現(xiàn)不良的TCP層報(bào)頭,這造成錯(cuò)誤的TCP校驗(yàn)和。這些Z幀因此被立即丟棄。因而,雖然Z幀全都包含良好數(shù)據(jù),但是它們卻由于無(wú)法正確地恢復(fù)TCP報(bào)頭而被認(rèn)為是不良的,因此不予以使用。另外,沒(méi)有TCP ACK幀發(fā)送回到數(shù)據(jù)發(fā)送方,而且沒(méi)有觸發(fā)TCP快速重發(fā)和快速恢復(fù)算法。在這一情況下,要求數(shù)據(jù)發(fā)送方通過(guò)依賴于它的重發(fā)定時(shí)器到時(shí)來(lái)重發(fā)所有的第4、5、6和7號(hào)幀,這可能在發(fā)生重發(fā)之前造成顯著延遲。在這一延遲時(shí)段期間沒(méi)有傳輸數(shù)據(jù),造成了數(shù)據(jù)傳送吞吐量減少。
因此可以理解,當(dāng)TCP/IP分組由于開(kāi)啟了V-J報(bào)頭壓縮而丟失時(shí),結(jié)果指示了TCP校驗(yàn)和對(duì)于TCP窗分段的其余分段而言是不正確的。結(jié)果,TCP層2靜默地丟棄具有不正確校驗(yàn)和的分組,由此浪費(fèi)了網(wǎng)絡(luò)信道容量。由于信道帶寬保留在無(wú)線通信系統(tǒng)如現(xiàn)代蜂窩型通信系統(tǒng)中是重要的考慮,所以這一問(wèn)題對(duì)于用戶和網(wǎng)絡(luò)運(yùn)營(yíng)商而言均造成了許多缺點(diǎn)。
發(fā)明內(nèi)容
根據(jù)這些教導(dǎo)的當(dāng)前優(yōu)選實(shí)施例來(lái)解決上述和其它問(wèn)題而且實(shí)現(xiàn)其它優(yōu)點(diǎn)。
本發(fā)明提供了一種方法、一種設(shè)備如移動(dòng)臺(tái)和一種有形地實(shí)施機(jī)器可讀指令程序的信息承載介質(zhì),該指令可由數(shù)字處理裝置執(zhí)行用來(lái)進(jìn)行接收數(shù)據(jù)分組的操作。在這一情況下,該操作包括檢驗(yàn)所接收的數(shù)據(jù)分組的正確性;存儲(chǔ)被發(fā)現(xiàn)具有不正確TCP層報(bào)頭校驗(yàn)和的數(shù)據(jù)分組,而且用信號(hào)發(fā)送所接收的數(shù)據(jù)分組的源;以及響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的數(shù)據(jù)分組的另一實(shí)例的正確性,而且如果正確則使用從檢驗(yàn)所接收的數(shù)據(jù)分組的另一實(shí)例的報(bào)頭正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。所接收的數(shù)據(jù)分組的正確性優(yōu)選地通過(guò)使用PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。數(shù)據(jù)分組報(bào)頭優(yōu)選地通過(guò)使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
響應(yīng)于重新檢驗(yàn)至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性,該操作還包括將確認(rèn)發(fā)送到所接收的數(shù)據(jù)分組的源以檢驗(yàn)非依次地接收數(shù)據(jù)分組以便觸發(fā)數(shù)據(jù)發(fā)送方的快速重發(fā)和快速恢復(fù)算法。
在本發(fā)明的一個(gè)優(yōu)選的但不是限制性的實(shí)施例中,數(shù)字處理裝置形成移動(dòng)臺(tái)的一部分,而數(shù)據(jù)分組是通過(guò)無(wú)線信道接收的TCP/IP/PPP數(shù)據(jù)分組。
在結(jié)合附圖來(lái)閱讀時(shí),在以下優(yōu)先具體實(shí)施方式
的詳細(xì)描述中,這些教導(dǎo)的上述和其它方面變得更為清楚明顯,在附圖中圖1圖示了典型和常規(guī)的TCP/IP/PPP協(xié)議棧架構(gòu);圖2圖示了常規(guī)TCP幀格式;圖3圖示了常規(guī)IP幀格式;圖4圖示了常規(guī)PPP幀格式;圖5圖示了在有數(shù)據(jù)猝發(fā)錯(cuò)誤和啟用報(bào)頭壓縮時(shí)用于FTP上傳的常規(guī)TCP傳輸?shù)臄?shù)據(jù)傳送時(shí)間/順序曲線圖;圖6圖示了根據(jù)本發(fā)明在有數(shù)據(jù)脈沖錯(cuò)誤和啟用報(bào)頭壓縮時(shí)用于FTP上傳的TCP傳輸?shù)臄?shù)據(jù)傳送時(shí)間/順序曲線圖;圖7是包括適合于實(shí)踐本發(fā)明的移動(dòng)臺(tái)在內(nèi)的無(wú)線通信系統(tǒng)的簡(jiǎn)化框圖;以及圖8是對(duì)于形成圖7移動(dòng)臺(tái)之一部分的TCP/IP功能的操作進(jìn)行描繪的邏輯流圖。
具體實(shí)施例方式
通過(guò)引用將1990年2月的IETF RFC 1144“Compressing TCP/IPHeaders for Low-Speed Serial Links”(V-J報(bào)頭壓縮)之公開(kāi)結(jié)合于此。
作為介紹并且參照?qǐng)D7,示出了適合于實(shí)踐本發(fā)明的無(wú)線通信系統(tǒng)10的實(shí)施例的簡(jiǎn)化框圖。無(wú)線通信系統(tǒng)10包括至少一個(gè)移動(dòng)臺(tái)(MS)100。圖7也示出了示例性網(wǎng)絡(luò)運(yùn)營(yíng)商20,例如具有用于連接到電信網(wǎng)絡(luò)如公共分組數(shù)據(jù)網(wǎng)絡(luò)或者PDN的節(jié)點(diǎn)30;至少一個(gè)基站控制器(BSC)40或者等效裝置;以及多個(gè)收發(fā)器基站(BTS)50,又稱(chēng)為基站(BS),根據(jù)預(yù)定空口標(biāo)準(zhǔn)在前向或者下行鏈路方向上將物理和邏輯信道傳輸?shù)揭苿?dòng)臺(tái)100。反向或者上行鏈路通信路徑也存在于從移動(dòng)臺(tái)100到網(wǎng)絡(luò)運(yùn)營(yíng)商之間,該通信路徑運(yùn)送源自于移動(dòng)臺(tái)的接入請(qǐng)求和業(yè)務(wù)。小區(qū)與每個(gè)BTS 50相關(guān)聯(lián),其中一個(gè)小區(qū)將在任何給定時(shí)間都被視為服務(wù)小區(qū),而一個(gè)或多個(gè)相鄰小區(qū)將被視為鄰居小區(qū)。較小小區(qū)(例如微小區(qū))也是可用的。
空中接口標(biāo)準(zhǔn)可以遵循于任何適當(dāng)標(biāo)準(zhǔn)或者協(xié)議,而且可以實(shí)現(xiàn)語(yǔ)音業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)兩者,比如具有數(shù)據(jù)業(yè)務(wù)功能的因特網(wǎng)70接入和網(wǎng)頁(yè)下載。在本發(fā)明的當(dāng)前優(yōu)選實(shí)施例中,空中接口標(biāo)準(zhǔn)兼容于碼分多址(CDMA)空中接口標(biāo)準(zhǔn),比如已知為cdma2000的標(biāo)準(zhǔn),不過(guò)這并不是對(duì)本發(fā)明之實(shí)踐的限制。
移動(dòng)臺(tái)100通常包括控制單元或者控制邏輯,比如微控制單元(MCU)120,該MCU具有耦合到顯示器140的輸入的輸出和耦合到鍵盤(pán)或者小鍵盤(pán)160的輸出的輸入。移動(dòng)臺(tái)100可以是手持無(wú)線電話,比如蜂窩電話或者個(gè)人通信器。移動(dòng)臺(tái)100也可以包含于在使用中連接到另一設(shè)備的卡或者模塊之內(nèi)。例如,移動(dòng)臺(tái)10可以包含于PCMCIA或者相似類(lèi)型的卡或者模塊之內(nèi),該卡或者模塊在使用期間安裝于便攜數(shù)據(jù)處理器如膝上型計(jì)算機(jī)或者筆記本計(jì)算機(jī)或者甚至是可由用戶佩戴的計(jì)算機(jī)之內(nèi)。
假設(shè)MCU 120包括或者耦合到某一類(lèi)型的存儲(chǔ)器130,比如用于存儲(chǔ)操作程序和其它信息的非易失性存儲(chǔ)器以及用于暫時(shí)存儲(chǔ)所需數(shù)據(jù)、便箋式存儲(chǔ)器、接收的分組數(shù)據(jù)、待傳輸?shù)姆纸M數(shù)據(jù)等的易失性存儲(chǔ)器。存儲(chǔ)器130的一部分形成了用于對(duì)具有不正確TCP校驗(yàn)和的接收的分組進(jìn)行緩沖的分組緩沖器130A,這一點(diǎn)將在下面進(jìn)一步討論。假設(shè)該操作程序出于本發(fā)明的目的而使得MCU 120能夠執(zhí)行用以實(shí)施根據(jù)本發(fā)明的方法所需要的軟件例程、層和協(xié)議。例如,假設(shè)該操作程序可操作用于實(shí)施如圖1-4中指示的TCP、IP和PPP層和協(xié)議以及用于至少實(shí)施對(duì)接收的V-J報(bào)頭壓縮的分組進(jìn)行解壓縮的解壓縮算法。這樣,為方便起見(jiàn)而將MCU 120示出為包括TCP/IP功能120A和報(bào)頭壓縮和/解壓縮功能,比如V-J報(bào)頭功能塊120B。該操作程序也通常提供經(jīng)由顯示器140和小鍵盤(pán)160與用戶的適當(dāng)用戶接口(UI)。雖然未示出,但是通常提供麥克風(fēng)和揚(yáng)聲器以便使得用戶能夠以常規(guī)方式進(jìn)行語(yǔ)音呼叫。
一般來(lái)說(shuō),存儲(chǔ)器130的至少一部分可以被視為有形地實(shí)施機(jī)器可讀指令程序的信息承載介質(zhì),該指令可由數(shù)字處理裝置(在這一情況下是MCU 120)執(zhí)行用來(lái)根據(jù)本發(fā)明進(jìn)行接收數(shù)據(jù)分組的操作。
移動(dòng)臺(tái)100也包含無(wú)線部分,該無(wú)線部分包括數(shù)字信號(hào)處理器(DSP)180或者等效高速處理器或邏輯;以及無(wú)線收發(fā)器,包括發(fā)送器200和接收器220,二者均耦合到天線240以便與網(wǎng)絡(luò)運(yùn)營(yíng)商通信。提供至少一個(gè)本地振蕩器如頻率合成器(SYNTH)260以便調(diào)諧收發(fā)器。通過(guò)天線240發(fā)送和接收數(shù)據(jù),比如數(shù)字化的語(yǔ)音和分組數(shù)據(jù)。
根據(jù)本發(fā)明,每當(dāng)TCP/IP功能120A接收具有不正確TCP校驗(yàn)和的分組時(shí),TCP第2層將TCP ACK分組發(fā)送回到對(duì)等TCP以確認(rèn)當(dāng)前預(yù)期數(shù)據(jù)分組(RCV→NXT)。這就觸發(fā)對(duì)等TCP的快速重發(fā)機(jī)制。此外,取代了靜默地丟棄那些具有不正確校驗(yàn)和的分組,TCP/IP功能120A將那些具有不正確TCP校驗(yàn)和的分組存儲(chǔ)于數(shù)據(jù)緩沖器130A中。隨后,當(dāng)TCP/IP功能120A接收預(yù)期的正確分組(RCV→NXT)時(shí),TCP/IP功能120A使用當(dāng)前接收指針來(lái)檢驗(yàn)在分組緩沖器130A中緩沖的一個(gè)或多個(gè)分組的報(bào)頭校驗(yàn)和。如果緩沖的TCP/IP分組的校驗(yàn)和是正確的,則TCP/IP功能120A則以與正確接收的TCP/IP分組一樣的正常方式來(lái)使用這些分組。它也將ACK包發(fā)送回到發(fā)送方以確認(rèn)所有當(dāng)前接收的正確數(shù)據(jù)以便于從錯(cuò)誤狀況中快速恢復(fù)。
如下所示為示例性和非限制性的偽代碼實(shí)施,該實(shí)施與V-J報(bào)頭功能120B和分組緩沖器130相結(jié)合地描述了TCP/IP功能120A的操作(同時(shí)對(duì)圖8的邏輯流圖進(jìn)行參照,而且注意本發(fā)明的實(shí)施只需修改TCP數(shù)據(jù)接收部分)DO{
IF(V-J報(bào)頭壓縮開(kāi)啟)AND(TCP校驗(yàn)和對(duì)于這一分組而言是不正確的){TCP功能120A將ACK分組立即發(fā)送到發(fā)送方,其中將ACK_SEQ設(shè)置為當(dāng)前正確接收的指針RCV→NXT;TCP/IP功能120A將具有正確校驗(yàn)和的分組緩沖于分組緩沖器130A中。
}}WHILE(每個(gè)后續(xù)接收的分組具有不正確的TCP校驗(yàn)和)IF(接收正確的TCP分組(RCV→NXT)(*備注){修改RCV→NXT。使用當(dāng)前RCV→NXT指針對(duì)緩沖的第一分組的TCP順序號(hào)進(jìn)行更新,然后重新計(jì)算緩沖的TCP分組的TCP校驗(yàn)和。
IF(在重新計(jì)算之后正確地對(duì)緩沖的分組TCP校驗(yàn)和進(jìn)行了解碼)使用所解碼的分組作為正確TCP/IP分組,更新RCV→NXT指針,使用所更新的RCV→NXT指針對(duì)緩沖的TCP/IP分組中的其余分組進(jìn)行解碼。
}TCP/IP功能120A將TCP ACK分組發(fā)送回到對(duì)等TCP以通知當(dāng)前RCV→NXT指針的值。丟棄緩沖分組中的其余分組并清除緩沖器。
備注由于TCP是面向連接的可靠數(shù)據(jù)傳送協(xié)議,所以應(yīng)當(dāng)最終接收預(yù)期RCV→NXT,否則應(yīng)當(dāng)放棄數(shù)據(jù)/文件傳送。
圖5圖示了在有一些數(shù)據(jù)猝發(fā)錯(cuò)誤和啟用報(bào)頭壓縮時(shí)用于FTP上傳的常規(guī)TCP傳輸?shù)臄?shù)據(jù)傳送時(shí)間/順序曲線圖。X軸以秒代表時(shí)間,而Y軸代表以字節(jié)表示的相對(duì)TCP順序號(hào)。中心實(shí)線代表在傳送的實(shí)際數(shù)據(jù),而上方細(xì)線是與一些具體時(shí)間對(duì)應(yīng)的TCP廣告窗限。下方細(xì)線是接收的TCP ACK的瞬間。數(shù)據(jù)猝發(fā)錯(cuò)誤在X軸上出現(xiàn)于約5秒、16秒、21秒、31秒和41秒處??梢钥闯觯慨?dāng)出現(xiàn)錯(cuò)誤時(shí),TCP須重發(fā)在發(fā)生錯(cuò)誤之后已經(jīng)傳輸?shù)乃袛?shù)據(jù)分組。這一現(xiàn)有技術(shù)圖可以與圖6進(jìn)行對(duì)照,圖6圖示了在有數(shù)據(jù)觸發(fā)錯(cuò)誤和啟用報(bào)頭壓縮時(shí)根據(jù)本發(fā)明用于FTP上傳(到MS100)的TCP傳輸?shù)臄?shù)據(jù)傳送時(shí)間/順序曲線圖。注意本發(fā)明的益處在關(guān)閉報(bào)頭壓縮時(shí)也仍然可以獲得。數(shù)據(jù)脈沖錯(cuò)誤在X軸上出現(xiàn)于約1.8秒、10秒、11秒、12秒、14秒、17秒、30秒和31秒處。在這一情況下可以觀察到,每當(dāng)出現(xiàn)錯(cuò)誤時(shí),TCP只需重發(fā)丟失的數(shù)據(jù)分組。這就獲得了減少頗多的傳送時(shí)間和高得多的吞吐量。因此可以發(fā)現(xiàn)通過(guò)運(yùn)用本發(fā)明實(shí)質(zhì)地改進(jìn)了數(shù)據(jù)吞吐量。
上述過(guò)程使得TCP快速重發(fā)/恢復(fù)過(guò)程能夠在開(kāi)啟V-J報(bào)頭壓縮時(shí)進(jìn)行操作。上述過(guò)程也在CDMA無(wú)線的和其它內(nèi)在不可靠的數(shù)據(jù)傳輸環(huán)境中(例如在如下數(shù)據(jù)傳輸環(huán)境中,該環(huán)境利用了受到突發(fā)和沖激噪聲以及其它信道破壞之影響的傳輸信道)改進(jìn)了數(shù)據(jù)吞吐量。
盡管在執(zhí)行上述過(guò)程期間TCP/IP功能120A將趨于比正常發(fā)送更多的TCP ACK分組,但是由于大多數(shù)的數(shù)據(jù)傳送通常是單向的(例如在MS 100進(jìn)行下載或者上傳的任何給定時(shí)間),所以這對(duì)于使用較為不忙的信道(例如在下載分組到下行鏈路信道上的MS 100時(shí)的上行鏈路信道)來(lái)將額外TCP ACK分組發(fā)送回到對(duì)等TCP的整體業(yè)務(wù)量不會(huì)造成嚴(yán)重影響。此外,如果正在進(jìn)行同時(shí)傳送,則TCP/IP功能120A可以將ACK消息捎帶面(piggy)到另一消息上。
以上描述已經(jīng)通過(guò)示例性和非限制性的例子提供了對(duì)于發(fā)明人當(dāng)前構(gòu)思用來(lái)實(shí)現(xiàn)本發(fā)明的最佳方法和裝置的完全和啟發(fā)性描述。然而,根據(jù)結(jié)合附圖和所附權(quán)利要求來(lái)閱讀的以上描述,各種改型和變化對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)可以變得顯然。僅作為一些例子,上述發(fā)明可以使用于利用了比如但不限于瀏覽器、JavaTM和網(wǎng)絡(luò)層高速數(shù)據(jù)(HSD)應(yīng)用這樣的套接服務(wù)器代碼的任一類(lèi)設(shè)備或者產(chǎn)品中。而且,本領(lǐng)域技術(shù)人員可以嘗試使用類(lèi)似的或等效的算法,報(bào)頭壓縮技術(shù)和網(wǎng)絡(luò)協(xié)議。另外,盡管上面主要在移動(dòng)臺(tái)的背景中進(jìn)行描述,但是應(yīng)當(dāng)理解,使用固網(wǎng)以及其它無(wú)線和有線基礎(chǔ)結(jié)構(gòu)的裝備和設(shè)備也可以將本發(fā)明的教導(dǎo)付諸實(shí)踐,而且這些教導(dǎo)廣義地適用于通過(guò)受到信道破壞之影響的信道來(lái)接收數(shù)據(jù)分組的任何設(shè)備。然而,本發(fā)明教導(dǎo)的所有這些和類(lèi)似改型都仍將落入本發(fā)明的范圍之內(nèi)。
而且,本發(fā)明的一些特征在沒(méi)有其它特征的對(duì)應(yīng)運(yùn)用時(shí)仍然可以加以運(yùn)用而不失其優(yōu)點(diǎn)。于是,以上描述應(yīng)當(dāng)被視為僅對(duì)本發(fā)明的原理進(jìn)行說(shuō)明而不對(duì)本發(fā)明進(jìn)行限制。
權(quán)利要求
1.一種信息承載介質(zhì),有形地實(shí)施機(jī)器可讀指令的程序,所述指令可由數(shù)字處理裝置執(zhí)行用來(lái)進(jìn)行接收數(shù)據(jù)分組的操作,所述操作包括檢驗(yàn)所接收的數(shù)據(jù)分組的正確性;存儲(chǔ)被發(fā)現(xiàn)具有不正確TCP層校驗(yàn)和的數(shù)據(jù)分組,而且用信號(hào)發(fā)送所述接收數(shù)據(jù)分組的源;以及響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例正確性,而且如果正確則使用從檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例的報(bào)頭正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。
2.如權(quán)利要求1所述的信息承載介質(zhì),其中所述接收數(shù)據(jù)分組的正確性通過(guò)PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。
3.如權(quán)利要求1所述的信息承載介質(zhì),其中所述報(bào)頭的正確性通過(guò)獲得TCP層校驗(yàn)和來(lái)檢驗(yàn)。
4.如權(quán)利要求1所述的信息承載介質(zhì),其中數(shù)據(jù)分組報(bào)頭被壓縮。
5.如權(quán)利要求1所述的信息承載介質(zhì),其中數(shù)據(jù)分組報(bào)頭使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
6.如權(quán)利要求1所述的信息承載介質(zhì),還包括響應(yīng)于重新檢驗(yàn)至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性,將確認(rèn)發(fā)送到所述接收數(shù)據(jù)分組的所述源,以檢驗(yàn)包括所述先前存儲(chǔ)數(shù)據(jù)分組在內(nèi)的所述數(shù)據(jù)分組被正確地接收。
7.如權(quán)利要求1所述的信息承載介質(zhì),其中所述數(shù)字處理裝置形成移動(dòng)臺(tái)的一部分,以及其中所述數(shù)據(jù)分組是通過(guò)無(wú)線信道接收的TCP/IP/PPP數(shù)據(jù)分組。
8.一種用以接收數(shù)據(jù)分組的方法,包括檢驗(yàn)所接收的數(shù)據(jù)分組的正確性;存儲(chǔ)被發(fā)現(xiàn)具有不正確TCP層校驗(yàn)和的數(shù)據(jù)分組,而且用信號(hào)發(fā)送所述接收數(shù)據(jù)分組的源;以及響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例正確性,而且如果正確則使用從檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例的報(bào)頭正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。
9.如權(quán)利要求8所述的方法,其中所述接收數(shù)據(jù)分組的正確性通過(guò)PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。
10.如權(quán)利要求8所述的方法,其中所述報(bào)頭的正確性通過(guò)獲得TCP層校驗(yàn)和來(lái)檢驗(yàn)。
11.如權(quán)利要求8所述的方法,其中所述數(shù)據(jù)分組報(bào)頭被壓縮。
12.如權(quán)利要求8所述的方法,其中所述數(shù)據(jù)分組報(bào)頭使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
13.如權(quán)利要求8所述的方法,還包括響應(yīng)于重新檢驗(yàn)至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性,將確認(rèn)發(fā)送到所述接收數(shù)據(jù)分組的所述源以檢驗(yàn)包括所述先前存儲(chǔ)數(shù)據(jù)分組在內(nèi)的所述數(shù)據(jù)分組被正確地接收。
14.如權(quán)利要求8所述的方法,其中所述方法由形成移動(dòng)臺(tái)一部分的數(shù)字處理裝置執(zhí)行,以及其中所述數(shù)據(jù)分組是通過(guò)無(wú)線信道接收的TCP/IP/PPP數(shù)據(jù)分組。
15.一種設(shè)備,包括用以通過(guò)信道接收數(shù)據(jù)分組的接口,還包括協(xié)作用以執(zhí)行如下操作的數(shù)據(jù)處理器和存儲(chǔ)器檢驗(yàn)所接收的數(shù)據(jù)分組的正確性;存儲(chǔ)被發(fā)現(xiàn)不正確的數(shù)據(jù)分組,而且用信號(hào)發(fā)送所述接收數(shù)據(jù)分組的源;以及響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例的正確性,而且如果正確則使用從檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例的報(bào)頭的正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。
16.如權(quán)利要求15所述的設(shè)備,其中所述接收數(shù)據(jù)分組的正確性通過(guò)使用PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。
17.如權(quán)利要求15所述的設(shè)備,其中所述報(bào)頭的正確性通過(guò)獲得TCP層校驗(yàn)和來(lái)檢驗(yàn)。
18.如權(quán)利要求15所述的設(shè)備,其中所述數(shù)據(jù)分組報(bào)頭被壓縮。
19.如權(quán)利要求15所述的設(shè)備,其中所述數(shù)據(jù)分組報(bào)頭使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
20.如權(quán)利要求15所述的設(shè)備,還包括響應(yīng)于重新檢驗(yàn)至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性,將確認(rèn)發(fā)送到所述接收數(shù)據(jù)分組的所述源以檢驗(yàn)包括所述先前存儲(chǔ)數(shù)據(jù)分組在內(nèi)的所述數(shù)據(jù)分組被正確地接收。
21.如權(quán)利要求15所述的設(shè)備,其中所述設(shè)備包括移動(dòng)臺(tái),以及其中所述數(shù)據(jù)分組是通過(guò)無(wú)線信道接收的TCP/IP/PPP數(shù)據(jù)分組。
22.一種裝置,包括用于通過(guò)信道接收數(shù)據(jù)分組的裝置;用于檢驗(yàn)所接收的數(shù)據(jù)分組的正確性的裝置;用于存儲(chǔ)被發(fā)現(xiàn)不正確的數(shù)據(jù)分組的裝置;以及用于用信號(hào)發(fā)送所述接收數(shù)據(jù)分組的源的裝置,所述檢驗(yàn)裝置用于響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例正確性,而且如果正確則使用從檢驗(yàn)所接收的所述數(shù)據(jù)分組的另一實(shí)例的報(bào)頭的正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。
23.如權(quán)利要求22所述的裝置,其中所述接收數(shù)據(jù)分組的正確性通過(guò)使用PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。
24.如權(quán)利要求22所述的裝置,其中所述報(bào)頭的正確性通過(guò)獲得TCP層校驗(yàn)和來(lái)檢驗(yàn)。
25.如權(quán)利要求22所述的裝置,其中數(shù)據(jù)分組報(bào)頭被壓縮。
26.如權(quán)利要求22所述的裝置,其中數(shù)據(jù)分組報(bào)頭使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
27.如權(quán)利要求22所述的裝置,還包括用于執(zhí)行如下操作的裝置響應(yīng)于對(duì)至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性的重新檢驗(yàn),將確認(rèn)發(fā)送到所述接收數(shù)據(jù)分組的所述源以檢驗(yàn)包括被發(fā)現(xiàn)不正確的所述至少一個(gè)存儲(chǔ)數(shù)據(jù)分組在內(nèi)的數(shù)據(jù)分組被正確地接收。
28.如權(quán)利要求22所述的裝置,實(shí)施為移動(dòng)臺(tái),其中數(shù)據(jù)分組包括通過(guò)無(wú)線信道接收的TCP/IP/PPP數(shù)據(jù)分組。
全文摘要
公開(kāi)了一種方法、一種設(shè)備如移動(dòng)臺(tái)和一種有形地實(shí)施機(jī)器可讀指令程序的信息承載介質(zhì),該指令可由數(shù)字處理裝置執(zhí)行用來(lái)進(jìn)行接收數(shù)據(jù)分組的操作。在這一情況下,該操作包括檢驗(yàn)所接收的數(shù)據(jù)分組的正確性;存儲(chǔ)被發(fā)現(xiàn)具有不正確TCP層報(bào)頭校驗(yàn)和的數(shù)據(jù)分組,而且用信號(hào)發(fā)送所接收的數(shù)據(jù)分組的源;以及響應(yīng)于接收先前接收的不正確數(shù)據(jù)分組的另一實(shí)例,檢驗(yàn)所接收的數(shù)據(jù)分組的另一實(shí)例的正確性,而且如果正確則使用從檢驗(yàn)所接收的數(shù)據(jù)分組的另一實(shí)例的報(bào)頭的正確性中獲得的信息來(lái)重新檢驗(yàn)先前被發(fā)現(xiàn)不正確的至少一個(gè)存儲(chǔ)數(shù)據(jù)分組的正確性。所接收的數(shù)據(jù)分組的正確性優(yōu)選地通過(guò)使用PPP層FCS校驗(yàn)和、IP層報(bào)頭校驗(yàn)和以及TCP層校驗(yàn)和來(lái)檢驗(yàn)。數(shù)據(jù)分組報(bào)頭優(yōu)選地通過(guò)使用V-J報(bào)頭壓縮技術(shù)來(lái)壓縮。
文檔編號(hào)H04L29/06GK1961520SQ200580017598
公開(kāi)日2007年5月9日 申請(qǐng)日期2005年3月31日 優(yōu)先權(quán)日2004年4月5日
發(fā)明者楊鳳鳴, 賀濤 申請(qǐng)人:諾基亞公司