Movatterモバイル変換


[0]ホーム

URL:


CN103023819A - Coarse-grained dynamic bandwidth allocation method - Google Patents

Coarse-grained dynamic bandwidth allocation method
Download PDF

Info

Publication number
CN103023819A
CN103023819ACN2012105964945ACN201210596494ACN103023819ACN 103023819 ACN103023819 ACN 103023819ACN 2012105964945 ACN2012105964945 ACN 2012105964945ACN 201210596494 ACN201210596494 ACN 201210596494ACN 103023819 ACN103023819 ACN 103023819A
Authority
CN
China
Prior art keywords
bandwidth
user
threshold
group
allocation
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.)
Granted
Application number
CN2012105964945A
Other languages
Chinese (zh)
Other versions
CN103023819B (en
Inventor
邱智亮
张冰
赵哲
张奭
潘伟涛
孙汉汶
贺亮
姚明旿
鲍民权
刘焕峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian UniversityfiledCriticalXidian University
Priority to CN201210596494.5ApriorityCriticalpatent/CN103023819B/en
Publication of CN103023819ApublicationCriticalpatent/CN103023819A/en
Application grantedgrantedCritical
Publication of CN103023819BpublicationCriticalpatent/CN103023819B/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Abstract

Translated fromChinese

本发明公开了一种粗粒度动态带宽分配方法,用于解决共享信道中多个用户之间快速、有效分配带宽的问题。该方法首先对用户的协议带宽、初始带宽、最高带宽、队列门限带宽分配参数进行配置。然后等待用户举手,为其分配协议带宽并统计用户的加权平均带宽。待加权平均带宽趋于稳定,根据用户的加权平均带宽、当前缓存队列与等效带宽、队列门限的大小关系进行带宽分配。协议带宽以下采用快增慢减策略分配带宽,以上采用慢增快减策略分配带宽。本发明具有系统资源占用率小的优点,可用于需要对系统带宽进行快速、有效的分配,而又不希望引入过多的带宽计算开销的通信系统中。

Figure 201210596494

The invention discloses a coarse-grained dynamic bandwidth allocation method, which is used to solve the problem of quickly and effectively allocating bandwidth among multiple users in a shared channel. The method first configures the user's protocol bandwidth, initial bandwidth, maximum bandwidth, and queue threshold bandwidth allocation parameters. Then wait for the user to raise his hand, allocate protocol bandwidth to it and count the weighted average bandwidth of the user. When the weighted average bandwidth tends to be stable, the bandwidth is allocated according to the weighted average bandwidth of the user, the relationship between the current buffer queue and the equivalent bandwidth, and the queue threshold. Below the protocol bandwidth, the fast-increasing-slow-decreasing strategy is used to allocate bandwidth, and the above-mentioned bandwidth is allocated using the slow-increasing and fast-decreasing strategy. The invention has the advantage of small system resource occupancy rate, and can be used in a communication system that requires fast and effective allocation of system bandwidth and does not want to introduce too much bandwidth calculation overhead.

Figure 201210596494

Description

Translated fromChinese
一种粗粒度动态带宽分配方法A Coarse Granularity Dynamic Bandwidth Allocation Method

技术领域technical field

本发明属于数据通信领域,涉及共享信道中对多个网络接入设备带宽的分配方法,具体是一种粗粒度动态带宽分配方法,可应用于需要根据网络业务流量特性和当前系统状态为网络接入设备实时分配带宽,并尽可能小的引入额外带宽计算开销的网络环境中。The invention belongs to the field of data communication, and relates to a bandwidth allocation method for multiple network access devices in a shared channel. In the network environment where the input device allocates bandwidth in real time and introduces as little additional bandwidth computing overhead as possible.

背景技术Background technique

通信技术的飞速发展,使得越来越多的用户可以方便的接入互联网。与此同时,多媒体业务的快速增长,使得用户对网络的需求呈现出多样化的趋势。因此,如何将有限的带宽合理、快速的分配给有需求的用户,从而为更多的用户提供服务,提高网络资源的利用率以及获得更好的用户体验,已经成为各个网络服务提供商迫切需要解决的问题。The rapid development of communication technology enables more and more users to access the Internet conveniently. At the same time, the rapid growth of multimedia services makes users' demands on the network show a trend of diversification. Therefore, how to reasonably and quickly allocate limited bandwidth to users in need, so as to provide services for more users, improve the utilization of network resources and obtain better user experience, has become an urgent need for various network service providers. solved problem.

带宽分配方式主要分为静态和动态两种类型。静态带宽分配通过定义CIR(承诺信息速率)为用户分配固定带宽,不论此时是否有数据传输以及数据传输的带宽实际为多少,都占用了分配到的固定带宽。动态带宽分配根据数据流的带宽和QoS策略,由系统根据DBA(动态带宽分配)算法,对系统的可用带宽进行动态分配。There are mainly two types of bandwidth allocation methods: static and dynamic. Static bandwidth allocation allocates fixed bandwidth to users by defining CIR (committed information rate), regardless of whether there is data transmission at this time and the actual bandwidth of data transmission, the allocated fixed bandwidth is occupied. Dynamic bandwidth allocation According to the bandwidth and QoS policy of the data flow, the system dynamically allocates the available bandwidth of the system according to the DBA (Dynamic Bandwidth Allocation) algorithm.

静态带宽分配方法简单,但灵活性差,不能根据业务负载状态合理的分配带宽,降低了通信系统带宽的利用率。一般的实时动态带宽分配方式,虽然很好的克服了上述缺点,但实现起来过于精细,需要实时精确的获得各个用户实际需要的带宽值,然后根据这个带宽值为用户分配所需带宽。因此要求执行DBA算法的CPU有较强的处理能力,并且随着接入用户数量的增多、带宽的增加以及需求带宽值的大幅度变化,都会使执行DBA算法的CPU的计算量急剧增加,超出通信系统的可控范围。所以需要提出一种既能减轻通信系统的处理压力,又能很好的根据业务流的动态特性为各个用户快速、合理分配带宽的方法。The static bandwidth allocation method is simple, but has poor flexibility and cannot reasonably allocate bandwidth according to the business load status, which reduces the utilization rate of the bandwidth of the communication system. Although the general real-time dynamic bandwidth allocation method overcomes the above shortcomings, it is too fine to implement, and needs to obtain the actual bandwidth value of each user accurately in real time, and then allocate the required bandwidth to the user according to this bandwidth value. Therefore, the CPU that executes the DBA algorithm is required to have strong processing capabilities, and with the increase in the number of access users, the increase in bandwidth, and the large change in the required bandwidth value, the calculation amount of the CPU that executes the DBA algorithm will increase sharply, exceeding The controllable range of the communication system. Therefore, it is necessary to propose a method that can not only reduce the processing pressure of the communication system, but also quickly and reasonably allocate bandwidth to each user according to the dynamic characteristics of the service flow.

发明内容Contents of the invention

本发明的目的在于克服上述动态带宽分配方式的不足,提供一种粗粒度动态带宽分配方法。本方法采用的粗粒度动态带宽分配方法不需要精确计算用户需要的带宽值,只需要通过对业务流量特性的统计以及对当前缓存中等待传输的数据队列状态的采集,在规定的带宽分配周期到来时为各个用户分配带宽,并且每次带宽值的变化量是带宽更新步长的整数倍。The purpose of the present invention is to overcome the shortcomings of the above dynamic bandwidth allocation method and provide a coarse-grained dynamic bandwidth allocation method. The coarse-grained dynamic bandwidth allocation method adopted by this method does not need to accurately calculate the bandwidth value required by the user, but only needs to collect the status of the data queue waiting to be transmitted in the current buffer through the statistics of the service flow characteristics, and arrive at the specified bandwidth allocation cycle Bandwidth is allocated to each user, and the amount of change in each bandwidth value is an integer multiple of the bandwidth update step.

实现本发明目的的技术方案如下:The technical scheme that realizes the object of the present invention is as follows:

本发明粗粒度动态带宽分配方法包括如下步骤:The coarse-grained dynamic bandwidth allocation method of the present invention comprises the following steps:

(1)根据用户的需求和网络环境,配置系统带宽分配周期t、用户的带宽参数、缓存队列门限、加权系数β以及阻尼系数p,m,n的值,将用户的带宽分配标志F初始化为0;(1) According to the needs of the user and the network environment, configure the system bandwidth allocation cycle t, the user's bandwidth parameters, the cache queue threshold, the weighting coefficient β and the damping coefficient p, m, and the value of n, and initialize the user's bandwidth allocation flag F as 0;

(2)判断是否有用户举手,即举手用户为第一次有数据需要传输,如果没有,转到步骤(3),如果有,为举手用户分配协议带宽Bc,并开始统计该用户的加权平均带宽Ba,在第一个统计周期t内不做加权处理,经过M个带宽分配周期t,获得稳定的加权平均带宽Ba,举手用户不执行以下的带宽分配算法;(2) Determine whether there is a user raising his hand, that is, the user who raised his hand has data to transmit for the first time, if not, go to step (3), if yes, allocate the protocol bandwidth Bc to the user who raised his hand, and start counting the data The weighted average bandwidth Ba of the user is not weighted in the first statistical period t, and after M bandwidth allocation periods t, a stable weighted average bandwidth Ba is obtained, and the user who raises his hand does not perform the following bandwidth allocation algorithm;

(3)对没有举手但满足统计M个带宽分配周期t以及上一周期分配带宽值Bn-1大于初始带宽Bmin条件的用户,根据统计的加权平均带宽和当前队列状态执行以下的带宽分配操作,对没有举手不满足上述条件的用户,不执行以下的带宽分配算法;(3) For users who do not raise their hands but meet the condition of counting M bandwidth allocation periods t and the allocated bandwidth value Bn-1 of the previous period is greater than the initial bandwidth Bmin , perform the following bandwidth according to the statistical weighted average bandwidth and current queue status For the allocation operation, the following bandwidth allocation algorithm will not be executed for users who do not meet the above conditions without raising their hands;

(3.1)按照当前缓存队列长度Gn将用户分为两组,Gn小于等于保证门限Go的分为A组,Gn大于Go的分为B组;(3.1) Divide users into two groups according to the current cache queue length Gn , those whose Gn is less than or equal to the guaranteed threshold Go are divided into group A, and those whose Gn is greater than Go are divided into group B;

(3.2)对A组中的用户进行带宽分配,按照用户的带宽分配标志F将用户分为两组,将F为0的用户分为A0组,将F为1的用户分为A1组;(3.2) carry out bandwidth allocation to the user in A group, divide the user into two groups according to the user's bandwidth allocation mark F, the user that F is 0 is divided into A0 group, the user that F is 1 is divided into A1 group;

3.2.1)对A0组中的用户进行带宽分配;3.2.1) Perform bandwidth allocation to users in group A0;

3.2.1.a)为该用户的带宽判决门限上限G(n-1)u赋值保证门限Go,带宽判决门限下限G(n-1)d赋值Gd1,分配带宽为协议带宽Bc,并置带宽分配标志F为1,转到步骤3.2.1.b);3.2.1.a) Assign the guaranteed threshold Go to the upper limit G(n-1)u of the bandwidth decision threshold of the user, assign the value Gd1 to the lower limit G(n-1)d of the bandwidth decision threshold, and allocate the bandwidth to the protocol bandwidth Bc , Set bandwidth allocation flag F as 1, go to step 3.2.1.b);

