there is not a centralized server that controls the different nodes. Instead this ... systems provide for a cheap platform for data-sharing that is highly scalable and robust, a great ..... and upload bandwidth dedicated to file sharing. Usually this ...
COALITION FORMATION IN P2P FILE SHARING SYSTEMS M.V.Belmonte, M. Díaz, J.L. Pérez-de-la-Cruz, R. Conejo E.T.S.I. Informática. Bulevar Louis Pasteur, Nº 35.Universidad de Málaga Málaga (SPAIN) {mavi,mdr,perez,conejo}@lcc.uma.es
Abstract. P2P file sharing systems are distributed systems consisting of interconnected nodes able to self-organize in networks, with the purpose of sharing content. Recent empirical studies have shown that they suffer from freeloaders, that is, peers that consume many more resources or content than they contribute. In this paper we propose a coalition formation based incentive mechanism for P2P file sharing systems that improves the system performance for the coalition participant peers. In addition, it discourages free-loader like behavior. The mechanism presents a formal approach to the problem based on game theory that takes into account the rational and self-interested behavior of the peers.
1 Introduction P2P systems are distributed systems consisting of interconnected nodes able to self-organize in networks, with the purpose of sharing resources such as content, bandwidth, CPU cycles [1]. They differ from traditional distributed systems in that there is not a centralized server that controls the different nodes. Instead this, peers have a variable connectivity and can dynamically change their connections in order to adapt to failures and transitory populations of nodes. Concretely, P2P file sharing systems set up a network or pool of peers on Internet and provide facilities for searching and transferring files between them. Since these systems provide for a cheap platform for data-sharing that is highly scalable and robust, a great number of commercial and academic projects have been developed using this technology [5][9][1]. However, the performance and availability of these systems relies on the voluntary participation of their users, and so they may be highly variable and unpredictable [4]. Recent empirical studies have shown that a large fraction of the participants (20 to 40% of Napster and almost 70% of Gnutella peers) share little or no files [12]. This phenomenon is known as free-loading: peers that consume more resources than they contribute. One of the reasons of this problem is that the mechanisms used for downloading and sharing in the P2P file sharing systems are not designed taking into account the selfish or self-interested behavior of the peers. In fact, the P2P system's users act rationally trying to maximize the obtained benefits from using the system's shared resources [7]. So, it will be necessary to find mechanisms which provide incentives
and encourage the cooperative behavior between the peers (users). Since the peers show a rational behavior, a possible solution could be to use an economic framework that provides incentives to them. Reviewing the bibliography we have found two main types of solutions that follow this approach: i) incentive mechanisms based on monetary payments: one party offering some service to another is remunerated and inversely, consuming resources must be remunerated or paid. This category mainly included different micropayment mechanisms [7][14], ii) incentive mechanisms based on differential services: peers that contribute more get better quality of service. Reputation mechanisms belong to this category [4][10][9]. In general, the peer's reputation reflects its overall contribution to the system. Our approach could be included in this category, although its foundation is different and innovative. As we mentioned above the peers show a rational and self-interested behavior, so game theory may be the right tool to model the interactions between them in a P2P file sharing system [6][8]: "Games are characterized by a number of players or decision makers who interact, possibly threaten each other and form coalitions, take actions under uncertain conditions, and finally receive some benefit or reward or possibly some punishment or monetary loss". The idea is to define the "rules of the game" so that the system as a whole exhibits good behavior when self-interested nodes pursue self-interested strategies (mechanism design [13]). Our approach proposes the application of a coalition formation scheme based on game theory to P2P file sharing systems. The main idea of the coalition formation scheme is based on the fact that peers contributing more obtain a better quality of service. For that, we define an internal reputation value that reflects the peer's overall contribution to the system, and we use the game theory utility concept to calculate it. The coalition formation scheme will reward to the peers with a higher internal reputation giving greater bandwidth to download files, and will penalize to the peers that only consume resources decreasing its internal reputation and so its bandwidth. The paper is organized as follows: in the next section we describe the main characteristics and operation of P2P file sharing systems. In the third section we briefly describe our coalition formation model based. In the fourth section we apply this model to the P2P file sharing systems. We will finish, in fifth section, with some conclusions and future works.
2 P2P File Sharing Systems In general a P2P content distribution system creates a distributed storage medium that allows for the publishing, searching and retrieval of files by members of the network [1]. Now, one of the most known applications based on P2P technology are the P2P file sharing systems. These systems are used for creating network of peers, and allow the search and exchange of files between them. P2P file sharing systems work on a network of computers (peer nodes) and connections or edges between them. Depending on the structure, degree of centralization and routing and location mechanisms for messages, different classifications of P2P content distribution systems can be done [1]. In this sense, we have selected for our work a P2P system with a partially centralized architecture and
an unstructured network. The first characteristic is related with the degree of centralization of the peer's network, and the second with the fact of the network is created in a non-deterministic way as peers and files are added, in such a way that the place of the files is not related with the network topology. In a partially centralized architecture all the peers in the network are servers and clients (uploading and downloading files respectively), and there is not a central coordination of their activities. However, some of them may adopt a different role acting as a central index for files shared for a subpart of the peer network. Usually these nodes are called supernodes. These nodes are dynamically assigned among the peers that have enough bandwidth and processing power. In this way, if one of them fails, the network inmediatly replaces it. This architecture avoids the nondeterministic and un-efficient search of the purely decentralized architectures, and on the other hand the vulnerably and unscalably of the hybrid decentralized architectures, in which there is a central server that facilitates the interaction between peers. Related to the network topology, the unstructured systems are adequate for highly-transient peer populations and the P2P file exchange systems fall in this category [1].When a peer wants to download a file, he directs his request to a supernode and this search the file in his index. In case of locating the file, supernode sends to the "requester" peer an indexed result with the set of nodes that have the requested file. This index contains the IP address, port, available bandwidth,… for the located nodes. Then, the requester peer opens a direct connection with one or more peers that hold the requested file, and downloads it. In addition, some of these systems [10][9] include a reputation index for the peers. The reputation is a global value that reflects the peer's overall contribution to the system, in terms of the upload bandwidth assigned to the file sharing system and the number and quality (normally established by the demand) of the files shared by the peer. The file sharing system will reward to the peers with a greater reputation giving higher priority to their requests in file transfer queues. Peer's file transfer queues are organized in terms of reputation value and a given peer acting as a server shares its upload bandwidth among its queues giving more time to the queues associated to a higher reputation value. In order to simplify the model, we conceive the file sharing system as a black box that receives requests of the peers, send them to the corresponding queue in terms of their reputations, and transfer "bytes" to "requester" peers in accordance to the its reputation based scheduling algorithm.
3 Coalition Formation Model Coalition formation is an important mechanism for cooperation in Multi-Agent Systems (MAS) [11][8]. Desired goals of a coalition formation process include: i) maximize the agents' profit or utility, ii) divide the total utility among agents in a fair and stable way, in such a way that the agents in the coalition are not motivated to abandon it –stable payment configuration-, iii) do it within a reasonable time and spending a reasonable amount of computational efforts. Our coalition formation model allows to carry out cooperation among autonomous, rational and self-interested agents in a class of superadditive task oriented domains [2]. Each agent has the
necessary resources to carry out its own task, however it is possible to form a coalition among agents with a new re-distribution of the task that may allow them to obtain benefits. The proposed model and guarantees an optimum task allocation and a stable payoff division. Furthermore, computational complexity problems are solved. Let us consider a set of n agents N={a1,a2,..,an} that can communicate, and such that each agent ai must perform a certain initial amount t0i of task units (assumed infinitely divisible). Agent ai can perform a maximum of ki task units (t0i ≤ ki) and the unitary cost is ci. We will define the surplus capacity hi of ai by hi=ki-t0i (0 ≤ hi). The agents can change the amounts of tasks initially assigned to each one, in order to achieve a better global efficiency; let ti,j be the number of transferred task units from ai to aj. However, to allow this new deal, they must incur a transfer cost; namely, we will assume that the cost of transferring a task unit from ai to aj is ci,j. In this way, the unitary profit, bi,j, attached to the transfer of a task unit between ai and aj is bi,j=(ci-cj)ci,j and Bi,j = bi,j* ti,j is the transfer profit. On the other hand, we will assume that coalition formation costs (communication and coordination) are negligible compared to actual task transfer costs. This assumption leads to a superadditive problem. The characteristic function or coalitional value, v(S), of a game with a set of players N, is the total utility or profit that the members of S can reach by coordinating and acting together [8]. In our domain the coalitional value of any coalition will be stated as: v( S ) = ∑ Bi , j = ∑ bi , j ∗ ti*, j , ∀i, j ∈ S / i ≠ j (1 ) i , j ∈S / i ≠ j
i , j ∈S / i ≠ j
where t*i,j ∀i,j∈S/i≠j, are the task transferences obtained from an optimum task allocation T*. In order to establish T*, we state the task allocation as a linear programming problem, in which the costs are minimized subject to the capacity constraints of each agent [2][3]. If we impose the following constraint: ci,j + cj,k ≥ ci,k, there is always a solution in which any agent may be a producer or a consumer but not both. Producer agents are agents that only transfer tasks and consumer agents are agents that only receive tasks. Depending on the situation three could be a fringe agent, af, a producer agent that does not transfer its entire task, or a consumer that receive task but it does not consume its entire surplus. The payoff division is the process of dividing the utility or benefits of a coalition among its members. The problem is to distribute the utility of the coalition in a fair and stable way, so the agents in the coalition are not motivated to abandon it. Game theory provides different concepts (core, kernel, Shapley value, etc.) for the stability of coalitions [8]. Our proposed payoff division scheme is calculated by means of the marginal profit concept. Thus, the payment to each agent will be given by the marginal profit with respect to the resource supplied by the agent, and multiplied by the quantity of this resource. Since the concept of marginal profit is really that of partial derivative, the payment vector x, according to the formulae (1), will be computed as follows: ∂v ∂v (2 ) xi = ti + hi , ∀i ∈ N ∂ti ∂hi In [2] we proof that this payment vector computes in one step a stable payoff division in the sense of the core, and that it has a polynomial complexity in terms of n.
4 Coalition Formation in P2P File Sharing System In this section we propose the application of the above coalition formation scheme to the P2P file exchange systems. We think that this scheme may improve the system's performance and alleviates the free riding problem. The central idea of the scheme is based on sharing the task of downloading a file among the agents that conforms a coalition. From the point of view of the peer that wants to download the file there is a clear advantage, since the task of transferring the file is divided into the members of the coalition, and the total download time is reduced. In order to show how this reduction is achieved, let us suppose the following simplified scenario illustrated in figure 1. pb asks for a file Z to pa
pb request
km-in kl-in pm Z
pa pl
kh-in
Z
cm − in
ph
Z
cm − in
Fig. 1. A simplified coalition formation scenario
In this scenario, pb, asks for a file Z to pa (producer in coalition formation terms). This peer forms a coalition with other three nodes (ph, pl and pm, consumers in the coalition terms) to transfer that file. In P2P file sharing systems, every node has a download and upload bandwidth dedicated to file sharing. Usually this bandwidth is user defined and indicates a maximum value. The real bandwidth will vary on time depending on the computational and network charge for every node. Also is common to define an upload bandwidth limit (ki-in) much lower than the download one (ki-out). Let us suppose that the three peers have the file that has to be downloaded and that each of them dedicates its total upload capacity ( kh − in + kl − in + km − in ) to transfer a portion of the file. An estimation of a lower bound for the file transfer time can be calculated in the following way: t=
size( Z ) , kh − in + kl − in + km − in < k b _ out (kh − in + kl − in + km − in)
(3 )
Adding members to the coalition will reduce the time always that the addition of the upload bandwidths remains below the download bandwidth of pb. The other side of using coalitions in this way is to motivate the peer participants in the coalition to achieve the task (downloading files for other peers). Our scheme is based on providing a better quality of service to the peers that participate in the coalitions. For that, we define an internal reputation value, Ir, for every peer. This value reflects the peer's overall contribution to the system (i.e. how much work it has carried out for the other peers in the system). In accordance to the above model, in the proposed payoff division each agent gets a utility proportional to the resources that it supplies.
So, the agents that supply a greater bandwidth (resource) will obtain a bigger utility, and this utility will increase its internal reputation. This internal reputation, Ir, must not be confounded with the peer reputation in the global file sharing system (that we will call r in our model). This value is normally used to give a higher priority in the downloads to the peers that contribute with more files and bandwidth to the global P2P file sharing system. Our concept of Ir is similar, but this global reputation r is assigned and controlled by the P2P file system for a different purpose. It indicates the priority of that peer for downloading a file from other given node. When more than one peer is downloading files from a node, this node use this priority to schedule the downloading of the different file pieces using a priority queue based scheduling algorithm. 4.1 Assumptions and Definitions
We treat each peer as a rational, autonomous and self-interested agent that tries to maximize its own utility by participating in the P2P system. We assume that there are N={p1,p2,..,pn} peers in the system that can communicate among them and with a global file sharing system modeled as it is described in section 2 (figure 2). We will use the following assumptions and definitions: • toi is the initial job that pi must perform, i.e the number of bytes (the size of the file) that pi has to transfer (when other pj downloads a file of size ti from pi). toi is considered as an divisible job, since it is possible transfer file blocks instead of a whole file. We will call ti to the task that the peer i will have to carry out after the task assignment in the coalition. • ki is the uploading capacity of pi and is stated as ki=min(ki-in , ki-out). Where ki-in is the reserved upload bandwidth (in bytes/sec) by pi for transferring ti inside the coalition formation system and ki-out is the reserved download bandwidth. This download bandwidth will be used to download files from the P2P sharing file system in the case pi does not have the file previously and it works for another node in the coalition (in this case, it will be 0 if the peer had the file) (figure 2). ki-out also represents the maximum reserved bandwidth for downloading, when the peer i is the one that asks for the file to the system. As we showed in the previous section, the size of the coalition will be limited by this value. The real upload capacity ki will be limited by the minimum of the internal (ki-in ) and the external (ki-out) bandwidth. If the peer has to download the file from the global system, it cannot supply data at a greater rate than it receives from the P2P system. The same happens inside the coalition. Since the reserved bandwidth is not a good indicator of the download speed in the system (as we said before, it also depend on other aspects as reserved upload bandwidth, number of shared files, etc), ki-out is multiplied by ri, that is the reputation that pi has in the file sharing system. ri value is in the interval [0..1]. In case of having the maximum value, ri=1, pi may use all its reserved bandwidth and transfers the file very quickly, on the contrary with ri=0, pi does not transfer anything. The reason of this value is to maximize the processing capacity of the peer or its reserved bandwidth. So, if the peer has a low reputation it will be
placed in the last positions of the file transfer priority queues and it will not be able to complete its reserved bandwidth. • ci represents the cost of transferring ti (its block of the file) and is the parameter that we try to minimize with our coalition formation scheme. In our case, this cost will be represented by the time that each node needs to upload its block of the file. In the coalition formation scheme presented in section 3, the optimum task assignment is computed by solving a linear programming problem in which we try to minimize the costs subject to the capacities of each node. In our case, these costs are not constant, since the capacity change with the time (the final download time will depend on the variations of the bandwidth, as we discussed before) and the problem cannot be solved in this way. Calculating the real values of these costs a priori is not possible, since we would have to know the total time consumed by each peer for transferring the amount of task assigned by the coalition formation algorithm. The upload and download bandwidths of the peers are only upper limits and cannot be used directly to calculate this time. As the real bandwidth vary with time depending on the charge of the nodes, the network and even the global file sharing system if the selected file, we can only know this value when the global task is finished. However, we would need to know these values in order to partition the tasks among the different peers. In order to solve this we have taken the following approach: 1. We estimate a lower bound of the time needed to carry out the task as a function of the known bandwidth limits, corrected by the coalition internal reputation Ir (we explain how this value is calculated in the following section) and the global P2P reputation ri. Following this, the lower bound for the cost (time) can be estimated in the following way: ci = t i0
∑ min( Iri k i −in , ri k i −out )
(4 )
i∈S
Both capacities are multiplied by the reputation in order to obtain a better estimation. This estimated cost is the same initially for all the consumer peers in the coalition S. 2. Once that we know the estimation of the cost/time for each peer, we can carry out a task assignment partitioning the file taking into account the capacities of each node. Every node will have to transfer a number of bytes ti=ki*ci. The file is divided into blocks of this size that are assigned to the corresponding peers. 3. After completing the transfer, we will know the real values of the time consumed by all the peers (when the last byte from that peer arrives). These real values will be used in the payoff division process that will affect to the Ir values for the next time, providing a better estimation of the time in the next coalition formation process. •
ci,j has a constant value, κ, for all the peers involved in the coalition formation system. κ reflects the cost of communicating pi to pj the quantity of task that have to carry, i.e. the file blocks that have to transfer, and the IP address of the peer that requests the downloading of the file.
4.2 Computing Internal Reputation
As we mentioned above the peers that participate in a coalition will “borrow” bandwidth to others members of the coalition. So, the coalition formation system must "reward" to the agents that participate in the coalition formation process and contribute to the system with their resources (bandwidth): “uploading” peers (peers participating in the coalition formation as producers or consumers), and "penalize" to the agents that consume resources: “downloading” peers (peers that request to P2P file sharing system to download a file). In this way, it will be possible to achieve parity between the resources that peers contribute and consume, and so avoid freeloaders in P2P file sharing system. Pb asks for a file Z to pa
pb
pq
km-in*Irm
Pm has the file kb-out*Irb
Coalition Formation System
ps
Z kl-in*Irl
File Sharing System
py
pm
pa
Reputation Based Queues
rl
Pl has not the file
t0a=Z
pl
kh-in*Irh
ph Z Ph has the file
Pl has to download for pa and asks Z to the file sharing system
pf
kl-out*rl
pd
Z
pq
pl will be in a queue depending on rl
Fig. 2. Coalition Formation in P2P File Sharing System
Since, in our model the utility obtained by each agent is proportional to the resources that it supplies, the value of Iri will be calculated as an heuristic function of xi that can be adjusted with data from the real system behavior or from simulation results. As we mentioned above, x is calculated according to (2) and using the real values of ci (time consumed by the peer to transfer its corresponding block of file). The value of Iri should be reduced when pi acts as a downloading peer and does not contribute to other coalitions and incremented when it provides files to the other peers (uploading peer). The internal reputation of peer pi, Iri, reflects the contributed resources by pi to the coalition formation system. Iri is a value included in the interval [0..1]. This value is used to correct both, the download and upload bandwidths of each peer. The correction for the upload bandwidth reflects its possibility to fill the reserved upload bandwidth ki-in when pi is participating in a coalition and has been taken into account in the capacity calculation in the previous section. The correction of download bandwidth (Iriki-out) is achieved in order to reward or penalize a peer that wants to download a file. A higher internal reputation (Iri closer
to 1) will mean that pi will be able to fill all its reserved bandwidth, since it could add more peers to the coalition in order to complete its bandwidth, reducing the download time. Otherwise a Iri closer to 0 will limit the possibility to add peers to the coalition (in fact, in some cases it will avoid to create any coalition for the download). The size of the coalition S will always be limited by the following expression:
∑ min( Irs k s−in , rs k s −out ) < Iri k i −out
s∈S
(5 )
In order to calculate Iri for the uploading peers, their utility values xi (obtained from their participation in the coalition formation process) are normalized in the interval [0..1], obtaining δi; and Iri= Iroi*(1+δi) where Iroi is the initial value of the internal reputation of pi (we will suppose initially Iroi=0.5 for all the agents registered in the coalition formation system). For the downloading peer, if n is the set of uploading peers in S, Iroi is multiplied by 1 minus the normalized average utility δj obtained by the uploading peers, j∈ n, Iri = Iri0* (1-( ∑ δ j / | n |)) . j∈n
Then, all the calculated Iri’s are sent to the coalition formation system. Since the Iri’s must be values included in the interval [0..1], all the internal reputation indexes are again normalized. However, this time this operation will affect to all the peers registered in the coalition formation system and not only to the peers belonging to the actual coalition formation process. In this way, the Ir of the peers only registered will also be decreased in order to “penalize” their passive behavior. 4.3 An Example
Let us a suppose the peers pa, pb, pm, ph and pl, among others, are registered in the coalition formation system. Previously, in the file sharing system pb has sent a request to pa to download a file Z. So, pa has to transfer t0a=600MB to pb corresponding to the file Z (figure 2). In order to carry out the transference, pa decides to initiate a coalition formation process. First, pa communicates its intention to the coalition formation system (the coalition formation system provides a yellow pages service to the peers interested in this service, and in addition stores the reputation values of the peers with the goal of avoiding the subversion of them by "malicious" peers [2]). Then, the system communicates to pa the IP addresses, r, and Ir values of a set of interested peers that satisfies the constraint (5). Let us suppose that these peers are pm, ph and pl (consumers in coalitional terms). Then, pa (producer) requests to these nodes their ki-in and ki-out values in order to calculate the task allocation. In table 1 we show the values of all the parameters for this coalition formation process. Next, and according to (4) pa calculates the estimated lower bound for the cost, ci (time). If we suppose that pm and ph has the file and pl has to download it from the global P2P file sharing system (figure 2), ci = 600/(5*0.5 +MIN(10*0.5,128*0.5)+ 15*0.5)=40. So, 40 sec. is the lower bound for the estimated time to transfer the file among pm, pl, and ph. With this value we can calculate the number of bytes that each peer must transfer (ti=ki*ci): tm=100MB, tl=200MB and th=300MB. pa divides the file into blocks of these sizes and communicates to each peer which block has to transfer and the IP address of pb. Then, each peer transfers its block to pb.
Next, pa calculates the stable payment division x for the uploading peers according to (2). For it, the real values of time consumed by each peer are used, cm=50, cl=42 and ch=41 seconds. In order to simplify the calculation we suppose κ=0. If cij=0, x may be calculated in the following way [2]: xi=ti(ci-cf) if pi is a producer peer, xi=hi(cf-ci) if pi is a consumer and xi=0 si pi=pf, where pf is the fringe peer (in this approach the fringe peer will be the consumer peer with the largest ci, in the example pm). So, xa=600*(60-50)1, xh=300*(50-41), xl=200*(50-42) and xm=0. Finally, pa communicates this information to the coalition formation system. With these values the coalition formation system updates the internal reputation of the peers involved in the coalition formation process, according to the heuristic functions described in 4.2. The resulting Ir values are showed in table 1. Finally, the Irs of all the registered peers in the coalition formation system are again normalized. These updated values will be the used by the system in the next coalition formation process. Table 1. Coalition formation process parameters ki-in ki-out t0i ti ri Ir0i Iri
pa 20 128 600 0 0.5 0.5 1
pb 10 128 0.5 0.5 0.215
pm 5 128 0 100 0.5 0.5 0.5
pl 10 128 0 200 0.5 0.5 0.63
ph 15 128 0 300 0.5 0.5 0.725
5 Conclusions and Future Works In this paper we have proposed a coalition formation based incentive mechanism for P2P file sharing systems, with the purpose of discouraging freeloader-like behavior and increasing overall performance of these systems. This mechanism presents a formal approach to the problem based on game theory, taking into account the rational and self-interested behavior of the peers. As far as we know only [15] uses coalition formation in P2P file sharing systems. However, unlike our model, this mechanism uses a heuristic approach. In order to evaluate our approach, we are now designing and developing a simulation model to study different patterns of behavior among peers in a file sharing system, and the impact of the coalition formation on the free-loaders peers. In addition, we plan to compare experimental results of this mechanism with results of other more commons incentive-based mechanisms as micropayment. If finally experimental results are succeed, would be possible to use the proposed coalition formation scheme as a plug-in on some popular P2P file sharing systems as eMule[5] or kazza [9].
1
ca=60 since ta=600 and ka=20*0.5
References 1. Androutsellis-Theotokis, S., Spinellis, D.: A survey of Peer-to-Peer Content Distributing Technologies. ACM Computing Surveys, 36, No.4 (2004) 335-371. 2. Belmonte, M.V. Coalition Formation in Muti-Agent Systems: A Feasible and Game Theory Based Approach (in Spanish). PhD thesis, University of Málaga, Málaga, 2002. 3. Belmonte, M.V., Conejo, R., Perez-de-la-Cruz, J.L., Triguero, F.: Stable and Feasible Payoff Division for Coalition Formation in a Class of Task Oriented Domains. In Meyer, J.J. and Tambe, M.E. (eds.): Lecture Notes in Artificial Intelligence, No.2333, Intelligent Agents VIII: Agents Theories, Architectures and Languages (2002), 324-334. 4. Buragohain, C., Agrawal, D., Suri, S.: A Game Theoretic Framework for incentives in P2P Systems. Proceedings of the Third International Conference on Peer-to-Peer Computing (2003) 5. eMule. The e-Mule web site. http://www.emule.net/ 6. Ferguson, T.: Game Theory Text. http://www.math.ucla.edu/~tom/Game_Theory/ 7. Golle, P., Leyton-Brown, K., Mironov, I., Lillibridge, M.: Incentives for Sharing in Peer-toPeer Networks. In Proceedings of the 2001 ACM Conference on Electronic Commece (2001). 8. Kahan, J., Rapaport, A.: Theories of Coalition Formation. Lawrence Erlbaum Associates Publishers (1984). 9. Kazaa. The Kazaa web site. http://www.kazaa.com/ (2003). 10. Ramaswamy, L., Liu, L.: Free Riding: A New Challenge to Peer-to-Peer File Sharing Systems. In Proceedings of the 36th Hawaii International Conference on System Sciences (2003). 11. Sandholm, T.: Distributed Rational Decision Making. In Weiss, G. (eds.): Multi-agent Systems. A modern Approach to Distributed Artificial Intelligence. MIT Press, (1999) 201258. 12. Sariou, S. Gummadi, P.K., Gribble, S.D.: A measurement study of peer-to-peer file sharing systems. In Proceedings of Multimedia Computing and Networking (2002). 13. Shneidman, J. and Parkes, D.: Rationality and Self-Interest in Peer to Peer Networks. In Proceedings of the Second International Workshop on Peer-to-Peer Systems IPTPS',03 (2003). 14. Vishnumurthy, V., Chandrakumar, S., Gün Sirer, E.: KARMA: A Secure Economic Framework for Peer-to-Peer Resource Sharing. In Proceedings of the Workshop on the Economics of Peer-to-Peer Systems, Berkely, California (2003). 15. Wang, Y.: Trust-Based Community Formation in Peer-to-Peer File Sharing Network. In Proceedings of IEEE/WIC/ACM International Conference on Web Intelligence, WI2004 (2004).