A Genetic-Algorithm-Based Neighbor-Selection Strategy ... - CiteSeerX

23 downloads 0 Views 99KB Size Report
Keywords: Peer-to-Peer Networks, Neighbor-Selection Strategy,. Genetic Algorithms ..... As mentioned before a good neighbor-selection strategy boosts content ...
A Genetic-Algorithm-Based Neighbor-Selection Strategy for Hybrid Peer-to-Peer Networks † School

Simon G. M. Koo† , C. S. George Lee† , Karthik Kannan‡ of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907 ‡ Krannet School of Management, Purdue University, West Lafayette, IN 47907 email:{koo, csglee, kkarthik}@purdue.edu

Abstract— BitTorrent is a popular, open-source, hybrid peer-to-peer content distribution system that is conducive for distribution of large-volume contents. In this paper, we propose a genetic-algorithm-based neighbor-selection strategy for hybrid peer-to-peer networks, which enhances the decision process performed at the tracker for transfer coordination. We also investigate how the strategy affects system throughput and distribution efficiency as well as peer contributions. We show through computer simulations that by increasing content availability to the clients from their immediate neighbors, it can significantly improve the system performance without trading off users’ satisfaction. The proposed strategy can significantly improve the efficiency of distribution, especially for low-connectivity peers, and it is suitable to deploy for online decisions. Keywords: Peer-to-Peer Networks, Neighbor-Selection Strategy, Genetic Algorithms, Overlay Networks, Content Distribution.

I. I NTRODUCTION Since the introduction of Napster in 1999, Peer-to-Peer (P2P) technology has changed the landscape of content sharing. Different P2P applications like Gnutella, KaZaA, eDonkey, WinMX, etc. have registered millions of users over the past years. These applications focus on the scalability and robustness of system and anonymity of users. They also provide efficient content search mechanisms for peers to easily locate the content they want in the networks. Although P2P technology can provide a low-cost and scalefree solution for content distribution, content providers, especially those who provide large-volume contents, are hesitated to use P2P for distribution and usually choose much more expensive solutions like CDN (Content Distribution Networks.) One of the reasons is that the aforementioned applications are primarily designed for sharing files like MP3 or images, which are a few MegaBytes in size. The search time is a key factor in distribution efficiency because transmission time is relatively short. However, for large-volume contents like multimedia documents or scientific data sets, the transmission time becomes increasingly critical for the system. Furthermore, most P2P applications are designed to enhance anonymity in file sharing, which makes it very difficult to track a list of users who have downloaded the content. So for content that requires subscription, P2P may not be a desirable choice due to its lack of functionality in accounting. BitTorrent (BT) [1], which was released in 2003, is one of the most popular P2P content distribution applications [2] that

have the potential to handle the above problem and serve as the agent for distribution of large-volume contents. In fact, Linux distributors – Debian and Mandrake – use BT for distributing their versions of Linux. BT is a hybrid P2P network [4] in which a central entity is necessary to provide parts of the network services. A “tracker” is the central entity in the system, whose major functions are to collect statistics and to coordinate P2P connections that enable peers to exchange pieces among themselves. In particular, a tracker replaces the content searching process by selecting a (partial) list of neighbors for peers who are downloading the same content, and allowing them to form an overlay network themselves. The key feature of BT that makes it conducive to distribute huge files is that BT divides the content into several pieces and allowing peers to exchange those pieces instead of the complete file. Such a mechanism has been demonstrated to improve the efficiency of P2P exchanges [3]. The intuition is that when content is broken into pieces for P2P exchange, it takes a shorter time before a peer begins to upload to its neighbors while simultaneously downloads from the community. Also, as specified in BT protocol, peers who do not upload their content pieces will be “snubbed” by others and will not receive any more content. Such properties reduce the existence of freeriders (by forcing everyone to contribute) and improve the overall system performance. In this paper we investigate the neighbor-selection problem in a hybrid P2P network. We model the peers as nodes in an undirected graph and try to determine the connections between them based on the proportion of contents one possesses, and the goal is to maximize the availability of content from the peers’ immediate neighbors. We propose a genetic-algorithmbased strategy to achieve this objective, and we validate from computer simulations that the proposed strategy performs better than the current random strategy used by BT, both in terms of system throughput and average downloading experienced by users. In particular, the proposed strategy improves the efficiency of distribution for peers with slow connections by better utilizing the resources contributed by high-connectivity peers. It should be noticed that although we studied BT in this paper, our results are also applicable to other hybrid P2P networks in general. The rest of the paper is organized as follows: We describe the operations of BT in Section II. The formulation of the neighbor-selection optimization problem and the description

