Page 1

A Unified Approach to Optimizing Performance in

Networks Serving Heterogeneous Flows

Ruogu Li, Atilla Eryilmaz, Lei Ying, and Ness B. Shroff

Abstract—We study the optimal control of communication

networks in the presence of heterogeneous traffic requirements.

Specifically, we distinguish the flows into two crucial classes:

inelastic for modeling high-priority, delay-sensitive, and fixed-

throughput applications; and elastic for modeling low-priority,

delay-tolerant, and throughput-greedy applications. We note that

the coexistence of such diverse flows creates complex interactions

at multiple levels (e.g. flow and packet levels), which prevent

the use of earlier design approaches that dominantly assume

homogeneous traffic. In this work, we develop the mathematical

framework and novel design methodologies needed to support

such heterogeneous requirements, and propose provably optimal

network algorithms that account for the multi-level interactions

between the flows.

To that end, we first formulate a network optimization problem

that incorporates the above throughput and service prioritization

requirements of the two traffic types. We, then develop a

distributed joint load balancing and congestion control algorithm

that achieves the dual goal of maximizing the aggregate utility

gained by the elastic flows while satisfying the fixed throughput

and prioritization requirements of the inelastic flows. Next, we

extend our joint algorithm in two ways to further improve its

performance: in delay through a virtual queue implementation

with minimal throughput degradation; and in utilization by

allowing for dynamic multi-path routing for elastic flows. A

unique characteristic of our proposed dynamic routing solution is

the novel two-stage queueing architecture it introduces to satisfy

the service prioritization requirement.

I. INTRODUCTION

Over the last several years, we have witnessed the devel-

opment of increasingly sophisticated optimization and control

techniques to address a variety of resource allocation problems

for communication networks (e.g. [2], [12], [19], [1], [11],

[16], [24], [6], [21], [27], [14], [7], see [18], [9] for an

overview). Much of this investigation has focused primarily on

optimizing functions of long-term performance metrics such

as throughput subject to network stability. Two types of traffic

can be distinguished: elastic traffic with controllable packet

injection rates generated by file transfer or other delay-tolerant

applications; and inelastic traffic with fixed packet injection

rates generated by delay-sensitive applications. Much of the

Ruogu Li, Atilla Eryilmaz, and Ness B. Shroff are with the Department

of Electrical and Computer Engineering at The Ohio State University,

Columbus, Ohio USA, and Lei Ying is with the Department of Electrical

and Computer Engineering at Iowa State University, Ames, Iowa USA.

Emails:

{lir, eryilmaz, shroff}@ece.osu.edu,

leiying@engineering.iastate.edu.

An earlier version of this work appeared in the Proceedings of Infocom,

April, 2009.

This work was supported in part by DTRA grant HDTRA1-08-1-0016,

HDTRA1-09-1-0055, ARO MURI Award No. W911NF-08-1-0238, and NSF

Awards 0626703-CNS, 0635202-CCF, 0721236-CNS, 08-31756, 09-53165,

953515-CNS, and 0916664-CCF.

and

existing work focus on the existence of either the inelastic

(e.g., [28], [22], [8]), or the elastic (e.g., [12], [17], [6], [21],

[7]) traffic alone. The integration of elastic and inelastic flows

in single-hop wireless systems has been studied in [25], [3],

[23] and has been extended to a multiple-hop network in [27],

[14], [10], however with the restriction of every flow having

a single route. In [27], the coexistence of inelastic and elastic

flows has also been considered in a more general setup.

However, previous utility maximization based solutions do

not distinguish inelastic packets and elastic packets at the

packet-level. Thus, the inelastic packets need to compete with

elastic packets for link bandwidths, so these two types of

flows have comparable delay performance. Yet, inelastic flows

model delay-sensitive traffic and must be served with higher

priority as they traverse the network. Our framework differs

from earlier utility maximization based approaches in that we

give strictly higher service priority to inelastic packets, i.e., at

every link, elastic packets can be transmitted only when there

are no inelastic packets waiting for service. This prioritization

decouples the inelastic packets and elastic packets at the link

(or, equivalently, packet) level, and will result in small delays

for inelastic flows. Note that even though two types of flows

are decoupled at the link level, to provide high utilization for

elastic traffic, the inelastic flows must smartly distribute their

load among their available routes. To that end, we developed

our algorithm to maximize the network utility defined by

elastic flows under the prioritization, which provides new

coupling method at the flow level that are different from

previous utility maximization based solutions.

We believe the main contributions of this work to be:

• The mathematical formulation of the utility maximization

problem for elastic rate control subject to inelastic traffic

requirements of fixed rate and service prioritization.

• The development of a distributed joint load-balancing

and rate-control algorithm that gives strict service priority

to inelastic packets, while guaranteeing optimal resource

utilization for elastic traffic. The description and the

optimality of this algorithm are provided for both the

fluid model and the actual stochastic network.

• The extension of the base algorithm to a virtual queue

based operation that enables further delay reduction for

both traffic types with a nominal and controllable sacrifice

in the network utilization.

• The relaxation of the static route assumption for the

elastic flows to achieve higher utilization of the network

resources through dynamic, multi-path routing, while

maintaining the prioritization requirements. This leads

Page 2

to a novel two-stage queueing architecture that complies

with the prioritization requirements of the design.

The rest of the paper is organized as follows: we introduce

our system model and formulate the main stochastic network

optimization problem in Section II. In Section III we first

analyze a simple fluid version of the problem and then using

the insights gained to extend the solution to the stochastic

scenario. In Section IV we extend the algorithm in two practi-

cally important directions that improve delay performance and

allow for dynamic multi-path routing for elastic traffic. The

simulation results and our concluding remarks are provided in

Sections V and VI, respectively.

II. SYSTEM MODEL AND OBJECTIVES

We consider a fixed network represented by a graph G =

(N,L), where N is the set of nodes and L is the set of directed

links. We assume that the capacity of link l ∈ L is cl, and

define the vector of link capacities as c := (cl)l∈L. Time is

slotted in our system and the external packets arrive at the

beginning of each time slot.

We consider the scenario where the network resources are

shared by a set of inelastic and elastic flows, where a flow

is defined by its source node and destination node. While the

inelastic flow represents traffic with fixed rates and stringent

delay constraints such as voice and video streaming, the elastic

flow represents delay-tolerant traffic with adaptive rates such

as non-real-time file sharing and email applications. The set of

all flows in the network is denoted by F, which is partitioned

into two subsets, Fe and Fi, where Fe is the set of elastic

flows and Fiis the set of inelastic flows. Next, we describe

the characteristics of inelastic and elastic flows in more detail.

Inelastic Flow: We let fi denote an inelastic flow in the

network with source siand destination di. Each inelastic flow

fiis associated with a fixed set of routes Ri. The rthroute

of this set is described by a vector R(r)

if link l ∈ L is on that route, and zero otherwise. Let x(r)

be the number of injected packets on the rthroute of flow fi

at time slot t, and let xi[t] := (x(r)

of inelastic flow packets injected on each route in slot t. Note

that we slightly abuse our notation by using xito denote rate

vector of all inelastic flows, while x(r)

flow fi∈ Fiover route r ∈ Ri. We assume that the packet

arrivals of the inelastic flow fi follow a stochastic process

Ai[t] that is identically and independently distributed (i.i.d.)

over time with a fixed mean rate, denoted by ai:= E(Ai[t]),

and a finite second moment, i.e. E(A2

To clarify the difference between Ai[t] and (x(r)

we note that Ai[t] denotes the number of packets generated by

flow fi while (x(r)

injected into the network to traverse each of the available

routes of flow fi. Thus, Ai[t] is an uncontrollable stochastic

process describing exogenous arrivals, whereas (x(r)

is controllable by the network algorithm.

i

such that R(r)

i[l] = 1

i[t]

i[t])R(r)∈Ri

fi∈Fi

be the vector

i

stands for the rate of

i[t]) < ∞.

i[t])r∈Ri,

i[t])r∈Ridescribes the number of packets

i[t])r∈Ri

For notational convenience, we define

zl(xi[t]) :=

∑

fi∈Fi

|Ri|

∑

r=1

x(r)

i[t]R(r)

i[l]

to denote the total number of inelastic packets on link l for a

given xi[t].

Elastic Flow: We let fedenote an elastic flow in the network

with source se and destination de. In Section IV-B, we will

consider dynamic routing for the elastic flow, but for now, we

