Joint Asynchronous Congestion Control and Distributed Scheduling ...

2 downloads 112 Views 194KB Size Report
Abstract—We consider a multi-hop wireless network shared by many users. For an interference model that only constrains a node to either transmit or receive at ...
Joint Asynchronous Congestion Control and Distributed Scheduling for Multi-Hop Wireless Networks L. Bui, A. Eryılmaz, R. Srikant

X. Wu

Department of Electrical and Computer Engineering University of Illinos at Urbana-Champaign, USA Emails: {locbui, eryilmaz, rsrikant}@uiuc.edu

Flarion Technologies NJ, USA Email: [email protected]

Abstract— We consider a multi-hop wireless network shared by many users. For an interference model that only constrains a node to either transmit or receive at a time, but not both, we propose an architecture for fair resource allocation that consists of a distributed scheduling algorithm operating in conjunction with an asynchronous congestion control algorithm. We show that the proposed joint congestion control and scheduling algorithm supports at least one-third of the throughput supportable by any other algorithm, including centralized algorithms.

I. I NTRODUCTION The operation of a wireless network differs from its wireline counterpart in many aspects. Interference, time-varying channels, and limited resources are a few of the distinguishing characteristics of wireless networks. A number of papers have addressed the problem of resource allocation in wireless networks while taking into account many of the features. It was shown in [1] that scheduling algorithms that appropriately use the queue length information can stabilize the queues in the network provided that the set of arrival rates from the various users of the network lies within the capacity region of the network. Such a scheduling rule is called throughput optimal in the sense that, for any set of flow rates for which the queues can be stabilized, the throughput-optimal scheduler will stabilize them. Later, there has been a large body of literature that extended these ideas to more general systems and class of schedulers [2], [3], [4], [5], [6], [7]. All of these works assumed that the incoming flow rates are inelastic, and that the buffer length information is available at a central coordinator instantaneously, which then determines the allocation of the resources and informs all the nodes, again in an instantaneous fashion. Motivated by the works for wireline networks [8], [9], [10], recently there has been much interest in incorporating congestion control into the system in addition to the queuelength based schedulers for the purpose of fair-resource allocation [11], [12], [13], [14], [15], [16], [17]. These algorithms determine the rate at which each user is allowed to inject data into the network as a function of the current congestion level of the network. The congestion level information is fed back to the controller from the nodes. It has been shown in that fair

allocation1 can be achieved through the joint operation of these two mechanisms – scheduling and congestion control. However, each of these papers has one or more of the following assumptions: (i) scheduling mechanism is ignored [16], [17], or (ii) a centralized scheduling algorithm is assumed [11], [15], [13], [12] or (iii) it is assumed that the congestion price information can be instantaneously exchanged between all of the nodes (an assumption made by all the previous papers). The requirement of decentralized scheduling is obvious in a multihop wireless network. However, the importance of the ability of the network to exchange information between the nodes does not seem to have been addressed previously. In particular, two nodes can exchange congestion price information only when they can successfully transfer information between them. Unlike a wireless network, information transfer between nodes is subject to interference constraints and hence neither data nor congestion price information can be transferred between two nodes without taking into account the activity of other nodes in their vicinity. This is similar to the asynchronous model considered in [9], except that in [9], it is assumed that nodes exchange information with a bounded delay which may not be case in wireless networks as we will demonstrate in later sections. In this work, one of our goals is to relax some of these assumptions and study the performance of a distributed resource allocation architecture for a specific, but widely-used interference model. Under this interference model, called the node-exclusive model, each node can either transmit or receive at a given time, but not both. No other constraints are imposed on the transmission. Thus, each feasible schedule is a matching of the underlying graph of the network. Such an interference model is appropriate for Bluetooth networks [18] or in FHCDMA networks [19], [20]. Our contributions in this paper are as follows: •

We propose an architecture for joint congestion control and scheduling under the node-exclusive model. Congestion control is performed at one layer by exchanging

1 An allocation is said to be fair if the sum of the utilities of the users is maximized over all possible allocations.

congestion price and users’ packet arrival rates in an asynchronous fashion. A distributed maximal matching algorithm proposed in [21] is used to perform scheduling. • Unlike [21], we do not assume that the user arrival rates are known at each node on its route instantaneously. Instead, we use a modification of an algorithm in [22], [23] to stabilize the network. • We first consider a deterministic fluid model and show the stability of the joint congestion control-scheduling architecture. • As mentioned earlier, congestion information can be exchanged between two nodes only when they are scheduled to transmit to each other. To ensure that every pair of neighbors communicate with each other infinitely often (almost surely), we introduce a slight modification to the maximal matching algorithm whereby every node attempts to make a connection with each one of its neighbors with a small probability. • With the above modification to the maximal matching scheduling algorithm, the resulting congestion control becomes an asynchronous algorithm with possibly unbounded delays in exchanging congestion information. To the best of our knowledge, the approach in [24] does not seem to apply to our asynchronous computation model, and therefore, we provide a new proof the convergence of the asynchronous congestion control algorithm. It should be noted that we consider a time-slotted model, which assumes that all nodes have a common notion of the beginning and the end of a time slot. We refer the reader to [25] for a discussion about a time-slotted model, which uses guard intervals in the context of FH-CDMA networks to avoid this requirement at the cost of slightly reduced throughput. The paper is organized as follows. Section II introduces the system model we consider in this paper, including the interference model, the description of the regulated maximal matching scheduler and the problem statement. We describe and analyze a heuristic fluid model analysis of the synchronous version of the system in Section III. In Section IV, we provide the description of the asynchronous congestion controller and prove its convergence properties. We finish with conclusions in Section V. II. S YSTEM M ODEL Consider a graph, G = (N , L), representing a wireless network where N is the set of nodes and L is the set of directed links. If a link (n, m) is in L, then it is possible to send packets from node n to node m subject to the interference constraints to be described shortly. We let cl denote the fixed capacity (the number of packets per slot that can be transferred over the link) of each link l ∈ L. Let F denote the set of flows that share the network resources. The main goal of this paper is to derive a fully distributed asynchronous algorithm that achieves fair allocation of system resources among the competing flows. We assume that each flow, f, has a unique, loop-free route and a utility function associated with it. We use Hlf to denote

the indicator function that is equal to 1 when link l is in the route of flow f, and zero otherwise. The utility function, denoted by Uf (·), is assumed to satisfy the following set of conditions: • Uf (·) is a strictly concave, nondecreasing, twice differentiable function. • The second derivative of the utility function is bounded, ¯ ∈ (0, ∞), there exists a constant m < ∞ i.e., for every M such that 1 ¯ 0 ≤ − 00 ≤m ∀x ∈ [0, M] (1) Uf (x) •



¯ ∈ (0, ∞), there exists a constant c such that For every M  0−1  00 ¯ ∀y ≥ M (2) Uf Uf (y) ≥ cy Uf0−1 (·) is a convex function, and satisfies2 1−

Uf0−1 (κ +

β L1−σ )

Uf0−1 (κ)

= O(L−γ )

(3)

for any fixed κ, β > 0 and for some γ ∈ (0, 1) that is determined as a function of σ ∈ (0, 1). We note that these conditions are not restrictive and hold for the following class of utility functions. Uf (x) =

x1−αf 1 − αf

∀ αf > 0.

(4)

