A Novel Peer Grouping Scheme for P2P File Distribution Networks

1 downloads 19878 Views 148KB Size Report
RELATED WORK. Previous studies on P2P file distribution networks are based ... The goal of content distribution is to allow all leechers to obtain the whole file.
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

A Peer Grouping Scheme for P2P File Distribution Networks Ma Lingjun

Wang Xiaolei

King-Shan Lui

Department of Electrical and Electronic Engineering The University of Hong Kong Hong Kong SAR, China Email: [email protected]

College of Information Science and Engineering Zhejiang University Zhejiang, China Email: [email protected]

Department of Electrical and Electronic Engineering The University of Hong Kong Hong Kong SAR, China Email: [email protected]

Abstract—Peer-to-Peer networks leverage the upload bandwidth of leechers, which results in a significant improvement of scalability over that of client-server networks. Numerous P2P applications serve as overlay networks for file distribution. In evaluating the performance of such systems, file distribution time is an important metric. Based on fluid models, scheduling algorithms that allow files to be downloaded in a minimum time have been developed. To further improve the system performance, our objective is to reduce the leechers’ average download time while maintaining the minimum download time. A grouping scheme is presented based on the bandwidth characteristics of the network. According to this optimization objective, we identify cases where it is beneficial to apply the grouping strategy. Simulation results show that applying grouping schemes in suitable cases brings in significant performance improvement over a wide range of networks of varying bandwidth characteristics.

I. I NTRODUCTION Peer-to-Peer (P2P) network receives the attention from both the academia and the industry. P2P networks are largely employed as overlay networks for file distribution. Typical applications abound, including BitTorrent[1], PPLive[2], etc. In BitTorrent, the servers are referred to seeds and the receiving nodes are referred to leechers. P2P networks leverage the upload capacity of leechers, such that each of them acts the dual role of a client and server. This enables the scalability of P2P networks as the number of participating nodes increases. How to evaluate the performance of a P2P network as it is engaged in file distribution? This is a fundamental problem in P2P research. Previous work addressed this question in terms of file distribution time. Biersack et. al develop analytic models that provide insights into how long it takes to deliver a file to a number of clients[3]. Bharambe et. al adopt file distribution time, among other important metrics in evaluating the impact of BitTorrent’s core mechanisms on system performance[4]. To reduce the file distribution time, file scheduling is a common method and there have been a few studies on this topic, including [5],[6],[7],[8]. In addition, to cope with the difficulty of scheduling when the network scale is large, network coding is employed, which encodes a file into a linear combination of blocks. Under this mechanism, a peer can recover the original file after it receives enough blocks. [9] shows the improvement of distribution time by

2-3 times in several simulation scenarios. However, network coding also has weaknesses. A peer may need to spend a huge amount of time on decoding data it receives. In reality, the topology of a P2P network is changing and peers may leave the network any time they want, which makes the P2P file distribution networks achieve nowhere near the ideal system capacity. Network coding may not really help in P2P file distribution[10]. Based on the fluid model, Kumar and Ross develop the optimal file distribution scheme in [5], which can achieve the minimum distribution time. In their scheme, all leechers complete their downloads at the same time. Note that the minimum download time needed for a leecher is related to its download capacity. The smaller the capacity, the longer time it takes. If there are some leechers with extremely limited download capacity, the negative effect of the optimal file distribution scheduling is obvious: other leechers have to take a long time to complete their downloads. We refer to those leechers with extremely limited download capacity as slow leechers, and other leechers as average leechers. An average leecher may complete the file download in a shorter time, if it is engaged in file distribution with seeds and other average leechers only. For this reason, we believe the file download time can be further reduced by grouping seeds and leechers appropriately. While peers within the same group can exchange file bits with each other, there exists no inter-group communication. As a result, the complexity of network structure reduces, which makes it easier to perform node management. II. R ELATED W ORK Previous studies on P2P file distribution networks are based on two major models: the chunk model and the fluid model. In the chunk model, files are first chopped into pieces of equal size and the subsequent distribution happens in pieces. That is, a peer will not distribute a piece until it has fully received that piece. As opposed to the chunk model, it is assumed in the fluid model that a peer can distribute a bit once it has received that bit. Due to the discreet nature of file distribution under the assumption of the chunk model, the minimum distribution time in closed forms are generally not available. For some simple

978-1-4244-2075-9/08/$25.00 ©2008 IEEE

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