will concentrate on the fix route case to get some insight about

the load balancing. Here we assume that each elastic flow fe

is associated with a single route Re, and we let xe[t] be the

the number of injected packets of flow fein slot t. Similar to

the inelastic case, we also define xe[t] := (xe[t])fe∈Feto be

the vector of elastic flow rates in slot t, and

∑

to denote the total number of elastic packets on link l. Asso-

ciated with each elastic flow fethere exists a utility function

Ue(·) that measures the “satisfaction” of that flow as a function

of its mean injection rate ¯ xe:= limT→∞

also assume that the sources of the elastic flows are always

infinitely backlogged.1

In the text, we use x[t] := (xi[t],xe[t]) to denote the vector

of inelastic and elastic packets injected into the network in slot

t. Next, we provide a set of assumptions to be used later in

the analysis:

Assumption 1: The elastic routing matrix [Re]fe∈Fehas

full row rank, which guarantees that given q, there exists a

unique p such that q = ([Re]fe∈Fe)Tp.

Assumption 2: The inelastic arrival process {Ai[t]}fi∈Fiis

such that there exists a vector xisatisfying

yl(xe[t]) :=

fe∈Fe

xe[t]Re[l]

1

T

∑T−1

t=0xe[t]. We

|Ri|

∑

r=1

x(r)

i

= ai,∀fi∈ Fi,

and

zl(xi) < cl,∀l ∈ L.

This condition implies that the inelastic flows are supportable

by the network, i.e., there exists a rate division of the inelastic

flow rates over their available routes which can support the

arriving traffic.

Assumption 3: The utility functions {Ue(xe)}feare strictly

concave, twice differentiable, and increasing functions. Such

an assumption is commonly used to capture the diminishing

returns to the elastic flows of an increase in the service rate.

Assumption 4: For each elastic flow fe ∈ Fe, its utility

function Ue(x) satisfies: for each m > 0 and M ∈ [m,∞),

there exists ˜ c1,˜C1,˜ c2, and˜C2, with 0 < ˜ c1 <˜C1 < +∞,

0 < ˜ c2 <˜C2 < +∞, satisfying ˜ c1 ≤ U′′

(U′−1

stability but will simplify our proof, and we will eventually

relax the single-route constraint on the elastic flows in Section

e(x) ≤˜C1, ˜ c2 ≤

e

We note that Assumption 1 is not critical in the proof of

)′(x) ≤˜C2, for all x ∈ [m,M].

1We note that the rate controller with source reservoir as in [21] that

considers arbitrary load scenario can be added on top of our algorithm.

2

Page 3

IV-B. Also note that Assumptions 3 and 4 on the utility

functions are not restrictive and hold for the following class of

utility functions U(x) = w x(1−a)/(1 − a), for a > 0, which

is known to characterize a large class of fairness concepts such

as max-min fairness and weighted-proportional fairness ([26]

and the references therein).

In subsequent discussions, when the distinction between

real and non-real-time routes is unnecessary, we will simply

refer to a route as R without any subscripts. Furthermore, for

simplicity, we will use zl[t] for zl(xi[t]) and yl[t] for yl(xe[t]).

Queueing Architecture and Evolution: In our system, for

each link (i,j) ∈ L, a single priority queue is maintained at

the transmitting node i, which holds all the packets whose

routes traverse (i,j). Since the inelastic flows are expected to

have more stringent delay constraints, their packets are always

stored ahead of those of the elastic flows, giving inelastic

traffic full priority over its elastic counterpart. We let pl[t]

denote the queue length of the buffer associated with link l at

the beginning of slot t, and define

∑

to be the total queue length on route R. Notice that pl[t] and

qR[t] counts both the inelastic and elastic flows’ packets.

During each time slot, the queue plevolves as

qR[t] =

l∈L

R[l]pl[t]

pl[t + 1] =(pl[t] + yl[t] + zl[t] − cl)+,

(1)

where x+= max(0,x). This evolution is based on a link-

centric decomposition ([18]) and implicitly assumes that pack-

ets injected into the source nodes by the flows, denoted by

x[t], arrive at the downstream nodes instantaneously. In reality,

packets will reach downstream nodes only after a queueing

and propagation delay incurred in the intermediate nodes. It is

shown in prior works ([29], [5], [30], [18]) that the inclusion

of these dynamics do not affect the long-term stability and

fairness characteristics of the system. And in particular, a

regulator queue for each flow can be added to our queueing

architecture before the queues associated with each link as

the same architecture in [5]. The prioritization in the per-link

queue does not affect the queue evolution, hence the results

in [5] apply in our model with priority. Thus, in this work we

use the evolution in (1) which possess a more tractable and

cleaner form.

Definition 1 (Stability): We say that a queue qRis stable if

limsup

T→∞

1

T

T−1

∑

t=0

E(qR[t]) ≤ B,

(2)

where B is some finite positive value. We say that the network

is stable if all aggregate queues {qR} for both inelastic and

elastic flows are stable.

Given the above network and traffic model, we aim to:

• Develop a mechanism that maximizes the total utility

achieved by elastic flows, while giving strict priority to and

satisfying the rate demands of the inelastic traffic. To that

end, we design a joint congestion control and load balancing

algorithm in Section III.

• Investigate means of extending our mechanism to improve

the delay performance of both types of flows. To that end, we

extend our joint algorithm in Section IV-A by adding appropri-

ately constructed virtual queues with controllable parameters

into the framework to achieve delay improvements.

• By relaxing the single-route constraint (and thus remove

Assumption 1) on the elastic flow and adapting a new queueing

architecture, we develop a joint congestion control, dynamic

routing and load balancing algorithm in Section IV-B.

Before addressing these goals, we note that the load balanc-

ing component of our joint algorithm will dynamically control

the distribution the inelastic flow rates over its available routes.

Thus, the effect of inelastic traffic on the elastic traffic cannot

be simply modeled as a constant decrease in the capacity of

the network, and a more sophisticated approach is needed.

In particular, the inelastic flow rates on each route must be

balanced optimally to allow for the maximum utilization of the

network resources by the competing elastic flows. We develop

such an algorithm in the next section.

III. JOINT CONGESTION CONTROL AND LOAD

BALANCING

In this section, we address our first main objective, i.e., that

of developing an algorithm that provides maximum utilization

of elastic traffic while guaranteeing the support of inelastic

traffic. We start by describing our objective mathematically in

the form of a stochastic optimization problem.

Stochastic Network Optimization (SNO) Problem:

max

{x[t]≥0}t≥0

s.t.

∑

Queue Evolution as in (1)

Network Stability as in (2)

|Ri|

∑

fe∈Fe

Ue(¯ xe)

(3)

r=1

x(r)

i[t] = Ai[t],∀fi∈ Fi,∀t > 0

We solve this problem by first analyzing a simpler deter-

ministic fluid model in Section III-A. The solution to this fluid

model will help in exposition as well as in providing insights

on the solution of the above more complex problem. Then, we

return in Section III-B to the stochastic problem.

A. Heuristic Fluid Model

In the fluid model scenario, all the dynamics and random-

ness are ignored, and the stochastic constraints are replaced

with static constraints. In particular, the inelastic flow fi is

assumed to have a fixed arrival rate ai, and the network

stability condition is replaced by a condition on total link rate

being no more than capacity. Then, the SNO problem reduces

to the following problem in this scenario.

3

Page 4

Fluid Network Optimization (FNO) Problem:

∑

s.t.yl(xe) + zl(xi) ≤ cl,∀l ∈ L

|Ri|

∑

In our discussion, we will abbreviate the aggregate elastic

and inelastic rates, yl(xe) and zl(xi), with yl and zl for

brevity. We note that Condition (4) aims to capture the network

stability condition in the fluid model by guaranteeing that

the total load on a link is below the link capacity, and

Condition (5) guarantees that inelastic flows receive enough

bandwidth to satisfy its rate demands. Thus, the optimization

problem is to maximize the sum of utilities of elastic flows

when guaranteeing that inelastic flows are supported.

It is not difficult to show that the optimum value of FNO is

an upper bound for the optimum value of SNO. To see this,

note that any solution {x[t]}t≥0 that solve SNO must also

satisfy ¯ yl+ ¯ zl≤ cl, where ¯ yl:= limT→∞

and ¯ zlis defined similarly. Otherwise, the queue l cannot be

