Optimal Rate Allocation in Peer-to-Peer Streaming ... - Semantic Scholar

2 downloads 0 Views 745KB Size Report
Available: ”http://vanets.vuse.vanderbilt.edu/cts2011.pdf”. [18] S. Shakkottai and R. Srikant, “Network optimization and control,”. Found. Trends Netw., vol. 2, pp.
Optimal Rate Allocation in Peer-to-Peer Streaming over Wireless Networks Fan Qiu, Jia Bai, Yi Cui and Yuan Xue Department of Electrical Engineering and Computer Science Vanderbilt University Nashville, Tennessee 37235 {fan.qiu, jia.bai, yi.cui, yuan.xue}@vanderbilt.edu

ABSTRACT

media services are not constrained by wireline connections.

Integrating Peer-to-Peer streaming with wireless networks is a promising technique which promotes ubiquitous multimedia services. Rate allocation within this context is essential to the overall performance of a streaming system due to the limitation of wireless network resource. Optimizing rate allocation in wireless P2P streaming poses us the twofold challenge: the data flow rates are not only constrained by P2P overlay uplink capacity, but subject to the resource sharing mechanism of wireless networks. In this paper, we propose a utility-based rate allocation framework to optimize the flow rates in wireless P2P streaming systems. Our optimization framework involves both P2P overlay constraint and wireless channel sharing constraint. We propose a channel-aware approach to address the modeling of wireless channel sharing patterns. We then proceed to design a distributed double pricing algorithm to solve the optimization problem. Experimental results validate that our algorithm can achieve convergence of data flow rate allocation and optimality of network throughput.

In a P2P streaming session, the end hosts form an overlay network above the underlying physical network. A host may download data from one or multiple peers, and it may also act as the server of several downstream peers. The end hosts could adjust their download flow rates so as to accommodate the environment heterogeneity. Existing research efforts have been dedicated to solving the resource allocation and peer selection problems in P2P overlays over wireline networks, by using the utility-based optimization approaches [3, 6].

KEYWORDS: Peer-to-peer overlay, Wireless networks, Rate allocation, Optimization, Distributed algorithm

The problem has drawn much academic attention and some solutions have been proposed within the context of P2P streaming [9] or P2P file sharing [7]. However, to the best of our knowledge, barely any existing research efforts have convincingly solved the optimal rate allocation issues in wireless P2P streaming.

1. INTRODUCTION As an effective and scalable platform, Peer-to-Peer (P2P) streaming has greatly improved the performance of multimedia services over the Internet. One promising extension of this technique is its deployment over wireless networks, such as wireless LANs and wireless Ad hoc networks. Peer-to-Peer streaming over wireless networks makes ubiquitous multimedia services possible, so that streaming

Compared to wireline networks, rate allocation in wireless networks is even more vital to the overall performance of the system because of the limited network resources. P2P streaming over wireless networks poses us the following fundamental challenges: first, data flows compete for the same wireless channel if they are close enough in spatial vicinity [19]. Second, the actual capacity of a wireless channel is nondeterministic due to its flexible resource sharing style. Third, in a P2P overlay, the rate allocation is constrained by the uplink capacity.

The goal of our research is to coordinate the resource allocation and optimize the flow rates in P2P streaming over wireless networks, by using a utility based approach [18], which has been extensively studied under various network resource allocation circumstances [11, 14, 4]. In a network, each data flow is associated with a utility [13], subject to certain rate allocation scheme. The basic strategy of utilitybased approach is to maximize the aggregated utility, un-

