專利名稱:在執(zhí)行tcp/ip的通信系統(tǒng)中動態(tài)調(diào)整重傳輸和否定應(yīng)答數(shù)目的方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及通信系統(tǒng)領(lǐng)域,具體地說,涉及動態(tài)調(diào)整每一個否定應(yīng)答(NAK)發(fā)射出的重發(fā)射數(shù)目和每一個無線鏈路協(xié)議(RLP)錯誤發(fā)射出的NAK數(shù)目的方法。
TCP/IP協(xié)議為兩層協(xié)議。較高層協(xié)議TCP將消息或者文件裝配成較小的分組,該分組被通過因特網(wǎng)傳輸,并且被將該分組重新裝配成原始消息的TCP層接收。較低層IP處理每一個分組的地址部分,使得分組被路由到正確的目的地。在網(wǎng)絡(luò)上的網(wǎng)關(guān)計算機檢查該地址以確定將所述消息發(fā)往何處。即使來自相同消息的一些分組于其它的分組路由不同,他們都在相同的目的地被重新裝配。
在TCP/IP中,在接收到通常以確認(ACK)的形式進行確認之前,限制了可以傳輸?shù)淖止?jié)數(shù)。這種限制通常被稱為當前發(fā)送窗口(snd_wnd),并且在TCP會話期間經(jīng)常被更新。將當前snd_wnd計算作為最小的發(fā)送方擁塞窗口(cwnd)和接收方廣告窗口(rcvwnd)(advertised window)。發(fā)送方cwnd為發(fā)送方的一種嘗試,其根據(jù)以往的經(jīng)驗估計它可以發(fā)送而又不造成網(wǎng)絡(luò)擁塞的數(shù)據(jù)量。在開始TCP會話處,發(fā)送方cwnd開始時很低,隨著發(fā)送方了解到可以使用多少帶寬,其逐漸地增加cwnd。rcvwnd依賴于存儲量和接收方的處理能力,通常為64k字節(jié)(TCP允許的最大數(shù))。然而,rcvwnd可以更加地小。通常在連接期間,rcvwnd值是固定的,并且當沒有擁塞或者限制發(fā)送方cwnd的分組丟失時,rcvwnd對最大的發(fā)送窗口(max_snd_wnd)給出了一個上限值。當前的snd_wnd值在達到通常等于rcvwnd的max_snd_wnd值之前一直增加。例如,在運行Windows的個人計算機(PC)中的rcvwnd為64k字節(jié)。然而,在一些TCP/IP的實現(xiàn)中,如Sun Solaris 2.6/2.7中,rcvwnd可以為8k字節(jié)。在64k字節(jié)的情況下,如果前面發(fā)送的64k字節(jié)沒有沒有被其正在與之通信的TCP/IP實例(instance)確認,則TCP/IP不能越過這些64k字節(jié)發(fā)送單個k字節(jié)。(TCP/IP的一些實例為網(wǎng)頁服務(wù)器、電子郵件服務(wù)器、和PC)。換言之,一旦達到64k字節(jié)的限制,TCP/IP變?yōu)橥V?和-等待協(xié)議,其顯著地降低吞吐量。
參見
圖1,服務(wù)器或者其它主機102將64k字節(jié)幀傳輸?shù)揭苿优_(MS)104,所述幀例如由1.5k字節(jié)的分組組成。如圖所示,在將分組從服務(wù)器102傳輸?shù)組S104期間引入了延遲。在此系統(tǒng)中,傳輸速度(鏈路速度)是低的,并且延遲很長。MS104接收在第一幀中的第一個1.5k字節(jié),并且將TCP/IP ACK發(fā)送回服務(wù)器102,同時,在相同的分組中的其它分組仍然被傳輸。由于在整個64k字節(jié)被發(fā)送之前服務(wù)器102接收ACK,在服務(wù)器102中的TCP/IP不必停止傳輸分組,吞吐量不會降低。(參見圖1中的粗線)。
圖2說明在傳輸速度高、傳輸延遲低的系統(tǒng)中的傳輸在64k字節(jié)幀的1.5k字節(jié)分組。在這種情況下,與圖1所示一樣,MS104接收第一個1.5k字節(jié)分組,并且將TCP/IP ACK發(fā)送回服務(wù)器102,同時,在相同的分組中的其它分組仍然被傳輸。同樣,由于在發(fā)送整個64k字節(jié)之前,服務(wù)器102接收ACK,在服務(wù)器102中的TCP/IP不必停止傳輸分組,不降低吞吐量。(參見圖2中的粗線)
圖3說明在傳輸速度高、傳輸延遲長的系統(tǒng)中的傳輸在64k字節(jié)幀的1.5k字節(jié)分組。在這種情況下,服務(wù)器102將整個第一64k字節(jié)幀發(fā)送到MS104,而沒有為任何一個1.5k字節(jié)分組接收TCP/IP ACK。在這種情況下,服務(wù)器102中的TCP/IP不能在下載中開始發(fā)送在第二組64k字節(jié)中的任何分組。實際上,TCP/IP變?yōu)橥V?和-等待協(xié)議,其顯著地降低吞吐量。
下一代CDMA系統(tǒng),諸如CDMA2000獲得比當前的CDMA系統(tǒng)更高的鏈路速度,并且降低了可以容忍的最大延遲。在300Kbps、64K字節(jié)最大TCP窗口(TCP window)的情況下,可以容忍的最大延遲為2.7秒。如果在下一代CDMA系統(tǒng)中使用當前的RLP方法,許多呼叫中的延遲極有可能超過2.7秒,因為在更高數(shù)據(jù)速率中,在更短的時間內(nèi)就耗盡完TCP窗口。在CDMA2000中,數(shù)據(jù)呼叫使用RLP來糾正無線鏈路中的錯誤。RLP試圖根據(jù)在TIA/EIA/IS-707-A-2(IS-707-A-2)中規(guī)定的方法來糾正無線錯誤(radio error)??梢酝ㄟ^www.tiaoline.org的網(wǎng)站,或者通過向位于美國華盛頓D.C.20002的賓夕法尼亞街道1300,350號的電信工業(yè)協(xié)會寫信獲得IS-707-A-2的一份副本。根據(jù)IS-707-A-2,RLP試圖如下糾正錯誤在新的幀被通過用于第一時間的無線鏈路傳輸之前考慮它。如果該幀被無線鏈路“擦除”,對于Y輪(round),RLP接收實例(在接收設(shè)備中的RLP)將S(Y)個NAK發(fā)送到請求S(Y)份復制幀的請求方。也就是,在第一輪,RLP將S(1)個NAK發(fā)送到請求傳輸S(1)份復制幀的源。如果沒有復制幀(重傳輸)到達,在第二輪,RLP將S(2)個NAK發(fā)送到請求S(2)份更多的復制幀的源。NAK S(1)和S(2)的數(shù)量由RLP在開始RLP會話時協(xié)商。這個過程持續(xù)Y輪。如果所有的輪次均不成功,RLP退出(放棄),并且分組作為其部分的幀被破壞(corrupt),并且必須由TCP/IP重新傳輸。如果在一行(row)中的兩個或多個TCP/IP分組包含至少一個RLP段或幀,其中每一個均不被成功重新傳輸且導致退出,則TCP/IP極可能超時。當TCP/IP超時時,通常,其需要2到3秒來重發(fā)送已破壞的分組。這是很顯著的延遲,因此應(yīng)當使退出的數(shù)量最小。
隨著幀錯率(FER)增加,RLP退出的概率增加。由RLP引起重傳輸?shù)拈_銷總數(shù)由方程F*S(1)粗略地表示,式中F是由幀可見的FER,且正如前面所述,S(Y)代表為輪次Y發(fā)送的NAK數(shù)。換言之,F(xiàn)*S(1)是對重傳輸?shù)钠骄鶖?shù)的好的近似,所述重傳輸為必須為發(fā)送的每一個新的RLP幀發(fā)送的。因此,RLP的吞吐量大約為1/(1+F*S(1)),因為對于發(fā)送的每一個新幀(分子),必須要發(fā)送的幀總數(shù)為1+F*S(1)(分母)。例如,如果所S(Y)從1增加到3,并且F=10%,RLP吞吐量從91%降低到77%(1/(1+(.10*1)=.91至1/(1+(.30*1)=0.77)。然而,如果S(1)=3而不是S(1)=1,平均RLP有序延遲顯著地降低,因為被擦掉原始傳輸?shù)腞LP幀最有可能在它的第一輪重傳輸中被成功地重新傳輸。(如果發(fā)送三次重傳輸,比之僅有一次重傳輸,極有可能至少有一次成功。)這使得在第一輪重傳輸中發(fā)送的幀的延遲小于在第二輪重傳輸中發(fā)送的幀的延遲。
由John Harris和Manish Airy撰寫的文章介紹了一種方法,其表明在上面介紹的情況下,平均有序延遲大約為33%(從大約220毫秒到145毫秒)。該文章題為“Analytical Model for Radio Link Protocol”,出版在IEEE Vehicular Technology Conference Proceedings in Spring2000(VTC 2000-Spring Tokyo.2000 IEEE 51st,Volume3,2000 Page’s2434-2438 vol.3)中。從這種情況可以看出,通過在RLP的每一輪中協(xié)商更多的NAK,可以減少RLP延遲,并且可以減少變?yōu)橥V?和-等待協(xié)議的TCP/IP的出現(xiàn)。然而,如在前面所述,增加每一輪的NAK數(shù)可引起RLP吞吐量的減少。如圖1所示,當傳輸速度低時,沒有TCP/IP停止-和-等待問題,因此不需要不必要地減少RLP吞吐量。
退出也導致在RLP發(fā)送方實例中減少RLP吞吐量(在發(fā)送方設(shè)備中的RLP)。當從發(fā)送方設(shè)備將數(shù)據(jù)幀傳輸?shù)浇邮辗皆O(shè)備時,在發(fā)送方的重傳輸緩沖區(qū)中存儲該幀的副本。如果在接收設(shè)備沒有接收到該幀,RLP接收實例將NAK X(X代表擦除幀的序列碼)發(fā)送給發(fā)送方。RLP發(fā)送方接收請求重傳幀X的NAK X,并且試圖從所述重傳緩沖區(qū)重新得到幀X的副本。重傳緩沖區(qū)具有有限的固定的大小。例如,考慮重傳緩沖區(qū)保持恰好D個RLP幀的情況,其中D=256。當發(fā)送了第257 RLP幀時,發(fā)送方的重傳緩沖區(qū)是滿的,并且第一(最老的)RLP幀被從重傳緩沖區(qū)中刪除以為第257個RLP幀留出空間。如果RLP發(fā)送方實例為重新傳輸已經(jīng)被從RLP重傳緩沖區(qū)中刪除的RLP幀而接收NAK,RLP發(fā)送方實例不能通過重傳輸RLP幀來滿足NAK。當發(fā)生這種情況時,出現(xiàn)丟失RLP。例如,通常當在幀Y之后接收到用于重傳幀X的NAK,并且(Y-X)大于D時,出現(xiàn)RLP丟失。丟失的RLP幀由RLP退出(也就是,RLP在該幀上放棄,把錯誤留給應(yīng)用程序或者更高層傳輸協(xié)議潛在地重新傳輸)。對于終端用戶來說,這引起額外的延遲和較差的服務(wù)質(zhì)量。如前所述,減少RLP的延遲就減少了RLP丟失的概率。這是因為,RLP丟失傾向于在如下情況時發(fā)生當在其原始傳輸后必須重新傳輸一幀一長時間時,例如在試圖重新傳輸許多輪后。如果在較早的輪次中成功地進行了重新傳輸,將減少RLP丟失的問題。能夠降低如前所述的RLP延遲,但是這增加了由于吞吐量的降低而導致的費用。因此,如果出現(xiàn)RLP丟失問題,應(yīng)當出現(xiàn)延遲。
可以在發(fā)送方和接收方檢測到RLP丟失。在RLP發(fā)送方,當RLP接收方接收由于如前所述已被刪除而不能滿意的NAK時,可以檢測到RLP丟失。在接收方,更加難以檢測已經(jīng)發(fā)生了RLP丟失。然而,例如,如果RLP協(xié)商一種1,1,1,1方案,可以跟蹤在每一輪中的成功的RLP NAK的百分比(導致重新傳輸)。例如,如果在第一個4輪中的95%的NAK是成功的,但是在第5輪中的0%NAK是成功的,在第5輪中出現(xiàn)NAK丟失問題。此外,如果足夠小的NAK的百分比為最后的(1ast)輪次NAK,則NAK丟失問題不顯著。而且,為了查明發(fā)送方的重傳緩沖區(qū)深度,通過搶先發(fā)送用于不需要重新傳輸?shù)膸腘AK,RLP接收方可以查明現(xiàn)存的NAK丟失問題。
因此,需要一種裝置和方法,用于當在進入RLP接收方的鏈路速度高的情況中檢測到RLP錯誤時,當發(fā)送方的TCP窗口到達最大時,或者當不能完成的重新傳輸NAK的百分比到達閾值時,動態(tài)地調(diào)整由RLP接收實例發(fā)送的NAK數(shù)。也需要一種裝置和方法,用于當在超出RLP發(fā)送方的鏈路速度高的情況下接收到NAK時,當發(fā)送方的TCP窗口到達最大時,或者當不能完成的重新傳輸?shù)腘AK的百分比到達一個閾值時,動態(tài)地調(diào)整由RLP發(fā)送方實例發(fā)送的重新傳輸數(shù)。
圖2為說明在位于具有高傳輸速度和低延遲的系統(tǒng)中的服務(wù)器和移動臺之間如何傳輸信息的流程圖。
圖3為說明在位于具有高傳輸速度和長延遲的系統(tǒng)中的服務(wù)器和移動臺之間如何傳輸信息的流程圖。
圖4為可以用來實現(xiàn)本發(fā)明的已知系統(tǒng)的第一實施例的方框圖。
圖5為可以用來實現(xiàn)本發(fā)明的已知系統(tǒng)的第二實施例的方框圖。
圖6為本發(fā)明的方法的第一方面的優(yōu)選實施例的流程框圖。
圖7為本發(fā)明的方法的第二方面的優(yōu)選實施例的流程框圖。
圖4為可以用來實現(xiàn)本發(fā)明的各方面的已知系統(tǒng)的第一實施例的方框圖。在系統(tǒng)400中,經(jīng)MS 416將信息從因特網(wǎng)404下載到PC 418。也可以將信息從PC 418上載到服務(wù)器402。該系統(tǒng)包括與因特網(wǎng)404通信的服務(wù)器402。因特網(wǎng)404與分組數(shù)據(jù)業(yè)務(wù)點(PDSN)406進行通信以維持移動臺到因特網(wǎng)的連接。PDSN 406連接到包括基站控制器410和選擇分布單元(SDU)412的基系統(tǒng)(BSC)408。BSC 410實現(xiàn)為空中接口(RF鏈路)415的固定方的發(fā)信令和控制。SDU 410為空中接口415的上行鏈路部分選擇最好的已接收的無線幀,并且為空中接口415的下行鏈路部分將該無線幀發(fā)布到收發(fā)基站(BTS)414。BTS 414為空中接口415執(zhí)行標準的無線收發(fā)器功能,諸如編碼和調(diào)制。BTS 414與MS 416進行無線通信。MS 416連接到PC 418。
參見圖5,其示出可以用來實現(xiàn)本發(fā)明的各方面的已知系統(tǒng)500的第一實施例的方框圖。除了在圖5中,將PC的功能結(jié)合到MS中,如MS/PC 502方框表示之外,圖5的系統(tǒng)與圖4的系統(tǒng)相似。在MS/PC 502中,RLP(其在MS中運行)已經(jīng)訪問TCP/IP信息。(TCP/IP在MS中運行)如前所述,TCP/IP具有相關(guān)實現(xiàn)(implementationdependent)的最大的窗口。該窗口被稱為max_snd_wnd,并且單位為K字節(jié)。通常,max_snd_wnd為64K字節(jié)。然而,在一些TCP/IP應(yīng)用程序/設(shè)備中,最大窗口可以是8K字節(jié)。另一個參數(shù)snd_wnd代表發(fā)送方的窗口的當前值。MS/PC 402具有一個snd_wnd,以用于將信息上載到服務(wù)器402。當TCP/IP已經(jīng)傳輸64K字節(jié)(max_snd_wnd),并且其正與之通信的TCP/IP實例沒有確認這些字節(jié)時,TCP/IP變成具有顯著降低的吞吐量的停止-和-等待協(xié)議。總之,當因特網(wǎng)404來回一次時間(RTT)(秒)和鏈路速度(L)(K比特/秒)為L*RTT/8接近等max_snd_wnd時,接近64K字節(jié)的限制值。作為一個例子,當max_snd_wnd為64K字節(jié)時,L為150K比特/秒,RTT為3秒150*3/8=56.25<64時,接近限制值。
在CDMA系統(tǒng)中,由于有很多的延遲器件,可以很容易地到達3秒RTT延遲。假設(shè)有150K比特/秒的鏈路速度,在圖5的系統(tǒng)中的各個點均可引入在發(fā)送信息幀中延遲。在將幀下載到MS/PC 502的情況下,可發(fā)生第一因特網(wǎng)404的大約250到1000毫秒延遲。該延遲代表幀在服務(wù)器402和PDSN 406之間傳輸所需要的時間。當BS 408獲得許可通過輔助信道(未示出)將幀傳輸?shù)紹TS 414時,在BS 408處可發(fā)生大約300毫秒的時間延遲。需要來傳輸分組的時間(1500字節(jié)/80毫秒)引起延遲。如果MS/PC 502沒有接收到該幀,將發(fā)生RLP延遲。RLP延遲代表發(fā)射該幀所需的總時間。MS/PC 502可引起在產(chǎn)生TCP/IP ACK中的延遲。在當前的例子中,假定沒有延遲。TCP/IP ACK的傳輸時間也引起延遲,每一次重傳輸大約延遲20毫秒。由于TCP/IPACK必須通過因特網(wǎng)404到達服務(wù)器402,可出現(xiàn)大約250到1000毫秒的另一個因特網(wǎng)延遲。
在類似于圖5的系統(tǒng)中,其中組合了MS和PC的功能,本發(fā)明的方法利用訪問TCP/IP的參數(shù)snd_wnd和max_snd_wnd。該方法當TCP/IP接近停止-和-等待時減少了為成功地發(fā)送而要求大量的輪次的幀的概率,所述停止-和-等待由參數(shù)snd_wnd對max_snd_wnd的參數(shù)的近似所指示。減少要求大量輪次的幀的概率增加了重傳輸量,這又降低了RLP吞吐量。然而,來回一次時間(RTT)的減少增加了TCP吞吐量。
現(xiàn)在給出本發(fā)明的第一方面的詳細介紹。在圖4和5的系統(tǒng)中,在MS 416和MS/PC 502中、在下載期間(信息被下載到MS 416或MS/PC 502),和在SDU 412中、在由本領(lǐng)域公知的微處理器或計算機上載期間,實現(xiàn)動態(tài)地調(diào)整由RLP接收實例發(fā)送的NAK數(shù)的方法。例如,當MS 416(或MS/PC 502)檢測到擦除從服務(wù)器402傳輸來的分組時,MS 416(或MS/PC 502)執(zhí)行該方法以初始化重新傳輸已擦除的分組。同樣,當SDU 412檢測到擦除從MS 416(或MS/PC 502)傳輸來的分組時,SDU 412執(zhí)行該方法以初始化重新傳輸。
參見圖6,示出了用于動態(tài)地調(diào)整由RLP接收實例發(fā)送的NAK數(shù)的方法的優(yōu)選實施例的流程圖。在開始RLP會話時,協(xié)商RLP參數(shù)(例如,輪次數(shù)Y,和每輪要傳輸?shù)腘AK數(shù)S(Y))。當檢測到擦除時,在步驟602,該方法檢測已協(xié)商的參數(shù)。在步驟604,該方法估計進入RLP接收方(任何一個接收數(shù)據(jù)的MS 416,MS/PC 502或SDU 412)的鏈路速度。在優(yōu)選實施例中,通過測量在預定的時間期間(優(yōu)選地為1秒)中通過RLP發(fā)送的字節(jié)數(shù)來估計鏈路速度。在步驟605,該方法檢測下述值B=發(fā)送的第一輪次NAK%,其導致接收到的重傳輸,C=最后輪次NAK%,其導致接收到的重傳輸,和D=最后輪次NAK的發(fā)送的所有NAK%。在步驟606,該方法確定是否從在發(fā)送方設(shè)備中的TCP提供max_snd_wnd和snd_wnd。如前所述,這些參數(shù)在類似于圖5的系統(tǒng)中是可用的,其中TCP包括在MS和其它接收設(shè)備中。如果max_snd_wnd和snd_wnd可用,該方法確定它們的當前值(步驟608)。典型地,在發(fā)送方和接收方之間協(xié)商max_snd_wnd。snd_wnd通常增加TCP/IP會話的吞吐量。如果max_snd_wnd和snd_wnd不可用,在步驟610,該方法確定鏈路速度是否大于第一預定閾值(優(yōu)選地為125kbps),并且確定RLP是否在第一輪中(Y=1)。第一預定閾值依賴于使用的TCP窗口大小和所期望的系統(tǒng)延遲。125Kbps假定(assume)最大的TCP窗口大小(64K字節(jié))和某種(certain)的系統(tǒng)延遲特征。對于小TCP窗口大小和/或更大的系統(tǒng)延遲,可以降低閾值。如果鏈路速度大于第一預定閾值,并且Y=1,該方法通過增加將在第一輪中傳輸?shù)腘AK數(shù)來改變已協(xié)商的參數(shù)(步驟612),該方法結(jié)束(步驟618)。
在步驟610,如果鏈路速度不大于第一預定閾值,在步驟617,該方法確定比率(C/B)是否小于第三預定閾值,并確定D是否大于第四預定閾值,其中B,C和D在步驟605中已被檢測。該測試估計RLP丟失情形是否在如前的文字中所述的那樣在傳輸方處發(fā)生。第三預定閾值處于0-1范圍中,優(yōu)選地為0.7。第四預定閾值取決于幀擦除率和NAK輪次數(shù),其優(yōu)選地為0.0001。如果C/B比率小于第三閾值,D大于第四閾值,該方法通過增加將在第一輪中傳輸?shù)腘AK數(shù)來改變協(xié)商的參數(shù)(步驟612),該方法結(jié)束(步驟618)。如果在步驟617中對測試的回答是“否”(C/B不小于第三閾值,D不大于第四閾值,或者C/B不小于第三閾值,D不大于第四閾值),在步驟616,該方法維持已協(xié)商的參數(shù)(使已協(xié)商的參數(shù)不改變),該方法結(jié)束(步驟618)。
返回去看步驟608,在確定max_snd_wnd和snd_wnd的當前值后,該方法確定max_snd_wnd小于snd_wnd的差值是否小于第二預定閾值,優(yōu)選地為15k字節(jié)(步驟614)。如果回答是“是”,該方法通過增加在第二輪中將要傳輸?shù)腘AK數(shù)來改變已協(xié)商的參數(shù)(步驟612),該方法結(jié)束(步驟618)。如果回答是“否”,在步驟616,該方法維持已協(xié)商的參數(shù),該方法結(jié)束(步驟618)。換言之,該方法確定TCP窗口的當前值是否在某一預定的最大值內(nèi)。如果回答是“是”,則TCP/IP接近停止和等待情形,并且該方法增減在第一輪中發(fā)送的NAK數(shù)。
一旦完成圖6的方法,RLP試圖根據(jù)在IS-707A的部分10中規(guī)定的方法來糾正無線錯誤(radio error),當鏈路速度高于第一閾值時,當snd_wnd位于預定的max_snd_wnd的數(shù)之內(nèi)時,或者當RLP丟失情形發(fā)生在傳輸方時,增加在第一輪中傳輸?shù)腘AK數(shù)。通過在第一輪中發(fā)送更大的NAK數(shù),本發(fā)明的方法使要求大量的輪次以成功傳輸?shù)膸母怕首钚?。當鏈路速度低于閾值時,當snd_wnd沒有充分地接近max_snd_wnd,或者當RLP丟失情形沒有發(fā)生在傳輸方處時,RLP使用在開始RLP會話處協(xié)商的參數(shù)。
現(xiàn)在給出對本發(fā)明的第二方面的詳細介紹。在圖4和5的系統(tǒng)中,在SDU 412中、在下載期間,和在MS 416和MS/PC 502中、在由本領(lǐng)域公知的微處理器或計算機上載期間,實現(xiàn)動態(tài)地調(diào)整由RLP發(fā)送實例發(fā)送的重傳輸?shù)姆椒āEc圖6的方法類似,當鏈路速度大于第一閾值,并且snd_wnd位于預定的max_snd_wnd數(shù)之內(nèi)時,當前方法調(diào)整每一NAK發(fā)送的重傳輸數(shù)。當前方法也考慮前面討論的RLP丟失問題。具體地,該方法檢測到可以進行重傳輸?shù)囊呀邮盏腘AK百分比數(shù),因此填充重傳緩沖區(qū)的容量,并且該方法使用信息確定是否增加每RLP NAK的重傳輸。這又減少RLP丟失率。
作為說明發(fā)送方檢測到可以進行重傳輸已接收到的NAK百分比,假定RLP在RLP會話開始處協(xié)商1,1,1,1,1方案。可以跟蹤在每一輪中成功的重傳輸?shù)腘AK的百分比。例如,如果在第一個4輪中95%的NAK成功,但在第5輪中的0%的NAK成功,NAK丟失問題發(fā)生在第5輪。此外,為了查看接收方的重傳輸深度,RLP發(fā)送方可以搶先為不需要重傳輸?shù)膸l(fā)送NAK。
圖7是用于動態(tài)調(diào)整由RLP發(fā)送實例發(fā)送的重傳輸數(shù)的方法的優(yōu)選實施例的流程圖。在步驟702,該方法檢測相關(guān)已協(xié)商的RLP參數(shù)--輪數(shù),每輪要傳輸?shù)腘AK數(shù),和每RLP NAK的重傳輸數(shù)。在步驟704,該方法估計超出RLP發(fā)送方的鏈路速度。在步驟706,該方法檢測重傳輸成功的已接收的NAK百分比。在步驟708,該方法確定是否從在發(fā)送方設(shè)備中的TCP可用max_snd_wnd和snd_wnd。如果max_snd_wnd和snd_wnd可用,該方法確定max_snd_wnd和snd_wnd的當前值(步驟710)。如果max_snd_wnd和snd_wnd不可用,在步驟712,該方法確定鏈路速度是否大于第一預定閾值,優(yōu)選地為125Kbps,并且確定RLP是否位于第一輪中(Y=1)。如果回答是“是”,該方法增加每一RLP NAK發(fā)送的重傳輸數(shù)(步驟714),該方法結(jié)束(步驟722)。如果回答是“否”,該方法確定為成功重傳輸?shù)囊呀邮盏腘AK的百分比是否小于第三閾值,優(yōu)選地為10%(步驟718)。如果該百分比大于第三閾值,該方法增加每RLP NAK發(fā)送的重傳輸數(shù)(步驟714),該方法結(jié)束(步驟722)。如果該百分比不大于第三閾值,該方法維持每一RLP NAK發(fā)送的重傳輸?shù)囊褏f(xié)商的數(shù)目(步驟720),方法結(jié)束(步驟722)。
返回去看步驟710,在該方法確定當前的max_snd_wnd和snd_wnd值之后,該方法確定max_snd_wnd小于snd_wnd是否小于第二閾值,優(yōu)選地為15K字節(jié)(步驟716)。如果回答是“是”,該方法增加每一RLP NAK發(fā)送的重傳輸數(shù)(步驟714),并且結(jié)束流程(步驟722)。如果回答是“否”,該方法向前到達步驟718,并且繼續(xù)如前所述的過程。
一旦完成圖7的方法,RLP試圖根據(jù)在IS-707A的部分10中規(guī)定的方法來糾正無線錯誤,當鏈路速度高于第一閾值時,當snd_wnd位于預定的max_snd_wnd的數(shù)之內(nèi)時,或者當為成功重傳輸已接收的NAK百分比小于第三閾值時,增加在第一輪中發(fā)送的重傳輸數(shù)。通過在第一輪中發(fā)送更大的NAK數(shù),本發(fā)明的方法使要求大量的輪次以成功傳輸?shù)膸母怕首钚 ?br>
盡管可以對本發(fā)明進行各種修改,且可以是替換的形式,以示例的方式在附圖中是除了特定的實施例,并且在此進行了詳細地介紹。然而,應(yīng)當理解,本發(fā)明并不限于在此公開的特定的形式。實際上,本發(fā)明覆蓋落在由所附的權(quán)利要求定義的本發(fā)明的精神和范圍之內(nèi)的修改、等同替換和替換。
權(quán)利要求
1.在執(zhí)行傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信系統(tǒng)中,一種當無線鏈路協(xié)議(RLP)檢測到在傳輸中已經(jīng)發(fā)生錯誤時,增加要在傳輸輪次中傳輸?shù)桨l(fā)送設(shè)備的NAK數(shù)的方法,該方法包括步驟估計進入所述接收設(shè)備的傳輸速度;和如果所述速度大于一閾值,并且所述傳輸輪次為第一傳輸輪次,響應(yīng)于所述在傳輸中的錯誤增加所述發(fā)送的NAK數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述估計進入所述接收設(shè)備的傳輸速度的步驟包括測量在預定的時間幀期間經(jīng)RLP發(fā)送的字節(jié)數(shù)。
3.在執(zhí)行傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信系統(tǒng)中,一種當無線鏈路協(xié)議(RLP)檢測到在傳輸中已經(jīng)發(fā)生錯誤時,增加要在傳輸輪次中傳輸?shù)桨l(fā)送設(shè)備的NAK數(shù)的方法,該方法包括步驟確定所述發(fā)送設(shè)備的最大的TCP窗口大?。淮_定所述發(fā)送設(shè)備的當前的TCP窗口大??;和如果所述最大TCP窗口大小小于所述當前TCP窗口大小的值小于一閾值,響應(yīng)于所述在傳輸中的錯誤增加所述要傳輸?shù)腘AK數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其中所述響應(yīng)于所述在傳輸中的錯誤增加所述要發(fā)送的NAK數(shù)的步驟包括將所述NAK數(shù)從1增加到2。
5.在執(zhí)行傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信系統(tǒng)中,一種當無線鏈路協(xié)議(RLP)檢測到在傳輸中已經(jīng)發(fā)生錯誤時,增加要在傳輸輪次中傳輸?shù)桨l(fā)送設(shè)備的NAK數(shù)的方法,該方法包括步驟確定在所述發(fā)送設(shè)備處是否發(fā)生RLP丟失情形;和如果所述RLP丟失情形發(fā)生,響應(yīng)于所述在傳輸中的錯誤增加發(fā)送的NAK數(shù)。
6.根據(jù)權(quán)利要求5所述的方法,其中所述確定在所述發(fā)送設(shè)備處是否發(fā)生RLP丟失情形的步驟包括步驟確定被傳輸?shù)剿霭l(fā)送設(shè)備、導致由所述接收設(shè)備接收的重傳輸?shù)牡谝粋鬏斴喆蜰AK的百分比;確定被傳輸?shù)剿霭l(fā)送設(shè)備、導致由所述接收設(shè)備接收的重傳輸?shù)淖詈蟮膫鬏斴喆蜰AK的百分比;確定被傳輸?shù)剿霭l(fā)送設(shè)備、為最后傳輸輪次NAK的所有NAK的百分比;和如果被傳輸?shù)剿霭l(fā)送設(shè)備、導致由所述接收設(shè)備接收的重傳輸?shù)淖詈蟮膫鬏斴喆蜰AK的百分比被傳輸?shù)剿霭l(fā)送設(shè)備、導致由所述接收設(shè)備接收的重傳輸?shù)牡谝粋鬏斴喆蜰AK的百分比除的值小于第一預定閾值,并且被傳輸?shù)剿霭l(fā)送設(shè)備、為最后的傳輸輪次NAK的所有NAK百分比大于第二閾值,發(fā)生所述RLP丟失。
7.在執(zhí)行傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信系統(tǒng)中,一種當無線鏈路協(xié)議(RLP)檢測到在傳輸中已經(jīng)發(fā)生錯誤時,增加要在傳輸輪次中傳輸?shù)桨l(fā)送設(shè)備的NAK數(shù)的裝置,該裝置包括具有處理器的接收設(shè)備,其可操作地估計進入所述接收設(shè)備的傳輸速度;和如果所述速度大于閾值,并且所述傳輸輪次為第一傳輸輪次,響應(yīng)于所述在傳輸中的所述錯誤增加要傳輸?shù)腘AK數(shù)。
8.根據(jù)權(quán)利要求7所述的裝置,其中所述接收設(shè)備為選擇和分布單元,而且,其中所述裝置進一步包括連接到所述選擇和分布單元的收發(fā)基站,以將所述NAK傳輸?shù)剿霭l(fā)送設(shè)備。
9.根據(jù)權(quán)利要求7所述的基礎(chǔ)設(shè)備,其中所述接收設(shè)備為移動臺。
全文摘要
在執(zhí)行傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的通信系統(tǒng)中,一種裝置和方法,用于當在進入RLP接收方的鏈路速度高時(610)、當所述發(fā)送方的TCP窗口接近最大值時(614)、或者當不能完成的重傳輸?shù)腘AK百分比接近閾值時(617)的情況下檢測到錯誤時,增加由接收設(shè)備(412,416,502)傳輸?shù)腘AK數(shù)(612)。在本發(fā)明的第二方面中,當所述RLP發(fā)送方的鏈路速度高、且所述傳輸輪次為第一輪時,當所述發(fā)送方的TCP窗口接近最大值時,或者當不能完成的重傳輸?shù)腘AK百分比接近閾值時的情況下接收到重傳輸數(shù)時,所述裝置和方法增加由發(fā)送設(shè)備(412,416,502)傳輸?shù)闹貍鬏敂?shù)。
文檔編號H04L1/16GK1417991SQ0215028
公開日2003年5月14日 申請日期2002年11月8日 優(yōu)先權(quán)日2001年11月8日
發(fā)明者約翰M·哈里斯, 馬克·赫瑟林頓, 伊凡·武科維克 申請人:摩托羅拉公司