欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

無線鏈路控制層緩沖區(qū)溢出的控制方法

文檔序號:7611137閱讀:199來源:國知局
專利名稱:無線鏈路控制層緩沖區(qū)溢出的控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,特別是涉及一種無線鏈路控制層緩沖區(qū)溢出的控制方法背景技術(shù)隨著通信技術(shù)的發(fā)展,特別是3G技術(shù)的發(fā)展,數(shù)據(jù)服務(wù)將成為移動通信系統(tǒng)的重要業(yè)務(wù)之一。這種無線數(shù)據(jù)業(yè)務(wù)將為終端用戶提供到Internet的無縫連接,可以讓用戶通過無線系統(tǒng)得到更方便的資訊。而現(xiàn)有的Internet網(wǎng)絡(luò)主要是通過TCP/IP來進行組網(wǎng)并完成數(shù)據(jù)傳輸?shù)摹?br> 所述傳輸控制協(xié)議(TCP,Transmit Control Protocol)是一種可靠傳輸技術(shù),通過采用慢啟動、擁塞避免和快速恢復(fù)等方法來保證傳輸控制協(xié)議TCP在現(xiàn)有有線網(wǎng)絡(luò)中的傳輸性能。這些方法的實現(xiàn)就是在發(fā)送方的TCP中增加了一個擁塞窗(cwnd)和閥值(ssthresh),所述擁塞窗在連接開始建立時的初始值為一個TCP數(shù)據(jù)包大小,隨后按所述方法更新;而所述閥值則反映了發(fā)送端的流控門限。在數(shù)據(jù)傳輸過程中,當(dāng)擁塞窗小于閥值時,TCP啟用慢啟動方法;當(dāng)擁塞窗大于閥值時,采用擁塞避免方法;在數(shù)據(jù)有丟失時采用快速恢復(fù)方法。而所述采用快速恢復(fù)方法時刻伴隨著慢啟動和擁塞避免,避免在傳輸時有數(shù)據(jù)丟失。
所述慢啟動方法是指發(fā)送端根據(jù)接收端的確認(rèn)速率決定傳輸新數(shù)據(jù)包的速率。傳輸控制協(xié)議TCP在開始時發(fā)送一個TCP數(shù)據(jù)包,然后等待收端確認(rèn),當(dāng)收到確認(rèn)包后,擁塞窗從1個TCP數(shù)據(jù)包增加到2個數(shù)據(jù)包大小,此時可以發(fā)送2個TCP數(shù)據(jù)包,當(dāng)這2個數(shù)據(jù)包得到確認(rèn)后,擁塞窗從2個TCP數(shù)據(jù)包增加到4個數(shù)據(jù)包大小,此時可以發(fā)送4個TCP數(shù)據(jù)包。依此類推,發(fā)送數(shù)據(jù)量在開始時是按級數(shù)增長,直到擁塞窗發(fā)送的數(shù)據(jù)包大于設(shè)定的閥值時,啟動擁塞避免方法。所述擁塞避免方法是指在發(fā)端每收到一個新的TCP數(shù)據(jù)包的確認(rèn)后就將擁塞窗增加,其增量是根據(jù)TCP數(shù)據(jù)包大小乘以TCP數(shù)據(jù)包大小再除以擁塞窗個字節(jié)(擁塞窗CWND和數(shù)據(jù)包大小都以字節(jié)為單位計數(shù))來確定的,此時發(fā)送端所能發(fā)送的數(shù)據(jù)量隨著當(dāng)前擁塞窗的限制而緩慢增長。這個增長速度相對于慢啟動方法來說是一種線性增長過程。
在TCP技術(shù)和無線通信網(wǎng)絡(luò)無縫連接時,無線網(wǎng)絡(luò)會為一個IP地址的連接建立一條承載鏈路,一個無線鏈路控制(RLC,Radio Link Control)承載實體,所有來自該IP地址的各種TCP連接或者數(shù)據(jù)都在這個實體上傳送。而無線網(wǎng)絡(luò)協(xié)議沒有限制該實體的緩存能力,因此對所有實體上的TCP連接來說就像一個接收能力無窮的路由器,但是無線網(wǎng)絡(luò)的傳輸速率是有限的,導(dǎo)致TCP慢啟動階段發(fā)送的大批數(shù)據(jù)都會緩存在無線網(wǎng)絡(luò)的RLC層中,尤其在多個TCP連接同時發(fā)送數(shù)據(jù)時更為嚴(yán)重,使得TCP在無線網(wǎng)絡(luò)的傳輸性能不能令人滿意。比如用戶在打開多個連接時,發(fā)出某些業(yè)務(wù)請求(如打開新網(wǎng)頁或停止某個操作的請求)時,TCP應(yīng)答消息被堵塞在大量等待發(fā)送的數(shù)據(jù)之后,而引入的時延有時不能忍受,經(jīng)常被TCP解釋為網(wǎng)絡(luò)擁塞,從而觸發(fā)TCP流量嚴(yán)重受限,傳輸性能變差。因此,提高TCP協(xié)議在無線承載上獲得最好的傳輸性能,有效降低全球移動通信系統(tǒng)(UMTS,Universal Mobile Telcommunications System)中端到端的傳輸時延非常迫切。
目前,提高數(shù)據(jù)的傳輸性能,降低UMTS系統(tǒng)中端到端傳輸時延的無線鏈路控制層緩沖區(qū)溢出的控制方法主要有以下幾種第一種方法是根據(jù)協(xié)議RFC3481和RFC3449,為分別提高TCP在無線網(wǎng)絡(luò)上的數(shù)據(jù)傳輸性能、降低傳輸時延做出的相關(guān)策略,分別包括調(diào)整發(fā)送方和接收方的TCP窗口大小;增加發(fā)送方的初始發(fā)送窗口;限制發(fā)送方的發(fā)送速率;調(diào)整最大傳輸單元(MTU,Maximum Transmit Unit)的大?。辉诎l(fā)送方啟用路徑MTU檢測機制;在發(fā)送方和接收方啟用選擇性ACK;啟用直接擁塞通知機制;啟用時間戳機制;不使用TCP/IP的頭壓縮方法;修改接收方反回ACK的機制。這些參數(shù)和機制都是對現(xiàn)有的TCP協(xié)議進行相應(yīng)的調(diào)整,從一定程度上雖然提高了TCP在無線網(wǎng)絡(luò)中的數(shù)據(jù)傳輸?shù)男阅?,降低了端到端的傳輸時延,但是以上的調(diào)整沒有一個統(tǒng)一有效的結(jié)果,往往是針對不同的環(huán)境有不同的參數(shù)組合才能達(dá)到此效果;在實際的無線網(wǎng)絡(luò)應(yīng)用中,Internet上各個服務(wù)節(jié)點的主機是不可控的。特別是在真正的商用系統(tǒng)中,另一個IP的終端是手機,以上方法需要用戶掌握TCP參數(shù)的設(shè)置并學(xué)會利用手機后臺軟件設(shè)置高級參數(shù),才能提高了TCP在無線網(wǎng)絡(luò)中的數(shù)據(jù)傳輸?shù)男阅?,降低了端到端的傳輸時延,這些對于普通用戶來說也是不現(xiàn)實的。此外,上述的有些調(diào)整措施需要對TCP/IP進行重新設(shè)計,比如修改接收方反回ACK的機制,這對現(xiàn)有的服務(wù)網(wǎng)絡(luò)來說是不可能實施的。
第二種方法是根據(jù)RLC協(xié)議25.322定義了基于定時器的業(yè)務(wù)數(shù)據(jù)單元(SDU,Service Data Unit)丟棄觸發(fā)機制。該方法使得SDU丟棄功能對信道速率的變化不敏感,提供了最大延遲的精確定義。所述方法包括首先,在數(shù)據(jù)業(yè)務(wù)承載建立時,創(chuàng)建無線鏈路控制RLC層。該無線鏈路控制RLC層又創(chuàng)建緩沖區(qū),所述緩沖區(qū)用于接收和存放來自高層的TCP數(shù)據(jù)包,這個數(shù)據(jù)包被稱為業(yè)務(wù)數(shù)據(jù)單元SDU。RLC層從上層控制協(xié)議無線資源控制層RRC獲得SDU丟棄定時器值,以及按本地指定的傳輸速率、數(shù)據(jù)塊數(shù)和數(shù)據(jù)塊大小PDU對傳輸數(shù)據(jù)進行發(fā)送。所述PDU(Protocol Data Unit)為協(xié)議數(shù)據(jù)單元。
其次,當(dāng)無線鏈路控制RLC層收到一個TCP數(shù)據(jù)包時,啟動SDU丟棄定時器,監(jiān)視該SDU的傳輸時間。然后RLC層按照本地的傳輸速率和數(shù)據(jù)塊大小要求,分割SDU為多個PDU,并開始發(fā)送PDU。
再次,當(dāng)無線鏈路控制RLC層收齊了所述SDU對應(yīng)的所有PDU的確認(rèn)包時,停止該SDU丟棄定時器。
最后,當(dāng)無線鏈路控制RLC層在SDU丟棄定時器超時時,如果還沒有收齊所述SDU對應(yīng)的所有PDU的確認(rèn)包,則丟棄該SDU。
因此,從上述公開的方法中可以看出,存在的缺點為由于TCP慢啟動效應(yīng)會造成同一時刻有多個TCP數(shù)據(jù)包到達(dá)RLC層的緩沖區(qū),因此這些SDU的定時器會在同一時刻啟動。而由于無線網(wǎng)絡(luò)的按序傳輸機制,那么一旦有一個SDU超時,就會造成這一批后續(xù)的所有SDU丟棄定時器超時,此時SDU被集體丟棄,會造成RLC層無數(shù)據(jù)可發(fā),降低RLC吞吐量,影響了端到端之間的質(zhì)量服務(wù)。

