一种粗粒度动态带宽分配方法

文档序号:7871377阅读:246来源:国知局
专利名称:一种粗粒度动态带宽分配方法
技术领域
本发明属于数据通信领域,涉及共享信道中对多个网络接入设备带宽的分配方法,具体是一种粗粒度动态带宽分配方法,可应用于需要根据网络业务流量特性和当前系统状态为网络接入设备实时分配带宽,并尽可能小的引入额外带宽计算开销的网络环境中。
背景技术
通信技术的飞速发展,使得越来越多的用户可以方便的接入互联网。与此同时,多媒体业务的快速增长,使得用户对网络的需求呈现出多样化的趋势。因此,如何将有限的带宽合理、快速的分配给有需求的用户,从而为更多的用户提供服务,提高网络资源的利用率以及获得更好的用户体验,已经成为各个网络服务提供商迫切需要解决的问题。
带宽分配方式主要分为静态和动态两种类型。静态带宽分配通过定义CIR(承诺信息速率)为用户分配固定带宽,不论此时是否有数据传输以及数据传输的带宽实际为多少,都占用了分配到的固定带宽。动态带宽分配根据数据流的带宽和QoS策略,由系统根据DBA(动态带宽分配)算法,对系统的可用带宽进行动态分配。静态带宽分配方法简单,但灵活性差,不能根据业务负载状态合理的分配带宽,降低了通信系统带宽的利用率。一般的实时动态带宽分配方式,虽然很好的克服了上述缺点,但实现起来过于精细,需要实时精确的获得各个用户实际需要的带宽值,然后根据这个带宽值为用户分配所需带宽。因此要求执行DBA算法的CPU有较强的处理能力,并且随着接入用户数量的增多、带宽的增加以及需求带宽值的大幅度变化,都会使执行DBA算法的CPU的计算量急剧增加,超出通信系统的可控范围。所以需要提出一种既能减轻通信系统的处理压力,又能很好的根据业务流的动态特性为各个用户快速、合理分配带宽的方法。

