專利名稱:基于調(diào)度狀態(tài)的Iub口流量控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通訊領(lǐng)域,特別涉及一種基于調(diào)度狀態(tài)的Iub 口流量控制方法。
背景技術(shù):
隨著移動通訊技術(shù)從高速下行分組接入(HSDPA)技術(shù)演進到高速分組接入增強 (HSPA+)技術(shù),在HSPA+技術(shù)中數(shù)據(jù)調(diào)度依然在基站(Node B)側(cè)執(zhí)行,從無線網(wǎng)絡(luò)控制器 (RNC)發(fā)來的MAC-d PDU(MAC-d協(xié)議數(shù)據(jù)單元)需要在Node B側(cè)進行緩存,等待Node B中 MAC-ehs實體的調(diào)度,其中,需要說明的是,MAC-d實體是處理專用傳輸信道的媒體訪問控制(MAC)實體,MAC-d實體位于RNC中,MAC-ehs實體是處理高速下行共享信道的MAC實體, MAC-ehs實體位于Node B中。由于空口的復雜性和移動信道的不確定性,用戶數(shù)據(jù)在空口的實際速率受到調(diào)度算法性能的影響,同時也直接影響用戶數(shù)據(jù)在Node B側(cè)的緩存,為了避免Node B側(cè)緩存區(qū)發(fā)生擁塞,導致緩存數(shù)據(jù)排隊時延超出MAC層的高層配置的丟棄時延 (discardtimer)而被丟棄,需要在Iub 口引入流量控制機制。流量控制主要根據(jù)用戶在空口的實際傳輸能力采用一種動態(tài)的方式控制MAC-d PDU在Iub 口上的傳輸,使Node B側(cè)的用戶緩存數(shù)據(jù)量不至于過滿也不至于過空,保證用戶緩存中的數(shù)據(jù)量足以支持空口上動態(tài)可變的數(shù)據(jù)傳輸需求。其中,空口是指Node B與用戶設(shè)備(UE)之間的接口,也稱Uu 口,而 Iub 口是指RNC與Node B之間的接口。流量控制需要Node B和RNC兩端進行配合,通過Iub 口的容量請求控制幀和容量分配控制幀的交互來運行。具體而言,RNC通過向Node B發(fā)送容量請求控制幀指示用戶數(shù)據(jù)在RNC的存儲情況,并要求Node B回應(yīng)容量分配控制幀以分配該用戶的數(shù)據(jù)發(fā)送容量; Node B通過容量分配控制幀告知RNC可以使用的數(shù)據(jù)流發(fā)送的速率及該速率有效的時間。 需要說明的是,并不是只有收到來自RNC的容量請求控制幀才能發(fā)送容量分配控制幀,大多數(shù)情況下并沒有容量請求控制幀,而是由Node B主動根據(jù)緩存隊列和用戶信道狀況進行判斷,自己決定是否發(fā)送容量分配控制幀。在HSPA+系統(tǒng)中,定義了HS-DSCH CAPACITY ALLOCATION TYPE 2 容量分配控制幀, 下面對容量分配控制幀包括的主要字段及其意義進行說明CmCH-PI 用于指示優(yōu)先級隊列的優(yōu)先級,其中,優(yōu)先級隊列常被稱為PQ隊列;Maximum MAC-d PDU length 用于指示最大允許的MAC_d PDU長度,協(xié)議中最大 1504比特;HS-DSCH hterval 用于指示 HS-DSCH Credits 授權(quán)的時間間隔,其中,HS-DSCH 的含義為高速下行共享信道;HS-DSCH Credits 用于指示 RNC 在 HS-DSCH Interval 內(nèi)發(fā)送的 MAC-dPDU 總數(shù)據(jù)量,以字節(jié)表示,其等于MAC-d PDU長度與MAC-d PDU數(shù)目的乘積。HS-DSCH Repetition Period 用于指示HS-DSCH Credits授權(quán)的重復周期,其中, HS-DSCH Repetition Period為0表示重復周期不限;Congestion Status 用于指示下行傳輸網(wǎng)絡(luò)層是否檢測到擁塞。
具體地說,現(xiàn)有技術(shù)主要提出了以下幾種Iub 口流量控制方法(本文所述“流控” 和“流量控制”均指進行Iub 口的流量控制)申請?zhí)枮?00810101764. 4的發(fā)明專利提出針對業(yè)務(wù)的不同流量控制需求進行適應(yīng)性流量控制的方法根據(jù)RNC的業(yè)務(wù)合同設(shè)置優(yōu)先級隊列中數(shù)據(jù)緩存量的高門限和低門限,當優(yōu)先級隊列的數(shù)據(jù)緩存量超出其高門限時通知RNC停止該優(yōu)先級隊列的數(shù)據(jù)發(fā)送, 當優(yōu)先級隊列的數(shù)據(jù)緩存量低于其低門限時,Node B為優(yōu)先級隊列重新分配Iub 口速率, 通知RNC以重新分配的速率進行數(shù)據(jù)的發(fā)送。優(yōu)先級隊列的緩存數(shù)據(jù)量超出高門限或低于低門限時進行門限值更新。申請?zhí)?00610084695. 1的發(fā)明專利提出一種Iub 口流量控制方法參考容量分配控制幀參數(shù)和Uu 口最大傳輸能力設(shè)置PQ隊列中的數(shù)據(jù)量的高門限和低門限,定義觸發(fā)事件包括PQ隊列被調(diào)度傳輸、收到RNC數(shù)據(jù)幀或收到RNC容量請求控制幀;Node B收到觸發(fā)事件后,檢測PQ隊列中的數(shù)據(jù)量,并判斷該數(shù)據(jù)量與門限值之間的關(guān)系,根據(jù)數(shù)據(jù)量與門限值之間的關(guān)系向RNC發(fā)送允許其下發(fā)數(shù)據(jù)的容量分配控制幀或禁止其下發(fā)數(shù)據(jù)的容量分配控制幀。允許下發(fā)數(shù)據(jù)時,計算PQ隊列Iub 口的Mac-d PDU個數(shù)為(空口傳輸速率 *HS-DSCH Interval)/(Mac-d PDU 長度最大值)。申請?zhí)枮?00610089213. 1的發(fā)明專利提出一種Iub 口流量控制方法RNC每隔 IOOms發(fā)送容量請求控制幀給Node B,通知各個隊列的緩存占用信息;Node B每隔IOOms 測量各個隊列的空口平均傳輸速率,根據(jù)緩存占用信息設(shè)定重復周期T,計算獲得各個隊列 Iub 口的Mac-d PDU個數(shù)為(空口平均傳輸速率*T) / (Mac-d PDU長度最大值),為每個隊列選擇下一個IOOms的Iub 口傳輸數(shù)據(jù)塊的大小和重復周期,并發(fā)送容量分配幀給RNC。此夕卜,設(shè)定容量分配的最長等待時間和隊列緩存數(shù)據(jù)量的最小值,若容量分配等待時間超出該最長等待時間或緩存數(shù)據(jù)量小于該最小緩存數(shù)據(jù)量,則按照IOOms可傳輸?shù)淖畲竽芰?yōu)先進行容量分配。然而,上述三個發(fā)明專利在觸發(fā)流控命令后,都只會根據(jù)空口速率計算向RNC索要的數(shù)據(jù)量,以使下一個周期的Iub 口速率等于當前統(tǒng)計出的空口速率,而不管此時調(diào)度狀態(tài)如何。當小區(qū)中用戶數(shù)較少,或者用戶信道環(huán)境較好的情況下,通過空口調(diào)度發(fā)送以及緩存上限和緩存下限的流量控制,PQ隊列的數(shù)據(jù)量可以較快恢復到正常狀態(tài),維持緩存器的出入平衡。而在用戶數(shù)較多,或者用戶很長一段時間處于信道環(huán)境較差的情況下,多個 PQ隊列等待調(diào)度,由于用戶信道環(huán)境的影響或調(diào)度算法處理策略的影響,PQ隊列的平均等待調(diào)度時間往往比較長。當PQ隊列長時間沒有得到調(diào)度,對緩存器而言,數(shù)據(jù)只有進沒有出,導致緩存數(shù)據(jù)一直累積,直到觸發(fā)緩存上限流控才會停止接收新的數(shù)據(jù)。此時,一方面, 調(diào)度算法會對PQ隊列啟動緊急調(diào)度,以減輕PQ隊列的緩存負擔,緩存數(shù)據(jù)量因此減少;另一方面,調(diào)度算法來不及處理,PQ隊列緩存因排隊超時而直接丟棄數(shù)據(jù),緩存數(shù)據(jù)量也開始減少。對于上述兩種情況,當緩存減少到低于緩存上限時,現(xiàn)有流控方法簡單地判斷為緩存警報解除,又開始以正常速率向PQ隊列輸送數(shù)據(jù)。而此時PQ隊列的信道環(huán)境仍然沒有好轉(zhuǎn),緩存數(shù)據(jù)的減少不是因為空口正常調(diào)度發(fā)送,而是被緊急調(diào)度或丟包消耗掉,那么這時候緩存數(shù)據(jù)雖然也會下降,但實際上以當前用戶所處的調(diào)度狀態(tài)或用戶空口傳輸狀況而言,恰好相反是不需要更多的緩存數(shù)據(jù)堆積在緩存隊列中的。因此,如果仍然繼續(xù)接收新的數(shù)據(jù)包則會越發(fā)導致緩存積壓,會導致頻繁觸發(fā)緩存上限流控和緊急調(diào)度,甚至增加了丟包的幾率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種基于調(diào)度狀態(tài)的Iub 口流量控制方法,減少丟包的幾率。為實現(xiàn)上述發(fā)明目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法,預(yù)先配置周期定時器的長度Trc pCTi。d, 周期定時器的長度Trcj)CTi。d為一個流控周期,每一流控周期的結(jié)束時刻為一周期流控點,該方法包括A、每子幀記錄當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài);B、每子幀判斷周期定時器是否到期,如果是,則采用周期定時觸發(fā)方式、并根據(jù)步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài);否則,采用特定事件觸發(fā)方式、并根據(jù)步驟A 中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài)。所述采用周期定時觸發(fā)方式、并根據(jù)步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub 口的流量控制的方法包括Al、更新緩存上限 PQ_high_Buffer_Size 和緩存下限 PQ_low_Buffer_Size ;A2、判斷當前優(yōu)先級隊列(PQ隊列)的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_SiZe,如果是,則執(zhí)行上限流控, 并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A3 ;A3、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A4 ;A4、判斷當前PQ隊列在當前時刻是否被緊急調(diào)度,如果是,則執(zhí)行緊急流控,并存儲或更新本次緊急流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A5 ;A5、判斷步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)Sl是否為緊急調(diào)度或丟包,如果是,則執(zhí)行第二類型正常流控,并存儲或更新本次第二類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2;否則,執(zhí)行第一類型正常流控,并存儲或更新本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2。所述采用特定事件觸發(fā)方式、并根據(jù)步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub 口的流量控制的方法包括Bi、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_SiZe或步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)Sl為緊急狀態(tài)調(diào)度,如果是,則執(zhí)行步驟B2 ;否則,執(zhí)行步驟B3 ;B2、如果步驟Bl中所述調(diào)度狀態(tài)Sl為緊急狀態(tài)調(diào)度,則判斷距離當前時刻最近的一次流控的類型是否為緊急流控,如果是緊急流控,則不進行流控;如果不是緊急流控否貝U,則執(zhí)行緊急流控,并存儲或更新本次緊急流控上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;如果步驟Bl所述緩存數(shù)據(jù)量PQ_Buffer_SiZe大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_SiZe,則判斷距離當前時刻最近的一次流控的類型是否為上限流控或緊急流控,如果是,則不進行流控;否則,執(zhí)行上限流控,并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;B3、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行步驟B4 ;否則,執(zhí)行步驟 B5 ;B4、判斷距離當前時刻最近的一次流控的類型是否為下限流控,如果是,則不進行流控;否則,執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;B5、條件一,距離當前時刻最近的一次流控為第二類型正常流控,且所對應(yīng)的調(diào)度狀態(tài)S2為緊急調(diào)度或丟包,條件二,步驟A中所記錄的調(diào)度狀態(tài)Sl為正常調(diào)度,判斷是否同時滿足上述條件一和二,如果是,則執(zhí)行第一類型正常流控,并存儲或更新本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,不執(zhí)行流控。步驟Al中所述更新緩存上限的方法為計算PQ_high_Buffer_SiZe = Ratepg OUtX (Tfflax-Thigh Kemain),其中,PQ_high-Buffer_Size 為緩存上限,Ratepe out 為當前 PQ 隊列在當前時刻的平均出隊速率,Tmax為緩存排隊時間門限,Thigh remain為緩存上限調(diào)節(jié)參數(shù),Thigh remain用于彌補速率抖動對緩存上限的影響,并可用于控制緊急調(diào)度和丟包率。步驟Al中所述更新緩存下限的方法為計算PQ_loW_Buffer_SiZe = aX Ratepg 。utχ Tfeedbaek,其中,PQ_l0W_Buffer_Size為緩存下限,RatePQ。ut為當前PQ隊列在當前時刻的平均出隊速率,a為下限防抖動因子,a取大于0的正整數(shù),Tfradbadt為容量分配控制幀在基站Node B和無線網(wǎng)絡(luò)控制器RNC之間的往返時延。所述t atePQ。ut 的計算方法為計算徹 ρ , =(\ -~r-)y.RatePQ mil + + P(J m<l ,
11'C11'C
其中,Rate:。ut為當前PQ隊列在當前時刻的前一時刻的平均出隊速率,Rpq。ut為當前PQ隊列在當前時刻的瞬時出隊速率,Trc為濾波因子。所述緊急流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為0 ;所述下限流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為Bneed2,
Bneed2 大于 B
needl, 其中Bneedl = Ratepe out X Tpc period ;所述上限流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為0 ;所述第一類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為
D·
^needl >所述第二類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為 O0可見,根據(jù)本發(fā)明所提供的技術(shù)方案,除了參考緩存數(shù)據(jù)量大小外,還依據(jù)PQ隊列的調(diào)度狀態(tài)判斷從而進行Iub 口的流量控制,避免在緩存數(shù)據(jù)的減少是因為被緊急調(diào)度或丟包消耗掉的情況下的緩存積壓,因此避免了頻繁觸發(fā)緩存上限流控和緊急調(diào)度,減少丟包的幾率。
圖1為本發(fā)明所提供的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法的流程圖。圖2為本發(fā)明所提供的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法的實施例的流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。圖1為本發(fā)明所提供的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法的流程圖。如圖 1所示,該方法包括以下步驟步驟101,預(yù)先配置周期定時器的長度Trc pCTi。d,周期定時器的長度Trcj)CTi。d為一個流控周期,每一流控周期的結(jié)束時刻為一周期流控點。步驟102,每子幀記錄當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài)。步驟103,每子幀判斷周期定時器是否到期,如果是,則采用周期定時觸發(fā)方式、并根據(jù)步驟102中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài);否則,采用特定事件觸發(fā)方式、并根據(jù)步驟102中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài)。下面通過一個實施例對本發(fā)明所提供的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法進行詳細介紹。圖2為本發(fā)明所提供的一種基于調(diào)度狀態(tài)的Iub 口流量控制方法的實施例的流程圖。如圖2所示,該方法包括以下步驟步驟200,預(yù)先配置周期定時器的長度Trc pCTi。d,周期定時器的長度Trcj)CTi。d為一個流控周期,每一流控周期的結(jié)束時刻為一周期流控點。步驟201,每子幀記錄當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài)Si。在實際應(yīng)用中,調(diào)度狀態(tài)Sl被劃分為三種第一,緊急調(diào)度若PQ隊列中有數(shù)據(jù)分組即將被丟棄,則調(diào)度算法可能會優(yōu)先調(diào)度這些即將被丟棄的數(shù)據(jù)分組,此時,調(diào)度算法對PQ隊列的調(diào)度狀態(tài)被稱為緊急調(diào)度。第二,正常調(diào)度Node B對某個PQ隊列做出的調(diào)度,除緊急調(diào)度、丟包外,都是正常調(diào)度。此外,由調(diào)度算法調(diào)度到(即優(yōu)先級排序被認為可以進行調(diào)度),但由于其緩存數(shù)據(jù)過少而未被調(diào)度(即實際并未發(fā)送授權(quán)和分配空口資源)的隊列,流控時也會被認為該隊列的調(diào)度狀態(tài)是正常調(diào)度。需要說明的是,本發(fā)明中將重傳調(diào)度也歸類為正常調(diào)度,重傳調(diào)度指前一次傳輸錯誤后,MAC層調(diào)度算法接著進行一次傳輸錯誤包的重新傳輸,重傳調(diào)度實際是從混合自動重復請求(HARQ)實體中的發(fā)送緩存中取數(shù)據(jù),不是針對某個PQ隊列的緩存進行調(diào)度,即不會改變PQ隊列緩存量大小。第三、丟包PQ隊列的緩存排隊時延大于MAC層的高層配置的丟棄時延(discard timer)的情況。
步驟202,每子幀判斷周期定時器是否到期,如果是,則執(zhí)行步驟203 ;否則,執(zhí)行步驟213。本發(fā)明中的流控觸發(fā)機制采用周期定時觸發(fā)和特定事件觸發(fā)相結(jié)合的方式。其中,周期定時觸發(fā)在每次周期定時器到期時觸發(fā),觸發(fā)對象是用戶PQ隊列,周期定時器的長度Trcj)CTi。d可預(yù)先配置,周期定時器的長度為經(jīng)驗值,而且視具體情況而定。 周期定時器的長度Trcj)CTi。d定義了一個流控周期,每一流控周期的結(jié)束時刻(即周期定時觸發(fā)的時刻,也即周期定時器到期時刻)為一周期流控點,下述步驟203至212為采用周期定時觸發(fā)方式流控的具體步驟。特定事件的觸發(fā)對象也是用戶PQ隊列,根據(jù)判斷的情況決定是否觸發(fā)流控和觸發(fā)何種流控,下述步驟213至223為采用特定事件觸發(fā)方式流控的具體步驟。步驟203,更新(或計算)緩存上限PQ_high_Buffer_SiZe和緩存下限PQ_low_ Buffer_Size0其中,緩存上限和緩存下限的計算和更新方法采用現(xiàn)有技術(shù)的內(nèi)容,現(xiàn)僅舉一個例子對緩存上限和緩存下限的計算方法進行說明。緩存上限PQ_high_Buffer_Size的計算方法如下PQ_high_Bufffer_Size = Ratepg out X (Tmax-Thigh Eemain)其中,Ratepe out為當前PQ隊列在當前時刻的平均出隊速率,單位為IAps ;Tfflax為緩存排隊時間門限;Thighranain為調(diào)節(jié)緩存上限的一個可配置的時間長度,可稱之為緩存上限調(diào)節(jié)參數(shù),單位為ms,用于彌補速率抖動對緩存上限的影響,并可用于控制緊急調(diào)度和丟包率,其具體值可根據(jù)實際情況或仿真而定。下面提供一種Ratepe。ut的計算方法則采用濾波公式樸)-0-TlWI(M) + T1-x W)進行計算,其中,Trc為濾波因子,取值可根據(jù)預(yù)先的仿真
1 /,(‘1 H ’
結(jié)果配置,Ri (t)為PQ隊列i在時刻t的瞬時出隊速率,/7, (「1)為PQ隊列i在時刻t的前一時刻的平均出隊速率,瓦⑴為PQ隊列i在時刻t的平均出隊速率。當i取當前PQ隊列的標號,t取當前時刻時,則前述公式可轉(zhuǎn)變?yōu)?br>
Ratepg αιιΙ=(\ χ Rate\,Qm{l,其中,I ate*PQ。ut 為當前 PQ 隊列在當前時刻的
1FCFC
前一時刻的平均出隊速率,RPQ—。ut為當前PQ隊列在當前時刻的瞬時出隊速率。緩存下限PQ_low_Buffer_Size的計算方法如下PQ_low_Buffer_Size = a X Ratep0out X Tfeedback其中,Ratepe。ut為當前PQ隊列在當前時刻的平均出隊速率,單位為libps,具體計算方法可參考前述描述;Tfeedbaek為容量分配控制幀在Node B和RNC之間的往返時延,單位為ms,也即容量分配控制幀從發(fā)出到實際生效起作用的時間間隔$為下限防抖動因子,取大于0的正整數(shù),具體數(shù)值可根據(jù)預(yù)先的仿真結(jié)果而定,a用于防止下限過低而導致當前PQ 隊列被連續(xù)調(diào)度時迅速清空緩存的情況,同時要避免下限過大對緩存排隊有影響,并且不能使緩存下限值大于緩存上限值。步驟204,判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_Size,如果是,則執(zhí)行步驟205 ;否則,執(zhí)行
9步驟206。步驟205,執(zhí)行上限流控,并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20需要說明的是,本發(fā)明使用Sl表示步驟201中每子幀記錄的當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài),使用S2表示每次流控操作時存儲或更新的本次流控時對應(yīng)的調(diào)度狀態(tài)。當在存儲或更新時,將調(diào)度狀態(tài)S2更新為與步驟201中的調(diào)度狀態(tài)Sl相同的內(nèi)容。上限流控是指,Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為0。步驟206,判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行步驟207 ;否則,執(zhí)行步驟208。步驟207,執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20當在存儲或更新時,將調(diào)度狀態(tài)S2更新為與步驟201中的調(diào)度狀態(tài)Sl相同的內(nèi)容。下限流控的含義為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量Bneed2,
Bneed2 大于 Bneedl ‘ ^ Ψ ^needl 一 RatepQ—out 乂 Trcjeriod。步驟208,判斷當前PQ隊列在當前時刻是否被緊急調(diào)度,如果是,則執(zhí)行步驟209 ; 否則,執(zhí)行步驟210。需要說明的是,步驟208中所述緊急調(diào)度是指發(fā)生在當前時刻的調(diào)度狀態(tài)T,并非指的是步驟201所記錄的最近一次調(diào)度狀態(tài)Si。步驟209,執(zhí)行緊急流控,并存儲或更新本次緊急流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20當在存儲或更新時,將調(diào)度狀態(tài)S2更新為S2的內(nèi)容。所述緊急流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為0。步驟210,判斷步驟201所記錄的調(diào)度狀態(tài)Sl是否為緊急調(diào)度或丟包,如果是,則執(zhí)行步驟211 ;否則,執(zhí)行步驟212。步驟211,執(zhí)行第二類型正常流控,并存儲或更新本次第二類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2(即為步驟201所記錄的Sl的內(nèi)容)。所述第二類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為 O0另外,Node B向RNC請求緩存數(shù)據(jù)量也可基于Bneedl大幅減少所請求的緩存數(shù)據(jù)量。步驟212,執(zhí)行第一類型正常流控,并存儲或更新本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2(即為步驟201所記錄的Sl的內(nèi)容)。第一類型正常流控的含義為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量
Bneedl。至此,上述步驟202至212為周期定時觸發(fā)方式流控的具體步驟,下面對特定事件觸發(fā)方式流控的具體步驟進行介紹。步驟213,判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_Size或調(diào)度狀態(tài)Sl為緊急調(diào)度,如果是, 則執(zhí)行步驟214或216 ;否則,執(zhí)行步驟218。步驟214,如果所述緩存數(shù)據(jù)量PQ_Buffer_SiZe大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_SiZe,則判斷距離當前時刻最近的一次流控的類型是否為上限流控或緊急流控,如果是,則執(zhí)行步驟223 ;否則,執(zhí)行步驟215。步驟215,執(zhí)行上限流控,并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20當在存儲或更新時,將調(diào)度狀態(tài)S2更新為與步驟201中的調(diào)度狀態(tài)Sl相同的內(nèi)容。上限流控的具體含義可參照步驟205的相關(guān)描述。步驟216,如果所述調(diào)度狀態(tài)Sl為緊急調(diào)度,則判斷距離當前時刻最近的一次流控的類型是否為緊急流控,如果是緊急流控,則執(zhí)行步驟223 ;如果不是緊急流控,則執(zhí)行步驟217。步驟217,執(zhí)行緊急流控,并存儲或更新本次緊急流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20當在存儲或更新時,將調(diào)度狀態(tài)S2更新為與步驟201中的調(diào)度狀態(tài)Sl相同的內(nèi)容。步驟218,判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行步驟219 ;否則,執(zhí)行步驟221。步驟219,判斷距離當前時刻最近的一次流控的類型是否為下限流控,如果是,則執(zhí)行步驟223 ;否則,執(zhí)行步驟220。步驟220,執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài) S20當在存儲或更新時,將調(diào)度狀態(tài)S2更新為與步驟201中的調(diào)度狀態(tài)Sl相同的內(nèi)容。下限流控的具體含義可參照步驟207的相關(guān)描述。步驟221,條件一,距離當前時刻最近的一次流控的類型為第二類型正常流控,且所對應(yīng)的調(diào)度狀態(tài)S2為緊急調(diào)度或丟包,條件二,步驟201中所記錄的調(diào)度狀態(tài)Sl為正常調(diào)度,判斷是否同時滿足上述條件一和二,如果是,則執(zhí)行步驟222,否則,執(zhí)行步驟223。本發(fā)明共涉及五種流控類型上限流控、下限流控、緊急流控、第一類型正常流控、 第二類型正常流控,在本步驟中,首先,如果距離當前時刻最近的一次流控的類型為第二類型正常流控,則滿足了條件一,其次,如果本子幀的步驟201所記錄的調(diào)度狀態(tài)Sl為緊急調(diào)度或丟包,則滿足了條件二。步驟222,執(zhí)行第一類型正常流控,并存儲本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2(即為步驟201所記錄的Sl的內(nèi)容)。第一類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為^needl。步驟223,不進行流控。本步驟的含義為不進行流量控制,即保持Iub 口的原有的流量。至此,本流程結(jié)束。綜上,本發(fā)明所提供的流控方法除了參考緩存數(shù)據(jù)量大小外,還依據(jù)PQ隊列的調(diào)度狀態(tài)進行判斷,避免在緩存數(shù)據(jù)的減少是因為被緊急調(diào)度或丟包消耗掉的情況下的緩存積壓,因此避免了頻繁觸發(fā)緩存上限流控和緊急調(diào)度,減少丟包的幾率。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。幾在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于調(diào)度狀態(tài)的Iub 口流量控制方法,其特征在于,預(yù)先配置周期定時器的長度Trc—PCTi。d,周期定時器的長度Trcj)CTi。d為一個流控周期,每一流控周期的結(jié)束時刻為一周期流控點,該方法包括A、每子幀記錄當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài);B、每子幀判斷周期定時器是否到期,如果是,則采用周期定時觸發(fā)方式、并根據(jù)步驟A 中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài);否則,采用特定事件觸發(fā)方式、并根據(jù)步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub 口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采用周期定時觸發(fā)方式、并根據(jù)步驟 A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub 口的流量控制的方法包括Al、更新緩存上限 PQ_high_Buffer_Size 和緩存下限 PQ_low_Buffer_Size ; A2、判斷當前優(yōu)先級隊列(PQ隊列)的緩存數(shù)據(jù)量PQ_Buffer_Size是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_Size,如果是,則執(zhí)行上限流控,并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A3 ;A3、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A4 ;A4、判斷當前PQ隊列在當前時刻是否被緊急調(diào)度,如果是,則執(zhí)行緊急流控,并存儲或更新本次緊急流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行步驟A5 ;A5、判斷步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)Sl是否為緊急調(diào)度或丟包,如果是,則執(zhí)行第二類型正常流控,并存儲或更新本次第二類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,執(zhí)行第一類型正常流控,并存儲或更新本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述采用特定事件觸發(fā)方式、并根據(jù)步驟 A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub 口的流量控制的方法包括Bi、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_SiZe或步驟A中所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)Sl為緊急狀態(tài)調(diào)度,如果是,則執(zhí)行步驟B2 ;否則,執(zhí)行步驟B3 ;B2、如果步驟Bl中所述調(diào)度狀態(tài)Sl為緊急狀態(tài)調(diào)度,則判斷距離當前時刻最近的一次流控的類型是否為緊急流控,如果是緊急流控,則不進行流控;如果不是緊急流控否則,則執(zhí)行緊急流控,并存儲或更新本次緊急流控上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;如果步驟Bl所述緩存數(shù)據(jù)量PQ_Buffer_Size大于等于距離當前時刻最近一次更新的緩存上限PQ_high_Buffer_Size,則判斷距離當前時刻最近的一次流控的類型是否為上限流控或緊急流控,如果是,則不進行流控;否則,執(zhí)行上限流控,并存儲或更新本次上限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;B3、判斷當前PQ隊列的緩存數(shù)據(jù)量PQ_Buffer_SiZe是否小于等于距離當前時刻最近一次更新的緩存下限PQ_l0W_Buffer_Size,如果是,則執(zhí)行步驟B4 ;否則,執(zhí)行步驟B5 ;B4、判斷距離當前時刻最近的一次流控的類型是否為下限流控,如果是,則不進行流控;否則,執(zhí)行下限流控,并存儲或更新本次下限流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;B5、條件一,距離當前時刻最近的一次流控為第二類型正常流控,且所對應(yīng)的調(diào)度狀態(tài) S2為緊急調(diào)度或丟包,條件二,步驟A中所記錄的調(diào)度狀態(tài)Sl為正常調(diào)度,判斷是否同時滿足上述條件一和二,如果是,則執(zhí)行第一類型正常流控,并存儲或更新本次第一類型正常流控對應(yīng)的所記錄的調(diào)度狀態(tài)S2 ;否則,不執(zhí)行流控。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟Al中所述更新緩存上限的方法為 計算 PQ_high_Buffer_Siζe = Ratepg outX (Tmax-Thigh ―),其中,PQ_high_Buffer_Size 為緩存上限,Ratepe out為當前PQ隊列在當前時刻的平均出隊速率,Tfflax為緩存排隊時間門限, Thigh—remain為緩存上限調(diào)節(jié)參數(shù),Thighranail^于彌補速率抖動對緩存上限的影響,并可用于控制緊急調(diào)度和丟包率。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟Al中所述更新緩存下限的方法為 計算 PQ_low_Buffer_Size = aX Ratepg。ut X Tfeedbaek,其中,PQ_low_Buffer_Size 為緩存下限,Ratepe out為當前PQ隊列在當前時刻的平均出隊速率,a為下限防抖動因子,a取大于0 的正整數(shù),Tfeedbaek為容量分配控制幀在基站Node B和無線網(wǎng)絡(luò)控制器RNC之間的往返時延。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述RatePQ。ut的計算方法為計算臉PQ__ ={\-~)^RatePQ oul +^Rpq _,其中,Rate*PQ。ut為當前PQ隊列在當前時刻的
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述緊急流控為=Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為O ; 所述下限流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為Bneed2,Bneed2大 * ^needl ‘ ^ Ψ ^needl — Ra^ePQ_out ^ TFC_period ;所述上限流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為O ; 所述第一類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為D·^needl >所述第二類型正常流控為Node B通過容量分配控制幀向RNC請求緩存數(shù)據(jù)量為O。
全文摘要
本發(fā)明公開了一種基于調(diào)度狀態(tài)的Iub口流量控制方法,該方法包括每子幀記錄當前PQ隊列的距離當前時刻最近一次的調(diào)度狀態(tài);每子幀判斷周期定時器是否到期,如果是,則采用周期定時觸發(fā)方式、并根據(jù)所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)進行Iub口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài);否則,采用特定事件觸發(fā)方式、并根據(jù)所記錄的距離當前時刻最近一次的調(diào)度狀態(tài)以及每次流量控制時記錄或更新的流量控制所對應(yīng)的調(diào)度狀態(tài)進行Iub口的流量控制,且每次流量控制時記錄或更新流量控制所對應(yīng)的調(diào)度狀態(tài)。采用本發(fā)明公開的方法能夠減少丟包的幾率。
文檔編號H04W28/14GK102457908SQ201010527629
公開日2012年5月16日 申請日期2010年10月27日 優(yōu)先權(quán)日2010年10月27日
發(fā)明者朱穎, 楊茜 申請人:普天信息技術(shù)研究院有限公司