if x is upper bounded. This class of utility functions known to characterize a large class of fairness concepts [26]. A. Interference Model In this subsection, we describe the interference model, referred to as node-exclusive interference model, assumed in this paper and its implications. According to this model, each node can either transmit or receive but not both at a given time. There are no other constraints on the transmission. At this point, let us define the capacity region, Λ, of the network simply as the set of flow rates x = {xf }f that are supportable by the network. We will provide a more precise description of Λ at the end of this section, after we describe the interference model. Let E(n) be the set of links that are incident on node n, i.e. E(n) = {m ∈ N : (m, n) ∈ L or (n, m) ∈ L}. Then, the following facts can be asserted. Fact 1: P f X f ∈F Hl xf Λ ⊂ {x : ≤ 1, ∀n ∈ N }. cl l∈E(n)

This fact simply states that no node can be active more than 100% of the time and is proved in [27]. Fact 2: Any set of flow rates x that satisfies P f X 2 f ∈F Hl xf ≤ ∀n ∈ N (5) cl 3 l∈E(n)

2 f (x)

= O(g(x)) implies that lim sup x→∞

f (x) < ∞. g(x)

lies within the capacity region of the network. This fact is discussed in [20], [27], and is based on a work by Shannon [28]. To simplify the notation, we assume that cl = c = 1 for all l ∈ L. However, this condition is not required for the analysis. Then, the condition in (5)PSfrag can bereplacements equivalently written as n m X X 2 xf ≤ xf + 2 ∀n ∈ N , k 3 f ∈Sn ∪Dn f ∈Rn a b where f g Sn = {Set of flows that are generated at node n} h Dn = {Set of flows that are destined to node n} Rn

f ∈F

l∈L

B. Distributed Scheduler

In this subsection, we introduce the fully distributed scheduler that is implemented at the MAC layer. It is assumed that time is slotted with the slot duration equal to the time required to transmit a single packet over the link. The scheduler determines which links to activate and which packets to serve at a given slot. It is also assumed that the amount of time required to perform the scheduling task compared to the actual packet transmission is small. We introduce the following notation to describe a scheduling rule π = {πnm , (n, m) ∈ L} : we let πnm (t) be equal to one if link (n, m) ∈ L is scheduled at slot t and zero otherwise. f Also, we define πnm (t) to be the indicator function of the event that flow f ’s packet is being served over link (n, m) at slot t. It is assumed that for each node, say n, a queue is maintained for each of the outgoing links, say (n, m) ∈ L. This queue stores and serves all the packets that are destined to node m in a First-Come-First-Serve (FCFS) fashion at those slots when the scheduler sets πnm (t) = 1. We let Qnm (t) denote the total number of packets at the beginning of slot t that are waiting to be transmitted from node n to node m. matching is a set of edges that no pair is incident to the same node. convex hull of a set S is the intersection of all convex sets that cover each element of S. 4A

node m flow g node n

flow h

flow f

node a

node b

      

link(k,n)

node n

R

g kn S

Rh kn

= {Set of flows that for which n is a relay node}

Notice that this condition is equivalent to the requirement that any node in the network should not be scheduled more than two thirds of the time. Also note that under the node-exclusive interference model, any feasible schedule corresponds to a matching3 of the graph G. Let M = {M1 , M2 , · · · , MK } be the set of all possible matchings, where Mi is a 0-1 vector of |L| dimensions that denotes the set of links that are active for ith matching. Here, M is a finite set since we have a graph with finite number of links. Let co(M) denote the convexhull4 of the set of matchings. Then, the capacity region can be expressed as       X f Hl xf  Λ= x: ∈ co(M) .  

3A

node k

f πan

   

f Ran

g kn

πnm

   

Qnm

link(n,m)

 

link(n,b)

Qnb

link(a,n)

Fig. 1.

An example network

The scheduler we consider in this paper is a slightly modified version of the Regulated Maximal Matching Scheduler in [23]. The key idea is to introduce regulators at each node, one for each flow passing through the node. Flow f packets that are served over link (n, m) are buffered at the corresponding regulator at node m before they are transferred to the queue f that will relay them to the next node. We let Rnm denote the regulator buffer maintained at node m and which keeps f flow f packets coming from node n. Then, Rnm (t) is the length of this buffer at the beginning of time slot t. A λf (t)regulator allows packets to pass through it at a maximum rate of λf (t) at slot t. Specifically, at slot t a packet is transferred f from Rnm to the corresponding queue with probability λf (t) f given that Rnm (t) > 0, otherwise no transfer occurs (other implementations of the regulator are also possible). Finally, f we let Snm (t) ∈ {0, 1} denote the number of packets that f leave regulator Rnm at slot t. We refer the reader to Figure 1 to see an example network. With these definitions, the evolution of the number of packets in the regulators and the queues can be described with the following difference equations. f f f f Rnm (t + 1) = Rnm (t) − Snm (t) + πnm (t) X f f Qnm (t + 1) = Qnm (t) − πnm (t) + S·n (t)Hnm , f ∈F

f S·n (t)

where is the output of the regulator for flow f that is maintained at node n. In our model, the value of λf (t) used at a regulator is based on the rate at which flow f is generating data. In general, this information is not available instantaneously to all nodes in f ’s path, and hence it is both inaccurate (old) and

fluctuating (due to the fact that flow f ’s rate is determined by a dynamic congestion control algorithm to be described later). In comparison, the scheduler considered in [23] assumes the knowledge of the mean flow rates at all the regulators and uses this fixed value in its implementation. In our model, however, the current flow rate information is passed from the sources to each of the nodes with a random propagation delay. To account for the delay, we let τfn (t) ∈ [0, t] be the time slot at which the rate information of source f (xf (.)) was sent, given that it is received by node n at slot t. Further, suppose that node n is the k th node on the route of flow f. Then, the regulator for flow f at node n is a (xf (τfn (t)) + (k − 1)r )-Regulator, where r > 0 can take arbitrarily small values. In other words, the regulator uses the most recent update of the rate (plus a very small amount) as λf (t). The scheduler we consider uses the values of Qnm (t) to either find a Maximal Matching5 (MM) with a high probability or find some matching with a small probability. In particular, a maximal matching is selected in a distributed fashion among those links that have at least one backlogged packet in their buffers. The formal description is provided next. D ISTRIBUTED S CHEDULER - D ISCRETE - TIME At the beginning of each time slot, for each node, say n, determine the eligible set of links according to: • •

With probability s > 0 allow all links (n, m) ∈ L be eligible. Otherwise, allow only those (n, m) ∈ L, with Qnm (t) > 0 to be eligible.

Then, which set of links to activate at node n is determined by the following distributed strategy: •



if n has at least one eligible neighbor (a neighbor that is at the other end of an eligible link) that is not matched with another node, then choose any one randomly, say m, and match them with each other. After this operation n and m are said to be matched. otherwise stop.

At the end of this algorithm, those links that have matched end nodes, say (n, m), will be scheduled to transmit a packet within slot t, i.e. πnm (t) = 1. It is not difficult to see that the algorithm will result in a set of scheduled links that is a matching of G, because any node can be matched with at most one other node, and no pair of unmatched nodes with a packet to transmit is left at the end. The s parameter is included to this algorithm to assure a positive probability of activating a link even if it has no backlogged packet. This is necessary to ensure that every link is active occasionally to allow its nodes to exchange congestion information. It can be seen that a scheduling rule π(t) is a maximal

matching if it satisfies X πnk (t) {k:(n,k)∈L}