3.2.1.b)判断是否在此次带宽分配周期内对所有的A0组用户完成了带宽分配,如果是,完成对A0组用户的带宽分配,如果不是,为下一个A0组内的用户循环执行3.2.1.a);3.2.1.b) Determine whether the bandwidth allocation has been completed for all the users in the A0 group in this bandwidth allocation cycle, if yes, complete the bandwidth allocation for the users in the A0 group, if not, cycle for the next user in the A0 group Execute 3.2.1.a);

3.2.2)采取快增慢减策略对A1组中的用户进行带宽分配;3.2.2) adopt the fast-increasing-slow-decreasing strategy to allocate bandwidth to the users in group A1;

3.2.2.a)判断该用户的带宽判决门限下限G(n-1)d是否小于或等于Gd1,如果是,转到步骤3.2.2.b),如果不是,将该用户移动到B1组,转到步骤3.2.2.e);3.2.2.a) Judging whether the lower limit G(n-1)d of the user's bandwidth decision threshold is less than or equal to Gd1 , if yes, go to step 3.2.2.b), if not, move the user to B1 group, go to step 3.2.2.e);

3.2.2.b)判断该用户的当前缓存队列长度Gn是否大于或等于带宽判决门限上限G(n-1)u,如果是,为该用户G(n-1)u赋值,保证门限Go,带宽判决门限下限G(n-1)d赋值Gd1,分配带宽增加为协议带宽Bc,转到步骤3.2.2.e),如果不是,判断该用户的加权平均带宽Ba是否大于或等于G(n-1)u对应的Be,如果是,为该用户G(n-1)u赋值Go,G(n-1)d赋值Gd1,分配带宽为Bc,转到步骤3.2.2.e),如果不是转到步骤3.2.2.c);3.2.2.b) Determine whether the current buffer queue length Gn of the user is greater than or equal to the upper limit G(n-1)u of the bandwidth decision threshold, if so, assign a value to the user G(n-1)u , and ensure the threshold Go , assign the lower limit of the bandwidth decision threshold G(n-1)d to Gd1 , increase the allocated bandwidth to the protocol bandwidth Bc , go to step 3.2.2.e), if not, judge whether the user’s weighted average bandwidth Ba is greater than Or equal to Be corresponding to G(n-1)u, if yes, assign Go to G(n-1)u , assign Gd1 to G(n-1)d , assign bandwidth to Bc , go to Step 3.2.2.e), if not go to step 3.2.2.c);

3.2.2.c)判断该用户的Gn是否连续p次小于带宽判决门限下限G(n-1)d,如果不是,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤3.2.2.e),如果是,判断该用户的Ba是否小于带宽判决门限上限G(n-1)d对应的等效带宽Be,如果不小于,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤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的值,为该用户分配带宽为Bn-1减ΔBd,转到步骤3.2.2.d);3.2.2.c) Determine whether the user’s Gn is less than the lower limit of the bandwidth decision threshold G(n-1)d for p consecutive times, if not, allocate bandwidth to the user as the bandwidth Bn-1 allocated in the previous period, and go to step 3.2.2.e), if yes, judge whether the user's Ba is less than the equivalent bandwidth B e corresponding to the upper limit of the bandwidth decision threshold G(n-1)d, if not, allocate the bandwidth to the user as the last cycle allocation Bandwidth Bn-1 , go to step 3.2.2.e), if it is less than, assign the lower limit of the bandwidth decision threshold G(n-1)d to the user’s bandwidth decision threshold upper limit G(n-1)u , set G(n The next threshold Gd(j+1) of Gdj corresponding to-1) d is assigned to G(n-1)d , if G(n-1)d is Gmin , G(n-1)d will not be changed The value of , assign bandwidth to this user as Bn-1 minus ΔBd , go to step 3.2.2.d);

3.2.2.d)判断该用户的带宽是否是初始带宽Bmin,如果是,将该用户的F置为0,转到步骤3.2.2.e),如果不是则直接转到步骤3.2.2.e);3.2.2.d) Determine whether the user's bandwidth is the initial bandwidth Bmin , if yes, set the user's F to 0, go to step 3.2.2.e), if not, go directly to step 3.2.2 .e);

3.2.2.e)判断是否在此次带宽分配周期内对所有的A1组用户完成了带宽分配,如果是,完成对A1组用户的带宽分配,如果不是,为下一个A1组内的用户循环执行3.2.2.a);3.2.2.e) Determine whether the bandwidth allocation has been completed for all the users in the A1 group within this bandwidth allocation period, if yes, complete the bandwidth allocation for the A1 group users, if not, cycle for the next user in the A1 group Execute 3.2.2.a);

(3.3)对B组中的所有用户预分配协议带宽Bc,预分配的带宽不计入剩余带宽Bs,按照用户的带宽分配标志F将用户分为两组,将F为0的用户分为B0组,将F为1的用户分为B1组;(3.3) All users in Group B pre-allocate the protocol bandwidth Bc , the pre-allocated bandwidth is not included in the remaining bandwidth Bs , and the users are divided into two groups according to the user's bandwidth allocation flag F, and the users with F=0 are divided into two groups It is group B0, and users whose F is 1 are divided into group B1;

3.3.1)对B0组中的用户进行带宽分配;3.3.1) Perform bandwidth allocation to users in group B0;

3.3.1.a)对该用户带宽判决门限上限G(n-1)u赋值Gu1,带宽判决门限下限G(n-1)d赋值保证门限Go,为该用户分配带宽Bc,并置F为1,转到步骤3.3.1.b);3.3.1.a) Assign the upper limit G(n-1)u of the user's bandwidth decision threshold to Gu1 , assign the lower limit of the bandwidth decision threshold G(n-1)d to the guaranteed threshold Go , and allocate the bandwidth Bc to the user, and Set F to 1, go to step 3.3.1.b);

3.3.1.b)判断是否在此次带宽分配周期内对所有的B0组用户完成了带宽分配,如果是,完成对B0组用户的带宽分配,如果不是,为下一个B0组内的用户循环执行3.3.1.a);3.3.1.b) Determine whether the bandwidth allocation has been completed for all B0 group users in this bandwidth allocation period, if yes, complete the bandwidth allocation for B0 group users, if not, cycle for the next B0 group users Execute 3.3.1.a);

3.3.2)采取慢增快减策略对B1组中的用户进行带宽分配;3.3.2) adopt the strategy of slow increase and fast decrease to allocate bandwidth to the users in group B1;

3.3.2.a)判断当前网络中是否有未分配的带宽,如果没有,转到步骤3.4),如果有未分配的带宽,转到步骤3.3.2.b);3.3.2.a) judge whether there is unallocated bandwidth in the current network, if not, go to step 3.4), if there is unallocated bandwidth, go to step 3.3.2.b);

3.3.2.b)判断该用户带宽判决门限上限G(n-1)u是否大于或等于Gu1,如果不是,为该用户G(n-1)u赋值Gu1,带宽判决门限下限G(n-1)d赋值保证门限Go并分配协议带宽Bc,转到步骤3.3.2.h),如果是,转到步骤3.3.2.c);3.3.2.b) Determine whether the upper limit of the user's bandwidth decision threshold G(n-1)u is greater than or equal to Gu1 , if not, assign Gu1 to the user G(n-1)u , and the lower limit of the bandwidth decision threshold G( n-1) d assignment guarantee threshold Go and allocate protocol bandwidth Bc , go to step 3.3.2.h), if yes, go to step 3.3.2.c);

3.3.2.c)判断该用户当前缓存队列长度Gn是否连续m次大于或等于G(n-1)u,如果不是,转到步骤3.3.2.e),如果是,判断该用户的上周期分配带宽Bn-1是否小于该用户的最高带宽Bmax,如果是,转到步骤3.3.2.d),如果不是,判断剩余带宽Bs是否大于或等于Bmax减协议带宽Bc,如果是,为该用户分配带宽为Bmax,转到步骤3.3.2.f),如果不是,为该用户分配带宽为Bc加Bs,转到步骤(3.4);3.3.2.c) Determine whether the current buffer queue length Gn of the user is greater than or equal to G(n-1)u for m consecutive times, if not, go to step 3.3.2.e), if yes, determine the user's Whether the allocated bandwidth Bn-1 of the previous cycle is less than the highest bandwidth Bmax of the user, if yes, go to step 3.3.2.d), if not, judge whether the remaining bandwidth Bs is greater than or equal to Bmax minus the protocol bandwidth Bc , if yes, assign bandwidth to this user as Bmax , go to step 3.3.2.f), if not, assign bandwidth to this user as Bc plus Bs , go to step (3.4);

3.3.2.d)判断剩余带宽Bs是否大于或等于该用户的上周期分配带宽Bn-1减Bc加Δ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的值,为该用户分配带宽为Bn-1加ΔBu,且分配带宽不超过Bmax,转到步骤3.3.2.h),如果不是,为该用户分配带宽为Bn-1加剩余带宽Bs,转到步骤(3.4);3.3.2.d) Determine whether the remaining bandwidth Bs is greater than or equal to the user’s last cycle allocated bandwidth Bn-1 minus Bc plus ΔBu , if so,assign the value G(n -1)u , the next threshold Gu(i+1 ) of Gui corresponding to G(n- 1)u is assigned to G(n-1)u , if G(n-1)u is Gmax then not Change the value of G(n-1)u , allocate bandwidth to this user as Bn-1 plus ΔBu , and the allocated bandwidth does not exceed Bmax , go to step 3.3.2.h), if not, allocate The bandwidth is Bn-1 plus the remaining bandwidth Bs , go to step (3.4);

3.3.2.e)判断该用户当前缓存队列长度Gn是否连续n次小于G(n-1)d,如果是,用y表示Gn连续n次小于G(n-1)d的次数,转到步骤3.3.2.f),如果不是,判断网络剩余带宽Bs是否大于或等于该用户的Bn-1减Bc,如果是,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤3.3.2.h),如果不是,为该用户分配带宽为协议带宽Bc加剩余带宽Bs,转到步骤(3.4);3.3.2.e) Determine whether the current buffer queue length Gn of the user is less than G(n-1)d for n consecutive times, if so, use y to represent the number of times Gn is smaller than G(n-1)d for n consecutive times, Go to step 3.3.2.f), if not, judge whether the remaining network bandwidth Bs is greater than or equal to the user's Bn-1 minus Bc , if yes, allocate the bandwidth for the user to the bandwidth Bn- 1 , go to step 3.3.2.h), if not, add the remaining bandwidth Bs to the protocol bandwidthBc for this user, and go to step (3.4);

3.3.2.f)判断(Bn-1-y*ΔBu)是否小于Bc,如果是,转到步骤3.3.2.g),如果不是,对该用户G(n--1)d赋值为G(n-1)d对应的Gui的下n个门限值Gu(i-n),G(n-1)u赋值为Gu(i-n+1),为该用户分配带宽为(Bn-1-y*ΔBu),转到步骤3.3.2.h);3.3.2.f) Determine whether (Bn-1 -y*ΔBu ) is less than Bc , if yes, go to step 3.3.2.g), if not, for the user G(n--1)d Assign the next n threshold value Gu(in) of Gui corresponding to G(n-1)d , assign G(n-1)u to Gu(i-n+1) , and allocate bandwidth for this user is (Bn-1 -y*ΔBu ), go to step 3.3.2.h);