stable. This is equivalent to condition (4) in FNO. Thus, FNO

contains all the feasible points of SNO. In Section III-B, we

will design an algorithm under which SNO can get arbitrarily

close to the FNO solution, and thus guarantees the optimality

of SNO.

We start by showing that there exists a unique xe =

{xe}fe∈Fe, that solves the FNO problem under Assumption 2

and 32.

Proposition 1: If Assumption 2 and 3 hold, then the x∗

{xe}fe∈Fethat solves the network optimization problem is

unique.

Proof: The optimization problem has a unique solution

because the utility functions are strictly concave, and con-

straints (4) and (5) are linear.

To solve the FNO problem, we construct a partial La-

grangian. Define αlto be the Lagrange multipliers associated

with constraint (4). Then, the partial Lagrangian can be written

as

∑

∑

+

αl(cl− zl).

max

x≥0

fe∈Fe

Ue(xe)

(4)

r=1

x(r)

i

= ai,∀fi∈ Fi

(5)

1

T

∑T−1

t=0yl(x[t]),

e=

L(xi,xe,α)=

fe∈Fe

Ue(xe) −

∑

l∈L

αl(zl+ yl− cl)

l:R(r)

e [l]=1

=

fe∈Fe

∑

Ue(xe) −

∑

αl

xe

l∈L

Since FNO problem satisfies Slater’s condition ([4]) due to

Assumption 2, the strong duality holds. We can then conclude

that there exists x∗:= (x∗

• x∗solves the FNO problem;

e,x∗

i), and α∗:= (αl)lsuch that

2We note that the strict concavity assumption in Assumption 3 can be

relaxed and our results can be extended to state that the elastic rates converges

to the set of optimal rates rather than the unique optimum rate.

• x∗∈ argmaxx≥0L(xi,xe,α∗).

Note that

maxL(x,α∗)= max

∑

∑

fe∈Fe

(Ue(xe) − β∗

α∗

lzl+

Rexe

)

−min

l∈L

∑

l∈L

α∗

lcl,

where βR:=∑

l∈LR[l]αl. This decomposition suggests that

(i) The elastic flow feshould allocate its rates such that

x∗

e= U′−1

e

(β∗

}r∈Risuch that

|Ri|

∑

∑

Re

);

(6)

(ii) The inelastic flow fi, should distribute its packets over

