專利名稱:在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)姆椒ê脱b置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及第三代移動通信系統(tǒng)中的無線鏈路控制(RLC, Radio Link Control )層信息傳輸技術(shù),尤其涉及一種在RLC層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序 傳輸(OSD, Out of Sequence SDU Delivery )的方法和裝置。
背景技術(shù):
為有效地利用移動網(wǎng)絡(luò)資源,第三代合作伙伴計劃(3GPP, 3rd Generation Partnership Project)提出了多媒體廣播組播業(yè)務(wù)(MBMS, Multimedia Broadcast Multicast Service )。 3GPP Release6協(xié)i義針對MBMS引入了點到多 點控制信道(MCCH, MBMS point-to-multipoint Control Channel),網(wǎng)絡(luò)側(cè)通 過MCCH向UE發(fā)送相關(guān)的MBMS控制信息。為提高可靠性,網(wǎng)絡(luò)側(cè)將按 照預(yù)設(shè)定的周期重復(fù)地向UE發(fā)送相同的MBMS控制信息,所述周期為重復(fù) 周期。系統(tǒng)還定義了修改周期,修改周期為重復(fù)周期的整數(shù)倍,在每個修改 周期中,傳輸?shù)腗BMS控制信息都相同。網(wǎng)絡(luò)側(cè)通過MCCH向UE發(fā)送 MBMS控制信息的示意圖如圖1所示,不同的陰影表示不同的MBMS控制 信息。圖l中,修改周期為重復(fù)周期的3倍,在各修改周期的3個重復(fù)周期 中,在MCCH上傳輸?shù)腗BMS控制信息相同;但各修改周期中傳輸?shù)目刂?信息可能相同也可能不同。當(dāng)UE在MCCH上,通過RLC層的OSD功能接收信息時,其過程如圖 2所示。在步驟201 ~ 203中,當(dāng)收到一個序號為SN的協(xié)議數(shù)據(jù)單元(PDU, Protocol Data Unit)時,判斷該PDU是否為第 一個PDU,如果是,則初始化 狀態(tài)變量VR (UOH)為該PDU的序號減1,即,VR (UOH) = SN-1。其 中,狀態(tài)變量VR (UOH)表示已收到的最大編號的PDU的SN。在步驟204 中,當(dāng)收到的PDU不是第一個PDU時,判斷該PDU的序號是否在存儲窗 內(nèi)。在步驟205 ~ 207中,如果收到的PDU的序號在存儲窗之內(nèi),即VR( UOH) > SN > VR ( UOH ) - OSD_Window—Size,則判斷是否有相同序號的PDU 已被存儲,如果是,則丟棄收到的PDU;否則,按該PDU的序號,順序存
儲該PDU。其中,OSD—Window—Size表示存儲窗的長度。在步驟208~211 中,如杲收到的PDU的序號在存儲窗外,則將狀態(tài)變量VR(UOH)的值更 新為該PDU的序號,即,VR(UOH) = SN,存儲窗隨之移動;按該PDU 的序號,順序存儲該PDU;刪除所有序號在存儲窗之外的PDU。如果定時 器Timer一OSD啟動,則停止定時器,重啟定時器。上述過程是UE在RLC層采用OSD功能,在一個重復(fù)周期內(nèi)接收PDU 的過程。從存儲在存儲窗內(nèi)的PDU中恢復(fù)出完整的業(yè)務(wù)凄t據(jù)單元(SDU, Service Data Unit ),將得到的SDU發(fā)送到上層,并刪除已恢復(fù)出SDU的PDU,含 有特殊長度指示的PDU除外。如果定時器Timer—OSD超時,則刪除所有存 儲在存儲窗內(nèi)的PDU。上述過程是UE在RLC層采用OSD功能從接收的一個或連續(xù)多個PDU 中恢復(fù)出一個或多個SDU、向上層遞交SDU的過程。如果UE能夠從收到的一個或連續(xù)多個PDU完整地恢復(fù)出一個或多個 SDU,則UE將從RLC層得到的SDU遞交到高層,并刪除恢復(fù)出SDU的 PDU。當(dāng)UE在同 一個修改周期內(nèi)再次收到包含該SDU的PDU時,將再次 恢復(fù)出該SDU并再次將該SDU遞交給上層??梢钥闯?,如果UE在一個修 改周期中重復(fù)地接收到序號相同的PDU,并能夠重復(fù)地恢復(fù)出相同的SDU, 將導(dǎo)致UE重復(fù)地將相同的SDU從RLC層遞交到上層,導(dǎo)致無謂的傳輸, 增力口系統(tǒng)運行的負(fù)擔(dān)。 發(fā)明內(nèi)容有鑒于此,本發(fā)明解決的技術(shù)問題是提供一種在RLC層實現(xiàn)OSD的方 法和裝置,通過該方法和裝置,當(dāng)UE在一個修改周期中重復(fù)地接收到序號 相同的PDU,并能夠重復(fù)地恢復(fù)出相同的SDU時,UE將對該序號的PDU 只處理一次,只做一次SDU的恢復(fù),并將該SDU從RLC層遞交到上層,從 而減少無謂的傳輸,減輕系統(tǒng)的運行負(fù)擔(dān)。本發(fā)明包括一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)姆椒?,包?設(shè)置與協(xié)議數(shù)據(jù)單元PDU的序號相對應(yīng)的標(biāo)志位;在無線鏈路控制RLC
層進(jìn)行業(yè)務(wù)數(shù)據(jù)單元亂序傳輸OSD時,如果PDU的序號位于存儲窗內(nèi)、該 PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值,則存儲該 PDU。其中,按下述步驟設(shè)置與PDU的序號對應(yīng)的標(biāo)志位為PDU的所有序 號分別設(shè)置對應(yīng)的標(biāo)志位。 其中,進(jìn)一步包括如果PDU的序號位于存儲窗外,則重新設(shè)置存儲窗; 將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。其中,按下述步驟設(shè)置與PDU的序號對應(yīng)的標(biāo)志位 設(shè)置與存儲窗的長度OSD一Window一Size同樣數(shù)量的標(biāo)志位; 設(shè)置標(biāo)志位與位于存儲窗內(nèi)的PDU序號的對應(yīng)關(guān)系。 其中,按下述步驟設(shè)置標(biāo)志位與位于存儲窗內(nèi)的PDU序號的對應(yīng)關(guān)系 從0到OSD—Window—Size - 1對標(biāo)志位順序編號; 設(shè)置編號為/的標(biāo)志位和存儲窗內(nèi)距離存儲窗首第/個PDU的序號之間的對應(yīng)關(guān)系,其中,"[O , OSD—Window—Size-l]。 其中,進(jìn)一步包括如果PDU的序號位于存儲窗外,則重新設(shè)置存儲窗,并重新設(shè)置與PDU 的序號對應(yīng)的標(biāo)志位;將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號所 對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。其中,進(jìn)一步包括如果定時器Timer—OSD超時,則刪除所有已存儲的 PDU,將所有的標(biāo)志位都設(shè)置為第一預(yù)設(shè)值。其中,進(jìn)一步包括將已恢復(fù)出業(yè)務(wù)數(shù)據(jù)單元SDU的PDU的序號所對 應(yīng)的標(biāo)志位設(shè)置為第二預(yù)設(shè)值。一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)难b置,包括標(biāo)志位設(shè)置單元,用于設(shè)置與PDU的序號相對應(yīng)的標(biāo)志位;存儲判斷單元,用于在RLC層進(jìn)行OSD時,判斷PDU的序號是否位于 存儲窗內(nèi)、該PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值;PDU存儲單元,用于當(dāng)PDU的序號位于存儲窗內(nèi)、未被存儲而且其對 應(yīng)的標(biāo)志位為第一預(yù)設(shè)值時,存儲該PDU。其中,所述標(biāo)志位設(shè)置單元為PDU的所有序號分別設(shè)置對應(yīng)的標(biāo)志位。 其中,還包括重設(shè)置判斷單元,用于判斷PDU的序號是否位于存儲窗外; 存儲窗重設(shè)置單元,用于當(dāng)PDU的序號位于存儲窗外時,重新設(shè)置存儲窗,將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。 其中,所述標(biāo)志位設(shè)置單元包括標(biāo)志位單元,用于設(shè)置與存儲窗的長度OSD—Window—Size同樣數(shù)量的 標(biāo)志位;對應(yīng)關(guān)系建立單元,用于建立標(biāo)志位與位于存儲窗內(nèi)的PDU序號的對 應(yīng)關(guān)系。其中,所述對應(yīng)關(guān)系建立單元包括標(biāo)志位編號單元,用于從0到OSD一Window一Size - 1對標(biāo)志位順序編對應(yīng)關(guān)系設(shè)置單元,用于設(shè)置編號為/的標(biāo)志位和存儲窗內(nèi)距離存儲窗 首第/個PDU的序號之間的對應(yīng)關(guān)系,其中,/ 6
。其中,還包括重設(shè)置判斷單元,用于判斷PDU的序號是否位于存儲窗外; 存儲窗更新單元,用于當(dāng)PDU的序號位于存儲窗外時,重新設(shè)置存儲 窗,并重新設(shè)置與標(biāo)志位對應(yīng)的PDU序號,將序號位于新的存儲窗之外的 PDU刪除,并將纟皮刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第一預(yù)設(shè)值。 其中,還包括定時器監(jiān)測單元,用于監(jiān)測定時器Timer—OSD;PDU刪除單元,用于當(dāng)定時器Timer_OSD超時后,刪除所有已存儲的 PDU,將所有的標(biāo)志位都設(shè)置為第一預(yù)設(shè)值。
其中,還包括標(biāo)記單元,用于將已恢復(fù)出SDU的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第二預(yù)設(shè)值。在本發(fā)明中,通過設(shè)置標(biāo)志位,可以對已經(jīng)恢復(fù)出SDU的PDU的序號 進(jìn)行標(biāo)記,即將該PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第二預(yù)設(shè)值。然后, 在RLC層進(jìn)行OSD時,當(dāng)PDU的序號位于存儲窗內(nèi)、該PDU未被存儲而 且該PDU的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值時,表明尚未從該序號的PDU 恢復(fù)出SDU,所以存儲該序號的PDU。如果PDU的序號位于存儲窗內(nèi)、該 PDU未被存儲但該PDU的序號所對應(yīng)的標(biāo)志位為第二預(yù)設(shè)值,則表明從該 序號的PDU曾經(jīng)恢復(fù)出SDU,所以不再存儲該序號的PDU??梢钥闯?,在 RLC層進(jìn)行OSD時,通過本發(fā)明所述的方法或裝置將只對尚未恢復(fù)出SDU 的PDU進(jìn)行存儲,從而當(dāng)重復(fù)地接收到相同序號的PDU,并能夠重復(fù)地恢 復(fù)出相同的SDU時,將對該序號的PDU只存儲一次,然后相應(yīng)地只做一次 SDU的恢復(fù),進(jìn)而減少無謂的傳輸,減輕系統(tǒng)的運行負(fù)擔(dān)。
圖1是網(wǎng)絡(luò)側(cè)通過MCCH向UE發(fā)送MBMS控制信息的示意圖; 圖2是UE在RLC層采用OSD功能接收信息的過程; 圖3是本發(fā)明方法實施例1的流程圖; 圖4是本發(fā)明方法實施例2的流程圖; 圖5是本發(fā)明裝置的一個示意圖; 圖6是本發(fā)明裝置的另一個示意圖。
具體實施方式
本發(fā)明的核心思想是通過設(shè)置標(biāo)志位,對已經(jīng)恢復(fù)出SDU的PDU的 序號進(jìn)行標(biāo)記,即將該PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為1。然后,在RLC 層進(jìn)行OSD時,當(dāng)PDU的序號位于存儲窗內(nèi)、該PDU未被存儲而且該PDU 的序號所對應(yīng)的標(biāo)志4立為0時,表明尚未乂人該序號的PDU恢復(fù)出SDU,所 以存儲該序號的PDU。如果PDU的序號位于存儲窗內(nèi)、該PDU未被存儲但 該PDU的序號所對應(yīng)的標(biāo)志位為1,則表明從該序號的PDU曾經(jīng)恢復(fù)出 SDU,所以不再存儲該序號的PDU??梢钥闯觯赗LC層進(jìn)行OSD時,通
過本發(fā)明所述的方法或裝置將只對尚未恢復(fù)出SDU的PDU進(jìn)行存儲,從而 當(dāng)重復(fù)地接收到相同序號的PDU,并能夠重復(fù)地恢復(fù)出相同的SDU時,將 對該序號的PDU只存儲一次,然后相應(yīng)地只做一次SDU的恢復(fù),進(jìn)而減少 無謂的傳輸,減輕系統(tǒng)的運行負(fù)擔(dān)。下面結(jié)合實施例1對本發(fā)明所述的方法做進(jìn)一步具體說明。圖3示出了該方法的流程圖,RLC層配置OSD才莫塊后,在步驟301中, 為PDU的所有序號設(shè)置相應(yīng)的標(biāo)志位,并初始化各標(biāo)志位,即將所有的標(biāo) 志位清零,通過標(biāo)志位可以標(biāo)記已經(jīng)恢復(fù)出SDU并遞交該SDU的PDU。因 為承載控制信息的PDU的序號由7位二進(jìn)制數(shù)表示,即PDU的序號范圍是 0-127,所以可以采用128個比特(bit)的值對PDU的序號進(jìn)行相應(yīng)的標(biāo) 記。0 ~ 127的128個序號對應(yīng)128個bit的值,當(dāng)某個bit的值置1時,表示 與該bit對應(yīng)序號的PDU所承載的SDU已經(jīng)被遞交過;當(dāng)某個bit的值置0 時,表示與該bit對應(yīng)序號的PDU所承載的SDU尚未被遞交過。在設(shè)置與PDU序號對應(yīng)的標(biāo)志位后,在步驟302中,當(dāng)收到一個序號 為SN的PDU時,在步驟303中判斷該PDU是否為第 一個PDU。如果是, 則在步驟304中初始化狀態(tài)變量VR(UOH)為該PDU的序號減1,即,VR (U0H) = SN-1。如果收到的PDU不是第一個PDU,則在步驟305中判斷 該PDU的序號是否在存儲窗內(nèi)。如果收到的PDU的序號在存儲窗之內(nèi),即 VR (UOH) > SN 〉 VR ( UOH) _ OSD—Window_Size,則在步驟306中判 斷是否有相同序號的PDU已^f皮存儲,如果是,則在步驟307中丟棄收到的 PDU;否則,在步驟308中判斷與該PDU的序號SN對應(yīng)的標(biāo)志位是否為1, 如果是,則在步驟309中丟棄該PDU;否則,在步驟310中按該PDU的序 號,順序存儲該PDU。如果收到的PDU的序號在存儲窗之外,則在步驟311中將狀態(tài)變量VR (UOH)的值更新為該PDU的序號,即,VR(UOH)二SN,存儲窗隨之移 動。然后在步驟312中按該PDU的序號,順序存儲該PDU。然后,在步驟 313中刪除所有序號在存儲窗之外的PDU,并將相應(yīng)的標(biāo)志位清零。在步驟 314中,如果定時器Timer—OSD啟動,則停止定時器,重啟定時器。從存儲在存儲窗內(nèi)的PDU中恢復(fù)出完整的SDU,將得到的SDU發(fā)送到
上層,將與已恢復(fù)出SDU的PDU對應(yīng)的標(biāo)志位置1,并刪除已恢復(fù)出SDU 的PDU,含有特殊長度指示的PDU除外。如果定時器Timer一OSD超時,則 刪除所有存儲在存儲窗內(nèi)的PDU,并將所有相應(yīng)的標(biāo)志位清零。更具體地說,因為承載控制信息的PDU的序號由7位二進(jìn)制數(shù)表示, 即PDU的序號范圍是0 127,所以采用128個比特(bit)的值對PDU的序 號進(jìn)行相應(yīng)的標(biāo)記。所述128個標(biāo)志位可以是連續(xù)的128bit存儲空間,也可 以是不連續(xù)的128bit存儲空間,只要各標(biāo)志位與PDU的序號有對應(yīng)關(guān)系即 可,都可以達(dá)到本發(fā)明的目的。為簡化起見,設(shè)置128個bit為連續(xù)的128bit 存儲空間,并將128bit存儲空間也按序號0 ~ 127進(jìn)行定義,序號為0的標(biāo) 志位對應(yīng)的PDU序號為0,序號為1的標(biāo)志位對應(yīng)的PDU序號為1,序號 為2的標(biāo)志位對應(yīng)的PDU序號為2,并依此類推,直至序號為127的標(biāo)志位 對應(yīng)的PDU序號為127,對所有的128個標(biāo)志進(jìn)行初始化,即將128個標(biāo)志 位清零。假設(shè)當(dāng)收到一個序號為IOI的PDU時,判斷該PDU是否為第一個 PDU。如果是,則初始化狀態(tài)變量VR (UOH)為101-1,即,VR(UOH) =100。如果收到的PDU不是第一個PDU,則判斷該PDU的序號101是否在存 儲窗內(nèi)。假設(shè)此時狀態(tài)變量VR (UOH)的值為110,存儲窗的長度 OSD—Window—Size為70,則此時的存儲窗為[110, 41],收到的PDU處于存 儲窗內(nèi),則判斷序號為101的PDU是否已^皮存儲,如果是,則丟棄收到的 PDU;否則,判斷與該PDU的序號101對應(yīng)的標(biāo)志位,即序號為101的標(biāo) 志位,是否為1,如果是,則丟棄該PDU;否則,按該PDU的序號lOl,順 序存儲該PDU。如果此時狀態(tài)變量VR ( UOH )的值為90 ,存儲窗的長度 OSD—Window—Size為70,則此時的存儲窗為[90, 21],收到的PDU的序號 在存儲窗之外,則按該PDU的序號101,順序存儲該PDU。然后,將狀態(tài) 變量VR (UOH)的4直更新為該PDU的序號101 ,即,VR (UOH) = 101 , 存儲窗隨之移動,變?yōu)閇IOI, 32]。然后,刪除所有序號在存儲窗[101, 32] 之外的PDU,并將相應(yīng)的標(biāo)志位清零;假設(shè)序號為25的PDU存儲在原存儲 窗,當(dāng)存儲窗移動到[101, 32]時,則刪除序號為25的PDU,并將相應(yīng)的序
號為25的標(biāo)志位清零。如果定時器TimerJ3SD啟動,則停止定時器,重啟 定時器。如果從存儲在存儲窗[101, 32]內(nèi)的序號為60的PDU中能恢復(fù)出完整的 SDU,則將得到的SDU發(fā)送到上層,將相應(yīng)的序號為60的標(biāo)志位置1,并 刪除序號為60的PDU,當(dāng)再次收到序號為60的PDU時,將丟棄該PDU。 如果定時器Timer—OSD超時,則刪除所有存儲在存儲窗[101, 32]內(nèi)的PDU, 并將相應(yīng)的序號為32 ~ 101的標(biāo)志位清零。可以看出,在實施例1中,通過為所有的PDU序號建立標(biāo)志位,并通 過標(biāo)志位對相應(yīng)序號的PDU進(jìn)行標(biāo)記,從而可以知道哪些序號的PDU所承 載的SDU已被遞交過,進(jìn)而可以對重復(fù)收到的相同序號的PDU進(jìn)行丟棄, 不再處理和向上遞交,減少無謂的傳輸,減輕系統(tǒng)的運行負(fù)擔(dān)。在實施例1中,通過采用128個bit的標(biāo)志位,可以對PDU全部的128 個序號進(jìn)行標(biāo)記。在實際情況中,從OSD的執(zhí)行過程可以看出,整個接收 過程都是由長度為OSD—Window—Size的滑動存儲窗來控制的,也就是說, 只有在存儲窗內(nèi)的PDU才是有效的PDU,因此可以采用OSD—Window—Size 個標(biāo)志位對在存儲窗內(nèi)的PDU的序號進(jìn)行標(biāo)記,從而實現(xiàn)本發(fā)明的目的。下面結(jié)合實施例2對該方法做進(jìn)一步具體說明,圖4示出了該方法的流 程圖。由于存儲窗的長度OSD—Window_Size是系統(tǒng)預(yù)設(shè)定的值,所以在步驟 401中,設(shè)置OSD_Window—Size個標(biāo)志位,為各標(biāo)志位編號,并初始化各標(biāo) 志位,即將各標(biāo)志位清零,標(biāo)志位的編號為《,/€
。如果將狀態(tài)變量VR (UOH)定義為存儲窗首,將VR (UOH)-OSD—Window—Size + 1定義為存儲窗尾,則f表示距離存儲窗首第i個PDU 所對應(yīng)的標(biāo)志位。P。表示距離存儲窗首為0的PDU所對應(yīng)的標(biāo)志位,即序 號為VR (UOH)的PDU所對應(yīng)的標(biāo)志位;/^恥油M,.、m表示距離存儲窗首 距離為OSD一Window一Size - 1的PDU所對應(yīng)的標(biāo)志位,即存儲窗尾的PDU 所對應(yīng)的標(biāo)志位。當(dāng)距離存儲窗首第i個PDU所承載的SDU已經(jīng)被遞交過 時,相應(yīng)的《將#_置1;當(dāng)f被置0時,表示與該《對應(yīng)的PDU所承載的SDU 尚未^皮遞交過。
在設(shè)置與存儲窗內(nèi)各PDU對應(yīng)的標(biāo)志位f后,/ e
,在步驟402中,當(dāng)收到 一個序號為SN的PDU時, 在步驟403中判斷該PDU是否為第一個PDU。如果是,則在步驟404中初 始化狀態(tài)變量VR (UOH)為該PDU的序號減1,即,VR (UOH) = SN-1 。 如果收到的PDU不是第一個PDU,則在步驟405中判斷該PDU的序號是否 在存儲窗內(nèi)。如果收到的PDU的序號在存儲窗之內(nèi),即VR(UOH) >SN 〉VR(UOH) - OSD—Window—Size,則在步驟406中判斷是否有相同序號 的PDU已被存儲,如果是,則在步驟407中丟棄收到的PDU;否則,在步 驟408中判斷與該PDU的序號SN對應(yīng)的標(biāo)志位/Vw/wo_,w ,即 / = ra(W9//)-SV,是否為l,如果是,則在步驟409中丟棄該PDU;否則, 在步驟410中按該PDU的序號,順序存儲該PDU。
如果收到的PDU的序號在存儲窗之外,則在步驟411中將狀態(tài)變量VR (UOH)的值更新為該PDU的序號,即,VR(UOH)=SN,存儲窗隨之移 動。此時,將重新設(shè)置與標(biāo)志位對應(yīng)的PDU序號。然后在步驟412中按該 PDU的序號,順序存儲該PDU。然后,在步驟413中刪除所有序號在存儲 窗之外的PDU,并將相應(yīng)的標(biāo)志位清零。在步驟414中,如果定時器 Timer一OSD啟動,則停止定時器,重啟定時器。從存儲在存儲窗內(nèi)的PDU中恢復(fù)出完整的SDU,將得到的SDU發(fā)送到 上層,將已恢復(fù)出SDU的PDU所對應(yīng)的標(biāo)志位置1,并刪除已恢復(fù)出SDU 的PDU,含有特殊長度指示的PDU除外。如果定時器Timer—OSD超時,則 刪除所有存儲在存儲窗內(nèi)的PDU,并將所有相應(yīng)的標(biāo)志位清零。
更具體地說,有l(wèi)i殳存儲窗的長度OSD_Window—Size為70,則設(shè)置70 個標(biāo)志位,標(biāo)志位的編號為f, ,'e[O , 69]。如果將狀態(tài)變量VR (UOH) 定義為存儲窗首,將VR(UOH) -69定義為存儲窗尾,則《表示距離儲窗 首第i個PDU所對應(yīng)的標(biāo)志位。
在設(shè)置與存儲窗內(nèi)各PDU對應(yīng)的標(biāo)志位f后,/ G
,對各標(biāo)志 位初始化,即將70個標(biāo)志位清零。當(dāng)收到一個序號為101的PDU時,判斷 該PDU是否為第一個PDU。如杲是,則初始化狀態(tài)變量VR( UOH)為101-1, 即,VR (UOH) =100。此時,存儲窗為[100, 31],序號為31的PDU對應(yīng) ,序號為32的PDU對應(yīng)的標(biāo)志位的序號是i^ ,并依此 類推,序號為100的PDU對應(yīng)的標(biāo)志位的序號是/3。。如果收到的PDU不是第一個PDU,則判斷該PDU的序號是否在存儲窗 內(nèi)。假設(shè)此時狀態(tài)變量VR(UOH)的值為110,則此時的存儲窗為[IIO, 41], 收到的PDU處于存儲窗內(nèi),則判斷序號為101的PDU是否已被存儲,如果 是,則丟棄收到的PDU;否則,判斷與該PDU的序號101對應(yīng)的標(biāo)志位, 即序號為A的標(biāo)志位,是否為l,如果是,則丟棄該PDU;否則,按該PDU 的序號IOI,順序存儲該PDU。如果此時狀態(tài)變量VR (UOH)的值為90,則此時的存儲窗為[卯,21], 收到的PDU的序號在存儲窗之外,則按該PDU的序號101,順序存儲該PDU。 然后,將狀態(tài)變量VR(UOH)的值更新為該PDU的序號101,即,VR(UOH) =101,存儲窗隨之移動,變?yōu)閇IOI, 32],此時,與標(biāo)志位f;對應(yīng)的PDU序 號,也由[90, 21]變?yōu)閇101, 32], "[O , 69]。然后,刪除所有序號在存儲 窗[IOI, 32]之外的PDU,并將相應(yīng)的標(biāo)志位清零;假設(shè)序號為25的PDU存 儲在原存儲窗,相應(yīng)的標(biāo)志位序號為&;當(dāng)存儲窗移動到[IOI, 32]時,則刪 除序號為25的PDU,并將序號為&的標(biāo)志位清零。如果定時器Timer—OSD 啟動,則停止定時器,重啟定時器。如果從存儲在存儲窗[IOI, 32]內(nèi)的序號為60的PDU中能恢復(fù)出完整的 SDU,則將得到的SDU發(fā)送到上層,將相應(yīng)的序號為g,的標(biāo)志位置1,并刪 除序號為60的PDU,當(dāng)再次收到序號為60的PDU時,將丟棄該PDU。如 果定時器Timer—OSD超時,則刪除所有存儲在存儲窗[IOI, 32]內(nèi)的PDU, 并將相應(yīng)的序號為尸。~ /^的標(biāo)志位清零。可以看出,實施例2與實施例1的不同之處在于,通過為存儲窗內(nèi)的PDU 設(shè)置標(biāo)志位,并通過標(biāo)志位對相應(yīng)的PDU的序號進(jìn)行標(biāo)記,乂人而可以知道 哪些序號的PDU所承載的SDU已被遞交過,進(jìn)而可以對重復(fù)收到的相同序 號的PDU進(jìn)行丟棄,不再處理和向上遞交,同樣達(dá)到了減少無謂的傳輸, 減輕系統(tǒng)的運行負(fù)擔(dān)的目的?;谏鲜龇椒ǎ景l(fā)明還提供一種在RLC層實現(xiàn)OSD的裝置。下面結(jié) 合實施例對該裝置做進(jìn)一步具體說明。
圖5是該裝置的示意圖,在RLC層實現(xiàn)OSD的裝置,包括標(biāo)志位設(shè) 置單元51、存儲判斷單元52、 PDU存儲單元53、重設(shè)置判斷單元54、存儲 窗重設(shè)置單元55、定時器監(jiān)測單元56、 PDU刪除單元57和標(biāo)記單元58。通過標(biāo)志位i殳置單元51直接為PDU的所有序號分別"i殳置對應(yīng)的標(biāo)志 位,并對各標(biāo)志位初始化,即將各標(biāo)志位清零。在RLC層進(jìn)行OSD時,當(dāng) 收到一個序號為SN的PDU時,通過存儲判斷單元52判斷PDU的序號是否 位于存儲窗內(nèi)、該PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為0。 當(dāng)PDU的序號位于存儲窗內(nèi)、未被存儲而且其對應(yīng)的標(biāo)志位為0時,PDU 存儲單元53將存儲該PDU。在RLC層進(jìn)行OSD時,當(dāng)收到一個序號為SN 的PDU時,通過重設(shè)置判斷單元54判斷該PDU的序號是否位于存儲窗夕卜。 當(dāng)該PDU的序號位于存儲窗外時,通過存儲窗重設(shè)置單元55重新設(shè)置存儲 窗,將序號位于新的存儲窗之外的PDU刪除,并將纟皮刪除的PDU的序號所 對應(yīng)的標(biāo)志位設(shè)置為0。在RLC層進(jìn)行OSD時,定時器監(jiān)測單元56將對定時器Timer_OSD進(jìn) 行監(jiān)測。當(dāng)定時器Timer—OSD超時后,PDU刪除單元57將刪除所有已存儲 的PDU,將所有的標(biāo)志位都設(shè)置為0。在RLC層進(jìn)行OSD時,如果從存儲的PDU中恢復(fù)出SDU,則標(biāo)記單 元58將該PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為1。在上述裝置實施例中,通過標(biāo)志位設(shè)置單元直接為PDU的所有序號分 別設(shè)置對應(yīng)的標(biāo)志位。在實際情況中,可以采用OSD一Window—Size個標(biāo)志 位對在存儲窗內(nèi)的PDU的序號進(jìn)行標(biāo)記,從而實現(xiàn)本發(fā)明的目的。下面結(jié)合實施例對該裝置做進(jìn)一步具體說明。圖6示出了該裝置的示意圖,在RLC層實現(xiàn)OSD的裝置,包括標(biāo)志 位設(shè)置單元61、存儲判斷單元62、 PDU存儲單元63、重設(shè)置判斷單元64、 存儲窗更新單元65、定時器監(jiān)測單元66、 PDU刪除單元67和標(biāo)記單元68。 所述標(biāo)志位設(shè)置單元61包括標(biāo)志位單元611和對應(yīng)關(guān)系建立單元612。 所述標(biāo)志位單元611用于按照存儲窗的長度OSD_Window—Size,設(shè)置同 樣數(shù)量的標(biāo)志位;并通it^十應(yīng)關(guān)系建立單元612建立標(biāo)志位與位于存儲窗內(nèi) 的PDU序號的對應(yīng)關(guān)系。
其中,對應(yīng)關(guān)系建立單元612包括標(biāo)志位編號單元6121和對應(yīng)關(guān)系 設(shè)置單元6122。標(biāo)志位編號單元6121用于從0到OSD—Window—Size - 1對標(biāo)志位順序 編號。對應(yīng)關(guān)系設(shè)置單元6122則用于設(shè)置編號為/的標(biāo)志位和存儲窗內(nèi)距離 存儲窗首第/個PDU的序號之間的對應(yīng)關(guān)系,其中,f 6
。通過標(biāo)志位設(shè)置單元61為存儲窗內(nèi)的PDU的序號設(shè)置相應(yīng)的標(biāo)志位, 并對各標(biāo)志位初始化,即將各標(biāo)志位清零。在RLC層進(jìn)行OSD時,當(dāng)收到 一個序號為SN的PDU時,通過存儲判斷單元62判斷PDU的序號是否位于 存儲窗內(nèi)、該PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為0。當(dāng)PDU 的序號位于存儲窗內(nèi)、未被存儲而且其對應(yīng)的標(biāo)志位為0時,PDU存儲單元 63將存儲該PDU。在RLC層進(jìn)行OSD時,當(dāng)收到一個序號為SN的PDU 時,通過重設(shè)置判斷單元64判斷該PDU的序號是否位于存儲窗夕卜。當(dāng)該PDU 的序號位于存儲窗外時,通過存儲窗更新單元65重新設(shè)置存儲窗,并重新設(shè) 置與標(biāo)志位對應(yīng)的PDU序號,將序號位于新的存儲窗之外的PDU刪除,并 將被刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為0。在RLC層進(jìn)行OSD時,定時器監(jiān)測單元66將對定時器Timer—OSD進(jìn) 行監(jiān)測。當(dāng)定時器Timer一OSD超時后,PDU刪除單元67將刪除所有已存儲 的PDU,將所有的標(biāo)志位都設(shè)置為0。在RLC層進(jìn)行OSD時,如果從存儲的PDU中恢復(fù)出SDU,則標(biāo)記單 元68將該PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為1。以上所述的實施例僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā) 明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)姆椒?,其特征在于,包括設(shè)置與協(xié)議數(shù)據(jù)單元PDU的序號相對應(yīng)的標(biāo)志位;在無線鏈路控制RLC層進(jìn)行業(yè)務(wù)數(shù)據(jù)單元亂序傳輸OSD時,如果PDU的序號位于存儲窗內(nèi)、該PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值,則存儲該PDU。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,按下述步驟設(shè)置與PDU 的序號對應(yīng)的標(biāo)志位為PDU的所有序號分別i殳置對應(yīng)的標(biāo)志位。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,進(jìn)一步包括 如果PDU的序號位于存儲窗外,則重新設(shè)置存儲窗; 將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,按下述步驟設(shè)置與PDU的序號對應(yīng)的標(biāo)志位設(shè)置與存儲窗的長度OSD_Window_Size同樣數(shù)量的標(biāo)志位;設(shè)置標(biāo)志位與位于存儲窗內(nèi)的PDU序號的對應(yīng)關(guān)系。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,按下述步驟設(shè)置標(biāo)志位 與位于存儲窗內(nèi)的PDU序號的對應(yīng)關(guān)系從0到OSD—Window—Size - 1對標(biāo)志位順序編號; 設(shè)置編號為/的標(biāo)志位和存儲窗內(nèi)距離存儲窗首第/個PDU的序號之間 的對應(yīng)關(guān)系,其中,/ 6
。
6、 根據(jù)權(quán)利要求4所述的方法,其特征在于,進(jìn)一步包括如果PDU的序號位于存儲窗外,則重新設(shè)置存儲窗,并重新設(shè)置與PDU 的序號對應(yīng)的標(biāo)志位;將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號所 對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。
7、 根據(jù)權(quán)利要求1至6任意一項所述的方法,其特征在于,進(jìn)一步包 括如杲定時器Timer—OSD超時,則刪除所有已存儲的PDU,將所有的標(biāo) 志位都設(shè)置為第一預(yù)設(shè)值。
8、 根據(jù)權(quán)利要求1至6任意一項所述的方法,其特征在于,進(jìn)一步包 括將已恢復(fù)出業(yè)務(wù)數(shù)據(jù)單元SDU的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第 二預(yù)設(shè)值。
9、 一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)难b置,其特征 在于,包括標(biāo)志位設(shè)置單元,用于設(shè)置與PDU的序號相對應(yīng)的標(biāo)志位; 存儲判斷單元,用于在RLC層進(jìn)行OSD時,判斷PDU的序號是否位于存儲窗內(nèi)、該PDU未被存儲而且該PDU的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值;PDU存儲單元,用于當(dāng)PDU的序號位于存儲窗內(nèi)、未被存儲而且其對 應(yīng)的標(biāo)志位為第一預(yù)設(shè)值時,存儲該PDU。
10、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述標(biāo)志位設(shè)置單元為 PDU的所有序號分別設(shè)置對應(yīng)的標(biāo)志位。
11、 根據(jù)權(quán)利要求IO所述的裝置,其特征在于,還包括 重設(shè)置判斷單元,用于判斷PDU的序號是否位于存儲窗外; 存儲窗重設(shè)置單元,用于當(dāng)PDU的序號位于存儲窗外時,重新設(shè)置存儲窗,將序號位于新的存儲窗之外的PDU刪除,并將被刪除的PDU的序號 所對應(yīng)的標(biāo)志位設(shè)置為第 一預(yù)設(shè)值。
12、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述標(biāo)志位設(shè)置單元包括標(biāo)志位單元,用于設(shè)置與存儲窗的長度OSD—Window—Size同樣數(shù)量的 標(biāo)志位;對應(yīng)關(guān)系建立單元,用于建立標(biāo)志位與位于存儲窗內(nèi)的PDU序號的對 應(yīng)關(guān)系。
13、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述對應(yīng)關(guān)系建立單 元包括標(biāo)志位編號單元,用于從0到OSD—Window—Size - 1對標(biāo)志位順序編號;對應(yīng)關(guān)系設(shè)置單元,用于設(shè)置編號為/的標(biāo)志位和存儲窗內(nèi)距離存儲窗首第/個PDU的序號之間的對應(yīng)關(guān)系,其中,,G[O , OSD—Window—Size-l]。
14、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括 重設(shè)置判斷單元,用于判斷PDU的序號是否位于存儲窗外; 存儲窗更新單元,用于當(dāng)PDU的序號位于存儲窗外時,重新設(shè)置存儲窗,并重新設(shè)置與標(biāo)志位對應(yīng)的PDU序號,將序號位于新的存儲窗之外的 PDU刪除,并將被刪除的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第一預(yù)設(shè)值。
15、 根據(jù)權(quán)利要求9至14任意一項所述的裝置,其特征在于,還包括: 定時器監(jiān)測單元,用于監(jiān)測定時器Timer一OSD;PDU刪除單元,用于當(dāng)定時器Timer—OSD超時后,刪除所有已存儲的 PDU,將所有的標(biāo)志位都設(shè)置為第一預(yù)設(shè)值。
16、 根據(jù)權(quán)利要求9至14任意一項所述的裝置,其特征在于,還包括: 標(biāo)記單元,用于將已恢復(fù)出SDU的PDU的序號所對應(yīng)的標(biāo)志位設(shè)置為第二預(yù)設(shè)值。
全文摘要
本發(fā)明公開一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)姆椒?,包括設(shè)置與協(xié)議數(shù)據(jù)單元的序號相對應(yīng)的標(biāo)志位;在無線鏈路控制層進(jìn)行業(yè)務(wù)數(shù)據(jù)單元亂序傳輸時,如果協(xié)議數(shù)據(jù)單元的序號位于存儲窗內(nèi)、該協(xié)議數(shù)據(jù)單元未被存儲而且該協(xié)議數(shù)據(jù)單元的序號所對應(yīng)的標(biāo)志位為第一預(yù)設(shè)值,則存儲該協(xié)議數(shù)據(jù)單元。本發(fā)明同時公開一種在無線鏈路控制層實現(xiàn)業(yè)務(wù)數(shù)據(jù)單元亂序傳輸?shù)难b置。
文檔編號H04L29/06GK101132356SQ200610112588
公開日2008年2月27日 申請日期2006年8月24日 優(yōu)先權(quán)日2006年8月24日
發(fā)明者磊 毛, 胡金玲 申請人:大唐移動通信設(shè)備有限公司