發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種簡單、高效的無線鏈路控制層緩沖區(qū)溢出的控制方法,在保證預(yù)設(shè)空口的數(shù)據(jù)速率(RLC吞吐量)和實際的空口數(shù)據(jù)速率相匹配的前提下,能夠有效降低端到端的時延,提高響應(yīng)速度以及端到端之間的質(zhì)量服務(wù)Qos。
為解決上述問題,本發(fā)明提供了一種無線鏈路控制層緩沖區(qū)溢出的控制方法,該方法所述緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,該方法包括下述步驟預(yù)設(shè)RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;無線鏈路控制層RLC對收到的SDU進行預(yù)分段,并根據(jù)預(yù)分段的結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于RLC緩沖區(qū)控制門限值,若是,直接進行RLC功能處理,再進行MAC功能處理;否則,直接刪除SDU,更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止,并進行MAC功能處理。
所述無線鏈路控制層RLC對收到的SDU進行預(yù)分段,并根據(jù)預(yù)分段的結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的具體過程為RLC根據(jù)控制協(xié)議參數(shù)指定的PDU大小的數(shù)據(jù)塊對收到的SDU進行預(yù)分段,根據(jù)預(yù)分段結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,其計算公式為Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
所述進行RLC功能處理的過程為將SDU分割成協(xié)議數(shù)據(jù)單元PDU大小的數(shù)據(jù)塊,并按先進先出的次序插入到PDU隊列中,為每個PDU設(shè)置它所屬的SDU序號,并為該SDU序號對應(yīng)的發(fā)送標(biāo)志置為未發(fā)送標(biāo)志,同時記錄該SDU所分隔的PDU塊數(shù);所述進行MAC功能處理的過程為MAC層對排在PDU隊列中最前的數(shù)據(jù)進行發(fā)送,并更據(jù)該PDU所記錄的SDU序號,通知RLC將該SDU序號對應(yīng)的發(fā)送標(biāo)志設(shè)置為已發(fā)送,同時通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo。
所述RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
所述更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
所述TCP快速重傳和恢復(fù)算法包括當(dāng)一個SDU在RLC層被丟棄時,則引起對端重發(fā)相同的確認(rèn)包,當(dāng)TCP收到第三個重復(fù)的確認(rèn)包時,設(shè)置閾值=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2,擁塞窗=閾值+3×TCP數(shù)據(jù)包;當(dāng)另一個重復(fù)的確認(rèn)包到達(dá)時,擁塞窗增加一個TCP數(shù)據(jù)包的大小,當(dāng)未確認(rèn)的數(shù)據(jù)包總和小于擁塞窗時,開始傳輸下一個新數(shù)據(jù)包;當(dāng)下一個確認(rèn)新數(shù)據(jù)的確認(rèn)包到達(dá)時,設(shè)置擁塞窗=閾值,完成快速重傳和恢復(fù)算法,進入擁塞避免。
本發(fā)明還提供一種無線鏈路控制層緩沖區(qū)溢出的控制方法,所述緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,包括預(yù)設(shè)置RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;
無線鏈路控制層RLC將收到的SDU直接進行RLC功能處理,并根據(jù)RLC功能處理結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于預(yù)設(shè)RLC緩沖區(qū)控制門限值,若是,直接進行MAC功能處理,并通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;否則,當(dāng)搜索到第一個未發(fā)送的SDU的PDU數(shù)據(jù)時,刪除與所述SDU相關(guān)的所有的PDU數(shù)據(jù),并更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止時,進行MAC功能處理。
所述進行RLC功能處理的過程為將SDU分割成協(xié)議數(shù)據(jù)單元PDU大小的數(shù)據(jù)塊,并按先進先出的次序插入到PDU隊列中,為每個PDU設(shè)置它所屬的SDU序號,并為該SDU序號對應(yīng)的發(fā)送標(biāo)志置為未發(fā)送標(biāo)志,同時記錄該SDU所分隔的PDU塊數(shù);所述算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為RLC緩沖區(qū)控制值Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
所述進行MAC功能處理的過程為MAC層對排在PDU隊列中最前的數(shù)據(jù)進行發(fā)送,并更據(jù)該PDU所記錄的SDU序號,通知RLC將該SDU序號對應(yīng)的發(fā)送標(biāo)志設(shè)置為已發(fā)送,同時通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;其中,所述RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
所述更新業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量;所述TCP快速重傳和恢復(fù)算法包括當(dāng)一個SDU在RLC層被丟棄時,則引起對端重發(fā)相同的確認(rèn)包,當(dāng)TCP收到第三個重復(fù)的確認(rèn)包時,設(shè)置閾值=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2,擁塞窗=閾值+3×TCP數(shù)據(jù)包;當(dāng)另一個重復(fù)的確認(rèn)包到達(dá)時,擁塞窗增加一個TCP數(shù)據(jù)包的大小,當(dāng)未確認(rèn)的數(shù)據(jù)包總和小于擁塞窗時,開始傳輸下一個新數(shù)據(jù)包;當(dāng)下一個確認(rèn)新數(shù)據(jù)的確認(rèn)包到達(dá)時,設(shè)置擁塞窗=閾值,完成快速重傳和恢復(fù)算法,進入擁塞避免。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果本發(fā)明在不改動原有傳輸控制協(xié)議TCP的基礎(chǔ)上,從全球移動通信UMTS協(xié)議和移動設(shè)備的實現(xiàn)來出發(fā),改善其與TCP協(xié)議的配合,在保證預(yù)設(shè)空口的數(shù)據(jù)速率(RLC吞吐量)和實際的空口數(shù)據(jù)速率相匹配的前提下,縮短端到端的時延,提高響應(yīng)速度以及端到端的服務(wù)質(zhì)量Qos。


