1 Active Queue Management for Flow Fairness and Queue Stability Jong-hwan Kim, Hyunsoo Yoon and Ikjun Yeom Abstract Two major goals of queue management are flow fairness and queue stability. However, most prior works dealt with these goals independently. In this paper, we show that both goals can be effectively achieved at the same time. We propose a novel scheme that realizes flow fairness and queue stability. In the proposed scheme, high-bandwidth flows are identified via a multi-level caching technique. Then, we calculate the base drop probability for resolving congestion with a stable queue, and its application to individual flows differs according to their sending rates. Via extensive simulations, we show that the proposed scheme effectively realizes flow fairness between unresponsive and TCP flows, and among heterogeneous TCP flows, while maintaining a stable queue. Index Terms Active queue management, flow fairness, bandwidth sharing, queue stability I. INTRODUCTION Fair bandwidth sharing and queue stabilizing are two major research goals of queue management for the Internet. In the current best-effort service of the Internet, each packet is assumed to have an equal priority, and it is important for competing users to achieve comparable bandwidths. From the viewpoint of Internet service providers, maintaining queue stability is also important for maximizing link utilization with reduced buffer requirements. There are two approaches to fair bandwidth sharing. One is based on packet scheduling. Schemes in this approach realize fair bandwidth sharing by selecting the next appropriate packet from among packets waiting in the queue. They can be implemented either with multiple queues as in Fair Queueing or with a non-fifo (First In First Out) single queue as in Weighted Fair Queueing (WFQ) [27]. It has been shown that the schemes based on packet scheduling can provide nearideal fairness via isolation of flows, but their complexities in terms of computing power and buffer requirements make them unsuitable for the Internet. The other approach is based on packet dropping. Schemes in this approach [22] [2] usually use a single FIFO queue for easy implementation, and they attempt to differentiate the drop rate of flows for fairness according to their sending rates. Since a single queue is shared, fairness is limited in this approach, but the complexities are considerably lower than those of the scheduling based schemes. This work was supported by the IT R&D program of MKEIITA [27-F- 38-2, Fundamental Technologies for the Future Internet]. Jong-hwan Kim is with Network R$D Laboratory, Korea Telecom Co., South Korea (shine114@kt.com). Hyunsoo Yoon is with the Department of Computer Science, Korea Advanced Institute of Science and Technology at Daejeon, South Korea (hyoon@cs.kaist.ac.kr). Ikjun Yeom is with the Department of Computer Engineering, Sungkyunkwan University, Suwon, South Korea (ikjun@skku.edu). Maintaining queue stability at a link is critical for improving service quality as well as increasing utilization. When there is a stable queue, a flow may exhibit a stable delay with a low jitter as well as a stable loss rate. A TCP flow is sensitive to the delay and loss rate, and a stable delay and loss rate lead to stable throughput of a TCP flow. Numerous Active Queue Management (AQM) schemes have been proposed to achieve queue stability in [3] [7], [16]. In [3], for a stable queue, the average queue length is used to determine the drop probability instead of the instantaneous queue length. In [4], the drop probability is calculated based on the queue event (i.e., empty or full) history in order to avoid sensitive responses to minor queue changes. In [] [7], the arrival rate is considered a direct measure of the level of congestion. In our earlier work [16], a prediction based AQM scheme for reducing queue oscillation was proposed. Even though fairness and queue stability are desired characteristics, and both can be realized via AQM, there has been little work on achieving both goals at the same time. Recent schemes in [22], [2] attempted to implement algorithms for fairness on top of underlying AQM schemes such as RED [3] and Blue [4]. However, they usually employ a packet filter for penalizing high bandwidth flows in front of the base queue management module, rather than combining both. In consequence, it is hard to tune their individual performance in order to achieve both fairness and a stable queue at the same time. In this paper, we present a fairness-enforcing AQM scheme that effectively coordinates both fairness and link congestion. It is implemented by embedding a fairness-enforcing algorithm into the AQM scheme presented in our earlier work [16]. The drop probability obtained from the AQM scheme, which concentrates on stabilizing the queue size, is redistributed to high-bandwidth flows with differentiated treatment via the fairness-enforcing algorithm. The scheme provides both near max-min fair bandwidth to heterogeneous flows and, also maintains queue stability. Its realization achieves very low complexity by avoiding redundant states of small flows via a novel high-bandwidth flow identification algorithm. The algorithm detects the suspected high-bandwidth flows via a highbandwidth biased sampling strategy. In order to limit the rate of a high-bandwidth flow, the proposed algorithm estimates a very accurate fair share of bandwidth without counting the number of active flows or a predefined configuration such as the average round-trip time. The evaluation results, based on comparison with other well known schemes, demonstrate the effectiveness of the proposed scheme. The rest of this paper is structured as follows: In Section II,
2 we arrange and summarize the related schemes. In Section III, we suggest a method for detecting high-bandwidth flows and stably dropping responsive packets. The means of combining a fairness-enforcing algorithm with a queue management scheme is also suggested. In Section IV, we present extensive simulations using NS-2 [8] and a comparison with related schemes. The final conclusion of this paper is provided in Section V. II. RELATED WORKS Scheduling and queueing schemes for fairness can be considered from several different architectural viewpoints: (1) Whether they are based on scheduling differentiation or packet drop differentiation; (2) The number of flow states maintained - stateless, partial states, and full states of all active flows; and (3) Whether they need any special help from other network elements. DRR (Deficient Round Robin) [26], FQ (Fair Queueing) [27] and SFQ (Stochastic Fair Queueing) [28] employ scheduling differentiation and provide near complete per-flow treatment. Their per-flow queueing enables perfect isolation from the effects of bad behaviors of rogue sources, but the complexity and scalability problems mean that they are hard to deploy. Per-flow queueing needs buffer partitioning, and this can degrade buffer efficiency. Queue stability is not considered in these schemes. The following related work is based on preferential dropping with a FIFO queue. It is more practical and less expensive to implement at a high speed link. Many of these schemes are based on RED (Random Early Detection) [3] or its variants such as Adaptive RED (ARED) [11]. RED was the first attempt to provide a fair drop probability to individual flows using a random drop function in terms of a smoothed queue length. CSFQ (Core-Stateless Fair Queueing) [29], RIO (RED with In and Out) [3], SRED (Stabilized Random Early Detection) [1] and CHOKe [24] are stateless schemes that employ preferential drop policies. Stateless core links in CSFQ and RIO rely on help from edge nodes. Each edge node maintains a per-flow state, and marks packets with the temporal state. At the network core, the drop probability of each packet is determined by the marked value. The goal of CSFQ is to provide fair bandwidth to each flow, whereas RIO aims to provide service differentiation. SRED relies on a list, viz., zombie list, containing packets that have recently arrived. A new arriving packet is compared with a randomly selected one from the zombie list. If they are from the same flow, the flow count is incremented by one. The drop probability of a packet is determined by the packet s flow count. Consequently, a flow sending more packets exhibits a higher drop rate. CHOKe aims to approximate fairness among flows via a preferential packet drop based on the buffer occupancy. In CHOKe, each arriving packet is compared with a packet randomly selected from the queue. If they are from the same flow, both are discarded in order to penalize the flow. CHOKe is easy to implement, has a small overhead, and is effective when a link is dominated by a small number of flows. However, the performance of CHOKe is limited by the queue size and the number of aggressive flows. A recent measurement study in [37] shows that, in a typical case, a few elephant flows account for 8 9 % of the traffic at a router. Based on this fact, the following several schemes attempt to identify the elephant flows, and after detecting them, there is a certain probability their packets are dropped in order to maintain a fair bandwidth share. In FRED (Fair Random Early Drop) [23], the drop probability of a packet is determined by the buffer occupancy of the packet s flow. Using this scheme it is possible to achieve fair buffer allocation. When the buffer size is not sufficient, however, fair buffer allocation may not result in fair bandwidth allocation. In RED-PD (RED with Penalty Box) [22], a packet drop history at a router is used to detect high-bandwidth flows. In this scheme, the numbers of packets dropped by the RED policy are assumed to reflect the bandwidth distribution. That is, a flow exhibiting more packet losses is likely to send more packets. Packets from the detected high bandwidth flows are filtered out in order to protect other flows. It has been shown that RED-PD is effective for penalizing a small number of high bandwidth flows, but the accuracy is limited by the history length. SFB (Stochastic Fair Blue) [2] detects the unresponsive flows with a combination of the Blue AQM scheme [4] and a Bloom filter. The Bloom filter is constructed with levels of bins (a total of bins) and independent hash functions which are mapped onto one of the bins. SFB is more similar to SFQ [28] except that it uses one FIFO queue. Each bin counts the hash-mapped packet backlogged in the queue and calculates the drop probability by assuming that the bin is a FIFO queue of the primitive Blue. When a high bandwidth unresponsive flow increases the drop probabilities of bins (that it is mapped onto) up to one, the flow is detected as an unresponsive flow, and it is rate-limited to a target bandwidth. AFD (Approximate Fairness through Differential Dropping) [38] uses sampled packet data to estimate the actual bandwidth of each flow. The drop probability is proportional to the bandwidth deviation from the bandwidth fair share. For queue stability control, PI AQM [6] is employed. The stateless schemes such as SRED and CHOKe can not provide better fairness than penalizing an unresponsive flow. The partial state schemes such as RED-PD and SFB provide bandwidth limitations for high-bandwidth flows via a predefined target-rtt and target-bandwidth, respectively. FRED and AFD illustrate the tradeoff between fairness approximation and complexitystate arising from the buffer size for the packet history. The scheme proposed in this paper aims to provide precise max-min bandwidth share with a minimal number of perflow states. Using a novel high-bandwidth flow identification technique, the proposed scheme does not maintain a packet history but rather it counts the arriving packets from each high-bandwidth flow for accurate bandwidth estimation. In the proposed flow identification technique, the probability of misdetection (i.e., detecting a non-high-bandwidth flow) is significantly reduced in order to minimize complexitystates.
3 Unlike RED-PD, the proposed scheme does not decouple the fairness aiming packet drop from the queue management packet drop. The drop probability of a high-bandwidth flow is calculated by considering both the entire traffic congestion level and the amount of excess bandwidth of the flow over the fair share of bandwidth. III. THE PROPOSED SCHEME Our proposed scheme is two-fold. One part involves estimating the rate of high bandwidth flows. The other part involves calculating the drop probability of receiving packets. In this section, we present detail algorithms for these processes, and we also demonstrate their implementation. A. Identification and rate estimation of high bandwidth flows In order to provide accurate fair bandwidth sharing, identification of high bandwidth flows is required. Estimation of their rate is also required in order to eliminate their surplus packets. A simple approach is to count all the arriving packets in order to measure the sending rate, but tracking all the flows has excessive memory and computing power costs, and results in a scalability problem. FRED [23], RED-PD [22], and AFD [38] take this approach with random sampling for reducing the complexities. Rate estimation with random sampling is sufficient to identify high bandwidth flows, since high bandwidth flow identification per se does not require high-precision rate estimation. However, it may not be sufficiently accurate to estimate the rate of specific flows to enforce fair bandwidth, since the sampled date can be easily biased over a short-period of time. In [32], a sample-and-hold strategy was proposed as an alternative to high bandwidth flow identification and rate estimation. This strategy is based on Internet measurement studies in [39], [4]. The flow size (the amount of traffic sent by a flow) distribution in the Internet can be modeled by a Pareto distribution via the notion of self-similarity [39]. This distribution is expressed by the principle of the 8 2 rule, which means that 2% of the population holds 8% of the possessions. In [4], it was noted that the correlation between the flow size and the sending rate is very strong, and a small number of high bandwidth flows (generally 1%) account for a large fraction of the total amount of Internet traffic ( 8%). Based on these facts, it is concluded that we do not need to maintain the states of all flows, and the states of a small number of high bandwidth flows are sufficient to realize fairness. Under the sample-and-hold strategy, each packet is randomly sampled in order to identify a flow. Then, we create a flow packet counter, and this is updated for every subsequent flow packet. Since the sample-and-hold strategy counts all the arriving packets from identified flows, it measures the flow rate accurately, but it has more overhead than rate estimation with random sampling. Since it detects high bandwidth flows probabilistically with random sampling, however, it does not require a per-flow state for each flow, and the overhead for detection is lower than that of rate estimation with random sampling. Consequently, the complexities of the sample-andhold strategy are similar to those of rate estimation with random sampling. Using the basic sample-and-hold strategy in [32], the probability that a flow is identified is linearly proportional to the flow rate. For example, a high-bandwidth flow with the rate of a small flow has the identification probability. To realize fair bandwidth sharing, we do not need to maintain states of small flows, and we can reduce their identification probabilities in order to minimize the overhead. In [33] [3], detection schemes biased toward high bandwidth flows were proposed. They reduce the detection probability of small flows using the match-hit probability with cached packets, which originated from SRED [1] and CHOKe [24]. The match-hit probability means the probability that a new arriving packet and a randomly selected packet from a set of cached packets belong to the same flow. If we can reasonably assume that packets are cached at a rate proportional to the flow sending rate, the match-hit probability is proportional to the square of the flow rate. In this paper, we propose a generalized and enhanced version of this method of biased sampling that enables it to exponentially scale down the identification probability of a small flow. The proposed flow identification scheme maintains a cache consisting of levels of parallel registers containing packets in total. After receiving a new packet, for each level of the cache, the scheme updates a randomly selected register with the new packet, with a certain probability. Consequently, we expect that each level of the cache contains packets the total number of which is proportional to the flow sending rates. That is, if the rate of flow is % that of flow, then the probability that a randomly selected packet among registers at any level is from flow, is % of the probability that is from flow. Using this cache, the proposed scheme identifies a high bandwidth flow as follows: After a packet is received, it is compared with the cache with a given probability, and the flow is identified as a high bandwidth flow when each level of the cache contains at least one packet from it. Once a flow is detected as a high bandwidth flow, we create an entry for the flow in the hash table, and count packets from the flow in order to measure its sending rate. In the following analysis, we show that the proposed scheme effectively reduces the identification probability for small flows. In the proposed scheme, the identification probability of a flow with rate is on the order of, while in the basic sample-and-hold method [32] it is proportional to, and in the CHOKe based biasing methods [33] [3] it is proportional to. Analysis: Assume a flow with an the input traffic rate of, which means that if 1% of the input traffic belongs to levels of the flow, then. The cache consists of registers. Assuming that the cache is properly managed in order to contain a number of packets proportional to the input rate of each flow, the probability that one level of registers in the cache contains at least one packet from the flow with rate is!. Since an entry for a flow is created when each level includes at least one packet from the flow, the probability ($# ) of creating an entry (identification) for a
$ $ 4 4 flow with rate during each comparison is as follows $#! for (1) Let be the probability that an arriving packet will be compared with the cache, and be the link capacity (packetssec). Then, the probability ( ) that an entry for a flow with rate will be created within seconds is # (2) # for # Eq. (1) shows that a larger value increases the identification probability for a flow regardless of its rate, whereas a larger value decreases the identification probability exponentially with dependence of rate. With respect to a fixed cache level, a larger cache (larger value) increases the identification probability, and thus decreases the identification delay. For example, if we reduce by %, the time delay required to identify the same number of high-bandwidth flows.s doubled For the same amount of memory, a larger exponentially increases the identification bias toward highbandwidth flows, and decreases the identification probability of a flow. For example, when the sending rate of a small flow is that of a high-bandwidth flow, the identification probability of the small flow is about that of the high-bandwidth flow. In summary, in order to identify high bandwidth flows quickly with a reduced probability of identifying small flows, values are required. larger and Based on the analysis, we can estimate the identification probability for high-bandwidth flows within a certain response delay. Suppose that there is a 1 Mbps link with 1 highbandwidth flows of rate., and 1 small flows of rate!. The packet size is 1 bytes, and is set to!. When the cache is composed of two levels of 1 registers, the identification probability of high bandwidth flows within a second is.9922, whereas that of small flows is.74. The expected number of flow entries created per second is about 16.62 (99.22 entries for high-bandwidth flows and # redundant entries of small flows). This means that most highbandwidth flows are identified within a second, and there are very few redundant states of small flows. If we reduce the cache so that it is two levels of registers, the delay required to identify the same amount of high-bandwidth flows increases to about two seconds and has the same bias toward high-bandwidth flows. In this paper, we use two levels of 1 registers for evaluating the proposed scheme. Here, we suggest how to control the cache comparing probability and the cache replacement probability with an arriving packet. To control the speed and the accuracy of identifying a high-bandwidth flow, we suggest setting the comparing probability ( ) as follows: for achieving a given identification probability within a given response time can be calculated from (3) as follows %'&(! %'&( %)&*( #! %'&( + + (3) where +,+ -, and,+ is the fair share of bandwidth. The cache refreshment rate can be also controlled as follow: To update elements in the cache within interval., the probability (. ) of cache-replacement when there is a new arriving packet is set as follows. (4). To reduce the overhead of comparing incoming packets with the cache, we can consider employing the parallel or pipelined hardware implementation techniques presented in [32], [3]. Once we have identified high-bandwidth flows, we do not need to compare their packets. Hence, the overhead of comparison can be reduced. If we have detected an # rate of traffic from high-bandwidth flows, then and + in (3) and (4) are actually reduced by # and +1-2 #, respectively. Multiple registers incur additional memory costs, but this is negligible compared to the memory reduction achieved by decreasing the state of small flows. B. Drop policy to enforce fair bandwidth sharing In this section, we discuss how to determine the drop probability to enforce fair bandwidth sharing for the identified high-bandwidth flows. A straightforward and simple method is to discard all the packets exceeding the fair share. This method is employed in RED-PD [22] by filtering out packets with a probability dependent on the excess sending rate of a flow. AFD [38] also takes a similar approach of using the drop probability 3 of a flow as follows 3 + where + 4 is the fair share, and is the average sending rate of the flow.we call this method a sending-rate-based drop, since it calculates the drop probability directly from the sending rate. It has been shown that this approach can effectively contain high bandwidth unresponsive flows. In this paper, we adopt this method for unresponsive flows. For responsive flows, however, it may induce serious fluctuations of the sending rate due to TCP s congestion control. A TCP sender reduces its window by a half upon detecting a packet loss via triple duplicated acknowledgments. Upon detecting the loss by timeout, the window size is reduced to one. Hence, discarding all the surplus packets may be too harsh for responsive flows. Since the sending rate is reduced to a half by a single loss, we can realize a stable bandwidth via precise periodic packet drops. With a given drop rate, the ideal packet drop interval needed to achieve stable bandwidth is 6. Under deterministic packet dropping, the behavior of the window size is modeled as a sawtooth shape oscillating around its average window size 7, with minimum 87 and maximum 98 7 [12]. It also means that even when there is maximal stability, the sending rate of a TCP flow may oscillate with deviations of up to 8 of the average bandwidth. Therefore, if we apply the sending-rate-based drop to a TCP flow, the average bandwidth of the flow is less than the fair share. Even though we accept 8 more bandwidth to maintain the average bandwidth for the fair share, burst packet losses are ()
Fig. 1. BW (packetsec) 3 2 1 sending rate based drop loss rate based drop target rate 2 4 6 8 Bandwidth stability with various drop policies inevitable at the peak rate, and the flow suffers from timeouts and bandwidth fluctuations. The average window size 7 of a TCP flow is roughly 8 modeled as 6 where is the packet loss rate, and the achieved bandwidth is modeled as 7 TCP bandwidth! (6) where is the RTT of the flow. 1 This model means that the achieved throughput of a TCP flow is inversely proportional to the square root of the loss rate. From this model, we suggest controlling the drop probability of a responsive flow based on its average loss rate rather than its sending rate. We call this method a loss-rate-based drop. Our basic principle equation to calculate the drop probability 3 of a responsive flow is as follows 3 4 $ 4 (7) + 4 where 4 and are the average loss rate and the average sending rate of the flow. Fig. 1 compares the two drop methods. The figure shows the achieved throughput of a TCP Reno flow in ns-2 [8] simulation. In the simulation, the target throughput of the flow is set to 12 packetssecond. The sending-rate-based drop policy is that all the packets exceeding the target rate are discarded, as in (). The loss-rate-based drop policy utilizes (7) to calculate the drop probability. It is clearly shown that the proposed policy realizes a highly stable bandwidth around the target compared to the sending-rate-based drop policy. C. Drop policy for both flow fairness and queue stability So far, we have discussed how to identify high bandwidth flows and how to calculate the drop probability for flow fairness. In this section, we address the challenge of combining the drop policy for flow fairness with an AQM for queue stability. An AQM scheme calculates the drop probability for resolving current congestion and maintaining a stable queue. The resulting drop probability is usually applied to all flows without differentiation. In consequence, each flow exhibits a similar drop rate irrespective of its sending rate. We may call this fairness in drop rate. However, the fairness in drop rate may cause serious unfairness in terms of the achieved bandwidth. Since unresponsive flows do not respond to packet losses, a random dropping policy of an AQM scheme makes responsive flows reduce their sending rate in order to resolve 1 For a more detailed derivation of the TCP throughput, refer to [12]. the congestion. The unfairness may exist between responsive flows also, due to different RTTs, since the recovery time for a packet loss is dependent on the RTT. The motivation for removing unfairness while maintaining queue stability is that when an AQM scheme decides to discard packets in order to decrease the input traffic after congestion, we must select packets from high bandwidth flows, since they are responsible for the congestion. The problem of calculating the drop probability for both queue stability and bandwidth fairness can be divided into two independent problems, calculating the drop rate for queue stability, and allocating the drop rate to individual flows for bandwidth fairness. One important requirement is that drop rate allocation for fairness should not interfere with queue stability. In this paper, we employ an AQM scheme, viz., E-AQM, for calculating the drop rate, which was proposed in our earlier work for queue stability in [16]. In E-AQM, the drop probability is determined by estimated traffic characteristics such as the RTT and traffic variation responding to a packet loss. The response delay for a packet loss is regarded as the effective average RTT of the input traffic since it takes approximately one RTT for a link to exhibit the impact of congestion signals (packet losses) due to a TCP flow. The amount of traffic variation due to a packet loss is used to estimate the linear coefficient based on the analysis that the variation of received traffic rate 2 ( ) is linearly proportional to the variation of the drop rate ( ) and the variation of RTT ( ) [16]. This linear respondency is a base assumption of E-AQM, and thus, should be held even after allocation of the drop rate for fairness as follows where and received traffic with and are the expected variations of the, respectively. Before discussing how to allocate the drop rate to individual flows, we first consider the impact of high bandwidth unresponsive flows. Most AQM schemes control the drop rate in order to realize high utilization with low delay, and this is based on the assumption that the input traffic is dominated by responsive flows. The drop rate is then usually maintained very low since even a single packet loss reduces the sending rate of a TCP flow by a half. If the input traffic of a link is dominated by high bandwidth unresponsive flows, the drop rate becomes very high, and most AQM schemes including E-AQM suffer poor performance. In the proposed scheme, hence, most of the unresponsive traffic is removed by a pre-filter before arriving at the queue in order to enable E-AQM to work properly. RED-PD in [22] also takes a similar approach. Now, we derive the drop probability of packets passed to the pre-filter in order to provide fair bandwidth sharing. Assume that there is a link with high-bandwidth responsive flows, high-bandwidth unresponsive flows, and small flows with a sending rate less than the fair share. Let, and be the packet arriving rate of responsive flow ( ), unresponsive flow ( ) and small flow ( 2 denotes the perturbation from its equilibrium value, i.e.,. (8)
-. - 6 ), respectively. As we stated above, the unresponsive flow is pre-filtered with probability. Let be the packet arriving rate of flow after filtering. Then,!. Let, and be the drop probabilities of responsive flow, filtered unresponsive flow and small flow in the queue, respectively. Let be a row vector with elements, i.e., $ $ $. Similarly, let and be row vectors with elements and, respectively, and let, and be column vectors with elements, and, respectively. Let be the input rate which is the sum of the arriving packet rates of all flows in the queue given by the following where is a column vector where elements are one. Let be the drop probability of. Then, the drop rate of the entire traffic is the sum of the packet drop rates of all the flows in the queue which is expressed by $ $ $ (9) $ (1) Here note that is the same as the drop probability calculated by E-AQM to stabilize the queue. Also note that packets belonging to small flows should be protected to realize maxmin fairness. So, it follows that We can simply set (11) as follows (12) since the unresponsive flows have already been pre-filtered to satisfy the fairness. Consider an equilibrium state of the queue and traffic such that all the variables in (1) are at their own equilibrium points. 3 Since the average drop probability exhibited by unresponsive flows in the queue is about the equilibrium value of, the following equation should be satisfied for fair bandwidth sharing. $ + (13) where + is the fair share of the bandwidth, and the uppercase denotes the transpose of a vector (from a column vector to a row vector or vice versa). Eq. (13) means that, in the equilibrium state, the achieved bandwidth of unresponsive flows should be the fair share of the bandwidth. Since, it follows that the filtering probability of unresponsive flow from (13) is,+! (14) In the equilibrium state, all the high-bandwidth responsive flows claim no more than the fair amount, +, with their own equilibrium drop probabilities. Since the achieved bandwidth of a responsive flow is inversely proportional to the square root of its drop rate, in order to maintain fairness, the 3 and denotes the equilibrium values of and, respectively. following equation should be satisfied for any instance drop probabilities, and, of any responsive flow and. (1) Eq. (1) is applied when E-AQM increases or decreases entire traffic by adjusting. At the same time, (8) should also be held to maintain queue stability. From (8) and (9), it follows that (16) where and are the drop probabilities calculated by E- AQM, and are the corresponding traffic variation of and, and and are the corresponding variation vectors of and in responsive flows. At the equilibrium point, it follows that!#%$ & in [16], and the linear coefficient between and is the same value for each responsive flow since!#$ & ) ' *( from (6). Therefore, from (16) we get (17) where and are the corresponding vectors of and that are applied to each of the responsive flows for fairness. From (1), (11), (12), (1) and (17) it follows that $ (18) $ D. Estimating and optimizing variables The equilibrium value of any variable can be estimated by determining a the sufficiently long term average of the variable in the stable state. In the proposed scheme, we basically approximate the equilibrium value of each variable by its average value. Unlike other variables, however, we have to be careful to estimate the equilibrium drop rate for a responsive flow,, directly by a long term average value since (a) A very long term average is needed to obtain a stable value since one cycle of window oscillation of a TCP (responsive) flow takes on the order of tens of RTTs depending on its window size (about,+ 8 RTT, where 7 is the average window size, in the equilibrium state [12]); and (b) a small loss rate of a responsive flow takes a long time to form a sufficient statistic. To estimate recent more accurately, we apply (7) to supplement the long-term average of as follows,+ $ + $ 4 4 (19) where is the long term average of. In (19), )!# * is used to solve (a) such that can reflect more recent changes, and )!#$ * & is used to mitigate the inaccuracies due to (b) by using the equilibrium sending rate, which is more stable than the drop rate. Using (19), (18) can be revised as follows $ (2),+ $ + $ 4
..!.. 6 + 8 9 7 is $. Here note that where. drop rate per se, and we can measure. $ means the directly in the queue. In (2), all the variables can be measured directly from the queue except for the fair share of bandwidth ( + ). We may approximate,+ simply by determining the value of 2 $ - where is the link capacity. It means that the fair share can be defined as the remaining link capacity (after excluding the bandwidth for small flows) divided by the number of other flows. This approximation is fine when the flow count is accurate. Under severe congestion, however, TCP flows may exhibit frequent timeouts, and the number of flows is likely to be under-estimated. Then, the value of + is over-estimated. Here, we suggest a different scalable method to estimate the fair share of bandwidth ( + ). From (1), (11), (12) and (2), we can derive the drop rate dynamics equation for an equilibrium state. $ $ $ (21) 9 where and are the column vectors with elements and - $ $ $, respectively. Based on $ ). Since we can directly measure and. in the queue, + can be estimated from (21) as the above equation, let. be the drop rate of non-filtered flows (( $ follows +! $ + $ (22) Note that (22) is based on the fact that the discrepancy between and. is inversely proportional to + 9 from (21). Here, we optimize the drop interval for a more stable sending rate of responsive flows. If we drop packets with a probability, the drop intervals (the number of packets between two consecutive drops) follow a geometric distribution with probability. It is well-known that a geometric distribution in a drop interval is harmful for responsive flows since it may result in drop intervals that are too shortlong. In RED [3], it was suggested that the drop interval should form a uniform distribution. Here, we slightly modify the uniform random drop of RED for more regular drop intervals. Let be the drop interval. We manipulate the drop interval such that 6 the probability of is 6 8 when 6 6, and otherwise. The final drop probability is given by 6 (23) 6 Note that the average drop interval of (23) remains 6, and it does not change the original average drop probability. Counting drop intervals does not require additional overhead since packet counting for high bandwidth flows has already been performed in order to estimate their rates. 6 6 E. Implementing the proposed scheme In this section, we describe how to implement the proposed scheme. Fig. 2 enumerates the variables used for implementing the proposed scheme. To measure the values of the variables, we use the method of moving average over multiple time Measured variables for receiving rate: : receiving rate of E-AQM : filtered input rate of unresponsive flows : receiving rate of a flow : received packet count after last drop for flow Measured variables for drop rate: : drop rate of responsive flows : drop rate of flow Averaged variables: % : average receiving rate of flow : average drop rate of flow : requested drop rate of non-filtered flows by E-AQM : fair share of bandwidth Configured! variables : : detecting prob. of large flow within $# $# : detecting delay &% : refresh interval of cache &' : time-out interval )( for deleting entry in Hash table : threshold drop rate for filtering *,+!-. : parameter for EWMA-based averaging, : time history size of 21, 3 : cache size, levels of 3 registers Hash table : saves the references of monitored flows Fig. 2. Saved variables Upon each packet arrival: 1 update receiving counting variables 2 IF packet is not from high-bandwidth flow 3 compare the packet to cache with prob.!4 4 IF match-hit at every level of cache create the entry in the hash table 6 update the cache with prob. % 7 IF packet is from unresponsive-flow 8 pre-filter packet with prob. 9 update drop counting variables 1IF packet has passed the pre-filtering 11 update receiving counting variables 12 calculate drop prob. * with E-AQM 13 update 14 recalculate drop prob. * for fairness 1 with prob. * : 16 drop the arriving packet 17 update drop counting variables 18 If packet is from monitored flow 19 26 7 Fig. 3. Queue management algorithm slots of recent history. The time history is composed of consecutive time intervals, and each interval length is. To obtain the equilibrium values ( and ) which need a longer average time than the history size, we use the exponential weighted moving average (EWMA) method with parameter. Most of the variables in Fig. 2 were +;:=< introduced in the previous section.?> is newly defined here to delete outdated flow states in the hash table, and will be described later in this section. Fig. 3 shows our main algorithm for queue management. For each packet arrival, we update the variables for the receiving rate in Fig. 2. Then, we probabilistically compare the packet with the cache to create an entry of the flow in the hash table. Subsequently, the cache is also updated probabilistically as described in Section III-A. Then, we apply the pre-filter for
> > 8 packet input Fig. 4. cache comparing & update pre-filtering unresponsive flow monitored flow etnries in Hash table E-AQM drop prob. calculation Packet flow in the proposed scheme For each periodic interval : fair drop prob. allocation large flow queue 1! 2 #%!&'! 3 calculate ( ) 4 calculate * and,+ for each monitored flow - 6 IF.( ) 7 1&2!3,4 current time 8 IF - is small-flow 9 set - responsive-flow 1 IF 1 2!3!,64 get old beyond 17 11 IF - is not small-flow 12 set - small-flow 13 1 2!3,4 current time 14 ELSE 1 delete entry of - in Hash table 16 IF 98:<; 17 set - unresponsive-flow 18 IF 9= ; 19 set - responsive-flow Fig.. A periodic routine to update variables and flow states filtering out packets from high bandwidth unresponsive flows. Finally, with E-AQM and the fairness enforcing algorithm, the packet is probabilistically enqueued. The dropped packets are counted to update the variables for the drop rate. In Fig. 4, we summarize the packet flow in the proposed scheme. Fig. shows the operations performed for each time interval. In Line 1? 2, we update the equilibrium values for @BAC D and E AC D. In Line 3? 4, we also re-calculate FBG<HIE J and ELK. In Line? 19, we renew the flow states in the hash table. We maintain a time-out interval M N for each flow in the hash table, and, after it has expired, the flow state is down-graded, and it is treated as a small flow if it was previously considered a high bandwidth flow. If it was a small flow, its state is deleted. If the sending rate of a flow is higher than the fair share, its timer is reset. If the flow was a small flow, its state is upgraded to a high-bandwidth flow. At the end of the routine, we classify responsive and unresponsive flows based on their drop rate. Here note that responsive flows with very short RTTs may observe a higher drop rate than EPO, and be classified as unresponsive flows. However, it may not be a problem since they behave similarly to unresponsive flows, that is, they quickly recover from packet losses due to short RTTs, and maintain their high sending rate. IV. PERFORMANCE EVALUATIONS In this section, we evaluate the proposed scheme via ns-2 [8] simulation, and compare it with RED-PD [22] and SFB [2], which are well-known proposals that have the same purpose. In the simulation, we use TCP Reno to generate responsive traffic, and the CBR (Constant Bit Rate) traffic model for unresponsive traffic. The packet size is set to 1 KB. The Proposed RED-PD SFB TABLE I PARAMETER SETTINGS OF EACH SCHEME QSRUTVXWZY[R]\^ \`_&Wa!%Rcb d WfePR]\^ g#ggwih 2 RjQ'Y h<+kr l ) W!h 7 RmTnQ'YWfe ; R]\^ TWfopRUTWfqBRsr6\\ tuhph * 2wv * R]\^ \yxxwfz{xz`a&!}~ Rj #,XW!Qƒz & R]\^ r Qƒ}o * ; Rsr6\\WfQ[z * ; R]ˆ\\ Š~` Œ 3BRUTWfo<,Q[ 6 n 3ŽR V`\Wa, Z # B!}Qƒ R]\^ \V }o<! #~Xz RsrnV#\Wf}o Z Qƒno R]\^ \#\yvxw6 6! Z} RUYz& Š n {n Z Qƒno RU\^ \\r#w Œ{!}Qp R]\^ r bottleneck link capacity is 1 Mbps, and the queue can contain a maximum of 4 packets. Parameter settings for each scheme are summarized in TABLE I. In the proposed scheme, the length of the time history is set to one second ). The EWMA averaging interval used to obtain ( š œ the equilibrium value is set to 3 times of time history, i.e., 9žfŸ. The cache consists of two levels of # & registers. The detecting probability of large flows (E ž ) is set to &< % within one second (the length of the time history). The reasonable refreshing interval of the cache will be larger than the average RTT of the traffic, and we set it to % of the interval of the time history. The time-out interval is set to twice the length of the time history. The threshold drop rate identifying an unresponsive flow is set to. For RED-PD, the average RTT is set to < which is the actual average RTT in this evaluation scenario, and adaptive RED is set. For SFB, two levels of ª bins are used for the bloom-filer, which was found to be one of the best tuning in the evaluation scenario. All the other parameters, including those omitted in TABLE I, are set to the default recommended values given in their associated literatures. A. Preliminary evaluation In the first set of simulation, we evaluate the proposed scheme for mixed traffic of TCP flows and high bandwidth unresponsive flows. The offered traffic is composed of 2 TCP flows and five CBR flows. The round-trip propagation delay of TCP flows is set to 7 msec., and the sending rate of each CBR flow is Mbps. In Fig. 6, we present the queue length with respect to time. It is clearly shown that the proposed scheme effectively maintains queue stability around the target queue length (2 packets) whereas the queue length in RED-PD oscillates periodically. Using SFB, the queue length is too low, and it is easy for it to be empty, which causes under-utilization. We also present link statistics to show more detail performance in TABLE II. It is clear that the proposed scheme realizes queue stability and full utilization compared to RED- PD. Even though SFB maintains a low queueing delay with low jitter, utilization is also low compared to the other two schemes. Regarding fairness, the proposed scheme effectively contains CBR flows, and consequently, the throughput of the CBR flows is almost the same as the throughput of the TCP flows. We also note that the the fairness among CBRTCP flows is also protected compared to RED-PD and SFB. To
# 9 TABLE II LINK STATISTICS FOR THE SCENARIO OF MIXED TRAFFIC WITH TCP AND CBR Queue Avg. STD of Utili- Avg. CBR STD. of CBR Avg. TCP STD. of TCP Jain s fairness Mana- que. que. zation Throughput Throughput Throughput Throughput index among gement delay(ms) delay(ms) (Kbps) (Kbps) (Kbps) (Kbps) TCP flows Proposed 1.1 2.4 1. 487 4.6 476 3.71.9999 RED-PD 1.8. 1. 746 3 463 34.8.9944 SFB 1. 1..9646 83 26 441 18.868 Que. Length (kbyte) Que. Length (kbyte) Que. Length (kbyte) 4 2 1 1 4 2 (a) The proposed scheme 1 1 4 2 (b) RED-PD 1 1 other schemes. B. Responsive flows with various RTTs To investigate the fairness among TCP flows with various RTTs, we differentiate the RTT for each TCP flow in the previous simulation scenario, # 8 (2) where is the flow ID(1 2). Then, RTTs are distributed in the range of 4 24 msec. In TABLE III, we present the results. The queue length results are omitted due to space limitations, but it is clearly shown that the proposed scheme manages queue stability via the average and standard deviation of the queueing delay. It is also shown that the proposed scheme effectively handles high-bandwidth unresponsive flows even in the presence of heterogeneous TCP flows whereas the other schemes accept more traffic from unresponsive flows. Fairness among TCP flows is slightly worse than in the previous scenario with constant RTTs, but, compared to the other schemes, it still realizes a high degree of fairness. In Fig. 7, we present the loss rate and throughput of individual TCP flows. In Fig. 7(a), it is observed that the proposed scheme nicely differentiates the loss rate of TCP flows according to their sending rate, and, as a consequence, it is confirmed that fairness among TCP flows with various RTTs is realized in Fig. 7(b). In RED-PD, each flow exhibits a similar loss rate regardless of their sending rates, and it is shown that each flow achieves a throughput that is inversely proportional to its RTT. In SFB, the loss rate is very unstable, and it is higher than that of RED-PD; the achieved throughput is also unstable, and it is less than that of RED-PD. - (c) SFB Fig. 6. Instantaneous queue length with mixed traffic of unresponsive flows and responsive flows quantify the fairness of each scheme, we also present Jain s fairness index [43]. Jain s fairness index *! (24) where is the achieved bandwidth of the # flow among flows and + is the fair bandwidth. It is noted that the proposed scheme achieves a high degree of fairness compared to the C. Dealing with short-lived flows In this section, we evaluate the scheme with more realistic traffic. As reported in many measurement studies, a large amount of the Internet traffic is web traffic. Compared to other types of traffic, web traffic is usually very short, and requires a prompt response. In our proposed scheme, short web connections are likely to be protected since they do not send enough packets to be identified as a high-bandwidth flow. To observe how the proposed scheme deals with short-lived flows, we add them in the previous simulation scenario. To generate web traffic, we use a Pareto distribution of flow sizes with a mean of 1 packets and a shape parameter of 1.. We include 2 new short-lived flows for each second of simulation. As a
1 TABLE III LINK STATISTICS FOR THE SCENARIO OF MIXED TRAFFIC WITH TCP (WITH VARIOUS RTTS) AND CBR Queue Avg. STD of Utili- Avg. CBR STD. of CBR Avg. TCP STD. of TCP Jain s fairness Mana- que. que. zation Throughput Throughput Throughput Throughput index among gement delay(ms) delay(ms) (Kbps) (Kbps) (Kbps) (Kbps) TCP flows Proposed 1.8 2. 1. 478.6 476 1.1.9996 RED-PD 1.8 6.8.9992 899 37 44 199.839 SFB 2.2 1.47.97 34 113 313 19.7937 TABLE IV LINK STATISTICS FOR THE SCENARIO WITH WEB TRAFFIC Queue Utili- Avg. drop Avg. drop Avg. drop Avg. FCT Mana- zation rate of rate of rate of of small gement CBR flows TCP flows small flows flows(s) Proposed 1..9192.244.374 RED-PD.9971.834.227.21.636 SFB.971.824.384.6 1.77 result, it is observed that 1% of the link capacity is occupied by the short-lived flows. In TABLE IV, we summarize the results. Here note that we omit some results repeated in the previous simulation. It is shown that short-lived flows in the proposed scheme do not observe any packet loss, and their Flow Completion Time (FCT) is very short. In RED-PD and SFB, short-lived flows observe similar or higher drop rates than long-lived TCP flows, and the FCT is much longer than that of the proposed scheme. D. Scalability Finally, we evaluate the scalability of the proposed scheme. To observe how the proposed scheme deals with severe congestion, we increase the number of flows from 2 to 9 as follows: 2 flows from to 1 second, 4 flows from 1 to 3 second, 6 flows from 3 to 4, and 9 flows from 4 to 6 second. In Fig. 8, we can confirm that the proposed scheme constantly maintains queue length stability. In the last period of the simulation, the loss rate approaches 1% as shown in Fig. 9(a), and queue oscillation of the proposed scheme is significantly less than that of RED-PD. Even though SFB maintains queue low and stable, it is noted that only 93% of the link capacity is utilized, which is considerably lower than in the other schemes. In Fig. 9, we present the drop rate and fairness in the achieved bandwidth of the individual flows. As the number of flows increases, the drop rate also increases to 1%. However, the proposed scheme still provides bandwidth fairness to individual flows as shown in the figure. V. CONCLUSIONS In this paper, we have proposed a new queue management scheme to realize both flow fairness and queue stability. The proposed scheme consists of (a) a multi-level caching technique to detect high-bandwidth flows accurately with minimal overhead; and (b) a drop policy for achieving both flow fairness and queue stability at the same time. Via extensive simulations, we have evaluated the proposed scheme. Fairness-wise, it has been shown that (a) highbandwidth unresponsive flows can be effectively controlled with the proposed scheme; (b) fairness among heterogeneous TCP flows can be significantly improved; (c) the proposed scheme can effectively deal with short-lived flows; and (d) fairness is protected even at a highly congested link. Based on the evaluations, it has been also observed that the proposed scheme can maintain queue stability. REFERENCES [1] V. Jacobson and M. Karels, Congestion Avoidance and Control, Proc. of ACM SIGCOMM, pp. 314-329, Aug. 1988. [2] B. Braden et al., Recommendations on Queue Management and Congestion Avoidance in the Internet, RFC 239, Apr. 1998. [3] S. Floyd and V. Jacobson, Random Early Detection Gateways for Congestion Avoidance, IEEEACM Trans. on Networking, vol. 1, no. 4 pp. 397-413, Aug. 1993. [4] W. Feng et al., The BLUE active queue management algorithms, IEEEACM Trans. on Networking, vol. 1, no. 4, pp. 13-28, Aug. 22. [] S. Athuraliya et al., REM: Active Queue Management, IEEE Network, vol. 1, no. 3, pp. 48-3, MayJun. 21. [6] C. Hollot et al., On Designing Improved Controllers for AQM Routers Supporting TCP Flows, Proc. of INFOCOM, pp. 1726-1734, Apr. 21. [7] Srisankar S. Kunniyur, R. Srikant, An adaptive virtual queue (AVQ) algorithm for active queue management, IEEEACM Transactions on Networking (TON), vol. 12, no. 2, Apr. 24. [8] L. Breslau et al., Advances in Network Simulation, IEEE Computer, vol. 33, no. pp. 9-67, May. 2. [9] D. Lin and R. Morris, Dynamics of random early detection, Proceedings of ACM SIGCOMM, pp. 127-137, Oct. 1997. [1] T. J. Ott, T. V. Lakshman, and L. Wong, SRED: Stabilized RED, Proc. of IEEE INFOCOM, pp. 1346-13, Mar. 1999. [11] S. Floyd, R. Gummadi, and S. Shenker, Adaptive RED: an algorithm for increasing the robustness of RED, available at http:www.icir.orgfloydpapersadaptivered.pdf, Aug. 21. [12] J. Padhye et al., Modeling TCP Throughput: A Simple Model and Its Empricial Validation, Proc. of ACM SIGCOMM, Aug. 1998. [13] K.C. Claffy. Measuring the Internet. http:www.caida.org, 2. [14] http:www.eng.wiscnet.netstats [1] J. Zhang, et al., Traffic Measurement and Analysis of TUNET, Proceedings of the 2 International Conference on Cyberworlds, pp.33-334, Nov 23-3. 2 [16] Jong-hwan Kim and Ikjun Yeom, Reducing Queue Oscillation at a Congested Link, IEEE Trans. on Parallel and Distributed Systems, vol.19, no.3, Mar. 28.
11 loss rate.1. Proposed RED PD SFB 1 1 2 flow number Que. Length (kbyte) 4 2 1 2 3 4 6 (a) Loss rate (a) The proposed scheme BW (packetsec) 1 1 flow bandwidth fair bandwidth 1 1 2 flow number (b) Throughput in the proposed scheme Que. Length (kbyte) 4 2 1 2 3 4 6 (b) RED-PD BW (packetsec) 1 1 flow bandwidth fair bandwidth 1 1 2 flow number (c) Throughput in RED-PD Que. Length (kbyte) 4 2 1 2 3 4 6 (c) SFB BW (packetsec) Fig. 7. 1 1 flow bandwidth fair bandwidth 1 1 2 flow number (d) Throughput in SFB Individual loss rate and throughput for TCP flows with various RTTs [17] R. Stanojevic, R. Shorten, Drop counters are enough, Proc. of IEEE IWQoS, pp. 117-12, Jun. 27. [18] L. Kleinrock, Queueing systems, vol. I, John Wiley-sons, 197 [19] http:isi.edunsnamns [2] I.A. Rai, etc, Size-based scheduling to improve the performance of short TCP flows, IEEE Network, 2 [21] N. Dukkipati, etc Processor Sharing Flows in the Internet, Proc. of IWQoS, Passau, 2. [22] R. Mahajan, S. Floyd, D. Wetherall, Controlling High-Bandwidth Flows at the Congested Router, Ninth International Conference on Network Protocols (ICNP 1), pp. 192, Nov. 21. Fig. 8. Instantaneous queue length at a highly congested link [23] D. Lin and R. Morris, Dynamics of Random Early Detection, Proc. of ACM SIGCOMM, Sep. 1997. [24] R. Pan, B. Prabhakar and K. Psounis, CHOKe, A statless active queue management scheme for approximating fair bandwidth allocation, Proc. of IEEE INFOCOM, pp. 942-91, Mar. 2. [2] W. Feng, D. D. Kandlur, D. Saha, and K. G. Shin, Stochastic Fair Blue: A Queue Management Algorithm for Enforcing Fairness, Proc., IEEE INFOCOM 21, April 21, pp. 12-129. [26] M. Shreedhar, G. Varghese. Efficient fair queueing using deficit roundrobin, IEEEACM Transactions on Networking, vol. 4, no. 3, Jun. 1996 [27] A. Demers, S. Keshav, S. Shenker. Analysis and simulation of a fair queueing algorithm, Proc. of ACM SIGCOMM, Austic, TX, 1989. [28] P. McKenney. Stochastic fairness queueing, In Internetworking: Research and Experience, Vol.2, Jan. 1991. [29] I. Stoics, S. Shenker, and H. Zhang. Core-Stateless Fair Queueing: A Scntable Archhecture to Approximate Fair Bandwidth Allocations in Htgh Speed Networks, In Proceedings of ACM SIGCOMM, Sep. 1998. [3] L. Guo and I. Matta, The War between Mice and Elephants, Proc. ICNP, 21. [31] A. Tang, J. Wang, and S. H. Low, Understanding CHOKe, in Proc. IEEE INFOCOM, Apr. 23 [32] Estan, C., and Varghese, G., New Directions in Traffic Measurement and Accounting, Proceedings of ACM SIGCOMM 22. [33] Kodialam, M., Lakshman, T. V., and Mohanty, S., Runs based Trafficc
12 Drop rate.3.2.1 Proposed RED PD SFB 2 4 6 8 Number of TCP flows [43] R.Jain, etc, Throughput Fairness Index:An Explanation, ATM Forum99-4, Feb. 1999. (a) Packet drop rate STD. of BW (Kbps) 2 1 2 4 6 8 Number of TCP flows Proposed RED PD SFB (b) Standard deviation of bandwidth Fairness index 1.8.6.4 2 4 6 8 Number of TCP flows Proposed RED PD SFB (c) Jain s fairness index Fig. 9. Link statistics at a highly congested link Estimator (RATE): A simple, Memory Efficient Scheme for Per-Flow Rate Estimation, Proceedings of INFOCOM, 24. [34] Hao, F., Kodialam, M., and Lakshman, T. V., ACCEL-RATE: a faster mechanism for memory efficient per-flow trafficc estimation, Proceedings of ACM SIGMETRICS, 24. [3] Hao, F., Kodialam, M., Lakshman, T. V., and Zhang, H., Fast, Memory- Efficient Traffic Estimation by Coincidence Counting, Proceedings of INFOCOM, 2. [36] Van Jacobson, End-to-end Research meeting, Jun. 2. [37] Fang, W, and Peterson, L. Inter-as Traffic Patterns and their Implications, Proceedings of IEEE GLOBECOMM 22. [38] R. Pan, L. Breslau, B. Prabhakar, and S. Shenker, Approximate Fairness through Differential Dropping, ACM CCR, Apr. 23, pp. 23-39. [39] Paul Barford, Mark Crovella, Generating representative web workloads for network and server performance evaluation, Proc. of ACM SIGMET- RICS, Jun. 1998. [4] Y. Zhang, L. Breslau, V. Paxson, and S. Shenker, On the Characteristics and Origins of Internet Flow Rates, Proc. ACM SIGCOMM, Aug. 22, pp. 161-174. [41] Z. Zhao, S. Darbha, A. Reddy, A Method for estimating the proportion of non-responsive traffic at a router, IEEE Trans. on Networking, vol.12, no.4, 24. [42] C. Diot, G. Iannaccone, and M. May, Aggregate Traffic Performance With Active Queue Management and Drop From Tail, Sprint ATL, Tech. Rep. TR1-ATL-12 1, 21.