Utility Proportional Optimization Flow Control for ... - Semantic Scholar

2 downloads 0 Views 460KB Size Report
an iterative algorithm as the solution to the optimization flow control problem and ..... utility proportional flow control, to deal with well-behaved non-concave utility ...
2009 IEEE International Symposium on Parallel and Distributed Processing with Applications

Utility Proportional Optimization Flow Control for Overlay Multicast Ali Jafari School of Computer Science, IPM, Tehran, Iran. Email: a [email protected]

H. Shafiei School of Computer Science, IPM, Tehran, Iran. Email: [email protected]

Baharan Mirzasoleiman ECE Department, University of Tehran Tehran, Iran. Email: [email protected]

Ghodrat Sepidnam CE Department, Ferdowsi University of Mashhad Mashhad, Iran. Email: [email protected]

struction. Flooding approach utilizes routing information already maintained by nodes, to broadcast messages. This method is sufficient to networks in which most of peers are interested in receiving the messages. If a subset of peers are interested in messages, overlay networks including those nodes have to be constructed and used. The alternative approach constructs a tree for each group instead of building separate overlay network. The application manages the tree and uses it to propagate multicast messages. In an overlay multicast, different sources may transmit data through the same physical link, causing excessive traffic on a link. Furthermore, unicast data traverses different end hosts in a parent-child mode and needs to be considered that a child can not relay data at a rate higher than its parent. The last constraint has been introduced by Cui et al. [15], for the first time. It is critical to assign rate of each source in a way that constraints are maintained. Cui et al. [15] modeled the resource allocation problem in an overlay multicast as a utility based optimization problem in which utility functions are assumed to be strictly concave. In order to provide flow control mechanism in a data network, we can use utility based optimal flow control methods that has been proposed by Kelly [14] and Low [16]. In these solutions, a price is associated to each link that is updated based on the aggregate rates of sources passing it. A utility function is associated to each source that can be considered as a measurement of application’s QoS over the allocated bandwidth. The resource allocation problem is formulated as an optimization problem which maximizes the aggregate utility of all users under the link capacity constraint. Solving the problem distributively, results in a link algorithm that measures the link price and a source algorithm that adapts the source rate according to congestion feedbacks form the network. Choosing appropriate utility functions, different fairness objectives, such as proportional, max-min and etc. can be achieved. There are some works following the work presented by Kelly et al. [14]. Authors in [7], [8] applied price-based resource allocation in multirate multicast sessions. In multirate

Abstract—There was a lot of interest in multicast communications within this decade as it is an essential part of many network applications, e.g. video-on-demand, etc. In this paper, we model flow rate allocation for application overlay as a utility based optimization problem constrained by capacity limitations of physical links and overlay constraints. The optimization flow control presented here addresses not only concave utility functions which are suitable for applications with elastic traffics, but also especial forms of non-concave utilities that are used to model applications with inelastic traffics, which might demand for hard delay and rate requirements. We then propose an iterative algorithm as the solution to the optimization flow control problem and investigate especial forms of non-concave utilities that are supported by this model. Simulation results show that the iterative algorithm can be used to deal with sigmoidal-like utilities which are useful for modeling real-time applications such as live streaming. Keywords-Overlay Multicast; Resource Allocation; Optimization Flow Control; Utility Proportional Flow Control; Duality Theorem; Iterative Algorithm.

I. I NTRODUCTION The use of Multicast communications is a part of many network applications, such as video conferencing, videoon-demand and peer-to-peer file sharing. The lack of a widely available IP multicast service at the network layer in backbone networks, has led to an interest in application-level multicast, e.g., [1], [2], [3]. In application-level multicast, end hosts are self organized in an overlay network. This approach has the following advantages over traditional IP multicast. First, multicast support is not needed in network layer. By organizing end hosts into an overlay network, multicast data can be transmitted via unicast. Second, peers in a session can receive multicast data at different rates, thus network heterogeneity can be achieved [15]. The lack of IP multicast causes a large recent research on how to implement multicast service at the network layer, e.g., [1], [2], [3]. Some overlay multicast systems has been built using structured peer-to-peer networks that are claimed to be largely scalable [4], [5], [6], each of which implements application-level multicast using either flooding or tree con978-0-7695-3747-4/09 $25.00 © 2009 IEEE DOI 10.1109/ISPA.2009.108