圖1是本發(fā)明一種無線鏈路控制層緩沖區(qū)溢出的控制方法的流程圖;圖2是本發(fā)明的快速重傳和快速恢復(fù)算法的流程圖;圖3是本發(fā)明另一種無線鏈路控制層緩沖區(qū)溢出的控制方法的流程圖;圖4是本發(fā)明的實施例在64k單線程下載不同RLC緩沖區(qū)控制的控制仿真結(jié)果的示意圖。
具體實施例方式
本發(fā)明適用于采用空中接口協(xié)議的通信傳輸系統(tǒng),比如全球移動通信系統(tǒng)(UMTS,Universal Mobile Telcommunications System)。所述空中接口協(xié)議的體系結(jié)構(gòu),它主要分為三層,最低層的為物理層(PHY)L1,位于物理層之上是數(shù)據(jù)鏈路層L2,位于數(shù)據(jù)鏈路層之上的是網(wǎng)絡(luò)層L3。垂直地看,一個協(xié)議體系被分為一個用于發(fā)送控制信號(信令)的控制平面和一個用于發(fā)送數(shù)據(jù)信息的用戶平面。
數(shù)據(jù)鏈路層分為幾個子層,從控制平面上看,它包括媒體接入控制層(MAC)和無線鏈路控制層(RLC),從用戶平面上看,它還包括處理分組業(yè)務(wù)的分組數(shù)據(jù)協(xié)議匯聚子層(PDCP)和用于處理廣播/多播業(yè)務(wù)的廣播/多播控制子層(BMC)。網(wǎng)絡(luò)層主要包括無線資源控制層(RRC)。
物理層通過傳輸信道向MAC提供傳送服務(wù),傳輸信息以數(shù)據(jù)的傳輸方式為特征,指示數(shù)據(jù)是以何種方式進行傳輸。
MAC通過邏輯信道向RLC提供傳送服務(wù)。邏輯信息以發(fā)送數(shù)據(jù)的類型為特征,指示傳輸?shù)臄?shù)據(jù)是何種類型。
RLC提供數(shù)據(jù)鏈路的建立和釋放服務(wù)。在控制平面,RLC承載上層的業(yè)務(wù)稱之為信令無線承載(Signal radio bearer,SRB),在信令無線承載上傳輸?shù)臄?shù)據(jù)是信令;在用戶平面,如果PDCP和BMC沒有被業(yè)務(wù)使用時,RLC承載上層的業(yè)務(wù)稱之為無線承載(radio bearer,RB),否則RB由PDCP和BMC承載,在無線承載上傳輸?shù)臄?shù)據(jù)是用戶信息。信令和用戶信息都通過RLC進行傳輸。傳輸數(shù)據(jù)包括發(fā)送數(shù)據(jù)和接收數(shù)據(jù),而傳輸?shù)臄?shù)據(jù)包括信令和用戶信息。
為了保證在RLC層數(shù)據(jù)的吞吐量不受影響的同時降低SDU時延,需要對業(yè)務(wù)量RLC緩沖區(qū)的大小進行控制,當(dāng)緩沖區(qū)達(dá)到一定門限后丟棄SDU,利用TCP快速重傳和恢復(fù)機制,抑制慢啟動造成的SDU級數(shù)增長效應(yīng)。根據(jù)SDU的刪除方式的不同,RLC緩沖區(qū)的控制方法也不同。
請參閱圖1,是本發(fā)明提供的一種無線鏈路控制層緩沖區(qū)溢出的控制方法,該方法適用于刪除最后一個到達(dá)RLC的SDU數(shù)據(jù)快。在數(shù)據(jù)業(yè)務(wù)承載建立時,無線資源控制層RRC創(chuàng)建無線鏈路控制層RLC和媒體訪問控制層MAC,所述RLC創(chuàng)建緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,包括步驟S11預(yù)設(shè)RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;步驟S12無線鏈路控制層RLC對收到的SDU進行預(yù)分段,并根據(jù)預(yù)分段結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;步驟S13判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于RLC緩沖區(qū)控制門限值,若是,直接進行RLC功能處理,再進行MAC功能處理(步驟S14);否則,直接刪除SDU,更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止,并進行MAC功能處理(步驟S15)。
在步驟S11中,當(dāng)數(shù)據(jù)業(yè)務(wù)初始建立時,無線網(wǎng)絡(luò)首先為該數(shù)據(jù)業(yè)務(wù)創(chuàng)建一個RLC層,該層按照無線管理資源RRC指定的傳輸速率和時延要求,初始化RLC緩沖區(qū)控制門限,即PDU隊列的門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0,其中,門限的取值是根據(jù)仿真對比結(jié)果來設(shè)置的,如下表1所示,一般可以根據(jù)網(wǎng)絡(luò)的時延要求通過數(shù)據(jù)配置進行調(diào)整。
表1

