Consort: Node-constrained Opportunistic Routing ... - Semantic Scholar

4 downloads 26953 Views 455KB Size Report
could result in congestion on the center of a network or hotspots which drain the energy ... as k-hop neighbors), which we call the node load balance constraint.
This paper was presented as part of the main technical program at IEEE INFOCOM 2011

Consort: Node-constrained Opportunistic Routing in Wireless Mesh Networks Xi Fang, Dejun Yang, and Guoliang Xue School of Computing, Informatics, and Decision Systems Engineering, Arizona State University Abstract— Opportunistic routing is proposed to improve the performance of wireless networks by exploiting the broadcast nature and spatial diversity of the wireless medium. In this paper, we study the problems of how to choose opportunistic route for each user to optimize the total utility or profit of multiple simultaneous users in a wireless mesh network (WMN) subject to node constraints. We formulate these two problems as two convex programming systems. By combining primaldual and subgradient methods, we present a distributed iterative algorithm Consort (node-CONStrained Opportunistic RouTing). In each iteration, Consort updates Lagrange multipliers in a distributed manner according to the user and node behaviors obtained in the previous iteration, and then each user and each node individually adjusts its own behavior based on the updated Lagrange multipliers. We prove the convergence of this iterative algorithm, and provide bounds on the amount of feasibility violation and the gap between our solution and the optimal solution in each iteration.

1. I NTRODUCTION Traditional wireless routing often follows the design methodology for wired networks by abstracting the wireless links as wired links to look for the shortest delay or least cost path(s) for a user between a pair of source and destination nodes [12]. However for unreliable wireless networks, the forwarding capacity of intermediate nodes, which overhear packet transmissions, can be explored to improve the performance of WMNs. This observation motivates the emergence of a novel technique known as opportunistic routing, which allows any node overhearing a packet to participate in forwarding it instead of deterministically choosing the next hop before transmitting a packet [4][6][11][21]. [4] designed ExOR, an opportunistic routing protocol for WMNs. [6] introduced MORE by combining opportunistic routing and network coding together. Each user obtains an amount of utility if a certain information rate is allocated to it. Additionally, since intermediate forwarding nodes provide transmission service for the user, they may charge the user a service fee (i.e. cost). Hence in the economic perspective, each user tries to maximize its utility or profit (i.e. utility minus cost) by choosing an appropriate user behavior (i.e. an opportunistic route). However, when there exist multiple simultaneous users in a WMN, we will ask how to optimally choose an opportunistic route for each user to maximize the total user utility or profit by solving the resource competition among users, since individual user behaviors usually may not lead to a global optimum. In order to seek for optimized bandwidth usage and congestion avoidance, [33] introduced a game theory Xi Fang, Dejun Yang, and Guoliang Xue are affiliated with Arizona State University, Tempe, AZ 85281. Email: {xi.fang, dejun.yang, xue}@asu.edu. This research was supported in part by NSF grants 0830739 and 0905603, and ARO grant W911NF-09-1-0467. The information reported here does not reflect the position or the policy of the federal government.

978-1-4244-9920-5/11/$26.00 ©2011 IEEE

framework Dice to find a Nash bargaining point [14] of user rates in wireless multipath network coding. However, [33] mainly focuses on the efficiency-fairness tradeoff of user rates. Furthermore, nodes, another kind of active network entities, also have their own node constraints, and thus have their own node behaviors. This paper considers the following two node constraints, which characterize a node individual requirement and a social requirement, respectively. The first one is that each node may have its own energy consumption constraint, lifetime concern or computation and transmission capacity constraints. Thus it needs to consider the maximum load it is willing to carry, which we call the node max load constraint. The second node constraint is the node load balance, an important concern in network design [15][24][26][27][34]. Without considering node load balance, the philosophy that the optimal route is always chosen could result in congestion on the center of a network or hotspots which drain the energy of the nodes in congested regions or hotspots much faster [20][24]. Security may also be an issue without considering node load balance [24]. For example, if a large number of messages go through a small number of nodes, then jamming can be a vicious attack. In contrast, it is much more expensive and less effective to jam a large number of nodes. Thus, a node may set a maximum allowed load difference compared with other nodes (such as k-hop neighbors), which we call the node load balance constraint. This constraint can ensure that a node will not carry too much more load than other nodes, and thus can smooth the loads among different nodes. In brief, the node max load constraint reflects a node’s own load requirement, and the node load balance constraint shapes the load relationships among different nodes (i.e. social load patterns). Obviously, node constraints and the associated behaviors will affect user utilities and profits, and make user routing selections more difficult. In this paper, we study the problem of how to choose opportunistic route for each user to optimize the total utility or profit of multiple simultaneous users in a WMN subject to node constraints. We call these two problems nodeconstrained user utility optimization problem (NCUUOP) and node-constrained user profit optimization problem (NCUPOP). In the literature there exist some works which study routing problems taking into account the node load concern. [31] considered the routing problem with the goal of maximizing the life time of the wireless network. [26] showed that multipath routing provides better congestion and traffic balancing. Further work [15] showed that multi-path routing can balance load only if a very large number of paths are used. [27] showed that an optimum routing scheme based on shortest paths can be expressed in terms of geometric optics and

1907

computed by linear programming. [34] tried to solve the energy-efficiency issues by balancing the load reactively. [8] proposed a receiver-oriented load-balancing opportunistic routing protocol for wireless sensor networks. [9] proposed a load-aware routing scheme using dual decomposition. [22] tried to maximize user utility using multi-path routing in communication networks. The difference between our work and the above line of research is that our work considers given node load requirements as constraints, and subject to them we allocate resource to optimize the total utility or profit of multiple simultaneous users existing in a WMN by using opportunistic routing. Furthermore, our algorithm is distributed, and thus enhances network scalability and self-organization. Our contribution is two-fold: 1) We mathematically formulate NCUUOP and NCUPOP as two convex programming systems. To the best of our knowledge, this paper represents the first attempt to optimize opportunistic routing for multiple simultaneous users considering node load constraints. 2) By combining primal-dual methods [5] and subgradient methods [30], we present a unified distributed iterative algorithmic framework Consort for both problems. In each iteration, Consort updates Lagrange multipliers in a distributed manner according to the user/node behaviors and the Lagrange multipliers obtained in the previous iteration, and then each user and each node individually adjusts its own behavior based on the updated Lagrange multipliers. We prove its convergence, and also provide bounds on the amount of feasibility violation and the gap between our solution and the optimal one in each iteration. The feature of each user and each node adjusting their behaviors in a distributed manner is of great importance for network scalability and self-organization. Extensive simulations show that Consort can provide higher total utility and profit of users than MORE and Dice when no node constraint is considered, and that Consort can provide a much higher fairness level of node loads and a smaller node max load violation ratio when node constraints are considered. The rest of this paper is organized as follows. Section 2 reviews the opportunistic routing protocols we consider in this paper. Section 3 describes the system model. Sections 4 and 5 formulate the problems we are studying, and the distributed algorithm for these two problems is presented in Section 6. Section 7 discusses the practical issues and extensions of our results. Section 8 reveals our simulation results. We conclude this paper in Section 9. 2. P RELIMINARIES Before formulating the problem to study, we first review the opportunistic routing protocols we consider. A basic opportunistic routing protocol (e.g. MORE [6]) works as follows. Source node: The source node divides its traffic into a number of batches with M packets in it, and continuously generates coded packet streams from each batch using a random linear  network coding scheme. That is to say a coded packet is mj =