cases, Mundinger et. al provide a closed form expression for the minimum distribution time in [6]. They assume all peers have the same upload capacities and every peer has infinite download bandwidth, which deviates far from the general situation. Sanghav et. al[11] also study the file distribution based on the chunk model. In their model, a single source has a file of k pieces, which is ready to distribute to n users. They assume file distribution happens in slots and a user can upload at most one piece in each slot. An optimal, unrealistic centralized protocol is designed and it would take k + log2 n slots to complete the file distribution. Kumar and Ross in [5] analyze the minimum downloading time of a fluid heterogeneous file distribution system and design scheduling algorithms to achieve the minimum downloading time. They derive the first closed form expression of the minimum download time derived from a fluid model, which offers some insights into the effect of network bandwidth on the system performance in regard of the minimum download time. As mentioned in Section I, applying the scheduling algorithms in [5] all leechers complete their downloads at the same time. This is not favorable for overall system performance, when there are slow leechers in presence. This problem is partly solved by the same authors in [12]. They design a differentiated service mechanism which divides nodes into the first class and the second class. This mechanism ensures leechers in the first class finish downloads in a significantly shorter time. It nevertheless brings in unfavorable conditions for leechers in the second class. The download time of those in the second class is prolonged, which to some extent may not be able to meet their service requirements. In view of this, our aim is to enable, if possible, some leechers to finish downloads faster without affecting the download time of other peers significantly. A novel grouping scheme is conceived. By grouping seeds and leechers appropriately, the average download time can be improved without sacrificing the download time of any leecher. The rest of this paper is organized as follows. A formal problem description is given in Section III. Before explaining our grouping scheme in detail, Section IV identifies situations where grouping does not bring in benefits. Section V describes our grouping protocols. Performance evaluation of the grouping protocols is given in Section VI. We conclude the whole paper in Section VII. III. P ROBLEM D ESCRIPTION In this section, we formally define our problem. We first define the notations. We denote the set of seeds as S and the set of leechers as L. The upload and download bandwidth of a seed/leecher x are denoted as u(x) and d(x), respectively. The minimum download bandwidth of the leechers in a leecher set L L is dL min . That is, dmin = min{d(l)|l ∈ L}. We further define u(S) to be the total upload bandwidth of all seeds in S and u(L) to be the total  leechers  upload bandwidth of all in L. Formally, u(S) = s∈S u(s) and u(L) = l∈L u(l). Refer to the example seed set (S) and leecher set (L) in Tables

I and II. We have dL min = 100Kbps, u(S) = 4100Kbps, and u(L) = 3025Kbps. The goal of content distribution is to allow all leechers to obtain the whole file. A scheduling algorithm governs how the seeds and leechers work together to distribute the file. Every leecher takes a certain amount of time to get the whole file. We denote the download time of leecher l as T (l). The download time of the leechers in L is max{T (l)|l ∈ L}. We write T (S, L, F ) to be the download time of the leechers in L given the seed set S for downloading a file of size F . Kumar and Ross studied how to minimize T (S, L, F )[5]. Based on the fluid model, the minimum download time Tmin (S, L, F ) is as follows: Tmin (S, L, F ) = max{

|L|F F F , }. , u(L) + u(S) u(S) dL min

(1)

The authors also developed a scheduling algorithm that allows every leecher to obtain the whole file in Tmin (S, L, F ) amount of time. That is, every leecher finishes downloading at the same time and the time it takes is minimal. If we define the  average download time (Tavg (S, L, F )) of leechers in L T (l) , the algorithm developed by Kumar and Ross as l∈L |L| yields Tavg = Tmin 1 . Refer to our example, if F = 300M, Tmin = Tavg = 3000s. Every leecher in Table II takes 3000s TABLE I U PLOAD BANDWIDTH OF S EEDS

Seed u(si )/Kbps

1 20

2 180

3 400

4 500

5 1000

6 2000

TABLE II U PLOAD AND D OWNLOAD BANDWIDTH OF L EECHERS

Leecher u(li )/Kbps d(li )/Kbps Leecher u(li )/Kbps d(li )/Kbps

1 50 100 6 250 1000

2 75 225 7 300 1200

3 100 400 8 400 1500

4 150 600 9 500 2500

5 200 800 10 1000 4000