3.3.2.g)对G(n-1)u赋值Gu1,G(n-1)d赋值Go并分配协议带宽Bc,转到步骤3.3.2.h);3.3.2.g) Assign value Gu1 to G(n-1)u , assign value Go to G(n-1)d and allocate protocol bandwidth Bc , go to step 3.3.2.h);

3.3.2.h)判断是否在此次带宽分配周期内对所有的B1组用户完成了带宽分配,如果是,完成对B1组用户的带宽分配,转到步骤(4),如果不是,为下一个B1组内的用户循环执行3.3.2.a);3.3.2.h) Determine whether the bandwidth allocation has been completed for all B1 group users in this bandwidth allocation cycle, if yes, complete the bandwidth allocation for B1 group users, and go to step (4), if not, for the next Users in a B1 group execute 3.3.2.a) in a loop;

(3.4)为B1组未分配带宽的用户分配协议带宽Bc(3.4) Allocate the protocol bandwidth Bc to users in the B1 group who have not allocated bandwidth;

(4)完成此次带宽分配,转到步骤(2)进入下次带宽分配周期。(4) Complete the bandwidth allocation this time, go to step (2) and enter the next bandwidth allocation period.

本发明在步骤(3)中的加权平均带宽Ba:在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt-1*进行算术平均,得到本周期的叠加平均带宽Bt*,进而得到这一段时间的加权平均带宽Ba,即Ba=β*Bt+(1-β)*Bt-1*,β为加权系数,0≤β≤1。The weighted average bandwidth Ba of the present invention in step (3): within the time interval t of bandwidth allocation, the user's network traffic is counted, and the data packet transmitted within the time t is counted to calculate the user's current period t time interval The average bandwidth Bt within the period is arithmetically averaged with the superimposed average bandwidth Bt-1* of the previous period to obtain the superimposed average bandwidth Bt* of this period, and then to obtain the weighted average bandwidth Ba of this period, that is, Ba =β*Bt +(1-β)*Bt-1* , β is a weighting coefficient, 0≤β≤1.

本发明在步骤3.2.2)中的快增慢减策略:如果用户在上一个带宽分配周期获得的带宽Bn-1小于协议带宽Bc,对该用户在这一个带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于某个门限值时,立即将该用户的分配带宽快速增加到协议带宽Bc,而当待发送数据分组队列长度连续p个t周期小于或等于某个门限值时,1≤p≤5,并且Ba小于或等于这个门限值对应的等效带宽Be时,才将用户的分配带宽减少一个固定量ΔBdThe present invention's fast-increasing-slow-decreasing strategy in step 3.2.2): if the bandwidth Bn-1 obtained by the user in the last bandwidth allocation cycle is less than the protocol bandwidth Bc , the user's bandwidth adjustment in this bandwidth allocation cycle adopts Fast increase, slow decrease strategy, that is, when the length of the queue of data packets to be sent is greater than or equal to a certain threshold value, the allocated bandwidth of the user is immediately increased to the protocol bandwidth Bc , and when the length of the queue of data packets to be sent is continuously p times t When the period is less than or equal to a certain threshold value, 1≤p≤5, and Ba is less than or equal to the equivalent bandwidth Bee corresponding to this threshold value, the user's allocated bandwidth is reduced by a fixed amount ΔBd .

本发明在步骤3.3.2)中的慢增快减策略:如果用户Bn-1大于或等于Bc时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于某个门限值,1≤m≤5,并且网络中有未分配的额外带宽资源时,才将用户的带宽增加一个固定量ΔBu,而当待发送数据分组队列长度连续n次个t周期小于某个门限值,1≤n≤5,将用户的带宽减少一个固定量ΔBu,如果下一个周期队列继续减少并连续n个t周期小于另一个门限值,则将用户的带宽减少一个固定量2*ΔBu,以此类推,直到带宽减少到Bc,或者网络中有其他用户需要增加带宽到Bc,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。The slow increase and fast decrease strategy of the present invention in step 3.3.2): if the user Bn-1 is greater than or equal to Bc , the slow increase and quick decrease strategy is adopted for the bandwidth adjustment of the user, that is, the queue length of the data packets to be sent is continuous m t periods are greater than or equal to a certain threshold value, 1≤m≤5, and there are unallocated additional bandwidth resources in the network, the user's bandwidth is increased by a fixed amount ΔBu , and when the data packet queue to be sent The length of n consecutive t periods is less than a certain threshold value, 1≤n≤5, reduce the user's bandwidth by a fixed amount ΔBu , if the queue continues to decrease in the next period and is less than another threshold value for n consecutive t periods , then reduce the user’s bandwidth by a fixed amount 2*ΔBu , and so on, until the bandwidth is reduced to Bc , or there are other users in the network who need to increase the bandwidth to Bc , but there is no remaining bandwidth resource Bs in the network, The current user's bandwidth is also reduced immediately.

通过设置多个门限值作为判断带宽分配的参考量,由协议带宽Bc*t得到保证门限Go,由初始带宽Bmin*t得到最小门限Gmin,由最高带宽Bmax*t得到最大门限Gmax,分别设置高于和低于Go的队列门限值,低于Go的门限个数为Nd,高于Go的门限个数为Nu,由(Go-Gmin)/(Nd+1)得到队列门限间隔ΔGd,进而得到保证门限Go以下的队列门限值Gdi,1≤i≤Nd,Gdi的值随着i的减小而减小,由(Gmax-Go)/(Nu+1)得到队列门限间隔ΔGu,进而得到保证门限Go以上的队列门限值Guj,1≤j≤Nu,Guj的值随着j增大而增大。通过Gd1/t得到对应的等效带宽Bedi,作为加权平均带宽Ba的比较参考值。根据ΔGd/t得到协议带宽Bc以下的带宽更新步长ΔBd,ΔGu/t得到协议带宽Bc之上的带宽更新步长ΔBuBy setting multiple thresholds as references for judging bandwidth allocation, the guaranteed threshold Go is obtained from the protocol bandwidth Bc *t, the minimum threshold Gmin is obtained from the initial bandwidth Bmin *t, and the maximum threshold is obtained from the highest bandwidth Bmax *t Threshold Gmax , set the queue thresholds higher and lower than Go respectively, the number of queues lower than Go is Nd , the number of higher than Go is Nu , by (Go -Gmin )/(Nd +1) to get the queue threshold interval ΔGd , and then get the queue threshold Gdi below the guarantee threshold Go , 1≤i≤Nd , the value of Gdi decreases with the decrease of i , the queue threshold interval ΔGu is obtained by (Gmax -Go )/(Nu +1), and then the queue threshold Guj above the guaranteed threshold Go is obtained, 1≤j≤Nu , and the value of Guj varies with increases as j increases. The corresponding equivalent bandwidth Bedi is obtained through Gd1 /t, which is used as a comparison reference value of the weighted average bandwidth Ba . According to ΔGd /t, the bandwidth update step ΔBd below the protocol bandwidth Bc is obtained, and ΔGu /t is used to obtain the bandwidth update step ΔBu above the protocol bandwidth Bc .

本发明与现有技术对比所具有的特点:Compared with the prior art, the present invention has the following characteristics:

1、本发明以用户的协议带宽为基础,只在规定的带宽分配周期到来时执行带宽分配算法为各个用户分配带宽,不需要精确的计算出用户需要的带宽值,只需通过对用户业务流量特性进行统计以及对当前缓存中等待传输的数据队列状态进行采集,将统计和采集到的参数与设置的带宽变化判决条件进行比较,满足特定的条件后,才对用户的带宽进行调整,不满足条件不改变用户的带宽值,采用这种粗粒度动态带宽分配方法可以预测用户需要的带宽值,克服了带宽分配的盲目性,避免了带宽分配过程中的大幅度震荡,同时也节省了带宽分配的系统资源开销。1. The present invention is based on the user's protocol bandwidth, and only executes the bandwidth allocation algorithm to allocate bandwidth to each user when the specified bandwidth allocation cycle arrives. It does not need to accurately calculate the bandwidth value required by the user, and only needs to pass the user's business flow The feature makes statistics and collects the status of the data queue waiting to be transmitted in the current cache, compares the statistics and collected parameters with the set bandwidth change judgment conditions, and adjusts the user's bandwidth only after the specific conditions are met The condition does not change the user's bandwidth value. Using this coarse-grained dynamic bandwidth allocation method can predict the bandwidth value required by the user, overcome the blindness of bandwidth allocation, avoid large-scale fluctuations in the bandwidth allocation process, and save bandwidth allocation. system resource overhead.

2、本发明在用户的分配带宽高于协议带宽时采用快增加慢减少的策略,使用户在有突发数据传输时,可以迅速获得高带宽。在用户的分配带宽低于协议带宽时采用慢增加快减少的策略,能够让用户在网络中有剩余带宽的情况下获得更大的带宽,而且慢增加快减少让用户可以相对公平的获取额外带宽,同时在用户不需要额外带宽时,也可以迅速释放带宽,供其他用户使用。2. The present invention adopts a strategy of fast increase and slow decrease when the allocated bandwidth of the user is higher than the protocol bandwidth, so that the user can quickly obtain high bandwidth when there is a burst of data transmission. When the user's allocated bandwidth is lower than the protocol bandwidth, the strategy of slow increase and fast decrease can be used to allow users to obtain greater bandwidth when there is remaining bandwidth in the network, and slow increase and fast decrease allow users to obtain additional bandwidth relatively fairly. , and at the same time, when the user does not need additional bandwidth, the bandwidth can be released quickly for other users to use.

3、根据队列状态和带宽分配标志对用户进行分组,对每组用户采取不同的带宽分配方法,使带宽分配方法更加准确、快速、有效,同时节省了CPU的计算资源,因此可以很好地控制带宽分配算法的系统资源开销。3. Group users according to queue status and bandwidth allocation flags, and adopt different bandwidth allocation methods for each group of users, making bandwidth allocation methods more accurate, fast, and effective, and saving CPU computing resources at the same time, so it can be well controlled System resource overhead of the bandwidth allocation algorithm.

附图说明Description of drawings

图1为本发明的带宽分配示意图;Fig. 1 is a schematic diagram of bandwidth allocation in the present invention;

图2为本发明的队列门限设置示意图;Fig. 2 is the schematic diagram of queue threshold setting of the present invention;

图3为本发明的带宽分配总体流程图;Fig. 3 is the overall flowchart of the bandwidth allocation of the present invention;

图4为本发明的A0组带宽分配分支流程图;Fig. 4 is A0 group bandwidth allocation branch flowchart of the present invention;

图5为本发明的A1组带宽分配分支流程图;Fig. 5 is the A1 group bandwidth allocation branch flowchart of the present invention;

图6为本发明的B0组带宽分配分支流程图;Fig. 6 is the B0 group bandwidth allocation branch flowchart of the present invention;