der certain resource and network configuration constraints. Typically, the utility maximization problem can be solved through a dual transformation: each individual network link is associated with a dual variable, which is called “shadow price” [12, 15]. This link price could be regarded as the cost of sending a unit flow along the link, and it corresponds to the link resource constraints in the utility maximization problem. We adopt this utility-based resource allocation framework in our work. However, the special context of wireless environment and P2P overlay makes the solution non-trivial. We set out to design an extended algorithm to address the rate allocation problem. Our contribution mainly lies on the following aspects: 1. Resource constraint model of wireless P2P streaming. As the channel utilization in wireless networks is complicated and the pricing of wireless links cannot be treated in the same way with wireline links, we use a channel-aware resource constraint model which effectively addresses the modeling of channel contention of wireless links. At the same time, we consider the uplink bandwidth constraint of each peer with uploading capability. The constraints are integrated into our optimization framework. 2. Double price based optimization control. As we have discussed that the wireless P2P streaming rate allocation is constrained by both wireless channel capacity and uplink capacity of P2P overlay, we introduce a pricing mechanism for each of the constraint. The price of a data flow then becomes the combination of two types of prices, which is called double pricing. This optimization problem can be solved by gradient projecting algorithm on its dual problem. 3. Distributed rate allocation optimization algorithm. We design a distributed algorithm, in which each peer autonomously adjusts the downstream data flow rates. The data flow rates of the overlay will eventually converge and stabilize. We further show that the algorithm can achieve optimal rate allocation. The rest of this paper is organized as follows: Sec. 2 gives a brief introduction to our channel-aware wireless resource constraint model. In Sec. 3 we discuss the optimization framework of wireless P2P streaming rate allocation and derive a double pricing solution. We further propose a distributed implementation of the optimization algorithm. To evaluate the convergence and optimality of our algorithm, we present the simulation results in Sec. 4. Sec. 5 concludes this paper.

2. CHANNEL-AWARE RESOURCE CONSTRAINT Resource sharing in wireless networks is subject to the wireless channel capacity. To build an optimization framework for a wireless P2P streaming system, it is essential to understand the resource constraint in wireless networks. However, modeling wireless resource mechanism sharing is non-trivial due to the channel contention within the same vicinity and the indeterminism of wireless channel capacity. In this section, we use a channel-aware approach to address the two issues based on [20]. The key problem is to model the wireless channel sharing patterns. For all the links that are involved in the contention for the same channel resource, their aggregate data rate cannot exceed the channel capacity. Moreover, only one of them can transmit at any time because when the channel is occupied by one link, other links do not have permission to utilize the channel resource (controlled by the RTS-CTS mechanism). The concept of maximal clique [20] is used to address the problem. In graph theory, a maximal clique is the maximal set of vertices in which any two vertices are connected by an edge. For a wireless network N , we can construct a contention graph G(V, E), in which V is the vertex set and E is the edge set. Here V consists of all wireless links involved in a P2P overlay. If any two links interfere with each other, we add an edge between the two vertices in G.

Figure 1. Network topology

Fig. 1 presents an example of a simple wireless network, where the wireless links are represented by the dotted lines, and data flows are represented by the dotted arrows. The distance between two adjacent nodes are 200m, and the interference range is assumed to be 250m. Based on our previous definition, we can map the original network to a contention graph as illustrated in Fig. 2. In this graph the vertices are equivalent to the wireless links. It is obvious that the contention graph contains two maximal cliques, represented by the two ellipsoids: Clique 1 contains {A, B, C, F, G}, and Clique 2 contains {C, D, E, H, I}.

3. OPTIMAL RATE ALLOCATION 3.1. Network Model This section presents an optimization model of wireless P2P streaming and its distributed solution. We illustrate the notations used in this section in Tab. 1. Table 1. Notations

Figure 2. Contention graph

The two cliques overlap at link C, which is the link between node 3 and node 4. In this graph, if one link in a clique is active at any given time, none of the other links in the same clique can be utilized. Hence if C is active, all the other links have to keep silence. Assume the aggregate data rate along link l(s, d) is Rl(s,d) , and the data rate of flow fi through this link is xi . Since the aggregate data rate cannot exceed the achievable channel capacity within each clique, we can derive the following constraints for the example network above: RA(1,2) + RB(2,3) + RC(3,4) e1 +RF (3,7) + RG(3,8) ≤ C

