Abstract:
Disclosed is a rate-based multi-level Active Queue Management with drop precedence differentiation method and apparatus which uses traffic rate information for congestion control. Using a nonlinear fluid-flow model of Traffic Control Protocol, an integral controller in a closed-loop configuration with gain settings characterized for stable operation allows a matching of the aggregate rate of the active TCP connections to the available capacity. Further disclosed is a method for calculation of the regime of gains over which stable operation of a given network obtains. An enhancement of the basic algorithm provides the ability to drop low-precedence packets in preference to higher precedence packets. This approach allows for a rate-based AQM approach for application in a differentiated service environment.

Description:
RELATED U.S. APPLICATION DATA 
   This patent application is a continuation-in-part application of U.S. patent application Ser. No. 10/426,763 filed Apr. 30, 2003; U.S. patent application Ser. No. 10/426,286 filed Apr. 30, 2003; and U.S. patent application Ser. No. 10/426,289 filed Apr. 30, 2003, the contents of which are hereby incorporated by reference. 

   FIELD OF THE INVENTION 
   The present invention relates generally to network queue management and, more particularly, to a technique for rate-based multi-level active queue management with drop precedence differentiation. 
   BACKGROUND OF THE INVENTION 
   The networking community is currently seeking mechanisms which will enable networks to provide service differentiation based on application and user needs while simultaneously managing congestion. 
   Congestion control in the Internet has primarily been the responsibility of the end-to-end congestion control mechanisms of TCP (Transmission Control Protocol). However, with the rapid growth of the Internet and the stringent requirements for quality of service (QoS) support, it has become clear that the Internet could not exclusively rely on the end hosts to preform the end-to-end congestion control. Mechanisms are needed in the intermediate network elements to complement the end hosts congestion control mechanisms. Recognizing this, the Internet Engineering Task Force (IETF) has advocated the deployment of active queue management (AQM) mechanisms at the intermediate network elements (routers, switches, etc.) as a means of congestion control. 
   To perform AQM, the network elements are equipped with the means to detect incipient congestion and to signal the traffic sources before congestion actually occurs. AQM mechanisms allow the network elements to send explicit/implicit feedback of congestion to the end hosts by marking/dropping packets. The end hosts in turn react to the packet marking/dropping by reducing their data transmission rates. The main goals of AQM are to reduce the average queue lengths in the network elements and thereby decrease the end-to-end delay experienced by end user traffic, and maximize the utilization of network resources by reducing the packet loss that occurs when queues overflow. 
   The current Internet and most private corporate networks offer best-effort service to traffic. In this model, all user packets compete equally for network resources. The best-effort service model has been sufficient until recently when usage and popularity of IP networks (e.g., the Internet) soared. This rise in usage and popularity has been paralleled by a rise in user expectation regarding the type of applications and quality of service offered by these networks. The networking community has recognized the importance of simplicity in packet forwarding mechanisms, but also the inadequacy of the best-effort service model in supporting the wide range of applications and user requirements. Different applications and users are increasingly demanding different quality of service (QoS) and network usage rates. 
   To address these new demands, the IETF has been looking at a number of architectural enhancements to enable networks to provide service differentiation based on application and user needs. One of these efforts has resulted in the differentiated services (DiffServ) architecture (as described in K. Nichols, S. Blake, F. Baker, and D. Black, “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers,” IETF RFC 2474, Dec. 1998; and in S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, “An Architecture for Differentiated Service,” IETF RFC 2475, Dec. 1998). 
   DiffServ aims to provide a scalable framework for supporting various levels of service to different users and the pricing of such services. It is an approach to service level specifications in IP networks based on traffic conditioning at the network edge and differentiated forwarding of aggregated traffic flows at the network core. The underlying goal of the DiffServ architecture is to address the scalability issue regarding per-flow service differentiation in the core of the network. In DiffServ, the core network elements do not necessarily have to implement complex resource reservation, scheduling, processing, and classification mechanisms in addition to maintaining state information for each individual traffic flow. The architecture allows network designers to push most of the state and forwarding complexity to the edge of the network. 
   In DiffServ, a distinction is made between boundary and interior nodes. Boundary nodes classify incoming traffic into a small number of aggregate flows according to their diverse QoS requirements such as bandwidth, delay, and packet drop precedence. Once the traffic enters the network, interior nodes deal only with the aggregated traffic. A DiffServ domain refers to a contiguous set of nodes operating with a common set of service provisioning policies and per-hop-behavior (PHB) definitions. Per-domain services are realized by traffic conditioning at the edge and simple differentiated forwarding at the core of the network. Packets are marked with the appropriate DiffServ code point (DSCP) at the edge of the network and within the core of the network, the network nodes (routers, switches, etc.) simply forward packets based on the PHB associated with the DSCP. An end-to-end differentiated service is obtained by concatenation of per-DiffServ domain services. 
   Two forwarding mechanisms recently standardized by the IETF are Expedited Forwarding (EF) PHB and Assured Forwarding (AF) PHB. The purpose of the EF PHB is to support low loss, low latency, low jitter, assured bandwidth, end-to-end premium service. These services can be used to support delay sensitive traffic requiring high service guarantees. In order to provide the necessary assurance, sufficient network resources need to be reserved. The EF PHB provides a point-to-point connection or a “virtual leased line” type of service. The AF PHB standard specifies four classes and three levels of drop precedence per class. Packets entering the network are classified as belonging to one of these four traffic classes. The three drop precedence levels (from high to low priority) are also referred in terms of color as green (DP0), yellow (DP1), and red (DP2). In case of congestion, an AF-compliant DiffServ node drops low precedence (red) packets in preference to higher precedence (green, yellow) packets. The AF PHB group is intended to provide a flexible, low-cost support for a wide range of traffic needs. 
   The AF drop precedence levels (or colors) are implemented using an active queue management (AQM) algorithm in the network nodes. AQM has been proposed in B. Braden, et al, “Recommendation on Queue Management and Congestion Avoidance in the Internet,” IETF RFC 2309, Apr. 1998, as a means to provide some congestion control as well as some notion of QoS to users. 
   One important class of AQM is based on randomized packet dropping or marking. With this form of AQM, a network node drops each arriving packet with a certain probability, where the exact probability is a function of the average queue size or any suitable indicator of network congestion such as rate mismatch at a node. The idea behind AQM is to detect incipient congestion early and convey congestion notification to the end-hosts, allowing them to back off before queue overflow and sustained packet loss occur. The AQM algorithm has to detect and respond to long-term congestion by discarding or marking packets. Very small buffers tend to complicate the control problem in this case as the short queues more easily overflow and do not provide adequate information for process control. 
   In view of the foregoing, it would be desirable to provide a technique for network queue management which overcomes the above-described inadequacies and shortcomings by providing a mechanism which does not react to short-term burst traffic and allows each precedence level to be addressed differently. During long-term congestion the highest priority traffic should receive the lowest discard rate whereas the lowest priority traffic should receive the highest discard rate. 
   SUMMARY OF THE INVENTION 
   An object of the present invention is to provide a mechanism for improved rate-based multi-level active queue management with drop precedence differentiation. 
   According to an aspect of the invention, there is provided a method for controlling a data flow in a data network, starting with setting a stable integral controller gain k i . Next specifying a plurality of precedence grades, each of the precedence grades has an associated priority. Then, for each precedence grad measuring a cumulative data arrival rate R(n) at time n, where R(n) is the sum of the data arrival rates for a particular precedence grade under consideration plus the data arrival rates of all precedence grades with a higher priority than the particular precedence grade under consideration. Next, there is calculated for each precedence grade a normalized error signal e(n), according to the relation e(n)=(T(n)−R(n))/x, where T(n) is a capacity at time n, and x is a nominal packet size. Following this, there is computed for each precedence grade a mark/drop probability p(n) according to the relation
 
 p ( n )=min{max [ p ( n− 1)+ k   i   ·Δt·e ( n ), 0], ρ max }
 
where Δt is the time interval between a (n−1) th  and the n th  computation, and 0&lt;ρ max ≦1; and, subsequently, for each precedence grade executing a packet mark/drop routine based upon the calculated mark/drop probability p(n).
 
   Conveniently, the data arrival rate may be filtered by use of an exponentially weighed moving average scheme according to the relation:
 
 R   c ′( n )=(1−β)· R   c ′( n− 1)+β· R   c ( n )
         where β is a filter gain parameter such that 0&lt;β&lt;1,   R c ′(n−1) is the filtered data arrival rate at time n−1,   R c ′(n) is the desired filtered data arrival rate at time n, and   R c (n) is the cumulative data arrival rate at time n.       

   According to another aspect of the invention, preceding the packet/mark drop routine may be a bypassing routine involving the steps of testing the cumulative data arrival rate R c (n) for each precedence grade against a rate threshold T L  specific to that precedence grade, and if the data arrival rate R(n) is below or equal to the rate threshold T L  then bypassing the step of executing a packet mark/drop routine. 
   Conveniently, the packet mark/drop routine may be realized according to a random number generator mark/drop scheme. 
   The stable integral controller gain may be chosen from a pre-calculated regime of stable gains. A method for pre-calculating the regime may be as follows: starting with (1) obtaining for said network a value for said network a set of parameters k, d 0 , and τ, where k is a steady-state gain of said network, d 0  is a time delay of said network, and τ is a time constant of said network. Next step (2) determining the root z 1  in the interval 
                 (     0   ,     π   2       )     ⁢           ⁢   of   ⁢           ⁢     cot   ⁡     (     z   1     )         =       τ     d   0       ⁢     z   1         ,         