to download the file under the algorithm of Kumar and Ross. However, it is definitely not the best for individual leechers. For example, if Seed 3 sends the whole file to Leecher 3, Leecher 3 takes only 750s. Of course, if we do that, we may make other leechers take more time to finish. Is it possible to reduce the download time of individual leechers without prolonging the time for the last leecher to finish? That is, is it possible to reduce Tavg (S, L) while maintaining T (S, L) to be Tmin (S, L)? We found that if we divide the seeds and the leechers into different groups and a node can only communicate with the nodes in the same group, it is possible to reduce Tavg . To illustate, consider we divide our example seed set and leecher set as in Figure 1. We denote the seeds 1 We write T min (S, L, F ) and Tavg (S, L, F ) as Tmin and Tavg when the context is clear. In the rest of the paper, F will be omitted in the notation for simplicity.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

as si where 1 ≤ i ≤ |S| and the leechers as li where 1 ≤ i ≤ |L|. Group 1 consists of seed set S5 = {s6 } and leecher set L5 = {l5 , l6 , l7 , l8 , l9 , l10 }. If we apply the algorithm in [5], T (S5 , L5 ) = 387.1s. The minimum download time of other groups are shown in the figure. It can be observed that max{T (l)|l ∈ L} under this grouping arrangement is still 3000s. However, the average download time of the leechers is only 790.56s.

= max{

If we want to achieve Tgroup (S, L) ≤ Tmin (S, L), we need i |F to have LFi , u(L|L , F to be equal to or less than i )+u(Si ) u(Si ) dmin

Tmin (S, L). According to Eq.(1), we extend our discussion in the following three cases. Case A:Tmin (S, L) = |L|F/(u(L) + u(S)). The download time with grouping is Tgroup (S, L) = max{Tmin (Si , Li )|i = 1, 2, . . . , K}. We prove below Tgroup (S, L) ≥ Tmin (S, L). Proof : Tmin (S, L)

Tmin(S1,L1)=3000s l1 s2

s1 l2

l6

s3

s6

Tmin(S2,L2)=1333s

l9



l8 l10

≤ =

Tmin(S5,L5)=387.1s s4 l3

s5 Tmin(S4,L4)=500s

|L|F/(u(L) + u(S)) K i=1 |Li |F K i=1 (u(Si ) + u(Li ))   |Li |F |i = 1, 2, . . . , K max u(Si ) + u(Li ) max {Tmin (Si , Li )|i = 1, 2, . . . , K} Tgroup (S, L).

Tavg(S, L)=790.56s

l4

Tmin(S3,L3)=750s

Fig. 1.

= =

l5 l7

|Li |F F F , |1 ≤ i ≤ K}. , i u(L ) + u(S ) u(S i i i) dL min

A Grouping Scheme Applied to Re-organize the System.

The result implies that it is not beneficial to apply grouping if Tmin (S, L) = |L|F/(u(L) + u(S)). Case B: Tmin = F/u(S). We prove below Tgroup (S, L) > Tmin (S, L). Proof : As F/u(Si ) > F/u(S) ∀i

In this paper, we study how to divide the seeds and leechers into different groups so that the average download time among leechers can be reduced without sacrificing the download time of the system. Formally, we want to divide S and L into K (K > 0) subsets in a way that the following conditions are satisfied: 1) The subsets of S are S1 , S2 , ..., SK where Si ∩ Sj = ∅ if i = j and ∪1≤i≤K Si = S. 2) The subsets of L are L1 , L2 , ..., LK where Li ∩ Lj = ∅ if i = j and ∪1≤i≤K Li = L. 3) Tmin (Si , Li ) ≤Tmin (S, L) ∀ i K |L |·T (S ,L ) 4) Tavg (S, L) = i=1 i |L|min i i < Tmin (S, L) Conditions (1) and (2) imply that nodes can only share file with nodes within the same group. Condition (3) ensures the download time after grouping is as fast as without the grouping. Condition (4) indicates the improvement over average download time among leechers. IV. W HEN SHOULD WE APPLY GROUPING ? As illustrated in Section II, grouping looks promising in reducing the average download time of leechers in L. However, it is not always true. In this section, we identify situations where grouping is not suitable. Assume we divide the seeds and leechers into K groups where K ≥ 2. Employing the scheduling algorithms in [5], we have Tmin (Si , Li ) = max{

F i dL min

,

|Li |F F , }, u(Li ) + u(Si ) u(Si )

for i = 1, 2, . . . , K. Denote by Tgroup (S, L) the download time with grouping. Tgroup (S, L) = max{Tmin (Si , Li )|1 ≤ i ≤ K}