i cji mi , where cji is a random coefficient, and mi is a native packet from the current batch. {cj1 , ..., cji , ..., cjM } is called  the code vector of packet mj . The source node keeps sending coded packets in a batch until an uncoded ACK for this batch is sent back to the source. Intermediate node: When an intermediate node hears a packet, it checks whether it is in this packet’s forwarder list (a list including nodes that could participate in forwarding the packet), and whether the packet contains new information (i.e. an innovating packet) using simple algebra, such as Gaussian Elimination. A packet is innovative if it is linearly independent from the packets the node has previously received from this batch. This node then creates a random linear combination of the coded packets it has from the same batch and broadcasts it. Suppose that an intermediate node has coded  packets of the form mj = i cji mi . It creates more coded packets by linearly combining these coded packets as follows:   m = j aj mj , where aj ’s are random numbers. Note that  m is  alsoa linear combination of the native packets (i.e.  m = i ( j aj cji )mi ). Destination node: The destination keeps all the received innovative packets until M innovative packets are received. Then it decodes the original whole batch using matrix inversion and sends an acknowledgement back to the source node using a traditional routing protocol.

3. S YSTEM M ODEL In this paper, we consider static or slowly changing dynamic WMNs, such as Roofnet [1] and community wireless networks [2][28]. There exist K simultaneous users, where each user maintains a session from a source node to a destination node and uses intermediate nodes to relay the packets. Our work is particularly suitable for the applications with long user sessions, such as reliable large file transfer. We will discuss the case of shorter sessions in Section 7. We need the following sub-models to formulate NCUUOP and NCUPOP. A. Opportunistic multipath routing network sub-model We mainly use the model introduced in [33] to formulate the basic properties of opportunistic routing. This model has been shown to be sufficiently effective and tractable for network analysis. We model a WMN as a directed graph G = (V, E), where V is the set of vertices, and E is the set of edges. We use the following terms interchangeably: edge and link, vertex and node. Unlike the traditional unit disk model, the transmission range is defined as the distance where the reception probability falls below a small threshold. If v is in u’s transmission range, there is a directed edge (u, v) in G. As in [6], a distributed node pre-selection procedure is performed to add the nodes into the intermediate forwarder list for a user, such that each forwarder is closer (in ETX metric [10]) to the destination than its predecessors. We use G(Vk , Ek ) to denote the resulting topology for user k, where Vk and Ek are the set of nodes and the set of directed links involved in the session of user k. 1) Multipath flow conservation constraint: Considering that flow conservation holds for each node, we must have   rk (u, v) − rk (w, u) = hk (u), ∀k ∈ [1, K], (u,v)∈Ek

1908

(w,u)∈Ek

where hk (u) is equal to λk if u = sk , −λk if u = dk , and 0 otherwise. rk (u, v) denotes the information flow rate of user k on link (u, v). λk , sk and dk denote the information rate, the source and the destination of user k. Mathematically, the → information flow rate vector − rk represents the behavior of user k (i.e. the opportunistic route of user k). 2) MAC broadcasting rate constraint: We consider the collision free broadcast MAC formulated in [33]: a broadcast transmission from node u is collision free if and only if all other transmitters are outside the range of any downstream receiver of node u. Since the transmission range is defined as the distance where the reception probability falls below a small threshold, it is fair to assume that the interference range equals to the transmission range [33]. We use R(u) to denote the set of nodes whose transmission range (interference range) node u is located in. As in [33], we consider that a slotted scheduling-based collision-free broadcast MAC is being used. Note that although we design Consort based on this collision free broadcast MAC model, Section 7 will discuss how to integrate Consort to (t) support 802.11 MAC. Let Bk (u) denote a binary decision variable indicating whether node u is transmitting user k’s data in slot t. Thus, a necessary and sufficient condition is:   (t)  (t) Bk (u) + Bk (v) ≤ 1, ∀u ∈ Vk \ sk . (3.1) k∈[1,K]

B. Node constraint sub-model 1) Node max load constraint: Since each active node u may have its own energy consumption constraint, lifetime concern or computation and transmission capacity constraints, it needs to consider the maximum average broadcast rate ϕ(u) it is willing to provide. Thus each active node sets an upper bound on its average broadcast rate:  bk (u) ≤ ϕ(u), ϕ(u) > 0. (3.5) b(u) = k∈[1,K]

Consider, for instance, nodes with the concern of lifetime. As discussed in [32], in most types of wireless network nodes, wireless transceivers dominate the energy consumption. Each E(u) , active node u can estimate ϕ(u) as follows: ϕ(u) = T (u)ε(u) where E(u) is its remaining energy, T (u) is its expected lifetime, and ε(u) is its average energy consumption of transmitting one bit. 2) Node load balance constraint: We define a load balance area (i.e. a set of nodes) for each node. Let v ∈ A(u) represent that v is in u’s load balance area. That is to say, |b(u) − b(v)| ≤ θ(u, v), θ(u, v) > 0, ∀v ∈ A(u),

k∈[1,K] v∈R(u)

(3.1) respects the fact that in each time slot, the receive antenna of any node u allows the broadcast transmission from at most one transmitter within its range (including itself). Note that for user k the source node sk is excluded, since sk does not need to receive information from other nodes for this user. Considering the schedule length of T , based on (3.1) we have C  C   (t) (t) Bk (u) + Bk (v) ≤ C, T T t∈[1,T ] k∈[1,K]

t∈[1,T ] k∈[1,K] v∈R(u)

∀u ∈ Vk \ sk ,

k∈[1,K] v∈R(u)

Note that (3.3) is necessary but not necessarily sufficient, as (t) we transformed an integer variable Bk (u) into a continuous one bk (u) by averaging. 3) Coding constraint: The coding condition should satisfy the following straightforward network coding model. bk (u) · p(u, v) ≥ rk (u, v), ∀(u, v) ∈ Ek ,

(3.6)

where θ(u, v) is a parameter set by node u. We introduce A(u) and θ(u, v) to help u have a controllable balanced load with other nodes. In this paper, we consider a symmetric definition (i.e. v ∈ A(u) ⇐⇒ u ∈ A(v), and θ(u, v) = θ(v, u)). In practice, the required load balance constraint could be asymmetric. However, there would be no big difference for our mathematical analysis and algorithm (see Sections 6), and we thus focus on this simpler definition which makes our expressions clearer.

(3.2)

where C is the MAC layer capacity, which is the maximum broadcast rate of a node when no interferer presents. Since the average broadcast rate of node u for user k (i.e. node u’s behavior for user k) can be computed as bk (u) =  (t) limT →∞ C t∈[1,T ] Bk (u), we must have T    bk (u) + bk (v) ≤ C, ∀u ∈ Vk \ sk . (3.3) k∈[1,K]