(1)

RC(3,4) + RD(4,5) + RE(5,6) e2 +RH(4,9) + RI(4,10) ≤ C

(2)

If we express the aggregate rates by using flow data rate, such as RA(1,2) = x1 + x2 and RC(3,4) = x1 + x3 . 

3 3

3 0

  " #  x e 2  1 C x2 ≤ e1 2 C2 x3

(3)

Based on the discussion above we formally present our channel-aware resource constraint model as follows:

Notation N G V F XF xf RN e C eq C bv F(v) F (q) Q Q(f ) pq pv

Definition Physical Network P2P overlay Peer set data flow set flow rate vector Data rate of flow f Resource constraint matrix Achievable clique capacity vector Achievable channel capacity of clique q. P2P uplink capacity limit of peer v The downstream flow set of peer v The flows through clique q Clique set Clique set flow f goes through Wireless clique price P2P streaming price

We consider the following network model: the underlying platform of a P2P streaming system is a wireless network N , consisting of V end hosts {n1 , n2 , n3 , ..., nV }. The resource allocation in the wireless network N follows the constraint model discussed in Sec. 2. For a P2P streaming session M, the P2P overlay graph G is formed above N . In the overlay each edge is a unicast path connecting two end hosts [6]. Suppose in session M there exists a data flow set F, and each flow in the set is associated with a data rate. We denote the data rate set by a rate vector 0 X = [x1 , x2 , x3 , ..., xF ] . In this paper we consider the limitation of uplink capacity. We simply assume that the aggregate downstream rate of a peer cannot exceed its uplink capacity bv . For example, a peer v with outgoing flows xf 1 , xf 2 , ..., xf n must satisfy xf 1 + xf 2 + ... + xf n ≤ bv .

3.2. Optimization Framework e RX ≤ C

(4)

R is the resource constraint matrix, for the example above, it is the 2 by 3 matrix in Eq. 3. X is a column vector of the flow e is a column vector of the achievable channel rates, and C capacities of the cliques. Later we will discuss that the price for a flow to use the wireless channel resource equals to the aggregate clique prices from all the cliques it goes through.

Following the analysis in Sec. 2, we can build a resource constraint matrix R. It implies the relationship between the flow rates and the achievable clique capacities. We denote the clique set of the wireless network by Q. We use a utility-based algorithm, which is rooted from optimization based flow control theory [5, 12, 8], to model the rate allocation problem: the utility obtained by the user of flow

f from a rate allocation xf is referred to as U (xf ). Here U (.) : R+ → R is a utility function, which is assumed to be increasing, strictly concave and twice continuously differentiable [16]. We simply define the utility function as U (xf ) = ωf log(xf ), where ωf can be regarded as a constant related to the user of flow f . The central objective of this algorithm is to achieve the maximization of the aggregate utility in the network.

Now we expand the Lagrangian and reform it as follows X X X L(xf , pv , pq ) = Uf (xf ) − pv xf f ∈F



v∈V

X

pq

q∈Q

+(

X

X

f ∈F (v)

xf

f ∈F (q)

p v bv +

v∈V

X

eq ) pq C

q∈Q



Now we formally propose the rate optimization framework as follows:

=

X



Uf (xf ) − xf (pvf +

f ∈F

+(

X

maximize

Uf (xf )

(5)

=

f ∈F

p v bv +

X

eq ) pq C

q∈Q

[Uf (xf ) − xf (λv + λq )]

f ∈F

X

subject to

X

pq )

q∈Q(f )

v∈V

X

X

x f ≤ bv , v ∈ V

(6)

+(

f ∈F (v)

X

p v bv +

v∈V

e RN × XF ≤ C

(7)

=

X

X

eq ) pq C

q∈Q

[Uf (xf ) − xf pef ]

f ∈F