图7为本发明的B1组带宽分配分支流程图。Fig. 7 is a flow chart of the bandwidth allocation branch of group B1 in the present invention.

具体实施方式Detailed ways

为使本发明目的、技术方案以及优点更加清楚明白,以下参照附图并举实例,对本发明进行近一步地详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and examples.

参照图1,本发明提供的一种粗粒度动态带宽分配方法,首先设置带宽分配参数,包括:带宽分配周期t、协议带宽Bc、初始带宽Bmin、最高带宽Bmax、加权平均带宽Ba、等效带宽Be、队列门限G,带宽调整策略包括:举手示意、快增慢减、慢增快减,其中:Referring to Fig. 1 , a coarse-grained dynamic bandwidth allocation method provided by the present invention firstly sets bandwidth allocation parameters, including: bandwidth allocation period t, protocol bandwidth Bc , initial bandwidth Bmin , maximum bandwidth Bmax , and weighted average bandwidth Ba , equivalent bandwidth Be , queue threshold G, bandwidth adjustment strategies include: raise your hand, fast increase and slow decrease, slow increase and fast decrease, among which:

协议带宽Bc:网络服务提供商在用户接入网络时承诺给予用户的一个带宽额度,即协议带宽Bc。这个带宽值是网络服务提供商必须保证用户在需要时能够获得的。Protocol bandwidth Bc : a bandwidth quota promised by the network service provider to the user when the user accesses the network, that is, the protocol bandwidth Bc . This bandwidth value is what the network service provider must ensure that users can obtain when needed.

初始带宽Bmin:用户接入网络后,在没有数据需要传输时,分配给用户的带宽值Bmin,0≤Bmin≤BcInitial bandwidth Bmin : after the user accesses the network, when there is no data to be transmitted, the bandwidth value Bmin allocated to the user, 0≤Bmin ≤Bc .

最高带宽Bmax:允许用户占用的最大网络带宽值Bmax,防止用户过度占用带宽,导致其他的用户在需要时无法分配到额外的带宽,Bc≤BmaxMaximum bandwidth Bmax : The maximum network bandwidth Bmax that users are allowed to occupy, to prevent users from excessively occupying bandwidth, causing other users to be unable to allocate additional bandwidth when needed, Bc ≤ Bmax .

加权平均带宽Ba:在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt-1*进行算术平均,得到本周期的叠加平均带宽Bt*,进而得到这一段时间的加权平均带宽Ba,即Ba=β*Bt+(1-β)*Bt-1*,β为加权系数,0≤β≤1。Weighted average bandwidth Ba : within the time interval t of bandwidth allocation, the user's network traffic is counted, and the average bandwidth Bt of the user within the time interval t of the current cycle is calculated by counting the data packets transmitted within the time t, and then calculated with The superimposed average bandwidth Bt-1* of the previous period is arithmetically averaged to obtain the superimposed average bandwidth Bt* of this period, and then the weighted average bandwidth Ba of this period is obtained, that is,Ba = β*Bt + (1 -β)*Bt-1* , β is a weighting coefficient, 0≤β≤1.

队列门限G:通过设置一些队列门限值来反映当前的队列状态,从而采取相应的措施进行带宽分配。Queue threshold G: By setting some queue thresholds to reflect the current queue status, corresponding measures are taken for bandwidth allocation.

等效带宽Be:根据对应的队列门限值G和带宽分配周期t获得的带宽Be,即Be=G/t。Equivalent bandwidthBe : the bandwidth Be obtained according to the corresponding queue threshold G and the bandwidth allocation periodt , that is,Be =G/t.

快增慢减策略:如果用户在上一个带宽分配周期获得的带宽Bn-1小于协议带宽Bc,对该用户在这一个带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于某个门限值时,立即将该用户的分配带宽快速增加到协议带宽Bc,而当待发送数据分组队列长度连续p个t周期小于或等于某个门限值时,1≤p≤5,并且Ba小于或等于这个门限值对应的等效带宽Be时,才将用户的分配带宽减少一个固定量ΔBdFast increase, slow decrease strategy: If the bandwidth Bn-1 obtained by the user in the previous bandwidth allocation cycle is less than the protocol bandwidth Bc , the user's bandwidth adjustment in this bandwidth allocation cycle adopts the fast increase, slow decrease strategy, that is, the data to be sent When the length of the packet queue is greater than or equal to a certain threshold value, the allocated bandwidth of the user is quickly increased to the protocol bandwidth Bc immediately, and when the length of the queue of data packets to be sent is less than or equal to a certain threshold value for p consecutive t periods , 1≤p≤5, and when Ba is less than or equal to the equivalent bandwidth Be corresponding to this threshold value, the user's allocated bandwidth is reduced by a fixed amount ΔBd .

慢增快减策略:如果用户Bn-1大于或等于Bc时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于某个门限值,1≤m≤5,并且网络中有未分配的额外带宽资源时,才将用户的带宽增加一个固定量ΔBu,而当待发送数据分组队列长度连续n次个t周期小于某个门限值,1≤n≤5,将用户的带宽减少一个固定量ΔBu,如果下一个周期队列继续减少并连续n个t周期小于另一个门限值,则将用户的带宽减少一个固定量2*ΔBu,以此类推,直到带宽减少到Bc,或者网络中有其他用户需要增加带宽到Bc,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。Slow-increasing and fast-decreasing strategy: If user Bn-1 is greater than or equal to Bc , the user’s bandwidth adjustment adopts a slow-increasing and fast-decreasing strategy, that is, the length of the data packet queue to be sent is greater than or equal to a certain gate for m consecutive t periods limit, 1≤m≤5, and there are unallocated additional bandwidth resources in the network, the user's bandwidth is increased by a fixed amount ΔBu , and when the length of the queue of data packets to be sent is less than a certain t period for n consecutive times Threshold value, 1≤n≤5, reduce the user's bandwidth by a fixed amount ΔBu , if the queue continues to decrease in the next cycle and is less than another threshold value for n consecutive t cycles, then reduce the user's bandwidth by a fixed amount 2*ΔBu , and so on, until the bandwidth is reduced to Bc , or there are other users in the network who need to increase the bandwidth to Bc , but there is no remaining bandwidth resource Bs in the network, the bandwidth of the current user will also be reduced immediately.

举手示意:用户没有业务传输时分配带宽Bmin,只要用户有业务需要传输就通知系统,即谓之举手示意,系统立刻为其分配协议带宽Bc,并开始统计加权平均带宽Ba。仅举例网络中的三个用户参与带宽分配,每个用户的具体带宽参数的设定如表1所示:Raise your hand: Allocate the bandwidth Bmin when the user has no business to transmit, and notify the system as long as the user has business to transmit, that is, raise your hand, the system immediately allocates the protocol bandwidth Bc for it, and starts to count the weighted average bandwidth Ba . Only three users in the network participate in bandwidth allocation as an example, and the specific bandwidth parameters of each user are set as shown in Table 1:

表1用户带宽参数表Table 1 User bandwidth parameter table

用户user协议带宽BcProtocol Bandwidth Bc初始带宽BminInitial bandwidth Bmin最高带宽BmaxMaximum bandwidth Bmax113Mbps3Mbps0Mpbs0Mpbs5Mbps5Mbps223Mbps3Mbps0Mpbs0Mpbs5Mbps5Mbps336Mbps6Mbps0Mpbs0Mpbs10Mbps10Mbps

参照图2,本发明提供的一种粗粒度动态带宽分配方法,队列门限的设置方法如下:With reference to Fig. 2, a kind of coarse-grained dynamic bandwidth allocation method provided by the present invention, the setting method of queue threshold is as follows:

由协议带宽Bc*t得到保证门限Go,由初始带宽Bmin*t得到最小门限Gmin,由最高带宽Bmax*t得到最大门限Gmax,分别设置高于和低于Go的队列门限值,低于Go的门限个数为Nd,高于Go的门限个数为Nu,其中Nd,Nu为大于等于1的正整数,由(Go-Gmin)/(Nd+1)得到队列门限间隔ΔGd,进而得到保证门限Go以下的队列门限值Gdi,1≤i≤Nd,Gdi的值随着i的减小而减小,由(Gmax-Go)/(Nu+1)得到队列门限间隔ΔGu,进而得到保证门限Go以上的队列门限值Guj,1≤j≤Nu,Guj的值随着j增大而增大。具体门限参数的设定如表2所示:Obtain the guaranteed threshold Go from the protocol bandwidth Bc *t, obtain the minimum threshold Gmin from the initial bandwidth Bmin *t, obtain the maximum threshold Gmax from the highest bandwidth Bmax *t, and set the queues higher and lower than Go respectively Threshold value, the number of thresholds lower than Go is Nd , the number of thresholds higher than Go is Nu , where Nd , Nu are positive integers greater than or equal to 1, by (Go -Gmin ) /(Nd +1) to obtain the queue threshold interval ΔGd , and then obtain the queue threshold value Gdi below the guaranteed threshold Go , 1≤i≤Nd , the value of Gdi decreases with the decrease of i, The queue threshold interval ΔGu is obtained by (Gmax -Go )/(Nu +1), and then the queue threshold G uj above the guaranteed threshold Go is obtained, 1≤j≤Nu , and the value ofG ujvaries with j increases and increases. The setting of specific threshold parameters is shown in Table 2:

表2用户门限参数表Table 2 User Threshold Parameter Table

用户1user 1用户2user 2用户3user 3最大门限GmaxMaximum threshold Gmax10Kb10Kb10Kb10Kb20Kb20KbGu3U39Kb9Kb9Kb9Kb18Kb18KbGu2GU28Kb8Kb8Kb8Kb16Kb16KbGu1Gu17Kb7Kb7Kb7Kb14Kb14Kb保证门限GoGuaranteed Threshold Go6Kb6Kb6Kb6Kb12Kb12KbGd1Gd14.5Kb4.5Kb4.5Kb4.5Kb9Kb9Kb

Gd2Gd23Kb3Kb3Kb3Kb6Kb6KbGd3Gd31.5Kb1.5Kb1.5Kb1.5Kb3Kb3Kb最小门限GminMinimum threshold Gmin0Kb0Kb0Kb0Kb0Kb0Kb

通过Gd1/t得到对应的等效带宽Bedi,作为加权平均带宽Ba的比较参考值。具体等效带宽的值如表3所示:The corresponding equivalent bandwidth Bedi is obtained through Gd1 /t, which is used as a comparison reference value of the weighted average bandwidth Ba . The value of the specific equivalent bandwidth is shown in Table 3:

表3用户等效带宽参数表Table 3 User equivalent bandwidth parameter table

用户1user 1用户2user 2用户3user 3等效带宽Bed1Equivalent bandwidth Bed12.25Mbps2.25Mbps2.25Mbps2.25Mbps4.5Mbps4.5Mbps等效带宽Bed2Equivalent bandwidth Bed21.5Mbps1.5Mbps1.5Mbps1.5Mbps3Mbps3Mbps等效带宽Bed3Equivalent Bandwidth Bed30.75Mbps0.75Mbps0.75Mbps0.75Mbps1.5Mbps1.5Mbps