401

Table I N OTATIONS USED IN SYSTEM

multicast session, different receivers in the same multicast session can receive data at different rates. These works considered the heterogeneity of user requirements. Also, some work has been done for multiple-path networks [9], [10]. In these works, flow control and routing are optimized. Some research has been carried out to study optimal flow control based on optimization and game theory, e.g., [11], [12], [13]. In this paper, we model flow rate allocation for application overlay as a utility based optimization problem with capacity limitations of physical links and overlay constraints. Our model is influenced by the work of [15], however in our work, we address not only concave utility functions which are suitable for applications with elastic traffics, but also especial forms of non-concave utilities which are used to model applications with inelastic traffics, which might demand for hard delay and rate requirements. The remainder of this paper is organized as follows. The system model and problem formulation is given in Sections II and III, respectively. In Section IV, we solve the problem and present the optimal solution. Section V investigates the non-concave choices of utility functions which can be supported using this framework. Simulation results are presented in Section VI. Finally, Section VII concludes the paper.

Notations n ∈ N = {1, 2, ..., N } f ∈ F = {1, 2, ..., F } x = (xf , f ∈ F ) l ∈ L = {1, 2, ..., L} c = (cl , l ∈ L) f → f0 L(f ) ⊆ L F (l) ⊆ F A = (Alf )L×F B = (Bf 0 f )F ×F

MODEL

Definitions End Host Unicast Flow in Overlay Multicast Flow Rate of f ∈ F Physical Network Link Link Capacity of l ∈ L f 0 is the Child Flow of f Set of Links that f passes through Set of Flows that go through l Link Capacity Constraint Matrix Data Constraint Matrix

first requirement of this model to be realistic is the capacity constraint: the total load on each physical link l ∈ L should not exceed the capacity cl . The capacity constraint for a particular link l can be expressed as follows: X Alf xf ≤ cl (1) f

Considering this for all physical links, we obtain the matrix form as below Ax ≤ c (2) While the capacity constraint restricts physical link usage, application constraint expresses the relationship between the rate of different flows. In the Peer-to-peer multicast session, a peer can not relay the data to its downstream peer at a rate higher than receiving rate from its parent. Formally, if f → f 0 , then xf 0 ≤ xf . We define a F × F matrix B as follows:   −1 if f → f 0 1 if f 0 = f and f has a parent flow (3) Bf 0 f =  0 otherwise

II. S YSTEM M ODEL We consider an overlay network consisting of a set of N peers, denoted by N = {1, 2, ..., N }. In the multicast session, one peer acts as the streaming source, and other peers are the receivers. Receivers relay the streaming data through unicast in a peer-to-peer mode. The multicast session includes F unicast peer-to-peer flows. This set of flows can be represented by F = {1, 2, ..., F }, where each flow f ∈ F has a rate xf bps. For notational convenience, we use the matrix notation and define the flow rate vector x = (xf , f ∈ F). We denote by mf ≥ 0 and Mf < ∞ the minimum and maximum transmission rate of flow f , respectively. If flow f arrives a peer and flow f 0 departs from that peer, then f 0 is the child of flow f , represented by f → f 0 . If the source of f and the destination of f p is the same peer, then flow f p is the parent of f which is represented by f p → f . Let us suppose that our overlay network has a set of L physical links denoted by L = {1, 2, ..., L}. Each physical link l ∈ L has capacity cl bps. We define the link capacity vector as c = (cl , l ∈ L). Each flow f ∈ F corresponds to multiple physical links, represented by L(f ) ⊆ L. Each link is associated with a set of flows that pass through it, denoted by F(l) ⊆ F. For the sake of convenience, we define a L × F routing matrix A where Alf = 1, if flow f passes through link l, i.e., f ∈ F(l), and Alf = 0 otherwise. Such a routing matrix gives a precise insight of the resource usage pattern. The