发明内容
本发明的目的在于克服上述动态带宽分配方式的不足,提供一种粗粒度动态带宽分配方法。本方法采用的粗粒度动态带宽分配方法不需要精确计算用户需要的带宽值,只需要通过对业务流量特性的统计以及对当前缓存中等待传输的数据队列状态的采集,在规定的带宽分配周期到来时为各个用户分配带宽,并且每次带宽值的变化量是带宽更新步长的整数倍。实现本发明目的的技术方案如下本发明粗粒度动态带宽分配方法包括如下步骤(I)根据用户的需求和网络环境,配置系统带宽分配周期t、用户的带宽参数、缓存队列门限、加权系数β以及阻尼系数P,m,n的值,将用户的带宽分配标志F初始化为O;(2)判断是否有用户举手,即举手用户为第一次有数据需要传输,如果没有,转到步骤(3),如果有,为举手用户分配协议带宽B。,并开始统计该用户的加权平均带宽Ba,在第一个统计周期t内不做加权处理,经过M个带宽分配周期t,获得稳定的加权平均带宽Ba,举手用户不执行以下的带宽分配算法;(3)对没有举手但满足统计M个带宽分配周期t以及上一周期分配带宽值Blri大于初始带宽Bmin条件的用户,根据统计的加权平均带宽和当前队列状态执行以下的带宽分配操作,对没有举手不满足上述条件的用户,不执行以下的带宽分配算法;(3.1)按照当前缓存队列长度Gn将用户分为两组,Gn小于等于保证门限G。的分为A组,Gn大于G。的分为B组;(3.2)对A组中的用户进行带宽分配,按照用户的带宽分配标志F将用户分为两组,将F为O的用户分为AO组,将F为I的用户分为Al组;3. 2.1)对AO组中的用户进行带宽分配;3.2. La)为该用户的带宽判决门限上限G(n_1)u赋值保证门限G。,带宽判决门限下限G(n_1)d赋值Gdl,分配带宽为协议带宽B。,并置带宽分配标志F为I,转到步骤3. 2. l.b); 3.2. l.b)判断是否在此次带宽分配周期内对所有的AO组用户完成了带宽分配,如果是,完成对AO组用户的带宽分配,如果不是,为下一个AO组内的用户循环执行3. 2.1. a);3. 2. 2)采取快增慢减策略对Al组中的用户进行带宽分配;3. 2. 2. a)判断该用户的带宽判决门限下限G(n_1)d是否小于或等于Gdl,如果是,转到步骤3. 2. 2. b),如果不是,将该用户移动到BI组,转到步骤3. 2. 2. e);3. 2. 2. b)判断该用户的当前缓存队列长度Gn是否大于或等于带宽判决门限上限G(n_1)u,如果是,为该用户G(n_1)u赋值,保证门限G。,带宽判决门限下限G(n_1)d赋值Gdl,分配带宽增加为协议带宽B。,转到步骤3. 2. 2. e),如果不是,判断该用户的加权平均带宽Ba是否大于或等于G(n_1)u对应的Be,如果是,为该用户G(n_1)u赋值赋值Gdl,分配带宽为B。,转到步骤3. 2. 2. e),如果不是转到步骤3. 2. 2. c);3. 2. 2. c)判断该用户的6 是否连续P次小于带宽判决门限下限G(n_1)d,如果不是,为该用户分配带宽为上周期分配带宽Blri,转到步骤3. 2. 2. e),如果是,判断该用户的Ba是否小于带宽判决门限上限G(n_1)d对应的等效带宽Be,如果不小于,为该用户分配带宽为上周期分配带宽Blri,转到步骤3. 2. 2. e),如果小于,为该用户带宽判决门限上限G(n_1)u赋值带宽判决门限下限G(n_1)d,将G(n_1)d对应的Gdj的下一个门限Gd(j+1)赋给G(n_1)d,如果G(n_1)d为Gmin则不改变G(n_1)d的值,为该用户分配带宽为Blri减Λ Bd,转到步骤3. 2. 2. d);3. 2. 2. d)判断该用户的带宽是否是初始带宽Bmin,如果是,将该用户的F置为0,转到步骤3. 2. 2. e),如果不是则直接转到步骤3. 2. 2. e);3. 2. 2. e)判断是否在此次带宽分配周期内对所有的Al组用户完成了带宽分配,如果是,完成对Al组用户的带宽分配,如果不是,为下一个Al组内的用户循环执行3. 2. 2. a);(3. 3)对B组中的所有用户预分配协议带宽B。,预分配的带宽不计入剩余带宽Bs,按照用户的带宽分配标志F将用户分为两组,将F为O的用户分为BO组,将F为I的用户分为BI组;3. 3.1)对BO组中的用户进行带宽分配;3. 3.1. a)对该用户带宽判决门限上限G(n_1)u赋值Gul,带宽判决门限下限G(n_1)d赋值保证门限G。,为该用户分配带宽B。,并置F为1,转到步骤3. 3.1. b);
3.3. l.b)判断是否在此次带宽分配周期内对所有的BO组用户完成了带宽分配,如果是,完成对BO组用户的带宽分配,如果不是,为下一个BO组内的用户循环执行3. 3.1. a);3. 3. 2)采取慢增快减策略对BI组中的用户进行带宽分配;3. 3. 2. a)判断当前网络中是否有未分配的带宽,如果没有,转到步骤3. 4),如果有未分配的带宽,转到步骤3 .3. 2. b);3. 3. 2. b)判断该用户带宽判决门限上限G(n_1)u是否大于或等于Gul,如果不是,为该用户G(n_1)u赋值Gul,带宽判决门限下限G(n_1)d赋值保证门限G。并分配协议带宽B。,转到步骤3. 3. 2. h),如果是,转到步骤3. 3. 2. c);3. 3. 2. c)判断该用户当前缓存队列长度Gn是否连续m次大于或等于G(n_1)u,如果不是,转到步骤3. 3. 2. e),如果是,判断该用户的上周期分配带宽Blri是否小于该用户的最高带宽Bmax,如果是,转到步骤3. 3. 2. d),如果不是,判断剩余带宽Bs是否大于或等于Bmax减协议带宽B。,如果是,为该用户分配带宽为Bmax,转到步骤3. 3. 2. f),如果不是,为该用户分配带宽为Bc加Bs,转到步骤(3. 4);3. 3. 2. d)判断剩余带宽Bs是否大于或等于该用户的上周期分配带宽Blri减B。加Λ Bu,如果是,对该用户G(n_1)d赋值G(n_1)u,G(n_1)u对应的Gui的下一个门限Gu(i+1)赋给G(n_1)u,如果G(n_1)u为Gmax则不改变G(n_1)u的值,为该用户分配带宽为Blri加ABu,且分配带宽不超过Bmax,转到步骤3. 3. 2. h),如果不是,为该用户分配带宽为Blri加剩余带宽Bs,转到步骤(3. 4);3. 3. 2. e)判断该用户当前缓存队列长度Gn是否连续η次小于G(n_1)d,如果是,用y表示Gn连续η次小于G(n_1)d的次数,转到步骤3. 3. 2. f),如果不是,判断网络剩余带宽Bs是否大于或等于该用户的Blri减B。,如果是,为该用户分配带宽为上周期分配带宽Blri,转到步骤3.3.2. h),如果不是,为该用户分配带宽为协议带宽B。加剩余带宽Bs,转到步骤(3.4);3. 3. 2. f)判断(BlriI* Δ Bu)是否小于B。,如果是,转到步骤3. 3. 2. g),如果不是,对该用户G(n__1)d赋值为G(n_1)d对应的Gui的下η个门限值Gu(i_n),G(n_1)u赋值为Gu(i_n+1),为该用户分配带宽为此_11*八811),转到步骤3.3.2.10 ;3. 3. 2. g)对G(n_1)u赋值Gul,G(n_1)d赋值G。并分配协议带宽B。,转到步骤3. 3. 2. h);3. 3. 2. h)判断是否在此次带宽分配周期内对所有的BI组用户完成了带宽分配,如果是,完成对BI组用户的带宽分配,转到步骤(4),如果不是,为下一个BI组内的用户循环执行3. 3. 2. a);(3. 4)为BI组未分配带宽的用户分配协议带宽Bc ;(4)完成此次带宽分配,转到步骤(2)进入下次带宽分配周期。本发明在步骤(3)中的加权平均带宽Ba :在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt^进行算术平均,得到本周期的叠加平均带宽Bt%进而得到这一段时间的加权平均带宽Ba,即Ba=β为加权系数,O ^ β ^ I0本发明在步骤3. 2. 2)中的快增慢减策略如果用户在上一个带宽分配周期获得的带宽Blri小于协议带宽B。,对该用户在这一个带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于某个门限值时,立即将该用户的分配带宽快速增加到协议带宽B。,而当待发送数据分组队列长度连续P个t周期小于或等于某个门限值时,I < P < 5,并且Ba小于或等于这个门限值对应的等效带宽时,才将用户的分配带宽减少一个固定量ABd。本发明在步骤3. 3. 2)中的慢增快减策略如果用户Blri大于或等于B。时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于某个门限值,I 5,并且网络中有未分配的额外带宽资源时,才将用户的带宽增加一个固定量ABu,而当待发送数据分组队列长度连续η次个t周期小于某个门限值,I < η < 5,将用户的带宽减少一个固定量Λ Bu,如果下一个周期队列继续减少并连续η个t周期小于另一个门限值,则将用户的带宽减少一个固定量2* Δ Bu,以此类推,直到带宽减少到B。,或者网络中有其他用户需要增加带宽到B。,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。通过设置多个门限值作为判断带宽分配的参考量,由协议带宽Be*t得到保证门限G0,由初始带宽Bmin*t得到最小门限Gmin,由最高带宽Bmax*t得到最大门限Gmax,分别设置高 于和低于G。的队列门限值,低于G。的门限个数为Nd,高于G。的门限个数为Nu,由(Gtj-Gmin) /(Nd+1)得到队列门限间隔ΛGd,进而得到保证门限G。以下的队列门限值Gdi,I彡Nd,Gdi的值随着i的减小而减小,由(Gmax-Gt5V(Nl^l)得到队列门限间隔AGu,进而得到保证门限G0以上的队列门限值Guj,Nu, Guj的值随着j增大而增大。通过Gdl/t得到对应的等效带宽Bedi,作为加权平均带宽Ba的比较参考值。根据AGdA得到协议带宽B。以下的带宽更新步长ABd, Λ Gu/t得到协议带宽B。之上的带宽更新步长ABU。本发明与现有技术对比所具有的特点1、本发明以用户的协议带宽为基础,只在规定的带宽分配周期到来时执行带宽分配算法为各个用户分配带宽,不需要精确的计算出用户需要的带宽值,只需通过对用户业务流量特性进行统计以及对当前缓存中等待传输的数据队列状态进行采集,将统计和采集到的参数与设置的带宽变化判决条件进行比较,满足特定的条件后,才对用户的带宽进行调整,不满足条件不改变用户的带宽值,采用这种粗粒度动态带宽分配方法可以预测用户需要的带宽值,克服了带宽分配的盲目性,避免了带宽分配过程中的大幅度震荡,同时也节省了带宽分配的系统资源开销。2、本发明在用户的分配带宽高于协议带宽时采用快增加慢减少的策略,使用户在有突发数据传输时,可以迅速获得高带宽。在用户的分配带宽低于协议带宽时采用慢增加快减少的策略,能够让用户在网络中有剩余带宽的情况下获得更大的带宽,而且慢增加快减少让用户可以相对公平的获取额外带宽,同时在用户不需要额外带宽时,也可以迅速释放带宽,供其他用户使用。3、根据队列状态和带宽分配标志对用户进行分组,对每组用户采取不同的带宽分配方法,使带宽分配方法更加准确、快速、有效,同时节省了 CPU的计算资源,因此可以很好地控制带宽分配算法的系统资源开销。


图1为本发明的带宽分配示意图2为本发明的队列门限设置示意图;图3为本发明的带宽分配总体流程图;图4为本发明的AO组带宽分配分支流程图;图5为本发明的Al组带宽分配分支流程图;图6为本发明的BO组带宽分配分支流程图;图7为本发明的BI组带宽分配分支流程图。
具体实施例方式为使本发明目的、技术方案以及优点更加清楚明白,以下参照附图并举实例,对本 发明进行近一步地详细说明。参照图1,本发明提供的一种粗粒度动态带宽分配方法,首先设置带宽分配参数,包括带宽分配周期t、协议带宽B。、初始带宽Bmin、最高带宽Bmax、加权平均带宽Ba、等效带宽Be、队列门限G,带宽调整策略包括举手示意、快增慢减、慢增快减,其中协议带宽B。网络服务提供商在用户接入网络时承诺给予用户的一个带宽额度,即协议带宽B。。这个带宽值是网络服务提供商必须保证用户在需要时能够获得的。初始带宽Bmin :用户接入网络后,在没有数据需要传输时,分配给用户的带宽值Bminj O Bmin < Bc。最高带宽Bmax:允许用户占用的最大网络带宽值Bmax,防止用户过度占用带宽,导致其他的用户在需要时无法分配到额外的带宽,Bc ( Bmax。加权平均带宽Ba :在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt:进行算术平均,得到本周期的叠加平均带宽Bt%进而得到这一段时间的加权平均带宽Ba,即Ba =β为加权系数,O彡β彡I。队列门限G :通过设置一些队列门限值来反映当前的队列状态,从而采取相应的措施进行带宽分配。等效带宽:根据对应的队列门限值G和带宽分配周期t获得的带宽Be,即=G/t。快增慢减策略如果用户在上一个带宽分配周期获得的带宽Blri小于协议带宽B。,对该用户在这一个带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于某个门限值时,立即将该用户的分配带宽快速增加到协议带宽B。,而当待发送数据分组队列长度连续P个t周期小于或等于某个门限值时,I < P < 5,并且Ba小于或等于这个门限值对应的等效带宽时,才将用户的分配带宽减少一个固定量ABd。慢增快减策略如果用户Blri大于或等于B。时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于某个门限值,I < m < 5,并且网络中有未分配的额外带宽资源时,才将用户的带宽增加一个固定量ABu,而当待发送数据分组队列长度连续η次个t周期小于某个门限值,5,将用户的带宽减少一个固定量Λ Bu,如果下一个周期队列继续减少并连续η个t周期小于另一个门限值,则将用户的带宽减少一个固定量2*ABU,以此类推,直到带宽减少到B。,或者网络中有其他用户需要增加带宽到B。,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。
举手示意用户没有业务传输时分配带宽Bmin,只要用户有业务需要传输就通知系统,即谓之举手示意,系统立刻为其分配协议带宽B。,并开始统计加权平均带宽Ba。仅举例网络中的三个用户参与带宽分配,每个用户的具体带宽参数的设定如表I所示表I用户带宽参数表
权利要求
1. 一种粗粒度动态带宽分配方法,其特征包括如下步骤(1)根据用户的需求和网络环境,配置系统带宽分配周期t、用户的带宽参数、缓存队列门限、加权系数β以及阻尼系数P,m,η的值,将用户的带宽分配标志F初始化为O;(2)判断是否有用户举手,即举手用户为第一次有数据需要传输,如果没有,转到步骤(3),如果有,为举手用户分配协议带宽B。,并开始统计该用户的加权平均带宽Ba,在第一个统计周期t内不做加权处理,经过M个带宽分配周期t,获得稳定的加权平均带宽Ba,举手用户不执行以下的带宽分配算法;(3)对没有举手但满足统计M个带宽分配周期t以及上一周期分配带宽值Blri大于初始带宽Bmin条件的用户,根据统计的加权平均带宽和当前队列状态执行以下的带宽分配操作,对没有举手不满足上述条件的用户,不执行以下的带宽分配算法;(3.1)按照当前缓存队列长度Gn将用户分为两组,Gn小于等于保证门限G。的分为A组, Gn大于G。的分为B组;(3. 2)对A组中的用户进行带宽分配,按照用户的带宽分配标志F将用户分为两组,将 F为O的用户分为AO组,将F为I的用户分为Al组;.3.2.1)对AO组中的用户进行带宽分配;.3.2. La)为该用户的带宽判决门限上限G(n_1)u赋值保证门限G。,带宽判决门限下限 G(n-1)d赋值Gdl,分配带宽为协议带宽B。,并置带宽分配标志F为I,转到步骤3. 2.1. b);.3.2. l.b)判断是否在此次带宽分配周期内对所有的AO组用户完成了带宽分配,如果是,完成对AO组用户的带宽分配,如果不是,为下一个AO组内的用户循环执行3. 2.1. a);.3.2. 2)采取快增慢减策略对Al组中的用户进行带宽分配;.3.2. 2. a)判断该用户的带宽判决门限下限G(n_1)d是否小于或等于Gdl,如果是,转到步骤3. 2. 2. b),如果不是,将该用户移动到BI组,转到步骤3. 2. 2. e);.3.2. 2. b)判断该用户的当前缓存队列长度Gn是否大于或等于带宽判决门限上限G(Iri) u,如果是,为该用户G(n_1)u赋值,保证门限G。,带宽判决门限下限G(n_1)d赋值Gdl,分配带宽增加为协议带宽B。,转到步骤3. 2. 2. e),如果不是,判断该用户的加权平均带宽Ba是否大于或等于G(n_1)u对应的Be,如果是,为该用户G(n_1)u赋值赋值Gdl,分配带宽为B。,转到步骤3. 2. 2. e),如果不是转到步骤3. .2. 2. c);.3.2. 2. c)判断该用户的Gn是否连续P次小于带宽判决门限下限G(n_1)d,如果不是,为该用户分配带宽为上周期分配带宽Blri,转到步骤3. 2. 2. e),如果是,判断该用户的Ba是否小于带宽判决门限上限G(n_1)d对应的等效带宽Be,如果不小于,为该用户分配带宽为上周期分配带宽Blri,转到步骤3. 2. 2. e),如果小于,为该用户带宽判决门限上限G(n_1)u赋值带宽判决门限下限 G(n—i)d,将 G(n-1)d 对应的Gdj的下一个门限Gd(j+1)赋给G(n-1) d,如果G(η-1) d为Gmin则不改变G(n_1)d的值,为该用户分配带宽为Blri减ABd,转到步骤3. 2. 2. d);.3.2. 2. d)判断该用户的带宽是否是初始带宽Bmin,如果是,将该用户的F置为0,转到步骤3. 2. 2. e),如果不是则直接转到步骤.3. 2. 2. e);.3.2. 2. e)判断是否在此次带宽分配周期内对所有的Al组用户完成了带宽分配,如果是,完成对Al组用户的带宽分配,如果不是,为下一个Al组内的用户循环执行3. 2. 2. a); (3. 3)对B组中的所有用户预分配协议带宽B。,预分配的带宽不计入剩余带宽Bs,按照用户的带宽分配标志F将用户分为两组,将F为O的用户分为BO组,将F为I的用户分为BI组;.3. 3.1)对BO组中的用户进行带宽分配;.3. 3.1. a)对该用户带宽判决门限上限G(n_1)u赋值Gul,带宽判决门限下限G(n_1)d赋值保证门限G。,为该用户分配带宽B。,并置F为1,转到步骤3. 3.1. b);.3. 3.1. b)判断是否在此次带宽分配周期内对所有的BO组用户完成了带宽分配,如果是,完成对BO组用户的带宽分配,如果不是,为下一个BO组内的用户循环执行3. 3.1. a); 3. 3. 2)采取慢增快减策略对BI组中的用户进行带宽分配;.3. 3. 2. a)判断当前网络中是否有未分配的带宽,如果没有,转到步骤3. 4),如果有未分配的带宽,转到步骤3. 3. 2. b);.3. 3. 2. b)判断该用户带宽判决门限上限G(n_1)u是否大于或等于Gul,如果不是,为该用户G(n_1)u赋值Gul,带宽判决门限下限G(n_1)d赋值保证门限G。并分配协议带宽B。,转到步骤 3. 3. 2. h),如果是,转到步骤3. 3. 2. c);.3. 3. 2.c)判断该用户当前缓存队列长度Gn是否连续m次大于或等于G(n_1)u,如果不是, 转到步骤3. 3. 2. e),如果是,判断该用户的上周期分配带宽Blri是否小于该用户的最高带宽Bmax,如果是,转到步骤3. 3. 2. d),如果不是,判断剩余带宽Bs是否大于或等于Bmax减协议带宽B。,如果是,为该用户分配带宽为Bmax,转到步骤3. 3. 2. f),如果不是,为该用户分配带宽为BcJPBs,转到步骤(3.4);.3. 3. 2. d)判断剩余带宽Bs是否大于或等于该用户的上周期分配带宽Blri减B。加ABu, 如果是,对该用户G(n_1)d赋值G(n_1)u,的下一个门限Gu(i+1)赋给G(n_1)u,如果 G(n_1)u为Gmax则不改变G(n_1)u的值,为该用户分配带宽为Blri加Λ Bu,且分配带宽不超过Bmax, 转到步骤3.3.2. h),如果不是,为该用户分配带宽为Blri加剩余带宽Bs,转到步骤(3.4);.3. 3. 2. e)判断该用户当前缓存队列长度Gn是否连续η次小于G(n_1)d,如果是,用y表示 Gn连续η次小于G(n_1)d的次数,转到步骤3. 3. 2. f),如果不是,判断网络剩余带宽Bs是否大于或等于该用户的Blri减B。,如果是,为该用户分配带宽为上周期分配带宽Blri,转到步骤 3. 3.2. h),如果不是,为该用户分配带宽为协议带宽B。加剩余带宽Bs,转到步骤(3.4);.3. 3. 2. f)判断(Bn+y*ABu)是否小于B。,如果是,转到步骤3. 3. 2. g),如果不是,对该用户G(n_1)d赋值为G(n_1)d对应的Gui的下η个门限值Gu(1_n),G(n_1)u赋值为Gu(i_n+1),为该用户分配带宽为(BlriI* Δ Bu),转到步骤3. 3. 2. h);.3. 3. 2. g)对G(n_1)u赋值Gul,G(n_1)d赋值G。并分配协议带宽B。,转到步骤3. 3. 2. h);.3.3. 2. h)判断是否在此次带宽分配周期内对所有的BI组用户完成了带宽分配,如果是,完成对BI组用户的带宽分配,转到步骤(4),如果不是,为下一个BI组内的用户循环执行 3. 3. 2. a);(3. 4)为BI组未分配带宽的用户分配协议带宽B。;(4)完成此次带宽分配,转到步骤(2)进入下次带宽分配周期。
2.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于所述步骤⑶中的加权平均带宽Ba的计算在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt^进行算术平均,得到本周期的叠加平均带宽 Bt%进而得到这一段时间的加权平均带宽Ba,即Ba=β为加权系数,0^ β ^ Io
3.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于在步骤3.2. 2)采用的快增慢减方法为如果用户在上次带宽分配周期获得的带宽Blri小于协议带宽B。,对该用户在本次带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于判决门限上限值时,立即将该用户的分配带宽快速增加到协议带宽B。,而当待发送数据分组队列长度连续P个t周期小于或等于判决门限下限值时,I < P < 5,并且Ba小于或等于这个门限值对应的等效带宽时,将用户的分配带宽减少一个固定量ABd。
4.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于在步骤3.3. 2)采用的慢增快减方法为如果用户Blri大于或等于B。时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于判决门限上限值,I < m < 5,并且网络中有未分配的额外带宽资源时,将用户的带宽增加一个固定量ABu,而当待发送数据分组队列长度连续η个t周期小于判决门限下限值,5,将用户的带宽减少一个固定量Λ Bu,如果下一个周期队列长度继续减少并连续η个t周期小于下一个门限值,则将用户的带宽减少一个固定量2* Δ Bu,以此类推,直到带宽减少到B。,或者网络中有其他用户需要增加带宽到B。,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。
5.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于通过设置多个门限值作为判断带宽分配的参考量,由协议带宽Be*t得到保证门限G。,由初始带宽Bmin*t得到最小门限Gmin,由最高带宽Bmax*t得到最大门限Gmax,分别设置高于和低于G。的队列门限值, 低于G。的门限个数为Nd,高于G。的门限个数为Nu,由(Gtj-GminV(Nfl)得到队列门限间隔 Λ Gd,进而得到保证门限G。以下的队列门限值Gdi,Nd, Gdi的值随着i的减小而减小, 由(Gmax-Gt5V(NJl)得到队列门限间隔AGu,进而得到保证门限G。以上的队列门限值Guj,1^ j ^ Nu, Guj的值随着j增大而增大;通过Gdi/t得到对应的等效带宽Bedi,作为加权平均带宽Ba的比较参考值;根据Λ Gd/t得到协议带宽B。以下的带宽更新步长Λ Bd, Δ Gu/t得到协议带宽B。之上的带宽更新步长ABU。
全文摘要
本发明公开了一种粗粒度动态带宽分配方法,用于解决共享信道中多个用户之间快速、有效分配带宽的问题。该方法首先对用户的协议带宽、初始带宽、最高带宽、队列门限带宽分配参数进行配置。然后等待用户举手,为其分配协议带宽并统计用户的加权平均带宽。待加权平均带宽趋于稳定,根据用户的加权平均带宽、当前缓存队列与等效带宽、队列门限的大小关系进行带宽分配。协议带宽以下采用快增慢减策略分配带宽,以上采用慢增快减策略分配带宽。本发明具有系统资源占用率小的优点,可用于需要对系统带宽进行快速、有效的分配,而又不希望引入过多的带宽计算开销的通信系统中。
文档编号H04L12/911GK103023819SQ20121059649
公开日2013年4月3日 申请日期2012年12月14日 优先权日2012年12月14日
发明者邱智亮, 张冰, 赵哲, 张奭, 潘伟涛, 孙汉汶, 贺亮, 姚明旿, 鲍民权, 刘焕峰 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1