we have Therefore,

Tmin (Si , Li ) > Tmin (S, L). Tgroup (S, L) > Tmin (S, L),

which indicates grouping does not apply in situations where Tmin = F/u(S). Case C: Tmin = F/dL min . This is the situation of the example presented. Therefore, it is possible to reduce the average download time via grouping. We assume there exists a grouping scheme which divides the seeds and leechers into K groups. To maintain the minimum download time to be Tmin (S, L), we need to make sure each group’s minimum download time does not exceed F/dL min . Therefore, for a grouping scheme to be valid, it should ensure u(Si ) ≥ dL min ∀Gi , where Gi = Si ∪ Li . We ask whether there exists such a valid grouping scheme and formally define the problem as follows: Problem 0 Given an M-element set S ⊂ R+ and d > 0, we ask whether there exists a partition P such that it divides S into an arbitrary  number of K(K ≥ 2) subsets S1 , S2 , . . . , SK , where x∈Si x ≥ d for i = 1, 2, . . . , K? Assume S is a sorted set, the M elements of which follow s1 ≤ s2 ≤ . . . ≤ sM . When sM ≥ sM −1 ≥ d or sM ≥ d ≥ sM −1 , Problem 0 is trivial. When d ≥ sM ≥ sM −1 , however, we prove below that the partition problem is NP-Complete. Proof :We first define another problem on set partition: Problem 1 Given an M-element set S ⊂ R+ and d > 0, we ask whether there exists a partitionP such that it divides S into two subsets S1 and S2 , where x∈Si x ≥ d for i = 1, 2? Problem  1 can  be reduced to Problem 0. In Problem 1, if x , we need to find two subset S1 and S2 such d = 12 x∈S

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

  that x∈S1 x = x∈S2 x. Refer to the well-known set-partition problem[13]. In the set-partition problem, given a set S of numbers, we ask whether the numbers can  into two sets A and be partitioned A¯ = S − A such that x∈A x = x∈A¯ x. Obviously, any instance of the set-partition problem can be rephrased as an instance of Problem 1. As the set-partition problem can be reduced to Problem 1, we come to the conclusion that both Problem 1 and Problem 0 are NP-complete. The NP-completeness of Problem 0 implies that partitioning the seeds and leechers is not a trivial problem. In our protocol, which will be described shortly, we employ heuristics to group the nodes to make sure our mechanism would not prolong the minimum download time. Algorithm 1 Seed Grouping input:upload bandwidth of M seeds, which follows u(s1 ) ≤ u(s2 ) ≤ . . . ≤ u(sM ); output:grouping scheme for seeds; 1: Place M seeds into M groups G1 , G2 , . . . , GM , such that si is in Gi ; 2: K ← M ; 3: while dL min > u(G1 ) and K > 1 do  4: merge G1 and G2 to form G1 ;  5: Re-sort G1 , G3 , . . . , GK−1 , GK in the ascending order of upload bandwidth of seeds; 6: Denote the re-sorted groups by G1 , G2 , . . . , GK−1 ; 7: K ← K − 1; 8: end while 9: if K = 1 then 10: seed grouping scheme not available 11: else 12: output grouping scheme for seeds 13: end if

V. G ROUPING P ROTOCOLS Due to the intricacies involved in grouping, we design the protocols in two phases. That is, the seed grouping and the leecher grouping. A. Seed Grouping Due to the NP-completeness proved in Section III, we developed an approximation algorithm(Algorithm 1) to perform the grouping of seeds. Algorithm 1 partitions, if possible, seeds into K(K ≥ 2) groups, such that the total upload bandwidth of seeds in each group is no less than dL min . We apply Algorithm 1 to perform the grouping of seeds in Table I. Initially six seeds s1 , s2 , . . . , s6 are placed into six groups G1 , G2 , . . . , G6 , respectively. From Table II, we know that dL min = 100Kbps. We start from G1 , which is the group with the minimum upload bandwidth. Since u(G1 ) < dL min ,   we merge G1 and G2 to form G1 . Re-sort G1 , G3 , . . . , G6 in the ascending order of their upload bandwidth. Denote the resorted groups by G1 , G2 , . . . , G5 . Check the upload bandwidth of G1 , which is 200Kbps. u(G1 ) > dL min indicates there is no need to do further grouping. Algorithm 1 divides s1 , s2 , . . . , s6 into five groups, such that G1 = {s1 , s2 }, G2 = {s3 }, G3 = {s4 }, G4 = {s5 }, and G5 = {s6 }. This constitutes the seed grouping scheme for seeds in Table 1. The time complexity of Algorithm 1 is O(|S|log|S|) when a heap is used to keep the sorted upload bandwidth.