+( This is an optimization problem constrained by (6), which is the P2P uplink capacity constraint, and (7), which is the wireless channel resource constraint of the underlying physical network N , derived from Eq.(4). RN is the channel resource constraint matrix and XF is a rate vector consisting of all the P2P data flows. Note that S v∈V F(v) = F.

X

p v bv +

v∈V

X

eq ) pq C

q∈Q

(9) where λv

=

λq

=

pvf X

(10) pq

(11)

λv + λq ;

(12)

q∈Q(f )

The direct solution to the primal problem requires well organized coordination of all network resources, which is expensive for a distributed implementation, hence we consider solving this problem by looking at its dual, which leads to a simplified distributed solution.

3.3. Dual Problem

The dual problem of (5) is obtained via its Lagrangian L, in which we introduce two Lagrangian multipliers: pv and pq . Given that the peer set is V and the clique set is Q, we derive the following equation.

L(xf , pv , pq )

=

X

Uf (xf ) −

f ∈F



X q∈Q

X v∈V

pq (

X

f ∈F (q)

pv (

X

xf − bv )

f ∈F (v)

eq ) xf − C

(8)

pef

=

Here F (q) is the set of all flows that goes through clique q. pvf represents the Lagrangian multiplier corresponding to the upstream peer of flow f . It belongs to the multiplier set PV = {pv : v ∈ V}. Q(f ) is the clique set that flow f goes through. λv can be interpreted as the streaming price: the cost to download data from a peer v at certain rate xf ; λv is the aggregate wireless link price: the summation of all the prices of the links the flow goes along. (λv + λq ) can be regarded as the overall cost for the end-to-end flow xf , we denote this cost by pef . The dual problem becomes D:

min

pv ≥0,pq ≥0

D(pv , pq )

(13)

where D(pv , pq ) = max L(xf , pv , pq ) xf

(14)

Since Uf (.) is strictly concave, there exists a unique maximizer xf (λv , λq ) with each given price tuple (λv , λq ). It must satisfy

d (Uf (xf ) − xf (λv + λq )) = Uf0 (xf ) − (λv + λq ) = 0 dxf (15) Thus this maximizer is given by Mf

xf (λv , λq ) = [Uf0−1 (λv + λq )] mf

(16)

In (16) [Mf , mf ] is the possible range of xf . Note that xf may not be primal optimal. However, by duality theory, the dual optimal price tuple (pv ∗, pq ∗) exists, thus it guarantees that xf (pv ∗, pq ∗) is primal optimal [1].

3.4. Distributed Algorithm The dual problem can be solved by the gradient projection method [2, 16], in which the prices are adjusted progressively by employing the gradient ∇D(pv , pq ). ∂D(pv , pq ) + ] ∂pv ∂D(pv , pq ) + ] pq (t + 1) = [pq (t) − γ ∂pq

pv (t + 1) = [pv (t) − γ

(17) (18)

Here γ is a step size, and [x]+ = max {x, 0}. From (9) and (14) we have X ∂D(pv , pq ) = bv − xf ∂pv

(19)

X ∂D(pv , pq ) eq − =C xf ∂pq

(20)

f ∈F (v)

f ∈F (q)

X

We then proceed to design a distributed rate allocation algorithm, which is derived from the aforementioned gradient projection method, as illustrated in Table 2. In this algorithm, we use the two prices, the wireless clique price pq and the streaming price pv . They are assigned initial values at the beginning, then these prices are updated iteratively until the flow data rates converge at certain optimal points. The network executes the algorithm in a decentralized way: the streaming flow price and clique price are updated by appropriate network components autonomously. The total price pef of an end-to-end flow f is the summation of the source peer’s streaming price and all the wireless clique prices of the cliques it goes through. Peers use the flow price to refine the new data flow rates according to (16). In our implementation, the achievable capacities of the wireless channels are measured periodically and updated accordingly, because the capacities of wireless channels are time-varying. In Theorem 1 we state the optimality of the optimization algorithm. Due to space constraint, the proof of this theorem can be found in our technical report [17]. Theorem 1 Given γ is significantly small, the algorithm in Table 2 can achieve primal-dual optimal rate allocation.

Thus (17) and (18) become pv (t + 1) = [pv (t) + γ(

the network resource and the data flow rate: the price drops whenever the aggregate rate is less than the capacity and hence the data rate goes up; on the other hand, the price raises if the aggregate rate exceeds the capacity and hence the data rate decreases. In each iteration, the updated price information is sent to the server peers, accordingly the new transmitting rates are generated based on (16). Because the rate adjustment is controlled by two price variables, we call it double pricing[10].

xf − bv )]+

(21)

4. SIMULATION RESULTS

eq )]+ xf − C