and then computing the range of stable gains for k i  for this particular network as:
 
   
     
       
         
           
             
               - 
               
                 τ 
                 
                   kd 
                   0 
                   2 
                 
               
             
             ⁢ 
             
               z 
               1 
             
             ⁢ 
             
               
                 
                   z 
                   1 
                   2 
                 
                 + 
                 
                   
                     d 
                     0 
                     2 
                   
                   
                     τ 
                     2 
                   
                 
               
             
           
           &lt; 
           
             k 
             i 
           
           &lt; 
           0. 
         
       
     
   
   In accordance with another other aspect of the present invention, there is provided an apparatus for rate-based multi-level active queue management with drop precedence differentiation, the apparatus being configured according to the methods described above. 
   In accordance with another other aspect of the present invention, there is provided an apparatus for controlling a data flow in a data network. The apparatus has an integral controller having an integral controller gain k i  setting for which the said network is stable, and a cumulative data rate calculator for calculating a cumulative data arrival rate R(n) associated with each of said plurality of precedence grades, wherein R(n) is the sum of the data arrival rates for a particular precedence grade under consideration plus the data arrival rates of all precedence grades with a higher priority than said particular precedence grade under consideration. The apparatus further contains an error signal calculator for calculating a normalized error signal e(n) for each of said plurality of precedence grades according to the relation
 
 e ( n )=( T ( n )− R ( n ))/ x, 
 
where T(n) is an assigned precedence grade capacity at time n, and x is a nominal packet size. Further, the apparatus has a mark/drop probability processor for computing a mark/drop probability p(n) for each of said plurality of precedence grades according to the relation
 
 p ( n )=min{max[ p ( n− 1)+ k   i   ·Δt·e ( n ), 0], ρ max }
 
where Δt is the time interval between a (n−1) th  and the n th  computation, and 0&lt;ρ max ≦1; and a packet mark/drop module for executing a packet mark/drop routine based upon the calculated mark/drop probability p(n).
 
   In accordance with another other aspect of the present invention, there is provided an article of manufacture carrying instructions for a method for rate-based multi-level active queue management with drop precedence differentiation in a data network and, further, there is provided a signal embodied in a carrier wave representing instructions for a method for rate-based multi-level active queue management with drop precedence differentiation in a data network according to an integral control scheme. 
   The present invention will now be described in more detail with reference to exemplary embodiments thereof as shown in the appended drawings. While the present invention is described below with reference to the preferred embodiments, it should be understood that the present invention is not limited thereto. Those of ordinary skill in the art having access to the teachings herein will recognize additional implementations, modifications, and embodiments which are within the scope of the present invention as disclosed and claimed herein. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will be further understood from the following detailed description of embodiments of the invention and accompanying drawings in which: 
       FIG. 1  is a diagram of an Active Queue Management controller in an Intermediate Network Element according to an embodiment of the invention. 
       FIG. 2  is a diagram of a closed-loop control system according to an embodiment of the invention. 
       FIG. 3  is a plot of the two terms in Equation (27) for a general system. 
       FIG. 4  is a block diagram of a routine for determining the stable integral gains for a closed-loop TCP/AQM system according to an embodiment of the invention. 
       FIG. 5  is a plot of an example of the real and imaginary parts of F*(jω) according to an example embodiment of the invention. 
       FIG. 6  is a plot of the step response of an example Integral Controller according to  FIG. 2 . 
       FIG. 7  is a block diagram of a mark/drop probability computation routine according to an embodiment of the invention. 
       FIG. 8  is a block diagram of packet drop/mark routine according to an embodiment of the invention. 
       FIG. 9  is a plot of the relative relationship of three rate thresholds according to an embodiment of the invention. 
       FIG. 10  is a plot of the relative relationship of three drop probabilities according to an embodiment of the invention. 
       FIG. 11  is a block diagram of a three threshold mark/drop probability computation according to an embodiment of the invention. 
       FIG. 12  is a block diagram of a multiple precedence grade packet mark/drop routine according to an embodiment of the invention. 
       FIG. 13  is a plot of the relative relationship of three rates relative to a single rate mark/drop threshold according to an embodiment of the invention. 
   

   DETAILED DESCRIPTION 
   The description that follows describes a rate-based AQM scheme which matches the aggregate rate of the active TCP connections to the specified available capacity while maintaining minimal queue size and high-link utilization. Following the description of the basic mechanism, an enhanced version is described which details an embodiment which allows for precedence grade differentiation. 
   A high-level depiction of an implementation of the active queue management integral control scheme according to a possible embodiment is given in  FIG. 1 . 
   Users  100  communicate with End Network Elements  110  which pass packet data either directly or through Intermediate Network Elements  120  to other End Network Elements  110 . End-to-end congestion control mechanisms under normal TCP rely upon Implicit/Explicit Feedback Signals  105 . Examples of Implicit/Explicit Feedback Signals  105  typically include duplicate TCP acknowledgement packets, timeouts, and marked packets. 
   In order to meet the stringent requirements for Quality of Service (QoS) of users and the increases in data volume with the rapid growth of the Internet, it is advantageous to provide congestion control mechanisms at intermediate points to complement the end hosts&#39; congestion control mechanisms. According to one aspect of the invention, Intermediate Network Element  120  has been equipped with such a mechanism for congestion control. 
   Within Intermediate Network Element  120  are a Integral Controller  121 , a queue means  126 , an arrival rate measurement means  122 , a target rate measurement means  124 , a packet mark/drop module  125 , and a mark/drop probability control means  123  by which the Integral Controller  121  influences the packet mark/drop module  125  according to a scheme described hereafter. 
   A control system oriented depiction of the system of  FIG. 1  may be seen in  FIG. 2  where the closed-loop system is represented as having two main elements: TCP/AQM plant  210  and the control-function means  220 . The control system functions by comparing a desired Target Rate “T”  226  with an Actual Rate “R”  222  via a summer  240  which generates a control error “e”  250  by determining the difference between the two rates. This difference is used as an input to the control-function means  220  which generates a mark/drop probability threshold “p”  224 . Changes in the threshold for marking/dropping packets results in an eventual change in the Actual Rate “R”  222  as the effects propagate through the system. As with all closed-loop systems, the control-function means  220  must have a control function response chosen so as to render a stable closed-loop system response. If this condition is not met, the resultant performance will be deleterious to the network operation, possibly to the point of causing performance degradation. 
   In order to be able to determine the stability requirements for the control-function means, the open-loop transfer function for TCP/AQM plant  210  must be established. This may be done as follows. 
   A simplified rate-based fluid-flow model of a TCP source i assessing a single link is described by the following nonlinear differential equation: 
                       r   .     i     ⁡     (   t   )       =       1       d   i   2     ⁡     (   t   )         -     θ   ⁢           ⁢       r   i     ⁡     (   t   )       ⁢       r   i     ⁡     (     t   -       d   i     ⁡     (   t   )         )       ⁢     p   ⁡     (     t   -       d   i     ⁡     (   t   )         )                   (   1   )               
where {dot over (r)} denotes the time derivative of r, r i  is rate of the TCP source (in packets per second), d i  is the round-trip time (RTT) of the TCP source (in seconds), p is the dropping probability of a TCP packet at the link, and θ is a parameter characteristic of the type of TCP source. This simplified model of TCP ignores the slow-start and the timeout behavior of TCP. Note that r i  and p are bounded, respectively, as follows: r i ε[0,C], pε[0,1], where C is the link capacity.
 
   Denoting p 0  as the steady-state (or operating point) of the dropping probability of a TCP source and assuming a constant RTT d 0 , the steady-state throughput r 0  can be obtained as: 
   
     
       
         
           0 
           = 
           
             
               
                 1 
                 
                   d 
                   0 
                   2 
                 
               
               - 
               
                 θ 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   r 
                   0 
                   2 
                 
                 ⁢ 
                 
                   p 
                   0 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 or 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   r 
                   0 
                 
               
             
             = 
             
               
                 1 
                 
                   d 
                   0 
                 
               
               ⁢ 
               
                 
                   
                     1 
                     
                       θ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         p 
                         0 
                       
                     
                   
                 
                 . 
               
             
           
         
       
     
   
   If the parameter θ takes on the value of ⅔, the steady-state throughput of TCP is obtained as: 
   
     
       
         
           
             r 
             0 
           
           = 
           
             
               1 
               
                 d 
                 0 
               
             
             ⁢ 
             
               
                 
                   3 
                   
                     2 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       p 
                       0 
                     
                   
                 
               
               . 
             
           
         
       
     
   
   Making the approximation relating data transmission rate and window size 
                 r   i     ⁡     (   t   )       ≈         W   i     ⁡     (   t   )           d   i     ⁡     (   t   )           ,         
