Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

938 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO.

5, MAY 2011

TERSE: A Unified End-to-End Traffic Control


Mechanism to Enable Elastic, Delay Adaptive, and
Rate Adaptive Services
Lei Ye, Zhijun Wang, Hao Che, and Constantino M. Lagoa

Abstract—This paper puts forward an end-to-end traffic con- However, as the Internet has evolved into a global com-
trol solution, which we refer to as TCP-Elastic Real-time SErvice mercial infrastructure, there has been a growing demand for
(TERSE). TERSE provides a unified end-to-end traffic control the Internet to support various real-time applications, such
protocol that enables Non-Real-time Elastic (NRE) service (i.e.,
the same as the one under the TCP control), Real-time Delay as voice over IP, IPTV (e.g., BBC iPlayer [20]) and mul-
Adaptive (RDA) service, and Real-time Rate Adaptive (RRA) timedia streaming. These applications call for various real-
service. A specific service is enabled by properly setting a time services, such as Hard Real-time (HRT), Real-time Delay
single parameter in the protocol. TERSE is underpinned by a Adaptive (RDA) and Real-time Rate Adaptive (RRA) services
sound design methodology. While having its roots in a well- which require soft minimum-rate guarantees,see [34]. Existing
known utility-based optimization approach, this methodology
successfully addresses its limitations. It leads to a unified traffic transport layer protocols, such as TCP and User Datagram
control protocol, which has several provable properties, including Protocol (UDP), cannot provide such services. While it is
fairness, convergence, and stability. The protocol is implemented difficult to enable HRT services solely based on an end-to-
in LINUX-based systems. The cross-pacific testing of this protocol end control mechanism, in this paper, we demonstrate that a
shows that it can achieve more than 1.2Mbps throughput unified end-to-end protocol can be developed to support RDA
performance, 150% higher than TCP-reno and 50% higher than
TCP cubic. Both analytical and simulation studies also show that and RRA, as well as a Non-Real-time Elastic (NRE) service
it can provide soft minimum-rate guarantees for both RRA and [34]. In particular, the protocol degenerates to TCP in the case
RDA traffic flows. Moreover, simulation also demonstrates that it of the NRE service.
is resilient to network resource shortage. As part of the protocol
design, an effective utility function of TCP and the corresponding A key challenge in designing end-to-end, traffic control
control law are derived, which captures TCP behavior not only protocols, in addition to TCP, is how to achieve the desired
in a qualitative but also in a quantitative manner. performance defined in terms of user satisfaction. Moreover,
Index Terms—traffic control, utility function, quality of service, the new protocols should have minimal impact on existing
TCP TCP flows, and globally stable control, in the face of a highly
interactive, end-to-end controlled mixture of traffic flows.
Existing end-to-end transport layer traffic control mechanisms,
I. I NTRODUCTION
such as TCP, variations of TCP, and TCP-friendly protocols,

T HE CONGESTION control mechanism used in the


Transmission Control Protocol (TCP) at the transport
layer is a fully distributed, end-to-end traffic control mecha-
were largely designed empirically. A consequence of such an
approach to protocol design is that it is not possible to prove
that the network will converge to a stable state. It is also not
nism. It relies solely on single-bit binary information feedback possible to determine what kind of fairness/friendliness do
as input for the control, i.e., whether the forwarding path is these protocols have both with respect to themselves as well
congested or not. This binary information is acquired on the as with respect to TCP. Although the Internet has so far been
basis of source inferable information only, such as repetitive more or less stable with the majority of applications running
ACKnowledgements (ACKs) of the same segment, and/or over TCP, network behavior could easily get out of control if
ACK timeout, without the assistance of the network nodes. more and more empirically designed, end-to-end protocols are
This has made the proliferation of the Internet applications introduced.
at global scale possible. An excellent example is the swift,
ubiquitous adoption of World Wide Web due to its use of A promising approach to address the problem above, which
TCP as its underlying transport. we refer to as utility-based optimization approach in this paper,
is to formulate the problem to be solved as a distributed
Manuscript received 30 June 2010; revised 8 December 2010. optimization problem. The aim is to achieve a given utility-
L. Ye and Z. Wang are with the Department of Computing, The related design objective, such as the maximization of the sum
Hong Kong Polytechnic University, Hong Kong (e-mails: {csyelei,
cszjwang}@comp.polyu.edu.hk). of individual user utilities (utility-maximization for short, e.g.,
H. Che is with the Department of Computer Science and Engineering, see [34]) or user utility max-min, e.g., see [5]. The targeted
University of Texas at Arlington, TX, USA (e-mail: hehce@cse.uta.edu). solution is a set of control laws governing the behaviors of
C. M. Lagoa is with the Department of Electrical Engineering, The
Pennsylvania State University, PA, USA (e-mail: lagoa@engr.psu.edu). individual user flows that drive the network to an operational
Digital Object Identifier 10.1109/JSAC.2011.110504. state where the design objective is achieved.
0733-8716/11/$25.00 
c 2011 IEEE
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 939

The existing optimal algorithms based on utility maximiza- including fairness, stability, and optimality. The design of the
tion have some fundamental problems concerning the design proposed protocol also entails the development of a utility
of utility functions. These problems make it difficult to apply function directly related to the end-to-end TCP congestion
existing results to the design of end-to-end protocols to support control mechanism, which quantitatively captures major TCP
real-time applications. First, the utility-based optimization behaviors.
approach attempts to encode all the desired effects, such as The rest of the paper is organized as follows: Section II
QoS features and fairness, implicitly in the utility function. reviews related work. Section III introduces the utility-based
This makes the design of utility functions a difficult task. design methodology. Section IV derives and verifies the utility
Second, attempting to achieve a global design objective means function of TCP. Section V develops a unified, end-to-end
that the achievable user utility is, in general, a complex transport layer protocol based on the results in the previous
function of the traffic load and pattern. Hence, when using two sections. Section VI provides the performance evaluation
this approach, it is difficult to quantify the QoS features of a of the unified transport control protocol. Finally, Section VII
given service, especially a real-time one. Third, as a transport concludes the paper.
layer protocol providing the NRE service, TCP has played a
dominant role in supporting major application layer protocols, II. R ELATED W ORK
such as HTTP, FTP, and TELNET. As a result, to be practically This section is not intended to provide an exhaustive
useful, an utility based protocol must demonstrate convergence survey of the literature on transport layer protocol design
and optimality in the presence of TCP controlled flows. and research. Instead, it focuses on reviewing literature per-
As shown in this paper, the effective utility function of taining to the development of optimization-based approaches
TCP is time-varying, i.e., it is a function of the current traffic for distributed traffic control. We first review the literature
load and pattern. This implies that, in general, the utility on TCP related approaches and then cover the literature on
function corresponding to other services must also be time- optimization-based, QoS-aware, distributed protocol design.
varying to be TCP aware/friendly. This requirement, however, The end-to-end TCP congestion control mechanism was
is in conflict with the traditional definition of utility function developed empirically. There were quite a few existing math-
that characterizes user satisfaction and, therefore, should not ematical techniques that can faithfully model TCP behaviors,
change over time. Finally, since the actual price charged to notably, the models given in [27] [33]. However, these tech-
the user for using a given service will have an impact on niques are descriptive by design, meaning that while being
user satisfaction, design utility functions based on a pricing able to faithfully mimic the TCP behaviors, they do not
structure is still an open issue. All these issues have made the provide information on the underlying design objective of
practical application of an utility-based approach difficult. TCP and its convergence and stability properties. Researchers
In this paper, we put forward a new design methodology to have also made significant efforts to develop variations of
tackle the problems described above. Although the proposed TCP congestion control mechanisms (e.g., TCP Vegas [3])
approach also involves utility optimization, the methodology and TCP-friendly protocols (e.g., TFRC [19] as in DCCP
gives entirely different meaning to the utility function. More [24], and also see [22] and the references therein). However,
specifically, in this methodology, the utility function only similar to the congestion control mechanism of TCP, the
captures the elastic part of the user utility. To be fair to TCP congestion control mechanisms provided by these protocols
and other services, the utility functions for all the services are were designed empirically without provable properties. Signif-
defined to be equal to the TCP utility. Other QoS features are icant research efforts [1,5-17,23,24-29,30,33] have been made
not encoded in the utility function but are expressed explicitly on the development of optimization-based, distributed traffic
as constraints in the utility optimization problem. This method- control laws that achieve certain global design objectives (e.g.,
ology sets the foundation for the proposed TCP-Elastic Real- the utility-based approach, including utility-maximization, i.e.,
time SErvice (TERSE). TERSE enables NRE, RDA, and RRA maximization of the sum of individual user utilities [34], and
services under a unified end-to-end control protocol. Different utility max-min [5]). Some work focuses on the understanding
services are turned on by properly setting a single parameter TCP behavior from an utility-maximization point of view
in the protocol. This protocol is a generalization of the end- [13][14][29][37]. In their seminal work, Kelly et al. [13]
to-end TCP congestion control mechanism and degenerates to demonstrated that a utility function of log(x) form (x is a
TCP when applied to NRE flows. flow data rate) leads to the so called proportional fairness,
The three services enabled by this protocol are “friendly” or proportional-fair allocation of the network resources, and a
to one another in the sense that they compete for network control law that exhibits Additive-Increase-and-Multiplicative-
resources fairly, provided that the minimum guaranteed rates Decrease (AIMD) behavior, resembling TCP behavior. How-
for RDA and RRA services are achieved. Moreover, the ever, as pointed out in [13], proportional-fair allocation may
protocol is also resilient to resource shortages. In other words, not always favor flows with small Round-Trip Times (RTTs)
it has the ability to reduce its flow rate to a level that is in terms of rate allocation, a typical characteristic of TCP
lower than its soft minimum guaranteed rate, ensuring that behavior. Nevertheless, the work in [13] has inspired a signif-
the Internet will not experience partial (such as starving TCP icant research effort in an attempt to further understand the
flows) or complete shutdown in the presence of resource TCP behavior from an optimization point of view. In [37],
shortages. by constructing a utility function inversely proportional to
Since TERSE is based on an optimization-based design RTT, Vojnovic, et. al. were able to show that the control law
methodology, it enjoys some desirable and provable properties, for utility-maximization not only exhibits AIMD behavior but
940 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