matching is a collection of links such that no two links are incident on the same node. A matching is said to be maximal if it is a matching and no new link can be added to the set without losing the matching property.

{k:(k,m)∈L}

and

πnm (t)

πkm (t) ≥ 1,

πmn (t) ≤ 1

+

(6)

(7)

for every (n, m) ∈ L with Qnm (t) > 0. Also, notice that the maximal matching algorithm is performed using the lengths of the actual queues, not the lengths of the regulator buffers. The following fact is due to [23]. Fact 3: For the multi-hop wireless network model introduced above, Regulated MM Scheduling Algorithm can achieve stability if the set of mean arrival rates of the flows, x, satisfy X X 1 xf < xf + 2 ∀n ∈ N . 3 f ∈Sn ∪Dn f ∈Rn This fact will be justified for the fluid model in Section III. C. Problem Statement Given the above model, our goal is to have the mean flow rate vector, x? ≥ 0 satisfy: X x? ∈ arg max Uf (xf ) (8) f ∈F

s.t.

2

X

xf +

f ∈Rn

X

f ∈Sn ∪Dn

xf ≤

1 3

∀n ∈ N ,

provided that the regulators and the queues are kept stable. The strict concavity assumption of the utility functions implies that x? is unique. We note that the constraint set of this optimization problem contains Λ/3 due to Fact 1. In (8), we have formulated the wireless network rate allocation problem as an optimization problem by taking the interference and distributed scheduling constraint into account. Such an approach has been taken for our interference model in [15], [16] before. However, it is assumed in these works that the current rate of each source and the current price of each node are immediately available at all the nodes. Obviously, in an actual operation, such information can only be conveyed along with the data transmissions, and hence is delayed by random amounts for each source-node pair. Updates with delays have been taken into account in [9] in the wireline and [29] in the wireless setting, but in our work we link the delay to the scheduler and also allow for unbounded delays as long as the updates occur infinitely often. Let us describe a new optimization problem whose optimum point converges to x? . For any  > 0, let X x? () ∈ arg max Uf (xf ) (9) f ∈F

s.t. 2

X

f ∈Rn 5A

X

+

xf +

X

f ∈Sn ∪Dn

xf ≤

1 − 3

∀n ∈ N ,

It is not difficult to see that x? () → x? as  → 0. We introduced this new problem to make sure that the optimum point lies strictly inside the feasible region of problem (8).

This is necessary to ensure that the queues and the regulators are stable as will be discussed in Section III. In the remainder of this paper, we will propose a congestion controller mechanism that operates on top of the Regulated MM Scheduler that will provide mean rates that are arbitrarily close to x? . Furthermore, we incorporate all the asynchronous components that exist in the operation of the system. In particular, we model the random nature of the scheduling operation, which results in potentially unbounded delays in the information communication between different components of the network. Noting that information feedback is critical in the operation of our congestion controller, it is crucial to answer the question as to whether the asynchronism inherent in the network will significantly affect the performance. Towards this end, we start in the next section with the description of the continuous-time version of the congestion control mechanism. Also, we provide a continuous-time heuristic model of the scheduler and analyze the convergence properties of the whole system. Then, we will move on to the discrete-time versions in Section IV. III. C ONTINUOUS - TIME F LUID M ODEL A NALYSIS In this section, we consider a continuous-time, deterministic fluid model of the system, in which all stochastic processes are approximated by their mean values. In Section III-A, we introduce a congestion control algorithm for this fluid model, and analyze its convergence properties. Then, in Section IIIB, we describe a heuristic continuous-time version of the scheduler described in Section II-B and prove its stabilizing characteristics. We will build upon these analysis later to investigate the asynchronous, discrete-time algorithm. A. Continuous-time Congestion Controller We start by noting that the optimization problem in (9) can be solved by using Lagrange multipliers. The Lagrangian and the Dual function of the problem (9) are: X X {µn Uf (xf ) − L (x, µ) = f ∈F

n∈N



D (µ)

×

X

xf + 2

X

f ∈Rn

f ∈Sn ∪Dn

= max L (x, µ) x≥0  X = max Uf (xf ) − xf f ∈F

+



xf ≥0

1 − 3

X

xf −

X



   1 −   3

n∈Route(f )

(2µn If ∈Rn

+µn If ∈Sn ∪Dn ))

µn

n

where µn is the Lagrange multiplier associated with the nth constraint of (9), and IA denotes the indicator for event A. Then the dual optimization problem to (9) is given by: minµ≥0 D (µ). It can be shown that for the problem we consider, there is no duality gap [30]. Thus, there exists a

nonempty set of Lagrange multipliers, ΞP  , any element (say ? µ? ()) of which satisfies: D (µ? ()) = f Uf (xf ()). But for any feasible x of the primal problem (9), we must have:     X X X 1 µ?n ()  xf + 2 − ≤0 xf − 3 f ∈Sn ∪Dn

n∈N

f ∈Rn

because the expression in the parenthesis can never be positive for a feasible rate vector, and µ? () is a nonnegative vector. Thus, we must have x? () as the optimizer of the Lagrangian L (x, µ? ()), and also have the pair (x? (), µ? ()) satisfy (omitting the ‘()’ for convenience):     X X X 1 µ?n  x?f + 2 x?f − −   ≤ 0, (10) 3 f ∈Sn ∪Dn

n∈N

f ∈Rn

which is also called the complementary slackness condition in the optimization literature. From the Lagrangian, it is easy to see that (x? (), µ? ()) should also satisfy:   X 0−1 x?f = Uf  (2µ?n If ∈Rn + µ?n If ∈Sn ∪Dn ) (11) n∈Route(f )

4

Let us define p? () and q? () as follows: p?n () = Lµ?n (), X 4 (2p?n ()If ∈Rn + p?n ()If ∈Sn ∪Dn(12) ) qf? () = n∈Route(f )

where L is some multiplicative factor. We define Ψ = LΞ , i.e., if µ? () ∈ Ξ then the corresponding p? () ∈ Ψ . Notice that we can re-write (11) and the complementary slackness condition (10) in terms of p? () and q? ():  ?  qf () 0−1 ? xf () = Uf L     + X X 1 ? ? xf () − xf () + 2 0 =  −   (13) 3 f ∈Rn

f ∈Sn ∪Dn

p? n ()

where we define (y)+ z to be equal to y if z ≥ 0 and zero if y ≤ 0 and z = 0. The congestion control algorithm for the fluid model is described as follows: C ONGESTION C ONTROLLER - C ONTINUOUS - TIME At time t,   0−1 qf (t) Source f computes: xf (t) = Uf L Node n computes:     + X X 1 xf (t) − xf (t) + 2 p˙ n (t) =  −  3 f ∈Sn ∪Dn

f ∈Rn

pn (t)

where

4

qf (t) =

X

n∈Route(f )

[2pn (t)If ∈Rn + pn (t)If ∈Sn ∪Dn ]

(14)

Notice that here we have assumed synchronous computation: information updates at the sources and the nodes occur instantaneously and simultaneously at the beginning of each slot. In later sections, when considering the discrete-time model, we will remove this key assumption and develop a fully asynchronous algorithm for congestion control. Nevertheless, the analysis of the continuous-time system will be useful in understanding the more realistic model. Next, we state the theorem that proves the convergence properties of the congestion controller. Theorem 1: Starting from any initial p(0), x(t) eventually reaches x? () as t → ∞. Proof: Consider the Lyapunov function:

Also, from the complementaryslackness condition, we have that if p?n > 0, then yn? = 13 −  . Otherwise, if p?n = 0, then yn? ≤ 31 −  . This fact implies    X 1 ? ? − ≤0 (17) (pn (t) − pn ()) yn () − 3 n Therefore, V˙ (p(t), p? ) X ≤ (pn (t) − p?n ) (yn (t) − yn? ) n

=

X n

1X V (p; p ()) = (pn − p?n ())2 , 2 n ?

n



X

xf (t) + 2

f ∈Sn ∪Dn

X

f ∈Rn

xf (t) −



+

 1 −  3

pn (t)

    

We first consider the case when p(t) ∈ Ψ : note that the rate vector associated with p(t) has to be the unique optimizer of (9), i.e. x? (). But, by utilizing the complementary slackness condition provided in (13) we can easily conclude that V˙ (p(t), p? ) = 0

for all p(t) ∈ Ψ .

(15)

Next, we consider V˙ (p(t), p? ) for any p(t) ≥ 0 : define X X 4 yn (t) = xf (t) + 2 xf (t) (16) f ∈Sn ∪Dn

f ∈Rn

Then we have: V˙ (p(t), p? ) = ≤ =

+ 1 ? (pn (t) − pn ) yn − − 3 pn (t) n    X 1 (pn (t) − p?n ) yn (t) − − 3 n X (pn (t) − p?n ) (yn (t) − yn? ) 

X



n

   X 1 + (pn (t) − p?n ) yn? − − 3 n

where the inequality follows from the fact that if pn (t) = 0 + and yn (t) − 31 −  ≤ 0, then yn (t) − 31 −  pn (t) = 0. +  Otherwise, yn (t) − 13 −  p (t) = yn (t) − 13 −  . n

(pn (t) − p?n )  X

f ∈Rn

=

X f

X

f ∈Sn ∪Dn

+2

which is defined for some p? () ∈ Ψ . For notational convenience, we will occasionally use p? and x? instead of p? () and x? (). Then, the time derivative of this function at t satisfies V˙ (p(t), p? ) X = {(pn (t) − p?n )× 



 ?

(xf (t) − x?f ) 

(xf (t) − x?f )



xf (t) − xf 

X

n∈Route(f )

[(pn (t) − p?n )If ∈Sn ∪Dn

+2(pn (t) − p?n )If ∈Rn ]) X   xf (t) − x?f qf (t) − qf? = f

= L

X f

≤ 0,

xf (t) − x?f



Uf0 (xf (t)) − Uf0 (x?f )



with strict inequality when p(t) ∈ / Ψ , due to the strict concavity assumption of Uf (·). Then, by combining this result with (15) and by invoking LaSalle’s theorem [31, Theorem t→∞ t→∞ 4.4], we conclude that p(t) −→ Ψ and hence x(t) −→ ? x ().  B. Continuous-time Scheduler In this subsection we show that the Regulated MM Scheduling Algorithm, along with the Congestion Control Algorithm described in previous subsection, can achieve stability. Recall that Λ denotes the capacity region of the network. Define     X X 1 xf < , ∀n ∈ N . xf + Ω= x:2   3 f ∈Rn

f ∈Sn ∪Dn

By Fact 2, we have Ω ⊂ Λ2 . Moreover, we know that the optimum point x? () is strictly inside Ω. Thus, x? () is strictly inside the half of the capacity region Λ2 . The evolution of the scheduler’s queues in continuous-time can be described as follows. S CHEDULER - C ONTINUOUS - TIME  + f f R˙ nm (t) = πnm (t) − xf (t) + Kfn + 1 r Rf

nm (t)

(18)

+  X  f xf (t) + Kfn r IRf·n (t)>0 Hnm − πnm (t) Q˙ nm (t) =  f

Qnm (t)

(19)

where Kfn is the hop number of node n along the path of flow f . Note that this number is upperbounded by Nmax where Nmax is the maximum number of nodes along any flow’s path. Here, πl ∈ [0, 1] satisfies the conditions in (6) and (7) for every l ∈ L with Ql (t) > 0 Theorem 2: Starting from any initial R(0) and Q(0), we have (R(t) + Q(t)) → 0 as t → ∞. Proof: The proof uses the fact that x? () lies strictly inside the half of the capacity region Λ2 , and a Lyapunov argument that is based on the discrete-time analysis of [23]. The details are moved to the appendix.  IV. D ISCRETE - TIME , A SYNCHRONOUS M ODEL A NALYSIS In this section, we return to the discrete-time system model. Here we do not assume synchronous computation which is unrealistic in an actual network. Next, we describe the discrete-time congestion controller mechanism. Then, we will analyze this system. A. Description of the Congestion Controller We assume that when two nodes are matched by the MAC layer scheduler, the relevant price and flow rate information is shared between them. Therefore, the information updates at the sources and the nodes are asynchronous. Then, let us consider the following asynchronous congestion controller. C ONGESTION C ONTROLLER - D ISCRETE - TIME At the beginning of each time slot, t,n  o 0−1 qf (τ f (t)) Source f computes: xf (t) = min M, Uf L Node n computes:  X (n) xf (τf (t)) pn (t + 1) = pn (t) + f ∈Sn ∪Dn

+2

X

f ∈Rn f

(n)

xf (τf (t)) −



  + 1 −  , 3

where qf (τ (t)) is defined to be equal to X  2pn (τnf (t))If ∈Rn + pn (τnf (t))If ∈Sn ∪Dn , n∈Route(f )

and M > 2 max{cl }, and we define τnf (t) ∈ [0, t] to be the l∈L

time slot at which the price information of node n (pn (·)) was sent, given that it is received at source f at slot t. Thus, t − τnf (t) is the random variable representing the number of slots it took for pn (·) to be transfered to source f by the underlying scheduling mechanism, given that it is received at (n) time slot t. And similarly, τf (t) ∈ [0, t] is the time slot at which the rate information of source f (xf (.)) was sent, given that it is received by node n at slot t. Further, let τ f (t) is the vector of τnf (t) for source f at time t, and also, τ (n) (t) be the (n) vector of τf (t) for node n at time t. Finally, L is a positive constant. We are interested in the behavior of the system when L is large.

Also, let us introduce the notation: X X 4 (n) (n) yn (τ (n) (t)) = xf (τf (t)) + 2 xf (τf (t)) f ∈Sn ∪Dn

f ∈Rn

f

Notice that qf (τ (t)) is the estimated price of flow f ’s path at time t which is computed using delayed versions of the actual prices. On the other hand, qf (t) [defined in (14)] assumes the instantaneous knowledge of all the prices on flow f ’s path. Similar interpretation holds for yn (τ (n) (t)) and yn (t) [defined in (16)]. This model contains the essential components of the asynchronous operation of the network. It is referred to as “Totally Asynchronous” in [24]. Specifically, the amount of time it takes for the flow rate and node price information to reach any node or a source is captured by a random variable. In the next section, we will prove that it asymptotically solves the resource allocation problem described in (8). B. Analysis of the Congestion Controller Consider the Lyapunov function, V (·), used in the continuous-time analysis. For notational convenience, we will generally omit the  term in our analysis. However, we will make the main statements with . The following theorem characterizes the drift of this Lyapunov function: Theorem 3: Let P(t) be the sequence of vectors (p(t), p(t − 1), · · · , p(0)), and τ (t) be the vector of (n) {τnf (t), τf (t)}(n,f ) . Also, denote ∆t = {|t − τnf (t)|, |t − (n) τf (t)|}(n,f ) . Then the mean drift satisfies: 4

