distributed optimal contention window control for...

49

Click here to load reader

Upload: ngonhan

Post on 03-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

1

Distributed Optimal Contention Window Control forElastic Traffic in Wireless LANs

Yaling Yang, Jun Wang and Robin KravetsUniversity of Illinois at Urbana-Champaign yyang8, junwang3, [email protected]

Abstract— This paper presents a theoretical study on dis-tributed contention window control algorithms for achievingarbitrary bandwidth allocation policies and efficient channelutilization. By modeling different bandwidth allocation poli-cies as an optimal contention window assignment problem,we design a general and fully distributed contention windowcontrol algorithm, called GCA (General Contention windowAdaptation), and prove that it converges to the solution ofthe contention window assignment problem. By examiningthe stability of GCA, we identify the optimal stable pointthat maximizes channel utilization and provide solutions tocontrol the stable point of GCA near the optimal point. Dueto the generality of GCA, our work provides a theoreticalfoundation to analyze existing and design new contentionwindow control algorithms.

I. INTRODUCTION

Due to the shared nature of wireless channels and theintrinsic scarcity of bandwidth in wireless LANs, nodesmust contend for the channel and compete for bandwidth.While both contention resolution and bandwidth alloca-tion can be achieved through centralized scheduling at awireless LAN access point, such centralized control is notscalable to a large number of nodes, suggesting the use ofdistributed algorithms for both contention resolution andbandwidth allocation. Common distributed contention res-olution protocols, including IEEE 802.11 [20], MACA [10]and MACAW [3], use contention windows to control thechannel access of nodes. Contention windows not onlyreduce network congestion, but also directly affect theshare of bandwidth that a node achieves during competitionfor the channel. Therefore, it is natural to extend suchalgorithms to support bandwidth allocation.

Applications requiring bandwidth allocation can eitherbe realtime traffic (e.g., video/audio streaming) or elas-tic traffic [19] (e.g., file transfer). While realtime trafficrequires service guarantees to ensure optimal bandwidthallocation, elastic traffic always has backlogged packetsand adjusts its rate to fill the available bandwidth. Hence,competing flows with elastic traffic are more concernedabout fairness and efficiency of bandwidth allocation.While efficiency is defined by bandwidth utilization, fair-ness must be defined by the goals of the particular net-work, which may mean uniform bandwidth allocation or

weighted proportional bandwidth allocation or the highestpriority node obtaining all bandwidth. The focus of thispaper is to use contention window control to allocate band-width to elastic traffic so that both an arbitrary definitionof fairness and efficient channel utilization are achieved.Using contention window control for service guaranteesfor realtime traffic is beyond the scope of this paper andcan be found in our technical report [22].

There have been extensive studies on contention win-dow control in wireless LANs. However, none of theseapproaches can support both an arbitrary definition offairness and efficient use of bandwidth. The first type of al-gorithm, including IEEE 802.11e [15] and [1], assigns dif-ferent minimum contention window sizes to different typesof nodes to achieve weighted fairness. However, sinceminimum contention window sizes are pre-configured anddo not adapt to congestion, such approaches do not utilizethe channel efficiently. The second type of algorithm,including AOB [5], MFS [13], [6] and [7], only focuseson efficient channel utilization in the context of uniformbandwidth allocation and the support for other definitionsof fairness is limited. The third type of algorithm, includingPFCR [17], tries to provide a more general definition offairness by modeling fairness as an optimization problemof transmission rate allocation. However, the mapping be-tween rate allocation and contention window adaptation inPFCR is only appropriate for a limited set of fairness def-initions (See Section VIII-A). The final type of algorithm,P-MAC [18], tries to achieve both proportional fairness andefficient utilization by estimating the contention windowsused by the competing nodes. Such estimation requires thatevery node, with or without packets for transmission, muststart P-MAC simultaneously and calculate the contentionwindow sizes for all other nodes synchronously. Nodeswith outdated contention window sizes of the other nodesdue to asynchronous starting time or temporary failure maycause the algorithm to fail.

Due to the limitations of the existing approaches,we propose our distributed contention window controlalgorithm, called GCA (General Contention windowAdaptation), which can be used to achieve optimal band-width allocation for competing wireless nodes in termsof efficient channel utilization and various definitions of

Page 2: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

2

fairness. The goal of GCA is to provide a general solutionfor design and analysis of dynamic contention windowcontrol algorithms in wireless LANs.

There are four major contributions of this paper. First,we identify and model, for the first time, an arbitraryfairness definition as an optimization problem for con-tention window assignment. Second, even though a node’sbandwidth share depends on the contention window sizesof all competing nodes, GCA does not require any globalknowledge. In GCA, a node only adjusts its own contentionwindow size based on locally available information andthe system automatically converges to any given fairnessdefinition. Third, by studying the properties of the stablepoint of GCA, we show that efficient channel utilizationcan also be achieved by controlling the stable point.Finally, we demonstrate that GCA provides a systematicscheme to generalize and evaluate related approaches.

This paper is organized as follows. Section II reviewsthe IEEE 802.11 contention resolution and the relationshipbetween bandwidth allocation and contention window size.Section III relates an arbitrary fairness definition to an op-timal contention window assignment problem. Section IVintroduces our contention window control algorithm, GCA.Section V shows that GCA converges to the solution ofthe optimal contention window assignment problem andSection VI shows how to control the stable point of GCAto achieve high channel utilization. Section VII discussesguidelines for implementing GCA. In Section VIII, we useGCA to analyze several existing approaches. Section IXpresents the evaluation of GCA using simulations. Finally,Section X concludes and discusses future research.

II. BANDWIDTH ALLOCATION AND CONTENTION

WINDOW SIZE

To realize fair bandwidth allocation by adapting con-tention window sizes, it is essential to understand therelationship between a node’s bandwidth allocation andits contention window size. In this section, we first brieflyreview the contention resolution algorithm in IEEE 802.11and then introduce the relationship between the contentionwindow size and bandwidth allocation.

A. IEEE 802.11 DCF

In IEEE 802.11 DCF [20], before a transmission, a nodemust determine whether the medium is busy or idle. Ifthe medium remains idle for DIFS time units, the nodecan transmit. If the medium was initially busy or changedfrom idle to busy during the DIFS, the node must deferits transmission. The first part of the deferment period isdetermined by the success of the last transmission. If thelast frame was successful, the node waits DIFS time units.If the last frame was not successful, the node waits EIFS

time units. The second part of the deferment period is de-termined as Backoff Time = Random()× aSlotTime, whereRandom() is a pseudo-random integer uniformly distributedover [0,W ]. The contention window, W , is an integer inthe range [minimum contention window (W min), maximumcontention window (W max)]. For every idle aSlotT ime, thebackoff timer is decremented by aSlotT ime. The timer isstopped when the medium is busy and restarted after themedium is idle for a DIFS. When the timer expires, thenode can transmit. The transmission includes either a four-way RTS-CTS-DATA-ACK handshake or just a two-wayDATA-ACK handshake. After a successful transmission,W is set to Wmin. After an unsuccessful transmission, W

is doubled, up to W max.

B. Bandwidth Allocation vs. Contention Window Size

To understand the relationship between bandwidth allo-cation and contention window size, we use the followingresult presented in [14]:

si

sj=

LiWminj

LjW mini

,exponential increase of Wi

after a collision,LiWj

LjWi, Wi does not change after a collision,

(1)where si is the absolute bandwidth allocated to Node i

in bits per second. Li is the channel transmission rate,S, multiplied by the duration of a successful transmissionat Node i, including the DIFS and RTS/CTS/DATA/ACKhandshake. Since all nodes carry elastic traffic and alwayshave backlogged packets, the combined transmissions ofall nodes consume the entire network capacity, C. Hence,

