CN101267387A - 频宽控制模块及相关控制方法 - Google Patents
频宽控制模块及相关控制方法 Download PDFInfo
- Publication number
- CN101267387A CN101267387A CNA2007100876557A CN200710087655A CN101267387A CN 101267387 A CN101267387 A CN 101267387A CN A2007100876557 A CNA2007100876557 A CN A2007100876557A CN 200710087655 A CN200710087655 A CN 200710087655A CN 101267387 A CN101267387 A CN 101267387A
- Authority
- CN
- China
- Prior art keywords
- unit quantity
- data
- enumeration data
- control module
- register
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种频宽控制方法,适用于一具有一系统时钟的网络装置中,该网络装置具有一寄存器用来储存可传送数据量以控制频宽,该方法包含:计算该系统时钟经过的周期数,以在每隔一预定时间间隔改变一计数数据,且该计数数据是在一特定范围内循环;当该计数数据计数至一第一计数值时,将该寄存器中的可传送数据量调整一第一单位量;以及调整该第一单位量后,经过该预定时间,且该计数数据对应至一第二计数值时,将该寄存器中的可传送数据量调整一第二单位量;其中,该第一计数值与该第二计数值不相同,且该第一单位量与该第二单位量不相同。
Description
技术领域
本发明涉及一种控制模块及相关控制方法,特别是涉及一种频宽控制模块及相关控制方法。
背景技术
网络中包括许多网络装置及所述网络装置之间的联机,每一网络装置若是在不特定的时间输出大量的数据到所述联机上,占据所述联机的大量频宽,将会造成数据的拥塞,因此所述网络装置会使用不同的模型控制其使用的频宽。
漏桶(leaky bucket),或称代币桶(token bucket)是一种用来仿真网络频宽控制的模型,以将不规则的网络流量整型成固定流速。图1所示是使用漏桶仿真网络频宽控制的示意图。漏桶31储存代币(图未示),每个代币对应一可传送的数据量,而分组储列32储存待传送的分组(图未示),分组储列必须取得代币后,才能输出待传送的分组,等效于网络装置(图未示)能够输出代币对应的数据量。因此,藉由控制代币回补(refill)至漏桶31的速度,网络装置就能调整传送数据的速度,以控制使用的频宽。
一控制参数RATE表示回补代币到该漏桶31的速度,同时对应数据传送的速度(即频宽)。一突发量(burst size)代表该漏桶31最多所能储存的代币数。当漏桶31内累积的代币数量超过此突发量,后续回补的代币就会被丢弃。
参阅图2,为了处理上的方便,现有网络装置使用的频宽控制方法是依据频率为F的系统时钟,以C个时钟周期为一时间间隔,在每个时间间隔中同时回补一定数量B的代币,以达到目标使用频宽RATE=F÷C×B,其中C及B为整数。例如,若每一代币对应的数据为8位(1个字节),系统时钟为75MHz,每隔C=9375个系统时钟周期的时间(125ms)回补B=8个代币(64位),则频宽R等于512Kbps。
然而,现有的频宽控制方法,在每间隔C个系统时钟周期的时间回补B个单位的数据。但是受限于C及B必须皆为整数的条件下,真正使用的频宽常常无法等于欲达到的目标频宽RATE。例如,在系统时钟等于75MHz的条件下,若要设定目标频宽RATE等于每秒832000字节,则最接近目标频宽RATE的态样是每间隔5589个系统时钟周期回补62个字节,如此真正使用频宽将是每秒831991个字节。
此外,现有的频宽控制方法常会造成频宽不稳定。当间隔的系统时钟周期个数较多时,每次所需回补的代币数量也较大,此时若同时有多数个待传送的分组,就可能一次传送出去,造成速度的突增(burst),而使得频宽较不稳定。
发明内容
因此,本发明的一目是提供一种可以降低突发现象的频宽控制模块。
而本发明的另一目是提供一种将回补数据近似均匀的分散在一时间间隔的频宽控制方法。
于是,本发明的频宽控制模块,适用于一具有一系统时钟的网络装置,该模块包含:
一寄存器,用来储存一可传送数据量以控制频宽;
一分频器,计算该系统时钟经过的周期数,以在每隔一预定时间间隔改变一计数数据,该预定时间的长度实质上等于该系统时钟经过n个周期,且该计数数据是在一特定范围内循环;以及
一控制器,依据该计数数据以控制该可传送数据量,当该计数数据对应至一第一计数值时,将该寄存器中的可传送数据量调整一第一单位量;以及调整该第一第一单位量后,经过该预定时间,且该计数数据对应至一第二计数值时,将该寄存器中的可传送数据量调整一第二单位量;
其中,该第一计数值与该第二计数值不相同,且该第一单位量与该第二单位量不相同。
而本发明的频宽控制方法,适用于一具有一系统时钟的网络装置,该网络装置具有一寄存器用来储存可传送数据量以控制频宽,该频宽控制方法包含下列步骤:计算该系统时钟经过的周期数,以在每隔一预定时间间隔改变一计数数据,且该计数数据是在一特定范围内循环;当该计数数据计数至一第一计数值时,将该寄存器中的可传送数据量调整一第一单位量;以及调整该第一单位量后,经过该预定时间,且该计数数据对应至一第二计数值时,将该寄存器中的可传送数据量调整一第二单位量;其中,该第一计数值与该第二计数值不相同,且该第一单位量与该第二单位量不相同。
另外,本发明的频宽控制模块及频宽控制方法可应用于一网关(gateway)中。
附图说明
图1是一示意图,说明一网络装置以一漏桶模型控制使用频宽;
图2是一示意图,说明使用现有的频宽控制方法将目标频宽的数据量分布在时间轴上的态样;
图3是本发明频宽控制模块的实施例的一电路方块图;
图4是一示意图,说明本发明的频宽控制模块将目标频宽的数据量在时间轴上分布的态样;
图5是一示意图,说明本发明频宽控制模块使用一位反转处理从16个时间片段中选出6个平均分散的时间片段;
图6是一示意图,说明本发明频宽控制模块对应图5将目标频宽的数据量分布在一时间间隔的时间片段的态样;以及
图7是本发明频宽控制方法的实施例的一流程图。
具体实施方式
有关本发明的前述及其它技术内容、特点与功效,在以下结合附图的一个实施例的详细说明中,将可清楚的呈现。
参阅图3及图4,本发明频宽控制模块的实施例,适用于一具有一系统时钟的网络装置,该频宽控制模块包含一分频器1及一控制器2,该分频器1接收该系统时钟,且输出一第一计数数据。
该分频器1包括一第一计数单元11(counter)、一第二计数单元12、一寄存单元13及一比较单元14。该比较单元14与该寄存单元13、该第一计数单元11及该第二计数单元12电连接。
该分频器1的寄存单元13储存一特定值,该第一计数单元11以二进制计数方式输出该第一计数数据,且该第一计数数据总共有n个位,因此该第一计数数据的值介于0到2n-1之间。该第二计数单元12计算经过的时钟周期,并输出一等于经过的时钟周期数目的第二计数数据。
该比较单元14比较该第二计数数据的值是否等于该寄存单元13储存的特定值,若是,则该比较单元14控制该第一计数单元11将该第一计数数据的值加1,并控制该第二计数单元12将该第二计数数据的值清除为0,以使该第二计数数据的值在介于0到该特定值之间循环。
若该系统时钟的频率为F且该特定值表示为p,则每经过一时间长度等于p个时钟周期的时间片段,该第一计数数据的值增加1。而由于该第一计数单元11在0到2n-1之间循环,因此每经过一时间长度等于2n×p个时钟周期的时间间隔,该第一计数单元11输出的第一计数数据会循环一次,且每一时间间隔包括t=2n个时间片段,每一秒钟的时间间隔的数目等于T=F÷(2n×p),因此每一秒钟的时间间隔数目是由参数n及p所决定。
该控制器2包括一第一寄存单元21、一第二寄存单元22及一控制单元23。该控制单元23与该分频器1的第一计数单元11及该寄存单元13、该第一寄存单元21及该第二寄存单元22电连接。该第一寄存单元21储存一临界值,该第二寄存单元22储存一可传送数据量以控制网络频宽。
在以下的说明中,是以应用在以太网络的网络装置为例子,一单位的数据等于1个字节(Byte),且由于每一个分组的长度至少大于或等于64字节,因此,依据本发明的一实施例来说,一个时间片段中回补的数据不超过64个字节,以避免回补超过64个字节而造成同时传送出两个分组,但本发明不以此为限。
在每一预定的时间片段,回补至该第二寄存单元22中的回补数据量可由该控制单元23计算出来后,再将回补数据量储存在该第二寄存单元22中。假设要控制的目标频宽等于RATE,单位为字节/每秒,为了在每一时间间隔回补相同单位的数据,且因为每一秒的时间间隔的总数为T,因此每一时间间隔最佳的填补数据量S等于Round(RATE÷T),其中Round()表示做四舍五入运算。若S除以2n得到的商数是B、余数是R,表示在一时间间隔的2n个时间片段中,有R个时间片段需要回补B+1个字节的数据至该第二寄存单元22中,而其它2n-R个时间片段需要回补B个字节的数据至该第二寄存单元22中,如此便可使每一时间间隔中回补的数据等于S个字节。真正使用的频宽大小等于Round(RATE÷T)×T,真正使用的频宽大小与目标频宽之间的误差比率等于[Round(RATE÷T)×T-RATE]÷RATE。因此当时间间隔的数目T决定时,误差比率就可计算出来,并且在目标频宽RATE越高的情形下,误差比率将会随之降低。
因为每一秒中时间间隔的数目T是由该分频器1的寄存单元13的值p以及该第一计数单元11的位数n所决定,在该第一计数单元11的硬件条件确定的情形下n为确定值,设定p值的大小即可计算出每一时间间隔需要回补的字节的数目S,并决定误差比率,因此该控制单元23藉由调整该分频器1的寄存单元13的值p可使误差比率最佳化。
举例而言,若是目标频宽是RATE=64000bps(每秒8000字节)、该第一计数数据为n=14位且该系统时钟F等于75MHz,则设定p=19可使误差比率最佳化为-0.617%。在此态样下,每一秒钟将有T=75×106÷(19×214)个=240.9个时间间隔,在每一时间间隔需回补S=33=Round(8000÷240.9)个字节,因此一时间间隔214个的时间片段中将有33个时间片段需回补1字节,其它214-33个时间片段回补0个字节,真正使用的频宽接近每秒7950=240.9×33个字节,因此误差比率等于-0.617%。
该控制单元23接收该第一计数数据,并设定该临界值,且比较该临界值与该第一计数数据经过一位反转处理后的值的大小。若该第一计数数据经过位反转处理后的值小于该临界值,则该控制单元23回补数据量B再加一字节的数据到该第二寄存单元22中;若否,则该控制单元23回补B的数据量到该第二寄存单元22中。
在本发明的实施例中,该控制单元23藉由该位反转(bit reverse)处理的结果,使该R个时间片段平均的分散在一时间间隔的t=2n个时间片段之中,但是不以此为限,也可以是将该R个时间片段以其它的方式分布在一时间间隔的该t=2n个时间片段之中。
由于该第一计数数据总共有n个位,该第一计数数据经过该控制单元23以该位反转处理后的值其第k个位值(k=1~n),即为反转前的第(n-k+1)个位值。
该控制单元23设定该临界值等于R,如此将有R个时间片段对应的第一计数数据经过位反转之后小于该临界值R(其第一计数数据经过位转换处理后等于0~R-1)。
参阅图5及图6,假设该第一计数数据为4位,该临界值为6。在一时间间隔内,该第一计数数据的值从0000依序变换至1111,每个值代表一个时间片段,因此一个时间间隔包括16个时间片段,且其中总共有6个时间片段,分别是0000、0010、0100、1000、1010、1100,其经过位反转后的值(分别为0000、0100、0010、0001、0101、0011)小于该临界值6,而该6个时间片段近似均匀地分散在同一时间间隔内。
比较图2及图6可知,现有的频宽控制方法在每一时间间隔同时回补相同数量的数据(即S字节),而本发明的频宽控制方法在每一时间间隔回补同样S字节的数据且更将该S字节的数据均匀的分散在该时间间隔的所有时间片段中,且所有时间片段回补的数据量最多只会相差一个字节,可使频宽的数据量近似均匀分散在所有时间片段中,与现有技术相较,能减少因为回补数据量过大而造成的突发现象,使频宽更稳定。
值得注意的是,因为可以从每一个时间间隔的所有时间片段挑选1个时间片段增加一个字节的数据,因此可以以T×1=F÷(2n×p)×1做为目标频宽增加的级距。例如若是设定最小频宽等于8000字节/每秒,且一时间间隔包括28个时间片段,则可以256=28为目标频宽增加的级距而达到微调目标频宽。
参阅图7,本发明的频宽控制模块使用的频宽控制方法包含下列步骤:
步骤71是该第二计数单元12计算经过的时钟周期,以输出该第二计数数据,该比较单元14依据第二计数单元12的第二计数数据判断是否已经过特定个时钟周期,若是则跳到步骤72,若否则回到步骤71。
步骤72是该比较单元14控制该第一计数单元11将该第一计数数据的值加1后输出到该控制器2的控制单元23,且控制该第二计数单元12将该第二计数数据的值清除为0。
步骤73是该控制单元23将该第一计数数据的值做位反转处理,并判断经过反转处理的第一计数数据的值是否小于该临界值,若是则跳到步骤74,若否则跳到步骤75。
步骤74是该控制单元23回补数据量B再加一字节的数据到该第二寄存单元22中,接着回到步骤71。
步骤75是该控制单元23回补B的数据量至该第二寄存单元22中,接着回到步骤71。
综上所述,本发明的频宽控制模块在一个时间间隔的所有时间片段中分散S个字节的数据,且使所有时间片段之间回补的数据量最多相差一个字节而达到近似平均分散该S个字节数据的目的,相较于现有并未分散该S个字节数据,可以减少产生突发现象,因此确实可以达到本发明的目的。
另外,于上述的实施例中,虽利用增加数据量B或B再加一字节的数据至第二寄存单元22中的方式来调节频宽做说明,但于另一实施例中,亦可以减少第二寄存单元22中的数据量的方式来调节网络的频宽,也就是说,每隔一时间片段,第二寄存单元22中的数据量需要被调整时,每次减少数据量B或是减少数据量B再加上一字节来控制网络的频宽,此相关的运作方式如同前述的说明,故在此不另赘述。
以上所述仅为本发明的实施例而已,而不能以此限定本发明实施的范围,在不违反本发明的精神的前提下所作的等效变化与修饰,皆仍属本发明专利涵盖的范围。
Claims (14)
1. 一种频宽控制模块,适用于一具有一系统时钟的网络装置,该频宽控制模块包含:
一寄存器,用来储存一传送数据量以控制频宽;
一分频器,计算该系统时钟经过的周期数,以在每隔一预定时间改变一计数数据,该预定时间的长度实质上等于该系统时钟经过n个周期,且该计数数据是在一特定范围内循环;以及
一控制器,依据该计数数据以控制该传送数据量,当该计数数据对应至一第一计数值时,将该寄存器的该传送数据量调整一第一单位量;以及,在经过调整该第一单位量后的该预定时间,且该计数数据对应至一第二计数值时,将该寄存器的该传送数据量调整一第二单位量;
其中,该第一单位量与该第二单位量不相同。
2. 如权利要求1所述的频宽控制模块,其中该单位量与该第二单位量相差一字节。
3. 如权利要求1所述的频宽控制模块,其中调整该第一单位量为回补或减少该第一单位量,以及调整该第二单位量为回补或减少该第二单位量。
4. 如权利要求1所述的频宽控制模块,其中该计数数据为一不连续的计数值。
5. 如权利要求1所述的频宽控制模块,其中该计数数据为经过一位反转处理的计数值。
6. 如权利要求1所述的频宽控制模块,其中该第一计数值大于一预定的临界值,该第二计数值小于该预定的临界值。
7. 如权利要求1所述的频宽控制模块应用于一网关中。
8. 一种频宽控制方法,适用于一具有一系统时钟的网络装置,该网络装置具有一寄存器用来储存一传送数据量以控制频宽,该频宽控制方法包含下列步骤:
计算该系统时钟经过的周期数,以在每隔一预定时间改变一计数数据,且该计数数据是在一特定范围内循环;
参考该计数数据,将该寄存器中的该传送数据量调整一第一单位量;以及
在经过调整该第一单位量后的该预定时间,将该寄存器中的可传送数据量调整一第二单位量,其中,调整该第一单位量与调整该第二单位量的调整量不相同。
9. 如权利要求8所述的频宽控制方法,其中该第一单位量与该第二单位量相差一字节。
10. 如权利要求8所述的频宽控制方法,其中调整该第一单位量为回补或减少该第一单位量,以及调整该第二单位量为回补或减少该第二单位量。
11. 如权利要求8所述的频宽控制方法,其中该计数数据为一不连续的计数值。
12. 如权利要求8所述的频宽控制方法,其中该计数数据为经过一位反转处理的计数值。
13. 如权利要求8所述的频宽控制方法,其中该计数数据大于一临界值时,将该寄存器中的该传送数据量调整该第一单位量;以及该计数数据小于该临界值时,将该寄存器中的该传送数据量调整该第二单位量。
14. 如权利要求8所述的频宽控制方法应用于一网关中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100876557A CN101267387B (zh) | 2007-03-12 | 2007-03-12 | 频宽控制模块及相关控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100876557A CN101267387B (zh) | 2007-03-12 | 2007-03-12 | 频宽控制模块及相关控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101267387A true CN101267387A (zh) | 2008-09-17 |
CN101267387B CN101267387B (zh) | 2011-02-09 |
Family
ID=39989530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100876557A Active CN101267387B (zh) | 2007-03-12 | 2007-03-12 | 频宽控制模块及相关控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101267387B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739531A (zh) * | 2012-06-19 | 2012-10-17 | 华为技术有限公司 | 流量整形方法和流量整形设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20002848A (fi) * | 2000-12-22 | 2002-06-23 | Nokia Corp | Vuon valvonta tietoliikenneverkossa |
US20040151184A1 (en) * | 2002-12-13 | 2004-08-05 | Zarlink Semiconductor V.N. Inc. | Class-based rate control using multi-threshold leaky bucket |
CN1302638C (zh) * | 2003-04-03 | 2007-02-28 | 华为技术有限公司 | 采用令牌漏桶进行报文限流的方法 |
-
2007
- 2007-03-12 CN CN2007100876557A patent/CN101267387B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739531A (zh) * | 2012-06-19 | 2012-10-17 | 华为技术有限公司 | 流量整形方法和流量整形设备 |
CN102739531B (zh) * | 2012-06-19 | 2016-06-15 | 华为技术有限公司 | 流量整形方法和流量整形设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101267387B (zh) | 2011-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3044918B1 (en) | Network-based adaptive rate limiting | |
US11277273B2 (en) | Computer network service providing system including self adjusting volume enforcement functionality | |
US20050174944A1 (en) | Bandwidth regulation | |
CN110830391A (zh) | 资源分配方法及装置、集群系统 | |
CN106210129B (zh) | 一种基于Web服务器配置的限流方法及系统 | |
CN112968959B (zh) | 一种资源请求方法及终端 | |
CN107483351A (zh) | 一种限流方法及装置 | |
US20220232584A1 (en) | Method and apparatus for bandwidth allocation | |
CN107317864A (zh) | 一种存储设备的数据均衡方法及装置 | |
CN102347902B (zh) | 发送间隔调整方法、装置和网络设备 | |
CN101383853B (zh) | 一种直连节点数量控制方法及网络实体装置 | |
CN107566299A (zh) | 一种动态链路聚合实现方法和装置 | |
CN107920031A (zh) | 接入带宽自适应调整方法和装置 | |
CN114095443B (zh) | 用于管控流量的方法、装置、电子设备及可读存储介质 | |
CN114726862B (zh) | 基于状态监控芯片确定计算节点运行状态的方法及系统 | |
CN110674942A (zh) | 一种带宽管理的方法、装置、电子设备和可读存储介质 | |
CN110636109B (zh) | 节点调度优化方法、服务器及计算机可读存储介质 | |
CN101267387B (zh) | 频宽控制模块及相关控制方法 | |
US9323271B2 (en) | Electricity management apparatus and electricity management method | |
CN114465921B (zh) | 对等网络控制方法、装置、电子设备和存储介质 | |
CN106850456A (zh) | 令牌桶流速限制器 | |
CN102684975B (zh) | 动态带宽资源分配方法及装置 | |
US20090103439A1 (en) | Method and Device for Realizing Content Flowing on P2P Network | |
US7796533B2 (en) | Apparatus and method for bandwidth control | |
CN102340443A (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 |