of the coding model. However with an exponential number of constraints, it makes the problem intractable.

(3.4)

where p(u, v) is the packet delivery ratio of link (u, v). As discussed in [33], this is not a tight bound. However this involves approximations to the behavior of an actual WMN, and includes all the tractable information that users can use to induce a better payoff. [23] made an exact characterization

C. User utility and profit sub-model 1) User utility function: We use the following common utility function model. If an information rate λk is allocated to a user k, then user k has a utility of Uk (λk ). Uk (·) is an increasing, strictly concave and continually differentiable function, which is a common assumption of utility functions [19][29]. 2) User profit function: Since intermediate forwarders provide transmission service for a user, each forwarder charges this user a service fee which is proportional to the service rate (i.e. the broadcast rate) for this user. We use σk (u) to denote the service price of node u for user k. A user k therefore should pay σk (u)bk (u) (σk (u) ≥ 0) for node u, and the profit function for user k is thus defined as  → − σk (u)bk (u). (3.7) Pk (λk , b k ) = Uk (λk ) − u∈Vk \dk

4. N ODE - CONSTRAINED U SER U TILITY O PTIMIZATION A. Problem formulation

1909

We formulate NCUUOP as the following system:

→ − → System1(− r, b): 

Maximize s.t.



(4.1)

k∈[1,K]

 rk (u, v) − rk (w, u)=hk (u), u∈Vk , k∈[1, K], (4.2)

(u,v)∈Ek



Uk (λk )

each user’s behavior and each node’s behavior for each user. 1) User k’s behavior:  βk (u, v)rk (u, v), (4.9) Minimize −Uk (λk ) +

(w,u)∈Ek



bk (u) +

k∈[1,K]



s.t.

bk (v) ≤ C, ∀u ∈ Vk \ sk , (4.3)

over :

|



bk (u1 ) −

k∈[1,K]

u∈V



+

k∈[1,K]

bk (u) +

k∈[1,K],u=sk







bk (v) − C

s.t.



+ +

  βk (u, v) rk (u, v) − bk (u)p(u, v)

k∈[1,K] (u,v)∈Ek

α(u)bk (u) +

k∈[1,K] u∈Vk \sk

 −





+



βk (u, v)bk (u)p(u, v) +

α(v)bk (u)



u∈V

μ(u)



bk (u)



k∈[1,K]

u1 ,u2 ∈V :u2 ∈A(u1 )

ω(u1 , u2 ) −







bk (u1 ) −

k∈[1,K]



bk (u2 )| ≤ θ(u1 , u2 ),

k∈[1,K]

∀u1 = u2 , u1 ∈ Vk \ dk , u2 ∈ Vk \ dk , u2 ∈ A(u1 ), (5.6) over : rk (u, v) ∈ [0, C], ∀(u, v) ∈ Ek , k ∈ [1, K], bk (u) ∈ [0, C], ∀u ∈ Vk \ dk , k ∈ [1, K]. B. Lagrangian analysis As in Section 4.B, we compute the Lagrangian of System 2 subject to constraint (5.2) as follows:    → → − − → → − → σ (u)b (u) L(− r , b ,− α, β ,− μ,→ ω ) =− U (λ ) + k

+



u∈V

+

u∈V

μ(u)ϕ(u).

bk (v) ≤ C, ∀u ∈ Vk \ sk , (5.3)

k∈[1,K] v∈R(u)

|

k∈[1,K]

    bk (u1 ) − bk (u2 ) −C ω(u1 , u2 ) α(u)

u1 ,u2 ∈V :u2 ∈A(u1 )

− θ(u1 , u2 )

 

k∈[1,K] u∈Vk v∈R(u),v=sk

k∈[1,K] (u,v)∈Ek



k∈[1,K]

After some mathematical manipulations, (4.7) leads to the following: → → − − → − − → L(− r , b ,− α, β ,→ μ,→ ω)    =− Uk (λk ) + βk (u, v)rk (u, v) 

u∈Vk \dk

bk (u) · p(u, v) ≥ rk (u, v), ∀(u, v) ∈ Ek , k ∈ [1, K], (5.4)  bk (u) ≤ ϕ(u), ∀u ∈ Vk \ dk , (5.5)

u1 ,u2 ∈V :u2 ∈A(u1 ) k∈[1,K]

 +

(4.10)

(w,u)∈Ek

k∈[1,K]

   bk (u1 ) − bk (u2 ) − θ(u1 , u2 ) . (4.7) ω(u1 , u2 )

k∈[1,K]

 ω(v, u) + μ(u) ,

 rk (u, v) − rk (w, u)=hk (u), u∈Vk , k∈[1, K], (5.2)

bk (u) +

k∈[1,K] v∈R(u),u=sk

k∈[1,K]



(u,v)∈Ek

v∈A(u)

k∈[1,K]

(u,v)∈Ek

   μ(u) bk (u) − ϕ(u)

u∈V





k∈[1,K] (u,v)∈Ek





over: bk (u) ∈ [0, C], u ∈ Vk \ dk . Combining this decomposition (4.9) and (4.10) with the subgradient methods [25][30], a distributed algorithm for solving System 1 is hence possible. This algorithm will be presented in Section 6. 5. N ODE - CONSTRAINED U SER P ROFIT O PTIMIZATION A. Problem formulation We formulate NCUPOP as the following system: → − → System2(− r, b):     Uk (λk ) − σk (u)bk (u) , (5.1) Maximize

Due to our symmetric definition of load balance area, the absolute value sign in (4.6) can be omitted. For convenience, we set bk (u) = 0, if u ∈ / Vk \ dk . This can be considered as a supplement constraint for System 1. We thus compute the Lagrangian of System 1 subject to constraint (4.2) as follows:  → → − − → → − → Uk (λk ) L(− r , b ,− α, β ,− μ,→ ω) = − +

ω(u, v) −

v∈A(u)

k∈[1,K]



v∈R(u),v=sk



+

B. Lagrangian analysis

 α(u)

rk (w, u) = hk (u), u ∈ Vk

(w,u)∈Ek

rk (u, v) ∈ [0, C], ∀(u, v) ∈ Ek .

bk (u2 )| ≤ θ(u1 , u2 ),

∀u1 = u2 , u1 ∈ Vk \ dk , u2 ∈ Vk \ dk , u2 ∈ A(u1 ), (4.6) over : rk (u, v) ∈ [0, C], ∀(u, v) ∈ Ek , k ∈ [1, K], bk (u) ∈ [0, C], ∀u ∈ Vk \ dk , k ∈ [1, K].





2) Nodes u’s behavior for user k:    α(v) − βk (u, v)p(u, v) Minimize bk (u) α(u)u=sk+

bk (u) · p(u, v) ≥ rk (u, v), ∀(u, v) ∈ Ek , k ∈ [1, K], (4.4)  bk (u) ≤ ϕ(u), ∀u ∈ Vk \ dk , (4.5) 