i∈N

si = C, (2)

where N is the set of all transmitting nodes. CombiningEquations (1) and (2), the fraction of channel bandwidthallocated to Node i, xi, is

xi =si

C=

Li/W mini∑

k∈NLk/W min

k

,exponential increaseof Wi after a collision,

Li/Wi∑k∈N

Lk/Wk, otherwise

(3)Equation (3) shows that the relationship between xi andWi is approximately the same as the relationship betweenxi and Wmin

i . Therefore, in the rest of this paper, wedesign GCA assuming no exponential increase of Wi aftera collision. Our algorithm can also be used to dynamicallyadjust Wmin

i when exponential increase is used, which wevalidate through simulation (see Section IX). Notation forthe entire paper can be found in Appendix D.

III. FAIRNESS FORMULATION

In this section, to design a contention window controlalgorithm that supports various fairness definitions, we first

Page 3: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

3

formulate the general fairness requirement as an optimalbandwidth allocation problem, and then translate it to anoptimal contention window assignment problem.

A. Optimal bandwidth allocation (OPT BW )

Following [11], [16], fair bandwidth allocation in wire-less LAN can be modeled as an optimization problem.In this formulation, each Node i is assumed to have autility of Ui(si) when its bandwidth allocation is si. Forelastic traffic, Ui(si) is an increasing, strictly concave andcontinuously differentiable function of si over the rangesi ≥ 0 [19]. Assuming that the channel capacity is C, theoptimal bandwidth allocation can be formulated as follows:

OPT BW (U, C) :

max∑

i∈N Ui(si)

subject to ∑i∈N si ≤ C and si ≥ 0 for i ∈ N .

According to the Karush-Kuhn-Tucker optimality condi-tion [2], the unique solution to OPT BW is given by [11]:

U ′i(si) = µ, for i ∈ N

µ(C −∑

i∈N si) = 0,

µ ≥ 0,

(4)

where µ is the Lagrange multiplier. Different defini-tions of utility functions result in different solutions toOPT BW (U, C) and so achieve different definitions offairness [16] (See examples in Section VII-B).

In wired networks, OPT BW (U, C) is solved using adistributed rate adaptation algorithm [11]. Because wirednetworks are assumed to be point-to-point and/or have highlink bandwidth, the sending rate of a node is essentiallyits own TCP congestion window size over its own roundtrip time. Therefore, the rate adaptation algorithm is easyto implement in wired networks through TCP congestionwindow control. However, in wireless networks, the send-ing rate of a node depends on the contention windowsizes of all competing nodes, and so no node has directcontrol over its sending rate. Therefore, the same ratecontrol algorithm can not be directly applied to contentionwindow control (see an example in Section VIII-A). Tosolve OPT BW (U, C), we must translate OPT BW (U, C)

to a problem of contention window assignment, calledOPT WIN .

B. Optimal contention window assignment (OPT WIN)

To translate the OPT BW (U, C) problem to theOPT WIN problem, we first map Ui(si) in OPT BW (U, C)

to a function of xi by substituting Ui(si) with Ui(xi), whereUi(si) = Ui(xiC) = Ui(xi). Similar to Ui(si), Ui(xi) is anincreasing, strictly concave and continuously differentiablefunction of xi over the range xi ≥ 0. Then, based on

Equation (3) and using the fact that∑

i∈N xi ≡ 1, wereplace xi with Wi in the OPT BW (U, C) and finally getthe OPT WIN problem as follows:

OPT WIN(U , C) :

max∑

i∈N Ui(LiWi∑

k∈N

LkWk

)

overWi > 0 for i ∈ N .

By replacing si in Equation (4) with Wi based on Equation

(3) and using the fact that (1 −∑

i∈N

LiWi∑

k∈N

LkWk

) ≡ 0, the

solution to OPT WIN(U , C) is given by:

U ′i

(Li/Wi∑

k∈NLk/Wk

)= µ, for ∀i ∈ N

µ ≥ 0.(5)

It is very important to note that, although the solution toOPT WIN(U , C) is unique in terms of xi =

Li/Wi∑k∈N

Lk/Wk, it

is not unique in terms of Wi. Consider contention windowsizes W = Wi : i ∈ N that solve OPT WIN(U , C). WhenW is multiplied by a constant factor a, the resulting con-tention window assignment aW = aWi : i ∈ N is also asolution to OPT WIN(U , C). Among the possible solutionsto OPT WIN(U , C) that satisfy the fairness requirement,channel utilization can be quite different. Therefore, theidentification of the solution of OPT WIN(U , C) that max-imizes channel utilization is important (see Section VI-A).

IV. GENERAL CONTENTION WINDOW ADAPTATION

ALGORITHM (GCA)

In this section, we present GCA, our distributed con-tention window control algorithm that achieves both fairbandwidth allocation for arbitrary definitions of fairnessand high bandwidth utilization. Since GCA is fully dis-tributed, each node needs only collect local informationand adjust its contention window size accordingly. Inaddition, unlike previous work on dynamic contentionwindow control [5], [6], [7], [17], [18], GCA can be usedin a network where nodes have different frame sizes.

In GCA, a Node i adapts its Wi according to thefollowing differential equation:

Wi(t) = −αWi(t)[U′i(xi) − f(Ω)], (6)

where α is a positive constant factor, Wi(t) is the timederivative of Wi, f(·) is a function of a locally observablechannel state Ω and Ω can be known by any node throughmonitoring the channel locally.

Although there are various choices of Ω and f(·), GCAdoes make three assumptions about them. First, Ω must beobservable by all nodes sharing the channel and all nodesmust be pre-configured with the same f(·). Since in thenetworks targeted by GCA, every node can hear each other

Page 4: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

4

Busy Channel

State

D I F

S

a S l o

t T i m

e a S

l o t T

i m e

a S l o

t T i m

e

Busy

D I F

S

a S l o

t T i m

e

Real time

Backoff timer of Node i

Busy

Node i transmits Virtual time slots

Real time

a S l o

t T i m

e

a S l o

t T i m

e

Fig. 1. Virtual slots

and hence see the same channel state, the first assumptionis not very restrictive. Second, to guarantee that the systemstabilizes at a unique point (see details in Section V),the value of Ω must depend on the window sizes andpacket lengths of all nodes. In other words, denotingW = Wi : i ∈ N and L = Li : i ∈ N, GCA requiresΩ = Ω(W,L). Such Ω is not hard to find since many channelstates depend on W and L (e.g., packet transmission delay,average length of an idle period or collision probability).Third, f(Ω) must be strictly increasing with respect to∑

i∈NLi

Wiinside a certain set of system states. Given the

relationship between Ω and (W,L), by choosing the rightform of f(·), f(Ω) can easily meet the third assumption.As long as the three assumptions are satisfied, GCA isnot limited to any specific Ω or f(·). We demonstrate inSection VIII that these assumptions are easy to meet andGCA can be used to model different dynamic contentionwindow control algorithms.

To implement GCA in a real system, the update algo-rithm in Equation (6) must be translated to its discretecounterpart. To find the appropriate time interval betweenupdates, note that the state transition of a wireless LANis a discrete-time Markov process as shown in the Bianchimodel [4] of IEEE 802.11. The time unit for this discrete-time process, called a virtual slot, is the time period fora backoff node to decrement its backoff timer by one. Atmost one packet can be transmitted in a virtual slot anda collision happens when there are multiple transmissionattempts in the same virtual slot. Figure 1 illustrates anexample of this model. The example shows that a virtualslot can either be exactly an aSlotT ime period during theidle time of the channel (e.g., the first virtual slot) orinclude a busy period, a DIFS and an aSlotT ime if thechannel is busy (e.g., the second virtual slot).