B indicates the data relaying relationship between different flows in application level. This data dependency is determined by the topology of the overlay multicast tree [2]. Hence, the data constraint is formulated as follows: Bx ≤ 0

(4)

The notations used to capture the network model as above, are summarized in Tab. I. In the sequel, we give an example to make data constraint and capacity constraint more clear. In the topology shown in Fig. 2, we have 5 overlay multicast flows and 7 physical links in the underlying network. From example, inequality (2) becomes     1 1 0 0 0 6    1 0 0 0 0   3  x1      0 1 1 0 0   x2   8        0 0 1 0 0   x3  ≤  15        0 0 1 1 1   x4   10       0 0 0 1 0   2  x5 0 0 0 0 1 12

402

 

0  C1=6  1 

optimization flow control framework each flow f ∈ F, when submitting at rate xf attains a utility Uf (xf ). We consider an optimization flow control problem as in [15]. The authors have focused on best effort traffic which admit well-behaved optimization problems due to concave utility functions. However, in our problem we have included the possibility of some non-concave utility functions which provides the possibility of streaming traffic as well as best effort. The main objective of optimization flow control is to allocate flow rates so that the total utility over the network is maximized. [15] have addressed maximizing such an optimization flow control for overlay multicast problem. X maximize Uf (xf ) (5)

3 C5=10

R1 

C2=3 

C4=15

C6=2

R2

4

C7=12

C3=8  2 

5

Figure 1.

Physical Network Topology

 



3



R1 

4

R2

f ∈F

subject to 2 

5

over Figure 2.

Ax ≤ c

(6)

Bx ≤ 0

(7)

x ∈ If

(8)

Overlay Multicast on the Physical Network

The main requirement for the optimization flow control mentioned above is the strict concavity of utility functions. For many applications which demand for elastic traffic, strictly concave utility functions will suffice to capture the traffic characteristics. However, many other applications exist which demand for inelastic traffic, whose utility functions are shown to be non-convex [18]. Such applications are mainly relying on data streams with relatively hard delay and rate constraints for the traffic. For these applications, the optimization flow control problem is no longer concave and the iterative solution may lead to local optimal point of the underlying non-convex problem. As stated in previous sections, here we adopt a recently proposed framework for optimization flow control, called utility proportional flow control, to deal with well-behaved non-concave utility functions. Utility proportional flow control is originally proposed as a remedy to unfair rate allocation and to extend the idea of utility max-min rate allocation proposed by [19]. In utility proportional flow control, instead of maximizingR the aggregate utility functions Uf (z), the aggregate of Ufdz(z) will be maximized. Andrew et. al. [17] have shown that Such a strange modification in utility function will improve the fairness properties of the flow rate allocation, especially when there are competing sources (peers) in the network. However, we are not assuming any selfish behavior for peers and will use this paradigm only to address utility functions with non-concave utility functions. Later on, we discuss how non-convex utility functions of especial forms will be dealt with in this manner. Utility proportional flow control for our network model is defined as X Z xf dz maximize mf ≤ xf ≤ Mf (9) mf Uf (z)

0 Flow 2

Flow 1

2

1

Flow 3 3 Flow 4 4

Figure 3.

and equality (4)  0 0 0  0 0 0   0 −1 1   0 0 −1 0 0 −1

Flow 5 5

overlay multicast

becomes  0 0  0 0    0 0   1 0  0 1

x1 x2 x3 x4 x5

   ≤0  

III. P ROBLEM F ORMULATION In this section, we model the flow rate allocation optimization problem. We focus on a utility-based optimization to allocate flow rates. Our model is influenced by the model of Low [16] and Cui [15]. [15] studied the resource allocation problem using a standard optimization flow control. In the