rk (u, v) −

(u,v)∈Ek

k∈[1,K] v∈R(u)

k∈[1,K]

(u,v)∈Ek



k∈[1,K]

 α(u)



bk (u) +

k∈[1,K],u=sk





k

k

k∈[1,K] u∈V



bk (v) − C

k



k∈[1,K] v∈R(u),u=sk

  βk (u, v) rk (u, v) − bk (u) · p(u, v)

k∈[1,K] (u,v)∈Ek

(4.8)

+

u∈V



u∈V

(4.8) implies that the minimization operation of → → − − → − − → − → − L(− r , b ,− α, β ,→ μ,→ ω ) over (→ r , b ) can be decomposed as

+



   μ(u) bk (u) − ϕ(u) k∈[1,K]

    bk (u1 )−bk (u2 ) −θ(u1 , u2 ) . ω(u1 , u2 )

u1 ,u2 ∈V :u2 ∈A(u1 )

1910

k∈[1,K]

(5.7)

As in Section 4, after some mathematical manipulations, we can decompose the problem of minimizing → → − − → − − → − → → L(− r , b ,− α, β ,→ μ,→ ω ) over (− r , b ) into each user’s behavior and each node’s behavior. 1) User k’s behavior:  βk (u, v)rk (u, v), (5.8) Minimize −Uk (λk ) + (u,v)∈Ek



s.t.

 rk (u, v)−

(u,v)∈Ek

rk (w, u) = hk (u), u ∈ Vk

(w,u)∈Ek

over :rk (u, v) ∈ [0, C], ∀(u, v) ∈ Ek . 2) Node u’s behavior for user k:    α(v)− βk (u, v)p(u, v) Minimize bk (u) α(u)u=sk + +



v∈R(u),v=sk

ω(u, v) −

v∈A(u)



(u,v)∈Ek

 ω(v, u) + μ(u) + σk (u) , (5.9)

v∈A(u)

over: bk (u) ∈ [0, C], u ∈ Vk \ dk . As discussed in Section 4, a distributed iterative algorithm (shown in Section 6) for solving System 2 is also possible. 6. D ISTRIBUTED A LGORITHMIC F RAMEWORK : C ONSORT In this section, we present a distributed iterative algorithmic framework, called Consort, to solve both Systems 1 and 2. Consort can be viewed as a variant of subgradient methods [30]. The theory underlying Consort is the approximate dual subgradient methods (ADSM) introduced in [25]. ADSM is a powerful tool to design decentralized resource allocation algorithms for networking applications, especially combined with the decomposition mechanism. However, when the Lagrangian or some decomposed part of the Lagrangian is linear, oscillations may occur in ADSM iterations (see Section 6.A). We thus design a modified approximate dual subgradient method (MADSM) to deal with this issue at the cost of introducing a controllable inaccuracy (initially inspired by the regulation term technique in [3][22][33]). Note that MADSM is a generic framework. Thus, essentially Consort is an application of MADSM for solving Systems 1 and 2. We will also see that ADSM is a special case of our MADSM. In the rest of this section, we first present our MADSM and its properties, and then use this framework to design Consort. A. Modified approximate dual subgradient method The primal problem is the following: → Minimize f (− x ),

→ s.t. g(− x ) 0,

→ − − over: → x ∈ X , (6.1)

where f (·) : RN −→ R is a convex function, g(·) = (g1 (·), g2 (·), ..., gρ (·))T and each gj (·) : RN −→ R is a → − convex function, and X ∈ RN is a nonempty compact convex T set. Note that (·) denotes the transpose of (·). The dual problem is the following:  −  −  → − → − → − → Maximize q( δ )= inf→ L(→ x , δ ) = inf→ f (→ x )+ δ T g(− x) , − − → − x ∈X

− → s.t. δ 0,

→ − x ∈X

→ − over: δ ∈ Rρ ,