and assuming d i (t)=d i =constant, it obtains that:
 
                   r   .     i     ⁡     (   t   )       ≈       ⅆ     ⅆ   t       ⁢     (         W   i     ⁡     (   t   )           d   i     ⁡     (   t   )         )         =           1     d   i       ⁢       ⅆ       W   i     ⁡     (   t   )           ⅆ   t         -           W   i     ⁡     (   t   )         d   i   2       ⁢       ⅆ     d   i         ⅆ   t           ≈       1     d   i       ⁢         ⅆ       W   i     ⁡     (   t   )           ⅆ   t       .               
With this, it can be seen that making the approximation r i (t)≈W i (t)/d i (t) shows that the rate-based fluid-flow model of a TCP source is essentially equivalent to a window-based, nonlinear, fluid-flow TCP model.
 
   Assuming a constant RTT d 0 , rewrite the initial equation as: 
                   f   ⁡     (       r   i     ,     r     i   ,   d       ,   p     )       =           r   .     i     ⁡     (   t   )       =       1     d   0   2       -     θ   ⁢           ⁢       r   i     ⁡     (   t   )       ⁢       r     i   ,   d       ⁡     (   t   )       ⁢     p   ⁡     (     t   -     d   0       )                     (   2   )               
where
   r   i,d ( t )={dot over (r)} i ( t−d   0 ). 
   Using Taylor series expansion, the small-signal linerization of
 
ƒ( r   i   ,r   i,d   ,p )={dot over (r)} i ( t )
 
about an operating point (r 0 ,p 0 ) is given as
 
                   δ   ⁢           ⁢         r   .     i     ⁡     (   t   )         =         ∂   f       ∂     r   i         ⁢     ❘       r   0     ,     p   0         ⁢         δ   ⁢           ⁢       r   i     ⁡     (   t   )         +       ∂   f       ∂     r     i   ,   d             ⁢     ❘       r   0     ,     p   o         ⁢         δ   ⁢           ⁢       r     i   ,   d       ⁡     (   t   )         +       ∂   f       ∂   p         ⁢     ❘       r   0     ,     p   0         ⁢     δ   ⁢           ⁢     p   ⁡     (     t   -     d   0       )                       (   3   )               
where
 δ r   i ( t )= r   i ( t )− r   0   δ r   i,d ( t )=r i,d ( t ) −r   0   δ p ( t−d   0 )= p ( t−d   0 )− p   0   
and
 
   
     
       
         
           
             
               
                 
                   
                     
                       ∂ 
                       f 
                     
                     
                       ∂ 
                       
                         r 
                         i 
                       
                     
                   
                   ⁢ 
                   
                     ❘ 
                     
                       
                         r 
                         0 
                       
                       , 
                       
                         p 
                         0 
                       
                     
                   
                 
                 = 
                 
                   
                     
                       
                         ∂ 
                         f 
                       
                       
                         ∂ 
                         
                           r 
                           
                             i 
                             , 
                             d 
                           
                         
                       
                     
                     ⁢ 
                     
                       ❘ 
                       
                         
                           r 
                           0 
                         
                         , 
                         
                           p 
                           0 
                         
                       
                     
                   
                   = 
                   
                     
                       - 
                       θ 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       r 
                       0 
                     
                     ⁢ 
                     
                       p 
                       0 
                     
                   
                 
               
             
           
           
             
               
                 
                   
                     
                       ∂ 
                       f 
                     
                     
                       ∂ 
                       p 
                     
                   
                   ⁢ 
                   
                     ❘ 
                     
                       
                         r 
                         0 
                       
                       , 
                       
                         p 
                         0 
                       
                     
                   
                 
                 = 
                 
                   
                     - 
                     θ 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     r 
                     0 
                     2 
                   
                 
               
             
           
         
       
     
   
   The linearized equation (3) then becomes
 
δ{dot over (r)} i ( t )=−θ r   0   p   0 (δ r   i ( t )=δ r   i,d ( t ))−θ r   0   2   δp ( t−d   0 ).  (4)
 
   Making the approximation r i (t)≈r i,d (t) in (4), it follows that
 
δ{dot over (r)} i ( t )=−2 θr   0   p   0   δr   i ( t )−θ r   0   2   δp ( t−d   0 )  (5)
 
   Assume that the link of capacity C is shared by a constant number N or TCP sources. The aggregate rate on the link R(t) is given by 
   
     
       
         
           
             
               
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     N 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       r 
                       i 
                     
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                 
                 = 
                 
                   
                     R 
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                   . 
                 
               
             
             
               
                 ( 
                 6 
                 ) 
               
             
           
         
       
     
   
   From (6), the equilibrium point of the system can be expressed as 
                       ∑     i   =   1     N     ⁢           ⁢     r   0       =       R   0     =     ρ   ⁢           ⁢   C         ,           (   7   )               
or
 
                     r   0     =       ρ   ⁢           ⁢   C     N       ,           (   8   )               
where ρε(0,1] is a target utilization factor. From (1) and (8), the equilibrium point of the marking/dropping probability can be expressed as
 
   
     
       
         
           
             
               
                 
                   p 
                   0 
                 
                 = 
                 
                   
                     1 
                     
                       
                         d 
                         0 
                         2 
                       
                       ⁢ 
                       θ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         r 
                         0 
                         2 
                       
                     
                   
                   = 
                   
                     
                       
                         N 
                         2 
                       
                       
                         
                           θ 
                           ⁡ 
                           
                             ( 
                             
                               
                                 d 
                                 0 
                               
                               ⁢ 
                               ρ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               C 
                             
                             ) 
                           
                         
                         2 
                       
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 9 
                 ) 
               
             
           
         
       
     
   
   Defining δR(t)=R(t)−R 0 , it is known from (6) that 
                   δ   ⁢           ⁢     R   ⁡     (   t   )         =       ∑     i   =   1     N     ⁢           ⁢     δ   ⁢           ⁢       r   i     ⁡     (   t   )                   (   10   )               
and
 
   
     
       
         
           
             
               
                 
                   
                     
                       
                         δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           R 
                           . 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           t 
                           ) 
                         
                       
                       = 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           δ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               
                                 r 
                                 . 
                               
                               i 
                             
                             ⁡ 
                             
                               ( 
                               t 
                               ) 
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         
                           
                             - 
                             2 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             r 
                             0 
                           
                           ⁢ 
                           
                             p 
                             0 
                           
                           ⁢ 
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               N 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               δ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 
                                   r 
                                   i 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   t 
                                   ) 
                                 
                               
                             
                           
                         
                         - 
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             N 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             θ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               r 
                               0 
                               2 
                             
                             ⁢ 
                             δ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               p 
                               ⁡ 
                               
                                 ( 
                                 
                                   t 
                                   - 
                                   
                                     d 
                                     0 
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       = 
                       
                         
                           
                             - 
                             2 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             r 
                             0 
                           
                           ⁢ 
                           
                             p 
                             0 
                           
                           ⁢ 
                           δ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             R 
                             ⁡ 
                             
                               ( 
                               t 
                               ) 
                             
                           
                         
                         - 
                         
                           N 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             r 
                             0 
                             2 
                           
                           ⁢ 
                           δ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             p 
                             ⁡ 
                             
                               ( 
                               
                                 t 
                                 - 
                                 
                                   d 
                                   0 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 11 
                 ) 
               
             
           
         
       
     
   
   Substituting the equilibrium points (r 0 ,p 0 ) in (11), it follows that 
                   δ   ⁢           ⁢       R   .     ⁡     (   t   )         =         -       2   ⁢           ⁢   N         d   0   2     ⁢   ρ   ⁢           ⁢   C         ⁢   δ   ⁢           ⁢     R   ⁡     (   t   )         -         θ   ⁢           ⁢     ρ   2     ⁢     C   2       N     ⁢   δ   ⁢           ⁢     p   ⁡     (     t   -     d   0       )                   (   12   )               
or
 
                           d   0   2     ⁢   ρ   ⁢           ⁢   C       2   ⁢   N       ⁢   δ   ⁢           ⁢       R   .     ⁡     (   t   )         =         -   δ     ⁢           ⁢     R   ⁡     (   t   )         -         θ   ⁢           ⁢     d   0   2     ⁢     ρ   3     ⁢     C   3         2   ⁢           ⁢     N   2         ⁢   δ   ⁢           ⁢     p   ⁡     (     t   -     d   0       )             ⁢     
     ⁢         τ   ⁢           ⁢   δ   ⁢           ⁢       R   .     ⁡     (   t   )         +     δ   ⁢           ⁢     R   ⁡     (   t   )           =       -   k     ⁢           ⁢   δ   ⁢           ⁢     p   ⁡     (     t   -     d   0       )                   (   13   )               
where
 
           τ   =         d   0   2     ⁢   ρ   ⁢           ⁢   C       2   ⁢           ⁢   N             
and
 
   
     
       
         
           k 
           = 
           
             
               
                 θ 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   d 
                   0 
                   2 
                 
                 ⁢ 
                 
                   ρ 
                   3 
                 
                 ⁢ 
                 
                   C 
                   3 
                 
               
               
                 2 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   N 
                   2 
                 
               
             
             . 
           
         
       
     
   
   Taking the Laplace transform of (13) it obtains that
 
 τs             ( s )+         ( s )=− ke   −d     0     s   P ( s ),  (14)
 
where          (s) is the Laplace transform of δR(t) and e −sd     0   P(s) is the Laplace transform of δp(t−d 0 ).

   The open-loop transfer function of the TCP/AQM plant may be obtained from (14) as 
   
     
       
         
           
             
               
                 
                   G 
                   ⁡ 
                   
                     ( 
                     s 
                     ) 
                   
                 
                 = 
                 
                   
                     
                       ⁢ 
                       
                         ( 
                         s 
                         ) 
                       
                     
                     
                       P 
                       ⁡ 
                       
                         ( 
                         s 
                         ) 
                       
                     
                   
                   = 
                   
                     
                       
                         - 
                         
                           ke 
                           
                             
                               - 
                               
                                 d 
                                 0 
                               
                             
                             ⁢ 
                             s 
                           
                         
                       
                       
                         
                           τ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           s 
                         
                         + 
                         1 
                       
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 15 
                 ) 
               
             
           
         
       
     
   
   In (15), −k represents the steady-state (or static) gain of the TCP/AQM plant, d 0  represents the time delay (or dead time), and τ represents the time constant of the plant. 
   Returning to  FIG. 2  and noting again that Target Rate “T”  226  is the control target, Actual Rate “R”  222  is the output of the plant (actual traffic arrival rate), mark/drop probability threshold “p”  224  is the control input, TCP/AQM plant  210  given by (15) as the plant to be controlled, and C(s), the control-function means  220  is to be a integral controller. 
   The Laplace transform expression for the case of a integral controller may be written as: 
                     C   ⁡     (   s   )       =       k   i     s       ,           (   16   )               