f ∈F

403

subject to

over

Ax ≤ c

(10)

Bx ≤ 0

(11)

x ∈ If

(12)

L(x, µα , µβ )

xf

mf

dz Uf (z)

f ∈F

f 0 ∈F

l∈F

β β where µα = (µα l , l ∈ L) and µ = (µf , f ∈ F) are vectors β of Lagrangian multipliers. µα l and µf can be considered as the link price of l and the relay price that f must pay to its parent flow, respectively. Simplifying (17), two vectors β β λα = (λα f , f ∈ F) and λ = (λf , f ∈ F) are defined as follows: X X λα µα µα (18) f = l Alf = l

(13)

l∈L

We defer solving the optimization problem until the next section.

λβf

=

X

µβf0 Bf 0 f

l∈L(f )

A. Optimality First, we investigate the convexity of problem (9)-(12). Lemma 1: If utility functions Uf (.), f ∈ F satisfy assumptions A1-A2, then problem (9)-(12) is strictly concave and admits a unique maximizer. Proof: First we show that the Hessian of the objective function of problem (9)-(12) is negative definite. We have X Z xf dz g(x) = (14) mf Uf (z)

(19)

f →f 0

Based on KKT Theorem [20],[21], at optimal point the following conditions must be satisfied. The first condition states that the x∗ is the stationary point of the Lagrangian, i.e. ∇x L(x, µα , µβ )|(x∗ ,µα ∗ ,µβ ∗ ) = 0 (20)

f

which yields

Thus, we obtain

∇2 g(x)

µβf0

For λα , λα f is the path price of flow f , which is the sum of prices of all links that flow f passes through. In other words, λα f can be considered as the network price that flow f must pay. For λβ , λβf can be interpreted as f ’s data price, which is the difference between f ’s relay price µβf P and relay benefit from all its children f →f 0 µβf0 .

IV. O PTIMAL S OLUTION

∇g(x)

X

= µβf −

f 0 ∈F



(17)

− µ (Ax − c) − µβ (Bx) X Z xf dz X X = − xf µα l Alf Uf (z) m f f ∈F f ∈F l∈L X X β X − xf µf 0 Bf 0 f + µα l cl

A1: Each utility function Uf (.) is twice continuously differentiable over interval [mf , Mf ]. A2: Each utility function Uf (.) is strictly increasing over interval [mf , Mf ], i.e xf ∈ [mf , Mf ]

XZ f ∈F α

For problem (9)-(12) to admit a unique maximizer, we have the following assumptions on the utility functions Uf (.), f ∈ F:

Uf0 (xf ) > 0;

=

T

1 1 ,..., (15) U1 (x1 ) UF (xF )   U 0 (x1 ) U 0 (xF ) = diag − 12 , . . . , − F2 (16) U1 (x1 ) UF (xF ) =

1 β − λα f − λf = 0 Uf (x∗f )

Therefore, for the optimal flow rate we get !  Mf 1 −1 ∗ xf = Uf β λα mf f + λf

(21)

(22)

where [z]ba = max {a, min {b, z}}. Dual feasibility condition requires that

The Hessian matrix for the objective function, i.e. ∇ g(x), is a diagonal matrix and is negative definite, i.e. ∇2 g(x) < 0 if and only if all of whose diagonal elements are negative. Hence, if Uf (.), f ∈ F satisfies A1-A2 assumptions, then the Hessian will be negative definite and thereby the objective function is strictly concave. Inequality constraints are linear functions and consequently are convex. Therefore, the optimization problem (9)(12) is strictly concave and admits a unique maximizer. We denote the unique maximizer of problem (9)-(12) by x∗ = (x∗f , f ∈ F). We then solve the problem starting by writing the Lagrangian as follows 2

µα∗ l ≥ 0;

l∈L

(23)

µβ∗ f ≥ 0;

f ∈F

(24)