of the genetic-algorithm approach are presented in Section III. The experimental setup and performance evaluation are described and discussed in Section IV. Finally, we summarize the conclusion and future direction of our work in Section V.

of BT client applications with different features are running a compatible protocol when communicating with the tracker, we choose to focus on improving the existing implementation.

II. O PERATION OF B IT T ORRENT N ETWORKS

In a BT network, as in any other P2P networks, we have no control over each peer’s behavior, and therefore it is difficult if not impossible to implement an entirely optimal neighborselection strategy at the tracker. However, as discussed in Section II, BT has an incentive-compatible mechanism to encourage peers to share their capacity, so we can assume the uplink throughput of a peer in BT is limited only by the following two factors: content availability and physical connectivity limitation. Intuitively, it is desirable to select peers with the most mutually disjoint collection of content pieces as neighbors so that it can assure maximum content availability and improve the overall throughput of the system. We model the problem using an undirected graph and try to determine the connections between the nodes (i.e., peers).

A typical BT network involves the following components: a tracker, some peers, and one or more “seeder(s)” that contains the entire content. The information about the tracker and the content – where the “tracker” is located and the how the content is broken into pieces – is put in an encoded form in a “.torrent” file. This .torrent file needs to be downloaded from the content provider’s websites (or other third party sites that promote the content) before downloading the actual content. This file contains the URL(s) of the tracker and hash information for the pieces, which will be used to verify the integrity of the content. Peers will use the information in the .torrent file to check the content pieces they have downloaded. Seeder(s), analogous to “server” in a conventional clientserver model, has the entire content available for download. However, it will not be the supplier for most peers. Peers who have downloaded complete pieces of the content will assist the distribution process by uploading the pieces they have to other peers in the system, and that will significantly reduce the load of the seeder(s). When a client first joins the network, it will contact the tracker and register itself (step 1). The tracker will then make a decision and select a subset of peers in the network that are also downloading the content (step 2), and return the selection to the client as its neighbors (step 3). After receiving the list, the client will contact its neighbors directly without involving the tracker, and upload/download to and from each other (step 4). Peers in the network will refresh their neighbor list by repeating steps 1 to 3 periodically. The behavior of BT peers in step 4 is interesting and will be relevant to our discussion. Every few seconds, each peer analyzes the average downloading rate that it has experienced from its neighbors. Based on this, it decides which neighbors it wants to prohibit uploading data to (called “choking”.) This “titfor-tat” mechanism dissuades free-riding. In addition, a peer performs ”optimistic unchoking”, that is, it unchokes (allows uploading to) one of its neighbors, regardless of the neighbor’s download rate. This process is rotated among the neighbors every few seconds. In the current version of BT, each peer provides the tracker with the total number of bytes downloaded thus far when it requests a list of neighbors. Although this information is currently used only for the purpose of generating statistics, we intend to use it for our decision process as well. Clearly, a system where each peer periodically reports an updated list of content pieces in their inventory is feasible and may even lead to a better neighbor-selection strategy. But, such a system obviously will load the tracker excessively and scalability will become an issue. For this reason, we choose to use only the total number of bytes downloaded in our decision process. Furthermore, given that numerous versions

III. P ROPOSED N EIGHBOR -S ELECTION S TRATEGY