(22)

Our simulation aims to demonstrate the convergence and optimality of the proposed algorithm. We use network simulator (ns2) to perform the network simulation. We set up three scenarios in a 600m by 600m area, as illustrated in Fig. 3 and Fig. 4. Scenario 1 and Scenario 2 are two special settings used to test the effects of wireless channel congestion and downstream data flow congestion. Scenario 3 is a more complicated case used to test the convergence and optimality of the algorithm. The distance between two adjacent nodes (the length of the edge of a small square grid) is 200 meters. And the interference range is set to 250 meters, thus a node can only interfere with its directly adjacent neighbors. The bandwidth of the wireless channel is 2Mbps. The data flows are represented by the dotted lines

f ∈F (v)

pq (t + 1) = [pq (t) + γ(

X

f ∈F (q)

(17) and (18) solve the dual problem in a distributed manner, which means the streaming prices and clique prices are updated autonomously. As we can observe from the solution, the evolution of the price is determined by P the approximation P of the current aggregate data rate ( f ∈F (v) xf or f ∈F (q) xf ) to the bandwidth capacity eq ): if the current aggregate rate is close to the (bv or C capacity, the price changes slowly, otherwise, the price evolves drastically. This means the prices asymptotically approach the optimal value. In addition, the pricing mechanism reflects the demand and supply relationship between

Table 2. Distributed Algorithm

Price Update 1 Streaming Flow Price Update (at Peer v) 1.1 Collect the streaming flows xf 1.2 Update price pv P pv (t + 1) = [pv (t) + γ( f ∈F (v) xf − bv )]+ 1.3 Attach new price pv (t + 1) to all outgoing flows Clique Price Update (at Clique q) Collect the flows xf in this clique. eq Retrieve the virtual capacity C Update price pq (t + 1) P eq )]+ pq (t + 1) = [pq (t) + γ( f ∈F (q) xf − C 2.4 Distribute the new price pq (t + 1) in the clique 2 2.1 2.2 2.3

Peer Rate Allocation Update (for flow f from peer vf ) 1 Update the combined price pef P pef (t + 1) = pvf (t + 1) + q∈Q(f ) pq (t + 1) 2 Compute the new flow rate xf (t + 1) Mf

3 4

xf (t + 1) = [Uf0−1 (e pf (t + 1))] mf Compute the network utility Send flow f at the new rate xf (t + 1)

with arrows, attached with the source-destination pairs. We use a flow-oriented approach to decide the maximal cliques in the wireless networks, which means we only count the links which carry flows.

Figure 4. Scenario 3

of the flows are set to be the same. Because each server peer has only one child peer, the effect of downstream traffic is minimized. The experimental results in Fig. 5 reveal that the flow rates x1 and x4 are close to each other, while the flow rates x2 and x3 are quite similar. We further find that the rates of the flows at the center (x2 and x3 ), are smaller than the others due to greater wireless channel congestion. The prices of these flows are higher, which lead to lower data rates. In scenario 2, we try to minimize the effect caused by wireless channel congestion. The two edge flows, with rates x1 and x4 , have very similar vicinity of flow distribution. However, the source of Flow 4 (Node 9) has two downstream flows, while the source of Flow 1 (Node 1) has only one downstream flow. With all the flows assigned the same initial data rates, we find the rate evolution in Fig. 6: x1 is obviously greater than x4 when they become stable. This is because the downstream traffic congestion makes the price decrease slowly. As we can observe from the two figures, all the flow rates converge well over time.

1000

x1 x2 x3 x4

rate(kbps)

800

Figure 3. Scenario 1 (left) and 2 (right)

600

400

200

0 0

4.1. Congestion Effects As Scenario 1 illustrates, there is a symmetric flow distribution, with four parallel data flows. The initial data rates

500

1000 time(sec)

1500

Figure 5. Flow rates of Scenario 1

2000

1000

x1 x2 x3 x4 x5 x6

600

1000

x1 x2 x3 x4 x5 x6

800 rate(kbps)

rate(kbps)

800

400

600

400

200 200 0 0

500

1000 time(sec)

1500

2000

0 0

500

1000

Figure 6. Flow rates of Scenario 2

1500 2000 time(sec)

2500

3000

Figure 7. Flow rates of Scenario 3

4.2. Comparison with Heuristics 1000 th 1 th 2 th 3 th 4 th 5 th 6

throught(Kbps)

800

600

400

200

0 0

500

1000 time(sec)

1500

2000

Figure 8. The throughputs of the P2P flows of Scenario 3

2000 h1(50k) h2(100k) h3(200k) h4(400k) h6(600k) Optimization Alg.

1500 rate(kbps)

Now we evaluate the throughput of our algorithm and compare it with the throughputs of several heuristic rate allocation strategies. We set up a wireless P2P streaming session as shown in Scenario 3, which contains 6 P2P flows. We start by testing the convergence of our algorithm. As illustrated by Fig. 7, the flow rates can converge to relatively stable values, with small jitters, which are related to the step size in the algorithm. Fig. 8 further illustrates the throughputs of different flows. The curves of the throughputs are consistent with the curves of their sending data rates. We mainly compare the aggregate throughput of the network when using the optimization algorithm with the throughput when using the heuristic rate allocation strategies. The heuristic rate allocations are static, the flow rate could be one of the followings: 50kbps, 100kbps, 200kbps, 400kbps and 600kbps. All the peers in the same overlay use a fixed sending data rate. We then proceed to collect the aggregate throughput of the network under different rate allocations. As Fig. 9 shows, a higher sending rate does not necessarily lead to higher throughput. This is because the congestion of wireless channels may cause considerable packet loss. It is obvious that the aggregate throughput when using the optimization algorithm is much better than the throughputs of the heuristic rate allocations. The experimental results prove that our algorithm can achieve relatively optimal rate allocation.

1000

500

5. CONCLUSION

0 0

Resource allocation in wireless P2P streaming is challenged by wireless channel resource limitation and P2P uplink capacity limitation. In this paper we form a utility based optimization framework for rate allocation in peer-to-peer

500

1000 time(sec)

1500

Figure 9. The aggregate throughput

2000

streaming over wireless networks and present a distributed algorithm to solve the problem. The major objective of this framework is to maximize the aggregate utility throughout the P2P overlay. We use a channel-aware approach to model wireless resource constraint. It addresses the problem of spatial intricacy among wireless links. We solve the optimization problem via its dual, more specifically, through a distributed algorithm derived from the gradient projection method. We have analyzed the effects of wireless channel congestion and streaming traffic congestion, based on our experimental results. The results also demonstrate that our algorithm can converge to achieve stable rate allocation. The performance comparison with heuristic rate allocations proves the optimality of our algorithm.

ACKNOWLEDGEMENTS This research was sponsored by the U.S. Army Research Office and Lockheed Martin and was accomplished under Cooperative Agreement W911NF-10-1-0005. This work is also supported in part by the NSF Career Award CNS0643488. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Army Research Laboratory or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation hereon.

REFERENCES [1] D. P. Bertsekas, NONLINEAR PROGRAMMING, 2nd ed. Scientific, September 1999.

Athena

[2] D. P. Bertsekas and J. N. Tsitsiklis, PARALLEL AND DISTRIBUTED COMPUTATION: NUMERICAL METHODS. Prentice-Hall, Inc., 1989. [3] M. Chen, M. Ponec, S. Sengupta, J. Li, and P. A. Chou, “Utility maximization in peer-to-peer systems,” in Proc. of ACM SIGMETRICS. ACM, 2008, pp. 169–180. [4] M. Chiang, S. Low, A. Calderbank, and J. Doyle, “Layering as optimization decomposition: A mathematical theory of network architectures,” Proc. of IEEE, vol. 95, no. 1, pp. 255 –312, 2007. [5] C. Courcoubetis, V. Siris, and G. Stamoulis, “Integration of pricing and flow control for available bit rate services in atm networks,” in GLOBECOM, vol. 1, Nov. 1996, pp. 644 –648. [6] Y. Cui, Y. Cao, L. Dai, and Y. Xue, “Optimizing p2p streaming throughput under peer churning,” Multimedia Systems, vol. 15, pp. 83–99, 2009. [7] A. Duran and C.-C. Shen, “Mobile ad hoc p2p file sharing,” in WCNC. IEEE, vol. 1, 2004, pp. 114 – 119. [8] R. Gibbens and F. Kelly, “Resource pricing and the evolution of congestion control,” Automatica, vol. 35, no. 12, pp. 1969 – 1985, 1999. [9] E. Gurses and A. Kim, “Maximum utility peer selection for p2p streaming in wireless ad hoc networks,” in GLOBECOM, 2008, pp. 1 –5.

[10] T. Hossain, Y. Cui, and Y. Xue, “Rate distortion optimization for mesh-based p2p video streaming,” in ICC, 2009, pp. 1 –6. [11] K. Kar, S. Sarkar, and L. Tassiulas, “A scalable low-overhead rate control algorithm for multirate multicast sessions,” Selected Areas in Communications, IEEE Journal on, vol. 20, no. 8, pp. 1541 – 1557, Oct. 2002. [12] F. P. Kelly, A. K. Maulloo, and D. K. H. Tan, “Rate control for communication networks: Shadow prices, proportional fairness and stability,” The Journal of the Operational Research Society, vol. 49, no. 3, pp. 237–252, 1998. [13] F. Kelly, “Charging and rate control for elastic traffic,” European Trans. on Telecommunications, vol. 8, pp. 33–37, 1997. [14] S. Kunniyur and R. Srikant, “End-to-end congestion control schemes: utility functions, random losses and ecn marks,” Networking, IEEE/ACM Trans. on, vol. 11, no. 5, pp. 689 – 702, 2003. [15] R. J. La and V. Anantharam, “Utility-based rate control in the internet for elastic traffic,” IEEE/ACM Trans. Netw., vol. 10, pp. 272–286, April 2002. [16] S. H. Low and D. E. Lapsley, “Optimization flow control i: Basic algorithm and convergence,” IEEE/ACM TRANS. ON NETWORKING, vol. 7, no. 6, pp. 861–874, 1999. [17] F. Qiu, J. Bai, Y. Cui, and Y. Xue, “Optimal rate allocation in peer-to-peer streaming over wireless networks,” 2011. [Online]. Available: ”http://vanets.vuse.vanderbilt.edu/cts2011.pdf” [18] S. Shakkottai and R. Srikant, “Network optimization and control,” Found. Trends Netw., vol. 2, pp. 271–379, January 2007. [19] Y. Xue, B. Li, and K. Nahrstedt, “Price-based resource allocation in wireless ad hoc networks,” in Proc. of the 11th international conference on Quality of service, ser. IWQoS’03. Springer-Verlag, 2003, pp. 79–96. [20] ——, “Optimal resource allocation in wireless ad hoc networks: a price-based approach,” Mobile Computing, IEEE Trans., vol. 5, no. 4, pp. 347 – 364, 2006.