its available routes {x∗(r)

i

min

r=1

x(r)

iβ∗

R(r)

i

(7)

s.t.x(r)

i

= ai.

Since the optimization problem (7) has a linear objective,

the following lemma holds ([4]):

Lemma 1: For any R(r)

i

∈ Ri, we have:

• β∗

i

i

• β∗

i

i

This lemma implies that considering an inelastic flow fi,

all routes in the optimal solution with a positive flow have the

same value of β.

We note that αl of FNO is closely associated with the

queue length pl of SNO, and correspondingly βR of FNO

is closely associated with the aggregate queue length on a

route qRof SNO. Such connections are revealed and exploited

in several earlier works for designing different network algo-

rithms (e.g. [16], [17], [6], [7], [27]). The following algorithm

is a continuous-time version of the Lagrangian method for

finding the optimum solution of FNO. This algorithm will

later be used to solve the SNO. To distinguish the continuous-

time evolution from the discrete-time evolution, we use (t) to

denote continuous time index, while [t] denotes discrete time

index.

R(r)

= β∗

R(r′)

if x∗(r)

i

> 0 and x∗(r′)

> 0 and x∗(r′)

i

> 0; and

R(r)

< β∗

R(r′)

if x∗(r)

ii

= 0.

Joint Congestion Control and Load Balancing Algorithm

for the FNO problem:

• Queue evolution for link l:

˙ pl(t) :=dp(t)

dt

where (v(t))+

v(t) otherwise.

• Congestion Controller for elastic flow fe:

xe(t) = U′−1

e

= (zl(t) + yl(t) − cl)+

pl(t),

p(t)is zero if v(t) < 0 and p(t) = 0; and

(qRe(t)).

• Load Balancing implemented for inelastic flow fi:

(

˙ x(r)

i(t) =¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t),

(8)

4

Page 5

where ¯ qi(t) satisfies

|Ri|

∑

r=1

(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t)= 0,

(9)

and

|Ri|

∑

r=1

x(r)

i(0) = ai.

Remark: Note that the congestion control algorithm is

motivated by equality (6). The load balancing algorithm (8) is

motivated by Lemma 1. In particular, for each inelastic flow fi,

when the system reaches the equilibrium, we have ˙ x(r)

for all r. This implies that qR(r)

and qR(r)

i

point, qR(r)

i

easy to see that

i(t) = 0

i(t) > 0

i

(t) = ¯ qi(t) for x(r)

(t) ≥ ¯ qi for x(r)

(t) satisfies Lemma 1. Furthermore, from (9), it is

i(t) = 0. Thus, at the equilibrium

|Ri|

∑

r=1

x(r)

i(t) = ai

for all t.

(10)

The intuition behind the load balancing algorithm described

above is to shift the inelastic flows to less heavily loaded routes

to allow for the maximum network utilization for elastic flows.

In the algorithm a source needs all the queue information

along its route, however as we mentioned in Section II, we can

send queue information hop by hop and still achieve stability

even if this information is delayed. Thus this algorithm can

be implemented fully distributed.

Next, we will show the stability and optimality of our joint

congestion control and load balancing algorithm.

Proposition 2: Under Assumption 1, 2 and 3, the joint

congestion control and load balancing algorithm is globally

asymptotically stable, i.e. limt→∞(xe(t),xi(t),p(t),q(t)) =

(x∗

dual solution to the FNO problem. Furthermore, (10) holds.

Proof: The proof is provided in Appendix A.

e,x∗

i,α∗,β∗), where (x∗

e,x∗

i,α∗,β∗) is an optimal prime-

B. Stochastic Model

We now return to the original SNO problem with a minor

variation:

SNO Problem with Parameter K (SNO-K):

∑

s.t.

Queue Evolution as in (1)

Network Stability as in (2)

|Ri|

∑

where K is a positive design parameter. We will see that K

parameter is critical in eliminating the effect of randomness in

the stochastic system on the long-term performance. Note that

the solution to the SNO-K problem is independent of the value

of K, and its optimum solution is identical to the solution of

the SNO problem.

max

{x[t]≥0}t≥0

fe∈Fe

KUe(¯ xe)

r=1

x(r)

i[t] = Ai[t],∀fi∈ Fi,∀t > 0

Motivated by the analysis in the fluid model, we propose

the following joint congestion control and load balancing

algorithm:

Joint Congestion Control and Load Balancing Algorithm

for the SNO-K problem:

• Scheduling with Strict Prioritization:

For each link l ∈ L, we serve clpackets from pl, with

strict priority to inelastic packets, which leads to the

following queue evolution:

pl[t + 1] = (pl[t] + zl[t] + yl[t] − cl)+.

• Congestion Controller for elastic flow fe:

{

where M is a positive constant satisfies M > 2max

• Load Balancing implemented for inelastic flow fi:

(

or equivalently,

(

where ¯ qi[t] satisfies

xe[t] = minM,U′−1

e

(1

KqRe[t]

)}

,

l∈L{cl}.

△x(r)

i[t] = ¯ qi[t] − qR(r)

i

[t]

)+

x(r)

i

[t+1],

x(r)

i[t + 1] =x(r)

i[t] + ¯ qi[t] − qR(r)

i

[t]

)+

,

|Ri|

∑

r=1

(

|Ri|

∑

¯ qi[t] − qR(r)

i

[t]

)+

x(r)

i

[t+1]= Ai[t + 1] − Ai[t],

and

r=1

x(r)

i[0] = Ai[0].

Remark: The factor 1/K in the congestion control equation

comes from the factor K in the optimization problem. It

can be interpreted as the aggressiveness factor of the elastic

flow, as the congestion controller is inclined to inject more

packets into the network with larger K. Also note that the

load balancing implementation is slightly different from the

fluid model version to accommodate the randomness in the

arrival processes for inelastic flows. The update is modified to

ensure that∑|Ri|

of the joint algorithm for the stochastic system.

Proposition 3: Under Assumptions 1, 2, 3 and 4, the joint

congestion control and load balancing algorithm stabilizes the

system in the sense that the Markov chain (p[t],xi[t]) is

positive recurrent with

r=1x(r)

i[t] = Ai[t] holds for all t.

The next proposition establishes the stability and optimality

limsup

T→∞

and guarantees that the rate allocation satisfies,

1

T

T−1

∑

t=0

E(??qRe[t] − β∗

Re

??)≤B + ϵσK

ϵ

,

limsup

T→∞

1

T

T−1

∑

t=0

E

(??xe[t] − x∗

e

??2)

≤

B

˜ c3K.

5

Page 6

Here x∗

arbitrarily chosen positive constant, and ϵ and ˜ c3are positive

values.

Proof: See [15] for the proof.

Note that as the design parameter K increases, the rate

converges to the optimal allocation at the cost of increased

equilibrium queue-length levels. While such tradeoffs between

optimality and delay is observed in earlier works under a single

type of traffic (e.g. [21], [7]), in this work a new interaction

is observed between inelastic and elastic traffic through the

parameter K. In particular, larger values of K result in more

aggressive elastic flows, resulting in larger queue-lengths on

the links they traverse. This forces the inelastic flows to

redistribute their flows to less loaded routes. This increases

the utilization of the network, while causing more delay to

inelastic flows. In order to provide better delay performance

to both types of traffic, in the next section we extend our base

algorithm by using virtual queues.

eis the optimal solution to the SNO-K problem, σ is an

IV. EXTENSION OF THE ALGORITHM

In this section, we extend our joint congestion control and

load balancing algorithm in two important directions: we first

provide a virtual queue based solution that reduces the overall

queue length with a negligible sacrifice in capacity. We then

provide a solution that allows the dynamic routing for the

elastic flow.

A. Virtual Queue Algorithm

Inelastic applications are delay sensitive, hence we assume

that packets from inelastic flows have strict priority over their

elastic counterparts. Thus, the inelastic flows do not see the

elastic flows in the queues they traverse. But in some cases

a link might be critically loaded by the inelastic traffic itself,

thus resulting in large delays. Also, elastic traffic may have

some delay constraints that are non-negligible.

An effective way of reducing the experienced delay is by

including virtual queues that are served at a fraction of the

actual service rate, and by using the virtual queue-length

values as prices ([13]). To that end, we introduce two types of

virtual queues with parameters to the previous optimization

problem, ρ1 and ρ2, which control the total load and the

inelastic flow load, respectively.

Here for simplicity, we go back to the fluid model to design

and analyze the joint congestion control and load balancing

algorithm using virtual queues. We would like to have ˜ x∗:=

(˜ x∗

FNO Problem with Virtual Queues (FNO-VQ):

∑

s.t.yl(xe) + zl(xi) ≤ ρ1cl,∀l ∈ L

zl(xi) ≤ ρ2cl,∀l ∈ L

|Ri|

∑

where 0 < ρ2≤ ρ1< 1.

e, ˜ x∗

i) solve the following optimization problem.

max

x≥0

fe∈Fe

Ue(xe)

(11)

r=1

x(r)

i

= ai,

To guarantee the feasibility of the optimization problem

above, we replace our earlier Assumption 2 with:

Assumption 5: There exists a xisuch that

|Ri|

∑

This can be viewed as admission control is done for the

inelastic flow after we choose the parameter ρ2to ensure the

feasibility of the problem.

To solve the FNO-VQ problem, we first introduce virtual

queues for elastic and inelastic flows on each link respectively.

The virtual queue length θl(t) for elastic flows evolutes as

follows:

r=1

x(r)

i

= ai,∀fi∈ Fi,

and

zl(xi) < ρ2cl,∀l ∈ L.

˙θl(t) = (zl(t) + yl(t) − ρ1cl)+

The virtual queue length for inelastic flows γl(t) evolves as

follows:

θl(t)

˙ γl(t) = (zl(t) − ρ2cl)+

γl(t).

Note that when the total instantaneous traffic load is larger

than ρ1cl or the inelastic traffic load is larger than ρ2cl, the

virtual queues will build up, and the network controller will

reduce the traffic load.

Based on this virtual-queue scheme, we have the following

joint congestion control and load balancing algorithm:

Joint Congestion Control and Load Balancing Algorithm

for FNO-VQ problem:

• Virtual queue evolution for a link l:

Elastic flows:

˙θl(t) = (zl(t) + yl(t) − ρ1cl)+

Inelastic flows:

˙ γl(t) = (zl(t) − ρ2cl)+

• Congestion Controller for elastic flow fe:

xe(t) = U′−1

e

where sRe(t) =∑

• Load Balancing implemented for inelastic flow fi:

˙ x(r)

i(t) = ¯ µi(t) − µR(r)

where µR(t) =∑

|Ri|

∑

|Ri|

∑

θl(t);

γl(t).

(sRe(t)),

l:Re[l]=1θl(t) is the aggregated virtual

queue length of the elastic flow.

(

i

(t)

)+

x(r)

i

(t),

l:R[l]=1(θl(t) + γl(t)), ¯ µi(t) satisfies

r=1

(

¯ µi(t) − µR(r)

i

(t)

)+

x(r)

i

(t)= 0

and

r=1

x(r)

i(0) = ai.

Remark: In the above algorithm, note that the congestion

control algorithm only responds to the virtual queues for

elastic flows, but the load balancing algorithm responds to

both the virtual queues for elastic flow and inelastic flows.

Further, the actual queue length is not used in the algorithm.

6

Page 7

In the following proposition, we show the equilibrium point

of the algorithm with virtual queue is the optimal solution of

(11).

Proposition 4: Under Assumptions 1, 3 and 5, the virtual

system under the joint congestion control and load balancing

algorithm for the FNO-VQ problem is globally asymptotically

stable, i.e., lim

where (˜ x∗

the network optimization problem (11).

Proof: See [15] for the proof.

Remark: Proposition 4 implies the stability of the virtual

system. Since the virtual system is run in a network with

smaller link capacity, it is intuitively reasonable to expect the

real queue-lengths be stable. While this intuition is confirmed

in numerical studies, we do not claim the stability of the real

system under the above algorithm.

The extension of this result to the stochastic scenario is

omitted since it follows the same line of reasoning as in

the joint congestion control and load balancing algorithm of

Section III.

t→∞(xe(t),xi(t),θ(t),γ(t)) = (˜ x∗

e, ˜ x∗

e, ˜ x∗

i,˜θ∗, ˜ γ∗)

i,˜θ∗, ˜ γ∗) is an optimal primal-dual solution of

B. Dynamic Routing for Elastic Flows

In this subsection, we keep the assumptions of the inelastic

flows, and relax the single route constraint on the elastic flows.

Each elastic flow fe= fd

s ∈ N and a destination node d ∈ N. The injection rate of the

flow fd

In this model we adapt a new queueing architecture. Each

node i maintains both real queues and virtual queues (coun-

ters), which are identical structural-wise. We focus on the

virtual queues, which are neater to analyze.

Within the virtual queues there are two levels of queues.

The first level of the virtual queues are for each destination for

elastic flows, denoted by sd

such queues. Let rd

elastic flows that are destined to d on link l = (i,j), and let

∑

denotes the total promised service of elastic flows on link l.

These counters evolve as

∑

The second level of virtual queues consist of a virtual queue

for each outgoing link, denoted by pij[t] where (i,j) ∈ L,

which counts packets from both inelastic and elastic flow.

Packets of the inelastic flows are always “stored” ahead of

those of the elastic flows. These counters evolve as

snow is associated with a source node

sis denoted by xd

s, and Ud

s(xd

s) is the utility function.

i[t], each node maintains |N| − 1

ij[t] denote the promised service rate to

yl[t] =

d∈N

rd

ij[t]

sd

i[t + 1] = (sd

i[t] + xd

i[t] +

m∈N

rd

mi[t] −

∑

j∈N

rd

ij[t])+. (12)

pl[t + 1]=(pl[t] + yl[t] + zl[t] − cl)+.

(13)

Remark 1: Note that in the virtual queues (counters), rd

virtual packets “bypass” the queueing in the second level

of virtual queues and enter directly the corresponding first

level virtual queues of the next node, while rd

packets are forwarded within the node to the second level

ij[t]

ij[t] actual

of queues, waiting to be transmitted onto the corresponding

link to the downstream node. The decisions made by the

algorithm are based on the virtual queue information, which

is a “prediction” of the actual queue-lengths. We will see that

the actual queues evolve in the same way when the system

reaches its equilibrium point.

Remark 2: The evolution of p[t] given in Equation (13)

implicitly assumes that the inelastic packets injected into the

source nodes arrive at the downstream nodes immediately.

Prior works ([29], [5], [30], [18]) shows that this assumption

does not affect the long-term performance of the system. Since

the inelastic traffic enter the second level queues directly, the

results of those works still apply to the inelastic flows. In

particular, a regulator queue for each inelastic flow can be

added to our queueing architecture before the second-level

queues associated with each link following the same approach

as in [5].

The queueing architecture described above is illustrated in

Figure 1.

Fig. 1.Queueing architecture for dynamic routing

For simplicity, we consider the fluid model scenario for

dynamic routing.

FNO Problem with Dynamic Routing (FNO-DR):

∑

s.t.yl(r) + zl(xi) ≤ cl, ∀l ∈ L

|Ri|

∑

xd

i+

m∈N

rd

ij≤ P, ∀(i,j) ∈ L, d ∈ N

where Equation (17) is the flow conservation constraint, and

Equation (18) is a fixed bound on rd

Based on the new queueing architecture and the FNO-DR

problem, using the Lagrange multiplier approach, we have the

following joint congestion control, dynamic routing and load

balancing algorithm:

max

x≥0

fe∈Fe

Ue(xe)

(14)

(15)

r=1

x(r)

i

= ai, ∀fi∈ Fi

∑

(16)

rd

mi≤

∑

j∈N

rd

ij, ∀i,d ∈ N, i ̸= d(17)

(18)

ij, where P ≥ maxl∈L{cl}.

7

Page 8

Joint Congestion Control, Dynamic Routing and Load

Balancing Algorithm for the FNO-DR problem:

• Virtual Queue evolution:

m∈N

˙ pl(t)=(zl(t) + yl(t) − cl)+

• Congestion controller for elastic flow fd

xd

˙sd

i(t)=

xd

i(t) +

∑

rd

mi(t) −

∑

j∈N

rd

ij(t)

+

sd

i(t)

,

pl(t).

s:

s(t) = (Ud

s)′−1(sd

s(t)).

• Dynamic routing for elastic flow:

˙rd

ij(t) =

sd

(sd

i(t) − sd

i(t) − sd

(sd

j(t) − pij(t)

j(t) − pij(t))−

ifrd

ifrd

ifrd

ij∈ (0,P)

ij≤ 0

ij≥ P

j(t) − pij(t))+

i(t) − sd

• Load balancing for inelastic flow fi:

˙ x(r)

i(t) =

(t) =∑

|Ri|

∑

|Ri|

∑

(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t),

where qR(r)

i

l∈LRi[l]pl(t), and ¯ qi(t) satisfies

)+