also is in favor of flows with smaller RTT values. In [14], 1


Kunniyur, et al. showed that the TCP behavior without the
slow start phase can be modeled using a framework based on NRE
a variation of the utility-maximization approach. By taking 0.8 HRT
RDA
into account the randomness of packet loss, their model leads

Normalized utility
RRA
to a TCP utility function of the form −1/x as x becomes 0.6
large, similar to the one used in [37]. Low [29] studied various
variations of TCP using a primal-dual nonlinear programming
technique that solves a utility-maximization problem. While 0.4
Transition point
the primal algorithms (i.e., control laws) capture the TCP
window control behavior (without the slow start phase) at the 0.2
TCP source node, the dual algorithms translate into Active Cut−off rate

Queue Management (AQM) algorithms running at the network Transition point

nodes. 0
0 0.2 0.4 0.6 0.8 1
Fundamental design issues regarding the development of Normalized bandwidth
QoS services over the Internet was studied by Shenker [34],
Fig. 1. Four types of utility functions
from a utility-based perspective. This utility-based approach
associates each application-based flow with a user utility
function u(x), measuring the degree of satisfaction the user the sum of any concave user utility functions (i.e., a utility-
perceives at the allocated flow rate x. The design objective is maximization approach). Unlike the traditional utility-based
to maximize the sum of individual user utilities, i.e., utility- approach attempting to encode all the QoS features implicitly
maximization. The rationale behind this approach is the fact into the utility functions, the solution in [32] allows some
that the user satisfaction should be the ultimate performance key QoS features to be expressed explicitly as flow-level
measure of QoS, rather than network centric performance constraints, in addition to the network resource constraints,
metrics, such as delay and packet loss rate. In [34], Shenker in the utility-maximization problem. This solution provides
identified four service classes or user utilities to meet various TERSE with the much needed mathematical foundation in
application needs, i.e., NRE, HRT, RDA, and RRA, as shown protocol development.
in Fig. 1. These utility functions reflect to what degree a user
is satisfied with the service at a given allocated rate. A few III. TERSE D ESIGN M ETHODOLOGY
results are available on the design of utility-based QoS-aware
congestion control protocols [4] [5] [17] [36]. In [17], Harks, In this section, we first elaborate on the aforementioned
et al. proposed a utility function construction method and fundamental issues concerning the traditional utility-based
used the second order utility optimization to do congestion approach. Then we propose our TERSE design methodology
control, which ensures that the real-time and best effort flows aiming at overcoming those issues, which leads to the design
approach the utility proportional fairness. This framework, of the proposed protocol.
however, is tied to the AQM mechanism used in the routers
and hence is not an end-to-end solution. In [36], Wang, et A. Issues Concerning Traditional Utility-Based Approach
al. designed a distributed flow control algorithm to drive the As mentioned in Section 1, there are four fundamental
network into the proportional (or max-min) fair state. This issues concerning the utility-based approach, including (a)
distributed flow control algorithm requires the feedback of how to design utility functions to enable desired service
the link price from the network nodes in the forwarding path. features; (b) how to quantify QoS features; (c) how the utility-
Hence again, it is not an end-to-end protocol. In [5], Cao, based approach and the pricing structure are related; and (d)
et al. found distributed control laws that achieve the utility how to deal with the time-varying TCP utility function. In
max-min design objective. Again, the solution requires explicit what follows, we elaborate more on these issues.
information feedbacks from the network nodes and hence, is Utility Function Design and Quantification of QoS Features:
not an end-to-end solution. Traditionally, a user utility function measures to what degree
In [4], Chiang, et. al. showed that under certain link a user is satisfied with a service provided to him/her. It does
capacity conditions, optimal control laws for the nonconcave not provide any information about the relative degrees of
utility functions as shown in Fig. 1 exist, suggesting that user satisfaction across different service classes. This is not
the utility-based approach can be directly used to support an issue when network resources are not shared by flows
HRT, RDA, and RRA service classes. Again, this approach from different service classes. However, it becomes one when
is not an end-to-end solution and cannot be applied to the flows from different service classes have to compete for the
public Internet where the link capacity cannot be provisioned network resources. In such a case, the relative value ranges
to meet the conditions required by the approach. Moreover, and shapes of utility functions for different service classes
most of the existing solutions require significant involvement will have a strong effect on the final rate allocation, making it
of network nodes for the control and hence are not end-to-end difficult to design utility functions for different service classes.
solutions. Recently, based on the Sliding Mode technique in Moreover, for the traditional utility-based approach, the final
control theory, Movsichoff, et al, [32] found a large family rate allocated to a flow, whether it is non-real-time or real-
of optimal, end-to-end, distributed control laws that maximize time, is dependent on the overall traffic load and pattern. This
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 941

makes it difficult to quantify the QoS features for real-time 2


service classes. Unfortunately, to the best of our knowledge,
these issues have not been addressed in the literature. NRE
RRA
To understand the above issues better, let us take a look at
1.5
the traditional NRT, RDA, RRA, and HRT utility functions
and assume that they are all normalized, as depicted in Fig.
1, i.e., for all services the degree of user satisfaction reaches