→ − → − → → → x ) is the Lagrangian of the where L(− x , δ ) = f (− x )+ δ T g(− → − primal problem, and δ is the vector of Lagrange multipliers. → − → − → → x (1) , δ (2) , − x (2) , ... MADSM sequentially computes δ (1) , − →(0) − − → − → (0) ρ from a starting point { δ , x } ∈ R × X as follows: → − → − → → for i ≥ 0, δ (i+1) = [ δ (i) + ηg(− x (i) )]+ , where − x (i) ∈ N   −  →(i) T − − → → → − argmin→ ) g( x )+ n ||xn−x(i−1) ||2 ,(6.2) f ( x )+( δ − n x ∈X n=1

− → → x (i) are the vectors where η is a constant stepsize, δ (i) and − of Lagrange multipliers and solutions generated in the ith → iteration, respectively, xn is the nth element of − x , and N → − is the dimension of x . We call n ≥ 0 the regulation term of element xn , which is used to ensure strict convexity. In → → → x + is the projection of − x addition, for a vector − x ∈ RN , − → − N + on the nonnegative orthant in R , i.e. x is the component→ → wise maximum of the vector − x and the zero vector: − x+ = → − T T (max{0, x1 }, ..., max{0, xN }) for x = (x1 , ..., xN ) . Note that if all n = 0, MADSM reduces to ADSM. If the → − → T → − → → Lagrangian L(− x , δ (i) ) = f (− x ) + ( δ (i) ) g(− x ) is a lin→ ear function of − x , obviously the minimization operation of → − → − → → x ∈ X by ADSM will lead to oscillations in L(− x , δ (i) ) over − iterations (i.e. the boundary points are always chosen). When we decompose the Lagrangian, and minimize a part of the Lagrangian, oscillation will also happen for the same reason if this part is linear. The regulation term is hence introduced to ensure strict convexity. The primal solution is approximated using averaging: (i)

x ˆ

i−1 1 − → x (m) , i ≥ 1. = i m=0

(6.3)

Theorem 6.1 characterizes the properties of MADSM. → − Theorem 6.1: If there exists a vector xs that satisfies the Slater condition [5] and the norms of the subgradients are → − → − ||g( x )||), the bounded by a constant L (i.e.L = max→ − x ∈X following properties hold for all i ≥ 1: 1) An upper bound on the amount of constraint viola||g(ˆ x(i) )+ || ≤ tion of the vector x ˆ(i) is given  by →(0) − →s − B 2 ) + iη , where the constant B =  f (x ) − q( δ →(0) 1 − − →(0) ηL2 N − →s max{|| δ ||,  (f (x )−q( δ )+ 2 + n=1 n Xn2 ) → − + ηL} ( = minj∈[1,ρ] (−gj (xs )) and Xn = →s − → − ||xn − x max→ − − n ||). Note that > 0, as x x  ∈ X x  ,→ satisfies the Slater condition[5]. x(i) ) ≤ f ∗ + 2) An upper bound on f (ˆ x(i) ) is given by f (ˆ → − N || δ (0) ||2 ηL2 2 ∗ + 2 + n=1 n Xn , where f is the optimal 2iη value of the primal objective function. 2 3) A lower bound on f (ˆ x(i) ) is given by f (ˆ x(i) )≥f ∗−Biη .2 The proof is quite involved and we omit the proof due to the space limit. The proof can be found in [13]. B. Consort algorithmic framework →(i) − We first briefly describe Consort. Let δ denote the vector of Lagrange multipliers → − → → → μ (i) )T , (− ω (i) )T )T in the ith iteration, ((− α (i) )T , ( β (i) )T , (− → − (i) x denote the vector of user and node behaviors

1911

→ − → → ((− r (i) )T , ( b (i) )T )T in the ith iteration, and − x denote →T T → − T − ( r , b ) . According to MADSM, from a starting point → − → − → we compute δ (1) , and based on δ (1) , − x (1) can be computed. →(2) − → based on − x (1) , In the second iteration, we compute δ →(2) − − → (2) and based on δ , x can be computed. This procedure continues until a stop criteria is reached. Thanks to the decompositions in Sections 4 and 5, the updating operations → − → x (i) can be done in a distributed manner. of δ (i) and − Now we describe Consort in detail. In the ith iteration, according to (6.2) we update Lagrange multipliers as follows:

where P is a set of single paths, γk (π) is the flow rate of  (i) user k following path π, and κk (π) = (u,v)∈π βk (u, v). Obviously, solving this equivalent problem will result in that (i) the min-cost path (with respect to βk (u, v)) is always chosen, i.e. a single path flow. We use Γk to denote the value of this single path flow. Thus this problem above is transformed to Minimize − Uk (Γk ) + κmin Γk , k

over: Γk ∈ [0, C], (6.4)

κmin k

where is the cost of the min-cost path (with respect to (i) βk (u, v)). Since Uk (·) is an increasing, strictly concave and continuously differentiable function, (6.4) can be easily solved. (i) (i−1) (i−1) + ∀u ∈ V, α (u) = [α (u) + ηMu ] , (i) rk (u, v) is set to the solution to (6.4) if (u, v) is on this min(i) (i−1) (i−1) + ∀(u, v) ∈ Ek , βk (u, v) = [βk (u, v) + ηC(k,u,v) ] , cost path. Therefore, each user k can use a distributed shortest (i) → (i) (i−1) path algorithm (such as [7]) to compute its user behavior − rk . ∀u ∈ V, μ (u) = [μ (u) + ηGu(i−1) ]+ , (i) (i−1) We then consider how node u updates its behavior bk (u) in , ∀u ∈ V and v ∈ A(u), ω (i) (u, v)=[ω (i−1) (u, v)+ηH(u,v) ]+ th the i iteration. For System 1, according to (4.10) and (6.2), where  (i−1)   (i−1) node u should solve the following problem: M(i−1) = bk (u) + bk (v) − C,    (i) u Minimize α(i) (u)u=s+ α(i) (v) − βk (u, v)p(u, v) k∈[1,K],u=sk k∈[1,K] v∈R(u),u=sk k (i−1)

(i−1)

(i−1)

v∈R(u),v=sk

C(k,u,v) = rk (u, v) − bk (u) · p(u, v);  (i−1) Gu(i−1) = bk (u) − ϕ(u)

(i)

+μ (u) +

(i−1)

  (i−1)  (i−1) bk (u) − bk (v) −θ(u, v), (i) βk (u, v),

μ(i) (u) After Lagrange multipliers α(i) (u), (i) (i) and ω (u, v) are computed, we need to update rk (u, v) (i) and bk (v). According to (6.2), we need to com→ − → → → r (i) )T , ( b (i) )T )T such that − x (i) ∈ pute − x (i) = ((−  → − (i−1) 2 N → − (i) → − (L( x , δ argmin→ ) + n=1 n ||xn − xn || ). Based − x ∈X on (4.9), (4.10), (5.8) and (5.9), we know that the operation → − → − → → x ∈ X can be decomposed of minimizing L(− x , δ (i) ) over − to user behaviors and node behaviors. Therefore, the operation  → − (i−1) 2 → || ) over of minimizing (L(− x , δ (i) ) + N n=1 n ||xn − xn → − → − x ∈ X can also be decomposed to user behaviors and node  (i−1) 2 || is decomposable. behaviors, as N n=1 n ||xn − xn (i) → We first consider how user k updates its behavior − r k in th the i iteration. Based on (4.9), (5.8) and (6.2) each user in both Systems 1 and 2 must solve  (i) (i) (i) Minimize −Uk (λk ) + βk (u, v)rk (u, v), s.t.

(i)

rk (u, v) −

(u,v)∈Ek

over :

(i)

(i)

rk (w, u) = hk (u), u ∈ Vk

(w,u)∈Ek

(i) rk (u, v)

+



over:

π∈P

γk (π) ∈ [0, C],

π∈P

ω (i) (u, v) −

v∈A(u) (i) + ||bk (u)

over:

 (i) ω (i) (v, u) bk (u)

v∈A(u)

\ dk .



v∈R(u),v=sk

(u,v)∈Ek

 (i) ω (i) (v, u) + μ(i) (u) + σk (u) bk (u)

v∈A(u)



(i−1) bk (u)||2 , (i) bk (u) ∈ [0, C], u

∈ Vk \ dk .

The average user behaviors and node behaviors till the ith iteration interval can be computed as follows: (i)

rˆk (u, v) =

(i)

π∈P



(i)

∈ [0, C], ∀(u, v) ∈ Ek .

Note that all the regulation terms n associated with rk (u, v) are set to 0, as the objective function is strictly convex already. Based on the flow-path formulation technique in [33], we now consider an equivalent problem:   γk (π)) + κk (π)γk (π), Minimize −Uk ( 

(u, v) −

Note that all the regulation terms associated with bk (u) are set to > 0 to make the objective function strictly convex. Otherwise, obviously oscillation will happen as the algorithm iterates due to its non-strict convexity. In other words, either (i) 0 or C is always chosen as bk (u). As a result, the node broadcast rate oscillates as our algorithm iterates and is thus not smooth. For System 2, according to (5.9) and (6.2), node u should solve the following problem:    (i) α(i) (v) − βk (u, v)p(u, v) Minimize α(i) (u)u=s+ k

(u,v)∈Ek



(u,v)∈Ek

(i) (i−1) + ||bk (u) − bk (u)||2 , (i) over: bk (u) ∈ [0, C], u ∈ Vk

k∈[1,K]



ω

(i)

v∈A(u)

k∈[1,K]

H(u,v) =



i−1 1  (m) r (u, v), i m=0 k

(6.5)

and i−1  (m) ˆb(i) (u) = 1 b (u), i ≥ 1. k i m=0 k

We now analyze what information is needed to execute our distributed algorithm. We first analyze the computation of Lagrange multipliers. For α(i) (u), node u needs its one-hop

1912

(i)

neighbors’ and its own broadcast rates. For βk (u, v), node (i) (i) u needs rk (u, v) and bk (u). For μ(i) (u), node u needs its (i) own bk (u). For ω (i) (u, v), u needs the broadcast rates of the nodes in its load balance area. Now we analyze the updates of user and node behaviors when the Lagrange multipliers have been obtained. Each user can use a distributed shortest path algorithm (such as [7]) to update user behavior. For node behaviors, each node should obtain the information from its one-hop neighbors and the nodes in its load balance area. Through the analysis above, we know that no global iteration information is needed, and this analysis also implies that the → − → − → − − → α (0) , β (0) , → μ (0) , → ω (0) } iteration starting point {− r (0) , b (0) , − can be negotiated in a distributed manner. Note that the analysis above indicates that if a node’s load balance area is large (e.g. the load balance area is the set of H-hop neighbors and H is not small), it will introduce a lot of information exchanges. We will discuss this issue in Section 7. C. Optimality and convergence analysis Before using Theorem 6.1 to analyze the optimality and convergence, we need to prove the following two lemmas. Lemma 6.1: Systems 1 and 2 satisfy the Slater condition. 2 Proof. We will construct the following user behavior and → − node behavior vector xs for both Systems 1 and 2, which satisfies the Slater condition [5]. We use pmin to denote min(u,v)∈E p(u, v), ϕmin to denote minu∈V ϕ(u), and θmin to denote minu,v∈V θ(u, v). We let the information flow λk of min min ,θ }−ι1 )pmin − ι2 , where each user k be equal to (min{C,ϕ K|V | min min ι1 is a small positive value such that min{C, ϕ ,θ }− ι1 > 0 (note that ϕmin > 0 and θmin > 0), and ι2 is a very min min ,θ }−ι1 )pmin small positive value such that (min{C,ϕ K|V − | ι2 > 0 (note that pmin > 0). Since all the nodes for each user k obtained in the node pre-selection process are reachable from the source of this user and can reach its destination, there must min min ,θ }−ι1 )pmin → − exist − rk such that rk (u, v) ∈ (0, (min{C,ϕ K|V | → ι2 ), ∀(u, v) ∈ Ek . Thus − r is in the relative interior of its min min domain. If u ∈ Vk \ dk , bk (u) is set to (min{C,ϕ K|V,θ| }−ι1 ) . Otherwise, bk (u) is set to 0. This implies that bk (u) ∈ (0, C), ∀u ∈ Vk \ dk , k ∈ [1, K]. We can easily verify that based on the vector so constructed the broadcasting rate, coding, node max load and node load balance constraints are strictly feasible. Thus the Slater condition holds. Lemma 6.2: The norms of subgradients of Systems 1 and → − → − ||g( x )||).2 2 are bounded by a constant L(i.e.L = max→ − x ∈X → − Proof. Since the domain of each element of x is [0, C], we → − know X is a compact set. According to [25], we know that → → − ||g(− x )||. there exists a constant L such that L = max→ − x ∈X Theorem 6.2: The following properties hold for all i ≥ 1: 1) An upper bound on the amount of constraint violation of the vector xˆ(i) for System 1 (System 2) is given by B ||g(ˆ x(i) )+ || ≤ , iη → − → − → − → − 2 1 where B =  (f (xs )−q( δ (0) ))+max{|| δ (0) ||,  (f (xs ) →(0) ηL2 − → − −q( δ )+ 2 + KC 2 |V |)+ηL} (xs is the vector con→ − structed in Lemma 6.1 and = minj∈[1,ρ] (−gj (xs ))).

2) An upper bound on f (ˆ x(i) ) is given by → − ηL2 || δ (0) ||2 (i) ∗ + + KC 2 |V |, f (ˆ x )≤f + 2iη 2 where f ∗ is the optimal value of the primal objective function of System 1(System 2). Note that we need to transform System 1 or 2 to the standard form in (6.1). 3) A lower bound on f (ˆ x(i) ) is given by f (ˆ x(i) ) ≥ f ∗ −