r=1

(

¯ qi(t) − qR(r)

i

(t)

x(r)

i

(t)= 0,

and

r=1

x(r)

i(0) = ai.

Remark: In the algorithm above, the rate control of the

elastic traffic only needs the virtual queue information of the

source node, while the load balancing of the inelastic uses the

virtual queue information on the whole route. The dynamic

routing algorithm for elastic traffic is similar to the back-

pressure algorithm, while the backlog difference between the

two nodes of a link sd

the elastic flows from using the links that is in the route of

the inelastic flows. Also we note that this back-pressure-like

algorithm is applied to the elastic traffic only, and the strict

priority of the inelastic traffic is still maintained.

In the following proposition, we show the equilibrium point

of the algorithm for dynamic routing is the optimal solution

of (14).

Proposition 5: Under Assumptions 2 and 3, the virtual

system under the joint congestion control, dynamic routing and

load balancing algorithm for the FNO-DR problem is glob-

ally asymptotically stable, i.e., lim

t→∞(xe(t),xi(t),p(t),s(t)) =

(ˆ x∗

dual solution of the network optimization problem (14).

Proof: The proof is provided in Appendix B.

Remark: Note that the virtual system will evolve to the

optimal point according to the equations above, while the

actual system may follow a slightly different trajectory. This

is because during the transient period of evolution, the total

i− sd

jis off-set by pij, discouraging

e, ˆ x∗

i, ˆ p∗,ˆ s∗) where (ˆ x∗

e, ˆ x∗

i, ˆ p∗,ˆ s∗) is an optimal primal-

incoming rate of inelastic flow z(t) and the elastic flow r(t)

into the second level of the queue (cf. Figure 1) is allowed to

be larger than the capacity of the link. Thus when the system

made routing decisions according to the virtual values (the

estimated number of packets in the queues), there may not

be enough packets to transmit in the actual queues. However

when the virtual system converge to its equilibrium point,

the assigned service rate r∗d

Proposition 5, and therefore the actual system will also be

able to provide the same rate as the virtual one. Thus at the

equilibrium point the stability of the virtual system implies the

stability of the actual system.

ij will be feasible as shown in

V. SIMULATION RESULTS

In this section, we provide the simulation results for our al-

gorithms under the stochastic model where the arrival process

of the inelastic flow fiis such that Ai[t] is Poisson distributed

with mean aifor each t.

A. The Effect of the Aggressiveness of the Inelastic Flow

We noted in Section III-B that the factor K represents the

‘aggressiveness’ of the elastic flows. Also, it is revealed in

Proposition 3 that K can be used to control the proximity to

the optimal allocation. Here, we test these results for the case

of proportionally fair allocation, which corresponds to having

the utility function is chosen as ([26]): Ue(x) = αlnx, and

thus U′−1

e

(q

In this first set of simulations, we considered the network

shown in Figure 2 with the indicated link capacities and

inelastic and elastic flows. Note that the arrival rate of the

inelastic flow is ai= 15 to be distributed over the two dashed

routes.

The joint algorithm for the SNO-K problem is implemented

for this network and the mean elastic rate allocation is com-

puted for different values of K. Figure 3 illustrates the effect

K) =αK

q.

Fig. 2.Topology of the network

of K on the rates of the elastic flow and the distribution of

the inelastic flow’s rate over its available routes. We see that

as the elastic flow becomes more aggressive, it achieves a

higher throughput and thus consumes greater resource on the

bottleneck link (2,5). As a reaction to the increased contention

from the elastic flow, the load balancing mechanism of the

inelastic flows automatically pushes more and more traffic of

the inelastic flow onto route 1.

8

Page 9

0 50100

K

150200

0

2

4

6

8

10

12

14

16

18

20

Rate / ( packets/time slot )

Effect on rates

Inelastic route 1

Inelastic route 2

Elastic route

Fig. 3. Effect of K on the average rates on each route of Figure 2.

Note that although increasing the aggressiveness of the

elastic flow will increase the utilization of the network, it will

result in more delays on the network flows as the queue length

over the whole network grows, as shown by Proposition 3.

Proposition 3 also suggests that larger K resulting better

convergence to the optimal operating point, which is confirmed

in the above simulation.

B. More Complex Topology

To illustrate other facets of our algorithm, we conducted

our simulation in a more complicated network with different

flow assignments. The topology of the network is shown in

Figure 4. The capacity of all the links in the network is 20, and

we used elastic flows with identical utility functions and K =

200 in our simulation, expecting close to optimal utilization

(as shown in Figure 3).

We simulate a sequence of scenarios discussed in five

phases. In Phase 1, two disjoint inelastic flows with the routes

as shown in Figure 4 share the network, having rates ai1= 20

and ai2= 10. The average rates provided on each route by

our joint algorithm are given in Figure 4.

When the two inelastic flows share a common bottleneck

link in Phase 2, the load balancing algorithm will shift part of

the traffic from the bottleneck link to yield the average rates

given in Figure 5.

Fig. 4.

flows with disjoint routes.

Phase 1: Two inelastic

Fig. 5.

flows with intersecting routes.

Phase 2: Two inelastic

In Phase 3, an elastic flow enters the system and shares a

link with fi2as in Figure 6. We can see from the average

rates given in the figure that this elastic flow not only has an

effect on fi2but also shifts the rate of fi1. Here, it can be

seen that the interaction between the flows becomes complex

even for small networks, and it is not clear what the best

allocation is. Yet, through our joint algorithm, fe1is able

to operate dynamically close to the full capacity of all the

resources available to it.

After adding another elastic flow fe2into the network which

is disjoint with all other flows in Phase 4 shown in Figure 7,

we can see that it has no effect on the rates of all other routes,

and it fully utilizes that route.

Fig. 6.

ing inelastic flows, and one elastic

flow that interacts with them.

Phase 3: Two intersect-

Fig. 7. Phase 4: Two intersecting

inelastic flows, and two elastic

flows with disjoint routes.

In Phase 5, a third elastic flow fe3enters and shares

common links with both fi1and fi2, as shown in Figure 8. We

can see that since fe1also shares links with fi2, fe3also has

effect on it. It can be easily verified that xe1= xe3= 15 is

the optimal operating point, and the average rates achieved

by our algorithm is very close to optimal as predicted by

Proposition 3.

To study the importance of dynamic load balancing, we

also simulated a static rate distribution algorithm as a basis

for comparison. This algorithm equally splits the inelastic

traffic onto each of its routes (assume it is feasible in the

network), and does the congestion control of the elastic flows

in the same manner as in our algorithm. This algorithm is

implemented for the scenario in Phase 5 with the average

rates indicated in Figure 9. We see that due to the absence

of dynamic load balancing, the elastic flows cannot utilize the

network fully since the rates assigned to the inelastic flows

are fixed. Under the logarithm utility function, this approach

achieves a utility of 1.61αK while our algorithm achieves

2.71αK on the elastic flow fe3.

Fig. 8.

flow enters that intersects with

two inelastic flows.

Phase 5: A third elastic

Fig. 9.

rate distribution for inelastic traf-

fic.

Performance under static

In this sequence of simulations, we see that complex inter-

actions between the elastic and inelastic flows, and observed

9

Page 10

that our algorithm achieves optimal performance distributively.

While we have so far focused on the average achieved rates,

in Figure 10, we also show the time evolution of the flow rates

on each route as the network goes through the five phases. We

see in this figure that the rates converge to their optimal value

quickly, which may be important under dynamic conditions.

Fig. 10.Injection rate on each route

C. Simulation using the Virtual Queue Algorithm

In this simulation, we use the joint congestion control and

load balancing algorithm with virtual queue to show the impact

of the virtual queue implementation on delay. The simulation is

conducted in the network showing in Figure 11. The parameter

ρ1was set to 0.95 and ρ2was set to 0.9 over all links.

Fig. 11. Network topology for simulating the virtual queue algorithm

TABLE I

RATE AND DELAY ON EACH ROUTES

w/o virtual queue

rate

4.9955

9.7414

10.259

4.9950

w/ virtual queue

rate

4.4984

10.502

8.5118

4.7817

delay

40.320

0.0440

15.854

77.461

delay

0.5405

0.0005

1.0137

1.9765

route 1

route 2

route 3

route 4

Table I compares the performance with and without virtual

queues. First, we note that on link (2,3), though it is critically

loaded by two types of flows, the inelastic flow has a much

smaller delay comparing with the elastic flow due to the strict

prioritization. Also, as we can observe, under the original

algorithm, Route 1 is critically loaded by inelastic flow, result-

ing in a large delay. With the virtual queue implementation,

we manage to decrease the rate on Route 1, thus dropping

the delay significantly. As one can observe from the table,

the delay is greatly reduced for both elastic and inelastic

traffic without a significant degradation in the rate of the

elastic traffic. Thus, especially under critical loaded scenarios,

virtual queue implementation can achieve significant delay

improvements.

Also, for the elastic flows, the delay drops significantly in

the tradeoff of a small lose in utilization.

VI. CONCLUSION

In this work, we consider the optimal control of networks

that serve heterogeneous traffic types with diverse demands,

namely inelastic and elastic traffic. We formulated a new

network optimization problem and proposed a novel queueing

architecture, and develop a distributed load balancing and con-

gestion control algorithm with provably optimal performance.

We also provided an important improvement to our joint

algorithm to achieve better delay performance by introducing

new design parameters (ρ1,ρ2) together with a set of virtual

queues. We have also extended our algorithm to the case of

allowing elastic flows choose their routes dynamically, which

will further utilize the resource available in the network.

Future research of this topic includes: (i) One future di-

rection is to extend our results to multi-hop wireless net-

works with fading channels and interference, and develop

joint load-balancing/congestion control/routing/scheduling al-

gorithms. (ii) Here, we considered a time-slotted system,

and assumed that the network is perfectly synchronized. The

impact of possible asynchronism on the algorithm performance

needs to be studied. (iii) We adopted a link-centric formula-

tion, which assumes instantaneous arrivals of the packets at all

the links on their routes. An alternative is to consider a node-

centric formulation, where packets are sequentially transferred,

and a source only requires the information of the queues

at the source. (iv) So far, we have focused on the stability

and long term guarantees for the traffic types. We aim to

investigate oscillatory behavior ([20]) and delay characteristics

in our future work. (v) In this work we assume the routes and

the supportability of the inelastic flow are given. Developing

corresponding routing and admission control mechanism will

make it complete.

REFERENCES

[1] E. Altman, T. Bas ¸ar, and R. Srikant. Congestion control as a stochastic

control problem with action delays.

1999. Special Issue on Control Methods for communication networks,

V. Anantharam and J. Walrand, editors.

[2] J. Bolot and A. Shankar. Dynamic behavior of rate-based flow cntrol

mechanisms. ACM Comput. Commun. Rev., 20(2), 1992.

Automatica, pages 1937–1950,

10

Page 11

[3] S. Borst and N. Hegde. Integration of streaming and elastic traffic in

wireless networks. In Proc. INFOCOM, May 2007.

[4] S. Boyd and L. Vandenberghe.

University Press, Cambridge, 2004.

[5] L. Bui, A. Eryilmaz, R. Srikant, and X. Wu.

congestion control and distributed scheduling for wireless networks.

Proceedings of IEEE Infocom 2006.

[6] A. Eryilmaz and R. Srikant.

networks using queue-length based scheduling and congestion control.

In Proceedings of IEEE Infocom, volume 3, pages 1794–1803, Miami,

FL, March 2005.

[7] A. Eryilmaz and R. Srikant. Resource allocation of multi-hop wireless

networks. In Proceedings of International Zurich Seminar on Commu-

nications, February 2006.

[8] A. Eryilmaz, R. Srikant, and J. R. Perkins. Stable scheduling policies

for fading wireless channels. IEEE/ACM Transactions on Networking,

13:411–425, April 2005.

[9] L. Georgiadis, M. J. Neely, and L. Tassiulas. Resource Allocation and

Cross-Layer Control in Wireless Networks.

Trends in Networking.

[10] P. Hande, S. Zhang, and M. Chiang. Distributed rate allocation for

inelastic flows. Networking, IEEE/ACM Transactions on, 15(6):1240–

1253, Dec. 2007.

[11] K. Kar, S. Sarkar, and L. Tassiulas. A simple rate control algorithm

for maximizing total user utillity. In Proceedings of IEEE INFOCOM,

Anchorage, Alaska, 2001.

[12] F. P. Kelly, A. Maulloo, and D. Tan. Rate control in communication

networks: Shadow prices, proportional fairness and stability. Journal of

the Operational Research Society, 49:237–252, 1998.

[13] S. Kunniyur and R. Srikant. Analysis and design of an adaptive virtual

queue algorithm for active queue management. IEEE/ACM Transactions

on Networking, pages 286–299, April 2004. An earlier version appeared

in Proc. ACM Sigcomm 2001.

[14] J. Lee, R. R. Mazumdar, and N. Shroff. Non-convex optimization and

rate control for multi-class services in the internet. IEEE/ACM Trans.

on Networking, 13(4):827 – 840, Aug 2005.

[15] R. Li, A. Eryilmaz, L. Ying, and N. B. Shroff.

fied approach to optimizing performance in networks serving het-

erogeneous flows, 2009.Technical Report, available online at

http://www.ece.osu.edu/∼lir/ElasticInelasticReport.pdf.

[16] X. Lin and N. Shroff. Joint rate control and scheduling in multihop

wireless networks. In Proceedings of IEEE Conference on Decision

and Control, Paradise Island, Bahamas, December 2004.

[17] X. Lin and N. Shroff. The impact of imperfect scheduling on cross-

layer rate control in multihop wireless networks. In Proceedings of

IEEE Infocom, Miami, FL, March 2005.

[18] X. Lin, N. B. Shroff, and R. Srikant.

optimization in wireless networks. IEEE Journal on Selected Areas

in Communications, special issue on Nonlinear Optimization of Com-

munication Systems, 14(8), Aug 2006.

[19] S. H. Low and D. E. Lapsley.

algorithm and convergence. IEEE/ACM Transactions on Networking,

7:861–875, December 1999.

[20] E. Mallada and F. Paganini. Stability of node-based multipath routing

and dual congestion control. Decision and Control, 2008. CDC 2008.

47th IEEE Conference on, pages 1398–1403, Dec. 2008.

[21] M. Neely, E. Modiano, and C. Li. Fairness and optimal stochastic control

for heterogeneous networks. In Proceedings of IEEE Infocom, pages

1723–1734, Miami, FL, March 2005.

[22] M. Neely, E. Modiano, and C. Rohrs. Dynamic power allocation and

routing for time varying wireless networks. In Proceedings of IEEE

Infocom, pages 745–755, April 2003.

[23] S. Patil and G. Veciana. Managing resources and quality of service

in heterogeneous wireless systems exploiting opportunism. IEEE/ACM

Trans. Netw., 15(5):1046–1058, 2007.

[24] D. Qiu and N. B. Shroff. A predictive flow control scheme for efficient

network utilization and QoS. IEEE/ACM Transactions on Networking,

12(1), February 2004.

[25] S. Shakkottai and A. Stolyar. Scheduling algorithms for a mixture of

real-time and non-real-time data in hdr.

International Teletraffic Congress (ITC-17, pages 793–804, 2001.

[26] R. Srikant. The Mathematics of Internet Congestion Control. Birkh¨ auser,

Boston, MA, 2004.

Convex Optimization. Cambridge

Joint asynchronous

Fair resource allocation in wireless

2006. Foundations and

A uni-

A tutorial on cross-layer

Optimization flow control, I: Basic

In in Proceedings of 17th

[27] A. Stolyar. Maximizing queueing network utility subject to stability:

Greedy primal-dual algorithm. Queueing Systems, 50(4):401–457, 2005.

[28] L. Tassiulas and A. Ephremides.

queueing systems and scheduling policies for maximum throughput in

multihop radio networks.IEEE Transactions on Automatic Control,

36:1936–1948, December 1992.

[29] X. Wu and R. Srikant.Regulated maximal matching: A distributed

scheduling algorithm for multi-hop wireless networks with node-

exclusive spectrum sharing. In Proceedings of IEEE Conference on

Decision and Control., 2005.

[30] L. Ying, R. Srikant, A. Eryilmaz, and G. E. Dullerud. Distributed fair

resource allocation in cellular networks in the presence of heterogeneous

delays. In Proceedings of International Symposium on Modeling and

Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOPT), 2005.

Stability properties of constrained

APPENDIX

A. Proof of Proposition 2

Define a Lyapunov function

V (p(t),xi(t))=

1

2

∑

∑

l∈L

(pl(t) − α∗

l)2

+

1

2

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)2