E[∆Vt ] = E[V (p(t + 1)) − V (p(t)) | P(t), τ (t)] δ 2 ˆ ˆ (20) +B ≤ − γ kq(t) − q? ()k + Ck∆tk L ˆ B ˆ < ∞, γ ∈ (0, 1) and δ > 0. Here, for some constants C, k · k denotes Euclidean distance. ˜ B ˜ < ∞, and c > 0 such Furthermore, there exist some C, that 2 ˜ ˜ (21) E[∆Vt ] ≤ −cLkˆ x(t) − x? ()k2 + Ck∆tk +B  o n 0−1 qf (t) , i.e., it is where we define x ˆf (t) = min M, Uf L the rate of flow f at time t if all the price information were instantaneously available at the sources. Before we provide the proof of Theorem 3 we give several lemmas that will be used in the proof. First, we observe that t − τnf (t) is the amount of time it takes for node n’s price (n) information to reach source f . Similarly, t − τf (t) is the amount of time it takes for the source f ’s rate information to reach node n. These are random variables that depend on the matchings chosen in the operation of the scheduler. To ensure that each matching is chosen at least once with a positive probability, recall that we slightly modified the MM Scheduler used in [21], [23] in Section II. Specifically, when the maximal matchings are being determined, with a very small probability, we allow each node to pick a link that does not have any packets to transmit in line. We now establish the following result for the delays in exchanging price and rate information.

Lemma 1: There exists a constant D such that  P t − τnf (t) > T D ≤ e−ν(D)T ∀n, f   (n) P t − τf (t) > T D ≤ e−η(D)T ∀n, f

where ν and η are some positive numbers depending on D. Proof: Recall that M is a finite set containing all the possible matchings. Also, let Snf denote the sequence of matchings needed to transmit the price information from node (n) n to source f , and similarly, Sf denote the sequence of matchings needed to transmit the rate information from source f to node n. Since each node tries to connect to all of its neighbors with some positive probability, s , we have: P(Mi occurs at time t) ≥ δ, for all i, and for some δ > 0. Hence, for each (n, f ) pair, we can state that  f P Snf occurs in an interval of length |Snf | ≥ δ |Sn | > 0 (n)

A similar argument holds for any Sf as well. Let us define P (n) D = n,f |Snf | + |Sf |, and let X be a random variable that (n) equals 1 when all the matchings in Snf and Sf occur within the first D slots. Otherwise, X is equal to 0. Then, due to the above discussion, we can find some δˆ ∈ (0, 1) such that ˆ which denotes the probability that at P (X = 0) ≤ (1 − δ), least one of the nodes (or sources) has not received any rate (or price) update from one of the sources (or nodes) within the last D slots. Thus, we have  ˆ P t − τnf (t) > D ≤ (1 − δ) ∀n, f   (n) ˆ ∀n, f P t − τf (t) > D ≤ (1 − δ)

Next, suppose we look over T D slots. Let Xi , i = 1, · · · , T be the associated Bernoulli random variable for the ith block of duration D. Then  P t − τnf (t) > T D

=

T Y

P (Xi = 0)

i=1

