|Número de publicación||US6967921 B1|
|Tipo de publicación||Concesión|
|Número de solicitud||US 09/722,898|
|Fecha de publicación||22 Nov 2005|
|Fecha de presentación||27 Nov 2000|
|Fecha de prioridad||27 Nov 2000|
|También publicado como||US7065048|
|Número de publicación||09722898, 722898, US 6967921 B1, US 6967921B1, US-B1-6967921, US6967921 B1, US6967921B1|
|Inventores||Yonatan Aharon Levy, Xiaowen Mang, Kamlesh T. Tewani|
|Cesionario original||At&T Corp.|
|Exportar cita||BiBTeX, EndNote, RefMan|
|Citas de patentes (17), Otras citas (2), Citada por (38), Clasificaciones (31), Eventos legales (5)|
|Enlaces externos: USPTO, Cesión de USPTO, Espacenet|
The present invention relates generally to bandwidth management, and more particularly to dynamic, real-time bandwidth management of traffic in Internet Protocol networks.
Today's Internet Protocol (IP) networks mostly work as one-class, best-effort networks. As these networks evolve to Quality of Service (QoS)-enabled, multi-lass, application-aware networks, bandwidth management will be one of the crucial resource management mechanisms to insure each application a fair share of bandwidth, especially at congestion points. There are several products, called bandwidth managers or packet shapers, that offer such a mechanism at the access points to or from the Wide Area Network (WAN). In particular, one such scheme, Class Based Queuing (CBQ), has gained significant popularity after being implemented in real bandwidth management products such as Xedia's Access Point® to guarantee bandwidth for applications and provide Quality of Service differentiation. Products offering CBQ are widely available and are being deployed in the field to guarantee bandwidth for real-time and other business-critical applications (e.g., voice, e-transactions). However, a challenging problem in putting these products into practical use is the need to configure them in a way that will match the needs of the particular site and links, whose bandwidth is allocated. There is a need for a method and device that dynamically provide real-time allocation of bandwidth for real-time and non-real-time applications based on measurements, thus enabling the use of bandwidth managers without the administrative burden of manual configuration and update.
The present invention provides a method for dynamically managing allocation of bandwidth in a packet network using a Dynamic Setting Scheme (DSS) for Class Based Queuing (CBQ). The method includes the steps of maintaining a minimized reserved portion of bandwidth to minimize delay jitter and maximizing a shared portion of bandwidth to maximize overall bandwidth utilization. Allocation of bandwidth may be based on a hierarchical-tree sharing scheme that provides for temporary borrowing of bandwidth by real-time or critical applications from bandwidth of non-real-time or non-critical applications and prevents borrowing of bandwidth by non-real-time or non-critical applications from bandwidth of real-time or critical applications. The DSS provides for using measurable parameters, such as queue length or number of borrowing attempts per a predetermined length of time, as control triggers for implementing adjustment of bandwidth allocation.
The present invention may also provide for dynamically managing allocation of bandwidth in a packet network using a Dynamic Setting Scheme (DSS) for Class Based Queuing (CBQ) using the steps of measuring a predetermined parameter at predetermined observation window times and dynamically adjusting allocated bandwidth for parent classes of real-time or critical traffic by adjusting an average of the predetermined parameter to have a value within a predetermined stable region. Again, dynamically adjusting allocated bandwidth, such as the DDS method of the present invention, may be based on a sharing tree hierarchical scheme that provides for temporary borrowing of bandwidth by real-time or critical applications from bandwidth of non-real-time or non-critical applications and blocks borrowing of bandwidth by non-real-time or non-critical applications from bandwidth of real-time or critical applications. The predetermined parameter measured may, for example, be queue length or number of borrowing attempts during a predetermined measurement window. Where the predetermined parameter is a number of borrowing attempts during a measurement window, a maximum bandwidth and a minimum bandwidth for the predetermined stable region may be determined by the following algorithm, where the subscript i stands for class i:
Where the predetermined parameter is a queue length, a lower threshold and an upper threshold for queue length for the predetermined stable region may be determined by:
The present invention may also be implemented by a computer-readable medium having computer-executable instructions for dynamically managing allocation of bandwidth in a packet network using a Dynamic Setting Scheme (DSS) for Class Based Queuing (CBQ). The computer-executable instructions may include measuring a predetermined parameter at predetermined observation window times and dynamically adjusting allocated bandwidth for parent classes of real-time or critical traffic by adjusting an average of the predetermined parameter to have a value within a predetermined stable region.
The present invention may be implemented by a device that includes a parameter measuring unit and a bandwidth sharing determining unit. The parameter measuring unit is coupled to the bandwidth sharing determining unit and is used for (i) measuring a predetermined parameter at predetermined observation window times, and (ii) dynamically adjusting allocated bandwidth for parent classes of real-time or critical traffic by adjusting an average of the predetermined parameter to have a value within a predetermined stable region. The DSS generally provides for using measurable parameters such as queue length or number of borrowing attempts per a predetermined length of time or predetermined measurement window as control triggers for implementing adjustment of bandwidth allocation. Where the predetermined parameter is a number of borrowing attempts during a measurement window of the DDS method, a maximum bandwidth and a minimum bandwidth for the predetermined stable region may be determined as described above. Where the predetermined parameter is a queue length of the DDS method, a lower threshold and an upper threshold for queue length for the predetermined stable region may be determined as described above.
The foregoing summary of the invention, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention.
In previous implementations, classes with heavy-volume traffic tended to dominate the bandwidth for a relatively long period of time and cause a high delay jitter for classes with light traffic volume even if the latter were allocated sufficient bandwidth. Since the traffic volume of some real-time applications, e.g., voice, is relatively low and the bandwidth consumption of such applications is more predictable, it is desirable to separate these applications from the rest of the traffic, which includes many data applications with unpredictable volume and bursty bandwidth consumption. However, while total separation provides security, it also reduces the total utilization of bandwidth. One alternative is to allow voice traffic to borrow bandwidth from data traffic, but not allow data to borrow from voice. In this situation, one wants to reserve sufficient bandwidth for voice and, at the same time, avoid over-engineering in order to increase the bandwidth utilization.
Due to the fact that traffic conditions are dynamic and somewhat unpredictable, it is not possible to find a value for bandwidth allocation that satisfies the desired objectives in all circumstances. The present invention implements a bandwidth sharing hierarchy and a dynamic scheme for setting bandwidth management parameters. Since Internet Protocol (IP) technology is implemented in various access methods, i.e., Cable Plant, fixed wireless, and DSL, and also in the backbone, the present invention has far-reaching applicability in the present and future networks. The present invention provides capabilities for more efficient use of bandwidth and the ability to use the same network for both voice and data applications. Moreover, the present invention provides for integrating voice traffic and data traffic and provides mechanisms for allocation of bandwidth to priority data or voice-over-IP (VoIP) services that ensure that valuable corporate resources are available to critical business applications.
For example, where bandwidth is allocated according to application delay requirements, assume that there are two types of traffic: real-time and non-real-time traffic. There are a predetermined number n of classes, and each type of traffic may have one or more leaf classes: c1 through ck are classes of real-time or other critical applications, while the remaining classes ck+1 through cn include non-critical applications. The objectives are twofold:
2. Maximize the overall bandwidth utilization by allowing bandwidth sharing across non-real-time applications.
The above goals are achieved by setting a borrowing permit according to the traffic's delay requirement, i.e., only allowing real-time applications to borrow from non-real-time, but not vice versa. As a result, one needs an extra level in the sharing tree hierarchy as is shown in FIG. 1. If c1 exceeds its allocated bandwidth, it can temporarily borrow from all its parent classes, i.e., RT 104 and Root 102. On the other hand, if c(k+1) exceeds its allocation, it can only borrow from NON-RT 106. Such a sharing hierarchy includes reservation and sharing strategies. However, due to the traffic dynamics, a static allocation that meets the performance objectives in all circumstances has not been available. To guarantee real-time application delay requirements, one needs to allocate sufficient bandwidth to such applications. On the other hand, to maximize the bandwidth utilization, one must maintain the reserved portion of bandwidth as small as possible and maximize the shared portion.
For a better tradeoff between guaranteeing delay and maximizing the utilization, the present invention provides a dynamic scheme that adapts to traffic variations. The present invention utilizes a scheme that is simple enough to be readily implemented—a dynamic setting scheme (DSS) for CBQ. The fundamental concept embedded in DSS is the use of measurable parameters as control triggers. The measurable parameters may be related to performance objectives. For example, queue length may be directly related to delay and delay jitter, which are the main performance measures for real-time traffic. Moreover, borrowing attempts may be used to indicate whether the allocated bandwidth is sufficient. Both queue length and borrowing attempts are easily measured and therefore may be used as control triggers in a DSS scheme. However, other measurable parameters can be used as control triggers in the DSS scheme.
Two examples of DSS are described below wherein queue length and borrowing attempts are used as control triggers. In the first example, where DSS is triggered by borrowing attempts, let Ai be the number of borrowing attempts initiated by class i during an observation window. An “observation window” is a time interval during which the Ai is measured. The objective of DSS is to dynamically adjust the allocated bandwidth for parent classes of real-time or critical traffic according to the number of borrowing attempts made by these classes during the most recent observation window. Since the traffic characteristics are unknown and changing, it is impossible to find an optimal Ai that suits all circumstances. However, by keeping the above state variable within a desired region and allowing a certain degree of fluctuation within the desired region, the performance is kept at a satisfactory level. Therefore, two levels of thresholds are used for Ai, the desired region being designated as the “stable region”. The performance is measured in terms of the delay and delay jitter of real-time classes and the utilization of the root class (which accounts for the total traffic).
The DSS scheme uses the average number of borrowing attempts, Ai—avg, to trigger the control actions. The status of the state variable is checked on a periodic basis. If the state variable is in the stable region, no action needs to be taken. If the state variable is outside the stable region, the allocated bandwidth Bi for the real-time class is updated, moving Ai—avg back into the stable region. As is known in the art, an exponential smoothing technique is used to calculate the average number of borrowing attempts. Such a smoothing technique avoids too much oscillation due to the effect of overreacting to the system's instantaneous fluctuations. The implication is that as long as the smoothed average values stay inside the stable region, certain incidences are permitted wherein the actual values of the state variable are outside the stable region, either higher than the upper threshold or lower than the lower threshold.
The parameters used in the algorithm are defined as follows. The first set of parameters includes the instantaneous measurement on the state variable and its calculated average value:
Using the limits and the thresholds, three states are generated for control purposes, as is shown in
In the second example, where DSS is triggered by queue length, queue length is used to trigger the DSS so as to control the delay jitter since delay jitter is one of the main performance measures in voice-over-IP applications. Queue length is selected as a control trigger because voice traffic needs to be given strict high priority while traversing the network. Thus, generally voice traffic will not encounter excessive queuing delay inside the network, and, for a given path, the propagation delay is fixed. Hence, the only source for delay jitter for voice traffic will be at the ingress queue. Moreover, where bandwidth is reserved for voice traffic at the bandwidth manager, the queue length Qi for class i may be related to the upper bound of delay jitter as:
Delay_jitter— i=max Q i /B i
such that, where the desired jitter upper bound Delay_jitter—i is given, then a linear relationship exists between Qi and Bi (allocated bandwidth) (308).
The parameters used in the second example are defined as follows. The first set of parameters includes the instantaneous measurement on the state variable and its calculated average value:
Thus, as shown in
In another embodiment, as shown in
dynamically adjusting (304) allocated bandwidth for parent classes of real-time or critical traffic by adjusting an average of the predetermined parameter to have a value within a predetermined stable region. Where the predetermined parameter is a number of borrowing attempts during a measurement window, a maximum bandwidth and a minimum bandwidth for the predetermined stable region may be determined (306) by:
In one embodiment, as shown in
Although the present invention has been described in relation to particular preferred embodiments thereof, many variations, equivalents, modifications and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims.
|Patente citada||Fecha de presentación||Fecha de publicación||Solicitante||Título|
|US6108307 *||12 Dic 1997||22 Ago 2000||Newbridge Networks Corporation||Frame relay priority queses to offer multiple service classes|
|US6201793 *||16 Mar 1998||13 Mar 2001||Lucent Technologies||Packet delay estimation in high speed packet switches|
|US6205119 *||16 Sep 1997||20 Mar 2001||Silicon Graphics, Inc.||Adaptive bandwidth sharing|
|US6424622 *||12 Feb 1999||23 Jul 2002||Nec Usa, Inc.||Optimal buffer management scheme with dynamic queue length thresholds for ATM switches|
|US6442164 *||3 Jun 1999||27 Ago 2002||Fujitsu Network Communications, Inc.||Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic|
|US6452933 *||18 Nov 1997||17 Sep 2002||Lucent Technologies Inc.||Fair queuing system with adaptive bandwidth redistribution|
|US6493316 *||1 Dic 1998||10 Dic 2002||Nortel Networks Limited||Apparatus for and method of managing bandwidth for a packet based connection|
|US6535484 *||24 Ene 2000||18 Mar 2003||Cisco Technology, Inc.||Method and apparatus for per traffic flow buffer management|
|US6556578 *||14 Abr 1999||29 Abr 2003||Lucent Technologies Inc.||Early fair drop buffer management method|
|US6560230 *||21 May 1999||6 May 2003||Redback Networks Inc.||Packet scheduling methods and apparatus|
|US6570883 *||28 Ago 1999||27 May 2003||Hsiao-Tung Wong||Packet scheduling using dual weight single priority queue|
|US6633540 *||2 Jul 1999||14 Oct 2003||Nokia Internet Communications, Inc.||Real-time traffic shaper with keep-alive property for best-effort traffic|
|US6657958 *||18 May 1999||2 Dic 2003||Nec Corporation||Bandwidth control system and method|
|US6680906 *||31 Mar 1999||20 Ene 2004||Cisco Technology, Inc.||Regulating packet traffic in an integrated services network|
|US6690645 *||6 Dic 1999||10 Feb 2004||Nortel Networks Limited||Method and apparatus for active queue management based on desired queue occupancy|
|US6690678 *||10 Nov 1999||10 Feb 2004||International Business Machines Corporation||Method and system in a packet switching network for dynamically adjusting the bandwidth of a continuous bit rate virtual path connection according to the network load|
|US6788646 *||26 Abr 2000||7 Sep 2004||Telefonaktiebolaget Lm Ericsson (Publ)||Link capacity sharing for throughput-blocking optimality|
|1||*||S. Floyd and V. Jacobson, "Link-Sharing and Resource Management Models for Packet Networks", IEEE/ACM Transactions on Networking, vol. 3 No. 4, Aug. 1995, pp. 1-22.|
|2||S.Ford and V.Jacobson, Link-Sharing and Resource Management Models for Packet Networks, IEEE/ACM Transactions on Networking, vol. 3 No. 4, Aug. 1995, pp. 1-22.|
|Patente citante||Fecha de presentación||Fecha de publicación||Solicitante||Título|
|US7161957 *||10 Feb 2003||9 Ene 2007||Thomson Licensing||Video packets over a wireless link under varying delay and bandwidth conditions|
|US7283472 *||28 Oct 2002||16 Oct 2007||Redback Networks Inc.||Priority-based efficient fair queuing for quality of service classification for packet processing|
|US7330476 *||15 Mar 2002||12 Feb 2008||Nec Corporation||Queue allocation system and queue allocation method of a packet exchanger|
|US7339953 *||28 Oct 2002||4 Mar 2008||Redback Networks, Inc.||Surplus redistribution for quality of service classification for packet processing|
|US7471685 *||8 Ago 2002||30 Dic 2008||Ascom (Schweiz) Ag||Analysis of a data transmission system|
|US7710977 *||5 Mar 2003||4 May 2010||Ntt Docomo, Inc.||Allocation of radio resources to packets in accordance with service qualities under radio communication environment|
|US7773512 *||10 Ago 2010||Realtek Semiconductor Corporation||Bandwidth control module and bandwidth control method thereof|
|US7885281 *||12 Mar 2010||8 Feb 2011||Juniper Networks, Inc.||Systems and methods for determining the bandwidth used by a queue|
|US7912040 *||22 Mar 2011||At&T Intellectual Property I, Lp||Systems and methods for dynamically allocating bandwidth of a subscriber line that carries voice over Internet Protocol (VoIP) telephone calls and Internet Protocol Telephone (IPTV) transmissions|
|US7983156 *||19 Jul 2011||Openwave Systems Inc.||System and method for controlling network congestion|
|US7990978 *||19 Dic 2005||2 Ago 2011||Verizon Services Corp.||Dynamic bandwidth queue allocation|
|US8000240 *||7 Jul 2008||16 Ago 2011||Verizon Patent And Licensing Inc.||Method and system for providing auto-bandwidth adjustment|
|US8169912||1 May 2012||Futurewei Technologies, Inc.||System for dynamic bandwidth adjustment and trading among peers|
|US8483210||28 Ene 2009||9 Jul 2013||Vonage Network Llc||Method and apparatus for voice traffic management in a data network|
|US8509067||28 Jun 2011||13 Ago 2013||Unwired Planet, Inc.||System and method for controlling network congestion|
|US8599868||29 Dic 2010||3 Dic 2013||Juniper Networks, Inc.||Systems and methods for determining the bandwidth used by a queue|
|US8611373 *||9 Sep 2011||17 Dic 2013||Brother Kogyo Kabushiki Kaisha||Communication device|
|US8724461||6 Jul 2011||13 May 2014||Verizon Patent And Licensing Inc.||Method and system for providing auto-bandwidth adjustment|
|US8879561||22 Jun 2011||4 Nov 2014||Verizon Patent And Licensing Inc.||Dynamic bandwidth queue allocation|
|US9148356 *||14 Sep 2012||29 Sep 2015||Brother Kogyo Kabushiki Kaisha||Communication apparatus, method for implementing communication, and non-transitory computer-readable medium|
|US20020136228 *||15 Mar 2002||26 Sep 2002||Rei Miyamoto||Queue allocation system and queue allocation method of a packet exchanger|
|US20030031136 *||8 Ago 2002||13 Feb 2003||Raymond Wu||Analysis of a data transmission system|
|US20030169746 *||5 Mar 2003||11 Sep 2003||Ntt Docomo, Inc.||Allocation of radio resources to packets in accordance with service qualities under radio communication environment|
|US20040042484 *||28 Oct 2002||4 Mar 2004||Widmer Robert F.||Surplus redistribution for quality of service classification for packet processing|
|US20040081091 *||28 Oct 2002||29 Abr 2004||Widmer Robert F.||Priority-based efficient fair queuing for quality of service classificatin for packet processing|
|US20040156354 *||10 Feb 2003||12 Ago 2004||Wang Charles Chuanming||Video packets over a wireless link under varying delay and bandwidth conditions|
|US20040203938 *||4 Mar 2003||14 Oct 2004||Kulkarni Narayan A.||Weighted average traffic calculation and resource allocation system for voice and data services on a single wireless carrier|
|US20070201446 *||27 Feb 2006||30 Ago 2007||Bellsouth Intellectual Property Corporation||Systems, methods and computer program products for dynamically allocating bandwidth of a subscriber line that carries voice over internet protocol (VoIP) telephone calls and internet protocol telephone (IPTV) transmissions|
|US20080056135 *||31 Ago 2006||6 Mar 2008||Futurewei Technologies, Inc.||System for dynamic bandwidth adjustment and trading among peers|
|US20080198750 *||15 Feb 2008||21 Ago 2008||Realtek Semiconductor Corp.||Bandwidth control module and bandwidth control method thereof|
|US20100002580 *||7 Jul 2008||7 Ene 2010||Verizon Corporate Services Group Inc.||Method and system for providing auto-bandwidth adjustment|
|US20100165871 *||12 Mar 2010||1 Jul 2010||Juniper Networks, Inc.||Systems and methods for determing the bandwidth used by a queue|
|US20100189095 *||28 Ene 2009||29 Jul 2010||Deepak Ottur||Method and apparatus for voice traffic management in a data network|
|US20110096689 *||28 Abr 2011||Juniper Networks, Inc.||Systems and methods for determining the bandwidth used by a queue|
|US20120076218 *||29 Mar 2012||Brother Kogyo Kabushiki Kaisha||Communication device|
|US20130003594 *||14 Sep 2012||3 Ene 2013||Brother Kogyo Kabushiki Kaisha||Communication Apparatus, Method for Implementing Communication, and Non-Transitory Computer-Readable Medium|
|CN101513004B||29 Ago 2007||5 Sep 2012||华为技术有限公司||System for dynamic bandwidth adjustment and trading among peers|
|WO2008025298A1 *||29 Ago 2007||6 Mar 2008||Huawei Technologies Co., Ltd.||System for dynamic bandwidth adjustment and trading among peers|
|Clasificación de EE.UU.||370/230.1, 370/412, 370/230|
|Clasificación internacional||H04L12/26, H04L12/56|
|Clasificación cooperativa||H04L47/2441, H04L47/11, H04L47/822, H04L47/801, H04L47/10, H04L47/762, H04L47/724, H04L47/29, H04L47/283, H04L47/30, H04L47/2416, H04L12/5695, H04L47/805|
|Clasificación europea||H04L12/56R, H04L47/72B, H04L47/10, H04L47/28A, H04L47/80A, H04L47/29, H04L47/30, H04L47/24D, H04L47/82B, H04L47/76A, H04L47/24B, H04L47/80C, H04L47/11|
|27 Nov 2000||AS||Assignment|
Owner name: AT&T CORP., NEW YORK
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEVY, YONATAN AHARON;MANG, XIAOWEN;TEWANI, KAMLESH T.;REEL/FRAME:011341/0804;SIGNING DATES FROM 20001113 TO 20001127
|26 Mar 2009||FPAY||Fee payment|
Year of fee payment: 4
|5 Jul 2013||REMI||Maintenance fee reminder mailed|
|22 Nov 2013||LAPS||Lapse for failure to pay maintenance fees|
|14 Ene 2014||FP||Expired due to failure to pay maintenance fee|
Effective date: 20131122