发明名称 基于调度状态的Iub口流量控制方法
摘要 本发明公开了一种基于调度状态的Iub口流量控制方法,该方法包括:每子帧记录当前PQ队列的距离当前时刻最近一次的调度状态;每子帧判断周期定时器是否到期,如果是,则采用周期定时触发方式、并根据所记录的距离当前时刻最近一次的调度状态进行Iub口的流量控制,且每次流量控制时记录或更新流量控制所对应的调度状态;否则,采用特定事件触发方式、并根据所记录的距离当前时刻最近一次的调度状态以及每次流量控制时记录或更新的流量控制所对应的调度状态进行Iub口的流量控制,且每次流量控制时记录或更新流量控制所对应的调度状态。采用本发明公开的方法能够减少丢包的几率。
申请公布号 CN102457908B 申请公布日期 2014.06.18
申请号 CN201010527629.3 申请日期 2010.10.27
申请人 普天信息技术研究院有限公司 发明人 朱颖;杨茜
分类号 H04W28/10(2009.01)I;H04W28/14(2009.01)I;H04W92/12(2009.01)I 主分类号 H04W28/10(2009.01)I
代理机构 北京德琦知识产权代理有限公司 11018 代理人 王一斌;王琦
主权项 一种基于调度状态的Iub口流量控制方法,其特征在于,预先配置周期定时器的长度T<sub>FC_period</sub>,周期定时器的长度T<sub>FC_period</sub>为一个流控周期,每一流控周期的结束时刻为一周期流控点,该方法包括:A、每子帧记录当前优先级队列PQ队列距离当前时刻最近一次的调度状态S1;B、每子帧判断周期定时器是否到期,如果是,则采用周期定时触发方式、并根据步骤A中所记录的距离当前时刻最近一次的调度状态S1进行Iub口的流量控制,且每次流量控制时记录或更新流量控制所对应的调度状态;否则,采用特定事件触发方式、并根据步骤A中所记录的距离当前时刻最近一次的调度状态S1以及每次流量控制时记录或更新的流量控制所对应的调度状态进行Iub口的流量控制,且每次流量控制时记录或更新流量控制所对应的调度状态;所述采用周期定时触发方式、并根据步骤A中所记录的距离当前时刻最近一次的调度状态S1进行Iub口的流量控制的方法包括:A1、更新缓存上限PQ_high_Buffer_Size和缓存下限PQ_low_Buffer_Size;A2、判断PQ队列的缓存数据量PQ_Buffer_Size是否大于等于距离当前时刻最近一次更新的缓存上限PQ_high_Buffer_Size,如果是,则执行上限流控,并存储或更新本次上限流控对应的所记录的调度状态S2,结束;否则,执行步骤A3;A3、判断当前PQ队列的缓存数据量PQ_Buffer_Size是否小于等于距离当前时刻最近一次更新的缓存下限PQ_low_Buffer_Size,如果是,则执行下限流控,并存储或更新本次下限流控对应的所记录的调度状态S2,结束;否则,执行步骤A4;A4、判断当前PQ队列在当前时刻是否被紧急调度,如果是,则执行紧急流控,并存储或更新本次紧急流控对应的所记录的调度状态S2,结束;否则,执行步骤A5;A5、判断步骤A中所记录的距离当前时刻最近一次的调度状态S1是否为紧急调度或丢包,如果是,则执行第二类型正常流控,并存储或更新本次第二类型正常流控对应的所记录的调度状态S2,结束;否则,执行第一类型正常流控,并存储或更新本次第一类型正常流控对应的所记录的调度状态S2,结束;所述采用特定事件触发方式、并根据步骤A中所记录的距离当前时刻最近一次的调度状态S1以及每次流量控制时记录或更新的流量控制所对应的调度状态进行Iub口的流量控制的方法包括:B1、判断当前PQ队列的缓存数据量PQ_Buffer_Size是否大于等于距离当前时刻最近一次更新的缓存上限PQ_high_Buffer_Size或步骤A中所记录的距离当前时刻最近一次的调度状态S1为紧急状态调度,如果是,则执行步骤B2;否则,执行步骤B3;B2、如果步骤B1中所述调度状态S1为紧急状态调度,则判断距离当前时刻最近的一次流控的类型是否为紧急流控,如果是紧急流控,则不进行流控,结束;如果不是紧急流控,则执行紧急流控,并存储或更新本次紧急流控对应的所记录的调度状态S2,结束;如果步骤B1所述缓存数据量PQ_Buffer_Size大于等于距离当前时刻最近一次更新的缓存上限PQ_high_Buffer_Size,则判断距离当前时刻最近的一次流控的类型是否为上限流控或紧急流控,如果是,则不进行流控,结束;否则,执行上限流控,并存储或更新本次上限流控对应的所记录的调度状态S2,结束;B3、判断当前PQ队列的缓存数据量PQ_Buffer_Size是否小于等于距离当前时刻最近一次更新的缓存下限PQ_low_Buffer_Size,如果是,则执行步骤B4;否则,执行步骤B5;B4、判断距离当前时刻最近的一次流控的类型是否为下限流控,如果是,则不进行流控,结束;否则,执行下限流控,并存储或更新本次下限流控对应的所记录的调度状态S2,结束;B5、条件一,距离当前时刻最近的一次流控为第二类型正常流控,且所对应的调度状态S2为紧急调度或丢包,条件二,步骤A中所记录的调度状态S1为正常调度,判断是否同时满足上述条件一和二,如果是,则执行第一类型正常流控,并存储或更新本次第一类型正常流控对应的所记录的调度状态S2,结束;否则,不执行流控,结束;所述紧急流控为:Node B通过容量分配控制帧向RNC请求缓存数据量为0;所述下限流控为:Node B通过容量分配控制帧向RNC请求缓存数据量为B<sub>need2</sub>,B<sub>need2</sub>大于B<sub>need1</sub>,其中B<sub>need1</sub>=Rate<sub>PQ_out</sub>×T<sub>FC_period</sub>;所述上限流控为:Node B通过容量分配控制帧向RNC请求缓存数据量为0;所述第一类型正常流控为:Node B通过容量分配控制帧向RNC请求缓存数据量为B<sub>need1</sub>;所述第二类型正常流控为:Node B通过容量分配控制帧向RNC请求缓存数据量为0;步骤A1中所述更新缓存上限的方法为:计算PQ_high_Buffer_Size=Rate<sub>PQ_out</sub>×(T<sub>max</sub>‑T<sub>high_Remain</sub>),其中,PQ_high_Buffer_Size为缓存上限,Rate<sub>PQ_out</sub>为当前PQ队列在当前时刻的平均出队速率,T<sub>max</sub>为缓存排队时间门限,T<sub>high_Remain</sub>为缓存上限调节参数,T<sub>high_Remain</sub>用于弥补速率抖动对缓存上限的影响,并可用于控制紧急调度和丢包率;步骤A1中所述更新缓存下限的方法为:计算PQ_low_Buffer_Size=a×Rate<sub>PQ_out</sub>×T<sub>feedback</sub>,其中,PQ_low_Buffer_Size为缓存下限,Rate<sub>PQ_out</sub>为当前PQ队列在当前时刻的平均出队速率,a为下限防抖动因子,a取大于0的正整数,T<sub>feedback</sub>为容量分配控制帧在基站Node B和无线网络控制器RNC之间的往返时延。
地址 100080 北京市海淀区海淀北二街6号