and finally, the complementary slackness conditions for constraints (10) and (11), is given by

404

µα∗ (Ax∗ − c) = 0;

(25)

µβ∗ Bx∗ = 0;

(26)

where 0 is a vector, all of whose element is zero. We then proceed to solve the problem through its dual. The dual problem is defined as min D(µα , µβ )

Table II I TERATIVE A LGORITHM Link Price Update 1 Receive rates xf (t) from all flows f ∈ F (l) 2 Update price µα (t + 1) = [µα lP l (t)+ γ( f ∈F (l) xf (µα (t), µγ (t)) − cl )]+ 3 Send µα l (t + 1) to all flows f ∈ F (l) Relay Price Update 1 Receive rate xf p (t) from its parent flow f p 2 Update price µβ (t + 1) = [µβ (t)+ f f γ(xf (µα (t), µβ (t)) − xf p (µα (t), µβ (t)))]+ 3 Send µβ (t + 1) to f p f Stream Rate Adaptation 1 Receive link prices µα l (t) from all links l ∈ L(f ) 2 Receive relay prices µβ (t) from f0 all children flows {f 0 |f → f 0 } 3 Calculate P λα µα (t) f (t) = l∈L(f ) l

(27)

µα ,µβ ≥0

where D(µα , µβ ) is dual function and is defined as the maximum of the Lagrangian over x, i.e. D(µα , µβ ) = max L(x, µα , µβ )

(28)

x∈I

(28) is an unconstrained optimization problem and is already solved by (22). Therefore, dual function is given by D(µα , µβ ) = L(x∗ , µα , µβ )

(29)

where x∗ = (x∗f , f ∈ F) is given by (22). Now we are ready to solve dual problem (27). In order to obtain a distributed solution, we will solve the dual problem using subgradient projection method [21][22]. Definition 1: A subgradient of function f at x can be any vector g which satisfies f (y) ≥ f (x) + g T (y − x)

λβ (t) = µβ (t) − f f Adjust rate xf (t + 1) = [Uf−1 (

P

4

f

µα l (t + 1)

[µα (36) l (t) X α γ + + γ( xf (µ (t), µ (t)) − cl )] =

f ∈F (l)

µβf (t + 1)

(31)

=

[µβf (t) + γ(xf (µα (t), µβ (t))

∂D(µα (t), µβ (t)) + ] ∂µα l ]+

Here [z] = max(z, 0) and γ > 0 is a small stepsize. Equation (36) indicates the law of supply and demand. If the demand on link l exceeds its capacity, the price µα l increases, otherwise it reduces. In equation (37), when the rate of flow f is greater than its parent f p , the data price µβf increases, otherwise it lessens. In order to obtain an optimal point, rate update algorithm (22) and price update equations (36) and (37) can be used together in an iterative manner. It has been shown in [16] that, when the step size γ is small enough, the algorithm converges at the optimal point. Since the problem (5) is concave, the duality gap, i.e. the gap between the dualoptimal and primal-optimal is zero. Accordingly, obtaining optimal dual parameters via (22) results in optimal rate which solves the primal problem. The iterative algorithm for solving (27) is listed below as Tab. II.

(32)

(33)

(34)

f ∈F (l)

α

∂µβf

V. N ON -C ONCAVE U TILITY F UNCTIONS In this section we go into more details of non-concave utility functions for which utility proportional optimization might be useful.

β

∂D(µ (t), µ (t))

= xf p (µα , µβ ) − xf (µα , µβ )

(37)

+

+

Since the objective of problem (5) is strictly concave, (28) is continuously differentiable ([20], pp.669) with derivatives given by X ∂D(µα (t), µβ (t)) = cl − xf (µα , µβ ) α ∂µl

β

− xf p (µ (t), µ (t)))]

where x(k) is the value of x at kth iteration, γ is the constant step size, and P(.) is the projection operator, which guarantees that x(k+1) will remain in the feasible domain. Solving the dual problem via subgradient projection method results in

