UTILITY MAXIMIZATION FOR BANDWIDTH ALLOCATION IN PEER-TO-PEER FILE-SHARING NETWORKS

. Peer-to-peer (P2P) networks have been commonly applied into many applications such as distributed storage, cloud computing and social networking. In P2P networks fairness fosters an incentive so as to encourage peers to oﬀer resources (e.g, upload bandwidth) to the networks. In this paper, we consider fair bandwidth allocation of access links in P2P ﬁle-sharing networks and develop a coupled network-wide utility maximization model which aims at achieving several kinds of fairness among requesting peers. We provide a meaningful interpretation of the problem of maximizing social welfare and its sub-problems from an economic point of view. The coupled optimization problem is diﬃcult to resolve in a distributed way because of its non-strict convexity and non-separation. We apply a modiﬁed successive approximation method to investigate the coupled problem and propose a distributed bandwidth allocation scheme to solve the approximation problems. Then, we investigate the convergence of the scheme by mathematical analysis and evaluate the performance through numerical examples, which validate that the scheme can achieve the global optimum within reasonable iterations.


1.
Introduction. Peer-to-peer (P2P) networks consist of a distributed community of peers, which can share a variety of digital files or computer processing resources with each other. Each peer responds to service requests of others and contributes resources such as upload bandwidth for file-sharing to them. P2P networks have been known to own many advantages over centralized networks. They are inherent scalability, have no single point of failure, and possess self-administration capabilities. In recent years, P2P networks have been widely used for files sharing and distribution, for example, BitTorrent, eDonkey, and Gnutella. Recent emerging applications include distributed storage [9] [33], cloud computing [23], social networking [18], hierarchical name system [17] and vehicular networks [32]. P2P networks generate most of the traffic on the current Internet [28], thus it is very significant to achieve 1100 SHIYONG LI, WEI SUN AND QUAN-LIN LI optimal resource allocation between interacting peers and realize reasonable traffic management for Internet.
In P2P file-sharing networks, e.g., BitTorrent, peers exchange file content with each other. One peer requests a specific file from a number of remote peers in parallel. Meanwhile, peers which complete a file can offer this file to others until they leave the networks. A peer acting as client is to determine the peers to which a service request for download will be addressed. Meanwhile, a peer as server receives incoming service requests with the upload resources and adopts a reasonable policy to allocate its upload bandwidth to requesting peers. For example, max-min fair bandwidth allocation has been investigated in BitTorrent systems [2] [7], and distributed algorithms are presented to solve the mathematical programming models of bandwidth allocation. The bandwidth allocation algorithms for P2P networks should be decentralized and should not be imposed by a central authority [11].
In P2P networks each peer as client is characterized by a utility function which quantifies its satisfaction for receiving certain amount of bandwidth from other peers. The network-wide objective is to maximize the social welfare, i.e., aggregated utility over all clients. However, the network utility maximization problem is indeed difficult to solve in a distributed fashion due to the fact that it is a non-strictly convex and non-separable optimization problem (the objective includes coupled utility functions). Previous research work either adds a strictly convex or concave function to the objective or introduces new auxiliary variables or additional constraints to the problem to address the non-strict convexity [11].
We investigate a coupled network utility maximization problem for P2P filesharing networks. The problem combines both fully coupled and uncoupled utility maximization models by an adjustable parameter. We solve the coupled optimization problem by applying a modified successive approximation method. Then the original utility maximization problem becomes a strictly convex and separable optimization problem. We present a gradient-based resource allocation algorithm to solve the approximation problem. It can converge to the global optimum of the original problem after a series of approximations, which is proven through theoretical analysis and illustrated by some numerical examples. The successive approximation method is first discussed in [19] and afterwards commonly used with geometric programming in power control problems [6] [29], and multipath utility maximization problems [30] [31]. This method includes two parts: inner-iterations and outer-iterations, and requires inner-iterations to converge to the optimum of the approximation problem. We prove the convergence of the modified successive approximation algorithm within a certain number of inner-iterations and give some numerical examples to confirm that.
The main contributions of our work to the current literature are summarized as follows: (i) we formulate a coupled utility maximization model for bandwidth allocation in P2P file-sharing networks with different kinds of fairness concept; (ii) we provide a meaningful interpretation of the problem of maximizing social welfare and its sub-problems from an economic point of view; (iii) we solve the coupled optimization problem through a modified successive approximation approach and present a distributed resource allocation scheme which is proven to converge to the global optimum of the original problem after a series of approximations.
We end this section with a short overview of the rest of this paper: Section 2 summarizes related research results on resource allocation in P2P networks; Section 3 introduces the resource allocation model formulation; Section 4 solves the model by applying a modified successive approximation method, and presents a gradientbased resource allocation scheme, which converges to the global optimum of the original resource allocation model; Section 5 gives some numerical examples to illustrate the performance of the proposed scheme; Finally, in Section 6 we briefly conclude the paper.
2. Related work. In P2P networks resource allocation has gained widely attention in recent years and many interesting research results have been obtained, e.g., [21], [22], [25], [34], [35]. In this type of research incentive schemes are adopted as a means for encouraging each peer to cooperate with and serve other peers, because some peers may solely consume resources but contributing anything to the networks, which is known as the problem of free-riding. The main aim of incentive schemes is to foster peers' cooperation so as to improve overall performance of P2P networks such as reducing free-riding and achieving fairness among peers.
Meanwhile, there is also another type of research where peers are supposed to cooperate with each other. Economic issues are taken into account when managing limited resources in P2P networks [16], and pricing policy approach is used to assess the sustainability of the economic model [1][8] [12] [13]. This type of research is mainly motivated by the theory of microeconomics and then driven by the network utility maximization framework [5][10] which is proposed for reasonable resource allocation in IP networks, such as multipath networks [14] [15]. In recent years, some interesting research results for resource allocation in P2Ps have been obtained, e.g., [4], [7], [11], [13], [20]. In this form of research each peer is featured by a utility function which represents its perceived satisfaction for receiving a certain amount of resource (e.g., bandwidth). And the objective of the whole network is to maximize the social welfare, i.e., the sum of peers utilities. Thus the resource allocation for P2P networks is formulated as the network utility maximization problem. However, the objective function is concave but not strictly concave with respect to primal variables, resulting in nonuniqueness of the optimum to the utility maximization problem.
In this paper we investigate bandwidth allocation for P2P networks with a cooperative group of peers. That is, peers cooperate with each other to maximize total network utility and exchange the necessary information for their coordination. Peers are categorized into service providers that offer resources to others and service customers that request resources from providers. A customer can request services to several providers so as to obtain bandwidth allocation from them, meanwhile, a provider can offer its upload bandwidth to several customers simultaneously. This work is different from the research result aforementioned. The authors [14][15] proposed utility maximization for resource allocation in multipath networks, which can be realized by using multipath transfer protocols extended from the traditional TCP and its variations. In [4] the authors measured the quality of experience of the conferencing peer by a utility function and formulated the problem of utility maximization for P2P multiparty conferencing applications. Then in [13] the authors formulated a fair resource allocation model for P2P networks, and presented a novel price-based resource allocation scheme by applying the first order Lagrangian method and low-pass filtering scheme. However, they do not consider the complex case that the customers may discriminate bandwidth provision among different providers due to different service contents. The is the main motivation of our work and the objective to resolve.
We develop a coupled utility maximization model of bandwidth allocation with different fairness concepts for P2P file-sharing networks and analyze the optimization problem by Lagrangian method. The model is a non-strictly convex and nonseparable optimization problem. In order to resolve it, we apply the successive approximation method to approximate the original problem. We also develop a distributed algorithm which can converge to the global optimum of the approximation problem within a certain number of inner-iterations and analyze its performance through both mathematical analysis and numerical examples.