根据ΔGd/t得到协议带宽Bc以下的带宽更新步长ΔBd,ΔGu/t得到协议带宽Bc之上的带宽更新步长ΔBu。具体带宽更新步长的值如表4所示:According to ΔGd /t, the bandwidth update step ΔBd below the protocol bandwidth Bc is obtained, and ΔGu /t is used to obtain the bandwidth update step ΔBu above the protocol bandwidth Bc . The value of the specific bandwidth update step is shown in Table 4:

表4用户带宽更新步长参数Table 4 User bandwidth update step parameters

用户1user 1用户2user 2用户3user 3协议带宽下更新步长ΔBdUpdate step size ΔBd under protocol bandwidth0.75Mbps0.75Mbps0.75Mbps0.75Mbps1.5Mbps1.5Mbps协议带宽上更新步长ΔBuUpdate step size ΔBu on the protocol bandwidth0.5Mbps0.5Mbps0.5Mbps0.5Mbps1Mbps1Mbps

下面参照图3和具体实施例来描述粗粒度动态带宽分配方法:The coarse-grained dynamic bandwidth allocation method is described below with reference to FIG. 3 and specific embodiments:

首先根据用户的需求和网络环境,配置系统带宽分配参数,具体的参数值如表1-表4所示。网络总带宽资源为30Mbps,确定带宽分配周期t为2ms。First, configure the system bandwidth allocation parameters according to the user's needs and the network environment. The specific parameter values are shown in Table 1-Table 4. The total network bandwidth resource is 30Mbps, and the bandwidth allocation period t is determined to be 2ms.

设置加权系数β为0.7,阻尼系数m,n,p均为2。将用户的带宽分配标志F初始化为0。Set the weighting coefficient β to 0.7, and the damping coefficients m, n, and p to 2. Initialize the user's bandwidth allocation flag F to 0.

实施例1为初始带宽分配周期的带宽分配Embodiment 1 is the bandwidth allocation of the initial bandwidth allocation period

步骤1:用户1、用户3有数据需要传输,通知系统,即举手示意。系统为用户1分配协议带宽Bc(3Mbps),为用户3分配协议带宽Bc(6Mbps),并开始统计该用户1和用户3的加权平均带宽Ba。在这100个带宽分配周期内只统计用户1和用户3的加权平均带宽,不改变其分配的带宽值,用户1、用户3不执行以下的宽分配算法。用户2没有举手;Step 1: User 1 and User 3 have data to be transmitted and notify the system by raising their hands. The system allocates the protocol bandwidth Bc (3 Mbps) to user 1 and the protocol bandwidth Bc (6 Mbps) to user 3, and starts to count the weighted average bandwidth Ba of user 1 and user 3. In these 100 bandwidth allocation cycles, only the weighted average bandwidth of user 1 and user 3 is counted, and the allocated bandwidth value is not changed. User 1 and user 3 do not execute the following wide allocation algorithm. User 2 did not raise his hand;

步骤2:用户2不满足统计时间以及上周期分配带宽非最小带宽的条件,因此用户2不执行之后的宽分配算法。完成此次带宽分配,等待下次带宽分配周期,循环执行带宽分配算法。Step 2: User 2 does not meet the conditions of statistical time and last cycle allocation bandwidth not being the minimum bandwidth, so user 2 does not execute the subsequent wide allocation algorithm. Complete this bandwidth allocation, wait for the next bandwidth allocation period, and execute the bandwidth allocation algorithm cyclically.

实施例2为第101个带宽分配周期的带宽分配Embodiment 2 is the bandwidth allocation of the 101st bandwidth allocation period

步骤3:用户2有数据需要传输,通知系统,即举手示意。系统为用户2分配协议带宽为Bc(3Mbps),开始统计该用户2的加权平均带宽Ba。用户2不执行以下的带宽分配算法,用户1、用户3没有举手;Step 3: User 2 has data to be transmitted, and notifies the system, that is, raises his hand. The system allocates a protocol bandwidth Bc (3 Mbps) to user 2, and starts to count the weighted average bandwidth Ba of user 2. User 2 does not execute the following bandwidth allocation algorithm, and User 1 and User 3 do not raise their hands;

步骤4:用户1、用户3满足统计时间以及上周期分配带宽非最小带宽的条件,因此对用户1、用户3执行以下带宽分配算法;Step 4: User 1 and User 3 meet the conditions of the statistical time and the allocated bandwidth of the previous period are not the minimum bandwidth, so execute the following bandwidth allocation algorithm for User 1 and User 3;

4.1)用户1的当前缓存队列长度Gn(1.6Kb),小于其保证门限Go(6Kb),将用户1分为A组。用户3的当前缓存队列长度Gn(17Kb),大于其保证门限Go(12Kb),将用户3分为B组;4.1) User 1's current buffer queue length Gn (1.6Kb) is less than its guaranteed threshold Go (6Kb), and user 1 is divided into group A. The current buffer queue length Gn (17Kb) of user 3 is greater than its guaranteed threshold Go (12Kb), and user 3 is divided into group B;

4.2)对A组的用户进行带宽分配。根据用户1的带宽分配标志F(0),确定用户1为A0组;4.2) Bandwidth allocation is performed for users in group A. According to the bandwidth allocation sign F(0) of user 1, it is determined that user 1 is group A0;

4.2.1)参照图4对A0组用户进行带宽分配;4.2.1) With reference to Figure 4, bandwidth allocation is carried out to users in group A0;

4.2.1.a)为用户1的带宽判决门限上限G(n-1)u赋值保证门限Go(6Kb),带宽判决门限下限G(n-1)d赋值Gd1(4.5Kb),分配带宽为协议带宽Bc(3Mbps),并置带宽分配标志为F为1;4.2.1.a) Assign the guaranteed threshold Go (6Kb) to the upper limit of the bandwidth decision threshold G(n-1)u of user 1, assign the lower limit of the bandwidth decision threshold G(n-1)d to Gd1 (4.5Kb), and assign The bandwidth is the protocol bandwidth Bc (3Mbps), and the bandwidth allocation flag is set as F to be 1;

4.2.1.b)A0组只有一个用户,因此完成了对A0组用户的带宽分配;4.2.1.b) There is only one user in group A0, so the bandwidth allocation to users in group A0 is completed;

4.2.2)A1组没有用户,因此完成了对A1组用户的带宽分配;4.2.2) There are no users in group A1, so the bandwidth allocation to users in group A1 is completed;

4.3)对B组中的所有用户预分配协议带Bc,为用户3预分配协议带宽Bc(6Mbps)。根据用户3的带宽分配标志位F(0),确定用户3为B0组;4.3) Pre-allocate the protocol bandwidth Bc to all users in group B, and pre-allocate the protocol bandwidth Bc (6 Mbps) to user 3 . According to the bandwidth allocation flag F(0) of user 3, it is determined that user 3 is group B0;

4.3.1)参照图6对B0组中的用户进行带宽分配;4.3.1) With reference to Figure 6, bandwidth allocation is carried out to users in the B0 group;

4.3.1.a)为用户3带宽判决门限上限G(n-1)u赋值Gu1(14Kb),带宽判决门限下限G(n-1)d赋值保证门限Go(12Kb),为用户3分配协议带宽Bc(6Mbps),并置F为1;4.3.1.a) Assign Gu1 (14Kb) to the upper limit G(n-1)u of the bandwidth decision threshold for user 3, assign the guaranteed threshold G o (12Kb) to the lower limit G(n-1)d of the bandwidth decision threshold, and assign the value Go (12Kb) to user 3 Assign protocol bandwidth Bc (6Mbps), and set F to 1;

4.3.1.b)B0组只有一个用户,因此完成了对B0组用户的带宽分配;4.3.1.b) There is only one user in group B0, so the bandwidth allocation to users in group B0 is completed;

4.3.2)B1组没有用户,因此完成了对B1组用户的带宽分配;4.3.2) There are no users in group B1, so the bandwidth allocation to users in group B1 is completed;

步骤5:完成此次带宽分配,等待下次带宽分配周期,循环执行带宽分配算法。Step 5: Complete this bandwidth allocation, wait for the next bandwidth allocation cycle, and execute the bandwidth allocation algorithm cyclically.

实施例3为第201个带宽分配周期的带宽分配Embodiment 3 is the bandwidth allocation of the 201st bandwidth allocation period

步骤6:用户1、用户2、用户3都没有举手;Step 6: User 1, User 2, and User 3 do not raise their hands;

步骤7:用户1、用户2、用户3满足统计时间以及上周期分配带宽非最小带宽的条件,对用户1、用户2、用户3执行以下带宽分配算法;Step 7: User 1, User 2, and User 3 meet the conditions of the statistical time and the allocated bandwidth of the previous period are not the minimum bandwidth, and execute the following bandwidth allocation algorithm for User 1, User 2, and User 3;

7.1)用户1的当前缓存队列长度Gn(9.7Kb),大于其保证门限Go(6Kb),将用户1分为B组,用户2的当前缓存队列长度Gn(7.8Kb),大于其保证门限Go(6Kb),将用户2分为B组,用户3的当前缓存队列长度Gn(6.3Kb),小于其保证门限Go(12Kb),将用户3分为A组;7.1) The current cache queue length Gn (9.7Kb) of user 1 is greater than its guaranteed threshold Go (6Kb), divide user 1 into group B, and the current cache queue length Gn (7.8Kb) of user 2 is greater than its guarantee threshold G o (6Kb). Guaranteed threshold Go (6Kb), divide user 2 into group B, user 3's current cache queue length Gn (6.3Kb), which is less than its guaranteed threshold Go (12Kb), divide user 3 into group A;

7.2)对A组的用户进行带宽分配,根据用户3的带宽分配标志F(1),确定用户1为A1组;7.2) Bandwidth allocation is carried out to the users of group A, and according to the bandwidth allocation sign F(1) of user 3, it is determined that user 1 is group A1;

7.2.1)A0组没有用户,完成对A0组带宽分配;7.2.1) There are no users in group A0, and the bandwidth allocation to group A0 is completed;

7.2.2)参照图5对A1组用户进行带宽分配,采取快增慢减策略;7.2.2) Refer to Figure 5 to allocate bandwidth to users in group A1, and adopt a fast-increasing, slow-decreasing strategy;

7.2.2.a)用户3的带宽判决门限下限G(n-1)d(3Kb)小于Gd1(9Kb);7.2.2.a) User 3's lower bandwidth decision threshold G(n-1)d (3Kb) is less than Gd1 (9Kb);

7.2.2.b)用户3的当前缓存队列长度Gn(6.3Kb)大于其带宽判决门限上限G(n-1)u(6Kb),因此为用户3的带宽判决门限上限G(n-1)u赋值Go(12Kb),带宽判决门限下限G(n-1)d赋值Gd1(9Kb),并为用户3分配协议带宽Bc(6Mbps);7.2.2.b) User 3's current buffer queue length Gn (6.3Kb) is greater than its bandwidth decision threshold upper limit G(n-1)u (6Kb), so it is user 3's bandwidth decision threshold upper limit G(n-1 )u is assigned Go (12Kb), the lower limit of the bandwidth decision threshold G(n-1)d is assigned Gd1 (9Kb), and the protocol bandwidth Bc (6Mbps) is allocated to user 3;