Since the network state only changes in the steps ofvirtual slots, the effects of any contention window updatecan not be seen in any smaller time unit than a virtualslot. Therefore, the update interval of GCA should not besmaller than a virtual slot. If a node updates its contentionwindow size at the end of every backoff slot, essentially atevery virtual slot, the discrete version of GCA becomes:

W k+1i = W k

i − αW ki [U ′

i(xki ) − f(Ωk)]. (7)

If a node only performs the window size update for eachpacket transmission, which means that the average numberof virtual slots between each update is Wi

2 , the discreteversion of GCA becomes:

W k+1i = W k

i − 0.5α(W ki )2[U ′

i(xki ) − f(Ωk)]. (8)

The GCA algorithm itself is simple and only requires lo-cal information about the state of the network. Despite thissimplicity, GCA converges to the solution of OPT WIN

(see Section V) and can also achieve efficient channelutilization (see Section VI).

V. CONVERGENCE AND FAIRNESS OF GCA

In this section, we prove that GCA, as expressed inEquation (6), asymptotically converges to a unique pointthat is a solution to OPT WIN given the three assumptionsabout f(Ω). Our proof includes two theorems. Theorem 1states that under the first assumption of f(Ω), GCA con-verges to an invariant set [12] where each element of theset is a solution to OPT WIN . Based on the second andthird assumptions for f(Ω), the second theorem shows thatGCA converges to a unique point that solves OPT WIN .

Theorem 1: Starting from any initial state of W, GCAconverges to an invariant set Γ = W : Wi

Wi=

Wj

Wj, for ∀i, j ∈

N and every element in Γ is a solution to OPT WIN . Inaddition, inside Γ, the U ′

i(xi) in Equation (6) remains a con-stant and U ′

i(Li/Wi∑

k∈NLk/Wk

) = U ′j(

Lj/Wj∑k∈N

Lk/Wk), for ∀i, j ∈ N .

Proof: The proof consists of three steps. At step one,for notation simplicity, we translate GCA in Equation (6)to an equivalent algorithm of Zi = 1

Wi, called GCA-Z. At

step two, we prove that GCA-Z converges to an invariantset R. At step three, using the equivalence between GCAand GCA-Z, we find the invariant set Γ of GCA and showthat every point in Γ is a solution to OPT WIN .

Step 1: From Zi = 1/Wi, we have Zi = − 1(Wi)2

Wi =

−Z2i Wi. By replacing xi in Equation (6) with Wi based on

Equation (3) and then replacing Wi and Wi with Zi and Zi,GCA is translated to GCA-Z as follows:

Zi = αZi

[U ′

i(ZiLi∑

k∈N ZkLk) − f(Ω)

]. (9)

Step 2: Define a scalar function V (Z) as:

V (Z) =∑

i∈N

Ui(ZiLi∑

k∈N ZkLk), (10)

where Z = Zi : i ∈ N. According to Lemma 1 inAppendix A, V is a Lyapunov function for GCA-Z withV ≥ 0 1 and the zero values of V are obtained in the set:

R =

Z :

Zi

Zi=

Zj

Zj, ∀i, j ∈ N

. (11)

1Note that for a maximization problem, the convergence condition isV ≥ 0 [11], [21].

Page 5: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

5

According to Lemma 2 in Appendix B, R is an invariantset for GCA-Z and every element inside R satisfies

U ′i(

ZiLi∑k∈N ZkLk

) = U ′j(

ZjLj∑k∈N ZkLk

) = constant, ∀i, j ∈ N .

(12)Therefore, whenever the system state evolves into R, it re-mains in R. Using the La Salle Invariant Set Principle [12],we conclude that GCA-Z converges to R.

Step 3: Due to the equivalence between GCA and GCA-Z, we conclude that GCA converges to an invariant set Γ.Replacing Wi and Wi with Zi and Zi in Equations (11) and

(12), Γ can be expressed as Γ =

W : Wi

Wi=

Wj

Wj, ∀i, j ∈ N

and every element inside Γ satisfies U ′i(

Li/Wi∑k∈N

Lk/Wk) =

U ′j(

Lj/Wj∑k∈N

Lk/Wk) = constant, ∀i, j ∈ N . Clearly, Γ matches

the optimality condition for OPT WIN in Equation (5)and so any element in Γ solves OPT WIN .

Theorem 2: If Ω = Ω(W,L) and f(Ω) is strictly increas-ing with respect t

∑i∈N

Li

Wiinside Γ, starting from any

initial state of W, GCA converges to a unique point W ∈ Γ

that solves OPT WIN .Proof: Since Zi = 1

Wi, the assumptions in this

theorem are equivalent to that Ω = Ω(Z,L) and f(Ω) isstrictly increasing with respect to

∑i∈N ZiLi. According to

Lemma 3 in Appendix C, with these assumptions, GCA-Zhas a unique equilibrium point Z in R and starting fromany point in R, GCA-Z converges to Z. Based on theequivalence between GCA and GCA-Z, we conclude thatstarting from any point in Γ, the algorithm of Equation (6)converges to a unique equilibrium point W in Γ. Note thatTheorem 1 already shows that starting from any initial stateof W, the algorithm of Equation (6) converges to Γ andevery element of Γ is a solution to OPT WIN . Therefore,we conclude that in the context of the assumptions, startingfrom any initial state of W, GCA converges to a uniquepoint W ∈ Γ that solves OPT WIN .

Theorems 1 and 2 demonstrate that the system is stableunder the control of GCA and that GCA converges toa unique point that solves OPT WIN . Therefore, GCAachieves arbitrary fairness definitions. Next, we presenthow GCA can be used to achieve high channel utilization.

VI. CHANNEL UTILIZATION OF GCA

Theorem 1 shows that the choice of utility functionsdefines the ratios of Wi’s at the stable point of GCA, and,therefore, the fairness between nodes. However, multipleassignments of W may satisfy the same ratio conditionand their channel utilization may be quite different.

Theorem 2 shows that the choice of f(Ω) ensures thatthe system only has one stable point and hence determineschannel utilization. If W at the stable point is too large,channel bandwidth is not fully utilized since idle periodsare too long. If W at the stable point is too small, collisions

increase, which also results in inefficient use of bandwidth.Therefore, the problem of maximizing channel utilizationis essentially the problem of choosing the right f(·) and Ω.Together with the choice of utility functions, this shouldenable the system to stabilize at a point that achieves boththe fairness definition and high channel utilization.

A. Optimal Stable Point

To choose f(Ω) to stabilize the system at a pointthat maximizes channel utilization, we need to identifythe optimal stable point. In this section, we analyze theproperty of the optimal stable point of GCA and show thatat the optimal stable point, the sum of the reciprocals of allWi’s, denoted ω, is quasi-constant regardless of the numberof competing nodes and therefore can be pre-calculated.Using this property, we can design f(Ω) to ensure thatGCA converges around the optimal stable point.

To identify the property of ω at the optimal stable point,assume there are n competing nodes belonging to m classesc1, c2, . . . cm and nodes in the same class have the sameutility function. The fraction of nodes in each class isβ1, β2, . . . βm, where

∑mi=1 βi = 1. To capture the fact that the

ratios between contention window sizes are determined bythe choice of utility functions and the fact that the nodesin the same class share the same utility function, we definea new variable ϕi as follows:

ϕi =1/Wi∑n