Model description.
3.1.1. Network architecture. Consider a P2P network consisting of a set of peers. Each one has some content as its disposal. The peers interact with each other for a certain time by requesting or allocating resources to each other. The P2P network is assumed to be static during the period of peer interaction and resource allocation, i.e., we do not consider the impact of churn due to peer arrivals or departures while peers interacting with each other.
In the P2P network, each peer is accessed to the backbone network by an access link with certain capacity. The backbone network is assumed to be of high enough capacity and it does not occur in-network congestion. In this paper we do not consider the impact of in-network schemes such as overlay routing. Then the access link of each peer becomes the performance bottleneck of this network. The scarce resources (e.g. upload bandwidth of a service providing peer) are divisible and any allocation can generate a benefit for a service requesting peer, thus competition between requesting peers appears and each selfish peer wants to maximize its own satisfaction. In this work we consider the case where upstream and downstream links are separate, e.g., ADSL link, and investigate the optimal bandwidth allocation of access links of service providing peers among requesting ones.
3.1.2. Requested and granted bandwidth. In the P2P network, introduce the providers set P of peers who provide services and resources and the customers set C of peers that request services and resources. A peer is a member of P or C if it provides or requests at least one service content, respectively. During the period of peer interaction and resource allocation the network is assumed to be static. Let the set of peers, which provide at least one service content to service customer c ∈ C, be the set of service providers P (c) of peer c, and the set of peers, which are provided content by service provider p ∈ P , be the set of service customers C(p) of peer p. Notice that p ∈ P (c) if and only if c ∈ C(p).
Each peer acting as service customer sends its service requests to several service providers. Each peer as service provider receives service requests from several customers and wants to serve them by offering them a certain amount of its upload bandwidth. Let the bandwidth granted by peer p to peer c be x pc , thus the aggregated bandwidth that service customer c receives from its providers is y c = p∈P (c) x pc , meanwhile the total bandwidth granted by service provider p to its customers is z p = c∈C(p) x pc . Recall that each peer is connected to the backbone network by an access link, therefore bandwidth allocation of each peer is constrained by its access link capacity. Denote C d i and C u i as the bandwidth of the downstream and upstream links of peer i, respectively. Then, for each peer c as service customer, y c ≤ C d c , and for each peer p as service provider, z p ≤ C u p .