7.2.2.c)A1组只有一个用户,因此完成了对A0组用户的带宽分配;7.2.2.c) There is only one user in group A1, so the bandwidth allocation to users in group A0 is completed;

7.3)对B组中的所有用户预分配协议带宽Bc,为用户1预分配协议带宽Bc(6Mbps),为用户2预分配协议带宽Bc(6Mbps),根据用户1的带宽分配标志位F(1),确定用户3为B1组,根据用户2的带宽分配标志位F(0),确定用户2为B0组;7.3) Pre-allocate the protocol bandwidth Bc to all users in group B, pre-allocate the protocol bandwidth Bc (6Mbps) for user 1, pre-allocate the protocol bandwidth Bc (6Mbps) for user 2, and allocate flag bits according to the bandwidth of user 1 F(1), determine that user 3 is group B1, and determine that user 2 is group B0 according to the bandwidth allocation flag F(0) of user 2;

7.3.1)参照图6对B0组中的用户进行带宽分配;7.3.1) With reference to Figure 6, bandwidth allocation is carried out to users in the B0 group;

7.3.1.a)为用户2带宽判决门限上限G(n-1)u赋值Gu1(7Kb),带宽判决门限下限G(n-1)d赋值保证门限Go(6Kb),为用户2分配协议带宽Bc(3Mbps),并置F为1;7.3.1.a) Assign Gu1 (7Kb) to the upper limit G(n-1)u of the bandwidth decision threshold for user 2, assign the guaranteed threshold G o (6Kb) to the lower limit G(n-1)d of the bandwidth decision threshold, and assign the value Go (6Kb) to user 2 Assign protocol bandwidth Bc (3Mbps), and set F to 1;

7.3.1.b)B0组只有一个用户,因此完成了对B0组用户的带宽分配;7.3.1.b) There is only one user in group B0, so the bandwidth allocation to users in group B0 is completed;

7.3.2)参照图7对B1组中的用户进行带宽分配,采取慢增快减策略;7.3.2) With reference to Figure 7, bandwidth allocation is carried out to users in group B1, and a strategy of slow increase and fast decrease is adopted;

7.3.2.a)当前网络有未分配的带宽(18Mbps);7.3.2.a) The current network has unallocated bandwidth (18Mbps);

7.3.2.b)用户1带宽判决门限上限G(n-1)u(9Kb)是否大于或等于Gu1(7Kb);7.3.2.b) Whether user 1's upper bandwidth judgment threshold G(n-1)u (9Kb) is greater than or equal to Gu1 (7Kb);

7.3.2.c)用户1当前缓存队列长度Gn(9.7Kb)连续第二次大于其带宽判决门限上限G(n-1)u(9Kb),用户1的上周期分配带宽Bn-1(4Mbps)小于该用户的最高带宽Bmax(5Mbps);7.3.2.c) User 1's current buffer queue length Gn (9.7Kb) is greater than its bandwidth decision threshold upper limit G(n-1)u (9Kb) for the second consecutive time, and user 1's last cycle allocated bandwidth Bn-1 (4Mbps) is less than the user's highest bandwidth Bmax (5Mbps);

7.3.2.d)网络剩余带宽Bs(18Mbps)大于1.5Mbps(Bn-1减Bc加ΔBu),为用户1带宽判决门限下限G(n-1)d赋值带宽判决门限上限G(n-1)u(9Kb),带宽判决门限上限G(n-1)u赋值最大门限Gmax(10Kb),为用户1分配带宽4.5Mbps(Bn-1加ΔBu);7.3.2.d) If the remaining network bandwidth Bs (18Mbps) is greater than 1.5Mbps (Bn-1 minus Bc plus ΔBu ), the lower limit of the bandwidth decision threshold G(n-1)d for user 1 is assigned the upper limit of the bandwidth decision threshold G(n-1)u (9Kb), the upper limit of the bandwidth judgment threshold G(n-1)u assigns the maximum threshold Gmax (10Kb), and allocates a bandwidth of 4.5Mbps to user 1 (Bn-1 plus ΔBu );

7.3.2.e)B1组只有一个用户,因此完成了对B1组用户的带宽分配;7.3.2.e) There is only one user in group B1, so the bandwidth allocation to users in group B1 is completed;

步骤8:完成此次带宽分配,等待下次带宽分配周期,循环执行带宽分配算法。Step 8: Complete this bandwidth allocation, wait for the next bandwidth allocation cycle, and execute the bandwidth allocation algorithm cyclically.

Claims (5)