Utility
1
one when the received rate goes to infinity and zero when
the received rate is zero. We argue that the utility-based
approach using such utility functions may lead to undesirable
0.5
resource allocations. For example, in the case of the utility-
maximization, with the utility functions in Fig. 1, an HRT
flow may not be allocated any link bandwidth, if it attempts
to share the bandwidth of a link with a large number of NRE 0
0 0.2 0.4 0.6 0.8 1
flows. This is simply because an NRE flow can achieve a Normalized bandwidth
rather high utility value at a rate much lower than the cut-off
Fig. 2. Two types of utility functions with different scales
rate for an HRT flow and hence, the sum of the user utilities
is maximized when the link bandwidth is allocated to NRE
flows only. For the similar reason, both RDA and RRA flows
may also perform poorly in the presence of a large number of e.g., two times as given in Fig. 2, the rate allocation will now
NRE flows. be much more in favor of the RRA flows than the case with
normalized utilities. Obviously, the need to incorporate the
The situation can be even worse when the utility max-min
design objective, which attempts to equalize the utility values pricing effect in the utility function further complicates the
design of utility functions.
for all the flows, is used. With an HRT flow attempting to
share a link bandwidth with a large number of NRE flows, a Interacting with TCP: Since TCP is a dominant transport
feasible solution may not even exist. On one hand, we note layer protocol, the utility-based approach must take its impact
that an HRT flow receives either zero utility or full utility (i.e., on TCP performance into account, i.e., the rate allocation
value 1) depending on whether the allocated bandwidth is less needs to be TCP friendly. An interesting observation made
or no less than its cut-off rate. As a result, either all the flows in this paper is that the effective TCP utility function is
receive utility value 1, which is obviously impossible (note time-varying, i.e., it changes as traffic load fluctuates1 (see
that a NRE flow achieves utility value 1 at the expense of next section for details). This observation suggests that to be
an extremely high bandwidth allocation as evidenced in Fig. TCP friendly, the time-varying components might need to be
1), or all the flows receive zero bandwidth. Similar problem incorporated in the utility functions for new service classes
occurs when a RDA or RRA flow coexists with a large number as well. This however, makes it even harder to develop new
of NRE flows. In this case, the former is likely to experience service classes using the utility-based approach.
poor performance (i.e., low utility) while consuming a sizable In summary, we conclude that for the utility-based approach
amount of link bandwidth, causing poor performance for NRE to be practically useful for the design of new end-to-end
flows as well. transport layer protocols, the traditional utility function defi-
Relation to Pricing Structure: The above examples suggest nition must be modified in some way to overcome the above
that the traditional utility functions must, somehow, be re- difficulties. In the following subsection, we propose a new
designed to reflect the relative importance of different service methodology rooted in the utility-based approach, aiming at
classes, which has a lot to do with the pricing structure in use. overcoming these difficulties.
This makes sense from a user’s perspective because a user
generally will set his/her expectation of the service quality in B. TERSE Methodology
proportion to the price he/she actually pays for the service. In
The root cause of the aforementioned difficulties can be
other words, the user utility must be, to some extend, reflect
mainly attributed to the idea of encoding all the desired service
the price the user pays for the service. This also makes sense
from the perspective of an Internet Service Provider (ISP) in features into the utility functions, while attempting to achieve
a global design objective involving all the user utilities. On one
the sense that the ISP would be willing to give better, higher
hand, achieving such a global design objective, whether it is
priority service to users who pay more for the service. As a
result, a utility-based solution should somehow account for utility-maximization or utility max-min, is desirable because
it enables well-defined fair sharing of the network resources
such price-induced effects.
among all flows. On the other hand, it means that the actual
Based on the above understanding, a simple fix to the
resources allocated to flows of different service classes are a
problem is to slightly modify the utility functions in Fig. 1
by allowing the value ranges of the utility functions to be 1 This may sound a bit odd since a utility function is meant to serve as
proportional to the price paid by the user for the use of one a measure of the degree of user satisfaction and hence, it should not be
unit of network resources (the exact functional relationship dependent on the traffic load in the network. The reason for this being true
is that the TCP congestion control mechanism was not designed with a user
is not important for the current discussion). For example, if utility function in mind. As a result, it unintentionally leads to an effective
we magnify the value range of the RRA utility in Fig. 1 by, TCP utility function whose value range and shape change from time to time.
942 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

function of the overall traffic load and mixture. As a result, Finally, as a byproduct of extracting the inelastic features
the desired service features of individual flows, including HRT from the utility functions, the flow rate corresponding to the
features, may have to be compromised for the sake of fairness convex part of the traditional utility functions in Fig. 1 is now
among all the flows, which is undesirable. outside the problem space. In other words, in the problem
Basic Idea: A key idea in our methodology is to redefine space constrained by the network resource and flow-level
the utility function so that it accounts for only the elastic constraints, the utility functions are concave, freeing us from
part of user utility and letting the inelastic part be explicitly having to deal with a difficult non-convex optimization prob-
expressed as flow-level constraints (or constraints in the utility- lem, which generally does not have globally optimal solutions,
based optimization problem). For example, the traditional unless some additional conditions are met, for example [4].
HRT utility function in Fig. 1 encodes a pure inelastic user In summary, the proposed methodology overcomes the diffi-
utility, i.e., totally satisfied or totally unsatisfied depending on culties that plague the traditional utility-based approaches and
whether the cut-off rate is achieved or not. In our approach, sets foundation for TERSE. By redefining the utility function
this inelastic feature can be explicitly expressed as a flow- as the effective TCP utility function characterizing only the
level constraint: x ≥ cut-off rate. As another example, for elastic part of the user utility, the proposed methodology
the service class corresponding to either RRA or RDA utility makes possible the design of a new end-to-end protocol that
functions in Fig. 1, the user satisfaction of the service grows unifies the control of NRE, RRA, and RDA service classes.
slowly in the convex part of the utility and starts to increase Note that the HRT service class cannot be supported by the
faster in the concave part of the utility. Usually, for this kind of protocol developed in this paper, which calls for hard rate
service, a soft minimum guaranteed rate at the joint between guarantee and hence call admission control (i.e., no longer an
the convex part and concave part of the utility function (i.e., end-to-end solution).
the transition point in Fig. 1) needs to be allocated to a flow In the following two sections, the protocol design aspect of
to ensure that the user is reasonably satisfied with the service. TERSE is described. It is composed of two steps. The first
In other words, we can view the RRA/RDA utility function step is to derive the effective TCP utility function. Then this
as composed of two parts: an inelastic part requiring a soft utility function is used in the utility optimization problem in
minimum guaranteed rate and an elastic part corresponding the second step to derive the protocol that unifies the control
to the concave part of the utility function in Fig. 1. In our of NRE, RRA, and RDA service classes.
approach, the inelastic part is explicitly expressed as a flow-
level constraint, i.e., x greater than the rate at the transition IV. TCP U TILITY F UNCTION
point, and the utility function only encodes the concave part
Since all three service classes will share the same TCP
of the utility functions in Fig. 1 and other possible effects,
utility function, in this section, we derive the TCP util-
such as pricing.
ity function based on the mathematical framework in [32].
The implication of the above approach is significant. First,
Note that the existing utility-based models of TCP men-
expressing inelastic features as flow-level constraints, or
tioned in Section II cannot capture the slow start phase (i.e.,
boundary conditions, makes these features explicitly quantifi-
Multiplicative-Increase-and-Multiplicative-Decrease (MIMD)
able and not subject to traffic load and traffic mixture. This
behavior of TCP) and the end-to-end or binary nature of TCP.
is also in better alignment with most of the existing pricing
In this section, we aim at establishing an accurate utility-based
structures where the inelastic features are generally associated
model for TCP that not only captures the AIMD behavior in
with usage fees, such as per unit guaranteed bandwidth usage
the congestion avoidance phase, but also MIMD behavior in
charge. In return, the inelastic features must be protected
the slow start phase, as well as end-to-end nature of TCP.
from being compromised, which is enforced explicitly in our
approach.
Second, involving only elastic components in the utility A. Main Results From [32]
design makes it easier to justify and interpret the meaning of a The problem can be stated as follows:
specific choice of global design objective. In particular, in our
F

protocol design, we choose to use the utility-maximization
approach with all service classes having the same utility max Ui (xi ) (1)
function – the effective TCP utility function. This can be easily i=1