當(dāng)RLC層收到業(yè)務(wù)數(shù)據(jù)單元SDU(這里也稱TCP數(shù)據(jù)包)時,預(yù)先計算將所述SDU分割為無線資源控制層RRC參數(shù)指定的協(xié)議數(shù)據(jù)單元PDU大小的數(shù)據(jù)塊時的RLC緩沖區(qū)控制值Bo,其計算公式為Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量(步驟S12)。
判斷當(dāng)前預(yù)算RLC緩沖區(qū)控制值Bo是否小于RLC緩沖區(qū)控制門限值,如果所預(yù)算的Bo值小于RLC緩沖區(qū)控制門限時,將所述業(yè)務(wù)數(shù)據(jù)單元SDU進行RLC功能處理,即將業(yè)務(wù)數(shù)據(jù)單元SDU分割為無線資源控制層RRC參數(shù)指定的PDU大小的數(shù)據(jù)塊,并按照先進先出的次序插入PDU隊列中,并設(shè)置SDU發(fā)送標(biāo)志為未發(fā)送狀態(tài),等待MAC層發(fā)送。當(dāng)MAC層將PDU隊列中的排在最前面的數(shù)據(jù)發(fā)送出去時,和該PDU相關(guān)的SDU發(fā)送標(biāo)志被設(shè)置為已發(fā)送狀態(tài),并通知RLC更新業(yè)務(wù)量Bo值,其公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
如果所預(yù)算的Bo值大于或等于RLC緩沖區(qū)控制門限時,直接刪除最后收到的SDU,并更新業(yè)務(wù)量Bo值,其計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量。該SDU刪除后,觸發(fā)TCP暫時停止發(fā)送新數(shù)據(jù)到RLC層,直到達(dá)到TCP快速重傳和恢復(fù)算法設(shè)定的門限為止。然后進行MAC功能處理,即當(dāng)MAC層將PDU隊列中的排在最前面的數(shù)據(jù)發(fā)送出去時,和該PDU相關(guān)的SDU發(fā)送標(biāo)志被設(shè)置為已發(fā)送狀態(tài),并通知RLC更新業(yè)務(wù)量Bo值,其公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量。
所述TCP快速重傳和恢復(fù)算法是TCP協(xié)議固有的一個算法。其中,快速重傳和恢復(fù)算法是本發(fā)明采用RLC緩沖區(qū)大小控制和SDU丟棄相結(jié)合策略的考慮基礎(chǔ)。當(dāng)緩沖區(qū)達(dá)到一定門限后丟棄SDU,從而引發(fā)TCP擁塞機制,抑制慢啟動造成的SDU級數(shù)增長效應(yīng)。TCP規(guī)定在受到一個亂序的數(shù)據(jù)包時立即產(chǎn)生一個重復(fù)的確認(rèn)包并發(fā)送到對端,如果發(fā)送方收到三個以上重復(fù)的確認(rèn)包時,表明該報文丟失而進行重傳,而不需要等到重傳定時器超時。所述快速重傳和快速重傳和恢復(fù)算法,如圖2所示,包括步驟H11當(dāng)一個SDU在RLC層被丟棄時,則引起對端重發(fā)相同的確認(rèn)包,當(dāng)TCP收到第三個重復(fù)的確認(rèn)包時,設(shè)置閾值=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2,擁塞窗=閾值+3×TCP數(shù)據(jù)包步驟H12當(dāng)另一個重復(fù)的確認(rèn)包到達(dá)時,擁塞窗增加一個TCP數(shù)據(jù)包的大小,當(dāng)未確認(rèn)的數(shù)據(jù)包總和小于擁塞窗時,開始傳輸下一個新數(shù)據(jù)包步驟H13當(dāng)下一個確認(rèn)新數(shù)據(jù)的確認(rèn)包到達(dá)時,設(shè)置擁塞窗=閾值,完成快速重傳和恢復(fù)算法,進入擁塞避免。
其中,所述快速重傳和快速重傳和恢復(fù)算法的過程為TCP開始傳輸數(shù)據(jù)包時,快速重傳和快速重傳和恢復(fù)算法的狀態(tài)視為未啟動,重復(fù)確認(rèn)包統(tǒng)計數(shù)為零。當(dāng)緩沖區(qū)達(dá)到一定門限后丟棄SDU,從而引發(fā)TCP擁塞機制,判斷是否啟動快速重傳和快速重傳和恢復(fù)算法,若否,當(dāng)TCP收到一個確認(rèn)包,判斷所述的確認(rèn)包是否是收到的第三個重復(fù)的確認(rèn)包,如果是,將閾值設(shè)置為TCP實際未確認(rèn)的數(shù)據(jù)包大小總和的二分之一,擁塞窗設(shè)置為閾值+3×TCP數(shù)據(jù)包,并重傳丟失的TCP數(shù)據(jù)包給無線鏈路控制層RLC,然后快速重傳和快速重傳和恢復(fù)算法設(shè)置為啟動,重復(fù)計數(shù)器清零;否則,當(dāng)收到重復(fù)的確認(rèn)包不超過三次時,將擁塞窗設(shè)置為原來的擁塞窗與TCP數(shù)據(jù)包之和,則繼續(xù)發(fā)送下一個新的TCP數(shù)據(jù)包。
當(dāng)快速重傳和快速重傳和恢復(fù)算法已啟動時,TCP收到一個確認(rèn)包時,先判斷所述確認(rèn)包是否為重復(fù)的確認(rèn)包,若否,將擁塞窗設(shè)置為閾值,將快速重傳和恢復(fù)算法設(shè)置為未啟動。若是,再判斷擁塞窗是否大于實際未確認(rèn)的數(shù)據(jù)包總和,如果大于,則繼續(xù)發(fā)送下一個新的TCP數(shù)據(jù)包,若不大于,則將擁塞窗設(shè)置為原先的擁塞窗與TCP數(shù)據(jù)包之和,且不發(fā)送數(shù)據(jù);根據(jù)這個算法可知,當(dāng)SDU被丟棄時,RLC緩沖區(qū)大?。絋CP實際未確認(rèn)的數(shù)據(jù)包大小總和。而此時擁塞窗(cwnd)=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2+3×TCP數(shù)據(jù)包,以后每收到一個重復(fù)的確認(rèn)包,cwnd增加TCP數(shù)據(jù)包大小,直到cwnd>TCP實際未確認(rèn)的數(shù)據(jù)包大小總和成立,TCP才能發(fā)送新數(shù)據(jù)段。也就是說TCP不會在重發(fā)的SDU確認(rèn)包收到之前不發(fā)任何數(shù)據(jù),而是在RLC緩沖區(qū)中的數(shù)據(jù)發(fā)送一半后,TCP會下發(fā)新數(shù)據(jù)。因此一般情況下,Bo值不會為0。除非無線網(wǎng)絡(luò)空中傳輸質(zhì)量太差,這種情況一般在網(wǎng)絡(luò)覆蓋好的情況下不會發(fā)生。
另外,還請參閱圖3,是本發(fā)明提供的另一種無線鏈路控制層緩沖區(qū)溢出的控制方法,該方法適用于刪除第一個到達(dá)RLC的SDU數(shù)據(jù)快。在數(shù)據(jù)業(yè)務(wù)承載建立時,無線資源控制層RRC創(chuàng)建無線鏈路控制層RLC和媒體訪問控制層MAC,所述RLC創(chuàng)建緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,包括步驟M11預(yù)設(shè)置RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;步驟M12無線鏈路控制層RLC將收到的SDU直接進行RLC功能處理,并根據(jù)RLC功能處理結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;步驟M13判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于預(yù)設(shè)RLC緩沖區(qū)控制門限值,若是,直接進行MAC功能處理,并通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo(步驟M14);否則,當(dāng)搜索到第一個未發(fā)送的SDU的PDU數(shù)據(jù)時,刪除與所述SDU相關(guān)的所有的PDU數(shù)據(jù),并更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止時,進行MAC功能處理(步驟M15)。
所述步驟M11與上述步驟S11的實現(xiàn)過程相同,根據(jù)數(shù)據(jù)業(yè)務(wù)初始建立時,上層指定的傳輸速率和時延要求,設(shè)置RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0。另外,門限的取值也可以根據(jù)仿真對比結(jié)果來設(shè)置的,如上表1所示,一般可以根據(jù)網(wǎng)絡(luò)的時延要求通過數(shù)據(jù)配置進行調(diào)整(在這里不在贅述)。
當(dāng)RLC層收到業(yè)務(wù)數(shù)據(jù)單元SDU(這里也稱TCP數(shù)據(jù)包)時,進行RLC功能處理,將所述業(yè)務(wù)數(shù)據(jù)單元SDU分割為RRC參數(shù)指定的PDU大小的數(shù)據(jù)塊,并按照先進先出的次序被插入PDU隊列中,并設(shè)置SDU發(fā)送標(biāo)志為未發(fā)送狀態(tài),等待MAC層功能處理,此時RLC緩沖區(qū)控制值Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
然后判斷所述Bo是否小于初始設(shè)置的RLC緩沖區(qū)控制門限,當(dāng)Bo小于初始設(shè)置的RLC緩沖區(qū)控制門限時,則直接進行MAC功能處理,即當(dāng)MAC層將PDU隊列中的排在最前面的數(shù)據(jù)發(fā)送出去時,和該PDU相關(guān)的SDU發(fā)送標(biāo)志被置為已發(fā)送狀態(tài),并通知RLC更新業(yè)務(wù)量Bo值,其計算公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量;否則,也就是當(dāng)Bo值大于或等于RLC緩沖區(qū)控制門限時,在PDU隊列中從第一個PDU開始搜索,如果PDU所屬的SDU序號所對應(yīng)的發(fā)送標(biāo)志為已發(fā)送則繼續(xù)搜索隊列中下一個PDU;如果PDU所屬的SDU序號所對應(yīng)的發(fā)送標(biāo)志為未發(fā)送則根據(jù)該SDU記錄的分隔的PDU個數(shù)連續(xù)刪除PDU數(shù)據(jù),直到下一個PDU不屬于該SDU為止。即把與該SDU相關(guān)的所有PDU全部刪除。同時更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,其計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量。該SDU刪除后,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速恢復(fù)設(shè)定的門限為止時,所述TCP快速重傳和恢復(fù)算法如前所述,在這里不在贅述。
為了更清楚的說明本發(fā)明,現(xiàn)對本發(fā)明的技術(shù)方案做進一步的說明。在WCDMA無線網(wǎng)絡(luò)層,應(yīng)先完成用戶數(shù)據(jù)業(yè)務(wù)的初始建立,無線資源控制層RRC創(chuàng)建RLC、MAC層,并指定傳輸速率,以及傳輸數(shù)據(jù)塊PDU大小和個數(shù),比如,傳輸速率為64Kbit/s,傳輸方式為是否附加輪詢指示標(biāo)識、用戶應(yīng)答方式還是非應(yīng)答方式等等。然后將所有該用戶同一個IP地址的數(shù)據(jù)業(yè)務(wù)全部承載在同一個RLC層上。對于下行TCP數(shù)據(jù)包,經(jīng)過GTPU(GPRS隧道協(xié)議,GPRSTunneling Protocol)、分組數(shù)據(jù)匯聚協(xié)議(PDCP,Packet Data ConvergenceProtocol)、RLC、MAC、物理層經(jīng)空中接口Uu傳輸?shù)竭_(dá)移動終端,移動終端發(fā)送的TCP確認(rèn)包也是通過空中接口到達(dá)物理層,再經(jīng)MAC、RLC,PDCP、GTPU的逆處理過程,最后被TCP接收。其中,GTPU實際是為所述移動終端用戶建立了一個隧道,用于透傳TCP數(shù)據(jù);PDCP實際是把TCP數(shù)據(jù)包IP頭進行編碼或者解碼,成為RLC層或者GTPU層認(rèn)識的數(shù)據(jù)包發(fā)給對應(yīng)協(xié)議層;物理層主要是把數(shù)據(jù)調(diào)制為無線信號發(fā)出和解調(diào)無線信號為MAC層數(shù)據(jù)發(fā)給MAC;本發(fā)明主要在無線鏈路控制RLC和媒體訪問控制MAC來實現(xiàn)的。所述RLC層的主要功能是緩存PDCP發(fā)來的數(shù)據(jù),按照控制協(xié)議RRC指定的PDU大小和個數(shù),把數(shù)據(jù)分割為PDU大小的數(shù)據(jù)塊,所有這些PDU數(shù)據(jù)塊按照先進先出的次序被排列在隊列中,等待MAC層傳輸。每當(dāng)獲得新的TCP數(shù)據(jù)時,RLC重新計算業(yè)務(wù)量Bo值,其計算公式為Bo=原先的Bo+新增PDU的數(shù)據(jù)量(以字節(jié)計算)。當(dāng)有數(shù)據(jù)需要重傳時,RLC更新計算業(yè)務(wù)量Bo值,Bo=原先的Bo+待重傳的PDU數(shù)據(jù)量(以字節(jié)計算)。
所述MAC層主要是根據(jù)RRC指定的傳輸速率進行調(diào)度,發(fā)送數(shù)據(jù)塊給物理層。每當(dāng)有PDU被發(fā)送出去時,MAC層通知RLC更新業(yè)務(wù)量Bo值,其計算公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量(以字節(jié)計算)。因此業(yè)務(wù)量Bo值表示了任一時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量,本發(fā)明利用這個參數(shù)值實現(xiàn)RLC緩沖區(qū)控制。
TCP協(xié)議中采用的慢啟動算法實際發(fā)送數(shù)據(jù)量是按級數(shù)增長的,TCP不是向接收端發(fā)松大量的報文段而是先試探一下,只發(fā)送一定數(shù)量的報文段,一般為1個和2個,等到接收端收到一個報文段后就給發(fā)送端反饋一個確認(rèn)包ACK,發(fā)送端收到一個正確的確認(rèn)包后發(fā)送報文段的個數(shù)加倍,即發(fā)送兩個,發(fā)送端每收到一個新的報文段的確認(rèn)包后就將擁塞窗增加一個MSS值,如此下去,一直到發(fā)送數(shù)據(jù)量達(dá)到一定的門限,即達(dá)到擁塞避免算法的閾值(ssthresh)時,然后TCP將啟用擁塞避免算法。而擁塞避免算法相對于慢啟動算法來說發(fā)送量是線性增長過程。TCP的這個機制導(dǎo)致了在TCP慢啟動階段,RLC層從上層接收的數(shù)據(jù)量大于其本身的發(fā)送能力,造成較多的TCP數(shù)據(jù)包滯留在RLC緩沖區(qū)內(nèi)。而在TCP擁塞避免階段,TCP發(fā)送數(shù)據(jù)量放緩,每收到一個確認(rèn)就只能發(fā)送一個TCP數(shù)據(jù)包,此時RLC從上層接收數(shù)據(jù)速率與RLC發(fā)送速率基本一致,因此RLC緩沖區(qū)始終滯留一定數(shù)量的TCP數(shù)據(jù)包。如果RLC緩沖區(qū)中數(shù)據(jù)量較大,而分配的空口速率相對較低時,則TCP數(shù)據(jù)包的時延較大。這樣一個最近新到的TCP數(shù)據(jù)包如果是用戶的某個請求(比如下載過程中發(fā)起停止某個操作的請求),則必須等到緩沖區(qū)內(nèi)其他SDU都發(fā)送完之后才能發(fā)送響應(yīng),這就是用戶面數(shù)據(jù)響應(yīng)太慢的原因。對此本發(fā)明采用TCP快速重傳和恢復(fù)算法(如前所述,在這里不在贅述),從而抑制慢啟動造成的SDU級數(shù)增長效應(yīng)。實際上RLC緩沖區(qū)只要始終有數(shù)據(jù)可發(fā),即不出現(xiàn)Bo等于0的情況,則可以保證吞吐量。如果在滿足這個要求下設(shè)置的RLC緩沖區(qū)越小,TCP數(shù)據(jù)包在無線網(wǎng)絡(luò)層的環(huán)回時延就越小。端到端的TCP時延=內(nèi)部傳輸時延+TCP數(shù)據(jù)包在無線網(wǎng)絡(luò)層的環(huán)回時延,減少SDU時延小,就可以大大降低數(shù)據(jù)傳輸?shù)亩说蕉藭r延,提高TCP/RLC性能。
為了進一步來說明本發(fā)明的有益效果,請參考以下應(yīng)用實例。假設(shè)網(wǎng)絡(luò)連接的TCP MTU為1460(Ethernet),BLER=10%時,不采用RLC緩沖區(qū)控制算法和采用該算法下3線程TCP下載的測試結(jié)果見下表2。
表2