j=1 1/Wj=

1/Wi

ω, ∀1 ≤ i ≤ n, (13)

ϕi = ϕj = ϕck , ∀i, j ∈ ck, (14)

where∑n

i=1 ϕi =∑m

k=1 nβkϕck = 1.To maximize channel utilization, the average time be-

tween each successful transmission, denoted as F , must beminimized. F includes two types of virtual slots, idle slotsand slots with collisions. Given the probability that a slotis an idle slot, PI , and the probability that a slot includesa collision, Pc, the average number of virtual slots in F is

11−Pc−PI

− 1. In average, a PI

PI+Pcfraction of these slots is

idle and a Pc

PI+Pcfraction includes collisions. Therefore

F =1

1 − Pc − PI(aSlotT ime · PI + TcPc), (15)

where aSlotT ime is the duration of an idle virtual slot andTc is the duration of a virtual slot with a collision.

Based on the Bianchi model [4], the probability thatNode i transmits in a virtual slot is 1/(Wi/2 + 1) and PI

equals the probability that no node transmits in a slot.Therefore, using Equations (13) and (14) ,

PI =n∏

i=1

(1 −1

Wi/2 + 1) =

1∏mk=1(1 + 2ωϕck)nβk

. (16)

Page 6: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

6

50 100 150 2000

0.05

0.1

0.15

0.2

ωop

t

n

Configuration 1Configuration 2Configuration 3

Fig. 2. ωopt in three network configurations. Configuration 1 has1 class, Configuration 2 has 2 classes with ϕc1

: ϕc2= 1 : 5 and

β1 : β2 = 0.5 : 0.5 and Configuration 3 has 4 classes with ϕc1: ϕc2

:

ϕc3: ϕc4

= 1 : 5 : 10 : 20 and β1 : β2 : β3 : β4 = 0.5 : 0.3 : 0.15 : 0.05

Since a collision happens in a slot when more than onenode transmits in that slot,

Pc = 1 − PI −∑n

i=11

Wi/2+1

∏nj=1,j 6=i(1 − 1

Wj/2+1)

= 1 − (1 + 2ω)PI .(17)

Using Equations (16) and (17), Equation (15) becomes

F (ω) =1

[Tc

m∏

k=1

(1 + 2ωϕck)nβk − Tc(1 + 2ω) + aSlotT ime

].

Since the ω that minimizes F , denoted ωopt, satisfiesF ′(ωopt) = 0, by setting F ′(ω) = 0, we get:[1 −

m∑

k=1

(2ωoptnβkϕck

1 + 2ωoptϕck

)

]m∏

k=1

(1+2ωoptϕck )nβk = 1−aSlotT ime

Tc.

(18)Since

∑mk=1 nβkϕck = 1, when n → ∞, Equation (18)

becomes:

(1 − 2ωopt)e2ωopt = 1 −

aSlotT ime

Tc. (19)

Solving this equation gives the lower bound of ωopt.Figure 2 depicts how ωopt changes as n increases. As wecan see, for a large n, ωopt is a quasi-constant and thedifferences between different configurations of classes arehard to distinguish. Therefore, we can pre-calculate thisquasi-constant and pre-configure GCA to converge aroundthis value by a proper design of f(Ω).

B. Choice of f(Ω)

Since ωopt is a quasi-constant, by controlling the systemto stabilize near ωopt, the channel utilization is close tothe maximum value. To achieve this, f(Ω) should be alarge negative value when the ω of the system is muchlarger than ωopt. This large negative value of f(Ω) forcesthe system to increase its W (see Equation (6)), drivingits ω back to ωopt. Similarly, when the ω of the system ismuch smaller than ωopt, f(Ω) should be a large positivevalue to drag the system back to ωopt. Examples of f(Ω)

are presented in Section VIII. Our simulation results inSection IX verify the effectiveness of this approach.

VII. IMPLEMENTATION CONSIDERATIONS

In the previous section, we introduced GCA and ana-lyzed its fairness and efficiency. In this section, we addresstwo implementation issues of GCA: estimation of xi inEquation (6) and choice of utility functions.

A. Estimation of xi

Given the network capacity C, a node can simply ob-serve its own sending rate, si, to obtain xi, since xi = si/C.However, the capacity of a wireless channel may vary dueto outside interference, such as a microwave. Therefore,this method is not practical for use in real networks.However, a node can directly estimate its xi by observingtwo states of the channel, the average number of idlevirtual slots between two busy virtual slots, I, and theaverage length of a busy virtual slot, Tb. Since in IEEE802.11 networks a node monitors the channel continuously,I and Tb can be obtained at the MAC layer easily. In therest of this section, IEEE 802.11 DCF RTS/CTS mode isused as an example to show how this can be done.

Let Pb be the probability that a virtual slot is a busyslot. Since I is the average number of idle slots betweentwo consecutive busy slots,

Pb = 1 − PI =1

I + 1. (20)

Since a busy virtual slot is caused either by a successfultransmission or by a collision, the average length of a busyslot, Tb, can be expressed as:

Tb = Ts

∑i∈N Pi

Pb+ Tc

Pc

Pb, (21)

where Pi is the probability that Node i successfully trans-mits in a virtual slot, Ts is the average length of a virtualslot with a successful transmission and Tc is the durationof a virtual slot with a collision. Ts can be expressed asTs = RTS + CTS + 3 × SIFS + DATA + ACK + DIFS +

aSlotT ime. Since RTS/CTS exchange is used, collisionsusually happen between RTS packets. Hence, Tc = RTS +

EIFS + aSlotT ime. Based on IEEE 802.11 configurations,Tc is much smaller than Ts. Therefore, as long as Pc is notmuch larger than

∑i∈N Pi, using Equation (20), Equation

(21) can be simplified to:

Tb ≈ Ts

∑i∈N Pi

Pb= Ts(I + 1)

i∈N

Pi. (22)

Note that Ts also satisfies Ts =∑

i∈NLiPi

S∑

j∈NPj

. Therefore,from Equation (22), we can get

∑i∈N PiLi = TbS/(I + 1).

Since∑

i∈N PiLi is the average network throughput pervirtual slot and PiLi is Node i’s average throughput pervirtual slot,

xi =PiLi∑

j∈N PjLj≈

PiLi(I + 1)

TbS. (23)

Page 7: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

7

To calculate Pi from I, note that Node i transmits ina slot successfully if and only if it is the only node thattransmits in that slot. Therefore, Pi = 1

Wi/2+1

∏j∈N ,j 6=i(1−

1Wj/2+1

). Combining the fact that Pb = 1 − PI and usingEquations (16) and (20), Pi becomes Pi = 2

Wi(1 − 1

I+1 ).Integrating this with Equation (23), we finally obtain theestimation of xi based on I and Tb:

xi ≈2LiI

WiTbS. (24)

B. Choice of Utility Functions

Depending on the system goal, GCA supports a largerange of utility functions that define a variety of fairness.These utility functions can be either pre-configured innodes or selected by nodes at run time according toapplication requirements. In this section, we briefly reviewseveral common utility functions and their correspondingfairness definitions. How to enforce a node to use a certainutility function is beyond the scope of the paper.

1) Strict Priority: For a system that needs to achievestrict priority (i.e., the highest-priority nodes get all thebandwidth), we can use a weighted linear utility functionUi(x) = ρixi, where ρi is the priority-based weight. Thecorresponding update algorithm is Wi = −αWi[ρi − f(Ω)].

Note that this utility function does not satisfy the stabil-ity conditions since U(·) is not strictly concave. Therefore,our update algorithm will never converge to a certain W.However, since the nodes with highest weight essentiallydrive f(Ω) to be equal to maxρi, i ∈ N, the othercompeting nodes infinitely increase their Wi’s. Therefore,the nodes with the highest weight quickly obtain allthe bandwidth of the channel and our update algorithmachieves this strict priority between nodes.

2) Weighted Proportional Fairness: Some systems aimto achieve weighted proportional fairness [11] (i.e., band-width allocations satisfy xi

ρi= xi

ρj, ∀i, j ∈ N , where ρi is the

weight of Node i). The utility function for such a systemis a weighted log function Ui(xi) = ρi log xi. Our updatealgorithm for this system is: Wi = −αWi[

ρi

xi− f(Ω)].

3) Minimum Potential Delay: If the policy of the sys-tem is to minimize the total delay of file transfers, theutility function can be expressed as Ui(x) = − ρi

xi, where

ρi is the size of the file that Node i is transmitting. Ourupdate algorithm for this system is Wi = −αWi[

ρi

x2

i

− f(Ω)].4) Mixed Utility: It is also possible that in a system,

different nodes have different goals and hence differentutilities. In such situations, each node simply updates itscontention window according to its own utility function.The system automatically converges to a stable point wherethe aggregated utility of all competing nodes is maximized.In general, the variety of choices of the utility functionsgive GCA the flexibility to be used in systems that havedifferent fairness policies.

VIII. CASE STUDY

In the previous sections, we have analyzed the opti-mality, stability and optimal stable point of GCA. SinceGCA is a general algorithm for contention window control,these analyses can be used as a powerful tool to examineexisting approaches and design new algorithms. Due tospace limitations, we can only present a brief analysis ofthree examples. (Additional examples can be found in ourtechnical report [23].) The first example shows how touse GCA to check the fairness of an existing algorithm.The second case shows how to use GCA to analyze thestability and efficiency of an existing algorithm. The finalcase shows how to use GCA to design a new contentionwindow control algorithm.

A. Case 1: Fairness Analysis

In [17], it is proposed to directly translate the rateadaptation algorithm si = α − β Pc

U ′i(si)

to a contentionwindow control algorithm,

Zi = α − βPc

U ′i(Zi)

, (25)

to solve OPT BW (U, C) (α and β are positive constants).A special case of the algorithm with a weighted log utilityfunction is named PFCR. Assuming uniform packet size,it can be shown that this algorithm can not achieves anarbitrary fairness definition.

At the equilibrium point of the algorithm, Zi = 0, whichresults in: U ′

i(Zi) = U ′j(Zj) = βPc

α , ∀i, j ∈ N . By replacing Zi

with 1Wi

, we get:

U ′i(

1

Wi) = U ′

j(1

Wj) =

βPc

α, ∀i, j ∈ N , (26)

which does not satisfy the optimality condition forOPT WIN in Equation (5), and hence can not achievean arbitrary fairness. Although, for log utility functions(e.g. PFCR), when Equation (26) is satisfied, the fairnesscondition in Equation (5) is also satisfied. However, sucha property does not hold for many utility functions (e.gUi(xi) = ρixi + logxi).

B. Case 2: Stability and Efficiency Analysis

In [5], an algorithm named AOB (Asymptotically Opti-mal Backoff Algorithm) is proposed to dynamically adjustcontention window to achieve maximum bandwidth uti-lization. In this section, we examine AOB’s stability andefficiency in a network with a uniform priority and packetsize. It is also easy to show that AOB only achieves aspecific fairness definition in a multi-priority network. Dueto space limitation, this analysis is not presented in thispaper and can be found in our technical report [23].

Page 8: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

8

In AOB, at every packet transmission, a node sets itscontention window size to:

Zk+1i = 0.5

[1 − min(1,

1

(Ik + 1)2ωopt)mk

], (27)

where ωopt is pre-computed and mk is the number oftransmission attempts for the current packet. The followinganalysis shows that AOB is a special form of GCA.

Using utility function U(x) = x−0.5x2, which is a strictlyincreasing concave function in the range of [0, 1], Equation(27) becomes:

Zk+1i − Zk

i = 12(I+1)

[U ′(2Zki (Ik + 1))−

min(1, 1(Ik+1)mk−12ω

mkopt

− I)].(28)

By approximating∑

k∈N Zk ≈ 12(I+1)

, the discrete form ofGCA-Z in Equation (9) becomes:

Zk+1i − Zk

i = 0.5α[U ′i(2Zk

i (I + 1)) − f(Ω)], (29)

where each iterative step is a packet transmission. Compar-ing Equations (28) and (29) shows that the AOB algorithmis a special case of GCA with:

f(Ω) = min

(1,

1

(I + 1)m−12ωmopt

− I

). (30)

For f(Ω) to satisfy the convergence condition of GCA,f(Ω) must be strictly increasing with respect to θ =∑

i∈NLi

Wiin the invariant set Γ. Combining Equations (20)

and (16), the relationship between I and Wi is:

1

I + 1= (1 −

n∏

j=1

(Wj/2

Wj/2 + 1)). (31)

In addition, Theorem 1 shows that inside Γ, U ′i(

1/Wi∑k∈N

1/Wk)

remains a constant. Denoting the constant as γ, we getWi = 1/[U ′−1

i (γ)θ]. Combining this with Equations (30) and(31), f(Ω) can be transformed to a function of θ, whosederivative can be shown to be larger than 0. Therefore, f(Ω)

in AOB satisfies GCA’s convergence condition and henceAOB is a stable algorithm that converges to a unique point.

To understand the channel utilization of AOB, note thatdue to the uniform priority and packet size, each nodeshould have the same contention window size at AOB’sstable point, indicating Zi = ω

n . Since at the stable point,Zk+1

i − Zki = 0, based on Equations (27) and (31),

n= 1 − (

1I+1

2ωopt)m, where 1

I + 1= 1 −

n∏

i=1

1

1 + 2ωn

. (32)

By setting n = 1 and n → ∞, we obtain the bounds of ω as[ω1, ω2], where:

1 − 2ω1 = ( ω1

(1+2ω1)ωopt)m,

( 1−e−2ω2

2ωopt)m = 1.

(33)

Essentially, AOB bounds the ω of the system inside a rangethat includes ωopt, which explains why AOB can almostachieve maximum channel utilization.

2 2.5 3 3.5 4 4.5 5 5.5 6−100

−80

−60

−40

−20

0

20

40

60

80

100

f( W

, L)=

10/(

I−I m

in)

+10

/(I−

I max

)

IImin

Imax

Fig. 3. f(Ω) for Case 3

C. Case 3: New Algorithm Design

In this section, we present an example of the processof designing a special case of GCA. In this example,we assume any utility function that is strictly increasingand concave and that the observed channel state Ω is I.According to Equation (31), for a large n, I ≈ 1

e2ω−1.

Therefore, f(Ω) can be defined as:

f(Ω) = λ/(I − Imin) + λ/(I − Imax),

where Imin < 1e2ωopt−1

< Imax and the range of [Imin, Imax]

is small. Figure 3 shows the shape of f(Ω) with Imin = 2

and Imax = 6. According to Section VI-B, this functionf(Ω) ensures that at the converged point, ω is near ωopt, sothat the system utilization is close to the maximum. Theperformance of this algorithm is evaluated in Section IX.

IX. EVALUATION

In this section, we evaluate the performance of twovariants of GCA using simulations in ns2 [8]. GCA-EXPadjusts Wmin, where W is exponentially increased aftera collision. GCA-DIRECT directly adjusts W , withoutexponential increase of W after a collision. The evaluationfocuses on three aspects: (1) support for different defi-nitions of fairness, (2) maintaining fairness and (3) main-taining efficiency. Although GCA supports various fairnessdefinition, we only present the performance of GCA forstrict priority and proportional fairness in this paper. Thesetwo types of fairness represent opposite extremes, wherestrict priority requires that all bandwidth is allocated to thenode with the highest priority while proportional fairnessrequires that every node gets a fraction of bandwidthproportional to its priority. To demonstrate the correctnessof GCA, we use the newly designed special case of GCAdiscussed in Section VIII-C. The performance of AOB,which is an existing variant of GCA, can be found in [5].Finally, channel bandwidth is 11Mbps.

A. System Evolution

In this section, we illustrate how GCA adapts contentionwindow size to support fair and efficient bandwidth allo-cation, using uniform 512B packet size.

Page 9: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

9

To examine the behavior of GCA for proportional fair-ness, in a 70-second simulation, five competing nodes starttransmitting at time 5s, 15s, 25s, 35s and 45s respectivelyand use weighted log utility functions with weights 1 to5. Figure 4(a) shows that as the number of competingnodes increases, GCA quickly increases the contentionwindow sizes of all competing nodes to prevent conges-tion. Therefore, GCA keeps the system operating near itsoptimal point and maintains a steady throughput regardlessof the number of competing nodes (see Figure 4(c)). At thesame time, GCA maintains the ratio between contentionwindow sizes to provide each node its weighted fair shareof bandwidth (see Figure 4(b)).

To examine the behavior of GCA for strict priority, ina 100s simulation, five competing nodes start to transmitbulk data at 5s and each is equipped with a linear utilityfunctions with weights ranging from 1 to 5. Figure 5(a)shows that at the beginning of the simulation, the node withweight 5 has a very small contention window size whilethe other nodes with lower weights keep on increasing theircontention window sizes. Therefore, the node with weight5 soon obtains all channel bandwidth (see Figure 5(b)).After the node with weight 5 finishes its transmission, thecontention window size of the node with weight 4 dropsdown and grabs the channel. Then after the node withweight 4 finishes, the node with weight 3 gets the channel.The process goes on until only the node with the lowestpriority is left, demonstrating GCA’s ability in achievingstrict priority between competing nodes using weightedlinear utility functions.

B. Fairness

Next, we evaluate GCA’s accuracy in achieving fairnessby Jain’s fairness index [9], a common measure of fairnessfor bandwidth allocation. Given n competing nodes, Jain’sfairness index is Ψ = (

∑ni=1 si/ri)

2/[

n∑n

i=1(si/ri)2]

,where ri is the share of bandwidth proportional to Nodei’s weight and si is Node i’s achieved bandwidth. Thefairness index is a real value between 0 and 1 with valuescloser to 1 indicating better proportional fairness. Whenperfect proportional fairness is achieved, the fairness indexequals 1. If, on the other hand, only one node out of n

is allocated bandwidth, the fairness index is 1/n. Sincebandwidth allocation based on strict priority aims to giveall the bandwidth to the node with the highest priority, thefairness index should be 1/n for a perfect strict prioritybased bandwidth allocation.

1) Weighted proportional fairness: To examine GCA’sability for achieving weighted proportional fairness, in thissimulation, 5 to 50 competing nodes start in the first 10sand use weighted log utility functions with weights from 1to 5. GCA’s performance under both heterogeneous packet

sizes ranging from 400B to 1000B and homogeneouspacket sizes of 512B are examined.

Figure 6(a) shows that when packet sizes of nodes aredifferent, both GCA-EXP and GCA-DIRECT achieve amuch larger fairness index than IEEE 802.11e and thefairness index is very close to 1 regardless of the numberof competing nodes. Since in IEEE 802.11e, the contentionwindow size is independent of the packet size, nodes thatsend larger packets obtain more bandwidth than their fairshare, resulting in IEEE 802.11e’s severe unfairness. Withuniformed packet size, the fairness for IEEE 802.11e isgreatly improved (see Figure 6(b)), although its perfor-mance is still worse than GCA. The fairness index of GCA-EXP is also slightly smaller than GCA-DIRECT becausethe exponential increment of the contention window aftera collision changes the ratio between contention windowsizes and hence degrades the fairness of bandwidth al-location. However, since GCA-EXP is able to adjust theminimum contention window to avoid excessive collisions,it essentially limits the effects of collisions on fairness,resulting in better fairness performance than IEEE 802.11e.

2) Strict priority: To demonstrate the ability of GCA toachieve strict priority, we use similar set up as in SectionIX-B.1 except that the utility function is a weighted linearfunction. Figure 6(c) shows that regardless of uniform ordifferent packet sizes, both GCA-EXP and GCA-DIRECTachieve a fairness index that is very close to the idealallocation of strict priority policy.

C. Channel utilization

Finally, we evaluate GCA’s ability to achieve highchannel utilization by comparing it with IEEE 802.11,IEEE 802.11e and the theoretical network capacity.

1) Weighted proportional fairness: In this set of sim-ulations, the channel utilization of GCA is comparedwith IEEE 802.11e and the theoretical maximum networkcapacity. For GCA, the weights of the log utility functionsrange from 1 to 5. For IEEE 802.11e, there are five classesof traffic, with the minimum contention window sizes ofthe classes being 30, 37, 50, 75 and 150, respectively.These contention window sizes are selected to ensuresimilar weighted bandwidth allocation to GCA. Each sim-ulation runs for 100s with 5 to 50 competing nodes, eachstarting at 10s and sending 512B packets. Figure 7(a)shows that the throughput of GCA, normalized to thetheoretical maximum capacity of an IEEE 802.11 network,is very close to the theoretical limit, indicating efficientchannel usage. Since IEEE 802.11e can not dynamicallyadjust its minimum contention window size according tothe congestion level, its channel utilization degrades as thenumber of competing nodes increases.

Page 10: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

10

0

50

100

150

200

250

300

350

10 20 30 40 50 60 70

Con

tent

ion

Win

dow

Siz

e

Time (second)

Node with weight=1Node with weight=2Node with weight=3Node with weight=4Node with weight=5

(a) Contention window

0

100

200

300

400

500

600

10 20 30 40 50 60 70

Thr

ough

put (

pack

ets

per

seco

nd)

Time (second)

Node with weight=1Node with weight=2Node with weight=3Node with weight=4Node with weight=5

(b) Per node throughput

0

100

200

300

400

500

600

10 20 30 40 50 60 70

Thr

ough

put (

pack

ets

per

seco

nd)

Time (second)

Total Channel Throughput

(c) Total network throughput

Fig. 4. Evolution of GCA: proportional fairness.

0

5000

10000

15000

20000

25000

30000

35000

40000

10 20 30 40 50 60 70 80 90 100

Con

tent

ion

Win

dow

Siz

e

Time (second)

Node with weight=1Node with weight=2Node with weight=3Node with weight=4Node with weight=5

(a) Contention window

0

200

400

600

800

1000

10 20 30 40 50 60 70 80 90 100T

hrou

ghpu

t (pa

cket

s pe

r se

cond

)Time (second)

Node with weight=1Node with weight=2Node with weight=3Node with weight=4Node with weight=5

(b) Per node throughput

Fig. 5. Evolution of GCA: strict priority

0.8

0.82

0.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

1

5 10 15 20 25 30 35 40 45 50

Fai

rnes

s in

dex

Number of competing nodes

GCA-DIRECTGCA-EXP

IEEE 802.11e

(a) Proportional fairness (diff. pkt. size)

0.95

0.96

0.97

0.98

0.99

1

5 10 15 20 25 30 35 40 45 50

Fai

rnes

s in

dex

Number of competing nodes

GCA-DIRECTGCA-EXP

IEEE 802.11e

(b) Proportional fairness (same pkt. size)

0

0.05

0.1

0.15

0.2

0.25

0.3

5 10 15 20 25 30 35 40 45 50

Fai

rnes

s in

dex

Number of competing nodes

Theoritical LimitGCA-DIRECT (diff. pkt. size)

GCA-EXP (diff. pkt. size)GCA-DIRECT (same pkt. size)

GCA-EXP (same pkt. size)

(c) Strict priority

Fig. 6. Fairness index

0.5

0.6

0.7

0.8

0.9

1

5 10 15 20 25 30 35 40 45 50

Nor

mal

ized

tota

l thr

ough

put o

f net

wor

k

Number of competing nodes

Theoretical max. capacityIEEE 802.11eGCA-DIRECT

GCA-EXP

(a) Proportional fairness

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

5 10 15 20 25 30 35 40 45 50

Nor

mal

ized

tota

l thr

ough

put o

f net

wor

k

Number of competing nodes

Theoretical max. capacityGCA-DIRECT (diff. pkt. size)

GCA-EXP(diff. pkt. size)IEEE 802.11 (diff. pkt. size)

GCA-DIRECT (same pkt. size)GCA-EXP(same pkt. size)

IEEE 802.11 (same pkt. size)

(b) Strict priority

Fig. 7. Channel Utilization

2) Strict priority: Since strict priority requires that onlythe node with the highest priority wins the bandwidth,we compare the channel utilization of GCA to a single-node IEEE 802.11 network and the theoretical maximumnetwork capacity, under both fixed and heterogeneous

packet sizes. Each simulation runs for 100s. All nodes startin the first 10s. Figure 7(b) shows that the throughput ofGCA (with multiple competing nodes) normalized to themaximum network capacity is very close to the theoreticallimit of the network, while the channel utilization of the

Page 11: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

11

single-node IEEE 802.11 network is much lower than GCAdue to its inability to adapt to the light load in the network.

X. CONCLUSION AND FUTURE WORK

In response to the limitations of current algorithms, inthis paper, we provide a systematic method for designingstable contention window control algorithms that can beused to achieve fair and efficient bandwidth allocation. Wedecompose the requirement for both fairness and efficiencyto the problem of choosing proper utility functions andfunctions of observable channel states. Due to the inclusionof a wide diversity of both of these types of functions, weessentially broaden the scope of designing dynamic con-tention window control algorithms. The general dynamiccontention window control algorithm (GCA) proposed byus can be used to achieve both arbitrary fairness andefficient channel utilization.

For future work, we plan on comparing the perfor-mances of different choices of f(Ω) and extending GCAinto multihop wireless networks to support fair bandwidthallocation along with efficient channel utilization.

REFERENCES

[1] Imad Aad and Claude Castelluccia. Differentiation Mechanismsfor IEEE 802.11. In Proceedings of INFOCOM, 2001.

[2] Dimitri Bertsekas. Nonlinear Programming: Second Edition.Athena Scientific, 1999.

[3] Vaduvur Bharghavan, Alan J. Demers, Scott Shenker, and LixiaZhang. MACAW: A media access protocol for wireless LAN’s.In SIGCOMM, pages 212–225, 1994.

[4] Giuseppe Bianchi. Performance analysis of the IEEE 802.11distributed coordination function. IEEE Journal on Selected Areasin Communications, 18(3), 2000.

[5] Luciano Bononi, Marco Conti, and Enrico Gregori. Run-timeoptimization of IEEE 802.11 wireless LANs performance. IEEETransactions on Parallel and Distributed Systems (IEEE TPDS),15(1), January 2004.

[6] Frederico Cali, Marco Conti, and Enrico Gregori. Dynamic tuningof the IEEE 802.11 protocol to achieve a theoretical throughputlimit. IEEE Transactions on Networking, 8(6), December 2000.

[7] Frederico Cali, Marco Conti, and Enrico Gregori. IEEE 802.11protocol: Design and performance evaluation of an adaptivebackoff mechanism. IEEE Journal on Selected Areas in Com-munications, 18(9), September 2000.

[8] Kevin Fall and Kannan Varadhan. NS notes and documentation. InThe VINT Project, UC Berkely, LBL, USC/ISI, and Xerox PARC,1997.

[9] Raj Jain. The Art of Computer Systems Performance Analy-sis: Techniques for ExperimentalDesign, Measurement, Simulationand Modeling. John Wiley and Sons, Inc, 1991.

[10] Phil Karn. A New Channel Access Method for Packet Radio. InProceedings of the 9th ARRL Computer Networking Conference,1996.

[11] F. Kelly, A. Maulloo, and D. Tan. Rate control in communicationnetworks: shadow prices, proportional fairness and stability. InJournal of the Operational Research Society, volume 49, 1998.

[12] Hassan Khalil. Nonlinear systems. Prentice Hall, 1996.[13] Hwangnam Kim and Jennifer Hou. Improving Protocol Capacity

with Model-based Frame Scheduling in IEEE 802.11-operatedWLANs. In ACM Mobicom, 2003.

[14] Bo Li and Roberto Battiti. Performance Analysis of An EnhancedIEEE 802.11 Distributed Coordination Function Supporting Ser-vice Differentiation. In International Workshop on Quality ofFuture Internet Service, 2003.

[15] Stefan Mangold, Sunghyun Choi, Peter May, Ole Klein, GuidoHiertz, and Lothar Stibor. IEEE 802.11e Wireless LAN for Qualityof Service. In Proceedings of European Wireless, 2002.

[16] Jeonghoon Mo and Jean Walrand. Fair end-to-end window-based congestion control. IEEE/ACM Transaction of Networking,8(5):556–567, 2000.

[17] Thyagarajan Nandagopal, Tae-Eun Kim, Xia Gao, and VaduvurBharghavan. Achieving MAC Layer Fairness in Wireless PacketNetworks. In ACM Mobicom, 2000.

[18] Daji Qiao and Kang G. Shin. Achieving efficient channelutilization and weighted fairness for data communications in IEEE802.11 WLAN under the dcf. In IWQoS, 2002.

[19] Scott Shenker. Fundamental design issues for the future inter-net. IEEE Journal on Selected Areas in Communication, 13(7),September 1995.

[20] IEEE Computer Society. 802.11: Wireless LAN Medium AccessControl (MAC) and Physical Layer (PHY) Specifications.

[21] Rayadurgam Srikant. The mathematics of Internet CongestionControl. Birkhauser, 2004.

[22] Yaling Yang and Robin Kravets. Distributed QoS Guaranteesfor Realtime Traffic in Ad Hoc Networks. Technical ReportUIUCDCS-R-2004-2446, June 2004.

[23] Yaling Yang, Jun Wang, and Robin Kravets. Distributed OptimalContention Window Control for Elastic Traffic in Wireless LANs.Technical Report UIUCDCS-R-2004-2427, April 2004.

APPENDIX

A. Proof that V is a Lyapunov function

Lemma 1: Scalar function V (Z) in Equation (10) is aLyapunov function for GCA-Z in Equation (9) with V ≥ 0.The zero values of V are obtained in the set R = Z : Zi

Zi=

Zj

Zj, ∀i, j ∈ N.

Proof: Note that the derivative of V (Z) to Zi is:

∂V∂Zi

= U ′i(

ZiLi∑k∈N

ZkLk)

Li

∑k∈N

ZkLk−ZiL2

i

(∑

k∈NZkLk)2

−∑

