A COALITION BASED INCENTIVE MECHANISM
FOR P2P CONTENT DISTRIBUTION SYSTEMS
M. V. Belmonte, M. D´ıaz and A. Reyna
E.T.S.I. Inform´atica, Bulevar Louis Pasteur, N.35, Universidad de M´alaga, 29071 M´alaga, Spain
Keywords:
Group decision making, P2P, Cooperation, Game theory, Coalitions, Economic agent models, Free-riding.
Abstract:
P2P systems suffer from free-loaders, peers that consume many more resources or contents (bandwidth) than
they contribute. One of the reasons for this is that the mechanisms used for downloading and sharing in
the P2P systems, do no take selfish behavior of the peers into account at the design stage. Therefore, it is
important to find mechanisms that provide incentives and encourage cooperative behavior among the peers.
One possible solution could be to use an economic framework that provides them with incentives. We propose
the application of a coalition formation scheme based on game theory to P2P file sharing systems. The main
idea for the coalition formation scheme is based on the fact that peers that contribute more get a better quality
of service. A peer that participates in a coalition lends ”bandwidth” to other peers of the coalition, in exchange
for utility and consequently far greater download bandwidth. Simulation results have shown the effectiveness
of the mechanism in stopping the free-riding peers and encouraging cooperation, increasing the performance
of a P2P network and obtaining an improvement in time download performance.
1 INTRODUCTION
In general, a P2P content distribution system creates
a distributed storage medium that allows the publish-
ing, searching and retrieval of files by members of the
network (Androutsellis-Theotokis, 2004).
Traditionally, the main problem of the P2P sys-
tems is limited to file search. However, the efficient
download of content and the fairness in the band-
width contribution is also an important aim in the de-
sign goal of these kind of systems. The early P2P
systems (Gnutella, Kazaa,...) lack mechanisms for
fairness in bandwidth usage. For this reason, these
systems suffer from free-loaders, peers that consume
many more resources or contents (bandwidth) than
they contribute. In (Sariou et al., 2002) and (Han-
durukande et al., 2006) empirical studies have ob-
served this behavior in Napster, Gnutella or even
eDonkey.
One of the reasons for this problem is that the
mechanisms used for downloading and sharing in the
P2P systems, do not take the selfish behavior of the
peers into account at the design stage. P2P system
users act rationally trying to maximize the benefits
obtained from using the system’s shared resources
(Golle et al., 2001). Therefore, it is important to
find mechanisms that provide incentives and encour-
age cooperation. One possible solution could be to
use an economic framework that provides incentives.
In this sense game theory may be a good tool on
which model the interactions between peers in a P2P
file sharing system. 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 (Shneidman,
2003)).
Our approach proposes the application of a coali-
tion formation scheme based on game theory to P2P
file sharing systems (in (Belmonte et al., 2006b) we
presented an early version of this work). The main
idea of the coalition formation scheme is the fact that
peers which contribute more get a better quality of
service. We define a ”responsiveness bonus” that re-
flects the peer’s overallcontribution to the system, and
we use the game theory utility concept to calculate it.
It is possible to form a coalition among peers with
a re-distribution of the number of bytes to be trans-
ferred. A peer that participates in a coalition lends
”bandwidth” to other peers of the coalition, in ex-
change for utility; and this utility will increase its re-
sponsiveness bonus. The coalition formation scheme
rewards the peers with a higher responsiveness bonus
(therefore giving them greater bandwidth to down-
load files), and penalizes the ones that only consume
15
V. Belmonte M., Díaz M. and Reyna A..
A COALITION BASED INCENTIVE MECHANISM FOR P2P CONTENT DISTRIBUTION SYSTEMS.
DOI: 10.5220/0003140200150024
In Proceedings of the 3rd International Conference on Agents and Artificial Intelligence (ICAART-2011), pages 15-24
ISBN: 978-989-8425-41-6
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
resources, decreasing their responsiveness bonus and
consequently their bandwidth.
The proposed incentive mechanism encourages
cooperative behavior between the peers preventing
the free-riding problem. Using the game theory con-
cept of ”core”, the peers forming the coalition get
in return a fair utility in relation to the bandwidth
they supply (achieving fairness in bandwidth shar-
ing); And in addition, it allows the formation of coali-
tions of peers that help each other in downloading
files, increasing the performance of the P2P network.
2 DOWNLOADING WITH
COALITIONS
In this section, we describe the model of the environ-
ment in which the system is deployed and the mech-
anism of coalition formation among peers. We firstly
describe a simplified situation, illustrating the advan-
tages of forming coalitions for P2P downloads and the
way of computing and dividing the utility or profit ob-
tained by peer that participates in the coalition. Sec-
ondly, and in more general terms, we describe the
coalition formation process and how the data and the
bandwidth are distributed among the coalition mem-
bers.
2.1 P2P Network Type
For our work, we have selected a P2P system with a
partially centralized architecture and an unstructured
network. The first characteristic is related to the de-
gree of centralization of the peer’s network, and the
second with the fact that the network is created in a
non-deterministic way as peers and files are added.
When a peer wants to download a file, it directs its
request to a supernode and this searches the file in its
index (a supernode is a peer that acts as a central in-
dex for files shared for a subpart of the peer network).
When the file is located, supernode sends to the ”re-
quester” peer an indexed result with the set of nodes
that store the requested file. Then, the requester peer
opens a direct connection with one or more peers that
hold the requested file, and proceeds to download it.
2.2 Coalition Formation Model
Coalition formation is an important mechanism for
cooperation in Multi-Agent Systems (MAS). In or-
der to be used by autonomous agents, a coalition for-
mation mechanism must solve the following issues:
i) maximize the agents’ profit or utility. For every
coalition S, coalitional value V(S) must be computed,
i.e., the total utility obtained by S as a whole ii) di-
vide the total utility among agents in a fair and stable
way, so that the agents in the coalition are not mo-
tivated to abandon it. For every coalition S and ev-
ery agent i S, payment configuration x(i) must be
computed, i.e., the share of V(S) that is assigned to
the agent i. iii) do this within a reasonable amount
of time and using a reasonable amount of computa-
tional efforts. Our coalition formation model allows
cooperation to take place among autonomous, ratio-
nal and self-interested agents in a class of superaddi-
tive task oriented domains (Belmonte et al., 2006a).
Each agent has the necessary resources to carry out
its own task, however it is possible to form a coali-
tion among agents with a new re-distribution of the
task that may allow them to obtain benefits. The pro-
posed model guarantees an optimum task allocation
and a stable payoff division. Furthermore, computa-
tional complexity problems are solved.
In this section the coalition formation scheme is
applied with the goal of improving the performance
of P2P file exchange systems. In this case, the central
idea is based on sharing the task of downloading a file
among a set of peers forming a coalition. From the
point of view of the peer that wants to download the
file there is a clear advantage, since the total download
time is reduced. From the point of view of uploading
peers, for each one the task of transferring the file is
alleviated, since it is divided between the members of
the coalition.
Let us consider the simplified situation illustrated
in figure 1. In this scenario, p
b
, asks p
a
for a file
Z. This peer p
a
forms a coalition S with three other
nodes p
h
, p
l
and p
m
to transfer that file. In P2P file
sharing systems, every node p
m
has an upload b
in
i
and download b
out
i
bandwidth dedicated to file shar-
ing. Usually these bandwidths are user defined and
indicate maximum values, and b
in
i
is much lower than
b
out
i
. This simplified scenario can be generalized, we
can consider that the downloader peer splits its band-
width in order to perform simultaneous downloads,
determining the b
out
i
dedicated for each download.
The model is valid for both scenarios.
In general, there will be an initial uploading agent
p
0
(in the figure p
a
) and a set of n additional upload-
ing agents, p
1
,..., p
n
(in the figure p
h
, p
l
and p
m
), all
of which have the file that has to be downloaded and
they dedicate their upload capacity b
in
i
to this transfer.
Let us call size(Z) = T the size of the file to down-
load. Let us also assume that
n
0
b
in
i
b
out
b
.
Then an estimation of the time necessary for the
transfer of file Z by the coalition S is given by the
ratio between the size of the file and the coalition
bandwidth(1):
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
16
Figure 1: The coalition formation model.
t
S
=
T
b
in
0
+
n
1
b
in
i
(1)
On the other hand, if the coalition is not formed,
the time for just an uploading agent p
0
is given by (2):
t
0
=
T
b
in
0
(2)
Therefore the value obtained by the coalition S can
be defined as t, the difference between (2) and (1),
as shown in (3):
t =
T
b
in
0
T
b
in
0
+
n
1
b
in
i
=
T
b
in
0
n
1
b
in
i
n
0
b
in
i
= t
0
n
1
b
in
i
n
0
b
in
i
(3)
Of course, if p
0
/ S, V(S) = 0. To sum up, the
coalitional value for every coalition is given by (4):
V(S) =
(
t
0
n
1
b
in
i
n
0
b
in
i
if p
0
S
0 if p
0
/ S
(4)
Now we address the following problem, to define
a stable payoff division of V(S) between agents, i. e.,
given a partition of the set of all agents into different
coalitions, to assign an amount x(i) to every agent i.
The problem is to distribute the utility in a fair and
stable way, so that the agents in the coalition are not
motivated to abandon it. Game theory provides differ-
ent concepts (core, kernel, Shapley value, etc.) for the
stability of coalitions (Kahan, 1984). The core is the
simplest to define. A payment configuration belongs
to the core if there is no other coalition that improve
on the payoffs of all of its members.
Formally, let N be the set of all agents, and let
us denote x(S) =
iS
x(i). The payoff division lies
inside the core iff the following holds: i) for all sets
of agents S N, V(S) x(S) (group rationality); and
ii) V(N) = x(N) (global rationality). The existence
of the core is not guaranteed in the general case, in
a given situation the core may be empty. However,
we will show for our case a payoff division that lies
inside the core. We will continue the ideas presented
in (Belmonte et al., 2006a).
The proposed payoff division scheme is calculated
by means of the marginal profit concept. Thus, the
payment to each agent is given by the marginal profit
according to the resources that describe that agent,
and multiplied by the value of the resources. Since
the concept of marginal profit is really that of partial
derivative, the payment vector x will be computed as
follows: for the original uploading agent, p
0
, there
are 2 parameters (t
0
and b
in
0
), hence its payment is be
given by t
0
V
t
0
+ b
in
0
V
b
in
0
. For the remaining agents,
there is only one parameter (b
in
i
), hence their pay-
ments are b
in
i
V
b
in
i
. Finally, we obtain the expressions
shown in equations (5):
x
i
=
t
0
(
n
1
b
in
i
)
2
(
n
0
b
in
i
)
2
if i = 0
t
0
b
out
0
b
in
i
(
n
0
b
in
i
)
2
if i 6= 0
(5)
In appendix A we prove that equations (5) define
a payoff division that lies inside the core.
Finally, we will show that the computations can be
done within a reasonable amount of time and using a
reasonable amount of computational efforts. It is ob-
A COALITION BASED INCENTIVE MECHANISM FOR P2P CONTENT DISTRIBUTION SYSTEMS
17
vious that the above schema provides a set of explicit
formulae that compute payments in time linear with
the number of peers.
2.3 Data and Bandwidth Distribution
Model
Following on from the example, let us suppose that
the peer p
b
asks p
0
(p
a
in the figure) to download the
file Z, and p
0
decides to initiate a coalition to down-
load the file (figure 1). Then, p
0
carries out the fol-
lowing steps:
1. To set the coalition size. If the sum of the upload
bandwidth, b
in
i
, of all the interested peers (let us
suppose this value is equal to n) joined with p
0
,
is lower than the download bandwidth of p
b
, b
out
b
,
we are in the trivial case (equation 6). In this case,
all the interested peers joined with p
0
will form
the coalition. So, | S |= N:
(
iN
b
in
i
) b
out
b
(6)
Conversely if the expression (6) is false, we must
distribute the bandwidth of p
b
, b
out
b
among all the
interested peers
1
.
For this, it is necessary to distribute the b
out
b
of
p
b
among all of them. This can be done by ”the
progressive filling algorithm” (Ma et al., 2006).
Let us suppose w
i
is the assigned bandwidth to
the interested peers. The algorithm initializes the
bandwidth of all the interested peers to 0, w
i
= 0,
i S. Then, it increases all the bandwidths at the
same rate, until one or several peers hit their lim-
its, w
i
= b
in
i
, i S. Once the bandwidth assigned
to one peer, p
i
, reaches its limit, it is taken out
of the process. The algorithm will continue to in-
crease the bandwidth of the remaining peers at the
same rate. The algorithm will finish when all the
peers reach their limits, or when the bandwidth of
p
b
, b
out
b
is wasted.
This algorithm provides the max-min fairness
(Bertsekas, 1992). A bandwidth allocation is
max-min fair if and only if an increase of b
in
x
within its domain of feasible allocation is at the
cost of decreasing some other b
in
y
. So, it gives the
peer with the smallest bidding value the largest
feasible bandwidth.
2. To split the file size Z, size(Z) = T, among the
coalition members, p
i
S.
1
If there are many interested peers, a maximum size of
coalition is established in order to avoid an undue partition-
ing of b
out
. This value depends on the b
out
and the file size.
(a) We estimate the minimum amount of time
needed to transfer Z as a function of the known
bandwidth limits. Following this, the minimum
amount of time can be estimated as follows:
t
i
= T/
iS
min(b
in
i
,b
out
i
) (7)
This estimated time is the same initially for all
the peers in the coalition S
2
.
(b) Once we know the estimation of the time for
each peer, we can carry out a partitioning of the
file taking into account the capacities of each
peer. Every peer will have to transfer a number
of bytes b
in
i
t
i
. The file is divided into blocks
of this size that are assigned to the peers.
3. To inform each coalition member of the size of
the block to be transferred. p
0
communicates to
each peer member of S the number of bytes to be
transferred.
3 THE INCENTIVE MECHANISM
As we have already mentioned our incentive mecha-
nism is based on providing a better quality of service
to the peers that participate in the coalitions. In order
to achieve this, we define a Responsiveness Bonus,
Rb, for every peer. This value reflects the peer’s over-
all contribution to the system (i.e. how much work
it has carried out for the other peers in the system).
In accordance with the above model, in the proposed
payoff division each peer obtains a utility which is
proportional to the resources that it supplies. There-
fore, the peer p
i
that supply a greater bandwidth (up-
loading peers) will obtain a greater utility, and this
utility will increase its Rb. Conversely, the value of
Rb
i
should be reduced when p
i
acts as a download-
ing peer and does not contribute. We consider that an
auditing authority is responsible for storing and up-
dating the Rb, using proper methods to control the
concurrency.
So the value of Rb
i
will be calculated as a heuristic
function of x
i
that can be adjusted with data from the
real system behavior or from simulation results. This
uses the x
i
values obtained by the uploading peers of
the coalition as uploading points, U p
i
. For the down-
loading peer of the coalition its downloading points,
Dp
i
, are calculated as the average of the utility ob-
tained by the uploading peers of the coalition. Each
2
b
out
i
will be used todownload files from the P2P sharing
file system, in the case p
i
does not have the le previously
and it works for another node in the coalition (it will be 0 if
the peer had the file).
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
18
peer p
i
accumulates Dp
i
andU p
i
points by adding the
points obtained in each coalition formation process in
which it participates
3
.
U p
i
= U p
i
+ x
i
(8)
Dp
i
= Dp
i
+
sS
x
s
/ | S | (9)
Rb
i
is a value included in the interval [0..1].
The correction of the bandwidth is only applied
to the download bandwidth Rb
i
b
out
i
(it makes no
sense to correct the upload bandwidth, because we
would be decreasing the upload capacity of the
collaborative peers). Initially the Rb
i
of the peers
(uploading/downloading) is 1
4
. A higher responsive-
ness bonus (Rb
i
closer to 1) will mean that p
i
will be
able to fill all its reserved bandwidth, since it can add
more peers to the coalition in order to complete its
bandwidth, reducing the download time. Otherwise,
an Rb
i
closer to 0 will limit the possibility of adding
peers to the coalition (in fact, in some cases it will
avoid creating any coalition for the download). In this
way, our incentive mechanism promotes cooperation
taking into account the selfish behavior of the peers.
Rb
i
(U p
i
,Dp
i
,Fs
i
) =
1 if (U p
i
Dp
i
) 0
0 if (U p
i
Dp
i
) < 0U p
i
= 0 Fs
i
= 0
1 if (U p
i
Dp
i
) < 0U p
i
= 0 Fs
i
> 0
U p
i
·γ
Dp
i
if (U p
i
Dp
i
) < 0Up
i
> 0
(10)
The equation 10 computes Rb
i
in relation to Dp
i
,
U p
i
, γ and Fs
i
(the number of files shared by peer i).
IfU p
i
-Dp
i
0, it means that the peer is contribut-
ing to the system more than it is consuming from it,
and so Rb
i
= 1. If, U p
i
= 0, the peer has not con-
tributed anything to the system and, if, in addition,
the number of shared files is 0 obviously the peer is
a free-rider and its Rb
i
must be 0. Conversely, if the
peer has not contributed to the system, but the number
of shared files is not 0, it means that the peer wants
to contribute to the system but its shared files have
still not been downloaded by other peers; So its Rb
i
must stay at 1. Finally, if the peer has contributed to
the system, but less than what it has been consuming
3
Since a new peer that joins the coalition formation sys-
tem will have its uploading and downloading points set to
0, we allow the peers to download a minimum amount set
to a parameter MinDownload.
4
Otherwise their bandwidths would be reduced from the
beginning, and the download times of the files would be
higher (compared to the scheme without coalitions).
from it, its Rb
i
will be proportional to U p
i
/Dp
i
5
. The
variable γ allows us to regulate this formula in order to
increase or decrease the proportional relation between
the benefit, U p
i
, and the penalty, Dp
i
.
4 PERFORMANCE EVALUATION
In this section we describe the simulations we per-
formed and the corresponding results. In order to sim-
ulate our coalition formation model for P2P file shar-
ing, we have defined and implemented a generic P2P
simulator for service oriented networks. The simu-
lation tool is presented in detail in (Belmonte et al.,
2007). Additionally, it should be noted that we are
dealing with situations which are different from tradi-
tional system simulators, since, we are also trying to
model the user behavior. For this reason, and in or-
der to model the user as close to reality as possible,
the peers are classified in three categories according
to their behavior: free-rider, adaptive and collabora-
tive. We will first describe how the user behavior has
been modeled, and then the simulation results.
4.1 Modeling the User Behavior
Free-riding is a consequence of selfish user behav-
ior in file sharing systems. In the case that we want
to study actions to take in order to improve coopera-
tion, modifying user’s behavior, a key step would be
the modeling of users that are going to take part in
the simulation. A realistic simulation should include
three kinds of users (behaviors):
1. Free-rider. Represents the selfish peer which
only downloads files and rejects all the incoming
file requests.
2. Collaborative. Represents collaborative behav-
ior. These peers always try to maximize the sys-
tem performance, so they offer all their available
b
in
i
and accept all the incoming file requests until
their bandwidth is full.
3. Adaptive. Represents intelligent behavior, and
so, is adapted to the evolution of peer welfare.
These users accept download requests as long as
they are interested in downloading a file, that is as
long as they benefit. When the number of target
files is 0 the b
in
i
will be 0. Otherwise, all the en-
tire available b
in
i
will be offered so that a high Rb
is maintained and all the target files can be down-
loaded. In case of multiple requests, the b
in
i
will
be divided among all the requests, taking into ac-
count the Rb of the requester peers.
5
This value is always < 1.
A COALITION BASED INCENTIVE MECHANISM FOR P2P CONTENT DISTRIBUTION SYSTEMS
19
Finally, all of them have a limit of download tries
to avoid them repeatedly asking for the same file.
4.2 Experimental Results
We have run simulations of a P2P network of 1000
peers for 2000 units of simulated time (steps). All
peers have the same bandwidth capabilities, 1024 kbs
for downloads and 512 kbs for uploads. We have de-
fined a collection of files of different sizes, a random
number of copies of these files are delivered through
the peers at the start of the simulation. The minimum
number of copies for a file is 5 and the maximum is
the half part of the number of peers that forms the
network (500 for our experiments). This means that
peers have a random number of initially stored files,
between 0 and the whole collection of files. The ob-
jective of the simulation is that every peer manages
to get the whole file collection, by this we mean, to
download the files that are not initially stored. De-
pending on the peer behavior it will face this objective
in different ways. File sizes range from 10000KB to
90000 KB. Table 1 shows the most important simula-
tion parameters.
Table 1: Simulation Parameters.
Numbers of peers 1000
Simulation steps 2000
b
out
i
500(min)/1024(max)
b
in
i
200(min)/512(max)
File sizes from 10000Kb to 90000Kb
γ Weight U
p
respect
to D
p
1 and 2
To measure the impact of the Adaptive users on
the system the experiments have been run with two
different populations. The first one without Adaptive
users, and the same population for Free Riders and
Collaborative users (50% Free Riders, 50% Collabo-
rative and 0% Adaptive users), we will hereafter re-
fer to this as Population 1. And the second one with
the same population for Adaptive and Collaborative
users (40% Free Riders, 30% Collaborative and 30%
Adaptiveusers), hereafter refereed as Population 2. In
addition, the simulations have been run with two dif-
ferent incentive policies: No Coalitions (NC), where
no incentive mechanism is considered and Coalitions
(C), which implements our proposal. After repeat-
ing the simulation experiments 100 times we take the
average to give the results. To compare how the in-
centive mechanisms and the user behaviors affect the
P2P system, two main metrics have been considered:
Downloaded Bytes and Average Time. In addition an
analysis of the Responsiveness Bonus of the Coalition
mechanism is presented.
4.2.1 Number of Downloaded Bytes
Figure 2 shows the evolution of the downloaded bytes
distribution for No Coalitions mechanism for experi-
ments run with Population 1 on the left and Popula-
tion 2 on the right. Similar figures for Coalitions in
Figure 3. Downloaded bytes can be interpreted as the
benefit obtained from the system. Next, we analyze
these results for the different populations.
In Population 1 all work is done by the collabora-
tive users, since free-riders do not collaborate. Figure
2 left shows the evolution of the distribution of the
downloaded bytes is round 50 % for both users during
the simulation. This means, the collaborative users
do all the work, and the benefits are shared equally
with free riders. However, when we run the Coalition
mechanism, Figure 3 left, free riders are stopped, the
percentage of bytes downloaded by free riders drasti-
cally decreases after the first 100 steps of simulation.
This demonstrates how the coalition formation pre-
vents free-riders from obtaining more bytes as simu-
lation time advances, and so from fully using the sys-
tem resources.
When Adaptive users are simulated, this is Popu-
lation 2, distribution of downloaded bytes are affected
as shown in figures 2 right and 3 right. With respect
to collaborative and adaptive users, both are 30 % of
the population, they do all the work and share more
or less equally the benefits with free riders. In figure
3 right the evolution of the distribution of the down-
loaded bytes shows how free riders are again stopped,
as in Population 1, and this means that the benefit
to be shared between the collaborative and adaptive
users, these are those ones that are uploading files.
In addition, collaborative users increase the percent-
age of downloaded bytes during the simulation; How-
ever, adaptive users first increase and after decrease
the percentage. This is due to the behavior of adaptive
users, which are penalized when they are not sharing
enough.
Table 2: No Coalition Mechanism Downloaded Bytes.
No Coalition Population 1 Population 2
Free Rider 157 Gb 123 Gb
Colaborative 156 Gb 92 Gb
Adaptive 91Gb
total 313Gb 306 Gb
Tables 2 and 3 summarize the downloaded bytes
per populations and per behavior. In both tables it can
be observed that the bytes downloaded by free riders
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
20
Figure 2: Evolution of the Downloaded Bytes Distribution (% Bytes vs Time) for No Coalitions Mechanism , Population 1
(left) and Population 2 (right). Free Rider in red, Adaptive in blue and green for Collaborative users.
Figure 3: Evolution of the Downloaded Bytes Distribution (% Bytes vs Time) for Coalitions Mechanism, Population 1 (left)
and Population 2 (right). Free Rider in red, Adaptive in blue and green for Collaborative users.
Table 3: Coalition Mechanism Downloaded Bytes.
Coalitions Population 1 Population 2
Free Rider 24 Gb 20 Gb
Colaborative 130 Gb 82 Gb
Adaptive 84 Gb
total 154 Gb 186 Gb
are slightly reduced in Population 2 with respect to
Population 1, this is because there are 10% less users
in this population, the average bytes per user is very
similar. With Population 1 it can also be observed that
the coalition mechanism reduces the total bytes down-
loaded to 50,54%, with respect to No Coalitions, but
the 83,61% of this reduction is due to the Free Riders
detection. This shows again how the algorithm pre-
vents free-riders from abusing as simulation time ad-
vances, and from stressing the system resources; and
this leads to a more healthy system.
The Coalition Algorithm (table 3) reacts to the in-
clusion of Adaptive users by increasing by 20% the
total amount of downloaded bytes compared to Pop-
ulation 1, this means that they benefit the whole sys-
tem. In addition, comparing Coalitions and No Coali-
tions with Population 2 (when Adaptiveusers are sim-
ulated), the results are better than with the Population
1. In this case, the total amount is reduced by 38,78%
where 83,15% is due to the Free Rider’s detection.
Notice that when using the second population
there are fewer Free Riders and Collaborative users
in the simulation. This affects the data shared and
demanded in the system,and it justifies the smaller
amount of downloaded bytes.
4.2.2 Average Time
In addition to the total amount of bytes downloaded
during the simulation, the time spent on each down-
load is also a significant measure of the system perfor-
mance. In Figure 4 the average time for each file for
both algorithms is compared (squares for No coali-
tions and diamonds for Coalitions).
Population 1: When Adaptive users are not con-
sidered, Figure 4 left, the best download times are the
ones obtained with Coalitions. For the smallest files,
the times for No Coalitions and Coalitions are quite
similar then, the higher file size is, the greater the time
difference. As expected, the benefit of using Coalition
is increased as the file sizes grows.
Population 2: When Adaptiveusers are introduced
average download time is increased, this is because
the system is more stressed. Adaptive users imple-
ment a selfish behavior, but they have to share in or-
der to obtain benefits and they are capable of simul-
taneous downloads. All of this increases the down-
load time. In Figure 4 right No Coalitions and Coali-
tions show a very similar slope and smaller values for
Coalition mechanism, which also stops Free Riders.
A COALITION BASED INCENTIVE MECHANISM FOR P2P CONTENT DISTRIBUTION SYSTEMS
21
Figure 4: Average Download Time (Time vs Bytes), Population 1 (left) and Population 2 (right).
In this way, the system benefits without penalizing
user‘s downloading times.
4.2.3 Responsiveness Bonus
In Figures 5 left and 5 right we studied the evolu-
tion of the Responsiveness Bonus, Rb. The results
obtained confirm the correct behavior of each type of
user. The Rb of free-rider falls quickly as time goes
on. This evolution is correct because they only down-
load and do not upload files, so the Rb decreases, and
its total bytes downloaded remain static at the begin-
ning of the simulation. In relation to adaptive peers,
they maintain a higher Rb value, while they are down-
loading more data, so they are uploading more files
for other peers than they are downloading. They share
the minimum to keep participating.
Figure 5 left shows the evolution of Rb when
Coalitions are configured with γ = 1 and Figure 5
right with γ = 2. This parameter basically affects
Adaptive users, γ = 1 means that the benefit obtained
for each byte provided is 1, this forces Adaptive users
to give as much as they want to download. When
γ = 2 the benefit is doubled, this allows Adaptive
users to increase and maintain a high reputation with
a lower participation. Notice that the Rb is a limita-
tion of the download capacity of the peer, so in the
first figure, the input bandwidth of Adaptive users is
significantly reduced.
Numerically in the first Figure 100% of Free Rid-
ers are stopped at step 1100 of the simulation time,
and in the second Figure, around step 1700; In fact
50% of Free Riders are detected around step 200 of
the simulation time, and in the second figure this is
achieved around step 300. The Adaptive users cause
a little slowdown on the detection of Free Riders.
5 RELATED WORK
Reviewing the bibliography, several approaches have
been proposed to combat the free riding problem.
Karakaya (Karakaya et al., 2009) et al. have cate-
gorized them into three main types: firstly, incentive
mechanisms based on monetary payments: one party
offering a service to another is remunerated and in-
versely, resources consumed must be remunerated or
paid for. Secondly, mechanisms based on reputation:
it keeps information about the peer reputation, and
peers with a good reputation are offered better ser-
vices. Thirdly, incentive mechanisms based on differ-
ential services or reciprocity-based: peers that con-
tribute more get a better quality of service (Cohen,
2003) (Ramaswamy, 2003) (Karakaya et al., 2008)
(Garbacki et al., 2006) (Mekouar et al., 2006). Our
approach could be included in this category, although
its foundation is different and innovative.
Although some of the above approaches (Ra-
maswamy, 2003) (Karakaya et al., 2008) (Mekouar
et al., 2006) are based on differential services, they
do not promote a cooperative behavior among peers
that improves the download performance in the P2P
System. And, in addition they do not achieve fair ser-
vice differentiation between peers.
Those remaining, more similar to our approach,
propose incentive mechanisms that encourage collab-
oration among peers. For example, 2Fast (Garbacki
et al., 2006) is based on creating groups of peers that
collaborate in downloading a file. However, com-
pared to our proposal, it does not enforce fairness
among the collector and helper peers, and in addition
it is not specified how the helper may reclaim its con-
tributed bandwidth in the future. Bit torrent (Cohen,
2003) is also based on collaboration among peers. Its
”tit-for-tat” policy of data sharing works right when
the peers show a reciprocal interest in a particular file.
However, in bit-torrent, the peers’ download band-
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
22
Figure 5: Responsiveness bonus with γ = 1 (left),γ = 2 (right). Free Rider in solid line, Adaptive in dashed line and dotted
line for Collaborative users.
width is limited to their upload capacity, reducing in
this way the achievable downloadperformance. How-
ever, in our approach, the system’s download capacity
is not reduced to its upload capacity; And, using the
Rb it does not force a ”mutual reciprocity” mecha-
nism (like ”tit-for-tat”); and thus the bandwidth con-
tributed by a peer can be used in later downloads.
EMule (eMule, 2010) also promotes cooperation
among peers. It uses a credit system to reward fre-
quent uploaders and alleviates the free-riding prob-
lem. However, credits are exchanged between two
specific peers, so content trading can happen only be-
tween peers that have mutual interests, and in addition
it does not enforce fairness in bandwidth sharing.
Finally, the work of Ma et al. (Ma et al., 2006),
also provides service differentiation based on the
amount of services that each node has provided to a
P2P community, and it uses a game theoretic frame-
work. However, while we use a cooperative ap-
proach that proposes coalition formation, they pro-
pose a mechanism that makes different requesting
users bid for resources, creating a dynamic compet-
itive game.
6 CONCLUSIONS
In this paper we have presented a coalition formation
based incentive mechanism for P2P file sharing sys-
tems. It is based on game theory and takes into ac-
count the rational and self-interested behavior of the
peers. In (Belmonte et al., 2006b), the initial idea of
applying this model to this problem was presented.
Now, we have formally demonstrated the fairness of
the model using game theory and, more concretely,
the concept of ”core”. In addition, we have modeled
the user behavior and defined the coalition formation
model in order to perform simulations, using the sim-
ulator presented in (Belmonte et al., 2007). The paper
also includes the analysis of the results of these simu-
lations.
Our approach allows any peer with idle bandwidth
to participate in a coalition, uploading files for other
peers in exchange for utility, and consequently greater
download bandwidth; And in addition, it provides, us-
ing the ”core”, a fair utility to the peers forming the
coalition in relation to the bandwidth they supply. To
achieve this, a Responsiveness Bonus that reflects the
peer’s overall contribution to the system is defined,
and the game theory utility concept is used to calcu-
late it.
The simulation results have shown that in relation
to downloaded bytes, the coalition mechanism pre-
vents free-riders from obtaining more bytes as sim-
ulation time increases. In addition, it reacts to the
inclusion of adaptive users increasing by 20% the to-
tal amount of downloaded bytes, so they benefit the
system. In relation to download time, coalitions are
capable of getting the best average download times
and stopping free riders at the same time. Finally,
the simulation of Rb proves that our proposal enables
the selfishness but in exchange for sharing data. This
helps to keep the systems healthy in despite of self-
interested users.
Finally, we are working on the simulation of other
approaches in order to be capable of comparing our
results with existing proposals. And we plan to gen-
eralize the proposed coalition formation algorithm in
order to include Quality of Service information. Our
idea is to form coalitions in such a way that they are
able to provide or guarantee QoS in different aspects
depending on the service or application, i.e. real time
constraints or fault tolerance.
REFERENCES
Androutsellis-Theotokis, S. Spinellis, D. (2004). A sur-
vey of peer-to-peer content distributing technologies.
ACM Computing Surveys, 36-4:335–371.
A COALITION BASED INCENTIVE MECHANISM FOR P2P CONTENT DISTRIBUTION SYSTEMS
23
Belmonte, M. V., Conejo, R., ıaz, M., and P´erez-de-la
Cruz, J. L. (2006a). Coalition formation in p2p file
sharing systems. In Curret Topics in Artificial Intelli-
gence, LNAI 4177.
Belmonte, M. V., Conejo, R., P´erez-de-la Cruz, J. L., and
Triguero, F. (2006b). Coalitions among intelligent
agents: A tractable case. Computational Intelligence.
An International Journal, 22-1:52–68.
Belmonte, M. V., ıaz, M., P´erez-de-la Cruz, J. L., and
Reyna, A. (2007). File sharing service over a generic
p2p simulator. In In Proceedings of Semantic, Knowl-
edge and Grid, SKG-07.
Bertsekas, D. Gallager, R. (1992). Data Networks. Prentice-
Hall.
Cohen, B. (2003). Incentives build robutness in bit torrent.
In Proceedings of the First Workshop on Economics of
Peer-to-Peer Systems.
eMule (2010). The e-mule web site. http://www.emule.net.
Garbacki, P., Iosuo, A., Epema, D., and Van Steen, M.
(2006). 2fast:collaboartive downloads in p2p net-
works. In Sixth International Conference on peer-to-
peer computing, P2P’06.
Golle, P., Leyton-Brown, K., Mironov, I., and Lillibridge,
M. (2001). Incentives for sharing in peer-to-peer net-
works. In ACM Conference on Electronic Commerce.
ACMPress.
Handurukande, S. B., Kermarrec, A., Le Fessant, F., Mas-
souli, L., and Patarin, S. (2006). Peer sharing be-
haviour in the edonkey network, and implications for
the design of server-less file sharing systems. In 1st
ACM Sigops/Eurosys European Conference on Com-
puter Systems. EuroSys ’06.
Kahan, J. Rapaport, A. (1984). Theories of Coalition For-
mation. Lawrence Erlbaum Associates Publishers.
Karakaya, M., Korpooglu, I., and Ulusoy, O. (2008). Coun-
trecting free riding in peer-to-peer networks. Com-
puter Networks, 52:675–694.
Karakaya, M., Korpooglu, I., and Ulusoy, O. (2009). Free
riding in peer-to-peer networks. In IEEE Internet
Computing, pages 92–98.
Ma, R. T. B., Lee, S. C. M., S., L. J. C., and Yau, D. K. Y.
(2006). Incentive and service differentiation in p2p
networks: A game theoretic approach. IEEE/ACM
Transactions on Networking, 14-5:978–991.
Mekouar, L., Iraqi, Y., and Boutaba, R. (2006). Handling
free riders in peer-to-peer systems. In Proceedings of
AP2PC 2005. Lecture Notes in Artificial Intelligence
4118.
Ramaswamy, L. Liu, L. (2003). A new challenge to peer-to-
peer file sharing systems. In 6th Hawaii International
Conference on System Sciences.
Sariou, S., Gummadi, P. K., and Gribble, S. D. (2002). A
measurement study of peer-to-peer file sharing sys-
tems. In Proceedings of Multimedia Computing and
Networking.
Shneidman, J. Parkes, D. (2003). Rationality and self-
interest in peer to peer networks. In Proceedings of the
Second International Workshop on Peer-to-Peer Sys-
tems IPTPS’03.
APPENDIX
We must prove that equations (5) define a payoff di-
vision that lies inside the core.
Group Rationality. First note that always x
i
0.
Moreover, a coalition S such that p
0
/ S has V(S) =
0. So the only thing to prove is that, for every P
N {p
0
}, the coalition S = {p
0
} P has a coalitional
value V(S) such that x(0) +
iP
x(i) V(S). Let us
define Q = NP{b
0
}, p =
b
i
P
b
in
i
, q =
b
i
Q
b
in
i
.
Then
iP
x(i) = t
0
(p+ q)
2
+ b
in
0
p
(b
in
0
+ p+ q)
2
(11)
and
V(S) = t
0
p
b
in
0
+ p
(12)
The difference between (11) and (12) is
t
0
b
in
0
q 0 (13)
Therefore we have proved group rationality.
Global Rationality. Note that the coalitional value
as a function V = v(t
0
,b
in
0
,b
in
1
,...,b
in
n
) (equation 4) is
homogeneous of degree 1. Therefore,
n
0
x(i) = t
0
V
t
0
+ b
in
0
V
b
in
0
+ ...+ b
in
n
V
b
in
n
= V (14)
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
24