Utility function.
Each peer c as service customer is characterized by a utility function U c (·) which quantifies its satisfaction for receiving certain amount of bandwidth from other peers. Specifically, service customer c receives a utility from its receiving bandwidth based on a rule of diminishing marginal returns, which is captured by a non-decreasing differentiable concave function U c (·) of the offered bandwidth from its providers. We are interested in the class of utility functions in the following form where w c is regarded as the willingness to pay of service customer c, and α is the parameter for achieving different fairness concepts. This class of utility functions have been widely used to characterize a large class of fairness concepts and extensively investigated in IP networks [5] [26]. Interestingly, the utility functions are also used to realize efficient resource allocation for virtual machine placement in cloud computing [27] and optimal pricing scheme in P2P networks [13].
(1) Throughput Maximization (TM) is obtained when the fairness parameter α → 0. The objective of resource allocation problem becomes It is a greedy optimization problem that favors customers with higher willingness to pay, but may leave customers with lower willingness to pay unserved.
(2) Proportional Fairness (PF) is achieved with α → 1. The objective of resource allocation problem is max This is a well-known variant of utility-based fairness for resource allocation in multipath networks [14][30] and P2P networks [13], and has been receiving increasing attention in recent years.
(3) Harmonic Mean Fairness (HMF) corresponds to α = 2. The objective is This variant of fairness is equivalent to the minimization of transmission delay for files and has also gained a lot of attention recently.
where m c is the resource threshold of service customer c. It aims at serving all service customers, but is constrained by the customers with lowest resource thresholds [24]. Indeed, Proportional Fair and Harmonic Mean Fair resource allocation objectives are trade-offs between Throughput Maximization and Max-Min Fair allocations.
3.3. Problem statement. We consider two options for the resource allocation in P2P file-sharing networks. They differ in whether the service customers can discriminate bandwidth provision among different providers. Fox example, each customer c has its own utility when it receives a certain amount of offered bandwidth from each one of its providers. Meanwhile, we also investigate the case where perceived satisfaction of customer c depends only on the aggregated bandwidth it receives from all its providers.
Option I. The satisfaction U c (·) of service customer c is separable. It depends on the amount of granted bandwidth x pc from service provider p separately. Thus the resource allocation model can be given as follows Option II. The utility function U c (·) of service customer c depends only on aggregated bandwidth granted from all its providers. That is, the customer does not differentiate among bandwidth offered by different providers. In this case, the resource allocation model can be summarized as The constraints indicate that the total download or upload rate of a peer must not exceed its access link capacity. We consider the following relaxed utility function which combines both fully uncoupled and coupled cases by applying a parameter ε ∈ [0, 1]. A larger ε indicates a more coupled problem. Particularly, when ε = 1, the problem becomes fully coupled. When ε = 0, the network actually treats each download from providers as a separate sub-customer with its own utility. In this paper we mainly consider the following primal problem The goal of this problem is to maximize the network-wide social welfare, namely the sum of peer (service customer) utilities, subject to the link capacity constraints