Algorithm 2 Greedy Leecher Grouping input:upload bandwidth of N leechers, which follows u(l1 ) ≤ u(l2 ) ≤ . . . ≤ u(lN ); output:grouping scheme for leechers 1: for i=1 To N do 2: while K > 1 do 3: for j = 1 To K do 4: Calculate Tmin (Sj , Lj ∪ {li }); /*the minimum download time of Gj if li is assigned into Gj */ 5: end for 6: M in ← Tmin (S, L);/*the minimum download time before grouping*/ 7: g ← 0; /*mark group number*/ 8: for j = 1 To K do 9: if M in > Tmin (Sj , Lj ∪ {li }) then 10: M in ← Tmin (Sj , Lj ∪ {li }); 11: g ← j; 12: end if 13: end for 14: if M in = Tmin (S, L) then 15: /*leecher i cannot be assigned into any of these K groups*/  16: Merge G1 and G2 to form G1 ;  17: Re-sort G1 , G3 , . . . , GK in the ascending order of total upload bandwidth of seeds; 18: Denote the re-sorted groups by G1 , G2 , . . . , GK−1 ; 19: K ← K − 1; 20: else 21: assign leecher i into Group g; 22: end; 23: end if 24: end while 25: if K = 1 then 26: grouping scheme not available; 27: end; 28: end if 29: end for 30: output grouping scheme for leechers

B. Greedy Leecher Grouping Assume K groups are derived from seed grouping. In this section, we discuss how to assign leechers into these K groups. A greedy leecher grouping protocol is designed. Starting from the leecher with the minimum upload bandwidth, Greedy Leecher Grouping assigns leechers one by one, in the ascending order of their upload bandwidth. Consider an arbitrary leecher l. Greedy Leecher Grouping ensures that leecher l is assigned into the group Gi such that the download time of l, which is Tmin (Si , Li ∪ {l}), is minimum. Assume L is a sorted set, which follows u(l1 ) ≤ u(l2 ) ≤ . . . ≤ u(lN ). Every time Greedy Leecher Grouping assigns a leecher l, it calculates Tmin (Si , Li ∪ {l}), which is the download time of l if it were assigned into Gi . Let M in be min{Tmin (Si , Li ∪ {l})|i = 1, 2, . . . , K} and Gj the group which follows M in = Tmin (Sj , Lj ∪ {l}). Greedy Leecher Grouping compares M in and Tmin (S, L). If M in ≤ Tmin (S, L), l is assigned into Gj . Otherwise, merge the two groups with the least upload bandwidth and recalculate M in. The merge operation continues until M in ≤ Tmin (S, L) or there is no more group to merge. Take the seeds and leechers in Tables I and II as an example. Starting from l1 , which is the leecher with the least upload bandwidth, M in = Tmin (S1 , L1 ∪ {l1 }) = Tmin (S2 , L2 ∪ {l1 }) = . . . = Tmin (S5 , L5 ∪ {l1 }) = 3000s. l1 is assigned into G1 . We go on to assign l2 . M in = Tmin (S2 , L2 ∪{l2 }) = Tmin (S3 , L3 ∪ {l2 }) = . . . = Tmin (S5 , L5 ∪ {l2 }) = 1333.3s. l2 is assigned into G2 . Finally, we assign l10 , which is the leecher with the greatest upload bandwidth. M in =

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the ICC 2008 proceedings.

20

No Grouping Random Grouping Greedy Grouping

10

Effect of Seed Number M

15

10

5

8 Performance Improvement Ratio p

Performance Improvement Ratio p

12 Performance Improvement Ratio p

Effect of Seed Number N

14

10

8

6

4

6

4

2 2

0

0 1

10

100

1000

0 0

2

4

6

8 10 12 Seed Number |S|

Dynamic Range

(a) Performance Comparison

14

16

(b) Effect of Seed Number M Fig. 2.

18

20

0

20

40

60

80 100 Seed Number |L|

120

140

160

(c) Effect of Leecher Number N

Simulation Results

Tmin (S5 , L5 ∪ {l5 }) = 387.1s. l5 is assigned into G5 . VI. P ERFORMANCE E VALUATION This section presents the simulation results of performance evaluation. In our simulation, we build a file distribution network of 5 seeds and 100 leechers. Upload bandwidth of seeds follows uniform distribution over [1M bps, 5M bps]. Download bandwidth of leechers follows uniform distribution over [50Kbps, 1M bps]. Upload bandwidth of leechers follows the uniform distribution over [p, q]. We define dynamic range as p/q and performance improvement as Tmin (S, L)/Tavg (S, L). p is set to 10Kbps. Three file distribution schemes are compared: (1) a file distribution scheme that employs scheduling algorithms in [5]; (2) a file distribution scheme that employs algorithms in [5], Algorithm 1 and the random leecher grouping(leechers are assigned to groups randomly); (3) a file distribution scheme that employs algorithms in [5], Algorithm 1 and the greedy leecher grouping. Fig. 2(a) shows the performance comparison of the three schemes over the variation of dynamic range from 1 to 1000. The effects of seed number M and leecher number N on performance improvement are also examined. In Fig. 2(b), we set leecher number to 100 and dynamic range to 100. Performance improves significantly when the number of seeds increases, which is consistent with our intuition. The leecher number N affects the second stage of our greedy grouping scheme, which is shown in Fig. 2(c). The effect of the leecher number on the system performance is similar to that of the seed number: the system performance improves following the increase in the number of leechers. VII. C ONCLUSION Peer-to-Peer content distribution networks have been largely employed for file distribution over the Internet. In evaluating such systems, file distribution time is an important performance metric. Previous efforts has been made on the design of file scheduling algorithms, which aims at minimizing file distribution time by fine-tuning the file exchange among participating peers. Based on a fluid model, we conceive a novel grouping scheme that takes into account the upload and download bandwidth characteristics of networks. Performance

evaluations are made over variations of dynamic range, the number of seeds, and the number of leechers, respectively. We find that in typical P2P applications where the seed number and leecher number are quite large, our greedy grouping scheme can result in satisfying performance. For this reason, we believe our novel grouping scheme opens a new dimension in the performance improvement of P2P file distribution systems. R EFERENCES [1] B. Cohen, “Incentives build robustness in bittorrent,” in First Workshop on Economics of Peer-to-Peer Systems, 2003. [2] PPLive Official Web Site, “http://www.pplive.com/en,” 2007. [3] E. W. Biersack, P. Rodriguez, and P. Felber, “Performance analysis of peer-to-peer networks for file distribution,” in the Fifth International Workshop on Quality of Future Internet Services (QofIS’04), 2004. [4] Ashwin R. Bharambe, Cormac Herley, and Venkata N. Padmanabhan, “Analyzing and improving a bittorrent network’s performance mechanisms,” in Infocom 2006, 2006. [5] R. Kumar and K. Ross, “Peer assisted file distribution: The minimum distribution time,” in IEEE Workshop on Hot Topics in Web Systems and Technologies, HOTWEB, 2006. [6] R. G. Mundinger, R. Webb, and G. Weiss, “Analysis of peer-to-peer file dissemination,” in Eighth Workshop on Mathematical Performance Modeling and Analysis(MAMA2006), 2006. [7] G. Mundinger, R. R. Webb, and G. Weiss, “Analysis of peer-to-peer file dissemination amongst users of different upload capacities,” in Performance 2005, 2005. [8] Jonathan S K Chan, Victor O K Li, and King-Shan Lui, “Performance comparison of scheduling algorithms for peer-to-peer collaborative file distribution,” IEEE Journal on Selected Areas in Communications, January 2007. [9] Christos Gkantsidis and Pablo Rodriguez Rodriguez, “Network coding for large scale content distribution,” in Infocom 2005, 2005. [10] DM Chiu, RW Yeung, JQ Huang, and B Fan, “Can network coding help in p2p networks,” in Second Workshop of Network coding, in conjunction with WiOpt, 2006. [11] S. Sanghavi, B. Hajek, and L. Massoulie, “Gossip with multiple messages,” in IEEE Infocom 2007, 2007. [12] Rakesh Kumar and Keith Ross, “Optimal peer-assisted file distribution: Single and multi-class problems,” http://photon.poly.edu/ rkumar04/ton.pdf, 2006, submitted. [13] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, MIT Press, second edition, 2002.

Suggest Documents