,(19)

where α∗and x∗

and α∗may not be unique. Then we have

isatisfies condition (i) and (ii). Note that x∗

i

d

dtV (p(t),xi(t))

∑

∑

∑

∑

∑

∑

∑

+

(pl(t) − α∗

=

l∈L

(pl(t) − α∗

l) ˙ pl(t)

+

fi∈Fi

(pl(t) − α∗

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)

˙ x(r)

i(t)

=

l∈L

l)(zl(t) + yl(t) − cl)+

pl(t)

+

fi∈Fi

(pl(t) − α∗

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t)

≤

l∈L

l)(zl(t) + yl(t) − cl)

+

fi∈Fi

(pl(t) − α∗

∑

∑

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t)

=

l∈L

l)(zl(t) − z∗

l)

l∈L

l)(yl(t) + z∗

l− cl)

+

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t).

Next, we show the negativity of the drift term by term. First

11

Page 12

we have

∑

∑

(pT(t) − α∗T)Re(xe(t) − x∗

∑

×(xe(t) − x∗

0,

l∈L

(pl(t) − α∗

l)(yl(t) + z∗

l− cl)

≤

l∈L

(pl(t) − α∗

l)(yl(t) − y∗

l)

=

e)

=

(qT(t) − β∗T)(xe(t) − x∗

fe∈Fe

e)

e)