UTILITY MAXIMIZATION FOR BANDWIDTH ALLOCATION IN PEER-TO-PEER 1105
of each peer. From nonlinear programming theory [3], we have the following proposition Proposition 1. The resource allocation model (5) is a convex programming problem. If the coupling parameter ε satisfies 0 ≤ ε < 1, the optimal bandwidth allocation that each service provider p offers to its customers, i.e. x * pc , exists and is unique. And if ε = 1, the optimal bandwidth allocation x * pc is not unique. However, the optimal total bandwidth y * c that each customer c obtains is always unique. Proof. The constraints of the optimization problem (5) are linear and the constrain domain is a convex set. In addition, Thus, if 0 ≤ ε < 1, the Hessian matrix of the objective function with respect x pc is negative definition. This means the objective function is strictly concave with respect to variables x pc , resulting in uniqueness of the optimum. And if ε = 1, which corresponds to Fully Coupled case, the Hessian matrix is non-positive definition. Then, the objective is not strictly concave with respect to x pc , thus the optimum is not unique. Meanwhile, Thus, the objective is strictly concave with respect to y c , and the optimum y * c is unique. This theorem is completed. Now we consider the following relaxation-form optimization problem Here, link-capacity constraints in the Primal problem are removed by subtracting the objective to two penalty functions c∈C yc 0 φ c (σ)dσ where y c = p∈P (c) x pc and p∈P zp 0 ϕ p (σ)dσ where z p = c∈C(p) x pc . The penalty functions would be close to zero as y c ≤ C d c and z p ≤ C u p and increase to infinity as y c > C d c or z p > C u p . With these penalty functions, the relaxation optimization problem (6) is indeed equivalent to the primal problem (5) with explicit linear link-capacity constraints. We suppose that the price functions φ c (·) and ϕ p (·) are increasing and continuous. Then, where λ c ≥ 0 is considered as the price per unit bandwidth charged by the download access link of customer c; µ p ≥ 0 is regarded as the price charged by the upload access link of service provider p.
Then the objective function of the dual problem is where We can interpret the sub-problems (9)(10) from an economic point of view as follows.
In the sub-problem (9), each customer c attempts to maximize its own utility that depends on the aggregated bandwidth y c = p∈P (c) x pc offered by its providers. At the same time, the customer has to pay a price for access links when it obtains granted bandwidth. Recall that λ c is the price per unit bandwidth charged by the download access link of customer c and µ p is the price charged by the upload access link of provider p, then λ c p∈P (c) x pc + p∈P (c) µ p x pc is the total cost customer c should pay for received bandwidth. Therefore, in the optimization sub-problem (9), each customer does not differentiate among bandwidth allocation from its providers and the objective is to maximize its own overall profit.
As for the sub-problem (10), each customer c differentiates among bandwidth allocation from providers and has its own utility when it receives granted bandwidth x pc from its provider p. Thus in this optimization sub-problem each customer is to maximize its own profit separately when it obtains certain amount of bandwidth from each one of its providers.
Hence, the dual problem is The primal problem (5) is to maximize the aggregated utility of service customers with the constraints of access links' capacities. The dual problem above is modeled as an optimization problem with prices charged by access links, which is to minimize the total network price under the constraints that customers are guaranteed with certain levels of satisfaction. The dual problem is a convex optimization problem since the objective is convex with respect to price variables. Let U * and D * be the optimal objective values of primal problem (5) and its dual problem (11), respectively. Notice that the constraints are all linear and the utility functions are