where k i  is integral gain of the controller.
 
   The closed-loop transfer function of the TCP/AQM plant is then given as 
   
     
       
         
           
             
               
                 
                   
                     G 
                     AQM 
                   
                   ⁡ 
                   
                     ( 
                     s 
                     ) 
                   
                 
                 = 
                 
                   
                     
                       
                         C 
                         ⁡ 
                         
                           ( 
                           s 
                           ) 
                         
                       
                       ⁢ 
                       
                         G 
                         ⁡ 
                         
                           ( 
                           s 
                           ) 
                         
                       
                     
                     
                       1 
                       + 
                       
                         
                           C 
                           ⁡ 
                           
                             ( 
                             s 
                             ) 
                           
                         
                         ⁢ 
                         
                           G 
                           ⁡ 
                           
                             ( 
                             s 
                             ) 
                           
                         
                       
                     
                   
                   = 
                   
                     
                       
                         
                           - 
                           
                             kk 
                             i 
                           
                         
                         ⁢ 
                         
                           e 
                           
                             
                               - 
                               
                                 d 
                                 0 
                               
                             
                             ⁢ 
                             s 
                           
                         
                         ⁢ 
                       
                       
                         
                           τ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             s 
                             2 
                           
                         
                         + 
                         s 
                         - 
                         
                           
                             kk 
                             i 
                           
                           ⁢ 
                           
                             e 
                             
                               
                                 - 
                                 
                                   d 
                                   0 
                                 
                               
                               ⁢ 
                               s 
                             
                           
                         
                       
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 17 
                 ) 
               
             
           
         
       
     
   
   The objective now is to determine the values of the parameter k i  for which the closed-lop system is stable. 
   Using an extension of the Hermite-Biehler Theorem applicable to quasipolynomials a detailed analytical characterization of the stabilizing feedback gains of the closed-loop TCP/AQM system may be performed as follow. 
   The characteristic equation of a control system with time delay can be expressed in the general form as
 
 F ( s )= d ( s )+ e   −sT     1     n   1 ( s )+ e   −sT     2     n   2 ( s )+ K+e   −sT     m     n   m ( s ),  (18)
 
where d(s), n i (s) for i=1,2,K,m are polynomials with real coefficients.
 
   Characteristic equations of the form (18) are also referred to as quasipolynomials. It can be shown that the Hermite-Biehler Theorem for Hurwitz polynomials does not carry over to arbitrary functions ƒ(s) of the complex variable s. However, a suitable extension of the Hermite-Biehler Theorem can be developed to study the stability of certain classes of quasipolynomials characterized as follows. 
   If the following assumptions are made in (18)
         A1: deg[d(s)]=n and deg[n i (s)]≦n for i=1,2,K,m;   A2: 0&lt;T 1 &lt;T 2 &lt;K&lt;T m ,
 
then instead of (18), one can consider the quasipolynomial
 
 F *( s )= e   sT     m     F ( s )= e   sT     m     d ( s )+ e   s(T     m     −T     1     )   n   1 ( s )+ e   s(T     m     −T     2     )   n   2 ( s )+ K+n   m ( s ).  (19)
       

   Since e sT     m    does not have any finite roots, the roots of F(s) are identical to those of F*(s). The quasipolynomial F*(s), however, has a principal term, i.e., the coefficient of the term containing the highest powers of s and e s  is nonzero. It then follows that this quasipolynomial is either of the delay (i.e., retarded) or of the neutral type. From this, it follows that the stability of the system with characteristic equation (18) is equivalent to the condition that all the roots of F*(s) be in the open left-half plane. Equivalently, it can be stated that F*(s) is Hurwitz or stable. The theorem below gives necessary and sufficient conditions for the stability of F*(s):
         Theorem 1: Let F*(s) be given by (19), and write
 
 F *( jω )= F   r (ω)+ jF   i (ω)
   where F r (ω) and F i (ω) represent the real and imaginary parts of F*(s), respectively. Under assumptions A1 and A2, F*(s) is stable if and only if   1) F r (ω) and F i (ω) have only simple real roots and these interlace   2) İ i (ω 0 )F r (ω 0 )−F i (ω 0 )İ r (ω 0 )&gt;0, for some ω 0  in (−∞,∞);   where İ r (ω) and İ i (ω) denote the first derivative with respect to ω of F r (ω) and F i (ω), respectively.       

   Using this theorem, the set of all integral gains that stabilize the first-order TCP/AQM plant with time delay described by (15) may be characterized. A key step in applying Theorem 1 to check stability is to ensure that F r (ω) and F i (ω) have only real roots. Such a property can be ensured by using the following result:
         Theorem 2: Let M and L denote the highest powers of s and e s , respectively, in F*(s). Let η be an appropriate constant such that the coefficients of the terms of highest degree in F r (ω) and F i (ω) do not vanish at ω=η. Then for the equations F r (ω)=0 or F i (ω)=0 to have only real roots, it is necessary and sufficient that in the intervals
 
−2ιπ+η≦ω≦2ιπ+η, ι=1,2,3 ,K 
   F r (ω) or F i (ω) have exactly 4lL+M real roots starting with a sufficiently large l.       

   It is now possible to determine analytically the region in the k i  parameter space for which the closed-loop TCP/AQM plant is stable. 
   First analyze the system given by (17) without time delay, i.e., d 0 =0. In this case, the closed-loop characteristic equation of the system is given by
 
 F ( s )=τ s   2   +s−kk   i .  (20)
 
   For this second-order polynomial, it can be determined necessary and sufficient conditions that the controller and the plant parameters have to satisfy to guarantee the stability of the delay-free, closed-loop system. Solving the characteristic equation (20) for the roots, it follows that 
   
     
       
         
           
             
               
                 
                   s 
                   
                     1 
                     , 
                     2 
                   
                 
                 = 
                 
                   
                     
                       
                         - 
                         1 
                       
                       ⁢ 
                       
                         + 
                         _ 
                       
                       ⁢ 
                       
                         
                           1 
                           + 
                           
                             4 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             τ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               kk 
                               i 
                             
                           
                         
                       
                     
                     
                       2 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       τ 
                     
                   
                   . 
                 
               
             
             
               
                 ( 
                 21 
                 ) 
               
             
           
         
       
     
   
   Given that r&gt;0 and k&gt; are always true for the TCP/AQM plant, the closed-loop delay-free system is stable for the following condition
 
 k   i &lt;0.  (22)
 
   Next, let us consider the case where the time delay of the plant model is greater than zero, i.e., d 0 &gt;0. The closed-loop characteristic equation of the system is then
 
 F ( s )=− kk   i   e   −d     0     s +(1 +σs ) s.   (23)
 
   It is necessary to determine the set of all stabilizing gains for the system. 
   In order to study the stability of the closed-loop system, it is necessary to determine if all the roots of (23) lie in the open left half plane. The presence of the exponential term e −d     0     s  results in the number of roots of F(s) being infinite and this makes the stability check very difficult. However, Theorem 1 can be invoked to determine the set of all stabilizing gains k i . This procedure is explained as follows. 
   First consider the quasipolynomial F*(s) defined by
 
 F *( s )= e   d     0     s   F ( s )=− kk   i +(1 +σs ) se   d     0     s .  (24)
 
   Substituting s=jω, and using the relationship e d     0     jω =cos(d 0 ω)+j sin(d 0 ω), the following expression results
 
 F *( jω )= F   r (ω)+ jF   i (ω)
 
