CN101325541B - 一种Iub口带宽的流量控制方法及*** - Google Patents
一种Iub口带宽的流量控制方法及*** Download PDFInfo
- Publication number
- CN101325541B CN101325541B CN2007101188060A CN200710118806A CN101325541B CN 101325541 B CN101325541 B CN 101325541B CN 2007101188060 A CN2007101188060 A CN 2007101188060A CN 200710118806 A CN200710118806 A CN 200710118806A CN 101325541 B CN101325541 B CN 101325541B
- Authority
- CN
- China
- Prior art keywords
- formation
- priority
- bandwidth resources
- bandwidth
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高速下行分组接入***中Iub口带宽的流量控制方法及***,包括:根据每个队列的优先级以及收发数据状态确定每个队列的队列状态;根据所述每个队列的队列状态向所述队列分配带宽资源。使用本发明克服了当前流量控制算法的不足,能够使需要释放Iub口带宽的队列能适时的释放出来,需要分配Iub口带宽的队列能适时的获得带宽。
Description
技术领域
本发明涉及通信领域,特别涉及HSDPA(High Speed Downlink PacketAccess,高速下行分组接入)***中Iub口带宽的流量控制方法及***。
背景技术
3GPP 25.435协议(Release 5)规定,在HSDPA***中,RNC(Radio NetworkController,无线网络控制器)通过“CAPACITY REQUEST”控制帧通知NB(NodeB,基站)某个MAC-d(Medium Access Control-Dedicated,专用介质接入控制)flow(流)中各个优先级的数据缓冲区大小(每个CAPACITYREQUEST控制帧只能携带MAC-d flow中一个优先级数据的信息),向NB申请发送数据;NB通过“CAPACITY ALLOCATION”控制帧向RNC分配容量。根据协议中规定的参数,影响Iub口流量的因素主要有三个:
1、RNC MAC-d flow各优先级数据缓冲区的数据量;
2、MAC-hs(Medium Access Control for HSDPA,媒体接入控制层)各优先级队列buffer(缓冲器)大小以及buffer的占用情况;
3、Node B控制帧的发送与数据帧接收之间的时延。
基于上述基础因素,现有技术中采用了基于优先级队列状态的流量控制算法;
基于优先级队列状态的流量控制算法为每个优先级队列设置两个门限:BLth1和BLth2,NodeB检测优先级队列中的数据量BO(t),当发现BO(t)<=BLth1时(触发式的),发送一个允许下发数据的“CAPACITY ALLOCATION”帧(帧中的credits字段非零),当发现BO(t)>=BLth2时,发送一个禁止下发数据的“CAPACITY ALLOCATION”帧(帧中的credits字段为零)。
两种控制帧的发送需满足以下规则:
1、只有当BO(t)>=BLth2后,再次出现BO(t)<=BLth1时,才发送下一个允许下发数据的“CAPACITY ALLOCATION”帧。
2、只有当BO(t)<=BLth1后,再次出现BO(t)>=BLth2时,才发送下一个禁止下发数据的“CAPACITY ALLOCATION”帧。
该方案主要从RNC侧是否有数据下发给基站侧用户的队列、以及用户的队列能否容纳下RNC下发的数据,这两个方面进行了描述,对于没有Iub口带宽竞争的情况,该算法能够很好的实现流量控制的目的;但当多个队列进行流量控制,需要对Iub口的带宽进行竞争时,该算法的缺陷将严重制约***的性能。
从基于队列优先级的流量控制算法考虑的三个基础因素可知,该算法是仅仅针对一个队列的流量控制,即:对端(RNC)是否有数据要发送,本地(NB)是否还能够容纳下新的数据。基础因素中尽管考虑了NB控制帧的发送和数据帧的接收之间的时延,但也仅仅是从一个队列的大小能否容纳下“时延”这段时间内下发的数据进行考虑的,完全没有考虑到Iub口带宽对流量控制的影响。
同时,该算法还忽略了一个同等重要的基础因素,即Iub口带宽的使用情况。当多个队列需要同时进行流量控制时,队列间将对Iub口可用的带宽产生竞争,如果不能合理地对Iub口带宽进行管理,将导致那些需要发送数据并且能够发送数据的用户的队列因为不能及时申请到Iub口的带宽,而使得这些队列没有发送数据,这使得MAC-hs不能够对该用户进行调度,从而严重影响了HSDPA***的性能。
发明内容
本发明提供一种Iub口带宽的流量控制方法及***,用以解决现有技术中当存在多个队列需要同时进行流量控制时,使lub口带宽能适时释放以及适时分配的问题。
本发明提供了一种Iub口带宽的流量控制方法,包括如下步骤:
根据队列的调度优先级对队列进行分段,得到队列的分段优先级,根据队列的计数器的值的大小对属于同一分段的队列进行排序,得到段内优先级;其中,分段优先级高的队列对应的流控优先级高于分段优先级低的队列对应的流控优先级,段内优先级高的队列对应的流控优先级高于段内优先级低的队列对应的流控优先级;其中,所述流控优先级为所述分段优先级和所述段内优先级的组合;
根据所述队列的分段优先级、段内优先级,以及每个队列的收发数据状态确定每个队列的队列状态;
根据所述每个队列的队列状态向该队列分配带宽资源。
本发明还提供了一种Iub口带宽的流量控制***,包括:
分段模块,用于根据队列的调度优先级对队列进行分段,得到队列的分段优先级,根据队列的计数器的值的大小对属于同一分段内的队列进行排序,得到段内优先级;其中,分段优先级高的队列对应的流控优先级高于分段优先级低的队列对应的流控优先级,段内优先级高的队列对应的流控优先级高于段内优先级低的队列对应的流控优先级;其中,所述流控优先级为所述分段优先级和所述段内优先级的组合;
状态确定模块,用于根据所述队列的分段优先级、段内优先级,以及每个队列的收发数据状态确定每个队列的队列状态;
分配模块,用于根据所述每个队列的队列状态向该队列分配带宽资源。
本发明有益效果如下:
本发明所提供的Iub口带宽的流量控制方案中,根据每个队列的优先级以及收发数据状态确定每个队列的队列状态;然后根据每个队列的队列状态向所述队列分配带宽资源。在本发明方案下,当存在多个队列需要同时进行流量控制时,考虑到了队列间将对Iub口可用的带宽产生竞争,在进行队列流量控制时不再是仅仅针对一个队列的流量控制,而是针对每个队列的优先级以及收发数据状态来确定每一个队列的状态后,再分配Iub口带宽资源,从而完善了当前流量控制算法的不足,能够使需要释放Iub口带宽的队列能适时的释放出来,需要分配Iub口带宽的队列能适时的获得带宽。
附图说明
图1为本发明实施例中所述Iub口带宽的流量控制方法实施流程示意图;
图2为本发明实施例中所述队列状态机示意图;
图3为本发明实施例中所述Iub口带宽资源分配流程示意图;
图4为本发明实施例中所述Iub口带宽资源回收处理流程示意图;
图5为本发明实施例中所述时分复用方法回收Iub口带宽资源实施流程示意图;
图6为本发明实施例中所述完全/部分强占方法回收Iub口带宽资源实施流程示意图;
图7为本发明实施例中所述主动释放方法回收Iub口带宽资源实施流程示意图;
图8为本发明实施例中所述算法式回收Iub口带宽处理流程示意图;
图9为本发明实施例中所述Iub口带宽的流量控制***结构示意图;
图10为本发明实施例中所述Iub口带宽的流量控制实施流程示意图。
具体实施方式
本发明针对基于队列优先级的流量控制算法的不足,考虑了存在Iub口带宽竞争的情况,完善了该算法,使Iub口的流量控制与MAC-hs的调度基本保持了一致,提高了***性能。下面结合附图对本发明的具体实施进行说明。
本发明完善了当前流量控制算法的不足,提出了一种能够高效利用Iub口带宽的解决方案。“高效利用”的含义是指:需要释放Iub口带宽的队列能适时的释放出来,需要分配Iub口带宽的队列能适时的获得带宽。为了达到该目标,本发明提出的方案在每次回收和分配Iub口带宽时,都基于MAC-hs的调度排序结果进行。本发明实施中是在结合基于队列优先级的流量控制算法的基础上进行说明的,但随着对以下实施例逐步展开的阐述可知:本发明具有良好的扩展性,尽管实施例是基于“基于优先级队列状态的流量控制算法”提出,但是并不仅仅受限于该算法。
图1为Iub口带宽的流量控制方法实施流程示意图,如图所示,实施中包括如下步骤:
步骤101、根据优先级对队列进行分段,对同一分段内的队列根据优先级进行排序;队列的优先级包括每一分段的优先级与分段内队列的优先级;
优选实施中,根据优先级对队列进行分段后,分段的优先级高低与所包括的队列数目成反比,也就是:分段完全按照调度优先级的顺序依次划分,每个分段所包含的队列数量可以根据实际***的需求进行选择,一般的方式是,按照调度优先级从高到低,每个分段包含的队列个数逐次增加,即调度优先级越高,对应的分段包含的队列个数越少,分段优先级越高;调度优先级越低,对应的分段包含的队列个数越多,分段优先级越低。不同的分段必须具有不同的分段优先级,同一分段内的每个队列必须具有与其它队列不同的段内优先级。
队列优先级指:分段优先级和段内优先级的组合;分段优先级高的队列对应的流控优先级高于分段优先级低的队列,同一分段内,段内优先级高的队列,流控优先级高于段内优先级低的队列。
分段的有益效果在于,如果完全按照调度优先级进行排序的话,由于调度排序的频率较高,将会导致队列频繁的进行流控,因此不能较好的发挥本发明对大数量的队列进行管理的优势,采用分段后,对段进行管理,同时,每个分段的优先级又是依据于每个队列的优先级,因此,在分段机制下能够兼顾排序的频度和对优先级的要求。
步骤102、根据每个队列的优先级以及收发数据状态确定每个队列的队列状态;
步骤103、根据所述每个队列的队列状态向所述队列分配带宽资源;
具体的,实施中是根据每个队列的优先级高低顺序以及是否有收发数据确定每个队列的队列状态;然后根据所述每个队列的队列状态向所述队列分配带宽资源。
步骤104、回收已分配带宽资源的队列的带宽资源后,根据每个队列的队列状态向队列分配回收的带宽资源。
步骤105、将分配带宽和/或回收带宽的队列的流量控制帧统一发送至FP(Frame Protocol,帧协议)层获取控制帧。
本步骤中,将参加本次流量控制的所有队列的流量控制帧打包统一发送给FP协议层;这里的“参与本次流量控制的所有队列”即包括所有成功申请带宽和释放带宽的队列。即:经过调度排序,位置靠前、有数据可以发送并且已经成功分配了Iub口的带宽,或者需要停止发送数据的队列。
为了更清楚的说明本发明的实施方式,下面对上述实施例进行进一步的阐述。
为便于理解,以及从整体上把握本发明队列的流量控制管理机制,实施例将使用队列状态机来进行说明,即:建立队列流量控制状态集合S,基于集合S建立队列的流量控制状态机。图2为队列状态机示意图,如图所示,状态机中:
S={s|sinit,saccess,swait,ssend,sstop sover},其中,只有处于ssend状态的队列占用Iub口带宽,处于其它状态的队列不占用Iub口带宽;对Iub口带宽的回收,主要针对处于ssend状态的队列;对于Iub口带宽的分配,主要针对处于saccess、swait和sstop状态的队列。
②虚线表示saccess状态可以直接跃迁到ssend状态;sstop状态可以通过swait中转到达ssend状态;可以根据具体的实现进行约定。
各状态的含义如下:
sinit:队列未接入***前的状态;saccess:队列成功接入***后的状态;
swait:队列等待分配Iub口带宽的状态;ssend:队列发送和接收数据的状态;
sstop:队列被剥夺Iub口带宽后的状态;sover:队列没有任何发送/接收数据请求的状态。
实施例中,以MAC-hs调度算法的排序结果为例进行说明,则根据MAC-hs调度算法的排序结果,确定队列进行Iub口流量控制的优先级,即按照调度算法确定的从高到低的顺序;队列进行Iub口流量控制的优先级也从高到低,分配Iub口带宽时,按照队列流量控制优先级从高到低进行分配。其中,根据MAC-hs调度算法的排序结果确定的优先级以下简称调度优先级,按照队列流量控制优先级以下简称流控优先级。
则在步骤102、步骤103中,根据每个队列的优先级以及收发数据状态确定每个队列的队列状态,根据每个队列的队列状态向队列分配带宽资源的Iub口带宽的分配机制可按以下方式实施:
只有满足如下条件的队列参与Iub口带宽的分配:
①流量控制状态为saccess状态,或者
②流量控制状态为swait状态,或者
③流量控制状态为sstop状态。
满足如下条件的队列不参与Iub口带宽的分配:
①流量控制状态为sinit状态,或者
②流量控制状态为ssend状态,或者
③流量控制状态为sover状态。
处于sinit状态的队列不参与流量控制处理,当其满足“接入成功”条件时,状态跃迁到saccess状态后参与带宽分配。
当处于sover状态的队列需要接收数据时,状态首先跃迁到swait状态后参加带宽的Iub口分配。
成功分配Iub口带宽的队列,流量控制状态跃迁到ssend状态;否则,sstop状态跃迁到sover状态,saccess状态和swait状态保持控制状态不变。
1、确定队列流控优先级
根据队列的调度优先级,确定队列的流控优先级。因为Iub口的流量控制和UU口的调度并不完全一致,二者的处理周期不相同(一般流量控制的周期长于调度的周期)以及Iub口的时延等都会导致Iub口的流量控制大大滞后于UU口的调度,为了尽量保持Iub口带宽的分配与UU口的调度一致,可以采用分段处理等待时间长的队列优先法的方式来实现,具体为:
针对处于saccess、sstop和swait三种状态的队列,可以通过为每个队列设置计数器Timer的方式来实现,首先初始化Timer值为无效标识值;队列的流量控制状态跃迁到swait和sstop状态或者处于saccess状态的队列有数据需要收发后,置Timer值为有效标识值,并开始计数;队列的流量控制状态离开swati和sstop状态,或者处于saccess状态的队列无数据收发需求后,置Timer值为无效标识值。
只要该队列的流量控制状态一直保持在swait和sstop状态,或者处于saccess状态的队列有数据需要收发,进行一次Iub口流量控制,Timer加1;
根据调度优先级对队列进行分段,队列的分段定义如下:
分段完全按照调度优先级的顺序依次划分,每个分段所包含的队列数量可以根据实际***的需求进行选择,一般的方式是,按照调度优先级从高到低,每个分段包含的队列个数逐次增加,即调度优先级越高,对应的分段包含的队列个数越少,分段优先级越高;调度优先级越低,对应的分段包含的队列个数越多,分段优先级越低。同一分段内的队列,按照Timer值从大到小确定段内优先级从高到低;如果Timer值相等,则按照调度优先级的高低顺序确定分内优先级的高低。不同的分段必须具有不同的分段优先级,同一分段内的每个队列必须具有与其它队列不同的段内优先级。
队列流控优先级指:分段优先级和段内优先级的组合;分段优先级高的队列对应的流控优先级高于分段优先级低的队列,同一分段内,段内优先级高的队列,流控优先级高于段内优先级低的队列。
2、Iub口的带宽分配
按照队列的流控优先级对队列进行Iub口的带宽进行分配,直到Iub口可分配的带宽完全分配完或者没有可分配的队列为止。
3、流量控制帧的发送
步骤105中,流量控制帧的发送采用统一发送方式,即参加本次流量控制的所有队列的流量控制帧打包统一发送给FP协议层;可以以小区为单位打包,也可以以频点为单位打包。
流量控制状态从ssend状态或者sstop状态跃迁到sover状态的队列,需要给RNC发送停止发送数据的“CAPACITY ALLOCATION”控制帧;
流量控制状态从saccess状态、swait状态或者sstop状态跃迁到ssend状态的队列,需要给RNC发送下发数据的“CAPACITY ALLOCATION”控制帧,并:
对于处于saccess状态和swait状态的队列,如果分配带宽失败,则不需要向RNC发送停止发送数据的“CAPACITY ALLOCATION”控制帧。
图3为Iub口带宽资源分配流程示意图,如图所示,上述的带宽分配可以按下述步骤实现:
步骤301、开始分配带宽资源;
步骤302、遍历需要分配Iub口带宽的所有队列;
步骤303、确定队列的流控优先级;
步骤304、按照流控优先级进行Iub口带宽分配;
步骤305、根据分配带宽的结果组建流量控制帧;
步骤306、完成遍历;
步骤307、分配带宽结束。
在步骤104的回收已分配带宽资源的队列的带宽资源后,根据每个队列的队列状态向队列分配回收的带宽资源步骤中,对于Iub口带宽的回收机制的实施方式说明如下:
Iub口带宽回收的目的是在合适的时机释放出一定量的Iub口带宽,既能尽量满足需要优先分配带宽进行数据传输的队列的需求,又能尽量地降低对释放带宽的队列的不利影响,实现整个***性能的最大化。
在回收分配的带宽资源时,可以在根据所述每个队列的队列状态分配带宽资源后,根据时间参数、和/或未分配带宽资源与已分配带宽资源的队列优先级回收带宽资源,为便于描述,该方式的非算法式回收策略称为回收策略I;
或者在满足无线网络控制器下发的“CAPACITY REQUEST”帧中的UserBuffer Size字段值为零、队列无法容纳新的数据、队列所属的用户退出***三者之一或者其组合条件时,释放队列占用的带宽资源,为便于描述,该方式的算法式回收策略称为回收策略II。需要指出的是,回收策略II是流控算法中给出的回收策略,二者不需要必须组合使用,但是二者组合使用效果更好,同时,不同的流控算法结合本发明使用时,对应的回收策略II不尽相同,因此以下的实施例以上述回收策略II与回收策略I的结合使用为例来阐述本发明的具体实施方式,但由两种回收策略的目的可知,实施例并不意味本发明仅能在回收策略I与回收策略II结合下进行实施,也不意味回收策略I仅能与例中所述回收策略II结合,而是应将回收策略II视为结合本发明所使用的不同流控算法下所对应的所有回收策略。
图4为Iub口带宽资源回收处理流程示意图,实施例中为了更好的保证***的性能,推荐先使用回收策略II后再使用策略I的处理方式;如果采用先使用回收策略I后使用回收策II的处理方式,处理流程不变,同时,需要指出的是,回收策略并不需要同时组合使用。如图所示,实施中包括如下步骤:
步骤401、开始回收带宽资源;
步骤402、遍历占用Iub口带宽资源的所有队列;
步骤403、判断是否满足回收策略II,是则转入步骤406,否则转入步骤404;
步骤404、判断是否满足回收策略I,是则转入步骤405、,否则转入步骤407;
步骤405、按照回收策略I回收Iub口带宽资源,转入步骤407;
步骤406、按照回收策略II回收收Iub口带宽资源,转入步骤407;
步骤407、完成遍历;
步骤408、回收带宽资源结束。
回收处于ssend状态的队列的Iub口带宽资源,可以按下面的两大类回收策略来进行实施,即非算法式回收策略的回收策略I与算法式回收策略的回收策略II,下面对回收策略的实施进行说明。
I、非算法式回收策略
按照基于优先级队列状态的流量控制算法的规定,队列仍然可以继续占用Iub口的带宽进行数据传输,此时,采取一些带有强制色彩的附加手段回收队列占用的Iub口带宽,被剥夺Iub口带宽后的队列,流量控制状态从ssend状态跃迁到sstop状态。可以用以下方法实现本策略,所实施的方法可以根据具体的需求进行选择。具体方法如下:
1、时分复用方法
当前述时间参数选择已分配带宽资源的队列的等待时长时,可以通过设置时间阈值,在所述时长到达时间阈值时,根据已分配带宽资源的队列优先级,按回收比例设定从已分配带宽资源的队列回收带宽资源。
具体可以采用设置计数器Timer和Iub口带宽回收周期T的方式实现,则可以实施为:初始化Timer值为0,T为Iub口流量控制周期t的整数倍,其中t根据具体的***进行取值。
进行一次Iub口流量控制,当且仅当Timer<T时,Timer加1;
当Timer=T时,则按照队列的调度优先级,从低到高逆序回收处于ssend状态的队列占用的Iub口带宽,被回收带宽的队列数量一般保持在处于ssend状态的队列总数量的25%;并初始化Timer值为0。
图5为时分复用方法回收Iub口带宽资源实施流程示意图,按上述的设定,回收的实施步骤如图所示,可以包括如下步骤:
步骤501、开始回收带宽资源;
步骤502、判断Timer是否等于T,是则转入步骤503,否则转入步骤505;
步骤503、回收Iub口带宽资源;
步骤504、将Timer置0,转入步骤506;
步骤505、将Timer加1,转入步骤506;
步骤506、回收带宽结束。
2、完全/部分强占方法
当采用的时间参数是已分配带宽资源的队列的等待时长时,根据时长、未分配带宽资源与已分配带宽资源的队列优先级关系回收带宽资源。
进一步的,当未分配带宽资源的队列优先级高于所述等待时长最长的已分配带宽资源的队列优先级时,回收所述队列的带宽资源。
再进一步,当回收的带宽资源小于未分配队列申请的带宽资源时,在小于未分配队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收带宽资源。
更进一步,当在小于未分配队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收的带宽资源小于未分配队列申请的带宽资源时,根据已分配带宽资源的队列优先级高低回收带宽资源。
具体的,可以为每个队列设置计数器Timer,初始化Timer值为无效标识值;
队列的流量控制状态跃迁到ssend状态后,置Timer值为有效标识值,并开始计数;
队列的流量控制状态离开ssend状态后,置Timer值为无效标识值。
只要该队列的流量控状态一直保持在ssend状态,进行一次Iub口流量控制,Timer加1。
当有队列申请Iub口带宽,同时***没有足够的Iub口带宽进行分配时,按照申请的Iub口带宽大小,进行如下第一次回收处理:
首先,回收同时满足如下条件的队列的Iub口带宽:
条件(a)Timer取值最大,且
条件(b)调度优先级低于申请Iub口带宽的队列的调度优先级。
如果满足上述条件的队列个数不唯一,则按照队列的调度优先级,从低到高逆序回收处于ssend状态的队列占用的Iub口带宽;
如果满足上述条件的队列个数唯一,回收队列占用的Iub口带宽。
如果经过上述处理,回收的Iub口带宽满足申请的需要,则结束;否则,继续下面的第二次回收处理:
不再考虑Timer的取值,直接根据队列的调度优先级,从低到高逆序回收处于ssend状态的满足如下条件的队列的Iub口带宽:
条件(c)调度优先级低于申请Iub口带宽的队列的调度优先级。
在如果经过上述处理,回收的Iub口带宽满足申请的需要,则结束;否则,结束或者继续下面的第三次回收处理:
不再考虑被回收的队列的调度优先级是否低于申请Iub口带宽的队列的调度优先级,继续按照队列的调度优先级,从低到高逆序回收处于ssend状态的队列的Iub口带宽。
经过上述处理,回收的Iub口带宽满足申请的需要,则结束;否则,分配失败。
第三次的回收处理过程可选,一般适用于满足如下条件的队列:
条件(d)申请Iub口带宽的队列调度优先级最高,且
条件(e)将被收回Iub口带宽的队列的调度优先级与申请Iub口带宽的队列调度优先级相同。
完成上述三步处理后,如果回收的Iub口带宽满足如下条件:
条件(f)回收的Iub口带宽数量不为零;且
条件(g)回收的Iub口带宽数量仍然无法满足申请的需要;
具体实施时可以把这部分Iub口带宽仍然分配给申请的队列,进行降质使用。
图6为完全/部分强占方法回收Iub口带宽资源实施流程示意图,按上述的设定,为了更清楚的描述回收的实施步骤,以图6进行说明,则如图所示,可以包括如下步骤:
步骤601、开始回收带宽;
步骤602、根据Timer值的大小,对队列从大到小进行排序;
步骤603、判断是否满足条件a和b,是则转入步骤604,否则转入步骤606;
步骤604、回收Iub口带宽;
步骤605、判断回收的带宽是否满足需要,是则转入步骤614,否则转入步骤606;
步骤606、再次进行回收;
步骤607、判断是否满足条件c,是则转入步骤608,否则转入步骤610;
步骤608、回收Iub口带宽;
步骤609、判断回收带宽是否满足需要,是则转入步骤614,否则转入步骤610;
步骤610、再次进行回收;
步骤611、判断是否满足条件d和e,是则转入步骤612,否则转入步骤615,优选实施中推荐使用该判断,以进一步回收带宽;
步骤612、回收Iub口带宽;
步骤613、判断回收带宽是否满足需要,是则转入步骤614,否则转入步骤615;
步骤614、回收带宽成功,转入步骤616;
步骤615、回收带宽失败,转入步骤616;
步骤616、回收带宽结束。
3.主动释放方法
在所选择的时间参数是根据Iub口流量控制周期设定的带宽回收周期时,根据带宽回收周期从已分配带宽资源的队列回收带宽资源。
进一步,可以根据优先级对队列进行分段,对同一分段内的队列根据优先级进行排序;
根据每一分段的优先级为每一分段设定权值;
根据带宽回收周期与分段的权值从已分配带宽资源的队列回收带宽资源。
具体的,实施时,可以为每个队列设置计数器Timer,初始化Timer值为无效标识值;队列的流量控制状态跃迁到ssend状态后,置Timer值为有效标识值,并开始计数;队列的流量控制状态离开ssend状态后,置Timer值为无效标识值。
设置Iub口带宽回收周期T,T为Iub口流量控制周期t的整数倍,其中t可以根据具体的***进行取值。
只要该队列的流量控状态一直保持在ssend状态,进行一次Iub口流量控制,当且仅当Timer<T时,Timer加1;
Iub口带宽回收可采用如下策略:
策略①:当Timer=T时,满足该等式条件的所有队列直接释放占用的Iub口带宽;
策略②:根据调度优先级对队列进行分段,队列的分段定义如下:
定义分段权值集合K={k|k∈N},其中集合N为自然数集合;
分段完全按照调度优先级的顺序依次划分,每个分段所包含的队列数量可以根据实际***的需求进行选择,一般的方式是,按照调度优先级从高到低,每个分段包含的队列个数逐次增加,即调度优先级越高,对应的分段包含的队列个数越少,相应的权值越大;调度优先级越低,对应的分段包含的队列个数越多,相应的权值越低;分段的权值唯一标识一个分段,每个分段可以根据实际***的需求选择合适的权值;
对于权值为k的分段,其中k∈K,处于该段的队列可以连续占用Iub口带宽的时间最长为k*T,即:
当Timer=k*T时,满足该等式条件的所有队列直接释放占用的Iub口带宽;
图7为主动释放方法回收Iub口带宽资源实施流程示意图,按上述的设定,以图7进行说明主动释放方法的回收,则如图所示,可以包括如下步骤:
步骤701、开始回收带宽;
步骤702、遍历占用Iub口带宽的所有队列;
步骤703、判断Timer是否等于T或者k*T,是则转入步骤704,否则转入步骤706,本步骤中,在用上述策略①时,判断是否等于T,在用策略②时,判断是否等于k*T;
步骤704、回收Iub口带宽资源;
步骤705、将Timer置0,转入步骤707;
步骤706、将Timer加1,转入步骤707;
步骤707、完成遍历;
步骤708、回收带宽结束。
II、算法式回收策略
本策略是按照基于优先级队列状态的流量控制算法,对流量控制状态处于ssend的队列进行Iub口带宽回收;释放完Iub口带宽的队列,流量控制状态从ssend状态跃迁到sover状态或者sinit状态。回收满足如下条件之一或者其组合的队列的Iub口带宽:
条件(h):RNC下发的“CAPACITY REQUEST”帧中的User Buffer Size字段值为零;
条件(i):队列无法容纳新的数据;
条件(j):该队列所属的用户满足“退出***”条件时。
回收方法采用直接释放的方法,只要满足上述条件之一,队列就直接释放占用的Iub口带宽。
由上述可知,回收带宽可以用于在每次流量控制开始时,首先对当前每个频点下接入的队列占用的Iub口带宽进行回收,然后按照队列的流控优先级进行Iub口带宽分配。
图8为算法式回收Iub口带宽处理流程示意图,如图所示,在上述设定下,具体在算法式回收策略下回收带宽可以包括如下步骤:
步骤801、开始回收带宽;
步骤802、遍历占用Iub口带宽的所有队列;
步骤803、判断是否满足条件h、i、j三者之一或者其组合,满足则转入步骤804,否则转入步骤805;
步骤804、回收Iub口带宽资源;
步骤805、完成遍历;
步骤806、回收带宽结束。
本发明还提供了一种Iub口带宽的流量控制***,下面结合附图对本***的具体实施方式进行说明。
图9为Iub口带宽的流量控制***结构示意图,如图所示,在***中包括:
状态确定模块,用于根据每个队列的优先级以及收发数据状态确定每个队列的队列状态;
分配模块,用于根据所述每个队列的队列状态向所述队列分配带宽资源。
优选实施中,状态确定模块可以包括优先级确定单元、收发数据确定单元、状态确定单元,优先级确定单元确定每个队列的优先级高低顺序;收发数据确定单元确定每个队列是否有收发数据;状态确定单元根据所述每个队列的优先级高低顺序以及是否有收发数据确定每个队列的队列状态。
进一步的***中还可以包括分段模块,用于根据优先级对队列进行分段,对同一分段内的队列根据优先级进行排序;所述队列的优先级包括每一分段的优先级与分段内队列的优先级。
进一步的***中还可以包括控制帧获取模块,用于将分配带宽的队列的流量控制帧统一发送至帧协议层后获取控制帧。
优选实施中,本***可以进一步包括第一回收模块、和/或第二回收模块,其中:
第一回收模块,用于在根据所述每个队列的队列状态分配带宽资源后,根据时间参数、和/或未分配带宽资源与已分配带宽资源的队列优先级回收带宽资源,所述回收的带宽资源用于所述分配模块根据每个队列的队列状态向队列分配回收的带宽资源;
第二回收模块,用于在满足无线网络控制器下发的“CAPACITYREQUEST帧中的User Buffer Size字段值为零、队列无法容纳新的数据、队列所属的用户退出***三者之一或者其组合条件时,回收队列占用的带宽资源,所述回收的带宽资源用于所述分配模块并根据每个队列的队列状态向队列分配回收的带宽资源。
在第一回收模块中可以包括第一回收单元、或第二回收单元、或第三回收单元,其中:
第一回收单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,在所述时长到达时间阈值时,根据已分配带宽资源的队列优先级,按回收比例设定从已分配带宽资源的队列回收带宽资源;
第二回收单元,用于在所述时间参数是根据Iub口流量控制周期设定的带宽回收周期时,根据带宽回收周期从已分配带宽资源的队列回收带宽资源;
第三回收单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,根据所述时长、未分配带宽资源与已分配带宽资源的队列优先级关系回收带宽资源。
优选实施中,进一步的还可以包括权值设定单元,用于根据优先级对队列进行分段,对同一分段内的队列根据优先级进行排序;根据每一分段的优先级为每一分段设定权值;所述第二回收单元进一步用于根据带宽回收周期与分段的权值从已分配带宽资源的队列回收带宽资源。
优选实施中,第三回收单元可以包括第一判断子单元、第一回收子单元,其中:
第一判断子单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,当判断出未分配带宽资源的队列优先级高于所述等待时长最长的已分配带宽资源的队列优先级时,触发第一回收子单元回收带宽资源;
第一回收子单元,用于回收所述优先级低于未分配带宽资源的队列优先级的、等待时长最长的已分配带宽资源队列的带宽资源。
进一步的,还可以包括第二判断子单元、第二回收子单元,其中:
第二判断子单元,用于当判断到回收的带宽资源小于未分配队列申请的带宽资源时,触发第二回收子单元回收带宽资源;
第二回收单元,用于在小于未分配队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收带宽资源。
再进一步的,还可以包括第三判断子单元,第三回收子单元,其中:
第三判断子单元,用于当判断到在小于未分配队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收的带宽资源小于未分配队列申请的带宽资源时,触发第三回收子单元回收带宽资源;
第三回收子单元,用于根据已分配带宽资源的队列优先级高低回收带宽资源。
当***中对队列进行带宽回收后,控制帧获取模块还可以进一步用于将分配带宽和/或回收带宽的队列的流量控制帧统一发送至帧协议层后获取控制帧。
下面再举一总体流程的实施例以说明本发明的实施,图10为Iub口带宽的流量控制实施流程示意图,如图所示,包括以下步骤:
步骤1001、开始流量控制;
步骤1002、遍历接入的所有队列;
步骤1003、回收队列占用的Iub口带宽;
步骤1004、给队列分配Iub口带宽;
步骤1005、遍历完所有队列;
步骤1006、统一发送流量控制帧给FP协议层;
步骤1007、结束本次流量控制。
由上述实施例可知,通过本发明所提供的队列的流量控制管理机制、Iub口带宽的回收机制、Iub口带宽的分配机制,不仅综合考虑了队列间将对Iub口可用的带宽产生竞争,在进行队列流量控制时不再是仅仅针对一个队列的流量控制,而是针对每个队列的优先级以及收发数据状态来确定每一个队列的状态,同时还通过对Iub口带宽进行合理的回收和分配,从而实现Iub口带宽的高效利用,克服原有流量控制算法的不足,提高了***性能。该方案不仅具有良好的可行性。还具有良好的扩展性,因为尽管改方案是基于“基于优先级队列状态的流量控制算法”提出,但是实施中却并不仅仅受限于该算法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1.一种Iub口带宽的流量控制方法,其特征在于,包括如下步骤:
根据队列的调度优先级对队列进行分段,得到队列的分段优先级,根据队列的计数器的值的大小对属于同一分段的队列进行排序,得到段内优先级;其中,分段优先级高的队列对应的流控优先级高于分段优先级低的队列对应的流控优先级,段内优先级高的队列对应的流控优先级高于段内优先级低的队列对应的流控优先级;其中,所述流控优先级为所述分段优先级和所述段内优先级的组合;
根据所述队列的分段优先级、段内优先级,以及每个队列的收发数据状态确定每个队列的队列状态;
根据所述每个队列的队列状态向该队列分配带宽资源。
2.如权利要求1所述的方法,其特征在于,根据所述队列的调度优先级对队列进行分段后,所述分段优先级的高低与段内所包括的队列数目成反比。
3.如权利要求1所述的方法,其特征在于,进一步包括如下步骤:
将分配带宽的队列的流量控制帧统一发送至帧协议层获取控制帧。
4.如权利要求1至3任一所述的方法,其特征在于,进一步包括如下步骤:
在根据所述每个队列的队列状态分配带宽资源后,根据时间参数、或根据时间参数与已分配带宽资源队列的队列优先级、或根据时间参数与已分配带宽资源以及未分配带宽资源队列的队列优先级回收带宽资源,并根据每个队列的队列状态向队列分配回收的带宽资源;
和/或,在满足无线网络控制器下发的CAPACITY REQUEST帧中的User Buffer Size字段值为零、队列无法容纳新的数据、队列所属的用户退出***三者之一或者其组合条件时,回收队列占用的带宽资源,并根据每个队列的队列状态向队列分配回收的带宽资源;
其中,所述队列优先级为所述分段优先级和所述段内优先级的组合。
5.如权利要求4所述的方法,其特征在于,当所述方法包括在根据所述每个队列的队列状态分配带宽资源后,根据时间参数、或根据时间参数与已分配带宽资源队列的队列优先级、或根据时间参数与已分配带宽资源以及未分配带宽资源队列的队列优先级回收带宽资源,并根据每个队列的队列状态向队列分配回收的带宽资源时,
所述时间参数是已分配带宽资源的队列的等待时长,在所述时长到达时间阈值时,根据已分配带宽资源的队列优先级,按回收比例设定从已分配带宽资源的队列回收带宽资源;
或,所述时间参数是根据Iub口流量控制周期设定的带宽回收周期,根据带宽回收周期从已分配带宽资源的队列回收带宽资源;
或,所述时间参数是已分配带宽资源的队列的等待时长,根据所述时长、未分配带宽资源与已分配带宽资源的队列优先级关系回收带宽资源。
6.如权利要求5所述的方法,其特征在于,所述时间参数是根据Iub口流量控制周期设定的带宽回收周期,根据带宽回收周期从已分配带宽资源的队列回收带宽资源步骤,进一步包括如下步骤:
根据队列的调度优先级对队列进行分段,得到队列的分段优先级,根据队列的计数器的值的大小对属于同一分段的队列进行排序得到段内优先级,对同一分段内的队列根据段内优先级进行排序;
根据每一分段优先级为每一分段设定权值;
根据带宽回收周期与分段的权值从已分配带宽资源的队列回收带宽资源。
7.如权利要求5所述的方法,其特征在于,当所述时间参数是已分配带宽资源的队列的等待时长时,根据所述时长、未分配带宽资源与已分配带宽资源队列的队列优先级关系回收带宽资源包括:当未分配带宽资源的队列优先级高于所述等待时长最长的已分配带宽资源的队列优先级时,回收所述等待时长最长的已分配带宽资源的队列的带宽资源。
8.如权利要求7所述的方法,其特征在于,进一步包括如下步骤:
当回收的带宽资源小于未分配带宽资源队列申请的带宽资源时,在队列优先级小于未分配带宽资源队列的队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收带宽资源。
9.如权利要求8所述的方法,其特征在于,进一步包括如下步骤:
当在队列优先级小于未分配带宽资源队列的队列优先级的已分配带宽资源的队列中,根据已分配带宽资源队列的队列优先级高低回收的带宽资源小于未分配带宽资源的队列申请的带宽资源时,根据已分配带宽资源的队列优先级高低回收带宽资源。
10.如权利要求4所述的方法,其特征在于,进一步包括如下步骤:
将分配带宽和/或回收带宽的队列的流量控制帧统一发送至帧协议层获取控制帧。
11.一种Iub口带宽的流量控制***,其特征在于,包括:
分段模块,用于根据队列的调度优先级对队列进行分段,得到队列的分段优先级,根据队列的计数器的值的大小对属于同一分段内的队列进行排序,得到段内优先级;其中,分段优先级高的队列对应的流控优先级高于分段优先级低的队列对应的流控优先级,段内优先级高的队列对应的流控优先级高于段内优先级低的队列对应的流控优先级;其中,所述流控优先级为所述分段优先级和所述段内优先级的组合;
状态确定模块,用于根据所述队列的分段优先级、段内优先级,以及每个队列的收发数据状态确定每个队列的队列状态;
分配模块,用于根据所述每个队列的队列状态向该队列分配带宽资源。
12.如权利要求11所述的***,其特征在于,所述状态确定模块包括优先级确定单元、收发数据确定单元、状态确定单元,其中:
优先级确定单元,用于确定每个队列的分段优先级和段内优先级;
收发数据确定单元,用于确定每个队列是否有收发数据;
状态确定单元,用于根据所述队列的分段优先级、段内优先级,以及每个队列的收发数据的状态确定每个队列的队列状态。
13.如权利要求11所述的***,其特征在于,进一步包括:
控制帧获取模块,用于将分配带宽的队列的流量控制帧统一发送至帧协议层后获取控制帧。
14.如权利要求13所述的***,其特征在于,进一步包括第一回收模块、和/或第二回收模块,其中:
第一回收模块,用于在根据所述每个队列的队列状态分配带宽资源后,根据时间参数、或根据时间参数与已分配带宽资源的队列优先级、或根据时间参数与已分配带宽资源以及未分配带宽资源的队列优先级回收带宽资源,所述回收的带宽资源用于所述分配模块根据每个队列的队列状态向队列分配回收的带宽资源;
第二回收模块,用于在满足无线网络控制器下发的CAPACITY REQUEST帧中的User Buffer Size字段值为零、队列无法容纳新的数据、队列所属的用户退出***三者之一或者其组合条件时,回收队列占用的带宽资源,所述回收的带宽资源用于所述分配模块根据每个队列的队列状态向队列分配回收的带宽资源;
其中,所述队列优先级为所述分段优先级和所述段内优先级的组合。
15.如权利要求14所述的***,其特征在于,当所述***包括第一回收模块时,所述第一回收模块包括第一回收单元、或第二回收单元、或第三回收单元,其中:
第一回收单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,在所述时长到达时间阈值时,根据已分配带宽资源的队列优先级,按回收比例设定从已分配带宽资源的队列回收带宽资源;
第二回收单元,用于在所述时间参数是根据Iub口流量控制周期设定的带宽回收周期时,根据带宽回收周期从已分配带宽资源的队列回收带宽资源;
第三回收单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,根据所述时长、未分配带宽资源与已分配带宽资源的队列优先级关系回收带宽资源。
16.如权利要求15所述的***,其特征在于,进一步包括权值设定单元,用于在分段模块再次根据队列的调度优先级对队列进行分段,得到队列的分段优先级,对同一分段内的队列根据段内优先级进行排序后,根据每一分段优先级为每一分段设定权值;
所述第二回收单元进一步用于根据带宽回收周期与分段的权值从已分配带宽资源的队列回收带宽资源。
17.如权利要求15所述的***,其特征在于,所述第三回收单元包括第一判断子单元、第一回收子单元,其中:
第一判断子单元,用于在所述时间参数是已分配带宽资源的队列的等待时长时,当判断出未分配带宽资源的队列优先级高于所述等待时长最长的已分配带宽资源的队列优先级时,触发第一回收子单元回收带宽资源;
第一回收子单元,用于回收所述队列优先级低于未分配带宽资源的队列优先级的、等待时长最长的已分配带宽资源队列的带宽资源。
18.如权利要求17所述的***,其特征在于,所述第三回收单元进一步包括第二判断子单元、第二回收子单元,其中:
第二判断子单元,用于当判断到回收的带宽资源小于未分配带宽资源队列申请的带宽资源时,触发第二回收子单元回收带宽资源;
第二回收单元,用于在队列优先级小于未分配带宽资源队列的队列优先级的已分配带宽资源的队列中,根据已分配带宽资源的队列优先级高低回收带宽资源。
19.如权利要求18所述的***,其特征在于,所述第三回收单元进一步包括第三判断子单元,第三回收子单元,其中:
第三判断子单元,用于当判断到在队列优先级小于未分配带宽资源队列的队列优先级的已分配带宽资源的队列中,根据已分配带宽资源队列的队列优先级高低回收的带宽资源小于未分配带宽资源队列申请的带宽资源时,触发第三回收子单元回收带宽资源;
第三回收子单元,用于根据已分配带宽资源的队列优先级高低回收带宽资源。
20.如权利要求14所述的***,其特征在于,所述控制帧获取模块,用于将分配带宽和/或回收带宽的队列的流量控制帧统一发送至帧协议层后获取控制帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101188060A CN101325541B (zh) | 2007-06-11 | 2007-06-11 | 一种Iub口带宽的流量控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101188060A CN101325541B (zh) | 2007-06-11 | 2007-06-11 | 一种Iub口带宽的流量控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101325541A CN101325541A (zh) | 2008-12-17 |
CN101325541B true CN101325541B (zh) | 2012-12-05 |
Family
ID=40188878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101188060A Active CN101325541B (zh) | 2007-06-11 | 2007-06-11 | 一种Iub口带宽的流量控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101325541B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012109880A1 (zh) * | 2011-08-04 | 2012-08-23 | 华为技术有限公司 | 队列调度方法和装置 |
CN112565939B (zh) * | 2020-11-18 | 2022-02-15 | 北京邮电大学 | 无源光网络数据传输方法、网络切片带宽分配方法及装置 |
CN114020461B (zh) * | 2021-11-03 | 2022-10-11 | 无锡沐创集成电路设计有限公司 | 内存分配方法、***、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322091A (zh) * | 2000-03-02 | 2001-11-14 | 阿尔卡塔尔互联网运行公司 | 合格优先权队列调度器 |
CN1411211A (zh) * | 2002-04-17 | 2003-04-16 | 华为技术有限公司 | 以太网交换芯片输出队列管理调度方法和装置 |
-
2007
- 2007-06-11 CN CN2007101188060A patent/CN101325541B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322091A (zh) * | 2000-03-02 | 2001-11-14 | 阿尔卡塔尔互联网运行公司 | 合格优先权队列调度器 |
CN1411211A (zh) * | 2002-04-17 | 2003-04-16 | 华为技术有限公司 | 以太网交换芯片输出队列管理调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101325541A (zh) | 2008-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101801000B (zh) | 一种最大化动态频谱共享***容量的次用户接入方法 | |
CN101262651B (zh) | 宽带无线城域网络中基站的下行数据调度方法和*** | |
CN109803294A (zh) | 一种面向高时敏业务的统计优先级多址接入方法 | |
CN110808920B (zh) | 一种ccsds帧和ip报文共存的卫星通信流量控制方法 | |
CN102726009B (zh) | 一种数据流交换控制方法及相关设备 | |
CN101369967A (zh) | 发送及接收数据的方法、基站、终端 | |
CN103229466A (zh) | 一种数据包传输的方法及装置 | |
CN101521624B (zh) | Iub口下行带宽分配方法与装置 | |
CN101232716B (zh) | 业务优先级的确定方法与装置及调度方法与装置 | |
CN102769894A (zh) | 一种多网关多节点无线传感器网络及其多网关信道选择和节点自适应入网方法 | |
CN101325541B (zh) | 一种Iub口带宽的流量控制方法及*** | |
CN105813218A (zh) | 无线自组织网络的业务调度方法 | |
CN101516109A (zh) | 一种流量控制方法、***及装置 | |
CN106453111A (zh) | 基于聚合链路的流量管理方法及装置 | |
CN101730271B (zh) | 回收无线资源的方法及装置 | |
CN103259743A (zh) | 基于令牌桶的输出流量控制的方法及装置 | |
CN106028463A (zh) | 一种基于服务速率控制的星载动态频谱资源调度方法 | |
CN103931262A (zh) | 一种数据调度方法和设备 | |
CN101447943A (zh) | 队列调度***及方法 | |
CN112087782B (zh) | 一种X-Haul网络中EMBB和URLLC共存的带宽分配方法 | |
CN109921972A (zh) | 数据包传输和/或接收的方法 | |
CN113543209A (zh) | 一种基于令牌调度的拥塞控制方法及装置 | |
CN101540716A (zh) | 基于服务质量的非保证比特率业务调度方法与装置 | |
CN101207570A (zh) | 数据传输方法、数据发送速率控制方法及基站 | |
CN1234663A (zh) | 帧中继节点具有受控超预订带宽中继线的帧中继网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |