15
Automatica 40 (2004) 2043 – 2057 www.elsevier.com/locate/automatica Charge-based control of DiffServ-like queues Vivek S. Borkar a , , 1 , D. Manjunath b a School of Technology & Computer Science, Tata Institute of Fundamental Research, Homi Bhabha Road, Mumbai 400 005, India b Department of Electrical Engineering, Indian Institute of Technology, Powai, Mumbai 400 076, India Received 5 May 2002; received in revised form 10 May 2004; accepted 13 July 2004 Abstract A dynamic price adaptation scheme for queue control is proposed wherein the objective is to modulate the price so as to keep the load in a queue close to a prescribed ‘ideal’profile, given that the users behave in an individually optimal manner w.r.t. their respective utility functions. The scheme can be analyzed using the ‘o.d.e.’ approach to stochastic approximation algorithms. Simulations confirm the analytic predictions. 2004 Elsevier Ltd. All rights reserved. Keywords: Dynamic pricing; Control of queues; Utility maximization 1. Introduction 1.1. Background There is a significant interest in pricing models for net- work usage as evidenced by an extensive body of literature. Falkner, Devetsikiotis, and Lambadaris (2000) provides a good survey of the main strands in Internet pricing research. Most of the literature on pricing of network resources con- sider a model for rate control by users where the network adjusts the prices according to the demand, and the users respond by adjusting their transmission rates to optimize a possibly local utility function. Examples of such work are Kelly (1997), Kelly, Maulloo, and Tan (1998), Gibbens and Kelly (1999). There is also a considerable body of work on dynamic pricing using a Markov decision-theoretic model This paper was not presented at any IFAC meeting. This paper was recommended for publication in revised form by Assistant Editor Xiren Cao under the direction of Editor I. Petersen. Corresponding author. Tel.: +91-22-2280-4545x2293; fax: +91-22- 2280-4610 E-mail addresses: [email protected] (V.S. Borkar), [email protected] (D. Manjunath). 1 The work of this author was partly supported by Grant no. DST/MS/104/99 from the Department of Science and Technology, Gov- ernment of India. 0005-1098/$ - see front matter 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.automatica.2004.07.012 (Dube, Borkar, & Manjunath, 2002; Paschalidis & Tsitsiklis, 2000). In addition, there are game-theoretic formulations of the pricing problem, e.g., Basar and Srikant (2002), and auc- tion mechanisms have been suggested in Lazar and Semret (1997). The main contribution of this paper is to present an ap- proach to pricing network usage very different from the lit- erature cited above. Our interest is not in rate control of the sources. Rather, we let each link in the network define mul- tiple classes of service by defining the desired average per hop behavior for each of these classes on the link. The link then strives to provide this average service to each of the classes by adjusting the prices for service from each class. For example, the link can achieve a prescribed per hop aver- age delay from each of the classes by maintaining the queue lengths in each of the classes around a prescribed level. This in turn is controlled by appropriately pricing the admission into the queues for the different classes. To enable an arrival to pick an appropriate service class, the link advertises the queue length information in each class and the users can use this information and the advertised admission price to de- cide the class of service that will optimize their utility. Pricing is used to achieve the desired average behavior. Our work is motivated by the DiffServ architecture (Blake, Black, Carlson, Davies, Wang, & Weiss, 1998) and is closely tied to multiclass service schemes like the Paris Metro

Charge-based control of DiffServ-like queues

Embed Size (px)

Citation preview

Page 1: Charge-based control of DiffServ-like queues

Automatica 40 (2004) 2043–2057www.elsevier.com/locate/automatica

Charge-based control of DiffServ-like queues�

Vivek S. Borkara,∗,1, D. Manjunathb

aSchool of Technology & Computer Science, Tata Institute of Fundamental Research, Homi Bhabha Road, Mumbai 400 005, IndiabDepartment of Electrical Engineering, Indian Institute of Technology, Powai, Mumbai 400 076, India

Received 5 May 2002; received in revised form 10 May 2004; accepted 13 July 2004

Abstract

A dynamic price adaptation scheme for queue control is proposed wherein the objective is to modulate the price so as to keep theload in a queue close to a prescribed ‘ideal’ profile, given that the users behave in an individually optimal manner w.r.t. their respectiveutility functions. The scheme can be analyzed using the ‘o.d.e.’ approach to stochastic approximation algorithms. Simulations confirm theanalytic predictions.� 2004 Elsevier Ltd. All rights reserved.

Keywords:Dynamic pricing; Control of queues; Utility maximization

1. Introduction

1.1. Background

There is a significant interest in pricing models for net-work usage as evidenced by an extensive body of literature.Falkner, Devetsikiotis, and Lambadaris (2000)provides agood survey of the main strands in Internet pricing research.Most of the literature on pricing of network resources con-sider a model for rate control by users where the networkadjusts the prices according to the demand, and the usersrespond by adjusting their transmission rates to optimize apossibly local utility function. Examples of such work areKelly (1997), Kelly, Maulloo, and Tan (1998), Gibbens andKelly (1999). There is also a considerable body of work ondynamic pricing using a Markov decision-theoretic model

� This paper was not presented at any IFAC meeting. This paper wasrecommended for publication in revised form by Assistant Editor XirenCao under the direction of Editor I. Petersen.

∗ Corresponding author. Tel.: +91-22-2280-4545x2293; fax: +91-22-2280-4610

E-mail addresses:[email protected](V.S. Borkar),[email protected](D. Manjunath).

1 The work of this author was partly supported by Grant no.DST/MS/104/99 from the Department of Science and Technology, Gov-ernment of India.

0005-1098/$ - see front matter� 2004 Elsevier Ltd. All rights reserved.doi:10.1016/j.automatica.2004.07.012

(Dube, Borkar, & Manjunath, 2002; Paschalidis & Tsitsiklis,2000). In addition, there are game-theoretic formulations ofthe pricing problem, e.g.,Basar and Srikant (2002), and auc-tion mechanisms have been suggested inLazar and Semret(1997).

The main contribution of this paper is to present an ap-proach to pricing network usage very different from the lit-erature cited above. Our interest is not in rate control of thesources. Rather, we let each link in the network define mul-tiple classes of service by defining the desired average perhop behavior for each of these classes on the link. The linkthen strives to provide this average service to each of theclasses by adjusting the prices for service from each class.For example, the link can achieve a prescribed per hop aver-age delay from each of the classes by maintaining the queuelengths in each of the classes around a prescribed level. Thisin turn is controlled by appropriately pricing the admissioninto the queues for the different classes. To enable an arrivalto pick an appropriate service class, the link advertises thequeue length information in each class and the users can usethis information and the advertised admission price to de-cide the class of service that will optimize their utility.Pricing is used to achieve the desired average behavior.Our work is motivated by the DiffServ architecture (Blake,Black, Carlson, Davies, Wang, & Weiss, 1998) and is closelytied to multiclass service schemes like the Paris Metro

Page 2: Charge-based control of DiffServ-like queues

2044 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

(Odlyzko, 1999) and Tirupati (Dube et al., 2002), albeit withsome essential differences. In our scheme, like in those ofKelly et al. (1998), the link does not need to know the explicitutility functions of the users except that they are such as tosatisfy some fairly general assumptions. Another highlightof our scheme is that it is a stochastic approximation schemewhich is not ‘gradient-like’ unlike most such schemes in en-gineering literature, but is based on the recently analyzed‘cooperative o.d.e.’ (Hirsch, 1985; Smith, 1995). An inter-esting dynamic model related to the one that we considerin this paper, albeit in a different context, is the active vir-tual queue (AVQ) algorithm used for rate adaptation of TCPtraffic on a link (Kunniyur & Srikanth, 2001). In AVQ, theservice rate from an active virtual queue is adapted to keepits utilization around a prescribed level. The occupancy ofthe virtual queue is used to mark packets transmitted on thelink. Kunniyur et al. (2001)considers one class of packetsand one class of service.

The set of assumptions we use are justified either on in-tuitive grounds (e.g., ‘increased price will drive customerselsewhere’), or on mathematical grounds (e.g., ‘genericity’).They may, however, be difficult to verify for all but sim-ple situations. One such simple example, chosen primarilyfor its analytic tractability, is given in Section 3. A morecomplicated situation is that ofTandra, Hemachandra, andManjunath (2004). The numerical results inTandra et al.(2004) support our conditions. Exact analytic expressionsare unavailable inTandra et al. (2004)(although bounds are).It should also be mentioned that we primarily address thesituation for a single node serving several parallel queues.While we do make some remarks (based on simulations) re-garding the network case, this does remain a largely grayarea where further research is warranted.

The paper is organized as follows. The next section de-scribes the model. Section 3 introduces the adaptive pric-ing scheme and provides theoretical analysis in its support.Section 4 presents some simulation evidence. Section 5 con-cludes with a discussion on how the scheme proposed in thispaper can be extended to other applications.

2. The model

Consider a single link of capacity� handling multiclasstraffic. The link serves packets fromJ queues with queuejholding packets that are to receive classj service. A pricesetter will be informed of the congestion levels in the queuesby the link and will be setting the price for service from eachof the queues. The user will be informed of the prices by theprice setter and the congestion levels by the link. There maybe nonzero delays in these communications. The scheme isshown inFig. 1.

Each of theJ queues has a finite buffer. The queues willbe served by the link according to an arbitrary policy. Lettime be indexed byt. Examples of possible service policiescould be simple round robin service, a priority policy, or

y4 (t)

y3 (t)

y2 (t)

y1 (t)

Link

User

y(t)

y(t)

Price Setter

Delay D1

Del

ay D

3

p(t)Packets

Delay D2

Fig. 1. A block diagram view of the link, the source of packets, and theprice setter. There may be delays in the link communicating the queuelevels to the users (D1) and to the price setter (D2). There may also besome delay in the price setter communicating the price to the users (D3).

any of the more sophisticated bandwidth sharing policieslike the weighted fair queuing (WFQ) or its variants. Lety(t) = [y1(t), y2(t), . . . , yJ (t)], yj (t) ∈ R, be the state ofthe link at timet with increasingyj (t) denoting increasingcongestion and/or demand for classj. To be able to satisfythe behavioral requirement for traffic serviced through eachof the classes, we define an operating point for the link,y∗=[y∗

1, y∗2, . . . , y

∗J ], y∗

i >0 ∀i, and it will be the aim of thepricing scheme to strive to operate the link around this point.Although we allowy(t) to be any real-valued state vectorrelevant to the policy by which the multiclass queues areserved, it is logical to letyj (t) be either the buffer occupancy(expressed as the unfinished work or the queue occupancy),or the total arrival rate into the class. We assume the existenceof a ‘natural’ upper boundbj on yj (·), for eachj (e.g., thebuffer size ifyj (·) is the queue length or unfinished workprocess). The price per unit volume of traffic served fromclassj at time t is pj (t). Definep(t) = [p1(t), . . . , pJ (t)]and we letp(t) to be posted by the operator and availableat all the traffic sources.

Next, we briefly describe the two user models used in oursimulations. Keep in mind, however, that while our simula-tions are limited to these, the price adaptation scheme is notand can handle more general scenarios as long as certainkey (reasonable) assumptions stated later are not violated. Asource feeding traffic into the link is assumed to have a util-ity uj (x, yj ) if x units of its traffic are served from queue ofclassj when the state of queuej is yj . uj (x, yj ) will be in-creasing inx and decreasing inyj . Consider an arrival froma source at timet that needs to sendx(t) bits on the link.We consider two models for the sources. In the “large” usermodel, the source will partitionx(t) among theJ classes,sendingxj (t) to classj, so as to maximize∑j

(uj (xj (t), yj (t))− pj (t)xj (t)) (1)

subject to∑

j xj (t) = x(t) and admissibility criteria suchas available buffer space in the target queue and the totalcost that it might be willing to pay. Here we assume thatthe utility functions are additive. In the “small” user model,

Page 3: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2045

uj (·) will be a function ofpj andyj , and independent ofx.An arriving packet will join the queue that minimizes thisuj . We assume that each source will use its own parametersin uj (·) and that the source population and the packet arrivalprocess from these sources is such that for each packet theparameters ofuj (·) are drawn from continuous distributions.

3. The price adaptation scheme

The node adjusts the prices at timest = t1, t2, t3, . . . , ti ↑∞, according to the following adaptation scheme:

pj (ti+1)= �(pj (ti)+ apj (ti)(yj (ti+1)− y∗j )),

for 1�j�J. (2)

Herea >0 is a small scalar, and�(·) is the projection ontothe interval[�,M], M>0 a very large number, and�>0 avery small one. (The latter prevents the scheme from gettingstuck at zero.) The scheme simply decreases the price if thequeue length drops below the target and vice versa, so as totrack the target, its incremental nature ensuring low (O(a))variance. The above assumes instantaneous availability ofqueue length data to the user. If the class of service is de-cided by each link based on the utility function of the user,the assumption of our model that the user and the queue arelogically adjacent is valid. If the source is to make the deci-sion on the service class based on price feedback from thelink, there may be delays in obtaining and processing suchinformation due to physical transmission delays and/or dueto the need for reducing the overhead imposed by this feed-back. However, arguing along the lines ofBorkar (1998),the effect of delay in the analysis of the stochastic approx-imation scheme above can be shown merely to add an ad-ditionalO(a) error (Recall that the ‘error’|pi(t) − pi(t −�)| for a bounded random delay� is O(aT ), whereT isany bound on�). Hence we ignore it. (Simulations validatethis.)

Since we assume finite buffers for all queues, stability ofthe queues is not an issue. Thus we may suppose that if theprice vector was frozen atp= [p1, . . . , pJ ] (i.e., service intheith queue is charged a fixed per unit price ofpi), then thequeue length process is asymptotically stationary ergodic.Let Ep[·] denote the corresponding stationary average, i.e.,the average w.r.t. the stationary law of the process when theprice vector is frozen atp. Defineh(·)=[h1(·), . . . , hJ (·)]T :(R+)J → (R)J by hi(p)

�=pi(Ep[yi(t)] − y∗i ) ∀i. We will

first analyze the qualitative behavior of the o.d.e.

q(t)= h(q(t)), (3)

which will capture the limiting behavior of the above priceadaptation scheme in the sense explained later. To do thatwe will need to make the following assumptions.

(A1) h(·) is continuously differentiable.(A2) hi(p)>0 whenpi = �, and<0 whenpi =M for

1� i�J.

(A3) �hi/�pj �0 for i �= j .(A1) implies in particular that (3) is locally well-posed.

It will hold, e.g., when the stationary law of{y(t)} dependssmoothly onpwhen the latter is kept fixed. As a specific ex-ample, consider the case when the queue length process isa Markov chain under constantp, with the transition proba-bilities depending smoothly onp. Since the stationary prob-ability distribution is a rational function of transition prob-abilities by Cramer’s rule, the above holds.

The first half of (A2) means that when the price for a queueis very low (to be precise,=�), it will attract enough trafficto push the corresponding queue length up, in turn pushingthe prices up. The second half means that high prices willcorrespondingly lead to low traffic into that queue, hencelower congestion, low enough to warrant a drop in the prices.(A3) implies that an increase in the price of one queue tendsto drive arrivals to the other queues and increase the con-gestion levels there. Both make eminent economic senseand will hold, e.g., when the users have a cost function thatis increasing in prices and join the queue that minimizesthe cost, and either a cheap alternative is always available(see Section 4 below) or balking occurs. The presence ofthe projection operator�(·) ensures that the iterates remainbounded.

Standard results from the ‘o.d.e.’ approach to stochasticapproximation algorithms (Kushner & Yin, 1997) imply thatthe algorithm in (2) will asymptotically track (3) in the fol-lowing sense: Definep(t), t�0, by

p(na)= p(n), n�0,

with linear interpolation on each interval[na, (n + 1)a].Then for anyT >0,

limt0→∞ E

[sup

t∈[t0,t0+T ]||p(t)− p0(t)||2

]=O(a), (4)

where p0(·) is a solution of (3) on[t0,∞) with p0(t0) =p(t0). See, e.g.,Borkar and Meyn (2000). Thus (2) is a‘noisy discretization’ of (3) withO(a) error. The projection�(·) would lead to a boundary correction in the o.d.e. limitif the driving vector field were directed outwards at anypoint in the boundary. This follows from the explicit expres-sion for this correction term in, e.g., (Kushner & Yin, 1997),Section 5.1. In our case such a correction term is missing inthe o.d.e. limit, because the driving vector field of (3) willbe directed inwards at the boundary of the region[�,M]J ,thanks to (A2). This last observation also implies in partic-ular that the associated flow maps this region into itself andhence, by a standard argument based on the Brouwer fixedpoint theorem (Ortega & Rheinboldt, 1970), has at least onefixed point, i.e., (3) has at least one equilibrium in this re-gion. Absence of (A2) will allow boundary equilibria whichis not a problem, except that they warrant a messier anal-ysis involving boundary correction. These, however, maynot be thedesiredequilibria, in the sense that they may not

Page 4: Charge-based control of DiffServ-like queues

2046 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

correspond to the targety∗. The idea here is that�,M, y∗should be arrived at from known traffic characteristics, sothat (A2) is reasonable. If the input traffic rate is eithertoo high or too low, it is no longer so. Mathematically, theassumptions (A1)–(A3) qualify (3) as a cooperative o.d.e. inthe sense ofHirsch (1985), Smith (1995). Thus we have:

Lemma 1. (a)For generic initial conditions(i.e., for initialconditions belonging to an open dense set), q(·) convergesto the set of equilibria H of(3) (though not necessarily to asingle point thereof).

(b) If the inequalities in(A3) above are strict, then forgeneric initial conditions, q(·) converges to one of the equi-libria in H , depending on the initial condition.

To prove the first claim, one simply mimics the proof ofTheorem 1.1, p. 56, ofSmith (1995)with weak inequalitiesin place of the strong, in order to verify the strong orderpreserving property defined on p. 2 ofSmith (1995)for theflow associated with (3). The claim then is simply a restate-ment of Theorem 4.3, p. 11, ofSmith (1995). The secondclaim is essentially Theorem 1.2, p. 57, ofSmith (1995).The boundedness of trajectories required in these results ofSmith (1995)is ensured by (A2). For later reference, we de-note byG the open dense set of initial conditions for whichthe conclusions of the lemma hold.

The condition in (b) above can be relaxed to the re-

quirement that the Jacobian matrixDh(x)�=[[(�hi/�pj )

(p)]]1� i,j�J be irreducible at every point. Also, both (a)and (b) will mean point convergence ifH is discrete. Notealso thatH �= � is a part of the conclusion of Lemma 1.We now seek conditions forH to be discrete. Consider thecondition:

(B1) The Jacobian matrixDh(x) is nonsingular at everypoint inH.

This condition is not too restrictive since nonsingularityis a generic property of square matrices, i.e., nonsingularmatrices form an open dense set inRn×n. In fact, at anyequilibrium p∗, h(p∗) = 0. This in turn is seen to lead to

Dh(p∗) = Dh(p∗)diag(p∗), where hi (p)�=Ep[yi(t)] for

1� i�J anddiag(p∗) is the diagonal matrix with the vec-tor p∗ along its diagonal. By Sard’s theorem (Ortega &Rheinboldt, 1970, p. 130),Dh(p∗) and thereforeDh(p∗)is nonsingular for almost all choices ofy∗, i.e., for all y∗outside a set of zero Lebesgue measure. Some care has tobe taken in applying this argument when natural constraintsforce the range ofh to be strictly a subset ofRJ . For example,in a work-conserving system with fixed total arrival rate andno balking, the sum of mean queue lengths will be constant,sayK, under any pricing policy (see ‘Example’ below). Thusif the yi(t)s above are queue lengths, we have a constraint∑

i hi(p)=K. Naturally, one has to impose∑

i y∗i =K and

apply the foregoing to the map[h1(·), . . . , hJ−1(·)] and thetarget values[y∗

1, . . . , y∗J−1], the J th component of either

being automatically specified by the constraints.

By the inverse function theorem (Spivak, 1965), under

(B1) h is a bijection in a neighborhood of any point inH,implying in particular that the equilibria of (3) are isolated.Structural stability considerations (Hirsch & Smale, 1997)suggest that it is reasonable to suppose that these equilibriaare hyperbolic (i.e., the matrixDh(x) evaluated at such anequilibrium has eigenvalues with nonzero real parts). This isbecause the property of ‘purely imaginary eigenvalues ex-ist’ is not stable under perturbations: If a matrix has thisproperty, almost all small perturbations of it will not haveit. Hyperbolic equilibria include sinks, i.e., equilibria whereDh(x) has all eigenvalues with strictly negative real parts.These are locally stable, in particular all trajectories of theo.d.e. in a neighborhood of such an equilibrium will con-verge to it. But they also include equilibria where one ormore eigenvalue ofDh(x) has a strictly positive real part. Iffor such equilibria there are any eigenvalues with a strictlynegative real part, these will correspond to a ‘stable mani-fold’ of the equilibrium in its neighborhood which has theproperty that any trajectory on this converges to the equilib-rium. The important thing to note here is that this manifoldis of zero Lebesgue measure, because it has the dimensionof at mostJ − 1, in view of the fact that there is at leastone eigenvalue with strictly positive real part. Furthermore,any trajectories not on this manifold, i.e., almost all trajecto-ries in the neighborhood of the equilibrium, will move awayfrom it. (SeeHirsch & Smale, 1997for a lucid account ofstructural stability.) LetSdenote the (discrete) set of stableequilibria. Then the above considerations make the follow-ing a reasonable assumption:

(B2) There exists an open dense setU such that all tra-jectories of (3) initiated inU converge to some point inS.

Intuitively, we wantUc to include the initial conditionsexcluded by Lemma 1and the equilibria not inSand theirstable manifolds. Note that we already know that the formerlie in the complement of an open dense set. We thus add toit the unstable equilibria and their stable manifolds. In otherwords,U will be the union of the domains of attraction ofthe stable equilibria of the o.d.e. We also assume:

(B3) {p(t)} is asymptotically stationary and the stationarylaw �a of p(t) has a density w.r.t. the Lebesgue measure

onRJ .The stationarity would be true, e.g., if the processy(·)

were a function of a positive recurrent Markov chain, a com-mon situation. The Lebesgue continuity of the stationarydistribution is an assumption. If it were not true, one couldenforce it by adding additional noise as follows: Replace theterm(yj (ti+1)−y∗

j ) by (yj (ti+1)−y∗j +�i+1) in (2), where

{�i} are i.i.d. with a strictly positive density in a neighbor-hood of zero w.r.t. the Lebesgue measure. Such ‘persistentexcitation’ is not uncommon in adaptive control literature. Itwill ensure that�a is Lebesgue continuous as stated. In oursimulations, the intrinsic randomness of the system seemedto suffice, which may also be expected in practice. The sub-scripta in �a renders the dependence on the stepsizea in (2)

Page 5: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2047

explicit. Let B(�) �={p ∈ RJ : infp∗∈S ||p − p∗||< �} (i.e.,the �-neighborhood ofS) and set

T (x)= sup{t�0 : q(t) /∈B(�)},= inf {t�0 : q(s) ∈ B(�) ∀s > t},

whereq(·) satisfies (3) with initial conditionx. T (x) is theleast time such that the trajectory starting atx lies in B(�)thereafter. (ThusT (x)<∞ for x ∈ U .) Conditions (B2),(B3) imply in particular that�a(

⋃n{x : T (x)�n}) = 1.

Thus, given any>0, we can pick anN()�1 such that�a({x : T (x)�N()})>1−. Consider a stationary process{p(t)} governed by (2) and the corresponding equation (3)with t0 = 0 andT =N()a. Then it is clear that

�a(B(�))= P(p(T ) ∈ B(� +O(a)))>1 − . (5)

We have proved:

Theorem 1. The stationary distribution�a of (2) concen-trates on the stable equilibria of(3) in the sense of(5).

We have given a ‘back of the envelope’ calculation to jus-tify Theorem 1. A more formal treatment leading to an anal-ogous claim under certain technical conditions may be foundin (Benaim & Hirsch, 1999). Note thatanyequilibrium pointp of (3) corresponds to the desired equalityy∗ =Ep[y(n)],so they are all equivalent for our purposes.

One can also give sufficient conditions under which (3)has a unique equilibrium which is asymptotically stable.Consider the condition:

(B4) For two price vectorsp(1), p(2) ∈ RJ , andp(1) �=p(2)

〈g(p(1))− g(p(2)), p(1) − p(2)〉<0, (6)

whereg(p)�=p + h(p) ∀p ∈ RJ .

Thus (3) can be rewritten as

q(t)= g(q(t))− q(t). (7)

(6) is the ‘monotonicity’ condition on−g (Ortega &Rheinboldt, 1970, Section 5.4) which clearly implies thatthe fixed point ofg, equivalently the equilibrium point of(7), will be unique. Furthermore, lettingp∗ denote this equi-

librium point, V (q)�= ||q − p∗||2 serves as the Liapunov

function for (7), as seen from the calculation

dV (q(t))

dt= 2〈q(t)− p∗, g(q(t))− q(t)〉= 2〈q(t)− p∗, g(q(t))− g(p∗)〉

− 2||q(t)− p∗||2�0,

with equality if and only ifq(t)= p∗. Thus,p∗ is globallyasymptotically stable and Theorem 1 holds forS = {p∗}.

A necessary and sufficient condition for (6) to hold is thatthe JacobianDg be negative definite everywhere (Ortega

& Rheinboldt, 1970, p. 142). Suppose that all its diagonalelements are strictly negative. (Because rise inpi will tendto decreaseEp[yi(t)] with all else remaining the same

pi�Ep[yi(t)]

�pi<0.

Thus we need this term to dominate the rest in the expressionfor �gi(p)/�pi .) A sufficient condition for negative definite-ness ofDg(p) then is that it be irreducible and ‘diagonaldominance’ be such that (Ortega & Rheinboldt, 1970, p. 50):

∣∣∣∣ �gi�pi(p)

∣∣∣∣>∑j �=i

∣∣∣∣ �gi�pj

(p)

∣∣∣∣ , ∀i.

This means that the congestion inith queue be much moresensitive to its own price changes than to the price changesin other queues.

We shall now describe qualitatively what to expect fromthe price adaptation scheme for the various, progressivelymore restrictive scenarios described above. In absence of(B1)–(B3), since (3) still converges to the equilibrium setS ‘generically’, we can expect the prices to wander in aneighborhood of this set with high probability. Note, how-ever, that any price vector inS will lead to average con-gestion beingy∗. Thus, while the prices may wander, onecan expect the average congestion profile to fluctuate aroundy∗ as desired. The situation when (B1)–(B3) hold is better.Results ofDupuis (1988)suggest that typically the adapta-tion scheme will spend large times in the neighborhood ofone of the isolated equilibria inSwith rare transitions fromone to the other. Under (6), of course, we expect the adap-tation scheme to remain in a neighborhood ofp∗ most ofthe time.

The following simple rule of thumb may be used forchoosing the operating pointy∗. Suppose that there is apenalty ofCj units per packet lost in thej th queue. (Thiscould be interpreted also as a free parameter based on theproposed QoS for the queue.) Then the average penalty forj th queue isCj�a(yj >Bj ), whereBj is the prescribedbound onyj (·). Using Chebyshev inequality, this may bebounded from above byCjy∗

j /Bj . Then given a prescribed‘tolerance parameter’j >0 for queuej, we choosey∗

i sothat this penalty does not exceedj , i.e.,y∗

j = jBj /Cj .Another way to choose the operating point, a simple de-

terministic one, would be to base it on the per hop delaybehavior that is to be provided by the class of the queue.Let wj (in bit transmission times) be the upper bound ofthe waiting time that will be guaranteed for queuej, andwjthe average delay for that class. The number of bits in thequeue, the unfinished work, is the waiting time seen by anarrival. If the buffer space available for queuej is limitedto wj bits then the delay bound is achieved. To provide anaverage delay ofwj , the operating point could be chosen tobey∗

j = wj in the price adaptation equation.

Page 6: Charge-based control of DiffServ-like queues

2048 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

We remark here that our control scheme allows for occa-sional resets. To motivate the need for such a feature, con-sider a network in which there has been a link failure, ora capacity augmentation causingy∗ to be changed. In thiscase the system may be reset and the queue lengths will be-gin to adapt to the new operating point.

Example. The following example, chosen mainly for its an-alytic tractability, illustrates the foregoing. (See alsoTandraet al. (2004)for numerical results in another related model.)Consider a single link providing two classes of serviceswith a separate queue for each class. An operating pointy∗ = [y∗

1, y∗2] is defined, wherey∗

i is the desired number ofpackets in queuei. �i is the capacity allocated to queuei, and�1+�2=�, the total capacity of the link. Thus, the operatingpoint defines a mean delay ofyi/�i from queuei if the packettransmission times have an exponential distribution. The linkis work conserving in the sense that if a queue is empty, itscapacity is allocated to the other queue, exactly like the gen-eralized processor sharing model (Parekh & Gallager, 1994).Since the system is work conserving and total arrival ratesand service rates are constant, the sum of the mean queuelengths is constant, sayK. ThusEp[y1(t)]+Ep[y2(t)]=K,and we need to ensure thaty∗

1 + y∗2 = K. Arriving packets

calculate the cost of taking service from classi as a convexcombination of the price (pi), and the number of packets inthe queue (yi) and join the class for which this cost is min-imum. The cost function will be�(p, y)= ap + (1 − a)y,where 0�a�1 defines the class of the arrival. We leta beuniformly distributed in[0,1]. Also assume that the packetlengths from each class have the same exponential distribu-tion. Denoting number in queuei at timet byxi(t), we define

the system state to bex(t) �=[x1(t), x2(t)]. Clearlyx(t) is acontinuous time Markov chain with state-dependent transi-tion rates.

For this link, condition (A1) is obviously satisfied. Whenxi(t)= yi , the fraction of arrivals that join queue 2 is givenby (p1 − p2/(p1 − p2) + (y1 − y2)). For any[y1, y2], thefraction of new arrivals that join queue 1 will decrease asp1 is increased. Hence condition (A3) will also be satis-fied. (A2) and (B1) have already been discussed before.(B3) can be ensured by adding extraneous noise if nec-essary. Thus we shall focus on (B2). To verify (B2), let

gi(p)�=Ep[yi(t)], i=1,2. Thushi(p)=pi(gi(p)−y∗

i ), i=1,2. ConsiderV (p)

�= ∑2i=1(gi(p)−y∗

i )2. Then for any tra-

jectoryp(·) of the o.d.e. (3),

d

dtV (p(t))= 2

2∑i=1

(gi(p(t))− y∗i )

2pi(t)�gi(p(t))

�pi

+ 2(g1(p(t))− y∗1)(g2(p(t))− y∗

2)

×(p2(t)

�g1(p(t))

�p2+ p1(t)

�g2(p(t))

�p1

).

Since�gi(p)/�pi <0, the first term on the right is<0 ifgi(p(t)) �= y∗

i , and is zero otherwise. Since

g1(p)+ g2(p)= y∗1 + y∗

2 =K,

we have

(g1(p)− y∗1)(g2(p)− y∗

2)�0

with equality iff gi(p) = y∗i , i = 1,2. Since�gi/�pj >0

for i �= j , it follows that the second term is also<0 ifgi(p(t)) �= y∗

i , and is zero otherwise. ThusV (·) serves asa Liapunov function for the o.d.e. establishing asymptoticstability of its equilibria. This verifies (B2).

In this example, it might seem that knowingK requires theknowledge of the arrival rate to the system. For an exampleof a case where this is not necessary, assume thaty1(t)

is to be controlled aty∗1, andy2(t) is allowed to grow to

large but finite values. In this case, if the arrival rate is suchthat K >y∗

1, E(y1(t)) will be y∗1 andE(y2(t)) would be

K− y∗1. If the arrival rate is such thatK <y∗

1 then we don’treally need the control. In fact, the simulation results that wereport in the next section are for a similar system with fourclasses.

4. Numerical results

The numerical experiments that we report are performedfor a link with four classes of queues each with an exponen-tial server of unit rate. Each nonempty queue receives serviceat the same rate. We considered unfinished work and queuelength as congestion information. Three of the queues arecontrolled by the price and have guarantees on average de-lay when service is availed through these queues. The fourthqueue is not priced and allowed to grow to large but finitevalues and corresponds to a best effort service. The operat-ing point or the ideal occupancy for the three priced queues(unfinished work or queue length) are, respectively, 2, 5,and 10. The capacity of the four queues are, respectively, 5,10, 30, and 500. Our interest is in the behavior of the threepriced queues. Our simulations are run for 100,000 units oftime and we report the average queue occupancy during thelast 10,000 units of time by taking averages over 50 timeunits. We also show the instantaneous occupancy for the firstthree queues during the last 500 units of time. In addition tothe original scheme as described in the preceding sections,we also tried several ad hoc modifications. Specifically, thefollowing price adjustment schemes have been used:

(1) Original method:

pj (ti+1)= max(min(pj (ti)+ apj (ti)

× (yj (ti+1)− y∗j ),0.05),10000)

We usea = 0.01.

Page 7: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2049

0

2

4

6

8

10

12

14

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

2

4

6

8

10

12

14

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

No limit on price change

price changes of less than 1% are not committed

Fig. 2. Small user model; post unfinished work as congestion information; price is adapted at arrival instants; original price adaptation.

(2) Momentum method:

qj (t + 1)= �(qj (t)+ a(yj (t + 1)− y∗j − bqj (t)),

pj (t + 1)= pj (t)+ apj (t)qj (t),

for some b>0. This is inspired by the eponymousscheme from neural networks literature. What it doesis to replace the ‘error signal’ driving the adaptationscheme by an exponentially weighted (‘smoothed’) av-erage thereof.

(3) Squares of the actual and the ideal is used in the priceadjustment algorithm, i.e.:

pj (ti+1)= max(min(pj (ti)+ apj (ti)

× (y2j (ti+1)− (y∗

j )2),0.05),10000).

We usea=0.01. This scheme will enhance the errors inthe upward swings which are anyway of greater concernthan the downward swings, as they are the ones leadingto buffer overflows.

For each of the above methods we also experiment witha variation in which the price is changed only if the differ-ence is more than 1%. This is purely motivated by the factthat in practice one may not wish to change price too of-ten. The modifications proposed above are purely ad hoc,guided by intuition or experience from other domains ratherthan by rigorous theory. In particular, the earlier mathe-matical analysis does not apply to them in the strict sense.Since they are essentially small perturbations of the orig-inal scheme, we don’t expect them to be too far off themark, a fact supported by the empirical evidence givenbelow.

Page 8: Charge-based control of DiffServ-like queues

2050 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

0

5

10

15

20

25

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

30

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

5

10

15

20

25

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

30

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

No limit on price change

Price changes of less than 1% are not committed

Fig. 3. Small user model; post unfinished work as congestion information; price is adapted at arrival instants; Momentum method for price adaptation.

We first consider thesmall usermodel where the volumeof work per arrival is small and may not be split. A packet ora small HTTP download will be typical examples. As in theexample given in the previous section, an arrival bringing inx units of work chooses to join the queue that minimizes the‘disutility’ (negative of utility) defined bypj + (1−)(x+yj )/�j over 1�j�J and sends allx units of traffic to thej th queue. Here�j is the service rate ofj th queue, and aweight factor that reflects the relative significance of priceand delay to the user. In fact, defines the user and we as-sume that is uniformly distributed in(0,1). (A differentdistribution for could be used to denote a different distribu-tion of the delay sensitivities of the sources.) Price is contin-uously adapted for every arrival using instantaneous conges-tion information. If an arrival cannot be accommodated in thequeue, then its disutility is infinite for that queue. If an arrival

cannot be accommodated in any queue, then that arrival islost.

Figs. 2–4show the plot of average and instantaneous workin the system. For each of the three price adaptation algo-rithms, we also show the plots when the minimum pricechange is restricted to 1%. In obtaining these we have as-sumed that the delaysD1–D3 of Fig. 1 are all zero. Ob-serve that although there is some short-term fluctuation inthe unfinished work, the averages are in the desired range.Further, observe that the best behavior of the average occu-pancy is obtained if the price is varied for every arrival andthe original price adaptation is used. Prescribing a minimumamount of price change does not seem to affect the char-acteristics in any noticeable way. The use of the momen-tum method tends to introduce more variations in the aver-age work process but reduces the variations in the average

Page 9: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2051

0

2

4

6

8

10

12

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

2

4

6

8

10

12

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

No limit on price change

Price changes of less than 1% are not committed

Fig. 4. Small user model; post unfinished work as congestion information; price is adapted at arrival instants; Poisson arrivals; difference in squares ofthe ideal and the actual is used in the price adaptation.

price (not shown in the figures). From these graphs it mayseem that the ‘higher quality’ queue, the queue for whichthe preferred operating point has less work in the queue (andhence, is meant to provide lesser delay) has a better aver-age behavior than that of the ‘lower quality’ queue. This isbecause the arrival rates are such that the probability thatthe queue length exceeds the sum of the ideal occupanciesof the three priced queues is very small and the control ofthe occupancy of the ‘lower quality’ queue is not very ef-fective in raising the queue level towards the ideal. We alsoexperimented with changing the price at predetermined in-stants (every 10 units of time) rather than for every arrival.While changing the price in this manner we conducted sep-arate experiments in which we used the average work in thesystem between price changes and the instantaneous con-gestion (instantaneous work) in the queue for they(t) in

the price adaptation equation. For both these cases our re-sults are qualitatively similar to that discussed above. Theabove experiments were repeated by using queue length asthe congestion indicator rather than the unfinished work inthe queue. Once again, the results were qualitatively simi-lar to that obtained for work in the system as a congestionindicator.

To study the effect of delays we consider models wherethe price is set every two units of time. In the first model,the price setter has information about the congestion at theend of the previous price setting epoch and the price adap-tation equation uses this old value. With reference toFig. 1,this corresponds toD2 = 2, andD1 = D3 = 0. The in-stantaneous and average work with and without minimumprice changes are shown inFig. 5. In the second model,we let D1 = D2 = 10, andD3 = 0 and assume that the

Page 10: Charge-based control of DiffServ-like queues

2052 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

0

5

10

15

20

25

30

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

5

10

15

20

25

30

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

inst

wor

k

time

0

5

10

15

20

25

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

Poisson Arrivals

Hyperexponential interarrival times

Fig. 5. Price adaptation is based on delayed information. Congestion information to the users is not delayed. Small user model; post work length ascongestion information; price is adjusted at regular intervals; original price adaptation.

instantaneous congestion information is reported by the linkevery 2 units of time. The results from this experiment areshown inFig. 6. Observe that the results are as expectedand that there is no qualitative change in either the instan-taneous or average work behavior. As a further variation weused hyperexponential interarrival times to provide highervariations in the arrival process and repeated all the aboveexperiments. The average and instantaneous queue lengthbehaviors were similar to those with Poisson arrivals. Wealso simulated non-work-conserving systems and the re-sults were as good or better than the ones that we reporthere.

Next we consider thelarge usermodel. One motivationfor this model is that there will be applications that can splittheir traffic among multiple classes of queues to get the de-sired performance while retaining a price limit. For example,

streaming services and many kinds of interactive servicescould offer differing grades of service by splitting their loadamong multiple service classes in different proportions. Thelarge user model that we use works as follows. An arrivalof type i at time t brings in x(t) amount of work. It willdistribute this work across theJ queues (say,xj to queuej)so as to minimize the maximum of the total delays from aqueue, max1� j�J (xj + yj /�j ). The arrival is assumed tobe willing to pay a maximum price ofPi for the transferover the link. If [p1, . . . , pJ ] is the current profile of theprice per unit of work, the optimization problem for this canbe cast as the following linear program:

Minimize z subject to

z�(xj + yj )/�j , 1�j�J,

Page 11: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2053

0

2

4

6

8

10

12

14

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0

2

4

6

8

10

12

14

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

10

15

20

25

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

5

10

15

20

25

0

2

4

6

8

10

12

14

16

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

Poisson Arrivals

Interarrival times have a hyperexponential distribution

Fig. 6. Price adaptation and the selection of the class by the user is based on delayed information. Small user model; post work length as congestioninformation; price is adjusted at regular intervals; original price adaptation.

∑jxj = x, (splitting constraint)∑jpjxj �Pi, (paying capacity constraint)

xj + yj �cj ∀j, (queue capacity constraint)

xj �0 ∀j.The value ofPi defines the type of this arrival. For thenumerical results that we report, for the five types of arrivalswe have usedP1 = 2000.0, P2 = 1000.0, P3 = 500.0, P4 =250.0, andP5=100.0. In the above linear program,ci is thecapacity of queuei and the values that we have used for ournumerical results are the same as those used for the smalluser problem. We obtained extensive numerical results forthis case too. We have observed that unlike in the small user

case, the third method above of price adaptation, use of thesquare of the congestion and the ideal, seems to control theaverage queue length better than the original method. Theseresults are shown inFig. 7 for the case of Poisson arrivalsand for the case of hyperexponential interarrival times. Aswith the small user case, we also performed experiments bychanging the price at discrete times rather than continuouslyand also used average congestion information rather thaninstantaneous information. Further, we experimented withhyperexponential interarrivals. In all these cases, as in thesmall user model, the results were qualitatively similar tothose discussed above.

It would seem natural that the proposed scheme couldalso be used for admission control of stream traffic or flows.We considered the following simple model for flows on a

Page 12: Charge-based control of DiffServ-like queues

2054 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

0

2

4

6

8

10

12

14

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

0

2

4

6

8

10

12

14

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

aver

age

wor

k

time

0 50 100 150 200 250 300 350 400 450 500

inst

wor

k

time

Poisson arrivals of flows

Interarrival times have hyperexponential distribution

20

18

16

14

12

10

8

6

4

2

0

25

20

15

10

5

0

Fig. 7. Large user model; post unfinished work as congestion information; price adjusted for every arrival; Poisson arrivals; difference in squares of theideal and the actual is used in the price adaptation.

link. The link capacity is partitioned into four parts witheach partition providing different grades of service in termsof packet loss probabilities and/or delays.y∗

i would be the‘ideal’ number of active flows receiving service gradei. Letz= [z1, z2, z3, z4] wherezi is the upper bound on the num-ber of flows that can be active in partitioni at any time.The y∗

i could be chosen as the optimum number of activeflows that balances the link usage efficiency while provid-ing QoS guarantees to the flows.z could be the occupancyof the partitions at which the QoS of the active flows willbe violated with high probability. The design ofy∗ and zis beyond the scope of this paper. We assume that an ar-riving flow will pick the cheapest service grade. More so-phisticated mechanisms may be used to pick the servicegrade but our purpose here is to illustrate the performanceof our controller.Fig. 8 shows the instantaneous and aver-

age values for the number of active flows in each of thepartitions. Observe that the controller performance is asexpected.

5. Discussion

As in other proposals for rate control using a pricingmodel, our proposal could also be treated as a mandateduser adaptation and not necessarily as monetary charge. Inour numerical results we have assumed large buffer spaces.If this were not available or if balking were to be allowed,then the control scheme can be seen to be a rate adaptationscheme as well.

In this paper we have considered a link in isolation. Asimple extension of the theory to the network case would be

Page 13: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2055

0

10

20

30

40

50

60

70

0 200 400 600 800 1000

aver

age

activ

e ca

lls

time

0

10

20

30

40

50

60

0 5 10 15 20 25 30 35 40 45 50

inst

act

ive

calls

time

0

10

20

30

40

50

60

70

0 200 400 600 800 1000

aver

age

activ

e ca

lls

time

0

10

20

30

40

50

60

0 5 10 15 20 25 30 35 40 45 50

inst

act

ive

calls

time

Poisson arrivals of flows

Interarrival times have hyperexponential distribution

Fig. 8. Flows on a link. Price is adapted at arrival instants. Arrivals join the cheapest partition. Original price adaptation method is used.

to have each packet determine the service class separately oneach link. The results of this paper apply to this case. Thisis especially reasonable if, as we say above, the price is ameans for user adaptation. A second alternative would be toapply price control only at the ingress nodes to the networkand mark the packets with the chosen class. In this case,the interactions between the queues on the different linksmakes the problem hard and the theory cannot be extended.However, to evaluate the performance of the controller insuch a situation, we simulate the application of our pricebased control to two queues in tandem with three types ofarrivals. Type 1 will take service from link 1 only, type2 from link 2 only and type 3 from link 1 and link 2 inthat order. The arrival rates are such that both the links areequally loaded. We assume that a type 2 arrival to link 1decides the service class based on the status and price oflink 1 only and this will also be its service class in link

2. The operating points and the capacity of the buffers forboth the links and the simulation durations are the same asin the earlier simulation examples.Fig. 9shows the averageoccupancies in the queues on link 2 for different arrival ratesof the three types. Observe that the scheme does as well inthis case as in the previous cases.

Finally a remark about the timescales in this control algo-rithm. The timescale on which the price adaptation schemeworks is dictated by our choice of the stepsize ‘a’. A smaller‘a’ means lower variance and more ‘graceful’ behavior, butslower convergence, a standard trade-off in stochastic ap-proximation. In our case, we propose the ‘a’ to be smallenough so that the price adaptation is on a slower timescalethan other control loops such as TCP, and thus sees thelatter only in an averaged form. This reduces the interfer-ence of control loops and allows one to analyze their stabil-ity implications essentially separately, with the faster loops

Page 14: Charge-based control of DiffServ-like queues

2056 V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057

0

2

4

6

8

10

12

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

avg

qlen

time

Queue 1Queue 2Queue 3

0

2

4

6

8

10

12

14

16

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

avg

qlen

time

Queue 1Queue 2Queue 3

0

2

4

6

8

10

12

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

avg

qlen

time

Queue 1Queue 2Queue 3

0

2

4

6

8

10

12

14

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

avg

qlen

time

Queue 1Queue 2Queue 3

λ1 = λ2 = 0.6533; λ3 = 0.3267

λ1 = λ2 = 0.6533; λ3 = 0.3267

λ1 = λ2 = 0.3267; λ3 = 0.6533

λ1 = λ2 = 0.3267; λ3 = 0.6533

Poisson arrivals

Interarrival times have a hyperexponential distribution

Fig. 9. Average queue occupancy in the queues on link 2 for the case of two links in tandem.�i is the arrival rate to routei. Squares of the actual andthe ideal queue lengths are used in the price adjustment algorithm.

viewing the slower ones as quasi-static and the latter view-ing the former as quasi-equilibrated.

References

Basar, T., & Srikant, R. (2002). Revenue-maximizing pricing and capacityexpansion in a many-users regime.Proceedings of IEEE INFOCOM2002, New York.

Benaim, M., & Hirsch, M. W. (1999). Stochastic approximation algorithmswith constant stepsize whose average is cooperative.The Annals ofApplied Probability, 9, 216–241.

Blake, S., Black, M., Carlson, D., Davies, E., Wang, Z., & Weiss, W.(1998). An architecture for differential services.IETF RFC 2475,December 1998.

Borkar, V. S. (1998). Asynchronous stochastic approximation.SIAMJournal of Control and Optimization, 36(3), 840–851.

Borkar, V. S., & Meyn, S. P. (2000). The o.d.e. method for convergence ofstochastic approximation and reinforcement learning.SIAM J. Controland Optimization, 38, 447–469.

Dube, P., Borkar, V. S., & Manjunath, D. (2002). Differential join pricesfor parallel queues: Social optimality, dynamic pricing algorithms andapplication to Internet pricing.Proceedings of IEEE Infocom 2002,New York.

Dupuis, P. (1988). Large deviations analysis of some recursivealgorithms with state-dependent noise.The Annals of Probability, 16,1509–1536.

Falkner, M., Devetsikiotis, M., Lambadaris, I. (2000). An overview ofpricing concepts for broadband IP networks.IEEE CommunicationsSurveys, 2–13

Page 15: Charge-based control of DiffServ-like queues

V.S. Borkar, D. Manjunath / Automatica 40 (2004) 2043–2057 2057

Gibbens, R. J., & Kelly, F. P. (1999). Resource pricing and the evolutionof congestion control.Automatica, 35, 1969–1985.

Hirsch, M. W. (1985). Systems of differential equations that arecompetitive or cooperative II: Convergence almost everywhere.SIAMJ. Mathematical Analysis, 16, 423–439.

Hirsch, M. W., & Smale, S. (1997).Differential equations, dynamicalsystems, and linear algebra. New York: Academic Press.

Kelly, F. P. (1997). Charging and rate control for elastic traffic.EuropeanTransactions on Telecommunication, 8, 33–37.

Kelly, F. P., Maulloo, A., & Tan, D. (1998). Rate control in communicationnetworks: Shadow prices, proportional fairness and stability.Journalof the Operational Research Society, 49, 237–252.

Kunniyur, S., Srikanth, R. (2001). Analysis and design of an adaptivevirtual queue (AVQ) algorithm for active queue management. InProceedings of ACM SIGCOMM.

Kushner, H. J., & Yin, G. (1997).Stochastic approximation algorithmsand applications. New York: Springer.

Lazar, A. A., & Semret, N. (1997). Auctions for network resourcesharing. Technical Report: CU/CTR/TR 468-97-02, Center forTelecommunications Research, Columbia University

Odlyzko, A. (1999). Paris Metro pricing for the Internet. InProceedingsof ACM conference on electronic commerce(pp. 140–147).

Ortega, J. M., & Rheinboldt, W. C. (1970).Iterative solution of nonlinearequations in several variables. New York: Academic Press.

Parekh, A., & Gallager, R. (1994). The generalised processor sharingapproach to flow control in integrated services network: The multiplenode case.IEEE/ACM Transactions on Networking, 2(2), 137–150.

Paschalidis, I. C., & Tsitsiklis, J. N. (2000). Congestion-dependent pricingof network services.IEEE/ACM Transactions on Networking, 8(2),171–184.

Smith, H. L. (1995).Monotone dynamical systems. Providence, RI:American Mathematical Society.

Spivak, M. (1965).Calculus on Manifolds. New York: W.A. Benjamin Inc.Tandra, R., Hemachandra, N., & Manjunath, D. (2004). DiffServ

node with join minimum cost queue policy and multiclass traffic.Performance Evaluation, 55, 69–91.

Prof. Vivek S. Borkar got his B. Tech.(Electrical Engineering) from Indian Insti-tute of Technology, Mumbai, in 1976, M.S.(Systems and Control) from Case WesternReserve University in 1977 and Ph.D. (Elec-trical Engineering and Computer Science)from University of California, Berkeley. Hewas with University of Twente (1980–81),TIFR Centre, Bangalore (1982–89), IndianInstitute of Science (1989–99), and hasbeen with School of Technology and Com-puter Science, Tata Institute of Fundamental

Research, Mumbai, since April 1999. His research interests includestochastic optimization and applications.

D. Manjunath received his BE fromMysore University, MS from Indian Insti-tute of Technology, Madras and Ph.D. fromRensselaer Polytechnic Institute, Troy NYin 1986, 1989, and 1993, respectively. Hehas been a summer intern in the Corpo-rate R&D Center of GE (1990), a visitingfaculty in the Computer and InformationSciences Department of the University ofDelaware (1992–93), a post doctoral fellowin the Computer Science Department of theUniversity of Toronto (1993–84) and on the

Electrical Engineering faculty of the Indian Institute of Technology,Kanpur (1994–98). He has been with the Electrical Engineering Depart-ment of Indian Institute of Technology, Mumbai since July 1998 wherehe is now an Associate Professor. His research interests are in the areasof communication networks, performance analysis of systems, queueingsystems, and multimedia communications.