ˆ =e ≤ (1 − δ) ∀n, f. (n) A similar argument applies to t − τf (t) , which completes the proof with appropriately defined ν(D) and η(D) parameters.  The following two lemmas yields two different upper bounds on similar expressions, and will be useful for the proof of Theorem 3. Lemma 2: Given any B < ∞, we can find some γ ∈ (0, 1) such that for L large enough, we have X  xf (t) − x?f ) qf (t) − qf? (ˆ B+ T

−ν(D)T

f

δ ≤ − γ kq(t) − q? kIkq(t)−q? k≥cLγ + ζIkq(t)−q? k≤cLγ L where δ, ζ and c are positive constants which are independent of L.

Proof: This statement is proved in [12] for a large class of utility functions and for the case of a single transmitter transmitting to many receivers. Here, we consider the multihop scenario and further generalize the utility functions. Nevertheless, the arguments are very similar to those in [12] and moved to the Appendix.  Lemma 3: We have X  xf (t) − x?f ) ≤ −cLkˆ x(t) − x? k2 , qf (t) − qf? (ˆ f

where c is a positive constant which is independent of L. Proof: We start by adding and subtracting LUf0 (ˆ xf (t)) into the first factor within the summation, which yields X  qf (t) − qf? (ˆ xf (t) − x?f ) f

=

X f

+

 qf (t) − LUf0 (ˆ xf (t)) (ˆ xf (t) − x?f )

X f

(22)

 LUf0 (ˆ xf (t) − LUf0 (x?f ) (ˆ xf (t) − x?f ) (23)

We will analyze the terms (22) and (23) separately. We claim that (22)≤ 0. To see this, we first note that, if x ˆf (t) < M, then qf (t) = LUf0 (ˆ xf (t)) and hence we have  qf (t) − LUf0 (ˆ xf (t)) (ˆ xf (t) − x?f ) = 0.

If, on the other hand, we have x ˆf (t) = M > x?f , then qf (t) < 0 LUf (ˆ xf (t)) which implies that  qf (t) − LUf0 (ˆ xf (t)) (ˆ xf (t) − x?f ) ≤ 0.

Combining these two observations proves our claim. Next, we turn our attention to (23). We start by noting that  LUf0 (ˆ xf (t) − LUf0 (x?f ) (ˆ xf (t) − x?f ) 0 xf (t) − x?f |, (24) xf (t) − Uf0 (x?f ) |ˆ = −L Uf (ˆ

which follows from the strict concavity assumption on Uf (·). Also, due to Taylor expansion, we can find some yf (t) between xˆf (t) and x?f for which, xf (t)) − Uf0 (x?f ) = (ˆ xf (t) − x?f )Uf00 (yf (t)). Uf0 (ˆ Using the assumption in (1), we can thus claim that there exists some c > 0 which yields 0 Uf (ˆ xf (t)) − Uf0 (x?f ) ≥ c|ˆ xf (t) − x?f |.

Substituting this into (24) and then (24) into (23) yields the result.  Proof (Theorem 3): Notice that we can write   1 n −  + un (t), pn (t + 1) = pn (t) + yn (τ (t)) − 3 where un (t) is a nonnegative parameter that assures the nonnegativity of pn (t + 1). We first start by showing that we can

ignore the un (t) term in the iteration. Towards this end, we can write (pn (t + 1) − p?n )2 =   2  1 (n) ? pn (t) + yn (τ (t)) − −  − pn (25) 3    1 − un (t) (26) +2 pn (t) + yn (τ (n) (t)) − 3 +u2n (t) (27) −2un (t)p?n ,

(28)

for any n. Since p?n , un (t) ≥ 0, we have (28)≤ 0. We also claim that (26)+(27) ≤ 0. To see this, we  observe that: un (t) = 0 if pn (t) + yn (τ (n) (t)) − 31 −  > 0, and that un (t) = −(pn (t)+yn (τ (n) (t))− 31 −  ) if un (t) > 0. These two observations imply that (26)+(27) = −u2n (t) ≤ 0. This completes the proof of the claim that (pn (t+1)−p?n )2 ≤ (25). By using this result in the definition of ∆Vt we get E[∆Vt ]    X 1 ≤ B+ (pn (t) − p?n ) yn (τ (n) (t)) − − 3 n h i X = B+ (pn (t) − p?n ) yn (τ (n) (t)) − yn? n

+

X n

(a)



B+

=

B+



(pn (t) − p?n ) yn? −

X

n X n

+

X n



1 − 3



h i (pn (t) − p?n ) yn (τ (n) (t)) − yn? (pn (t) − p?n ) [yn (t) − yn? ] h

i

(pn (t) − p?n ) yn (τ (n) (t)) − yn (t) ,

where inequality (a) follows from (17). Now, looking at the second term: X (pn (t) − p?n ) (yn (t) − yn? ) n

=

X n



(pn (t) − p?n )  −

=

X f

=

X f

=

X f

+

xf (t) + 2

f ∈Sn ∪Dn

x?f − 2

X

xf (t)

f ∈Rn

f ∈Sn ∪Dn



X

f ∈Rn



x?f 

 X [(pn (t) − p?n )If ∈Sn ∪Dn xf (t) − x?f  n∈f ? pn )If ∈Rn ])

+2(pn (t) −   xf (t) − x?f qf (t) − qf?

qf (t) − qf?



x ˆf (t) − x?f

f

+

X f

+

X n

 ˆf (t)) qf (t) − qf? (xf (t) − x

(30)

h i (pn (t) − p?n ) yn (τ (n) (t)) − yn (t) , (31)

n  o 0−1 qf (τ f (t)) where we recall that xf (t) = min M, Uf and L n o  0−1 qf (t) x ˆf (t) = min M, Uf . L By the Lemma 2, we know that for some γ ∈ (0, 1), δ kq(t) − q? kIkq(t)−q?k≥cLγ Lγ +ζIkq(t)−q? k≤cLγ

(29) ≤ −

(32)

Alternatively, by Lemma 3, we can write (29) ≤ −cLkˆ x(t) − x? k2 + B.

(33)

We will utilize these two alternative bounds to get the two results stated in Theorem 3. Next, let us consider (30). From the Taylor’s expansion, we have: q (t) − q (τ f (t)) f f |xf (t) − x ˆf (t)| ≤ L.Uf00 (˜ x)

for some x ˜ ∈ [0, M ]. ¯ < ∞ which It is not difficult to see that we can find some B ¯ satisfies |pn (t) − pn (t − 1)| ≤ B, ∀n. Then we have:  ˆf (t)) qf (t) − qf? (xf (t) − x qf (t) − qf (τ f (t)) ? ≤ qf (t) − qf x ) L Uf00 (˜ Nmax pn˜ (f ) (t) − pn˜ (f ) (τn˜f(f ) (t)) ? ≤ qf (t) − qf L Uf00 (˜ x ) ¯ t − τ f (t) Nmax B n ˜ (f ) ≤ qf (t) − qf? (34) 00 x) L Uf (˜

where Nmax is the maximum number of nodes along any flow’s path, and n ˜ (f ) = arg max pn (t) − pn (τnf (t)) . n∈Route(f )

 qf (t) − qf? (xf (t) − x ˆf (t))

X f

X

X

Therefore, we can rewrite the upper bound of E[∆Vt ] as: E[∆Vt ] X   (29) ˆf (t) − x?f qf (t) − qf? x ≤ B+



4 To simplify the notation, let us define ∆tf = t − τn˜f(f ) (t) . ? ? ? ? Noting that because pn = Lµn and qf satisfies (12), qf = %L for some constant %. Then, for each flow f , we have the following cases: Case 1: qf (t) ≤ LUf0 (M )

Using the assumption (1) on the utility functions, we have: ¯ t Nmax B∆ f (34) = qf (t) − qf? L Uf00 (˜ x)

¯ t mNmax B∆ f ≤ L Uf0 (M ) + % L = C1 ∆tf

¯ < ∞. where the constant C1 = Uf0 (M ) + % mNmax B Case 2: LUf0 (M ) < qf (t) ≤ qf (τ f (t))

Then, x˜ = Uf ( Lq˜ ) for some qf (t) ≤ q˜ ≤ qf (τ f (t)). Also, from the assumption (2) on utility functions, we have: 0−1

  00 Uf Uf0−1 ( q˜ ) ≥ c1 q˜ L L



¯ t Nmax B∆ f   0−1 L Uf00 Uf ( Lq˜ ) ¯ t Nmax B∆ f ≤ qf (t) − qf? Lc1 Lq˜ ¯ t qf? Nmax B∆ f ≤ 1 − qf (t) c1 ¯ t % Nmax B∆ f ≤ 1 + 0 Uf (M ) c1

(34) = qf (t) − qf?

= C2 ∆tf



Nmax B¯ % Uf0 (M ) c1

Case 3: LUf0 (M ) < qf (τ f (t)) < qf (t)

f

Thus, combining the four cases by defining C6 max{C3 , C4 } and C7 = max{C1 , C2 , C5 }, we have X  (30) = qf (t) − qf? (xf (t) − x ˆf (t))

< ∞.

(34) = qf (t) − qf? ≤ qf (t) −

f ∈Sn ∪Dn

+2

¯ qf (t) qf? Nmax B ≤ 1 − ∆t qf (t) c1 qf (τ f (t)) f " # ¯ qf (t) − qf (τ f (t)) % Nmax B ≤ 1 + 0 + 1 ∆tf Uf (M ) c1 Uf0 (M )L 2 C3 ∆tf + C2 ∆tf = L %

2 (Nmax B¯ ) c1 U 0 (M ) < ∞.

Case 4: qf (τ f (t)) ≤ LUf0 (M ) < qf (t)

f

 X  (n) xf (τf (t)) − xf (t)

f ∈Rn (n) xf (τf (t))

(n)

(

0−1

= min M, Uf

qf (τ f (τf (t))) L

!)

Then we can write (31) as h i X (pn (t) − p?n ) yn (τ (n) (t)) − yn (t) n

=

X n



(pn (t) − p?n )  +2



¯ t Nmax B∆ f qf? qf (τ f (t)) Lc1 L

Uf0 (M )

f

f

X n

X

f ∈Sn ∪Dn

X 

f ∈Rn

¯ t Nmax B∆ f   00 0−1 q L Uf Uf ( L˜ )

where the constant C3 = 1 +

X C6 X t 2 ∆tf . ∆f + C 7 L

Finally, we consider (31). Recall that:  X  (n) xf (τf (t)) − xf (t) yn (τ (n) (t)) − yn (t) =

Then, x ˜ = Uf ( Lq˜ ) for some qf (τ f (t)) ≤ q˜ ≤ qf (t). And we have: 0−1

=

f

for some constant c1 > 0. Therefore,

where the constant C2 = 1 +

Also using the assumption (1) on the utility functions, we have: ¯ t mNmax B∆ f (34) ≤ qf (t) − qf? L ¯ t  mNmax B∆ f ≤ qf (t) − qf (τ f (t)) + qf (τ f (t)) − qf? L ¯ t  mNmax B∆ f ¯ t + L U 0 (M ) + % ≤ Nmax B∆ f f L 2 C4 ∆tf + C5 ∆tf = L  ¯ 2 < ∞, and C5 = where the constant C4 = m Nmax B ¯ U 0 (M ) + % < ∞. mNmax B



(n)

xf (τf (t)) − xf (t) 



(n) xf (τf (t)) − xf (t) 



 X  (n) ? xf (τf (t)) − xf (t) |pn (t) − pn | . f ∈Sn ∪Dn  X  (n) +2 xf (τf (t)) − xf (t) f ∈Rn

First, we observe that X   (n) xf (τf (t)) − xf (t) f ∈Sn ∪Dn

 (n) +2 xf (τf (t)) − xf (t) f ∈Rn (n) ≤ 2Fmax xf˜(n) (τf˜(n) (t)) − xf˜(n) (t) X 

where Fmax is the maximum number of flows which go through any node, and (n) f˜(n) = arg max xf (τf (t)) − xf (t) f ∈Rn ∪Sn ∪Dn

Also, for every flow f go through node n, we always have pn ≤ qf . Therefore, X 2Fmax qf˜(n) (t) + p?n (31) ≤ n

(n) × xf˜(n) (τf˜(n) (t)) − xf˜(n) (t)

Let n ¯ (n) = arg

max

m∈Route(f˜(n))

f˜(n) (t)) , pm (t) − pm (τm

4 f˜(n) and ∆tn = t − τn¯ (n) (t) . Then, using a similar technique as in the analysis of (30), we can finally argue that: X C8 X t 2 (31) ≤ ∆n + C 9 ∆tn L n n

for some constants C8 , C9 < ∞. Thus, if we use the upper bound in (32), we have: E [∆Vt ] δ kq(t) − q? kIkq(t)−q? k≥cLγ + ζIkq(t)−q? k≤cLγ Lγ   X C6 2 + ∆tf + C7 ∆tf L f   X C8 2 + ∆tn + C9 ∆tn L n

≤ −

≤ −

δ 2 ˆ + Ck∆tk ˆ kq(t) − q? k + B , Lγ

ˆ Cˆ < ∞. for some B, Instead, if we use the upper bound in (33), we get

This completes the proof of Theorem 3. Corollary 1: lim sup T →∞

  T −1 1 X B kq(t) − q? ()k E ≤ T t=0 L δL1−γ

Proof: We start by taking the expectation of both sides of the expression (20) over P(t), and then over τ (t): E[V (p(t + 1)) − V (p(t)) | τ (t)] δ 2 ˆ ˆ E [kq(t) − q? ()k | τ (t)] + Ck∆tk +B Lγ

E[V (p(t + 1)) − V (p(t))] ≤ −

T

= D2

  δ ˆ k∆tk2 + B ˆ E [kq(t) − q? ()k] + CE Lγ

X

(T )2 e−ν(D)T

T

= C10

for some constant C10 < ∞. We can also obtain the similar bound:  2  X (n) E t − τf (t) ≤ D2 (T )2 e−η(D)T T

= C11

for some  constant C11 < ∞. Therefore, we will have E k∆tk2 is bounded by some constant C < ∞, or E[V (p(t + 1)) − V (p(t)) | τ (t)] ≤ −

δ ˆ +B ˆ E [kq(t) − q? ()k] + CC Lγ

Then we vary t from 0 up to T. Thus, we have δ ˆ +B ˆ E[kq(0) − q? ()k] + CC Lγ δ ˆ +B ˆ E [V (2) − V (1)] ≤ − γ E[kq(1) − q? ()k] + CC L .. . δ E [V (T ) − V (T − 1)] ≤ − γ E[kq(T − 1) − q? ()k] L ˆ +B ˆ +CC E [V (1) − V (0)] ≤ −

Therefore, adding both sides of the inequalities and rearranging the terms, we get T 1X E[kq(t) − q? ()k] ≤ T t=0

E [V (0) − V (T )] Lγ Tδ ˆ + B)L ˆ γ (CC δ ˆ + B)L ˆ γ E [V (0)] Lγ (CC + Tδ δ

+

2 ˜ + Ck∆tk ˜ ≤ −cLkx(t) − x? k2 + B .

E [∆Vt ]

≤ −

Then apply the Lemma 1: h X 2 i E t − τnf (t) ≤ (T D)2 e−ν(D)T



ˆ + B, ˆ and taking the lim sup as T goes to infinity Let B = CC yields the result. Similarly, we can get an upper bound on the rate vectors. Corollary 2: T −1  B 1 X  E kˆ x(t) − x? ()k2 ≤ L T →∞ T t=0 Proof: The proof follows the exact same arguments as in Corollary 1, applied to (21). Notice that Corollaries 1 and 2 respectively argue that as ? L increases, q(t) L and x(t) tend to Ξ and x () in the stated sense. Next, based on these corollaries and our analysis in Section III-B, we provide a discussion on the stability of the regulators and queues maintained at the nodes.

lim sup

C. Discussion on the Stability of the System In this subsection, based on the analysis in Section III-B and in Section IV-B, we will provide a discussion as to why we expect the regulators and the queues the be stable for the asynchronous, discrete-time model. Recall that in Theorem 2, we had proved the stability of the continuous-time system by using the fact that x(t) will stay inside a δ neighborhood of x? () for t large enough. Subsequently, in Section IV-B, we proved that x(t) of the asynchronous, discrete-time model can be made to be arbitrarily close to x? () in an asymptotic and expected manner (c.f. Corollary 2). In fact, using a similar argument to the one that led to (21) in Theorem 3 and following the same line of reasoning as in the proof of Corollary 1, we can easily argue that: for any ˜ > 0, we can write T −1  B 1 XX  E |ˆ xf (t) − x?f ()| ≤ + ˜. lim sup L T →∞ T t=0 f

Hence, given any δ˜ > 0, we can choose  and ˜ small enough, and T and L large enough, so that we have T −1  1 X  ˜ E |ˆ xf (t) − x?f | < δ, T t=0

∀ f ∈ F, and T ≥ T .

This results says that the actual rates of the discrete-time system averaged over long intervals of time will be arbitrarily close to the optimum point, even though it is not equal instantaneously. A similar situation is handled in the case of non-i.i.d. arrivals in [7]. Taking the same approach, to prove the stability of the discrete-time system, we need to consider T -step mean drift of the Lyapunov function W (·) that was introduced in the proof of Theorem 2. Then, we compare the T -step drift of the stochastic system to that of a deterministic system, where the regulators use x? at every time slot. Once it is shown that the difference of the two systems is upperbounded, we can use the result of Theorem 2 to conclude the stability of the system. We do not pursue a rigorous proof of this result here. V. C ONCLUSIONS In this paper, we have considered the fair resource allocation problem in multi-hop wireless networks with a specific interference model, and developed a cross-layer algorithm to solve it. More specifically, we proposed a congestion control algorithm for transport layer, and a fully distributed scheduling algorithm for MAC layer. The main contribution of the paper is to allow for unbounded delays in the feedback between the components of the network. This is a crucial step towards being able to actually implement a congestion control mechanism in a real network, for time-varying delay is an inseparable ingredient of a wireless network. We proved that even when all the sources and nodes operate in a totally asynchronous manner, our algorithms can achieve flow rates that are arbitrarily close to the fair operating point. Extensions to other interference models is a topic for future research.

A PPENDIX Proof of Theorem 2: We know from our analysis of the congestion controller that x(t) → x? () as t → ∞. Therefore, for every ρ > 0, there exists T < ∞ such that xf (t) − x?f () < ρ for t ≥ T and for all f . We use the following Lyapunov function to prove the stability of Q and R: W (Q, R) = W1 (Q) + ξW2 (Q, R)  2 1 X  X Qnk  W1 (Q) =  2 n∈N

k:(n,k)∈L



+

X

k:(k,n)∈L

1 2

W2 (Q, R) =

X

X

2   Qkn  

f Rnm + Qfnm

(n,m)∈L f

2

where ξ is a positive parameter which will be chosen later. Here we use Qfnm to denote the number of flow f ’s packets in Qnm . We will analyze W1 and W2 separately. First, consider W1 (·):    X X X ˙ 1 (Q(t)) =  W Qnk (t)  Q˙ nk (t) n∈N

k:(n,k)∈L



X

+

k:(k,n)∈L

k:(n,k)∈L



Qkn (t) 

X

k:(k,n)∈L



Q˙ kn (t)

Re-arranging the terms and noting a standard fact that the projection in (19) can be ignored, we have: ˙ 1 (Q(t)) W   X X X Q˙ nk (t) + Q˙ km (t) = 2 Qnm (t)  (n,m)∈L

≤ 2

X

(n,m)∈L



−

k:(n,k)∈L





Qnm (t) Γnm 

X

πnk (t) +

{k:(n,k)∈L}

k:(k,m)∈L

X f



f  (xf (t) + Nmax r ) Hnm

X

{k:(k,m)∈L}



πkm (t)

where Γnm is defined by Γnm ([rnm ]) =

X

k:(n,k)∈L

Due to (6), for ∀t ≥ T , we have ˙ 1 (Q(t)) W X {Qnm (t) ≤ 2

rnk +

X

rkn .

k:(k,n)∈L

(n,m)∈L

    X  f  − 1 × Γnm  x?f () + ρ + Nmax r Hnm  

f

Because x? () is strictly inside Ω2 , given any  > 0, we can find some ϕ > 0 for which (x?f () + ϕ)f ∈ Ω2 . Then, we can choose ρ > 0 and r > 0 small such that ρ + Nmax r < ϕ, or (x?f () + ρ + Nmax r )f is strictly inside Λ2 . Now, using the same argument as in [23], we have:   X  f  Γnm  x?f () + ρ + Nmax r Hnm − 1 ≤ −θ < 0

˙ 2 (Q(t), R(t)) W X X  f Rnm (t) + Qfnm (t) = (n,m)∈L f

  f (t) × Q˙ fnm (t) + R˙ nm X X  f ≤ −r Rnm (t) + Qfnm (t) I{Rfnm >0} (n,m)∈L f

˙ 1 (Q(t)) W

≤ −2θ

X

Qfnm (t)I{Rfnm =0}

X

(n,m)∈L f

X

 f Rnm (t) + Qfnm (t) I{Rfnm >0}

Qnm (t)

(n,m)∈L

(n,m)∈L

Therefore, ˙ (Q(t), R(t)) W

+  f f xf (t) + Kfn r IRf·n (t)>0 Hnm − πnm (t) f Qnm  + f n + πnm (t) − xf (t) + Kf + 1 r Rf



nm

f Also note that πnm (t) can only positive of Qfnm > 0. Then we have the following cases: •

X



Qnm (t)

Now, let us consider W2 (·). Recall that f Q˙ fnm (t) + R˙ nm (t) =

X

(n,m)∈L f

≤ −r

for some θ > 0. Thus,

X



f

f If Qfnm > 0 and Rnm > 0, we remove the projections: f Q˙ fnm (t) + R˙ nm (t) ≤ −r

˙ 1 (Q(t), R(t)) + ξ W ˙ 2 (Q(t), R(t)) = W X Qnm (t) ≤ −(2θ − ξχ) (n,m)∈L

−ξr

X

X

(n,m)∈L f

 f Rnm (t) + Qfnm (t) I{Rfnm >0}

We can easily choose ξ such that 2θ − ξχ > 0. Thus, ˙ (Q(t), R(t)) W

< 0

if

= 0

if

Q + R 6= 0

Q+R=0

Then the result follows from Lyapunov’s stability theorem.  ProofX of Lemma 2: We define qf (t) − qf? () (ˆ xf (t) − x?f ()), and Φ(t) = f



f f If Qfnm = 0 and Rnm > 0, then πnm (t) = 0, and f f ˙ ˙ Qnm (t) + Rnm (t)

=



xf (t) +

Kfn r

− xf (t) +

Kfn



f IRf·n (t)>0 Hnm



+ 1 r

≤ −r •



+

f If Qfnm > 0 and Rnm = 0, we have: f f ˙ ˙ Qnm (t) + Rnm (t)

=

 f f xf (t) + Kfn r IRf·n (t)>0 Hnm − πnm (t)   + f + πnm (t) − xf (t) + Kfn + 1 r

f ≤ −r I{πnm (t)≥xf (t)+(Kfn +1)r } f +χI{πnm (t) M − c > c,

since M is chosen to be larger than 2 maxl cl = 2c. If, on the other hand, xˆfˆ(t) < M, then we have  q (t)  0−1 fˆ U L ? ? fˆ   − 1 . xˆfˆ(t) − xfˆ = xfˆ ? U 0−1 qfˆ fˆ L Notice that ( qfˆ(t) =

qf?ˆ − |qfˆ(t) − qf?ˆ| ≥ 0 if qfˆ(t) − qf?ˆ ≤ 0, qf?ˆ + |qfˆ(t) − qf?ˆ| ≥ 0 if qfˆ(t) − qf?ˆ ≥ 0.

(35)

[6] Assuming that Uf0−1 ˆ (·) is a decreasing, convex function, we can write     0−1 qf?ˆ |qfˆ(t)−qf?ˆ| [7] 0−1 qf?ˆ |qfˆ(t)−qf?ˆ| U ˆ L − L L + L Ufˆ f  ?  ? − 1 ≥ − 1 . q q fˆ fˆ [8] Uf0−1 Uf0−1 ˆ ˆ L L

Therefore, we have    q (t)  0−1 qf?ˆ |qfˆ(t)−qf?ˆ| ˆ U 0−1 f U ˆ + L L f fˆ L ≥     − 1 − 1 ? ? qˆ 0−1 f U 0−1 qfˆ Ufˆ fˆ L L ?

[9]

[10] [11] [12] σ

We consider the set of q which satisfies kq − q k ≥ cL , where c and L are positive constants and σ ∈ (0, 1). We are interested in the behavior of the system as L tends to infinity. The exact values of c and σ depend on the utility functions and other system parameters, and will be provided later in the proof. Notice that if kq−q? k ≥ cLσ , then |qfˆ(t)−qf?ˆ| ≥ √c Lσ . Then, we can write   0−1 qf?ˆ √ c U ˆ + L N L1−σ f   − 1 (35) ≥ ? qˆ f Uf0−1 ˆ L

[13] [14] [15]

|N |

[16] [17] [18]

qf?ˆ

Noting that = %L for some % > 0, and invoking the condition (3) on the utility functions, we can write: for kq − q? k ≥ cLσ , ! p B |N | −σ ? ? −γ L . Φ(t) + B ≤ −|qfˆ(t) − qfˆ| xf c1 L + c

If we choose σ ∈ (0, 1) such that γ = σ, then for large enough c, we get the following expression for some δ > 0 and ζ < ∞. ?

Φ(t) + B

kq(t) − q k δI{kq(t)−q? k≥cLγ } Lγ +ζI{kq(t)−q? k