Translated fromChinese
1.一种粗粒度动态带宽分配方法,其特征包括如下步骤:1. A coarse-grained dynamic bandwidth allocation method, characterized in that it comprises the steps:(1)根据用户的需求和网络环境,配置系统带宽分配周期t、用户的带宽参数、缓存队列门限、加权系数β以及阻尼系数p,m,n的值,将用户的带宽分配标志F初始化为0;(1) According to the needs of the user and the network environment, configure the system bandwidth allocation cycle t, the user's bandwidth parameters, the cache queue threshold, the weighting coefficient β and the damping coefficient p, m, and the value of n, and initialize the user's bandwidth allocation flag F as 0;(2)判断是否有用户举手,即举手用户为第一次有数据需要传输,如果没有,转到步骤(3),如果有,为举手用户分配协议带宽Bc,并开始统计该用户的加权平均带宽Ba,在第一个统计周期t内不做加权处理,经过M个带宽分配周期t,获得稳定的加权平均带宽Ba,举手用户不执行以下的带宽分配算法;(2) Determine whether there is a user raising his hand, that is, the user who raised his hand has data to transmit for the first time, if not, go to step (3), if yes, allocate the protocol bandwidth Bc to the user who raised his hand, and start counting the data The weighted average bandwidth Ba of the user is not weighted in the first statistical period t, and after M bandwidth allocation periods t, a stable weighted average bandwidth Ba is obtained, and the user who raises his hand does not perform the following bandwidth allocation algorithm;(3)对没有举手但满足统计M个带宽分配周期t以及上一周期分配带宽值Bn-1大于初始带宽Bmin条件的用户,根据统计的加权平均带宽和当前队列状态执行以下的带宽分配操作,对没有举手不满足上述条件的用户,不执行以下的带宽分配算法;(3) For users who do not raise their hands but meet the condition of counting M bandwidth allocation periods t and the allocated bandwidth value Bn-1 of the previous period is greater than the initial bandwidth Bmin , perform the following bandwidth according to the statistical weighted average bandwidth and current queue status For the allocation operation, the following bandwidth allocation algorithm will not be executed for users who do not meet the above conditions without raising their hands;(3.1)按照当前缓存队列长度Gn将用户分为两组,Gn小于等于保证门限Go的分为A组,Gn大于Go的分为B组;(3.1) Divide users into two groups according to the current cache queue length Gn , those whose Gn is less than or equal to the guaranteed threshold Go are divided into group A, and those whose Gn is greater than Go are divided into group B;(3.2)对A组中的用户进行带宽分配,按照用户的带宽分配标志F将用户分为两组,将F为0的用户分为A0组,将F为1的用户分为A1组;(3.2) carry out bandwidth allocation to the user in A group, divide the user into two groups according to the user's bandwidth allocation mark F, the user that F is 0 is divided into A0 group, the user that F is 1 is divided into A1 group;3.2.1)对A0组中的用户进行带宽分配;3.2.1) Perform bandwidth allocation to users in group A0;3.2.1.a)为该用户的带宽判决门限上限G(n-1)u赋值保证门限Go,带宽判决门限下限G(n-1)d赋值Gd1,分配带宽为协议带宽Bc,并置带宽分配标志F为1,转到步骤3.2.1.b);3.2.1.a) Assign the guaranteed threshold Go to the upper limit G(n-1)u of the bandwidth decision threshold of the user, assign the value Gd1 to the lower limit G(n-1)d of the bandwidth decision threshold, and allocate the bandwidth to the protocol bandwidth Bc , Set bandwidth allocation flag F as 1, go to step 3.2.1.b);3.2.1.b)判断是否在此次带宽分配周期内对所有的A0组用户完成了带宽分配,如果是,完成对A0组用户的带宽分配,如果不是,为下一个A0组内的用户循环执行3.2.1.a);3.2.1.b) Determine whether the bandwidth allocation has been completed for all the users in the A0 group in this bandwidth allocation cycle, if yes, complete the bandwidth allocation for the users in the A0 group, if not, cycle for the next user in the A0 group Execute 3.2.1.a);3.2.2)采取快增慢减策略对A1组中的用户进行带宽分配;3.2.2) adopt the fast-increasing-slow-decreasing strategy to allocate bandwidth to the users in group A1;3.2.2.a)判断该用户的带宽判决门限下限G(n-1)d是否小于或等于Gd1,如果是,转到步骤3.2.2.b),如果不是,将该用户移动到B1组,转到步骤3.2.2.e);3.2.2.a) Judging whether the lower limit G(n-1)d of the user's bandwidth decision threshold is less than or equal to Gd1 , if yes, go to step 3.2.2.b), if not, move the user to B1 group, go to step 3.2.2.e);3.2.2.b)判断该用户的当前缓存队列长度Gn是否大于或等于带宽判决门限上限G(n-1)u,如果是,为该用户G(n-1)u赋值,保证门限Go,带宽判决门限下限G(n-1)d赋值Gd1,分配带宽增加为协议带宽Bc,转到步骤3.2.2.e),如果不是,判断该用户的加权平均带宽Ba是否大于或等于G(n-1)u对应的Be,如果是,为该用户G(n-1)u赋值Go,G(n-1)d赋值Gd1,分配带宽为Bc,转到步骤3.2.2.e),如果不是转到步骤3.2.2.c);3.2.2.b) Determine whether the current buffer queue length Gn of the user is greater than or equal to the upper limit G(n-1)u of the bandwidth decision threshold, if so, assign a value to the user G(n-1)u , and ensure the threshold Go , assign the lower limit of the bandwidth decision threshold G(n-1)d to Gd1 , increase the allocated bandwidth to the protocol bandwidth Bc , go to step 3.2.2.e), if not, judge whether the user’s weighted average bandwidth Ba is greater than Or equal to Be corresponding to G(n-1)u, if yes, assign Go to G(n-1)u , assign Gd1 to G(n-1)d , assign bandwidth to Bc , go to Step 3.2.2.e), if not go to step 3.2.2.c);3.2.2.c)判断该用户的Gn是否连续p次小于带宽判决门限下限G(n-1)d,如果不是,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤3.2.2.e),如果是,判断该用户的Ba是否小于带宽判决门限上限G(n-1)d对应的等效带宽Be,如果不小于,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤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的值,为该用户分配带宽为Bn-1减ΔBd,转到步骤3.2.2.d);3.2.2.c) Determine whether the user’s Gn is less than the lower limit of the bandwidth decision threshold G(n-1)d for p consecutive times, if not, allocate bandwidth to the user as the bandwidth Bn-1 allocated in the previous period, and go to step 3.2.2.e), if yes, judge whether the user's Ba is less than the equivalent bandwidth B e corresponding to the upper limit of the bandwidth decision threshold G(n-1)d, if not, allocate the bandwidth to the user as the last cycle allocation Bandwidth Bn-1 , go to step 3.2.2.e), if it is less than, assign the lower limit of the bandwidth decision threshold G(n-1)d to the user’s bandwidth decision threshold upper limit G(n-1)u , set G(n The next threshold Gd(j+1) of Gdj corresponding to-1) d is assigned to G(n-1)d , if G(n-1)d is Gmin , G(n-1)d will not be changed The value of , assign bandwidth to this user as Bn-1 minus ΔBd , go to step 3.2.2.d);3.2.2.d)判断该用户的带宽是否是初始带宽Bmin,如果是,将该用户的F置为0,转到步骤3.2.2.e),如果不是则直接转到步骤3.2.2.e);3.2.2.d) Determine whether the user's bandwidth is the initial bandwidth Bmin , if yes, set the user's F to 0, go to step 3.2.2.e), if not, go directly to step 3.2.2 .e);3.2.2.e)判断是否在此次带宽分配周期内对所有的A1组用户完成了带宽分配,如果是,完成对A1组用户的带宽分配,如果不是,为下一个A1组内的用户循环执行3.2.2.a);3.2.2.e) Determine whether the bandwidth allocation has been completed for all the users in the A1 group within this bandwidth allocation period, if yes, complete the bandwidth allocation for the A1 group users, if not, cycle for the next user in the A1 group Execute 3.2.2.a);(3.3)对B组中的所有用户预分配协议带宽Bc,预分配的带宽不计入剩余带宽Bs,按照用户的带宽分配标志F将用户分为两组,将F为0的用户分为B0组,将F为1的用户分为B1组;(3.3) All users in Group B pre-allocate the protocol bandwidth Bc , the pre-allocated bandwidth is not included in the remaining bandwidth Bs , and the users are divided into two groups according to the user's bandwidth allocation flag F, and the users with F=0 are divided into two groups It is group B0, and users whose F is 1 are divided into group B1;3.3.1)对B0组中的用户进行带宽分配;3.3.1) Perform bandwidth allocation to users in group B0;3.3.1.a)对该用户带宽判决门限上限G(n-1)u赋值Gu1,带宽判决门限下限G(n-1)d赋值保证门限Go,为该用户分配带宽Bc,并置F为1,转到步骤3.3.1.b);3.3.1.a) Assign the upper limit G(n-1)u of the user's bandwidth decision threshold to Gu1 , assign the lower limit of the bandwidth decision threshold G(n-1)d to the guaranteed threshold Go , and allocate the bandwidth Bc to the user, and Set F to 1, go to step 3.3.1.b);3.3.1.b)判断是否在此次带宽分配周期内对所有的B0组用户完成了带宽分配,如果是,完成对B0组用户的带宽分配,如果不是,为下一个B0组内的用户循环执行3.3.1.a);3.3.1.b) Determine whether the bandwidth allocation has been completed for all B0 group users in this bandwidth allocation period, if yes, complete the bandwidth allocation for B0 group users, if not, cycle for the next B0 group users Execute 3.3.1.a);3.3.2)采取慢增快减策略对B1组中的用户进行带宽分配;3.3.2) adopt the strategy of slow increase and fast decrease to allocate bandwidth to the users in group B1;3.3.2.a)判断当前网络中是否有未分配的带宽,如果没有,转到步骤3.4),如果有未分配的带宽,转到步骤3.3.2.b);3.3.2.a) judge whether there is unallocated bandwidth in the current network, if not, go to step 3.4), if there is unallocated bandwidth, go to step 3.3.2.b);3.3.2.b)判断该用户带宽判决门限上限G(n-1)u是否大于或等于Gu1,如果不是,为该用户G(n-1)u赋值Gu1,带宽判决门限下限G(n-1)d赋值保证门限Go并分配协议带宽Bc,转到步骤3.3.2.h),如果是,转到步骤3.3.2.c);3.3.2.b) Determine whether the upper limit of the user's bandwidth decision threshold G(n-1)u is greater than or equal to Gu1 , if not, assign Gu1 to the user G(n-1)u , and the lower limit of the bandwidth decision threshold G( n-1) d assignment guarantee threshold Go and allocate protocol bandwidth Bc , go to step 3.3.2.h), if yes, go to step 3.3.2.c);3.3.2.c)判断该用户当前缓存队列长度Gn是否连续m次大于或等于G(n-1)u,如果不是,转到步骤3.3.2.e),如果是,判断该用户的上周期分配带宽Bn-1是否小于该用户的最高带宽Bmax,如果是,转到步骤3.3.2.d),如果不是,判断剩余带宽Bs是否大于或等于Bmax减协议带宽Bc,如果是,为该用户分配带宽为Bmax,转到步骤3.3.2.f),如果不是,为该用户分配带宽为Bc加Bs,转到步骤(3.4);3.3.2. c) Determine whether the current cache queue length Gn of the user is greater than or equal to G(n-1)u for m consecutive times, if not, go to step 3.3.2.e), if yes, determine the user's Whether the allocated bandwidth Bn-1 of the previous cycle is less than the highest bandwidth Bmax of the user, if yes, go to step 3.3.2.d), if not, judge whether the remaining bandwidth Bs is greater than or equal to Bmax minus the protocol bandwidth Bc , if yes, assign bandwidth to this user as Bmax , go to step 3.3.2.f), if not, assign bandwidth to this user as Bc plus Bs , go to step (3.4);3.3.2.d)判断剩余带宽Bs是否大于或等于该用户的上周期分配带宽Bn-1减Bc加Δ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的值,为该用户分配带宽为Bn-1加ΔBu,且分配带宽不超过Bmax,转到步骤3.3.2.h),如果不是,为该用户分配带宽为Bn-1加剩余带宽Bs,转到步骤(3.4);3.3.2.d) Determine whether the remaining bandwidth Bs is greater than or equal to the user’s last cycle allocated bandwidth Bn-1 minus Bc plus ΔBu , if so,assign the value G(n -1)u , the next threshold Gu(i+1 ) of Gui corresponding to G(n- 1)u is assigned to G(n-1)u , if G(n-1)u is Gmax then not Change the value of G(n-1)u , allocate bandwidth to this user as Bn-1 plus ΔBu , and the allocated bandwidth does not exceed Bmax , go to step 3.3.2.h), if not, allocate The bandwidth is Bn-1 plus the remaining bandwidth Bs , go to step (3.4);3.3.2.e)判断该用户当前缓存队列长度Gn是否连续n次小于G(n-1)d,如果是,用y表示Gn连续n次小于G(n-1)d的次数,转到步骤3.3.2.f),如果不是,判断网络剩余带宽Bs是否大于或等于该用户的Bn-1减Bc,如果是,为该用户分配带宽为上周期分配带宽Bn-1,转到步骤3.3.2.h),如果不是,为该用户分配带宽为协议带宽Bc加剩余带宽Bs,转到步骤(3.4);3.3.2.e) Determine whether the current buffer queue length Gn of the user is less than G(n-1)d for n consecutive times, if so, use y to represent the number of times Gn is smaller than G(n-1)d for n consecutive times, Go to step 3.3.2.f), if not, judge whether the remaining network bandwidth Bs is greater than or equal to the user's Bn-1 minus Bc , if yes, allocate the bandwidth for the user to the bandwidth Bn- 1 , go to step 3.3.2.h), if not, add the remaining bandwidth Bs to the protocol bandwidthBc for this user, and go to step (3.4);3.3.2.f)判断(Bn-1-y*ΔBu)是否小于Bc,如果是,转到步骤3.3.2.g),如果不是,对该用户G(n-1)d赋值为G(n-1)d对应的Gui的下n个门限值Gu(1-n),G(n-1)u赋值为Gu(i-n+1),为该用户分配带宽为(Bn-1-y*ΔBu),转到步骤3.3.2.h);3.3.2.f) Determine whether (Bn-1-y *ΔBu ) is smaller than Bc , if yes, go to step 3.3.2.g), if not, assign value to the user G(n-1)d For the next n threshold value Gu(1-n) of Gui corresponding to G(n-1)d , G(n-1)u is assigned a value of Gu(i-n+1) , and the user is assigned The bandwidth is (Bn-1 -y*ΔBu ), go to step 3.3.2.h);3.3.2.g)对G(n-1)u赋值Gu1,G(n-1)d赋值Go并分配协议带宽Bc,转到步骤3.3.2.h);3.3.2.g) Assign value Gu1 to G(n-1)u , assign value Go to G(n-1)d and allocate protocol bandwidth Bc , go to step 3.3.2.h);3.3.2.h)判断是否在此次带宽分配周期内对所有的B1组用户完成了带宽分配,如果是,完成对B1组用户的带宽分配,转到步骤(4),如果不是,为下一个B1组内的用户循环执行3.3.2.a);3.3.2.h) Determine whether the bandwidth allocation has been completed for all B1 group users in this bandwidth allocation cycle, if yes, complete the bandwidth allocation for B1 group users, and go to step (4), if not, for the next Users in a B1 group execute 3.3.2.a) in a loop;(3.4)为B1组未分配带宽的用户分配协议带宽Bc(3.4) Allocate the protocol bandwidth Bc to users in the B1 group who have not allocated bandwidth;(4)完成此次带宽分配,转到步骤(2)进入下次带宽分配周期。(4) Complete the bandwidth allocation this time, go to step (2) and enter the next bandwidth allocation cycle.2.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于:2. The coarse-grained dynamic bandwidth allocation method according to claim 1, characterized in that:所述步骤(3)中的加权平均带宽Ba的计算:在带宽分配的时间间隔t内对用户的网络流量进行统计,通过统计t时间内传输的数据分组,计算出该用户本周期t时间间隔内的平均带宽Bt,再与上一周期的叠加平均带宽Bt-1*进行算术平均,得到本周期的叠加平均带宽Bt*,进而得到这一段时间的加权平均带宽Ba,即Ba=β*Bt+(1-β)*Bt-1*,β为加权系数,0≤β≤1。The calculation of the weighted average bandwidth Ba in the step (3): within the time interval t of bandwidth allocation, the user's network traffic is counted, and the data packets transmitted in the statistics t time are calculated to calculate the user's current period t time The average bandwidth Bt in the interval is arithmetically averaged with the superimposed average bandwidth Bt-1* of the previous period to obtain the superimposed average bandwidth Bt* of this period, and then to obtain the weighted average bandwidth Ba of this period, namely Ba =β*Bt +(1-β)*Bt-1* , β is a weighting coefficient, 0≤β≤1.3.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于:在步骤3.2.2)采用的快增慢减方法为:如果用户在上次带宽分配周期获得的带宽Bn-1小于协议带宽Bc,对该用户在本次带宽分配周期的带宽调整采用快增慢减策略,即待发送数据分组队列长度大于或等于判决门限上限值时,立即将该用户的分配带宽快速增加到协议带宽Bc,而当待发送数据分组队列长度连续p个t周期小于或等于判决门限下限值时,1≤p≤5,并且Ba小于或等于这个门限值对应的等效带宽Be时,将用户的分配带宽减少一个固定量ΔBd3. The coarse-grained dynamic bandwidth allocation method according to claim 1, characterized in that: in step 3.2.2), the fast increase and slow decrease method adopted is: if the bandwidth Bn-1 obtained by the user in the last bandwidth allocation period is less than the protocol bandwidth Bc , the user’s bandwidth adjustment in this bandwidth allocation period adopts a fast-increasing, slow-decreasing strategy, that is, when the queue length of the data packet to be sent is greater than or equal to the upper limit of the decision threshold, the allocated bandwidth of the user is immediately accelerated. Increase to the protocol bandwidth Bc , and when the length of the queue of data packets to be sent is less than or equal to the lower limit of the decision threshold for p consecutive t periods, 1≤p≤5, and Ba is less than or equal to the equivalent When the bandwidth Bee , reduce the user's allocated bandwidth by a fixed amount ΔBd .4.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于:在步骤3.3.2)采用的慢增快减方法为:如果用户Bn-1大于或等于Bc时,对该用户的带宽调整采用慢增快减策略,即待发送数据分组队列长度连续m个t周期大于或等于判决门限上限值,1≤m≤5,并且网络中有未分配的额外带宽资源时,将用户的带宽增加一个固定量ΔBu,而当待发送数据分组队列长度连续n个t周期小于判决门限下限值,1≤n≤5,将用户的带宽减少一个固定量ΔBu,如果下一个周期队列长度继续减少并连续n个t周期小于下一个门限值,则将用户的带宽减少一个固定量2*ΔBu,以此类推,直到带宽减少到Bc,或者网络中有其他用户需要增加带宽到Bc,但是网络中没有剩余带宽资源Bs时,当前用户的带宽也会立即减少。4. the coarse-grained dynamic bandwidth allocation method according to claim 1, is characterized in that: in step 3.3.2) the slowly increasing and quickly decreasing method that adopts is: if user Bn-1 is greater than or equal to Bc , for this The user's bandwidth adjustment adopts a slow-increasing and fast-decreasing strategy, that is, when the queue length of data packets to be sent is greater than or equal to the upper limit of the decision threshold for m consecutive t periods, 1≤m≤5, and there are unallocated additional bandwidth resources in the network, Increase the user's bandwidth by a fixed amount ΔBu , and when the length of the data packet queue to be sent is less than the lower limit of the decision threshold for n consecutive t periods, 1≤n≤5, reduce the user's bandwidth by a fixed amount ΔBu , if the If the queue length of a period continues to decrease and is less than the next threshold for n consecutive t periods, the user's bandwidth will be reduced by a fixed amount 2*ΔBu , and so on until the bandwidth is reduced to Bc , or there are other users in the network It is necessary to increase the bandwidth to Bc , but when there is no remaining bandwidth resource Bs in the network, the bandwidth of the current user will also decrease immediately.5.根据权利要求1所述的粗粒度动态带宽分配方法,其特征在于:通过设置多个门限值作为判断带宽分配的参考量,由协议带宽Bc*t得到保证门限Go,由初始带宽Bmin*t得到最小门限Gmin,由最高带宽Bmax*t得到最大门限Gmax,分别设置高于和低于Go的队列门限值,低于Go的门限个数为Nd,高于Go的门限个数为Nu,由(Go-Gmin)/(Nd+1)得到队列门限间隔ΔGd,进而得到保证门限Go以下的队列门限值Gdi,1≤i≤Nd,Gdi的值随着i的减小而减小,由(Gmax-Go)/(Nu+1)得到队列门限间隔ΔGu,进而得到保证门限Go以上的队列门限值Guj,1≤j≤Nu,Guj的值随着j增大而增大;通过Gdi/t得到对应的等效带宽Bedi,作为加权平均带宽Ba的比较参考值;根据ΔGd/t得到协议带宽Bc以下的带宽更新步长ΔBd,ΔGu/t得到协议带宽Bc之上的带宽更新步长ΔBu5. The coarse-grained dynamic bandwidth allocation method according to claim 1, characterized in that: by setting a plurality of threshold values as references for judging bandwidth allocation, the guaranteed threshold Go is obtained from the protocol bandwidth Bc *t, and the initial The minimum threshold Gmin is obtained from the bandwidth Bmin *t, the maximum threshold Gmax is obtained from the highest bandwidth Bmax *t, and the queue thresholds higher and lower than Go are set respectively, and the number of thresholds lower than Go is Nd , the number of thresholds higher than Go isNu , the queue threshold interval ΔGd is obtained by (Go -Gmin )/(Nd +1), and then the queue threshold Gdi below the guaranteed threshold Go is obtained, 1≤i≤Nd , the value of Gdi decreases with the decrease of i, the queue threshold interval ΔGu is obtained by (Gmax -Go )/(Nu +1), and then the guaranteed threshold Go is above Queue threshold Guj , 1≤j≤Nu , the value of Guj increases as j increases; the corresponding equivalent bandwidth Bedi is obtained through Gdi /t, as a comparison of the weighted average bandwidth Ba Reference value; According to ΔGd /t, the bandwidth update step size ΔBd below the protocol bandwidth Bc is obtained, and ΔGu /t is used to obtain the bandwidth update step size ΔBu above the protocol bandwidth Bc .
CN201210596494.5A2012-12-142012-12-14A kind of coarseness distribution method of dynamic bandwidthExpired - Fee RelatedCN103023819B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201210596494.5ACN103023819B (en)2012-12-142012-12-14A kind of coarseness distribution method of dynamic bandwidth

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201210596494.5ACN103023819B (en)2012-12-142012-12-14A kind of coarseness distribution method of dynamic bandwidth