A. Problem Formulation Given a fixed number of N peers, we use a graph G = (V, E) to denote an overlay network, where the set of vertices V = {v1 , · · · , vN } represents the N peers and the set of edges E = {eij ∈ {0, 1} : i, j = 1, · · · , N } represents their connectivities: eij = 1 if peers i and j are connected, and eij = 0 otherwise. For an undirected graph, it is required that eij = eji for all i 6= j, and eij = eji = 0 when i = j. Let C be the entire collection of content pieces, and we denote {ci ⊆ C : i = 1, · · · , N } to be the collection of the content pieces each peer i has. We further assume that each peer i will be connected to a maximum of di neighbors, where di < N . We also define ǫij to be sets such that ǫij = C if eij = 1, and ǫij = φ (null set) otherwise. The disjointness of contents from peer i to peer j is denoted by ci \cj , ci \cj = ci − (ci ∩ cj ), (1) where ∩ denotes the intersection operation on sets. This disjointness can be interpreted as the collection of content pieces that peer i has but peer j does not. In other words, it denotes the pieces that peer i can upload to peer j. Moreover, the disjointness operation is not commutative. We also denote |ci \cj | to be the cardinality of ci \cj , which is the number of content pieces peer i can contribute to peer j. In order to maximize the disjointness of content pieces, we want to maximize the number of content pieces each peer can contribute to its neighbors by determining the connections eij ’s. Therefore we have the following optimization problem: N N [ X (A) max {(ci \cj ) ∩ ǫij } E j=1 i=1

subject to

N X j=1

eij ≤ di

for all i

where ∪ denotes the union operation on sets. This union operation requires additional manipulations and simplification in order to be used as the performance index for our proposed neighbor-selection strategy. Under the current BT protocol, a peer i is only sending the amount of content Bi it has downloaded (in MegaBytes) to the tracker as oppose to the information of the whole list of content pieces, so the tracker does not have the complete information to evaluate the objective function. Therefore we need some approximations in order to evaluation the above objective function. Since BT divides the content into pieces with equal size (except the last piece,) for a given file size F , we can approximate pi , the proportion of content peer i has, without changing the current BT client protocol: pi =

Bi |ci | ≈ F |C|

(2)

Assume that each piece of content is equally likely to appear in a peer, and given |ci | and |cj |, the value of |ci \cj | is hypergeometrically distributed [5]. Let Xij be a hypergeometric random variable representing the value of |ci \cj | (in number of pieces), the probability mass function of Xij is:  |cj |  |C|−|cj | x

P {Xij = x} =



n r

|ci |−x

|C| |ci |

n! r!(n−r)! ,

E[Xij ] |ci \cj | ≈ |C| |C|

= =

|ci | |C|

|C| |ci | |cj | (1 − ) ≈ pi (1 − pj ) (4) |C| |C|

The cardinality of the union of contents possessed by two peers i and j, if they are connected, is the following: |ci ∪ cj | = |ci | + |cj \ci | = |cj | + |ci \cj |

(5)

and we can approximate the proportion of content available in |ci ∪ cj | by using Equations (2) and (4): |cj | |ci \cj | |ci ∪ cj | = + ≈ pj + pi (1 − pj ) |C| |C| |C|

(6)

We use a function g(pi , pj , eij ) = pj + {pi (1 − pj )}eij to denote the proportion of total content the union contains if the peers are connected. The function reduces to pj if they are not connected (eij = 0). We also define a recursive function: Gj (n) = g(pn , Gj (n − 1), enj )

(7)

where Gj (0) = pj and n > 0. The function Gj (N ) can be interpreted as the proportion of total content contains in the union of cj and all ci where eij = 1, that is, N 1 [ (8) Gj (N ) ≈ (ci ∩ ǫij ) ∪ cj |C| i=1

i=1

i=1

i=1

so we can write

Gj (N ) ≈

=

" # # "N N [ [ 1 ∪ c (c ∩ c ) ∩ ǫ ∪ (c \c ) ∩ ǫ j i j ij i j ij |C| i=1 i=1 | {z } =cj N [ 1 |cj | (10) (ci \cj ) ∩ ǫij + |C| |C| i=1

and by rearranging terms, we have: N [ (ci \cj ) ∩ ǫij ≈ {Gj (N ) − pj }|C|

(11)

i=1

where pj =

|cj | |C| .

So the optimization problem (A) becomes: max E

(3)

where = and E[Xij ], the expected value of Xij , is approximately equal to the cardinality of disjointness |ci \cj |. Therefore, (|C| − |cj |) ×

Because ci \cj and ci ∩ cj are mutually exclusive for any i and j, we have # # "N "N N [ [ [ (9) (ci ∩ cj ) ∩ ǫij (ci \cj ) ∩ ǫij ∪ (ci ∩ ǫij ) =

N X

{Gj (N ) − pj }|C|

(B)

j=1

subject to N X

eij ≤ di

for all i.

j=1

The optimization problem (B) can be solved by using integer programming (IP). However, it is known that integer programming imposes a large overhead on computation, and it is not desirable for systems that require real-time decisions. To improve computational efficiency, we use genetic algorithms as a heuristics to solve the optimization problem (B). B. Genetic-Algorithm-Based Approach Genetic Algorithms (GA) is a stochastic search technique based on the mechanism of natural selection, genetics, and evolutions. It has been proven to be an effective tool to solve complex search problems with large solution spaces. An excellent introduction with practical applications on genetic algorithms can be found in [6]. Genetic Algorithms start with an initial set of random solutions called (initial) population. Each individual in the population, called a chromosome, is an encoded string of symbols representing a solution, which may be feasible or infeasible. In particular, a chromosome in our problem is a string of bits, which corresponds to the solution values of eij ’s in Problem (B). Since eij = eji for all i, j, and eij = 0 when 2 i = j, we need a bit-string of length ( N2 − N ) to represent a solution. There are two input parameters: (1) The number of peers N in the network, and (2) the number of iterations I that GA will perform before returning a solution. In the algorithm, pop size is fixed at 20 in all of our experiments. I NITIALIZATION is the procedure to generate

G ENETIC -A LGORITHM(N, I) 1 for j ← 1 to pop size 2 do P [j] = I NITIALIZATION(N ) 3 max value ← 0; solution ← NIL;iterations ← 0 4 while iterations < I 5 do P ∗ ← C ROSSOVER (P ) 6 P ∗∗ ← M UTATION(P ∗ ) 7 V ← E VALUATION(P ∗∗ ) 8 if MAX(V ) ≥ max value 9 do max value ← MAX(V ) 10 solution ← P ∗∗ [ARGMAX (V )] ∗∗ 11 P ←P 12 iterations ← iterations +1 13 return solution

a random undirected graph with N nodes. C ROSSOVER and M UTATION are the realization of the standard crossover and mutation procedures in GA. The detailed pseudo-codes for these sub-procedures are omitted. The crossover rate and mutation rate are fixed at 0.3 and 0.1, respectively. These two values only affect the rate of convergence and were chosen based on trials. E VALUATION is the procedure to measure the fitness of a solution set. It returns an array V , where V [i] stores the value of the objective function in Problem (B) computed using P ∗∗ [i] as the solution. V [i] is defined to be zero if P ∗∗ [i] is an infeasible solution. MAX returns the maximum values among all the elements in the array V and ARGMAX returns the argument i that achieves the maximum. We are interested in comparing the performance of the proposed neighbor-selection strategies against the random decision implemented in the current version of BT. We are also interested in evaluating the performance of GA-based decision process as an alternative to the IP-based one. We performed simulations of these P2P frameworks with different neighborselection strategies, and the results are discussed in the next section. IV. E XPERIMENTATION A. Simulation Model We used ns-2 [7] package to simulate the framework. In our setup, peers could be one of the following three classes: • Class 1: 10 Mbps bi-directional link, representing campus LAN hosts. • Class 2: 128 kbps uplink and 1.5 Mbps downlink, representing ADSL hosts. • Class 3: 56 kbps bi-directional link, representing dial-up hosts. The number of peers in each class was exogeneously set. Results reported in this paper were obtained assuming that 30% of peers were Class 1, 50% were Class 2, and 20% were Class 3. We have also simulated other peer compositions, and the simulation results shown in this section demonstrate the typical trend. The arrival pattern of these peers was taken from

real traffic trace from a tracker running on the Internet, and the departure of peers after completion of download followed an exponential distribution. In the simulation, we considered a Class-1 peer to be the seeder, which has a file of size 700 MB (volume of a CD-ROM,) divided into 1400 pieces (512 kB each) to distribute. For the model of intermediate network, we assumed that the capacity bottleneck was always at the last hop [8], that is, either the outgoing capacity of the sender or the incoming capacity of the receiver was the cause of end-to-end congestion. Each peer can be connected to at most 20 neighbors (di = 20). This strictly ensures that there are no power-law graphs formed in the process. The bandwidth of the tracker was assumed abundant, and the neighbor-selection process was done offline and the computation overhead imposed by the strategy was assumed negligible, which allowed us to focus on the efficiency of data transaction. Following the decision process, the peers followed the standard BT operations. Neighbor-selection decisions were based only on the latest information available at the tracker, and the state of information used might not be up-to-date (Random decision strategy does not use that information.) We compare the performance of our strategy against the existing strategy using the following two metrics: system throughput and average downloading time. System throughput is defined as the number of bytes (not including handshaking bytes) uploaded by all the peers per second. This measures the speed at which content is distributed. The other metric used is average downloading time experienced by peers to completely obtain the content. Both these parameters clearly depend on the behavior of the peers, network conditions, incentive compatibility, etc. The design of an incentive compatible P2P scheme, although is interesting, will not be addressed in this paper (see [9], [10] for issues related to the design on incentive compatible mechanisms.) For this analysis, we assume that peers employ standard BT “tit-for-tat” mechanism and “choking/unchoking” described in Section II, and honestly report the amount of content they received. B. Computer Simulation Results We have simulated the following decision strategies: Random selection, IP selection, and GA-based selection (GA100, GA50 and GA20.) GA100 means the decision is made after every one hundred iterations of the genetic algorithm (I = 100.) Correspondingly, GA50 and GA20 indicate that the neighbor-selection decision is made after every fifty and twenty iterations, respectively. The simulation result is shown in Figure 1. In the first 350 minutes, Random and IP strategies have similar performance and the throughput increases with time. The reason for such similarity is that this period corresponds to the phase when there are no other seeders in the network except the original one. During this period, any new and unseen piece of content is uploaded only from the seeder to some of the peers. Because most of the peers do not have the

TABLE I

40

AVERAGE DOWNLOADING TIME ( IN MINUTES ) FOR PEERS OF 35

30

Random 43.78 (0.13) 145.89 (0.27) 3890.18 (77.81)

Class 1 Class 2 Class 3

25

IP 44.67 (0.15) 130.12 (0.26) 2916.94 (61.21)

GA100 44.70 (0.16) 132.58 (0.27) 2909.47 (66.94)

20

10

IP GA100 GA50 GA20 Random

5

0

0

200

400

600

800

1000 1200 Time (Minutes)

1400

1600

1800

2000

Fig. 1. Comparison between different neighbor-selection strategies. System Throughput (in Mbits/sec) vs. Time (in minutes) is shown.

new piece, the neighbor-selection strategy does not play an important role. The increase in system throughput observed in the first 350 minutes is a direct consequence of increase in demand. As new peers joined the network from time to time, they created a demand for content pieces from time to time, even the pieces that were sent out by the seeder long ago were available to most peers. The demand they created will initiate the existing peers to start serving them, and in turn boost up the system throughput. This is true even after the seeding phase, but peers who have downloaded the complete content left the system, and thus offseting the increment. After 350 minutes, when there were more than one seeders, there was a significant difference in system throughput between Random and IP. There are several reasons to account for such difference: 1) In the Random strategy, two seeders might be neighbors. The capacity corresponding to both seeders was not being fully utilized. 2) New peers who might possess little or no content could be grouped with each other in the Random strategy. In this case, the supply of pieces would be very limited. 3) Increasing content availability from immediate neighbors in IP could improve the chance of getting particular content pieces. Next we present the comparison of average downloading time. We compare the average downloading time for peers that enter the system after the seeding period, so that the measure is not affected by the seeding process. Table I shows the average downloading time for different classes of peers with the implementation of different neighbor-selection strategies: The differences among Random, IP and GA100 in the average downloading times for Class-1 peers were statistically insignificant. For Classes 2 and 3, however, there were significant improvements when IP or GA100 was deployed over Random. The cause of such improvement was due to the

fact that lower-class peers were “penalized” by BT’s “tit-fortat” policy. Because of their relatively low upload capacities, they might not be served by their neighbors. Their major chance of getting content pieces was during their neighbors “optimistic unchoking” phase, and by strategically selecting neighbors that improved. The proposed strategy improves the efficiency of distribution for low connectivity peers by better utilization of resources contributed by peers with high connectivities. Another important aspect of this result was that we have, in fact, improved the average downloading time while simultaneously improved the system throughput.

2

100

1.75

Random

Random 80

1.5

IP

1.25 GA100

1 0.75 0.5 0.25 0

% of Uplink Contribution

15

UDR

System Throughput (Mbits/sec)

DIFFERENT

CLASSES . VARIANCES OF THE MEAN ARE SHOWN IN PARENTHESES .

IP 60

GA100

40 20 0

1

2 Class

(a)

3

1

2 Class

3

(b)

Fig. 2. (a) Upload-to-Download Ratio for peers of different classes; (b) Contribution of uplink capacity (in percentage) for different classes.

Figure 2(a) presents the average upload-to-download ratio (UDR) for different classes of peers under different neighborselection strategies. With GA neighbor-selection strategies, Class-1 peers have a higher UDR of as much as 1.7 than the original 1.4. As mentioned before a good neighbor-selection strategy boosts content availability, so Class-1 peers, who have faster upstream links, could send more pieces to their neighbors during each unchoking period because the selection process increases the disjointness of content among peers. We also see a slight improvement of UDR on Class-2 peers due to the same reason. For Class-3 peers, the UDR was reduced with the introduction of GA selection strategies. This can be explained as a consequence of the increased UDR in Class-1 and Class-2 peers. Class-3 peers have slow uplinks, and they could only serve a small number of pieces to their neighbors in each unchoking period. So, after a few unchoking periods, their neighbors could have already received a lot of content pieces from other Class-1 and Class-2 neighbors, and the disjointness of content between these peers and their neighbors might have been significantly reduced so they did not upload to their neighbors because they don’t have what their neighbors need.

UDR is a direct measure of the amount of data a peer sends. However, since different classes of peers have different connectivities, 1kbps contribution from a Class-1 peer is not as significant as 1kbps contribution from a Class-3 peer, from peers’ perspectives. Figure 2(b) shows a different measure of contribution, the capacity contributed by different classes, as a percentage of their respective uplink capacities. Once again, GA selection strategies increased the peers’ contribution over the Random selection strategy, which is essential for any P2P networks. Note that for contribution in capacities, all three classes have an increment with the implementation of GA strategies, including Class 3. The increment shown in Class 3, despite the reduction of UDR, can be explained by a largely reduced downloading time, which is an implication about how long a peer has stayed in the system. Genetic Algorithm is guaranteed to provide an optimal solution when given enough iterations [6]. For an online decision problem where shorter decision times are more desirable, it is important to know the rate of convergence of GA for our optimization problem so that unnecessary iterations will not be performed. As shown in Figure 1, the performance of GA in terms of system throughput improves as the number of iterations increases. Figure 3 shows the percentage difference in system throughput between IP and GA versus the number of iterations. It shows that the error is less than 1% with 60 or more iterations, and the error becomes negligible when the number of iterations reaches 100.

V. C ONCLUSIONS

AND

F UTURE W ORK

In this paper, we presented a genetic-algorithm-based neighbor-selection strategy for BitTorrent, a hybrid P2P system. We have shown through computer simulations that the proposed strategies can increase the content availability from immediate neighbors and improve system throughput significantly without trading off distribution efficiencies. Also, the contributions of resources from different peer classes have all improved. The performance of genetic-algorithm-based strategy resembles that of the integer-programing-based strategy, which makes it more suitable for making real-time decisions. It should be noticed that although we studied BT in this paper, our results are also applicable to other hybrid P2P networks in general. Throughout the studies, we assume that peers honestly report the amount of data they received. In reality, however, peers may not do so especially if they can take advantage of the system by reporting false information. As an ongoing research, we plan to investigate the incentive compatibility and cheat-proofing in our GA-based mechanism and its ability to handle malicious users. Another future direction is measurement studies. Because BT is an open-source application, we plan to implement the GA selection strategy described in this paper, and collect traffic statistics from real content distributions to allow us to better understand the network dynamics. R EFERENCES

Difference of system throughput after seeding period (%)

14

12

10

8

6

4

2

0 10

Fig. 3. egy.

20

30

40

50 60 Number of iterations

70

80

90

100

Convergence of Genetic-Algorithm-Based Neighbor-Selection Strat-

In terms of computational overhead, IP is much higher than GA and is not suitable for making online decisions. We used a general-purpose PC running CPLEX to solve an IP problem with 500 peers, and it took about 2 to 3 minutes to reach a solution. The time taken by GA100 to solve the same optimization problem was less than a second. Considering that the performance of GA100 is virtually identical to IP, it is practical to implement GA100 in the tracker as the neighborselection strategy for real-time, online decisions.

[1] B. Cohen, “Incentives Build Robustness in BitTorrent,” in Proc. of the First Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA, June 2003. [Online]. Available: http://bitconjurer.org/BitTorrent/ [2] “File Sharing’s New Face,” New York Times, February 12, 2004. [3] X. Yang and G. de Veciana, “Service Capacity of Peer to Peer Networks,” in Proc. of INFOCOM 2004, Hong Kong, Mar. 2004. [4] R. Schollmeier, “A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications,” in Proc. of the First International Conference on Peer-to-Peer Computing (P2P ’01), Lingk¨oping, Sweden, Aug. 2001, pp. 101–102. [5] J. L. Devore, Probability and Statistics for Engineering and the Sciences, 5th ed. Duxbury, 2000. [6] M. Gen and R. Cheng, Genetic Algorithms and Engineering Design, 1st ed. Interscience, Jan. 1997. [7] “The Network Simulator – ns–2.” [Online]. Available: http://www.isi. edu/nsnam/ns/ [8] S. G. M. Koo, C. Rosenberg, and D. Xu, “Analysis of Parallel Downloading for Large File Distribution,” in Proc. of the 9th IEEE International Workshop on Future Trends of Distributed Computing Systems (FTDCS 2003), San Juan, Puerto Rico, May 2003. [9] K. Lai, M. Feldman, I. Stoica, and J. Chuang, “Incentives for Cooperation in Peer-to-Peer Networks,” in Proc. of the First Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA, June 2003. [10] T.-W. Ngan, D. Wallach, and P. Druschel, “Enforcing Fair Sharing of Peer-to-Peer Resources,” in Proc. of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03), Berkeley, CA, Feb. 2003. [11] T. Moreton and A. Twigg, “Trading in Trust, Tokens, and Stamps,” in Proc. of the First Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA, June 2003. [12] W. Lam, K. T. So, and S.-Y. R. Li, “On Concentration Networks Based on Iterative Cells,” in Proc. of the First International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2000), Hong Kong, May 2000, pp. 101–108. [13] R. Krishnan, M. Smith, and R. Telang, “The Economics of Peer-To-Peer Networks,” Journal of Information Technology Theory and Application (JITTA), vol. 5, no. 3, pp. 31–44, 2003.

Suggest Documents