j∈N ,j 6=i U ′j(

ZjLj∑k∈N

ZkLk)

ZjLjLi

(∑

k∈NZkLk)2

= Li

(∑

k∈NZkLk)2

∑j∈N ,j 6=i[U

′i(

ZiLi∑k∈N

ZkLk)

−U ′j(

ZjLj∑k∈N

ZkLk)]ZjLj

(From Equation (9))= Li

(∑

k∈NZkLk)2

∑j∈N ,j 6=i[

Zi

αZi+ f(Ω)]

−[Zj

αZj+ f(Ω)]ZjLj

= Li

α(∑

k∈NZkLk)2

∑j∈N ,j 6=i[

Zi

Zi−

Zj

Zj]ZjLj

(Denote η = 1α(∑

k∈NZkLk)2

, η > 0)

= η[(∑

j∈N ,j 6=i ZjLj)Li

ZiZi − (

∑j∈N ZjLj)Li].

Hence, the time derivative of V (Z) is:

V =∑

i∈N∂V∂Zi

Zi

= η∑

i,j∈N ,j 6=i[ZjLjLi

ZiZ2

i +ZiLiLj

ZjZ2

j − 2ZiZjLiLj ]

= η∑

i,j∈N ,j 6=i[(√

ZjLjLi

Zi| Zi | −

√ZiLiLj

Zj| Zj |)2

+2 | Zi || Zj | LiLj − 2ZiZjLiLj ]

≥ η∑

i,j∈N ,j 6=i(√

ZjLjLi

Zi| Zi | −

√ZiLiLj

Zj| Zj |)2

≥ 0.

The equality holds if and only if Zi

Zi=

Zj

Zj, for ∀i, j ∈ N .

Page 12: Distributed Optimal Contention Window Control for …morse.colorado.edu/~tlen5520/Papers/Yang_infocom05-optimalCW.pdf · Distributed Optimal Contention Window Control for ... review

12

B. Proof that R is an invariant set

Lemma 2: For GCA-Z, R =

Z : Zi

Zi=

Zj

Zj, for ∀i, j ∈

N

is an invariant set and inside this invariant set,

U ′i(

ZiLi∑k∈N

ZkLk) = U ′

j(ZjLj∑

k∈NZkLk

) = constant, ∀i, j ∈ N

Proof: Combining Equation (9) with the definition ofR, we get that inside R, U ′

i(ZiLi∑

k∈NZkLk

) = U ′j(

ZjLj∑k∈N

ZkLk)

holds. To prove that R is an invariant set, note that:ddt U

′i(

ZiLi∑k∈N

ZkLk) =

∑j∈N

[∂

∂ZjU ′

i(ZiLi∑

k∈NZkLk

)]Zj

= U ′′i ( ZiLi∑

k∈NZkLk

) Li

(∑

k∈NZkLk)2

×[∑j∈N ,j 6=i ZjZiLj −

∑j∈N ,j 6=i ZiZjLj

]

= 0.(Inside R, ZiZj = ZjZi.)

Therefore, if at any time GCA-Z gets inside R,U ′

i(ZiLi∑

k∈NZkLk

) for ∀i ∈ N remains the same constant

for all future time. Combined with Equation (9), Zi

Zi=

Zj

Zj, for ∀i, j holds for all future time. Hence, R is an

invariant set for GCA-Z.

C. Proof for convergence inside the invariant set

Lemma 3: If Ω = Ω(Z,L) and f(Ω) is strictly increasingwith respect to

∑i∈N ZiLi inside R, then starting from any

point in R, GCA-Z converges to a unique equilibrium pointZ ∈ R.

Proof: For ease of notation, we define θ =∑

i∈N ZiLi

and use f(Z,L) to represent f(Ω(Z,L)). The rest of theproof consists of three steps. First, we translate f(Z,L)

to a function of θ. Then, using the property that f(Z,L) isstrictly increasing with respect to θ, we identify the uniqueequilibrium point Z. Finally, we prove that Z is the uniquestable point and so the update algorithm in Equation (9)converges to Z.

Step 1: Lemma 2 shows that when GCA-Z converges toR, U ′

i(ZiLi∑

k∈NZkLk

) for ∀i ∈ N remains a constant. Definingthis constant as γ,

U ′i(

ZiLi∑k∈N ZkLk

) = U ′i(

ZiLi

θ) = γ, for ∀i ∈ N . (34)

Next, by defining g(·) = U ′−1i (·) : i ∈ N and L−1 = 1

Li:

i ∈ N, Z can be expressed as (· means set):

Z = Zi =

U ′−1

i (γ)θ

Li

= θ[g(γ)]T L

−1. (35)

Therefore, f(Z,L) = f(θ[g(γ)]T L−1,L).Step 2: From Equations (9) and (34), when Zi = 0, the

value of θ, denoted θ, satisfies:

f(Z,L) = f(θ[g(γ)]T L−1,L) = γ. (36)

Since f(Z,L) is strictly increasing with respect to θ, θ isunique. Therefore, the unique equilibrium point in R isZ = θ[g(γ)]T L−1 = Zi : i ∈ N and:

θ =∑

k∈N

ZkLk. (37)

Step 3: To show that Z is the unique stable point of thesystem, we define a scalar function V2(Z) as follows:

V2(Z) =∑

i∈N

∫ Zi

Zi

1

σ(Zi − σ)Lidσ.

The following proof shows that V2(Z) is a Lyapunovfunction, and therefore GCA converges to Z.

V2 =∑

i∈N

(∂V2

∂Zi)Zi =

i∈N

1

Zi(Zi − Zi)LiZi. (38)

Note that inside R, according to Equations (9) and (34),

Zi = αZi(U′i(

ZiLi

θ) − f(Z,L)) = αZi(γ − f(Z,L)). (39)

Combining Equations (38) and (39),

V2 =∑

i∈N α(Zi − Zi)Li(γ − f(Z,L))

= α(∑

i∈N ZiLi −∑

i∈N ZiLi)(γ − f(Z,L))

(Using Equations (36) and (37) )= α(θ − θ)

[f(θ[g(γ)]T L−1,L) − f(θ[g(γ)]T L−1,L)

].

Since f(θ[g(γ)]T L−1,L) is strictly increasing with respectto θ in R, V2 ≥ 0. This equality holds if and only ifθ = θ. Therefore, we have shown that the algorithm inEquation (9) converges to a unique point Z ∈ R.

D. Notation

• N : the set of transmitting nodes 1, 2 · · ·n

• C: the network capacity• Pi: the probability that Node i successfully transmits in a

virtual slot• si: the bandwidth allocated to Node i in bits per second• S: the channel sending rate of IEEE 802.11• Li: S× the average duration of a successful transmission at

Node i, including the DIFS and the RTS/CTS/DATA/ACKhandshake

• xi: the fraction of channel bandwidth of Node i

• Wi: the contention window size of Node i

• W mini : the minimum contention window size of Node i

• W: Wi : i ∈ N

• L: Li : i ∈ N

• P: Pi : i ∈ N

• Ω: locally observable channel state• Zi: 1

Wi

• θ:∑

i∈NLi

Wi=∑

k∈N ZkLk

• Γ: the invariant set of GCA• R: the invariant set of GCA-Z• F : the average time between successful packet transmis-

sions• I: the average number of idle virtual slots between two

busy virtual slots• ω:

∑i∈N

1

Wi

• ϕi: 1/Wi

ω

• Tb: the average length of busy virtual slot• Tc: the average duration of a virtual slot including a

collision• PI : the probability that a virtual slot is an idle slot• Pc: the probability that a collision happens in a virtual slot