B2 . iη

2

Proof. According to our algorithm, we know that we have at most K|V | elements related to node behaviors and K elements related to user behaviors. Additionally, the value of n related to user behavior is set to 0, while the value of n related to node behavior is set to > 0. Obviously, Xn = C. According to Lemmas 6.1 and 6.2 and Theorem 6.1, we can easily prove Theorem 6.2 by substituting the related values above. Theorem 6.2.1) states that the amount of feasibility violation of the primal solution so generated diminishes to zero at the rate 1i as the number of iterations i increases. 2) and 3) imply that Consort converges to f ∗ within error level 2 ( ηL2 + KC 2 |V |) with the same rate of 1i . Note that we can adjust the values of η and to obtain an arbitrarily small error level at the cost of slowing down the convergence rate. 7. D ISCUSSIONS A. Practical issues Integration with IEEE 802.11: Our solution  tells each node u the optimized information rate rk (u) = (u,v)∈Ek rk (u, v) and broadcast rate bk (u) for user k. Although we assume a collision free MAC in this paper, we can use a similar scheme as in MORE to integrate our work into 802.11. Due to the space limit, we only describe the two differences compared with the method for integration with 802.11 used in MORE. In an 802.11 wireless network, a node should be triggered to transmit only when it receives a packet, and should perform the transmission only when the 802.11 MAC permits. The first difference is that we use a different transmission credit computation formula: T Xk (u) = brkk (u) (u) if rk (u) > 0, or 0 otherwise. When u receives a packet for user k from a node upstream, it increments its associated credit counter by T Xk (u). The second difference is that when a transmission is allowed by the MAC, node u first uses a weighted roundrobin algorithm [18] to select a user to serve. Each user k has a weight of  rk (u)ri (u) . Then this node checks if i∈[1,K] the credit counter associated with this user is positive. If positive, the node creates a coded packet, broadcasts it, and then decrements its counter by one. Otherwise, the node reselects a user to serve. If all the counters are non-positive, this node does not transmit. Dynamic network and route updating: Our solution works for static or slowly changing dynamic networks. Since the network topology may change due to node mobility, fading, and node failure, or user sessions may change, we need to consider when to restart the iteration algorithm. We use the following scheme. The timeline is divided into time slots of

1913

0.5

0

10

20 Number of users

0.8

0.4

0

30

(a) Total utility of users

1.5

1

10

20 Number of users

20 Number of users

4

More Dice Consort−P(NMLC, R=100) Consort−P(NMLC, R=300) Consort−P((m, σ)= (1, 0.5), R=100) Consort−P((m, σ)= (1, 0.5), R=300) Consort−P((m, σ)= (0.1, 0.05), R=100) Consort−P((m, σ)= (0.1, 0.05), R=300)

0.5

0

10

30

(d) Node load fairness index (Consort-P based)

2

10

20 Number of users

Load balance area: In order to initially set up its load balance area, each node can run a distributed node discovery algorithm (such as [16]) to discover other nodes (such as k-hop neighbors), and set the associated parameters. Additionally as discussed in Section 6, if the load balance area of a node is too large, it will introduce a lot of information exchanges. We use the following method to reduce the information exchanges by roughly squeezing the overlap of load balance areas of different nodes. It works as follows: Suppose that node u1 wants to keep a balanced load with u2 (i.e. |b(u1 )−b(u2 )| ≤ θ(u1 , u2 )),