UTILITY MAXIMIZATION FOR BANDWIDTH ALLOCATION IN PEER-TO-PEER 1107
concave, then from nonlinear programming theory [3] the strong duality holds and the dual gap is zero, i.e., U * = D * .

4.2.
Decoupling the coupled utilities. In this part our aim is to develop distributed iterative algorithm to solve the Primal problem. It can be observed first that there exists coupling in the objective functions as well as the constraints. In order to decouple peer utilities, we adopt a modified successive approximation approach to investigate the Primal problem. The gradient-based update scheme is then used for resolving the approximation problems. Now following Jensen's inequality, we derive an equation to approximate the fully coupled term in the objective of Primal problem, and obtain the following result.
The equality holds if and only if Following Lemma 4.1, we approximate the relaxed utility function U c (x c ) as the following which is a function of x c parameterized by ξ c . And the approximate optimization problem is We can also obtain the relaxation-form of the above approximate optimization problem The Lagrangian for the approximate optimization (15) is Now the Lagrangian (17) is separable in x pc , and the gradient projection method can be applied to solve the approximate optimization problem (15). Note that U c (x c , ξ c ) indeed consists of a series of approximations when choosing different values of ξ c . Given an initial value of ξ c , the solution to Approximate problem (15) is a suboptimal solution to Primal problem (5). Then, ξ c is updated by (13) after substituting the suboptimal solution. With a new value ξ c , the corresponding new approximate optimization is solved. After a sequence of approximations, the solutions to Approximate problem (15) converge to the optimal solution to Primal problem (5). In next subsection, we will present a distributed resource allocation scheme, which can converge to the global optimum of Primal problem.

Distributed algorithm.
We adopt the gradient projection method to solve Approximate problem (15) and propose the following distributed primal-dual algorithm to achieve the optimum, which only depends on locally available information of each peer and its access link.
Each service provider p updates its bandwidth allocation x pc (t) for customer c with the following primal algorithm where κ > 0 is the small step size, and [a] + = a when a > 0, otherwise it is 0. Substituting the utility function (1) into (18), then the bandwidth allocation algorithm becomes Each service customer c updates its access link price λ c (t) with the following dual algorithm based on the gradient projection method x pc (t) (21) and each service provider p updates its link price µ p (t) with the following dual algorithm where γ > 0 and ν > 0 are the small step sizes.
In the proposed resource allocation scheme above, service provider p observes the total granted bandwidth z p (t) that it offers to its customers, and updates its upload link price µ p (t + 1) with the rule of (22). At the same time, service customer c observes the aggregated bandwidth y c (t) that it receives from its providers, and updates its download link price λ c (t + 1) according to (20). Here, the link price update schemes reflect the law of supply-demand for bandwidth on the physical access links. For example, if the total load on the access link of service customer c exceeds its downstream capability C d c , the price charged by the access link, i.e., λ c (t), would increase according to (20). Then the updated price λ c (t + 1) is sent to and observed by service providers that apply it to update their further bandwidth allocations for customer c, which is described by bandwidth allocation scheme (19). Therefore, service provider p adopts this mechanism to balance service requests from competing customers and encourages them requesting bandwidth from those providers that are less loaded. The iteration rule (18)-(23) for solving Approximate problem (15) is a scaled gradient algorithm and only depends on locally available information, e.g., the price variables λ c (t) and µ p (t) charged by the access links of peers are regulated through their own total load.