=(U′

e(xe(t)) − U′

e(x∗

e))

≤

(20)

where the first inequality above holds because that y∗

for any l ∈ L, and α∗

if y∗

1.

Without loss of generality, we assume that x∗(1)

fi, then we have

l+z∗

l≤ cl

l= 0 if y∗

l+z∗

l< cl, α∗

l> 0 if and only

l+z∗

l= cl; and the second equality holds due Assumption

i

> 0 for all

∑

+

fi∈Fi

∑

∑

+

|Ri|

∑

(pl(t) − α∗

r=1

(

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)+

x(r)

i

(t)

l∈L

l)(zl(t) − z∗

l)

≤

fi∈Fi

∑

∑

∑

∑

|Ri|

∑

(pl(t) − α∗

r=1

(

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)

l∈L

l)(zl(t) − z∗

l)

=

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

)(

|Ri|

∑

)(

¯ qi(t) − qR(r)

i

(t)

)

)

)

+

l∈L

(pl(t) − α∗

l)

∑

fi∈Fi

r=1

(

x(r)

i(t) − x∗(r)

i

R(r)

i[l]

=

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i(t) − x∗(r)

i

¯ qi(t) − qR(r)

i

(t)

+

∑

fi∈Fi

∑

∑

∑

∑

0,

|Ri|

∑

(

|Ri|

∑

(

r=1

∑

l∈L

(pl(t) − α∗

l)R(r)

i[l]

(

x(r)

i(t) − x∗(r)

i

)

=

fi∈Fi

|Ri|

∑

r=1

x(r)

i(t) − x∗(r)

i

)(

¯ qi(t) − qR(r)

i

(t)

)

+

fi∈Fi

r=1

(

x(r)

i(t) − x∗(r)

i

)(

qR(r)

i

(t) − β∗

R(r)

i

)

=

fi∈Fi

|Ri|

∑

r=1

x(r)

i(t) − x∗(r)

i

)(

∑

¯ qi(t) − β∗

R(r)

i

)

≤(a)

fi∈Fi

(

¯ qi(t) − β∗

R(1)

i

)|Ri|

r=1

(

x(r)

i(t) − x∗(r)

i

)

=(b)

(21)

where inequality (a) holds due to Lemma 1, and equality (b)

holds due to the equality (10).

Thus, from inequalities (20) and (21), we can conclude that

d

dtV (p(t),xi(t)) ≤ 0

for all t. Further more, from inequality (20), we also know

that

d

dtV (p(t),xi(t)) = 0 if and only if xe(t) = x∗

e.

B. Proof of Proposition 5

We construct a partial Lagrangian to solve the FNO-DR

problem. Let λland µd

with the constraints (15) and (17) respectively. Further, let

λ = {λl}l and µ = {µd

partial Lagrangian can be written as:

ibe the Lagrange multipliers associated

i}id be the respective vectors, the

L(x,r,λ,µ)=

∑

−

∑

s,d∈N

Ud

s(xd

s) −

∑

∑

sxd

l∈L

λl(yl+ zl− cl)

∑

(Ud

∑

∑

i,d∈N

µd

i(xd

i+

m∈N

rd

mi−

∑

j∈N

rd

ij)

=

s,d

s(xd

s) − µd

s

)

+

d

λlzl+

∑

(i,j)∈L

rd

ij(µd

i− µd

j− λij)

−

l

∑

l

λlcl

This problem satisfies Slater’s condition, thus strong duality

holds. From the optimality conditions, we know that the

optimal solution (x∗,r∗,λ∗,µ∗) must satisfy the following

conditions:

y∗

∑

s)′−1(µ∗d

l+ z∗

r∗d

l≤ cl, ∀l ∈ L,

ij≤ 0, ∀i,d ∈ L

(22)

(23)

x∗d

i +

∑

x∗d

m

r∗d

mi−

j

s = (Ud

∑

λ∗

r∗d

mi−

s), ∀s,d ∈ N,

(24)

r∗d

ij∈ argmax

0≤rd

ij≤P

∑

∑

d

(i,j)∈L

l(y∗

rd

ij(µ∗d

i − µ∗d

j − λ∗

ij)

,

(25)

l+ z∗

∑

l− c∗

r∗d

ij) = 0, ∀i,d ∈ N,

l) = 0, ∀l ∈ L,

(26)

(27)

µ∗d