Publications (2)

Publication NumberPublication Date
CN103023819Atrue CN103023819A (en)2013-04-03
CN103023819B CN103023819B (en)2015-09-30

Family

ID=47971959

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201210596494.5AExpired - Fee RelatedCN103023819B (en)2012-12-142012-12-14A kind of coarseness distribution method of dynamic bandwidth

Country Status (1)

CountryLink
CN (1)CN103023819B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN104780124A (en)*2014-01-092015-07-15中国科学院声学研究所Resource management method for dynamically adjusting reserved bandwidth by time interval
CN105307211A (en)*2014-07-252016-02-03北京信威通信技术股份有限公司Flow control method for multi-hop network
CN105959974A (en)*2016-06-142016-09-21深圳市海思半导体有限公司Method and apparatus for predicting air interface bandwidth
CN107786351A (en)*2016-08-242018-03-09中国电信股份有限公司Service bandwidth self-adapting regulation method, system and SDN controllers

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101350765A (en)*2007-07-202009-01-21中国科学院声学研究所 A method of network traffic detection
CN101557644A (en)*2008-04-112009-10-14中兴通讯股份有限公司Adjusting method for wireless signal-path band width
CN101888342A (en)*2010-07-232010-11-17中兴通讯股份有限公司 Bandwidth allocation method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101350765A (en)*2007-07-202009-01-21中国科学院声学研究所 A method of network traffic detection
CN101557644A (en)*2008-04-112009-10-14中兴通讯股份有限公司Adjusting method for wireless signal-path band width
CN101888342A (en)*2010-07-232010-11-17中兴通讯股份有限公司 Bandwidth allocation method and device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KUN YANG,等: "Convergence of Ethernet PON and IEEE 802.16 Broadband Access Networks and its QoS-Aware Dynamic Bandwidth Allocation Scheme", 《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》*
张洋,等: "一种公平的EPON 动态带宽分配算法", 《电路与系统学报》*
鞠海玲,等: "EasiCC:一种保证带宽公平性的传感器网络拥塞控制机制", 《计算机研究与发展》*

Cited By (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN104780124A (en)*2014-01-092015-07-15中国科学院声学研究所Resource management method for dynamically adjusting reserved bandwidth by time interval
CN104780124B (en)*2014-01-092018-08-07中国科学院声学研究所A kind of dynamic according to the time period adjusts the method for managing resource of reserved bandwidth
CN105307211A (en)*2014-07-252016-02-03北京信威通信技术股份有限公司Flow control method for multi-hop network
CN105307211B (en)*2014-07-252019-02-22北京信威通信技术股份有限公司A kind of flow control methods for multihop network
CN105959974A (en)*2016-06-142016-09-21深圳市海思半导体有限公司Method and apparatus for predicting air interface bandwidth
CN105959974B (en)*2016-06-142019-11-29深圳市海思半导体有限公司A kind of method and apparatus for predicting bandwidth of air-interface
CN107786351A (en)*2016-08-242018-03-09中国电信股份有限公司Service bandwidth self-adapting regulation method, system and SDN controllers
CN107786351B (en)*2016-08-242021-02-12中国电信股份有限公司Service bandwidth self-adaptive adjusting method and system and SDN controller

Also Published As

Publication numberPublication date
CN103023819B (en)2015-09-30

Similar Documents

PublicationPublication DateTitle
US10523458B2 (en)Multicast to unicast conversion technique
CN106793133B (en)Scheduling method for guaranteeing multi-service QoS in electric power wireless communication system
CN106954232B (en)Time delay optimized resource allocation method
CN103259743B (en)The method and device of output flow control based on token bucket
CN106028463B (en)A kind of spaceborne dynamic spectrum resource regulating method based on service speed control
CN102223306B (en)A kind of message transmitting method and device
CN104734991B (en)A kind of end-to-end time delay towards industrial backhaul network ensures transmission dispatching method
CN105517165B (en)A kind of resource allocation methods and device of non-GBR carrying
CN103931262B (en) A data scheduling method and device
US9940471B2 (en)Virtual output queue authorization management method and device, and computer storage medium
CN104619034B (en)Towards the grouping scheduling method of real time business in a kind of LTE communication system
US10205671B2 (en)Method and apparatus for adding token in traffic shaping
CN103023819B (en)A kind of coarseness distribution method of dynamic bandwidth
CN110602747A (en)Method for scheduling wide-band and narrow-band mixed service channel resources of power wireless communication system
CN101719869B (en)Method and device for dynamically allocating bandwidth by adopting associated token bucket algorithm
CN105120482B (en)A kind of time delay priority scheduling method based on resource utilization
CN113328879A (en)Cloud data center network QoS (quality of service) guaranteeing method based on network calculus
CN107197530B (en)Downlink resource allocation algorithm for channel fluctuation perception in LTE system
CN108965168B (en)Internet of vehicles occupation resource fair allocation optimization method based on utility function
CN115915149A (en)5G-TSN fusion network resource allocation method based on weighted polling scheduling
CN107204930A (en)Token adding method and device
CN103281258A (en)Method and device for transmitting data
CN115087035A (en)Bandwidth resource allocation method applied to civil aviation communication system
CN106060952A (en)LTE (Long Term Evolution) scheduling method based on load adaptation
TW201044819A (en)Bandwidth distribution apparatus for network switch and the constribution method thereof

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
C14Grant of patent or utility model
GR01Patent grant
EE01Entry into force of recordation of patent licensing contract

Application publication date:20130403

Assignee:BEIJING HANNUO SEMICONDUCTOR TECHNOLOGY Co.,Ltd.

Assignor:Xidian University

Contract record no.:2016610000048

Denomination of invention:Coarse-grained dynamic bandwidth allocation method

Granted publication date:20150930

License type:Exclusive License

Record date:20161109

LICCEnforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01Termination of patent right due to non-payment of annual fee

Granted publication date:20150930

Termination date:20211214

CF01Termination of patent right due to non-payment of annual fee

[8]ページ先頭

©2009-2025 Movatter.jp