where
 
 F   r (ω)=− kk   i −ω sin( d   0 ω)−τω 2  cos( d   0 ω)
 
 F   i (ω)=ω[ cos( d   0 ω)−τω sin( d   0 ω)]
 
   For convenience of analysis, make the following change of variables, z=d 0 ω. Thus, it is possible to rewrite the real and imaginary parts of F*(jω) as 
   
     
       
         
           
             
               
                 
                   
                     F 
                     r 
                   
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
                 = 
                 
                   
                     
                       - 
                       
                         kk 
                         i 
                       
                     
                     ⁢ 
                     
                       1 
                       
                         d 
                         0 
                       
                     
                     ⁢ 
                     z 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       sin 
                       ⁡ 
                       
                         ( 
                         z 
                         ) 
                       
                     
                   
                   - 
                   
                     
                       τ 
                       
                         d 
                         0 
                         2 
                       
                     
                     ⁢ 
                     
                       z 
                       2 
                     
                     ⁢ 
                     
                       cos 
                       ⁡ 
                       
                         ( 
                         z 
                         ) 
                       
                     
                   
                 
               
             
             
               
                 ( 
                 25 
                 ) 
               
             
           
           
             
               
                 
                   
                     F 
                     i 
                   
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
                 = 
                 
                   
                     
                       1 
                       
                         d 
                         0 
                       
                     
                     ⁢ 
                     z 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       cos 
                       ⁡ 
                       
                         ( 
                         z 
                         ) 
                       
                     
                   
                   - 
                   
                     
                       τ 
                       
                         d 
                         0 
                         2 
                       
                     
                     ⁢ 
                     
                       z 
                       2 
                     
                     ⁢ 
                     
                       
                         sin 
                         ⁡ 
                         
                           ( 
                           z 
                           ) 
                         
                       
                       . 
                     
                   
                 
               
             
             
               
                 ( 
                 26 
                 ) 
               
             
           
         
       
     
   
   Theorem 1 requires a check of two conditions to ensure the stability of the quasipolynomial F*(s). 
   Check of Condition 2 of Theorem 1: First check if
 
 E (ω 0 )=İ i (ω 0 ) F   r (ω 0 )− F   i (ω 0 )İ r (ω 0 )&gt;0
 
for some ω 0  in (−∞,∞).
 
   Taking ω 0 =z 0 =0, for instance, gives F r (z 0 )=−kk i  and F i (z 0 )=0. Also obtained is
 
İ r ( z   0 )=0
 