Convergence.
Recall that Approximate problem (15) consists of a series of approximations. Each approximation problem is identified by a set of parameters ξ c . Then, choosing an appropriate value of ξ = (ξ 1 , ξ 2 , . . . , ξ c ), we can obtain the optimum of the corresponding approximation problem by running the bandwidth allocation rule above many times until convergence. Our aim is to guarantee that the approximation problems become exact where the equality (13) holds. Then the updates procedure consists of two parts: inner-iterations with bandwidth allocation updates (18)-(23) and outer-iterations with parameters ξ pc updates (13). Thus, the bandwidth allocation algorithm for P2P file-sharing networks can be summarized by the following pseudocode which is shown in Figure 1. The algorithm presents a modification of the canonical successive approximation approach where the number of inner-iterations is limited to a certain value T . In this bandwidth allocation scheme, the value in the last inner-iteration of the previous outer-iteration is the initial value in the next outer-iteration (Step 4). To solve the new approximate optimization, ξ pc is computed according to the bandwidth allocation in the last iteration of the previous outer-iteration (Step 5). For this algorithm, we can obtain the following result. Proposition 2. If the coupling parameter ε satisfies 0 ≤ ε < 1 and the step sizes κ, γ, ν are sufficiently small, then the bandwidth allocation algorithm (18)-(23) with equality (13) can converge to the unique global optimum of Primal problem (5).
Proof. The utility function (1) is concave and twice continuously differentiable for all service customers, and φ c (·), ϕ p (·) are both increasing and continuous. Thus, given a value of ξ the function V (x, ξ) is also concave and twice continuously differentiable. There exists a constant L such that ||∇ V (x, ξ) − ∇ V (y, ξ)|| ≤ L||x − y||, where x and y are bounded. The gradient-based bandwidth allocation scheme (18) does not decrease the objective of the Approximate problem in each inner-iteration [3].
If the step size satisfies 0 < κ < 2/L, the following inequalities hold where the equality is satisfied by replacing ξ k pc with and x k (0) with x k−1 (T ), the first inequality is obtained by summing T inequalities (24) when t = 0, 1, . . . , T − 1 and the last inequality holds because of (12). The sequence V (x k (T )) is non-decreasing and bounded since x is bounded. Hence, the sequence V (x k (T )) converges as k → ∞. From (25) we can also obtain ||x k (t + 1) − x k (t)|| 2 → 0 as k → ∞ for t = 0, 1, . . . , T − 1. Let x * be any limit point, i.e., there exists a subsequence which satisfies x kn (T ) → x * as n → ∞. Since ||x kn (t + 1) − x kn (t)|| 2 → 0 as n → ∞ for t = 0, 1, . . . , T − 1, the limit point x * is also a stationary point of the gradient-based bandwidth allocation scheme (18). Then we obtain ∇ V (x * , ξ * ) = 0 where ξ * pc is the limit point of Then we can deduce the following result If 0 ≤ ε < 1, V (x) is strictly concave with respect to x. Hence, x * is the unique global optimum to the Primal problem.

UTILITY MAXIMIZATION FOR BANDWIDTH ALLOCATION IN PEER-TO-PEER 1111
Thus, if we choose appropriate step sizes, the proposed algorithm can converge to the global optimum of the Primal problem within reasonable iteration times. In next section we will present simulation results to illustrate the convergence of this algorithm.

Numerical examples.
5.1. Network and algorithm description. In this part we evaluate the performance of the proposed bandwidth allocation algorithm. Firstly we consider a simple P2P network consisting of five peers with three customers and two providers. In this network suppose there is only one type of service (i.e., file-sharing and download), and each peer interacts with others for requesting or allocation bandwidth. The upstream capacity of access links of peers as providers is C u = (C u 1 , C u 2 )= (12,20)Mbps, and the downstream capacity of access links of peers as customers is (15,10,10)Mbps. The willingness to pay of customers is assumed to be w = (w 1 , w 2 , w 3 )= (20,15,10). In the bandwidth allocation scheme the step sizes are κ = 0.5, γ = ν = 0.2, and the initial bandwidth allocation from each provider to its customers is x pc =0.5Mbps.