interpreted as providing a fair share of network resources for subject to network constraints
the elastic part of the user utility across all service classes. 
More specifically, the elastic part of any traffic flow will xi ≤ Bk , k∈K (2)
i:k∈K
behave just like TCP and hence is guaranteed to be TCP
friendly/fair, provided that the inelastic part of traffic flow where Ui (xi ) is the utility function for flow i; F is the total
achieves its target rate. This automatically resolves the issue number of flows in the network; xi is the rate of flow i; K
concerning the time-varying nature of the TCP utility function. is the set of links in the network; and Bk is the bandwidth of
Note that other effects, such as the elastic component pricing link k in K.
can also be incorporated to provide further differentiation The distributed control law [32] that solves the above
in between the services by, for example adding a weight problem is given by (for simplicity, we omit the index i),
proportional to the monthly fee to the corresponding utility
function. ¯ × r(x))])+
ẋ = (z(t, x)[f (x) − (1 − cg x=0 (3)
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 943

with behavior in the slow start phase and the AIMD behavior in the
f (x) = 1 − e−∂U(x)/∂x (4) congestion avoidance phase. The TCP behavior due to timeout
(i.e., reducing the window size to one) is not matched. In other
and  words, we assume that any congestion indications, such as
max(y, 0) if x = 0
(y)+
x=0 = (5) timeout and three repetitive ACKs, have the same effect on
y if x =
 0
the TCP behavior, i.e., causing the reduction of the window
where U (x) is a differentiable concave and strictly increasing size by half.
function of x; z(x, t) can be any strictly positive function, Assume that the increase rate is αx (α >0) and the decrease
satisfying some loose condition (see [32]); cg is the binary rate is βx (0 < β ≤ 1) in the slow start phase. In the absence
congestion indicator (cg=1 if the packet forwarding path is of congestion, i.e., cg = 0, the control law in Eqn. (3) is given
congested and 0 otherwise); cg ¯ is the logical negation of cg; by
and r(x) is a scalar factor, taking different values for different
types of traffic. It is 1 for Best Effort (BE) flow. For a flow with ẋ = z(t, x)f (x) = αx (7)
Minimum Rate Guarantee (MRG), i.e., a flow-level constraint:
x > θ is added to the optimization problem in (1) and (2), In the presence of congestion, i.e., cg = 1, we have
r(x) is given by:
 ẋ = z(t, x)[f (x) − 1] = −βx (8)
k if x ≥ θ
r(x) = m (6)
rmax >1 if x < θ Then we have the utility function
m
Here rmax is a tunable parameter and θ is the target rate. α
U (x) = xlog(1 + ) (9)
Note that the above family of control laws applies to any β
concave utility function, enable minimum rate guaranteed and
services2 and allows flexible engineering of z(x, t) function αx
z(t, x) = = (α + β)x (10)
to realize various control behaviors. Moreover, for all control f (x)
laws in this family, the non-local information required for
Since U (x) is a differentiable, concave, and strictly increasing
the control is simply a discontinuous, aperiodic, single-bit
function, and z(t, x) is positive for x > 0, the MIMD
binary indicator, cg, indicating whether the forwarding path
control law can achieve globally optimal rate allocation. The
is congested or not. This makes it possible to implement this
coefficient of the utility depends on the ratio α/β. A flow with
family of control laws end-to-end. Also, this family of control
a larger increase factor (α) or smaller decrease factor (β) leads
laws is globally stable and optimal, as shown in [32]. It is
to higher utility. For the slow start phase in TCP, assume α=1
also shown in [32] that the corresponding family of control
and β=1, then U (x) = xlog2.
laws in the discrete time domain with a finite time interval
For the congestion avoidance phase, assume the additive-
leads to stable and near optimal control. This family of control
increase rate is μ > 0, and multiplicative-decrease rate is βx.
laws provides the much needed mathematical tool for the
In the absence of congestion, i.e., cg = 0, the control law is
implementation of the TERSE methodology.
given by

B. Utility Function ẋ = z(t, x)f (x) = μ (11)


On one hand, with any given concave user utility functions,
In the presence of congestion, i.e., cg = 1, we have
a family of distributed control laws with different positive
z(x, t) functions can be readily derived from Eqns. (3)-(5),
which will drive the network to an operational point where ẋ = z(t, x)[f (x) − 1] = −βx (12)
the sum of the utility functions is maximized. On the other Then we have
hand, an empirically designed control protocol, such as the
TCP congestion control protocol, can be reversely engineered μ
by matching its behavior with the above family of control U (x) = ( + x)[log(μ + βx) − 1] − x[log(βx) − 1] + C (13)
β
laws. This matching process, if successful, will lead to an
“optimal control law” that best describes the TCP behavior, and
and hence, to the discovery of its underlying utility function. z(t, x) = μ + βx (14)
In this subsection, we demonstrate how the utility function that
where C is a constant; U (x) is a differentiable, concave,
underlies the TCP behavior can be identified through such a
and increasing function; and z(t, x) is positive. Hence the
reverse engineering procedure.
AIMD control law achieves globally optimal rate allocation
Since the TCP congestion control mechanism is designed
maximizing the utility function described in Eqn. (13). In the
empirically with many detailed fine tunings, it is unlikely
TCP congestion avoidance phase, β = 1/2, then U (x) =
that there exists a utility-based control law that can perfectly
(2μ + x)[log(μ + x/2) − 1] − x[log(x/2) − 1] + C. Note that
match all the details of TCP behaviors. In this paper, we
the β value is found to be larger than 1/2 in [14] and [21].
attempt to match two major TCP behaviors, i.e., the MIMD
However, our analysis in the next section shows that β value
2 for how to use these control laws to enable target rate and upper bounded has limited effect on the equilibrium rate allocation and hence,
rate services, please refer to [32]); we simply let β = 1/2.
944 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

10
to the optimal traffic allocation associated with the utility
x =1
function introduced in Section IV.B. Moreover, the optimal
s
x =3
traffic allocation is independent of xs,i .
8 s
In other words, the proposed utility function is indeed the
x =5
s
one being maximized by the TCP adaptation laws, provided
xs=7
6 that we do not have any data rate forever oscillating around
xs , which is a very unlikely case. Even in the case where some
Utility

of the data rates oscillate around xs , the other ones will still
4 follow a “direction” that increases their overall contribution
for the total utility function.
2 Slow Start Phase: The result in Eqn. (9) shows that the
underlying utility function for the slow start phase is a linear
function with a system-parameter-dependent coefficient. It is
0 well-known that the user utility of a linear form can easily
0 2 4 6 8 10
Datarate (Mbps) lead to unfair share of the link bandwidth. In fact, it can be
easily shown that when multiple flows sharing a single-hop
Fig. 3. Utility values with different slow start threshold
link, the one with the largest coefficient will take over all the
link bandwidth, starving all the rest of the flows.
Now, consider the steady state where the slow start phase The above observations explain why the slow start threshold
ends at a constant rate xs . We set C at a value such that U (x) in TCP must be dynamically adjusted to allow fair share of the
is continuous at this point. Then we have network resources. In TCP, a flow always adjusts its slow start
threshold to be half of the peak rate (the rate when congestion
(α + β)xs μ μ starts). When TCP is in the steady state, the peak rate is fixed
C = xs log[ ] − log(μ + βxs ) + (15)
μ + βxs β β and so is the slow start threshold. As we shall see shortly,
the bandwidth allocation in the congestion avoidance phase
C. Analysis is roughly inversely proportional to RTT and does not cause
To the best of our knowledge, the TCP utility function strong bias in favor of a particular flow. This ensures that no
derived in the previous section has been the only utility flow will be able to grab the entire link bandwidth, starving
function that can capture both MIMD and AIMD behaviors other flows.
of TCP. In this section, we provide detailed analysis of this Congestion Avoidance Phase: The utility function for the
utility function aiming at a better understanding of the end- congestion avoidance phase is given in Eqn. (13). First, we
to-end TCP congestion control mechanism and for the benefit note that when x >> μ/β, U (x)  (μ/β)log(x) + const,
of the proposed protocol design. reminiscent of the logarithm utility that leads to the well
Dynamic Utility: It should be noted that the utility func- known proportional fairness in [13]. However, the current
tion derived above is a dynamic utility function. This is a result improves the one in [13] in the following sense: The
consequence of the fact that it depends on xs which changes utility function given in Eqn. (13) is explicitly proportional to
when the traffic load and pattern changes. Moreover, xs is the additive increase rate μ, whereas the one given in [13] does
also a function of RTT of a TCP session. This means the not depend on μ. Since for the TCP window-based congestion
TCP utility function will change its value range and shape as control, the congestion window size is increased by one packet
traffic load and pattern changes, and also changes with RTT. every RTT in the congestion avoidance phase, the additive
Fig. 3 demonstrates this by plotting the TCP utility function increase rate μ is inversely proportional to RTT. In other
at various xs values. As one sees from these plots that the words, the proposed utility function is inversely proportional
TCP utility function is indeed concave and resemble the NRE to RTT, whereas the one given in [13] is independent of RTT.
utility function in Fig. 1. The implication of this improvement is significant in terms
Given this dynamic behavior of the utility function, one of steady state rate allocation. In what follows, we use an
could argue that the results in [32] cannot be applied. However, example similar to the one in [2] to elaborate more on this.
one should note the following important fact: if the data rate In [2], Chiu showed that with the log(x) utility function
is always above or always below xs (even if xs varies), the in [13], a TCP flow 0 traversing n-hops sharing the link
gradient of U (x) does not depend on xs and, hence, the bandwidth with some single-hop flows, one per link, receives
optimal traffic allocation is independent of the value of xs . a rate allocation ratio x0 /x = 1/n, where x0 and x are the
This is a consequence of the fact that the optimum traffic rates allocated to flow 0 and each single-hop flow (note that
allocation is just a function of the gradient of U (x) and the rates allocated to different single-hop flows are the same),
the gradient of the constraints defined by the link capacities. respectively. This implies that the proportional fairness derived
Hence, by doing a reasoning analogous to the one in [32] one from the log(x) utility function in [13] does lead to rate
has the following result. allocations reflecting the TCP behavior, i.e., the flow traversing
Assume that there exists a t∗ such that all data rates satisfy more number of hops tends to receive less resource. However,
either xi (t) > xs,i for all t > t∗ or xi (t) < xs,i for all Chiu went on to show that this is true only when all the links
t > t∗ , where xs,i is the value of xs for data rate xi . Then, are bottleneck links for flow 0. In the case where there is
the data rate adaptation law in the previous section converges only one single-hop flow, e.g., at the first link, x0 /x = 1,
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 945

independent of RTT, i.e., achieving min-max rate allocation. TCP quantitatively (due to the page limit, the results are not
This is in contradiction with the intuition that a TCP flow presented here).
with a larger RTT tends to achieve smaller rate allocation.
As a result, Chiu concludes that TCP does not implement V. A U NIFIED , E ND - TO - END T RANSPORT L AYER
proportional fairness. P ROTOCOL
Now, what we are interested in is whether the TCP utility
In this section, we derive the proposed control law/protocol,
function given in Eqn. (13) can lead to a rate allocation that
based on the TCP utility function derived in the previous
captures the dependence of TCP rate allocation on RTT. To
section and test their performance based on a window-based
this end, let us calculate x0 /x using the TCP utility function
implementation. If a protocol can provide a soft minimum rate
given in Eqn. (13). First, we consider the case where all the
guarantee, then the RRA and RDA services can be satisfied.
links are bottleneck links for flow 0. To be more general, we
Therefore, we derive the minimum rate guaranteed control
allow m single-hop flows running on each link. The flow rate
laws which can be used for RRA and RDA services.
x for each single-hop flow can be expressed in terms of x0
as x = (B − x0 )/m, where B is the link bandwidth for all
the links, and μi = μ (i=1, 2, ..., m). Then at the maximum A. Control Law for Minimum Rate Guaranteed Service
utility, we have ∂U (x)/∂x0 =0, i.e., the flow value of x0 can Using the TCP utility function, i.e., equations (9) and (13),
be given by into equation (3), we arrive at the following control law:
Without congestion,
μ/β + (B − x0 )/m n μ0 /β + x0 
[ ] = (16) (3r(x) − 1)x/2 if x < xs
(B − x0 )/m x0 ẋ = (18)
(r(x) − 1)x/2 + μr(x) otherwise
When x = (B − x0 )/m >> μ/β, or equivalently, when
the TCP utility function can be approximated by U (x)  where r(x) is given in Eqn. (6).
(μ/β)log(x) + const, Eqn. (16) can be approximated by With congestion, the QoS-aware control law acts the same
as the TCP control law, i.e., the decreasing rate is x/2.
x0 x0 μ0
=  (17) Note that if r(x) = 1, the control law in Eqn. (18)
x (B − x0 )/m nμ degenerates to the TCP control law. Hence, this control law
What significant about this result is that the relative rate unifies the TCP control with the control of the RDA and RRA
allocation for flow 0 here is not only dependent on n but flows.
also proportional to the ratio μ0 /μ, or equivalently, inversely To understand how this control law behaves under different
proportional to the ratio RT T0/RT T , in the case of window- traffic load conditions, let us consider two different cases: i)
based flow control, where RT T0 and RT T are round-trip xs < θ and ii) xs ≥ θ. For xs < θ, i.e., the traffic load
times for flow 0 and a single-hop flow, respectively. We also is relatively heavy, the above control law can be written as
note that this result is independent of β. For that reason, we follows:
have simply set β = 1/2. Without congestion,
It can be easily shown that in the case where single-hop ⎧ m
⎨ (3rmax − 1)x/2 if x < xs
flows are only placed on one link, e.g., the first one, the m m
ẋ = (rmax − 1)x/2 + μrmax if xs < x < θ (19)
relative rate allocation for flow 0 (without approximation) is ⎩
μ otherwise
then equal to μ0 /μ, or reversely proportional to RT T0 /RT T ,
in agreement with the intuition about the TCP rate allocation. With congestion, the control law acts the same as the TCP
This also explains why the utility function constructed in [37] control law.
has to be inversely proportional to RTT. First, we consider the case without congestion. Assuming
m
The above results clearly demonstrate that the utility func- rmax = 3, the flow rate acceleration in the slow start phase is
tion derived in the previous section can qualitatively capture four times faster than that of the TCP control law. Moreover,
the essential aspects of the TCP behaviors. We also note that the rate keeps increasing exponentially in the congestion
the dependence of the utility on RTT is derived from the avoidance phase (i.e., θ > x ≥ xs ) until the minimum
dependence of the utility on μ as a special case, i.e., in the guaranteed rate is reached, although at a reduced acceleration
context of the TCP window-based flow control. If the additive- rate. Beyond that, the acceleration rate becomes equal to that
increase μ rate is set to a constant value for all the flows, of TCP. This confirms that our design methodology is friendly
regardless of their respective RTT values, then all the flows to TCP for the rate belonging to the elastic part of the flow.
have the same utility function and hence achieves proportional For the inelastic part of the rate, i.e., the minimum guaranteed
fairness as described in [13]. This explains why keeping a rate, the flow acts more aggressively than TCP. Hence, under
constant additive-increase rate in TCP leads to equal alloca- relatively heavy traffic load condition, a RDA/RRA flow is
tion of traffic rates of every flow under certain conditions, expected to outperform TCP. The value of the parameter
m
independent of RTT, as observed in [9] and [18]. Hence, our rmax determines how much more aggressive the flow will be
utility can lead to different rate allocations, depending on how with respect to TCP. It is a tunable parameter, which will be
μ is implemented. discussed more later.
Finally, the testing of our TCP model against the end-to- In the presence of congestion, the unified control law has
end TCP control based on simulation demonstrated that the the same behavior as TCP in the case of window-based flow
proposed TCP model captures the steady-state behaviours of control, i.e., reducing the window size by half every RTT.
946 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