and
 
   
     
       
         
           
             
               ( 
               z 
               ) 
             
             = 
             
               
                 
                   ( 
                   
                     
                       
                         d 
                         0 
                       
                       - 
                       
                         τ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           z 
                           2 
                         
                       
                     
                     
                       d 
                       0 
                       2 
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   cos 
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
               
               - 
               
                 
                   ( 
                   
                     
                       
                         2 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         τ 
                       
                       + 
                       
                         d 
                         0 
                       
                     
                     
                       d 
                       0 
                       2 
                     
                   
                   ) 
                 
                 ⁢ 
                 z 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   sin 
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
               
             
           
           , 
           
             
               ⇒ 
               
                 
                   
                     F 
                     . 
                   
                   i 
                 
                 ⁡ 
                 
                   ( 
                   
                     z 
                     0 
                   
                   ) 
                 
               
             
             = 
             
               
                 1 
                 
                   d 
                   0 
                 
               
               . 
             
           
         
       
     
   
   From these it may be seen that 
   
     
       
         
           
             E 
             ⁡ 
             
               ( 
               
                 z 
                 0 
               
               ) 
             
           
           = 
           
             
               ( 
               
                 1 
                 
                   d 
                   0 
                 
               
               ) 
             
             ⁢ 
             
               
                 ( 
                 
                   - 
                   
                     kk 
                     i 
                   
                 
                 ) 
               
               . 
             
           
         
       
     
   
   Given that for the TCP/AQM plant the conditions τ&gt;0 and k&gt;0 hold true, it is required that F r (z 0 )=−kk i &gt;0 (i.e., k i &lt;0) for E(z 0 )&gt;0. This result is consistent with that given in (22). 
   Check of Condition 1 of Theorem 1: Now check the interlacing of the roots of F r (z) and R i (z). The roots of the imaginary part, i.e., F i (z)=0 can be determined from (26). This yields 
   
     
       
         
           
             
               z 
               
                 d 
                 0 
               
             
             ⁡ 
             
               [ 
               
                 
                   cos 
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
                 - 
                 
                   
                     τ 
                     
                       d 
                       0 
                     
                   
                   ⁢ 
                   z 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     sin 
                     ⁡ 
                     
                       ( 
                       z 
                       ) 
                     
                   
                 
               
               ] 
             
           
           = 
           0. 
         
       
     
   
   It may be seen from this equation that z=0 is a root of F i (z), or 
   
     
       
         
           
             
               
                 
                   cot 
                   ⁡ 
                   
                     ( 
                     z 
                     ) 
                   
                 
                 = 
                 
                   
                     τ 
                     
                       d 
                       0 
                     
                   
                   ⁢ 
                   z 
                 
               
             
             
               
                 ( 
                 27 
                 ) 
               
             
           
         
       
     
   
   One root of the imaginary part F i (z) is z 0 =0 but the other roots are difficult to find and require an analytical solution of (27). However, a plot of the two terms in (27), 
           (       i   .   e   .     ,           ⁢       cot   ⁡     (   z   )       ⁢           ⁢   and   ⁢           ⁢     τ     d   0       ⁢   z       )         
can be used to understand the nature of the real solution. It is possible to plot these two terms for arbitrarily selected values of k, τ and d 0 . The general nature of the plots, however, does not change with the use of other values. Arranged in increasing order of magnitude, denote the positive real roots of (27) by z j , j=1,2,3,K. Form  FIG. 3 , it may be clearly seen that the non-negative real roots of the imaginary part F i (z) satisfy
 
   
     
       
         
           
             
               
                 
                   
                     z 
                     1 
                   
                   ∈ 
                   
                     ( 
                     
                       0 
                       , 
                       
                         π 
                         2 
                       
                     
                     ) 
                   
                 
                 , 
                 
                   
                     z 
                     2 
                   
                   ∈ 
                   
                     ( 
                     
                       π 
                       , 
                       
                         
                           3 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           π 
                         
                         2 
                       
                     
                     ) 
                   
                 
                 , 
                 
                   
                     z 
                     3 
                   
                   ∈ 
                   
                     ( 
                     
                       
                         2 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         π 
                       
                       , 
                       
                         
                           5 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           π 
                         
                         2 
                       
                     
                     ) 
                   
                 
                 , 
                 
                   
                     z 
                     4 
                   
                   ∈ 
                   
                     ( 
                     
                       
                         3 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         π 
                       
                       , 
                       
                         
                           7 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           π 
                         
                         2 
                       
                     
                     ) 
                   
                 
                 , 
                 K 
               
             
             
               
                 ( 
                 28 
                 ) 
               
             
           
         
       
     
   
   Theorem 2 may now be applied to check if F i (z) has only real roots. Substitute s 1 =d 0 s in the expression for F*(s) (in (24)). It may now be seen that the new quasipolynomial in s 1  yields M=2 and L=1. Choose 
           η   =     π   4           
to satisfy the requirement that F i (z) does not vanish at ω=η, i.e., sin(η)≠0. From  FIG. 3 , it may be seen that in the interval
 
               [     0   ,       2   ⁢           ⁢   π     -     π   4         ]     =     [     0   ,       7   ⁢           ⁢   π     4       ]       ,         
F i (z)=0 has 3 real roots including a root at the origin z 0 =0. It is further apparent that F i (z) is an odd function. It therefore follows that in the interval
 
             [       -       7   ⁢           ⁢   π     4       ,       7   ⁢           ⁢   π     4       ]     ,         
F i (z) will have 5 real roots. It is also possible to observe that F i (z) has one real root in
 
             (         7   ⁢           ⁢   π     4     ,       9   ⁢           ⁢   π     4       ]     .         
Thus, F i (z) has 4L+M=6 real roots in the interval
 
             [           -   2     ⁢           ⁢   π     +     π   4       ,       2   ⁢   π     +     π   4         ]     .         
Furthermore, F i (z) has 2 real roots in each of the intervals
 
           [         2   ⁢   l   ⁢           ⁢   π     +     π   4       ,       2   ⁢     (     l   +   1     )     ⁢   π     +     π   4         ]         
and
 
           [           -   2     ⁢     (     l   +   1     )     ⁢   π     +     π   4       ,         -   2     ⁢   l   ⁢           ⁢   π     +     π   4         ]         
for ι=1,2,3,K. Hence it follows that F i (z) has exactly 4ιL+M real roots in the interval
 
           [           -   2     ⁢           ⁢   l   ⁢           ⁢   π     +     π   4       ,       2   ⁢           ⁢   l   ⁢           ⁢   π     +     π   4         ]         
for ι=1,2,3,K, which by Theorem 2 implies that F i (z) has only real roots.
 
   F r (z) can now be evaluated at the roots of the imaginary part F i (z). For z 0 =0, it was obtained previously F r (z 0 )=−kk i . Now using (25), the following obtains for z j , j=1,2,3,K, 
   
     
       
         
           
             
               F 
               r 
             
             ⁡ 
             
               ( 
               
                 z 
                 j 
               
               ) 
             
           
           = 
           
             
               - 
               
                 kk 
                 i 
               
             
             - 
             
               
                 1 
                 
                   d 
                   0 
                 
               
               ⁢ 
               
                 z 
                 j 
               
               ⁢ 
               
                 sin 
                 ⁡ 
                 
                   ( 
                   
                     z 
                     j 
                   
                   ) 
                 
               
             
             - 
             
               
                 τ 
                 
                   d 
                   0 
                   2 
                 
               
               ⁢ 
               
                 z 
                 j 
                 2 
               
               ⁢ 
               
                 
                   cos 
                   ⁡ 
                   
                     ( 
                     
                       z 
                       j 
                     
                     ) 
                   
                 
                 . 
               
             
           
         
       
     
   
   Using 
             z     d   0       =       cot   ⁡     (   z   )       τ           
from (27) in the above equation, it obtains that
 
   
     
       
         
           
             
               
                 
                   
                     F 
                     r 
                   
                   ⁡ 
                   
                     ( 
                     
                       z 
                       j 
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       
                         - 
                         
                           kk 
                           i 
                         
                       
                       - 
                       
                         
                           
                             sin 
                             ⁡ 
                             
                               ( 
                               
                                 z 
                                 j 
                               
                               ) 
                             
                           
                           ⁢ 
                           
                             cot 
                             ⁡ 
                             
                               ( 
                               
                                 z 
                                 j 
                               
                               ) 
                             
                           
                         
                         τ 
                       
                       - 
                       
                         
                           τ 
                           
                             d 
                             0 
                             2 
                           
                         
                         ⁢ 
                         
                           z 
                           j 
                           2 
                         
                         ⁢ 
                         
                           cos 
                           ⁡ 
                           
                             ( 
                             
                               z 
                               j 
                             
                             ) 
                           
                         
                       
                     
                     ⇒ 
                     
                       
                         F 
                         r 
                       
                       ⁡ 
                       
                         ( 
                         
                           z 
                           j 
                         
                         ) 
                       
                     
                   
                   = 
                   
                     
                       - 
                       
                         kk 
                         i 
                       
                     
                     - 
                     
                       
                         
                           τ 
                           
                             d 
                             0 
                             2 
                           
                         
                         ⁡ 
                         
                           [ 
                           
                             
                               z 
                               j 
                               2 
                             
                             + 
                             
                               
                                 d 
                                 0 
                                 2 
                               
                               
                                 τ 
                                 2 
                               
                             
                           
                           ] 
                         
                       
                       ⁢ 
                       
                         cos 
                         ⁡ 
                         
                           ( 
                           
                             z 
                             j 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 29 
                 ) 
               
             
           
         
       
     
   
   Therefore
 
 F   r ( z   j )=− k[k   i   +a ( z   j )],  (30)
 
where
 
   
     
       
         
           
             
               
                 
                   a 
                   ⁡ 
                   
                     ( 
                     
                       z 
                       j 
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       τ 
                       
                         kd 
                         0 
                         2 
                       
                     
                     ⁡ 
                     
                       [ 
                       
                         
                           z 
                           j 
                           2 
                         
                         + 
                         
                           
                             d 
                             0 
                             2 
                           
                           
                             τ 
                             2 
                           
                         
                       
                       ] 
                     
                   
                   ⁢ 
                   
                     
                       cos 
                       ⁡ 
                       
                         ( 
                         
                           z 
                           j 
                         
                         ) 
                       
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 31 
                 ) 
               
             
           
         
       
     
   
   From the previous results, F r (z 0 )=−kk i &gt;0 (i.e., k i &lt;0), then interlacing of the roots of F r (z) and F i (z) is equivalent to F r (z 1 )&lt;0, F r (z 2 )&gt;0, F r (z 3 )&lt;0, and so on. Using this fact, the result F r (z 0 )=−kk i &gt;0 and equation (30), it may be seen that
 
 F   r ( z   0 )&gt;0             k   i &lt;0
 
 F   r ( z   1 )&lt;0           k   i   &gt;−a ( z   1 )= a   1 
 
 F   r ( z   2 )&gt;0           k   i   &lt;−a ( z   2 ) =a   2 
 
 F   r ( z   3 )&lt;0           k   i   &gt;−a ( z   3 ) =a   3   (32)

   The following observations can now be made (noting that for the TCP/AQM plant the τ&gt;0, d 0 ≧0 and k&gt;0 hold true):
         Observation 1: From (28), it is sen that z j  for odd values of j (1, 3, 5, . . . ) are in the first quadrant. Thus, for odd values of j, cos(z j )&gt;0 and from (31), it may be concluded that a(z j )&gt;0 for odd values of the parameter j.   Observation 2: Similarly, it is seen from (28) that z j  for even values of j, (2, 4, 6, . . . ) are in the third quadrant. Thus, for even values of j, cos(z j )&lt;0 and from (31), it follows that a(z j )&lt;0 for even values of the parameter j.       

   All the set of inequalities obtained above can now be rewritten as 
   
     
       
         
           
             
               
                 
                   
                     max 
                     
                       
                         j 
                         = 
                         1 
                       
                       , 
                       3 
                       , 
                       5 
                       , 
                       K 
                     
                   
                   ⁢ 
                   
                     { 
                     
                       a 
                       j 
                     
                     } 
                   
                 
                 &lt; 
                 
                   k 
                   i 
                 
                 &lt; 
                 
                   
                     min 
                     
                       
                         j 
                         = 
                         0 
                       
                       , 
                       2 
                       , 
                       4 
                       , 
                       6 
                       , 
                       K 
                     
                   
                   ⁢ 
                   
                     
                       { 
                       
                         a 
                         j 
                       
                       } 
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 33 
                 ) 
               
             
           
         
       
     
   
   From (27) and the relationship 1+tan 2 (z j )=sec 2 (z j ), it follows that 
   
     
       
         
           
             
               
                 
                   cos 
                   ⁡ 
                   
                     ( 
                     
                       z 
                       j 
                     
                     ) 
                   
                 
                 = 
                 
                   
                     
                       + 
                       _ 
                     
                     ⁢ 
                     
                       
                         1 
                         
                           1 
                           + 
                           
                             
                               tan 
                               2 
                             
                             ⁡ 
                             
                               ( 
                               
                                 z 
                                 j 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                   = 
                   
                     
                       + 
                       _ 
                     
                     ⁢ 
                     
                       
                         
                           z 
                           j 
                         
                         
                           
                             
                               z 
                               j 
                               2 
                             
                             + 
                             
                               
                                 d 
                                 0 
                                 2 
                               
                               
                                 τ 
                                 2 
                               
                             
                           
                         
                       
                       . 
                     
                   
                 
               
             
             
               
                 ( 
                 34 
                 ) 
               
             
           
         
       
     
   
   From the foregoing analysis z j , j=1,2,3,K are solutions of (27). Now using the above expression, it is possible to rewrite a(z j ) defined in (31) as 
                   a   ⁡     (     z   j     )       =         +   _     ⁢     τ     kd   0   2         ⁢     z   j     ⁢         z   j   2     +       d   0   2       τ   2                     (   35   )               
where according to Observations 1 and 2 above, the plus sign (+) is used for odd values of j, and the minus sign (−) is used for even values of j.
 
   With (35), it is possible to make the following observation:
         Observation 3: Since z 1 &lt;z 2 &lt;z 3 &lt;z 4 &lt;K, from (35) (and Observations 1 and 2), it is seen that a(z j ) is a monotonically increasing function for odd values of j (1, 3, 5, . . . ), i.e., a(z 1 )&lt;a(z 3 )&lt;a(z 5 )&lt;K, and a(z j ) is a monotonically decreasing function for even value of j (0, 2, 4, 6, . . . ), i.e., a(z 0 )&gt;a(z 2 )&gt;a(z 4 )&gt;a(z 6 )&gt;K.   It is also clear that a(z 0 )=0, z 0 =0.       

   From this observation, the bounds for k i  in (33) can now be expressed as 
   
     
       
         
           
             
               
                 
                   
                     - 
                     
                       a 
                       ⁡ 
                       
                         ( 
                         
                           z 
                           1 
                         
                         ) 
                       
                     
                   
                   &lt; 
                   
                     k 
                     i 
                   
                   &lt; 
                   0 
                 
                 , 
                 
                   
                     z 
                     1 
                   
                   ∈ 
                   
                     
                       ( 
                       
                         0 
                         , 
                         
                           π 
                           2 
                         
                       
                       ) 
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 36 
                 ) 
               
             
           
         
       
     
   
   Therefore, for the interlacing property to hold it must be that 
   
     
       
         
           
             
               
                 
                   
                     
                       - 
                       
                         τ 
                         
                           kd 
                           0 
                           2 
                         
                       
                     
                     ⁢ 
                     
                       z 
                       1 
                     
                     ⁢ 
                     
                       
                         
                           z 
                           1 
                           2 
                         
                         + 
                         
                           
                             d 
                             0 
                             2 
                           
                           
                             τ 
                             2 
                           
                         
                       
                     
                   
                   &lt; 
                   
                     k 
                     i 
                   
                   &lt; 
                   0 
                 
                 , 
                 
                   
                     z 
                     1 
                   
                   ∈ 
                   
                     
                       ( 
                       
                         0 
                         , 
                         
                           π 
                           2 
                         
                       
                       ) 
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 37 
                 ) 
               
             
           
         
       
     
   
   Note that for the values of k i  in this range, the interlacing property and the fact that the root of F i (z) are all real can be used in Theorem 2 to guarantee that F r (z) also has only real roots. At this point, it is seen that all the conditions of Theorem 1 are satisfied. 
   It is possible to summarize the algorithm for determining the integral controller parameters as shown in  FIG. 4 . The process initiates, at step  400 , by obtaining for a network a set of parameters k, d 0 , and τ, where k is a steady-state gain of said network, d 0  is a time delay of said network, and τ is a time constant of said network. Next, at step  410 , determining the root z 1  in the interval 
             z   1     ∈     (     0   ,     π   2       )           