Inner iterations (T ).
Firstly, we investigate the convergence of the proposed algorithm and the influence of the number of inner iterations T on the convergence time. The algorithm is considered stationary when the difference between two resource allocation x does not exceed 0.1% of the later value.
We consider the fully coupled model (ε = 1) and analyze the proportional fairness among competing customers. Figure 2 depicts the total number of iterations for the convergence of the proposed algorithm as T increases gradually. Obviously, the convergence time increases as T increases, but not proportionally to T . Higher T indicates more computations of inner iteration of the algorithm and a longer convergence time. In the following analysis, we choose T = 100. Convergence. Now we study the convergence of the resource allocation scheme and investigate the effects of ε on the performance of the algorithm. Figures 3, 4, and 5 show the behaviors of the proposed algorithm as ε = 1, ε = 0 and ε = 0.5, which demonstrate Fully Coupled, Uncoupled, and Half Coupled cases, respectively. The algorithm is illustrated to be gradually driven to a steady state where the optimal bandwidth allocation for service customers is achieved within reasonable iterations. This result agrees with the theoretical analysis. Here, customer c 1 obtains twice the total bandwidth than customer c 3 , which is consistent with the ratios of their willingness to pay variables. Thus, the proportional fairness for bandwidth allocation among requesting customers is realized. We also observe that the utilization of the access link of each provider is approximately 100% since each customer tries to fully use the bandwidth of providers so as to maximize its own utility.  Tables 1, 2 and 3 list the optimums obtained by the proposed algorithm as ε = 1, ε = 0 and ε = 0.5, respectively, and the optimal solutions resolved by nonlinear programming software LINGO. Recall that each customer can request resources from several providers simultaneously. Thus, in Fully Coupled case which is shown in Table 1, the objective is not strictly concave respect to x pc and the optimal bandwidth allocation for customers is not necessarily unique. Meanwhile, we also observe from Tables 2 and 3 that the optimal bandwidth allocation x * pc of each customer c is unique, which has been justified in Proposition 1. Figure 6 shows the optimal resource allocation for customers obtained by the algorithm and LINGO. Interestingly, for each customer, the total granted bandwidth is unique due

UTILITY MAXIMIZATION FOR BANDWIDTH ALLOCATION IN PEER-TO-PEER 1113
to the strict concavity of the objective with respect to y c and only depends on the willingness to pay of this customer, which has also been discussed in Proposition Figure 6. Optimal resource allocation obtained by the algorithm in three cases and LINGO greedy resource allocation with optimum y * = (y * 1 , y * 2 , y * 3 )=(15,10,7)Mbps. It favors customers with higher willingness to pay, and leaves customers with lower willingness to pay unserved. HMF algorithm shows the least case with optimum (12.8873,10,9.1127)Mbps. PF algorithm is a trade-off between them with optimum (14.6667,10,7.3333)Mbps. It achieves the optimal resource allocation which is consistent with the ratios of customers' willingness to pay variables. In this part we investigate the performance of the proposed bandwidth allocation algorithm in large scale networks with different number of peers (service providers P and customers C). The upstream capacity of access links of peers as service providers are all assumed to be 20Mbps, and the downstream capacity of access links of service customers are all 30Mbps. The willingness to pay of customers are all supposed to be 10. Here we only consider the Half Coupled case, i.e., ε = 0.5, and illustrate the impact of peer numbers on the performance of the proposed scheme in Figure 8, which depicts the evolution of overall utility with different number of peers. Interestingly, we find that the size of network (i.e., number of peers) does not obviously affect the convergence of the proposed scheme. As shown in Figure 8, in all cases the overall network-wide utility increases with the number of network peers, however, the optimal objective can be achieved within almost the same time of iterations (e.g., 100 iterations). This result is rather expected. The bandwidth allocation scheme is distributed and synchronously operated, and different peers run the separate iterations in parallel to achieve optimization. Thus the number of peers does not influence the convergence time obviously. Essentially, the proposed scheme applies the gradient projection method, thus the convergence speed mainly relies on step sizes other than the number of peers.

6.
Conclusions. In today's Internet-based social communities, P2P networks offer a popular, cheap, and effective way to distribute content, and have many advantages such as scalability, resilience, and effectiveness in coping with dynamics and heterogeneity. In this paper we considered fair bandwidth allocation in P2P filesharing networks where access links are the performance bottleneck, and formulated a network-wide utility maximization model that combines both fully coupled and uncoupled cases by adopting an adjustable parameter ε. The resource allocation model is difficult to resolve in a distributed fashion since it is a non-strictly convex and non-separable optimization problem (the objective includes coupled utility functions). We applied a modified successive approximation approach to approximate the model and presented a distributed primal-dual bandwidth allocation scheme to solve the approximation problem. With a certain number of inner-iterations, the algorithm could converge to the global optimum of the primal bandwidth allocation