下面以64K bit/s的數(shù)據(jù)傳輸仿真結(jié)果說明緩沖區(qū)控制門限的設(shè)置過程1、無線網(wǎng)絡(luò)64kbit/s的傳輸速率下進行單線程TCP下載時,不同RLC緩沖區(qū)大小仿真結(jié)果如表3表3

其64k單線程下載不同RLC緩沖區(qū)控制下L3遞交速率和時延的比較結(jié)果,如圖4所示。
2、無線網(wǎng)絡(luò)64kbit/s的傳輸速率下進行3線程TCP同時下載,不同RLC緩沖區(qū)大小仿真結(jié)果如表4所示(溢出方式采用刪除隊列中第一個未處理SDU)表4


由上述可知,無線網(wǎng)絡(luò)64kbit/s的傳輸速率下進行單線程TCP下載時的仿真結(jié)果,在TCP接收緩沖區(qū)為32K時,當(dāng)RLC緩沖區(qū)的限制值大于等于32K后,不會有SDU因溢出RLC緩沖區(qū)而丟棄。而在3線程下載時,建立了3個TCP/IP連接,每個TCP接收緩沖區(qū)為32K,TCP接收緩沖區(qū)總和遠(yuǎn)大于32K,即32KRLC緩沖區(qū)仍然會有SDU溢出丟棄。
因此,RLC緩沖區(qū)控制門限值在小于當(dāng)前對端TCP接收緩沖區(qū)總和時有效,大于或等于該值時不起作用,數(shù)據(jù)傳輸直接受TCP流控控制。對于64K業(yè)務(wù)數(shù)據(jù)量,不論單線程還是多線程,當(dāng)RLC緩沖區(qū)大小限制為8K~12K時,可以明顯降低SDU和TCP RTT時延,同時保證吞吐量基本不受損失。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種無線鏈路控制層緩沖區(qū)溢出的控制方法,所述緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,其特征在于,包括A、預(yù)設(shè)RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;B、無線鏈路控制層RLC對收到的SDU進行預(yù)分段,并根據(jù)預(yù)分段的結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;C、判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于RLC緩沖區(qū)控制門限值,若是,直接進行RLC功能處理,再進行MAC功能處理;否則,直接刪除SDU,更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止,并進行MAC功能處理。
2.根據(jù)權(quán)利要求1所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,所述步驟B的具體過程為RLC根據(jù)控制協(xié)議參數(shù)指定的PDU大小的數(shù)據(jù)塊對收到的SDU進行預(yù)分段,根據(jù)預(yù)分段的結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,其計算公式為Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
3.根據(jù)權(quán)利要求2所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,步驟C中所述進行RLC功能處理的過程為將SDU分割成協(xié)議數(shù)據(jù)單元PDU大小的數(shù)據(jù)塊,并按先進先出的次序插入到PDU隊列中,為每個PDU設(shè)置它所屬的SDU序號,并為該SDU序號對應(yīng)的發(fā)送標(biāo)志置為未發(fā)送標(biāo)志,同時記錄該SDU所分隔的PDU塊數(shù);所述進行MAC功能處理的過程為MAC層對排在PDU隊列中最前的數(shù)據(jù)進行發(fā)送,并更據(jù)該PDU所記錄的SDU序號,通知RLC將該SDU序號對應(yīng)的發(fā)送標(biāo)志設(shè)置為已發(fā)送,同時通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo。
4.根據(jù)權(quán)利要求3所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,所述RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
5.根據(jù)權(quán)利要求1所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,步驟C中所述更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量,其中,所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
6.根據(jù)權(quán)利要求5所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,所述步驟C中TCP快速重傳和恢復(fù)算法包括61)當(dāng)一個SDU在RLC層被丟棄時,則引起對端重發(fā)相同的確認(rèn)包,當(dāng)TCP收到第三個重復(fù)的確認(rèn)包時,設(shè)置閾值=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2,擁塞窗=閾值+3×TCP數(shù)據(jù)包;62)當(dāng)另一個重復(fù)的確認(rèn)包到達(dá)時,擁塞窗增加一個TCP數(shù)據(jù)包的大小,當(dāng)未確認(rèn)的數(shù)據(jù)包總和小于擁塞窗時,開始傳輸下一個新數(shù)據(jù)包;63)當(dāng)下一個確認(rèn)新數(shù)據(jù)的確認(rèn)包到達(dá)時,設(shè)置擁塞窗=閾值,完成快速重傳和恢復(fù)算法,進入擁塞避免。
7.一種無線鏈路控制層緩沖區(qū)溢出的控制方法,所述緩沖區(qū),用于接收和存放來自上層的業(yè)務(wù)數(shù)據(jù)單元SDU,其特征在于,包括A、預(yù)設(shè)置RLC緩沖區(qū)門限值,并初始化代表當(dāng)前RLC緩沖區(qū)所保存數(shù)據(jù)量的控制值Bo為0;B、無線鏈路控制層RLC將收到的SDU直接進行RLC功能處理,并根據(jù)RLC功能處理結(jié)果計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;C、判斷當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo是否小于預(yù)設(shè)RLC緩沖區(qū)控制門限值,若是,直接進行MAC功能處理,并通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;否則,當(dāng)搜索到第一個未發(fā)送的SDU的PDU數(shù)據(jù)時,刪除與所述SDU相關(guān)的所有的PDU數(shù)據(jù),并更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo,觸發(fā)TCP停止發(fā)送新業(yè)務(wù)數(shù)據(jù)到RLC,直到到達(dá)TCP快速重傳和恢復(fù)算法所設(shè)定的門限為止,并進行MAC功能處理。
8.根據(jù)權(quán)利要求7所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,步驟B中所述進行RLC功能處理的過程為將SDU分割成協(xié)議數(shù)據(jù)單元PDU大小的數(shù)據(jù)塊,并按先進先出的次序插入到PDU隊列中,為每個PDU設(shè)置它所屬的SDU序號,并為該SDU序號對應(yīng)的發(fā)送標(biāo)志置為未發(fā)送標(biāo)志,同時記錄該SDU所分隔的PDU塊數(shù);所述計算當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為RLC緩沖區(qū)控制值Bo=原先的Bo+新增的所有PDU的數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
9.根據(jù)權(quán)利要求8所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,步驟C中所述進行MAC功能處理的過程為MAC層對排在PDU隊列中最前的數(shù)據(jù)進行發(fā)送,并更據(jù)該PDU所記錄的SDU序號,通知RLC將該SDU序號對應(yīng)的發(fā)送標(biāo)志設(shè)置為已發(fā)送,同時通知RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo;其中,所述RLC更新當(dāng)前業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的公式為Bo=原先的Bo-已發(fā)送的PDU數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
10.根據(jù)權(quán)利要求8所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,步驟C中所述更新業(yè)務(wù)量的RLC緩沖區(qū)控制值Bo的計算公式為Bo=原先的Bo-已刪除的PDU數(shù)據(jù)量,其中所述Bo為任意時刻RLC緩沖區(qū)內(nèi)所有等待發(fā)送的數(shù)據(jù)量。
11.根據(jù)權(quán)利要求7所述無線鏈路控制層緩沖區(qū)溢出的控制方法,其特征在于,所述步驟C中TCP快速重傳和恢復(fù)算法包括111)當(dāng)一個SDU在RLC層被丟棄時,則引起對端重發(fā)相同的確認(rèn)包,當(dāng)TCP收到第三個重復(fù)的確認(rèn)包時,設(shè)置閾值=TCP實際未確認(rèn)的數(shù)據(jù)包大小總和/2,擁塞窗=閾值+3×TCP數(shù)據(jù)包;112)當(dāng)另一個重復(fù)的確認(rèn)包到達(dá)時,擁塞窗增加一個TCP數(shù)據(jù)包的大小,當(dāng)未確認(rèn)的數(shù)據(jù)包總和小于擁塞窗時,開始傳輸下一個新數(shù)據(jù)包;113)當(dāng)下一個確認(rèn)新數(shù)據(jù)的確認(rèn)包到達(dá)時,設(shè)置擁塞窗=閾值,完成快速重傳和恢復(fù)算法,進入擁塞避免。
全文摘要
本發(fā)明涉及一種無線鏈路控制層緩沖區(qū)溢出的控制方法,包括A.預(yù)設(shè)RLC緩沖區(qū)門限值,并初始化Bo值為0;B.RLC對收到的SDU進行預(yù)分段,根據(jù)結(jié)果計算當(dāng)前Bo值;C.判斷RLC的Bo是否小于RLC緩沖區(qū)門限值,若是,進行RLC功能處理,再進行MAC功能處理;否則,刪除SDU,更新當(dāng)前Bo值,并進行MAC功能處理。本發(fā)明還涉及另一種控制方法,該方法與上述方法的不同為對收到的SDU不用預(yù)分段,直接進行RLC功能處理;另外搜索第一個未發(fā)送標(biāo)志SDU的PDU,并刪除該SDU所有的PDU,其余步驟同上。本發(fā)明對RLC緩沖區(qū)的SDU進行控制,有效降低端到端的時延,提高響應(yīng)速度以及端到端之間的質(zhì)量服務(wù)。
文檔編號H04L29/06GK1812313SQ20051000277
公開日2006年8月2日 申請日期2005年1月26日 優(yōu)先權(quán)日2005年1月26日
發(fā)明者童穎, 王成毅, 許佰魁 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿鲁科尔沁旗| 关岭| 通山县| 根河市| 渭源县| 苍溪县| 博爱县| 兰考县| 马公市| 彩票| 乾安县| 连州市| 巴中市| 黄石市| 湘阴县| 成武县| 垣曲县| 民勤县| 内乡县| 津南区| 公主岭市| 平阳县| 灯塔市| 平和县| 通渭县| 墨脱县| 莱州市| 锦屏县| 界首市| 连平县| 福鼎市| 宁国市| 湘乡市| 郯城县| 尚志市| 潮安县| 湛江市| 托克逊县| 大兴区| 杭州市| 临夏市|