∂µβf

f

Substituting (34) and (35) into (32) and (33), respectively yields to

α

∂D(µα (t), µβ (t))

M 1 )]mff β λα (t)+λ (t)

(30)

xk+1 = P(xk − γg k )

µβf (t + 1) = [µβf (t) − γ

µβ (t) f0

Sends xf (t + 1) to all links l ∈ L(f ) and all children flows {f 0 |f → f 0 }

5

for all y. It’s valuable to say that for differentiable function f , subgradient reduces to the gradient, i.e. g = ∇f . Given an objective function, say f , to be minimized over a feasible domain, the subgradient projection method at each iteration, steps toward the opposite direction of its subgradient, denoted by g, as follows:

α µα l (t + 1) = [µl (t) − γ

f →f 0

(35)

405

As already mentioned in Section IV, the concavity condition for the objective function requires that −

Uf0 (xf ) 0 are positive parameters. It is easy to show that the function defined by (39) has an inflection point at x = β; for x < β the function is convex, and for x > β it is concave and over its domain it is non-concave. For sigmoidal-like utility function, we get Uf0 (xf ) − 2 Uf (xf )

Figure 4.

e−α(x−β)

= −

αe−α(x−β) 2 (1+e−α(x−β) ) 1

Convergence of Rates for All Flows

(40)

2 1+e−α(x−β)

( ) = −αe−α(x−β) < 0

which means that sigmoidal-like utility functions satisfy (38) and although non-concave, can be chosen as the utility function for problem (9)-(12). VI. N UMERICAL R ESULTS

Figure 5.

In this section, we investigate simulation results to validate the convergence of proposed distributed algorithm shown by Tab. II. This algorithm is applicable for both elastic traffics and inelastic ones. To show this, we consider not only concave utility functions, but also non-concave utility functions. The network topology is shown in Fig. 2. In this example, Fig. 1 shows the underlying physical network including the capacity of each link. Fig. 2 represents the multicast overlay network built on the physical network and Fig. 3 illustrates the data relationship between different flows. In this scenario, we have 5 multicast flows in overlay network and 7 physical links in the underlying network. Utility functions associated to the peers is chosen as below 1 1 + e−0.2(x1 −5) 1 U2 (x2 ) = 1 + e−0.5(x2 −4) 1 U3 (x3 ) = 1 + e−0.3(x3 −4) U1 (x1 ) =

Convergence of Rate Price for All Flows

U4 (x4 ) = 8x4 − 8

(44)

U5 (x5 ) = 3x5 − 1.5

(45)

It is easy to show that U1 (.), U2 (.) and U3 (.) are nonconcave functions and U4 (.) and U5 (.) are linear. These utility functions suit for modeling applications with streaming traffics. One the most issues of interest is the convergence behavior of Algorithm 1. Fig. 4 depicts the evolution of the flow rates while the Algorithm 1 converges. From this figure, it’s apparent that the algorithm converges within an acceptable number of iteration steps. VII. C ONCLUSION

(41)

The use of Multicast communications is a part of many network applications, such as video conferencing, videoon-demand, to name a few. In this paper, flow rates for application overlay were devised as a solution to a utility

(42) (43)

406

[7] K. Kar, S. Sarkar, and L. Tassiulas, “A scalable low-overhead rate control algorithm for multirate multicast sessions,” IEEE J. Sel. Areas Commun., vol. 20, no. 8, pp. 1541-1557, October 2002. [8] W. H. Wang, M. Palaniswami, and S. H. Low, “Necessary and sufficient conditions of optimal flow control in multirate multicast networks,” Proc. Inst. Electr. Eng. Commun., vol. 150, pp. 385-390, October 2003. [9] K. Kar, S. Sarkar, and L. Tassiulas, “Optimization-based rate control for multipath sessions,” Inst. Syst. Res., Univ. Maryland, Baltimore, MD, Tech. Rep. 2001-1, 2001. [10] W. H. Wang, M. Palaniswami, and S. H. Low, “Optimal flow control and routing in multiple paths networks,” Perform. Eval., vol. 52, no.2-3, pp. 119-132, 2003. Figure 6.

Convergence of Link Price for All Flows

[11] F. P. Kelly, “Fairness and stability of end-to-end congestion control,” Eur. J. Contr., vol. 9, pp. 149-165, 2003.

based optimization problem in which network limitations from physical links and peer-to-peer limitations perspectives were considered. In our work, we addressed applications with elastic traffics as well as especial forms of non-concave objective functions which are used to model applications with inelastic traffics, which might demand for hard delay and rate requirements. We proposed an iterative algorithm as the solution to the optimization problem. Simulation results showed that the underlying iterative algorithm can be used to deal with realtime applications such as live streaming as well as those need for elastic traffics.

[12] E. Altman, T. Basar, and R. Srikant, “Nash equilibria for combined flow control and routing in networks: asymptotic behavior for a large number of users,” IEEE Trans. Autom. Contr., vol. 47, no. 6, pp. 917-930, June 2002. [13] T. Alpcan, and T. Basar, “Distributed algorithms for Nash equilibria of flow control games,” In Annals of Dynamic Games, A. Nowak, Ed. Cambridge, MA: Birkhauser, 2003. [14] F. P. Kelly, A. Maulloo, and D. Tan, “Rate control for communication networks: shadow prices, proportional fairness and stability,” J. Oper. Res. Soc., vol. 49, pp. 237-252, March 1998. [15] Y. Cui, Y. Xue, and K. Nahrstedt, “Optimal Resource Allocation in Overlay Multicast,” In Proc. of the 11th IEEE International Conference on Network Protocols, 2003.

ACKNOWLEDGMENT This project was supported financially by Iran Telecommunication Research Center(ITRC).

[16] S. H. Low, and D. E. Lapsley, “Optimal flow control, I: basic algorithm and convergence,” IEEE/ACM Trans. Netw., vol. 7, no. 6, pp. 861-874, December 1999.

R EFERENCES [1] J. Jannotti, D. K. Gifford, K. L. Johnson, F. Kaashoek, and J. W. OToole, “Overcast: Reliable Multicasting with an Overlay Network,” In Proc. of OSDI, October 2000, pp. 197-212.

[17] Wei-Hua Wang, M. Palaniswami, S. H. Low, “Applicationoriented flow control: fundamentals, algorithms and fairness,” IEEE/ACM Trans. Netw. 16(6): 1282-1291 (2006)

[2] Y. Chu, R. Rao, and H. Zhang, “A case for end system multicast,” In ACM SIGMETRICS, 2000.

[18] S. Shenker, “Fundamental Design Issues for the Future Internet”

[3] S. Zhuang, B. Zhao, A. Joseph, R. Katz, and J. Kubiatowicz, “Bayeux: An Architecture for Scalable and Fault-tolerant WideArea Data Dissemination” In Proc. of NOSSDAV, June 2001.

[19] P. Marbach, “Priority service and max-min fairness,” IEEE/ACM Trans. Netw., vol. 11, no. 10, pp. 733-746, October 2003.

[4] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker, “Application-level multicast using content-addressable networks,” In Proc of NGC, November 2001.

[20] D. Bertsekas, and J. Tsitsiklis, Parallel and Distributed Computation, Prentice-Hall, 1989.

[5] A. Rowstron, A. M. Kermarrec, M. Castro, and P. Druschel, “Scribe: The design of a large-scale event notification infrastructure,” In Proc of NGC, November 2001.

[21] S. Boyd, and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2003. [22] D. Bertsekas, Nonlinear Programming, Athena Scientific, 1999.

[6] M. Castro, P. Druschel, A. -M. Kermarrec, and A. Rowstron, “Scribe: A large-scale and decentralized application-level multicast infrastructure,” IEEE JSAC, vol. 20, no. 8, October 2002.

407