0.5

10

4

20 Number of users

30

More((m, σ)=(1, 0.5)) Dice((m, σ)=(1, 0.5)) Consort−P((m, σ)=(1, 0.5), NLBC) Consort−P((m, σ)=(1, 0.5), R=100) More((m, σ)=(0.1, 0.05)) Dice((m, σ)=(0.1, 0.05)) Consort−P((m, σ)=(0.1, 0.05), NLBC) Consort−P((m, σ)=(0.1, 0.05), R=100)

3

2

1

0

30

(e) Network violation ratio (Consort-U based) Fig. 1. Simulation results

a constant length. All the nodes and users restart the iterative algorithm at the beginning of each time slot. A node can broadcast the start time and the length of time slots, stepsize η, regulation term , the iteration interval and the stop criteria (e.g. the number of iterations) periodically by inserting them in link quality measurement probes. Since probing is a standard technique [10] widely being used in wireless networks, integrating this information into probes can reduce the overheads introduced by broadcasting this information. When a node is entering into this network, it can know this information by overhearing others’ broadcasts. Each time slot is divided into a series of iteration intervals of a constant length. In each iteration interval, they run the iteration once, and broadcast the information of the current iteration (i.e. computed user and node behaviors, and Lagrange multipliers). Other nodes can obtain the necessary information for the next iteration by overhearing others’ broadcasts. Obviously, a shorter time slot can more effectively reflect topology and user changes, but introduces more overheads. How to find an optimal time slot length is our future work. Additionally, since a new user must wait until the next time slot begins, this introduces a large latency for the new user. Thus such users just use the original opportunistic routing (e.g. MORE), and start the Consort algorithm in the next time slot. This is particularly useful for the users with short sessions. The MAC layer (e.g. 802.11) will solve the actual contention issue, with which Consort benignly co-exists.

More Dice Consort−U(NMLC, R=100) Consort−U(NMLC, R=300) Consort−U((m, σ)= (1, 0.5), R=100) Consort−U((m, σ)= (1, 0.5), R=300) Consort−U((m, σ)= (0.1, 0.05), R=100) Consort−U((m, σ)= (0.1, 0.05), R=300)

(c) Node load fairness index (Consort-U based)

1

0

1

0

More((m, σ)=(1, 0.5)) Dice((m, σ)=(1, 0.5)) Consort−U((m, σ)=(1, 0.5), NLBC) Consort−U((m, σ)=(1, 0.5), R=100) More((m, σ)=(0.1, 0.05)) Dice((m, σ)=(0.1, 0.05)) Consort−U((m, σ)=(0.1, 0.05), NLBC) Consort−U((m, σ)=(0.1, 0.05), R=100)

3

1.5

30

(b) Total profit of users

Network violation ratio

Fairness index

2

2

More Dice Consort−P(NMLC, NLBC) Consort−P(NMLC, R=100) Consort−P(NMLC, R=300) Consort−P((m, σ)= (1, 0.5), NLBC) Consort−P((m, σ)= (0.1, 0.05), NLBC) Consort−P((m, σ)= (0.1, 0.05), R=100)

Fairness index

1.2

Network violation ratio

1

More Dice Consort−U(NMLC, NLBC) Consort−U(NMLC, R=100) Consort−U(NMLC, R=300) Consort−U((m, σ)= (1, 0.5), NLBC) Consort−U((m, σ)= (0.1, 0.05), NLBC) Consort−U((m, σ)= (0.1, 0.05), R=100)

Total profit

Total utility

1.5

10

20 Number of users

30

(f) Network violation ratio (Consort-P based)

and that u1 knows another node u3 (closer to u1 than u2 with respect to hops) has this constraint |b(u2 )−b(u3 )| ≤ θ(u2 , u3 ) and θ(u1 , u2 ) ≥ θ(u2 , u3 ). Node u1 will set |b(u1 ) − b(u3 )| ≤ θ(u1 , u3 ) = min{θ(u1 , u3 ), θ(u1 , u2 ) − θ(u2 , u3 )}, and exclude u2 from its load balance area. The information exchange between u1 and u2 is thus not needed any more. B. Some extensions of our problem definitions Fairness of different users’ utilities: We can easily extend System 1 to support proportional  fairness by maximizing k∈[1,K] log Uk (λk ) rather than k∈[1,K] Uk (λk ). Since log Uk (λk ) is also an increasing, strictly concave and continually differentiable function of λk , we can use a similar distributed algorithm to solve this problem. Unconstrained maximization of total user utility or profit: This is a straightforward extension by removing the node max load constraint and the node load balance constraint or setting ϕ(u) = ∞ and θ(u, v) = ∞, ∀u, v ∈ V . We will also evaluate this extension in Section 8. 8. P ERFORMANCE E VALUATION We use a discrete event simulator to implement Consort, and compare the performance of WMNs using Consort with that using MORE [6] and Dice [33]. In the simulations, we uniformly distributed 36 nodes in a 1000m × 1000m square region. The numbers of users were chosen to be 10, 20 and 30. For each user, we randomly chose two different nodes as its source and destination. As in [12], we assume that the packet delivery ratio from a node u to a node v is inversely proportional to their distance d(u, v) with a random Gaussian deviation of 0.1. If this packet delivery ratio is greater than 0.1, we say that v is in u’s transmission range. We set the channel capacity C to 2Mbps, and the packet size to 1000bytes. The simulation time was set to 20s in each test case. In Fig.1, Consort-U represents the algorithm for System 1, and Consort-P the one for System 2. We used ln (1 + λk ) as the utility function of user k, and the service price σk (u) was set to 0.1 per Mbps. We evaluated different node constraint

1914