of
 
               cot   ⁡     (   z   )       =       τ     d   0       ⁢   z       ,         
Next at step  420 , computing the range of stable gains for k i  for this particular network as
 
   
     
       
         
           
             
               - 
               
                 τ 
                 
                   kd 
                   0 
                   2 
                 
               
             
             ⁢ 
             
               z 
               1 
             
             ⁢ 
             
               
                 
                   z 
                   1 
                   2 
                 
                 + 
                 
                   
                     d 
                     0 
                     2 
                   
                   
                     τ 
                     2 
                   
                 
               
             
           
           &lt; 
           
             k 
             i 
           
           &lt; 
           0. 
         
       
     
   
   As an example illustrating the use of the algorithm, consider the sample problem of characterizing the stabilizing integral controller gains for a TCP/AQM system with nominal operating parameters of T=ρC=45 Mbps, N=800, and d 0 =55 m sec. We also select a small nominal packet size of 64 bytes which we use only for the computation of the stability region. A smaller packet size is selected for this purpose because of the fluid-flow model used in the TCP/AQM control problem. For this system k=1.0515×10 6  and τ=0.1652. Note that in deriving the control parameters, T is the control target and the TCP parameter θ=⅔. Following the procedure described in  FIG. 4 , computer 
             z   1     ∈     (     0   ,     π   2       )           
satisfying (27) to obtain z 1 =0.54583. From this, it is possible to obtain the range of stable k i  gains as −1.814×10 −5 &lt;k i &lt;0.
 
   As a simple assessment of the region of gains obtained, the interlacing property and the system step response of a gain chosen from within the region may be examined. Set the controller gain k i  (inside the stabilizing range) as −1.5×10 −6 . 
   With this value of k i , the characteristic quasipolynomial of the system is given by
 
 F *( s )=1.5773+(1+0.1652 s ) se   d     0     s .
 
   Substituting s=jω, it follows that
 
 F *( jω )=[1.5773−ω sin( d   0 ω)−0.1652ω 2  cos( d   0 ω)]+ j [ω cos( d   0 ω)−0.1652ω 2  sin( d   0 ω)]
 
     FIG. 5  shows the plot of the real and imaginary parts of F*(jω). It can be observed that the real and imaginary parts interlace. 
   Further, it is possible to plot the resultant step response of the closed-loop TCP/AQM system as shown in  FIG. 6 . It can be seen from this figure that the closed-loop system is stable and the system output R(t) tracks the step input signal T(t). 
   Choosing which gain is most appropriate for a given system is a decision of the system engineer. Having available a range over which all gains are stable provides the advantage to the system engineer of being able to emphasize whichever aspect of controller performance is most desired, while at the same time ensuring that the system performance remains within bounds. 
   Once the stabilizing integral controller gains have been determined (based upon a TCP/AQM model using small nominal packet size, e.g., 64-byte packets), the integral control algorithm can easily be constructed. The integral controller output is given in the s-domain as 
               P   i     ⁡     (   s   )       =           C   i     ⁡     (   s   )       ·     E   ⁡     (   s   )         =         k   I     s     ·       E   ⁡     (   s   )       .               
where E(s) is the Laplace transform of the control error e(t)=T−R(t).
 
   Denoting t m , m=1,2,3,K as the sampling instants (i.e., the times the controller reads the input values), then in the continuous-time domain, the controller output is given as 
   
     
       
         
           
             
               p 
               i 
             
             ⁡ 
             
               ( 
               t 
               ) 
             
           
           = 
           
             
               k 
               i 
             
             ⁢ 
             
               
                 ∫ 
                 0 
                 t 
               
               ⁢ 
               
                 
                   e 
                   ⁡ 
                   
                     ( 
                     h 
                     ) 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ⅆ 
                   h 
                 
               
             
           
         
       
     
   
   It follows that 
   
     
       
         
           
             
               ⅆ 
               
                 
                   p 
                   i 
                 
                 ⁡ 
                 
                   ( 
                   t 
                   ) 
                 
               
             
             
               ⅆ 
               t 
             
           
           = 
           
             
               k 
               i 
             
             ⁢ 
             
               
                 e 
                 ⁡ 
                 
                   ( 
                   t 
                   ) 
                 
               
               . 
             
           
         
       
     
   
   If this derivative is approximated by the backward difference, the following discrete-time approximation may be obtained 
                     p   i     ⁡     (     t   m     )       -       p   i     ⁡     (     t     m   -   1       )           Δ   ⁢           ⁢   t       =       k   i     ⁢     e   ⁡     (     t   m     )           ,         