i(x∗d

i +

m∈N

j∈N

where (22) and (23) are the primal feasibility, (24) and (25)

are the primal optimality condition and (25)—(27) are the

complementary slackness condition.

12

Page 13

Define a Lyapunov function

V (p(t),s(t),xi(t),r(t))

1

2

l∈L

+1

2

fi∈Fi

+1

2

i,d∈N

+1

2

(i,j)∈L,d∈N

=

∑

(pl(t) − λ∗

l)2

∑

∑

|Ri|

∑

(sd

r=1

(

x(r)

i(t) − x∗(r)

i

)2

i(t) − µ∗d

i)2

∑

(rd

ij(t) − r∗d

ij)2,

Then its drift is given by the following. From here we omit

the time index (t) for brevity.

d

dtV (p,s,xi,r)

∑

∑

∑

+(rd

=

l

(pl− λ∗

l)(zl+ yl− cl)+

pl

+

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i

− x∗(r)

i

)(

∑

¯ qi− qR(r)

i

)+

x(r)

i

+

i,d

∑

(pl− λ∗

∑

∑

∑

∑

(sd

i− µ∗d

i)

xd

ij)˙rd

i+

m

rd

mi−

∑

j

rd

ij

+

sd

i

(i,j),d

∑

+

ij− r∗d

ij

≤

l∈L

l)(zl− z∗

l)

(28)

l∈L

(pl− λ∗

l)(yl+ z∗

l− cl)

(29)

+

fi∈Fi

|Ri|

∑

r=1

(

x(r)

i

− x∗(r)

i

)(

∑

j− pij

¯ qi− qR(r)

i

)

(30)

+

i,d

(sd

i− µ∗d

i)

xd

i+

m

rd

mi−

∑

j

rd

ij

(31)

+

(i,j),d

(rd

ij− r∗d

ij)(sd

i− sd

)

(32)

Next, we show the negativity of the drift. First, from the

proof of the fixed route scenario, we know that (28)+(30) ≤ 0

follows the same reasoning there.

(29) + (31)

∑

∑

∑

+

≤

(i,j)∈L

(pij− λ∗

ij)(

∑

∑

d

rd

ij−

∑

d

r∗d

ij)

+

i,d

(sd

i− µ∗d

i)

xd

i+

∑

ij−

m

rd

mi−

∑

)

∑

∑

j

rd

ij

=

(i,j)∈L

∑

∑

(pij− λ∗

ij)(

d

rd

d

r∗d

ij)

(33)

i,d

(sd

i− µ∗d

i)(xd

i− x∗d

i

(34)

+

i,d

(sd

i− µ∗d

i)

x∗d

i +

m

rd

mi−

∑

j

rd

ij

(35)

Notice that

(34) =

∑

i,d

((Ud

s)′(xd

i) − (Ud

s)′(x∗d

i))(xd

i− x∗d

i

),

and the assumption that the utility function Ud

function, we have (34) ≤ 0. By adding and subtracting the

same term∑

sis a concave

i,d

(

µ∗d

i

(∑

mr∗d

mi−∑

jr∗d

ij

))

to the rest of the

terms, we get

(33) + (35)

∑

+

=

(i,j),d

pijrd

ij−

∑

(i,j),d

pijr∗d

ij−

∑

(i,j),d

λ∗

ijrd

ij

(36)

∑

∑

∑

∑

∑

(i,j),d

λ∗

ijr∗d

ij

(37)

+

i,d

x∗d

x∗d

µ∗d

µ∗d

isd

i+ sd

i

∑

∑

r∗d

mi−

m

rd

mi−

∑

j

rd

ij

r∗d

ij

(38)

−

i,d

iµ∗d

i + µ∗d

i

m

r∗d

mi−

∑

j

(39)

(40)

+

i,d

i

∑

∑

m

∑

∑

j

r∗d

ij

−

i,d

i

m

rd

mi−

j

rd

ij

(41)

Note that (39) = 0 by (27). Combine the first term in (36)

with (38), the third term with (41) and (37) with (40), we get

13

Page 14

(33) + (35)

∑

i,d

(i,j),d

(i,j),d

∑

i,d

∑

∑

−

(i,j),d

−(32)

=

−

(i,j),d

pijr∗d

ij

+

∑

∑

∑

x∗d

isd

i−

∑

(i,j),d

rd

ij(sd

i− sd

j− pij)

−

r∗d

ij(µ∗d

i − µ∗d

j − λ∗

ij)

+rd

ij(µ∗d

i − µ∗d

j − λ∗

ij)

≤(a)

−

(i,j),d

pijr∗d

ij

+

∑

∑

−

(i,j),d

x∗d

isd

i−

∑

(i,j),d

rd

ij(sd

i− sd

j− pij)

≤(b)

i,d

∑

j

r∗d

ij−

∑

m

r∗d

mi

sd

i−

∑

(i,j),d

pijr∗d

ij

rd

ij(sd

i− sd

j− pij)

=

(i,j),d

r∗d

ij(sd

i− sd

j− pij)

∑

rd

ij(sd

i− sd

j− pij)

=

where (a) holds since r∗d

λ∗

∑

ijmaximizes∑

j−λ∗

(i,j),drd

− µ∗d

ij(µ∗d

i−µ∗d

− λ∗

j−

ij) ≥

ij) over all rd

(i,j),drd

Thus, we conclude that

ij, thus

i−µ∗d

∑

(i,j),dr∗d

ij) and (b) holds follow from (23).

ij(µ∗d

ij

ij(µ∗d

d

dtV (p(t),s(t),xi(t),r(t)) ≤ 0

for all t, and the equality holds if and only if xe(t) = x∗

e.

Ruogu Li (S ’10) received his B.S. degree in Elec-

tronic Engineering from Tsinghua University, Bei-

jing, in 2007. He is currently a PhD student in Elec-

trical and Computer Engineering at the Ohio State

University. His research interests include optimal

network control, wireless communication networks,

low-delay scheduling scheme design and cross-layer

algorithm design.

Atilla Eryilmaz (S ’00-M ’06) received his M.S.

and Ph.D. degrees in Electrical and Computer Engi-

neering from the University of Illinois at Urbana-

Champaign in 2001 and 2005, respectively. Be-

tween 2005 and 2007, he worked as a Postdoctoral

Associate at the Laboratory for Information and

Decision Systems at the Massachusetts Institute of

Technology. He is currently an Assistant Professor

of Electrical and Computer Engineering at the Ohio

State University. His research interests include com-

munication networks, optimal control of stochastic

networks, optimization theory, distributed algorithms, stochastic processes and

network coding. He received the NSF CAREER Award in 2010.

Lei Ying (M’07) received his B.E. degree from

Tsinghua University, Beijing, in 2001, his M.S. and

Ph.D in Electrical Engineering from the University

of Illinois at Urbana-Champaign in 2003 and 2007,

respectively. During Fall 2007, he worked as a

Postdoctoral fellow in the University of Texas at

Austin. He is currently an Assistant Professor at the

Department of Electrical and Computer Engineering

at Iowa State University. His research interest is

broadly in the area of information networks, includ-

ing wireless networks, mobile ad hoc networks, P2P

networks, and social networks. He received a Young Investigator Award from

the Defense Thread Reduction Agency (DTRA) in 2009, NSF CAREER

Award in 2010, and is named Litton Assistant Professor at the Department of

Electrical and Computer Engineering at Iowa State University for 2010-2011.

Ness B. Shroff (S91 / M93 / SM01/ F07) is currently

the Ohio Eminent Scholar of Networking and Com-

munications, and Professor of ECE and CSE at The

Ohio State University. Previously, he was a Professor

of ECE at Purdue University and the director of

the Center for Wireless Systems and Applications

(CWSA), a university-wide center on wireless sys-

tems and applications. His research interests span the

areas of wireless and wireline communication net-

works, where he investigates fundamental problems

in the design, performance, pricing, and security of

these networks.

Dr. Shroff has received numerous awards for his networking research, in-

cluding the NSF CAREER award, the best paper awards for IEEE INFOCOM

06 and IEEE INFOCOM08, the best paper award for IEEE IWQoS06, the best

paper of the year award for the Computer Networks journal, and the best paper

of the year award for the Journal of Communications and Networks (JCN)

(his IEEE INFOCOM05 paper was one of two runner-up papers). He also

currently serves as a guest chaired professor of Wireless Communications in

the department of Electronic Engineering, at Tsighnua University, in Beijing,

China.

14