settings. In Fig.1, NMLC represents that we do not consider node max load constraints, and NLBC represents that we do not consider node load balance constraints. For node max load constraints, we normally generated each node u’s maximum load ϕ(u) with a mean of mMbps and a variance of σMbps. Although u has its maximum load ϕ(u), in our simulations we allow the real node broadcast rates to be greater than ϕ(u). We will use the max load violation ratio (defined below) to quantify the constraint violation. In Fig.1, we use R to denote the load balance area range of each node. That is to say, if d(u, v) ≤ R, u(or v) is in v(or u)’s load balance area. The parameters θ(u, v) and θ(v, u) are set to 0.002 × d(u, v)Mbps. The total utility and profit of users are shown in Figs.1(a) and 1(b). When no node constraints are taken into account, we observe that Consort can achieve 10%-24% higher utility and 14%-22% higher profit than Dice, and much higher utility and profit than MORE. As expected, when Consort considers node constraints, the improvements on utility and profit decrease. Note that MORE and Dice do not consider node constraints and thus the resource allocation in MORE and Dice could violate the node constraints. In order to quantify the node load balance improvement, we use the fairness index proposed in [17], which is defined ( u∈V b(u))2 as F = |V |  2 . Figs. 1(c) and 1(d) show that Consort u∈V b(u) provides a much higher level of fairness for node loads. Compared with MORE and Dice, Consort-U increases the fairness index by 50%-183% and 47%-78%, respectively, and ConsortP increases it by 50%-179% and 47%-76%, respectively. For the node max load constraint, we define a violation ratio b(u) . The greater R(u) is, the less for each node: R(u) = ϕ(u) the node max load constraint is satisfied. We choose among all the nodes the worst violation ratio (i.e. maxu∈V R(u)) as the network violation ratio, denoted by R. Figs.1(e) and 1(f) show that Consort can obtain smaller network violation ratios. In addition, note that when (m, δ) = (1, 0.5), all the violation ratios are much smaller than those when (m, δ) = (0.1, 0.05). This is because considering our simulation setup, the node broadcast rates are on the order of 0.1Mbps. 9. C ONCLUSION This paper studied the problem of how to allocate network resource to optimize the total utility or profit of multiple simultaneous users in a WMN subject to node constraints by using opportunistic routing. We formulated these two problems as two convex programming systems, and presented a distributed iterative algorithm framework Consort by combining primaldual and subgradient methods. Consort allows each user and each node to adjust its behavior individually in each iteration. We proved its convergence, and also provided bounds on the amount of constraint violation and the gap between our solution and the optimal solution in each iteration. Simulations show that Consort can provide higher user utilities and profits than MORE and Dice when no node constraint is considered, and that Consort can provide a higher fairness level of node loads and a smaller node max load violation ratio when node constraints are considered.

R EFERENCES [1] D. Aguayo, J. Bicket, S. Biswas, G. Judd, and R. Morris, “Link-level Measurements from an 802.11b Mesh Network,” ACM SIGCOMM’04. [2] Bay Area Wireless User Group. http://www.bawug.org. [3] D. P. Bertsekas and J. N. Tsitsiklis, “Parallel and Distributed Computation: Numerical Methods,” Prentice-Hall, 1989. [4] S. Biswas and R. Morris, “ExOR: Opportunistic Multi-Hop Routing for Wireless Networks,” ACM SIGCOMM’05. [5] S. Boyd and L. Vandenberghe, “Convex Optimization,” Cambridge University Press. [6] S. Chachulski,M. Jennings,S. Katti,andD. Katabi,“Trading Structure for Randomness in Wireless Opportunistic Routing,” ACM SIGCOMM’07. [7] K.M. Chandy and J. Misra, “Distributed Computation on Graphs: Shortest Path Algorithms,” Communications of the ACM, 1982. [8] M. Chen, W. Ji, X. Wang, W. Cai, and L. Liao, “Opportunistic Routing for Load-balancing and Reliable Data Dissemination in Wireless Sensor Networks”, Mobile Opportunistic Networks. [9] Kae Won Choi, Wha Sook Jeon, and Dong Geun Jeong, “Efficient Load-Aware Routing Scheme for Wireless Mesh Networks”, IEEE Transcations on Mobile Computing, 2009. [10] D. D. Couto, D. Aguayo, J. Bicket, and R. Morris, “A High-Throughput Path Metric for Multi-Hop Wireless Routing,” ACM MobiCom’03. [11] H. Dubois-Ferri`ere, “Anypath Routing,” Ph.D dissertation, EPFL, 2006. [12] X. Fang, D. Yang, P. Gundecun and G. Xue, “Multi-Constrained Anypath Routing in Wireless Mesh Networks”, IEEE SECON 2010. [13] X. Fang, D. Yang, and G. Xue, “Consort: Node-constrained Opportunistic Routing in Wireless Mesh Networks”, Arizona State Univ. CIDSE Technical Report: TR-10-011. [14] F. Forgo, J. Szep, and F. Szidarovszky, “Introduction to the Theory of Games,” Kluwer Academic, 1999. [15] Y. Ganjali and A. Keshavarzian. “Load Balancing in Ad hoc Networks: Single-path Routing vs. Multi-path routing,”IEEE INFOCOM’04. [16] M. Harchol-Balter, T. Leighton, and D. Lewin, “Resource Discovery in Distributed Networks”, ACM Symp. on Prin. of Distributed Computing99. [17] R. Jain, D. Chiu, and W. Hawe, “A Quantitative Measure of Fairness and Discrimination For Resource Allocation in Shared Computer Systems,” DEC Research Technical Report, 1984. [18] M. Katevenis, S. Sidiropoulos, and C. Courcoubetis, “Weighted Roundrobin Cell Multiplexing in a General-purpose ATM Switch Chip”, IEEE JSAC, 1991. [19] F. Kelly, “Charging and Rate Control for Elastic Traffic,” European Transactions on Telecommunications, 1997. [20] S. Kwon and N. B. Shroff. “Paradox of Shortest Path Routing for Large Multi-hop Wireless Networks,” IEEE INFOCOM’07. [21] R. Laufer, H. Dubois-Ferri`ere and L. Kleinrock, “Multirate Anypath Routing in Wireless Mesh Networks,” IEEE INFOCOM’09. [22] X. Lin, and N. B. Shroff, “Utility Maximization for Communication Networks with Multi-path Routing,” IEEE Trans. on automatic control, 2006. [23] D. S. Lun, M. M´edard, and R. Koetter, “Network Coding for Efficient Wireless Unicast,” IEEE International Zurich Seminar on Comm.’06. [24] A. Mei, and J. Stefa, “Routing in Outer Space: Fair Traffic Load in Multi-Hop Wireless Networks”, ACM MOBIHOC’08. [25] A. Nedi´c and A. Ozdaglar, “Approximate Primal Solutions and Rate Analysis for Dual Subgradient Methods,” MIT Technical Report, 2007. [26] P. P. Pham and S. Perreau, “Increasing the network performance using multi-path routing mechanism with load balance,” Ad Hoc Networks04. [27] L. Popa, A. Rostamizadeh, R. Karp, C. Papadimitriou, and I. Stoica, “Balancing Traffic Load in Wireless Networks with Curveball Routing,” ACM MOBIHOC’07. [28] Seattle wireless, http://www.seattlewireless.net. [29] S. Shenker, “Fundamental Design Issues for the Future Internet,” IEEE Journal Selected Areas Communication, 1995. [30] N. Z. Shor, “Minimization Methods for Non-differentiable Functions,” Springer Series in Computational Mathematics, Springer, 1985. [31] A. Sankar and Z. Liu, “Maximum Lifetime Routing in Wireless Ad-hoc Networks,” IEEE INFOCOM’04. [32] J. Zhu, K. Hung, B. Bensaou, and F. Nait-Abdesselam, “Tradeoff between Network Lifetime and Fair Rate Allocation in Wireless Sensor Networks with Multi-path Routing,” MSWiM’06. [33] X. Zhang and B. Li, “Dice: a Game Theoretic Framework for Wireless Multipath Network Coding,” ACM MOBIHOC’08. [34] M. Zorzi and R. R. Rao, “Geographic Random Forwarding (geraf) for Ad hoc and Sensor Networks: Energy and Latency Performance,” IEEE Transactions on Mobile Computing, 2003.

1915

Suggest Documents