where Δt=t m −t m−1 , m=1,2,3, K is the sampling interval.
 
   This leads to the following recursive equation for the l-controller
 
 p   i ( t   m )= p   i ( t   m−1 )+ k   i   Δte ( t   m ).
 
   A flow chart for the control algorithm and the packet mark/drop routine are shown in  FIG. 7  and  FIG. 8 . In the figures, the discrete sampling instants are simply represented as n=0Δt,1Δt,2Δt,3Δt,K. Note that no packet marking/dropping takes place when R(t)≦T L  in  FIG. 8 . The parameter T L  rate threshold is simply a threshold lower than or equal to the control target T during which no packets are marked/dropped even though the mark/drop probability p(t) can be grater than zero. This simple mechanism helps to further minimize oscillations in link utilization and keep the utilization around the control target. Given that the models used in the design of the control system are approximations of the real TCP/AQM plant (i.e., neglect TCP slow start, timeouts), additional mechanisms may be useful to enhance the performance. 
   It is also important to note that rate measurements are usually noisy and as a result will require some low-pass filtering. A simple exponentially weighted moving average (EWMA) filter, for example, can be used for this. The EWMA filter can be expressed as
 
 R′ ( t   m )=(1−β) R′ ( t   m−1 )+β R ( t   m ), 0&lt;β&lt;1.
 
   As shown in  FIG. 7  the process initiates, at step  700 , at discrete time n=0, by initializing certain parameters. The timer is set to Δt time units, and mark/drop probability ρ(0), and Rate signal R(0) are set to initial values. The initial mark/drop probability is used in the mark/drop routine until further samples are available. A nominal packet size of x is also chosen at step  700 . At step  710 , the timer is reset to Δt time units to advance to the next discrete time interval. Then at step  720 , the data arrival rate R is measured. 
   At step  730 , there is an optional step of pre-filtering the data arrival rate as described previously. 
   At step  740 , the assigned capacity is determined. Typically, this is a given for a particular network configuration but may vary as circumstances warrant, for example, if the network is modified. 
   At step  750 , an error signal e(n) is calculated as the difference between the assigned capacity and the measured (and possibly filtered) data arrival rate. The error signal is normalized by the nominal packet size x so that the measurements R and T will be consistent with the packet size x used in the computations of the stability gain. 
   At step  760 , a current mark/drop probability p(n) is calculated as per an integral controller using the stable gain k i  established at step  700 . 
   The mark/drop probability calculated at step  760  may be used as the mark/drop probability until the next measurement time as tracked by the timer, at which point a new mark/drop probability will be calculated. In addition, the filtered arrival rate R′(n), if filtering is used, is stored to be used at the next measurement time. 
   The process may then loop back to step  710  upon timer expiration for another iteration of the process. 
     FIG. 8  presents a flowchart of a random number generator mark/drop routine. The decision to accept or mark/drop an incoming packet in the routine is based upon the outcome of a comparison of a randomly generated number p r ε[0,1] and the mark/drop probability p(n). The procedure can be described as follows. 
   Upon a packet arrival at the queue, at step  800 , a determination is made whether the arrival rate is less than or equal to a no-mark/drop rate threshold. If the rate is less than or equal to the rate threshold, then the incoming packet is queued at step  840 . If the rate is not less than or equal the rate threshold, then the routine moves to step  810  where a random number p r ε[0,1] is generated. At step  820 , a determination of whether the random number p r  is less than or equal to the calculated mark/drop probability p(n) is made. 
   If the probability p r  is less than or equal, then the packet is marked/dropped at step  830 . If not, the packet is queued at step  840 . 
   Note that the rate measurements (R(t) and the target rate T) can be done in bytes or bits per second. The error signal, however, has to be normalized by the (small) nominal packet size used in the computing of k i . 
   A network node using the above rate-based AQM mechanism is able to provide high network utilization, absorb transient traffic bursts, while maintaining small queues. Following is a description of an enhanced algorithm which retains all the features of the basic algorithm in addition to the ability to drop low-precedence packets in preference to higher precedence packets. 
   The enhanced algorithm consists of multiple instances of the basic algorithm. Each instance is associated with a precedence grade. A precedence grade is a traffic type having an associated priority. An example precedence grading scheme is that of the green-yellow-red color schema. Each instance (one for each priority or color) will be controlling traffic in a single queue but with the instances having different rate congestion indicators and thresholds. As an example of the enhanced algorithm applied to a case of three precedence grades, the following parameters are defined:
         Three rate measurements (used as congestion indicators), one for each color, cε{g=green, y=yellow, r=red}, with green packets having higher precedence than red or yellow packets, and yellow packets having higher precedence than red packets:
           R g            rate of only green packets to the aggregate queue   R y            rate of both yellow and green packets to the aggregate queue   R r            rate of all packets (of all colors) to the aggregate queue   
           Especially note that the rate for a particular color or precedence grade is not the specific rate of the packets having that color, but for the purposes here is the combined rate of the rate of the packets of that color summed with the rates of the packets of higher precedence grade. Thus, R g  being the rate of the highest precedence grade, is solely the rate of the green packets whereas R y  is the sum of the rates of the yellow packets plus rate of the green packets, the green packets being of higher precedence grade than the yellow. The same relation holds for the case of other than three precedence grades.
           Long-term averages of these rates are maintained as {circumflex over (R)} g , {circumflex over (R)} y , and {circumflex over (R)} r , respectively.   Three rates thresholds capacities, one for each color, T c , cε{g,y,r}, as illustrated in  FIG. 9 .   Three no-drop thresholds, one for each color, T L,c , cε{g,y,r}   Three drop probability computations, one for each color, p i,c , cε{g,y,r}p i,c (n)=p i,c (n−1)+k i Δte c (n), cε{g,y,r}   
               

   The enhanced algorithm operates such that under sustained congestion (where traffic of all color are sent to the queue), the drop probabilities p i,g , p i,y  and p i,r  will increase relative to each other as shown in  FIG. 10 . At any given instant during the congestion, the drop probabilities will generally be p i,g &lt;p i,y &lt;p i,r . 
   The drop probabilities are computed as shown in  FIG. 11 . The process initiates, at step  300 , at discrete time n=0, by initializing certain parameters. The timer is set to Δt time units, and mark/drop probability p(0), and Rate signal R c (0) are set to initial values. Note that there is a Rate signal R c  for each of the colors (precedence grades). An integral controller gain k i  is specified. The initial mark/drop probability is used in the mark/drop routine until further samples are available. A nominal packet size of x is also chosen at step  300 . 
   At step  310 , the timer is reset to Δt time units to advance to the next discrete time interval. Then at step  320 , the data arrival rate R c  is measured appropriate to a particular color. 
   At step  330 , there is an optional step of pre-filtering the data arrival rate as described previously. 
   At step  340 , the assigned capacity for the color under consideration is determined. Typically this is a given for a particular network configuration but may vary as circumstances warrant, for example, if the network is modified. 
   At step  350 , an error signal e c (n) is calculated as the difference between the assigned capacity and the measured (and possibly filtered) data arrival rate for that color. The error signal is normalized by the nominal packet size x so that T c  and the measurement R c  will be consistent with the packet size x used in the computations of the stability gain. 
   At step  360 , a current mark/drop probability p i,c (n) is calculated as per an integral controller using the stable gain k i  established at step  300 . 
   The mark/drop probability calculated at step  360  may be used as the mark/drop probability until the next measurement time as tracked by the timer, at which point a new mark/drop probability will be calculated. If filtering is used, the filtered arrival rate {circumflex over (R)} c (n) is stored to be used at the next measurement time. 
   The process may then loop back to step  310  upon timer expiration for another iteratin of the process. 
     FIG. 12  illustrates the packet drop routine for packets arriving at the queue. Given that under sustained traffic with all colors, it can be seen that R g &lt;R y &lt;R r  and given that T g &gt;T y &gt;T r , generally, red packets are dropped the most and green packets are dropped the least. Green packets are dropped only under severe congestion. The decision to accept or mark/drop an incoming packet in the routine is based upon the outcome of a comparison of a randomly generated number p r ε[0,1] and the mark/drop probability p(n). The procedure can be described as follows. 
   Upon a packet arrival at the queue, at step  500 , a determination is made whether the arrival rate for that color (precedence grade) R c (n) is less than or equal to a corresponding no-mark/drop rate threshold T L,c  for that color. If the rate is less than or equal to the rate threshold, then the incoming packet is queued at step  540 . 
   If the rate is not less than or equal the rate threshold, then the routine moves to step  510  where a random number p r ε[0,1] is generated. 
   At step  520  a determination of whether the random number p r  is less than or equal to the calculated mark/drop probability p i,c (n) is made. 
   If the probability p r  is less than or equal p i,c (n), then the packet is marked/dropped at step  530 . If not, the packet is queued at step  540 . 
   Note that the rate measurements (R c (n) and the target rate T c ) can be done in bytes or bits per second. The error signal, however, has to be normalized by the (small) nominal packet size used in the computing of k i . 
   The example illustrated in  FIGS. 9 to 13  illustrates the case for three precedence grades. An elaboration to a different quantity of grades is contemplated, such as a pair of grades where a simpler differentian of service is desired (e.g., high grade versus low grade) or, alternatively, a quantity higher than three where additional differentiation would provide for finer gradations. 
   In an alternative contemplated embodiment, a simplified set of thresholds is used. Specifically, applied to a case of three precedence grades, the following parameters are defined:
         Three rate measurements (used as congestion indicators), one for each color, cε{g=green, y=yellow, r=red}
           R g            rate of only green packets to the aggregate queue   R y            rate of both yellow and green packets to the aggregate queue   R r            rate of all packets (of all colors) to the aggregate queue   Long-term averages of these queue sizes are maintained as {circumflex over (R)} g , {circumflex over (R)} y , and {circumflex over (R)} r , respectively.   
           One rate threshold capacity  410  for all colors, T=T c , cε{g,y,r}, as illustrated in  FIG. 13     One no-drop threshold for all colors, T L =T L,c , cε{g,y,r}   Three drop probability computations, one for each color, p i,c , cε{g,y,r}p i,c (n)=p i,c (n−1)+k i Δte c (n), cε{g,y,r}       

   As with the previous embodiment, the drop probabilities will increase relative to each other as shown in  FIG. 10 . At any given instant during the congestion, the drop probabilities will be p i,g &lt;p i,y &lt;p i,r . Given that under sustained traffic with all colors, we have R g &lt;R y &lt;R r  and given that T g =T y =T r , generally, red packets are dropped the most and green packets are dropped the least. Green packets are dropped only under severe congestion. The user of a single threshold may serve to simplify the implementation over the multiple threshold variation. 
   While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended to embrace all such alternatives, modifications, and variations as fall within the spirit and broad scope of the appended claims.