Note that the rate may drop below the minimum guaranteed
rate θ. But the flow rate can come back much faster than
TCP as explained above. This is the reason why we say
that this protocol provides soft minimum rate guarantee. This
is a desirable feature for end-to-end control such as ours.
In an end-to-end control scheme, the congestion feedback
information can only be single-bit binary and there is no way
for the control law to distinguish between congestion due to
elastic traffic overloading or inelastic traffic overloading. If,
for example, the congestion is triggered by inelastic traffic Fig. 4. A Simple Network Topology
overloading, due to resource shortage, maintaining a hard min-
imum guaranteed rate for the RDA and RRA flows can cause
persistent congestions, resulting in partial or even complete a simple network with one bottleneck link as shown in Fig.
shutdown of the Internet. The ability to reduce the flow rate 4. Assume Nt TCP flows labeled as 1, . . . , Nt and Nm MRG
below its soft minimum guaranteed rate makes this control flow labeled as Nt + 1, ..., N (here N = Nt + Nm ) sharing a
law a viable solution to provide QoS features in the Internet bottleneck link with bandwidth B as shown in Fig. 4.
of global reach, where call admission control at global scale In fluid model [30] [35], the window size of TCP flow i
may not be possible. Our simulation studies in Section VI can be modeled as:
demonstrates that it is indeed a viable solution without call (1 − p(q(t − Ri (t)))
Ẇi (t) =
admission control. Ri (t)
For xs > θ, i.e., under relatively light traffic load condition, Wi (t)Wi (t − Ri (t))
− p(q(t − Ri (t)))
we have: (1) without congestion, 2Ri (t − Ri (t))
⎧ m
⎨ (3rmax − 1)x/2 if x < θ where Wi (t) is the window size of TCP flow i at time t,
ẋ = x/2 if θ < x < xs (20) Ri (t) is the RTT of flow i at time t, p(q) is the packet drop
⎩ probability of a router at queue length q.
μ otherwise
For an MRG flow, when the congestion occurs, its rate is
and (2) with congestion, the control law acts the same as reduced by half, then it will go back to the targeted minimum
the TCP control law. m
rate after one RTT if rmax is over 3. In the case that the target
The MRG control laws are determined by Equations (19) rate is greater than the slow start threshold, the control law
and (20) without congestion and reduced by half with con- can be approximated as the rate dropped from the peak rate
m
gestion. At rmax = 3, the flow rate accelerates at 4 times the to the targeted rate. Hence the window size of MRG flow j
TCP slow start rate when x < θ, and they reduce the rate by with targeted minimum rate θj can be approximately modeled
half when congestion is detected. However, as soon as x ≥ θ, as:
it starts behaving the same as TCP in the slow start phase.
In other words, the flow with the minimum guaranteed rate θ
(1 − p(q(t − Rj (t)))
behaves very much like TCP and imposes minimum impact Ẇj (t)  −
on TCP under relatively light traffic load condition. Rj (t)
In summary, the proposed protocol enables real-time ser- (Wj (t) − θj Rj (t))Wj (t − Rj (t))
p(q(t − Rj (t)))
vices similar to the controlled-load service defined in the Rj (t − Rj (t))
Intserv architecture [38]. In relatively light traffic load condi- The packet drop probability p(q) of RED takes the form,
tion, it behaves like TCP, while in the relatively heavy traffic ⎧
load condition, it outperforms TCP, achieving a soft minimum ⎪
⎪ 0 0 ≤ q < q min

⎨ q−qmin max
guaranteed rate. qmax −qmin p q min ≤ q ≤ q max
p(q) = q−qmax
Since the TCP congestion control mechanism is window ⎪
⎪ (1 − pmax ) + pmax q max < q ≤ 2q max
⎪ qmax

based, it makes sense to also implement the above control 1 2q max < q
law as window-based traffic control protocol. Hence, in the (21)
following discussion, we consider only window-based imple- The RTT of flow k (k=1,2,..., N ) Rk (t) can be expressed
mentation. as follows,
q(t)
Rk (t) = ak + (22)
B
B. Theoretical Maximum-Achievable Guaranteed Minimum
Rate where ak is the fixed propagation delay of flow k.
For the queue length q(t),
The control laws derived in the previous section allow the
N

sending rates to fall below their minimum guaranteed rates. Wk (t)
This raises the concern whether, on average, the minimum q̇(t) = −B + (23)
Rk (t)
k=1
guaranteed rate for a real-time application using this protocol
can be achieved or not. In this section, we derive a theoretic The system stable point can be achieved at E[Ẇk ] = 0 and
maximum-achievable guaranteed minimum rate for the above E[q̇] = 0. We assume that E[Wi (t)] = E[Wi (t − Ri (t))] at
MRG control protocol based on the fluid model. We consider the stable point.
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 947

For the Nt TCP flows, we have 30


 Best Effort
2(1 − p(E[q])) Theoretic
E[Wi ] = (24) 25 Simulation
p(E[q])

Datarate (Mbps)
The average peak rate of MRG flow j at the stable state is 20

15
4(1−p(E[q]))
θj E[Rj ] + (θj E[Rj ])2 + p(E[q])
E[Wj ] = (25)
2 10

The average queue length at the steady state can be obtained


as 5
N
 E[Wk ]
E[q̇] = 0 =⇒ E[q]
=B (26) 0
k=1 ak + B
30 40 50 60 70 80 90 100
MRG Flow Round Trip Time (ms)
The average congestion window size of each flow can be
solved through Eqns. (24), (25) and (26)). Then the average Fig. 5. The maximum-achievable guaranteed target Rate of MRG flow, RTTs
of TCP flows vary from 20ms to 56ms
peak rate (the rate at the congestion time) of flow k is
E[Wk ]/E[Rk ].
Recall the MRG control law, i.e., the flow increases ex- rate in the simulation, and the rate of flow 11 using the
ponentially when its rate is smaller than its target rate; and TCP control law. Here, RTTs of the TCP flows 1-10 linearly
increases additively after it reaches the target rate. The number increases from 20 ms to 56 ms, i.e., the RTT of flow 1 is 20, of
of RTTs (nj ) of MRG flow j with additive increase rate μj flow 2 is 24 ms and so on. The results show that the theoretical
in its additive increase phase is calculated as result in Eqn. (29) gives a little bit lower maximum-achievable
rate for the MRG flow, because we assume all the packets are
E[Wj ]/E[Rj ] − θj
nj = (27) dropped when congestion occurs. The results also show that
μj the minimum guaranteed rate of MRG is much greater than
Now let us compute the average flow rate of an MRG flow. the average rate of TCP flow.
Assume MRG flow j senses a congestion when its flow rate
is at its average congestion rate E[Wj ]/E[Rj ] (assume this VI. S IMULATION AND R EAL -W ORLD T ESTING
rate is above its target rate θj ). In the next RTT, the flow rate The unified control law derived in the previous section is
decreases to E[Wj ]/2E[Rj ], and then increases back to its rate based. It is shown in [32] that the corresponding control
m
target rate (θj ) in the following RTT by assuming rmax is law in discrete time domain with finite control epochs and
no less than 3. In the following nj RTTs, the flow rate in- granularity lead to stable and near optimal control. Hence we
creases additively to the congestion rate E[Wj ]/E[Rj ]. After map the continuous, rate based control law into a window-
it reaches the congestion rate, the packets in the following RTT based packet control protocol, in line with the TCP congestion
may be dropped in the following RTT. We assume the effective control.
flow rate is 0 in that RTT to calculate the theoretic maximum To translate the rate based control law into a window-based
achievable minimum guaranteed rate. So to guarantee the packet control protocol, we need to measure the transmission
target rate θj , nj has to satisfy the following equation rate at the sender. A RTT based rate calculation is used. The
rate is estimated as follows:
nj (nj + 1) E[Wj ]
· μj ≥ (θj − ) + θj (28) x(t) = w(t) · s/T (t) (30)
2 2E[Rj ]
or where x(t) is the transmission rate at time t; w(t) is the sliding
window size at time t; s is the packet size; and T (t) is the
E[W ]
E[Wj ] 12μj E[Rjj] + 25μ2j − 5μj average measured RTT at time t. The average measured RTT
θj ≤ − (29) at time t can be calculated as follows:
E[Rj ] 2
T (t) = η · T (t − 1) + (1 − η) · M T (t) (31)
The right hand side of Eqn. (29) gives the maximum rate
can be guaranteed for MRG flow j under certain network with 0 < η ≤ 1; T (t − 1) is the last calculated average
conditions. It means that all the rates no larger than the value RTT; M T (t) is the measured RTT at time t; and η is a
calculated in Eqn. (29) can be guaranteed using the MRG tunable parameter, i.e., the relative weight of the historical
control law. It is verified through the following ns-2 simulation RTT estimation on the estimation of the proposed RTT. The
study. sender uses the measured rate as well as the targeted minimum
In our simulation, we set N = 11 in the network. Among guaranteed rate to do congestion control. The queue buffer size
these flows, flows 1-10 are TCP flows, and flow 11 is an MRG is set at 1000 packets.
flow. The bandwidth for the bottleneck link is 100 Mbps. We evaluate the MRG protocols by NS-2 simulations as
Fig. 5 show the theoretical maximum-achievable minimum well as Linux experiments in a real-world Internet environ-
guaranteed rate, the actually achieved minimum guaranteed ment.
948 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

Average Datarate
flow 1
4 flow 2
flow 3
flow 4
3 flow 5
flow 6 flow 9
flow 7
2 flow 8
flow 9
flow 10
1
flow 11
flow 12
0
0 50 100 150 200 250 300
Time
Fig. 6. Network topology
Fig. 8. Flow Rate Allocation, MRG for flow 9

8
flow 1
flow 2 7
7 flow 3
flow 4
6 flow 5
6
Average Datarate

flow 6
flow 7 5
5
Average Datarate
flow 8 flow 1
flow 9 flow 2
4 flow 10 4 flow 3
flow 11 flow 4
flow 12
flow 5
3 flow 12
3 flow 6
flow 7
2 flow 8 flow 9, 10, 11, 12
2 flow 9
1 flow 10
flow 9, 10, 11 flow 11
1 flow 12
0
0 50 100 150 200 250 300
Time 0
0 50 100 150 200 250 300
Time
Fig. 7. Flow Rate Allocation, TCP-Reno for all flows
Fig. 9. Flow Rate Allocation, MRG for flows 9 to 12 with target rate 3
Mbps
A. NS-2 Simulations
We consider a network with 33 nodes, as shown in Fig. 6. portion of the overall network resource (3.5/20), the minimum
There are 12 long term flows existing in the whole simulation rates for QoS-based flows can be guaranteed, while the other
time period. Flow i starts at the source Si and ends at the TCP flows suffer from only minor rate losses. For example,
destination Di . The RTTs excluding queuing delay for flows the rate of flow 2 reduces from 5.62Mbps to about 5.5 Mbps.
1 to 12 are 40, 32, 32, 32, 38, 34, 38, 36, 100, 108, 100 and Now we run flows 9, 10, 11 and 12 with minimum guar-
110 ms, respectively. We run 8 transient flows. The starting anteed rate of 3 Mbps for each flow and TCP-Reno for the
time and the duration of each flow are randomly set. If a m
rest of the flows. Again, rmax = 3 for flows 9, 10, 11 and
transient flow session finishes, it randomly selects the next 12. In this case, flows 10, 11, and 12 share the middle link
session’s start time and duration. in Fig. 6, meaning that about half of the link resource (9/20)
In the simulations, we first run all the 20 flows using TCP- needs to be committed to flows with minimum rate guarantee.
Reno. Fig. 7 shows the average rate of all the 12 long term Fig. 9 depicts the simulation results. One notes that all four
flows. The rates of flows 1 to 12 are around 4.39, 5.62, 6.27, QoS-aware flows reach their minimum guaranteed rate. In the
4.92, 4.98, 5.15, 4.47, 4.83, 1.88, 1.75, 1.81 and 2.03 Mbps, meantime, the TCP flows do not suffer too much rate losses,
respectively. for example, the rate of flow 4 changes from 4.92 Mbps to
Now we run our protocol for flow 9 with the minimum 4.7 Mbps, and other flows changes from 4.5-6 Mbps to about
guaranteed rate of 3.5 Mbps and TCP-Reno for the rest of 4-5 Mbps.
flows. We found that the the minimum guaranteed rate 3.5 Finally, we set the minimum guaranteed rate of 5 Mbps for
Mbps (it is 1.88 Mbps by using TCP) can be achieved when flows 9 to 12 and TCP-Reno for the rest of the flows. Again,
m m m
rmax is set at 3 or above. The simulation result for rmax =3 rmax = 3 for flows 9, 10, 11 and 12. Fig. 10 shows the rate
is given in Fig. 8. allocation. In this case, flows 9-12 cannot achieve their target
The above case study indicates that when the majority of the rate, but they have improved rate compared to TCP flows. This
flows are TCP and the committed resource constitutes a small indicates that the proposed protocol can improve the flow rate
YE et al.: TERSE: A UNIFIED TRAFFIC CONTROL MECHANISM TO ENABLE ELASTIC, DELAY ADAPTIVE, AND RATE ADAPTIVE SERVICES 949

6 250
TCP−Reno
flow 9, 10, 11, 12 TCP−Reno average
5 TCP−Cubic
200 TCP−Cubic average
MRG ends
MRG
Average Datarate

4 MRG average

Datarate(KB/s)
flow 1
flow 2 150
flow 3
3 flow 4
Cubic ends
flow 5
flow 6 100
2 flow 7
flow 8
flow 9
50
1 flow 10
flow 11
Reno ends
flow 12

0 0
0 50 100 150 200 250 300 0 200 400 600 800
Time Time(Second)

Fig. 10. Flow Rate Allocation, MRG for flows 9 to 12 with target rate 5 Fig. 11. Average Throughput of 10 seconds
Mbps

R EFERENCES
even under the heavy congestion conditions while not letting
MRG flows take over all the network resources at the expense [1] T. Alpcan and T. Basar, “A Utility-Based Congestion Control Scheme
for Internet-Style Networks with Delay”, IEEE INFOCOM, 2003.
of starving the TCP flows. [2] D. M. Chiu, “Some Observations on Fairness of Bandwidth Sharing”,
Fifth IEEE Symposium on Computers and Communications, 2000.
B. Real-World Testing [3] L. Brakmo, L. Peterson, “TCP Vegas: end to end congestion avoidance
on a global Internet”, IEEE J. Sel. Areas in Commun., v13(8), pp 1465-
We implement the TERSE protocol in Linux systems and 1480, 1995.
test its performance over the Internet. We use the ftp in [4] M. Chiang, S. Zhang, and P. Hande, “Distributed rate allocation for
inelastic flows: optimization frameworks, optimality conditions, and
Linux to test the protocol with soft minimum rate guarantee optimal algorithms”, IEEE INFOCOM, March 2005.
and compare its performance with TCP-reno and TCP Cubic [5] A. Cao and E. W. Zegura, “Utility Max-Min: An Application-Oriented
[15]. The sender machine is installed with Ubuntu 8.04 with Bandwidth Allocation Scheme”, IEEE INFOCOM, 1999.
[6] Z. Duan, Z. Zhang, and Y. T. Hou, “Service Overlay Networks: Slas,
kernel version 2.6.24 at Hong Kong Polytechnic University QoS and Bandwidth Provisioning”, IEEE/ACM Trans. Netw., v11(6), pp
and the receiver is a Linux server at the University of Texas 870-883, 2003.
at Arlington in USA. [7] A. Elwalid, C. Jin, S. Low, and I. Widjaja, “Mate: Mpls adaptive traffic
In the experiment, a 50MB file is sent from the sender to the engineering”, IEEE INFOCOM, 2001.
[8] M. Fazel, Mung Chiang, “Network Utility Maximization With Noncon-
receiver. The minimum target rate is set at 1.2Mbps and rmax cave Utilities Using Sum-of-Squares Method Decision and Control”,
is set at 3. Fig. 11 compare the transmission rate (the average 2005 and 2005 European Control Conference. CDC-ECC ’05. 44th
rates over 10 seconds intervals) of MRG, TCP-reno and TCP IEEE Conference on. 2005.
[9] S. Floyd. “Connections with Multiple Congested Gateways in packet-
Cubic [15]. We can see that the proposed protocol transfers Switched Networks, Part 1: one-way Traffic”, ACM Computer Commu-
the data with an average rate over 1.2Mbps, while the TCP- nications Review, v21(5), pp30-37, 1991.
reno achieves an average rate around 480 Kbps and the TCP [10] S. J. Golestani and S. Bhattacharyya, “A class of end-to-end congestion
control algorithms for the internet”, IEEE International conference on
Cubic 800 Kbps. Note that TCP Cubic has been considered to Network Protocols (ICNP), 1998.
be the fastest variation of TCP. These results demonstrate that [11] S. Kandula, D. Katabi, B. Davie, and A. Charney, “Texcp: Responsive
the TERSE protocol can provide rate guarantee in the Internet yet stable traffic engineering”, ACM SIGCOMM, 2005.
[12] K. Kar, S. Sarkar and L. Tassiulas, “A Simple Rate Control Algorithm
environments. for MAximizing Total User Utility”, IEEE INFOCOM, 2001.
[13] F. Kelly, A. Maulloo, and D. Tan, “Rate Control in Communication
VII. C ONCLUSIONS Networks: Shadow Prices, Proportional Fairness and Stability”, Journal
of the Operational Research Society, v49, pp237-252, 1998.
In this paper, we proposed a unified, end-to-end transport [14] S. Kunniyur and A. Srikant, “End-to-End Congestion Control Schemes:
layer traffic control protocol to support RDA, RRD, and NRE Utility Functions, Random Losses and ECN Marks”, IEEE/ACM Trans.
services. This protocol is the first of its kind, in the sense Netw., 11(5), 2003.
[15] S. Ha, I. Rhee and L. Xu, “CUBIC: A New TCP-Friendly High-Speed
that it is design based on theory, i.e., a systematic, utility- TCP Variant”, ACM SIGOPS Operating System Review, 42(5), July
based design methodology and a well-grounded mathematical 2008, pp. 64-74, 2008.
foundation. As a result, it possesses some desirable, provable [16] T. Harks and T. Poschwatta, “Priority Pricing in Utility Fair Networks”,
IEEE ICNP, 2005.
properties, including fairness, stability, and optimality. Real- [17] T. Harks and T. Poschwatta, “Utility Fair Congestion Control for Real-
world testing, analysis, and simulation results all demonstrated Time Traffic”, IEEE INFOCOM, 2005.
that the proposed protocol can provide soft minimum rate [18] T. R. Henderson, E. Sahouria, S. McCanne and R. H. Katz, “On Improv-
ing the Fairness of TCP Congestion Avoidance”, IEEE GLOBECOM,
guarantee for real-time applications, while being friendly to 1999.
TCP flows. As part of the protocol design, this paper also [19] http://www.rfc-archive.org/getrfc.php?rfc=5348
makes contributions to a better understanding of the utility- [20] http://www.bbc.co.uk/iplayer .
[21] P. Hurley, J. L. Boudec, and P. Thiran, “A Note on the Fairness
based approach and utility-based interpretation of TCP behav- of Additive Increase and Multiplicative Decrease”, 16th International
iors. Teletraffic Congress, 1999.
950 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 29, NO. 5, MAY 2011

[22] S. Jin, L. Guo, I. Matta, and A. Bestavros, “A Spectrum of TCP- Zhijun Wang received the Ph.D degree in Computer
friendly Window-Based Congestion Control Algorithms”, IEEE/ACM Science and Engineering from The University of
Trans. Netw., 11(3), June 2003. Texas at Arlington, 2005. Now he is an assistant
[23] V. Jocobson, “Congestion Avoidance and Control”, ACM SIGCOMM, professor of the Department of Computing, The
1998. Hong Kong Polytechnic University. His current re-
[24] E. Kohler, M. Handley, and S. Floyd, “Designing DCCP: Congestion search interests include high speed network, network
Control Without Reliability”, ACM SIGCOMM, 2006 security, traffic control, data management in mobile
[25] R. La, V. Anantharam, “Utility-Based Rate Control in the Internet for networks and peer-to-peer networks.
Elastic Traffic”, IEEE Trans. Netw.,v10(2), pp. 272-286, 2002.
[26] C. M. Lagoa, H. Che, and B. A. Movsichoff,“Adaptive control algo-
rithms for decentralized optimal traffic engineering in the internet”,
IEEE/ACM Trans. Netw., v12(3), pp. 415-428, 2004.
[27] T. V. Lakshman, U. Madhow, “The Performance of TCP/IP for Networks Hao che received the B.S. degree from Nanjing
with High Bandwidth Delay Products and Random Loss”, IEEE/ACM University, Nanjing, China, in 1984, the M.S. degree
Trans. Netw., 5(3), pp. 336-350, 1997. in physics from the University of Texas at Arlington,
[28] J. Lee, R. Mazumdar and M. Shroff, “Non-convexity Issues for Internet TX, in 1994, and Ph.D. degree in electrical engineer-
Rate Control with Multi-class Services: Stability and Optimality”, IEEE ing from the University of Texas at Austin, TX, in
Infocom, 2004 1998.
[29] S. H. Low, “A Duality Model of TCP and Queue Managemnet Algo- He was an Assistant Professor of Electrical En-
rithms”, IEEE/ACM Trans. Netw., 11(4), pp525-536, 2003. gineering at the Pennsylvania State University, Uni-
[30] V. Misra, W. Gong and D. Towsley, “A Fluid-Based Analysis of a versity Park, PA, from 1998 to 2000, and a System
Network of AQM routers supporting TCP Flows with Application to Architect with Santera Systems, Inc., Plano, TX,
RED”, ACM SIGCOMM, 2000. from 2000 to 2002. Since September 2002, he has
[31] B. Movsichoff, C. Lagoa, and H. Che,“Decentralized optimal traffic been with the Department of Computer Science and Engineering at the
engineering in connectionless networks”, IEEE J. Sel. Areas Commun., University of Texas at Arlington, TX. His current research interests include
v23(2), pp 293-303, 2005. network architecture and design, network resource management, multiservice
[32] B. A. Movsichoff, C. M. Lagoa and H. Che, “End-to-End Optimal Algo- switching architecture, and network processor, multicore processor, and co-
rithms for Integrated QoS, Traffic Engineering, and Failure Recovery”, processor design and analysis.
IEEE/ACM Trans. Netw., v15(4), pp813-823, 2007
[33] J. Padhye, V. Firoiu, D. Towsley, and J. Kurose. “Modeling TCP”, ACM
SIGCOMM, 1998.
[34] S. Shenker, “Fundamental Design Issues for the Future Internet”, IEEE
J. Sel. Areas Commun., Vol. 13(7), pp 1176-1188, 1995 Constantino M. Lagoa received the B.S. and M.Sc.
[35] R. Srikant, “Models and Methords for Analyzing Internet Conges- degrees from the Instituto Superior Tecnico, Tech-
tion Control Algorithms”, In Advances in Communication Control nical University of Lisbon, Portugal in 1991 and
Networks in the series ”Lecture Notes in Control and Information 1994 respectively and the Ph.D. degree from the
Sciences(LCNCIS)”, Springer-Verlag, 2004. University of Wisconsin at Madison in 1998. He
[36] W. H. Wang, M. Palaniswami, and S. H. Low, “Application-Oriented joined the Electrical Engineering Department of
Flow Control: Fundamentals, Algorithms and Fairness”, IEEE/ACM The Pennsylvania State University in August 1998,
Trans. Netw., 14(6), December 2006. where he currently holds the position of Professor.
[37] M. Vojnovic, J. Boudec, and C. Boutremans, “Global Fairness He has a wide range of research interests including
of Additive-increase and Multiplicative-decrease with Heterogeneous robust control, controller design under risk speci-
Round-trip Times”, IEEE INFOCOM, 2000. fications, system identification, control of computer
[38] R. Braden, D. Clark, and S. Shenker, “Integrated Services in the Internet networks and discrete event dynamical systems. Dr. Lagoa is the author or co-
Architecture: an Overview”, RFC 1633 IETF, June, 1994. author of more than twenty journal papers and book chapters and more than
forty conference publications. He was also a co-organizer of a CDC workshop
on Distributional Robustness. Dr. Lagoa is currently Associate Editor of IEEE
Transactions on Control Systems Technology. He has also been a member of
the Conference Editorial Board of the IEEE Control System Society since
2004. He is also a member of the IFAC Technical Committee on Robust
Lei Ye received his Ph.D degree from the Hong Kong Polytechnic University Control and has served as a member of the international program committee
in 2010 and his MS degree from Wuhan University in 2005, both in Computer of several conferences.
science. His research interests include traffic control, Internet QoS, and
electric commerce.

You might also like