Reputation-assisted Utility Maximization Algorithms for Peer-to

Reputation-assisted Utility Maximization Algorithms
for Peer-to-Peer Networks
George Iosifidis
Iordanis Koutsopoulos
Department of Computer and Communications Engineering
University of Thessaly, Volos, Greece
Abstract—Peer-to-peer networks are voluntary resource sharing
systems among rational agents that are resource providers and
consumers. While altruistic resource sharing is necessary for efficient
operation, this can only be imposed by incentive mechanisms,
otherwise peers tend to behave selfishly. Selfishness in general terms
means only consuming resources in order to absorb maximal utility
from them and not providing resources to other peers because this
would require effort and would not give any utility. In peer-topeer networks, this behavior, known as free riding, amounts to only
downloading content from others and leads to system performance
degradation. In this work, we consider a reputation-based mechanism for providing incentives to peers for resource provisioning
besides resource consuming. We consider networks where the access
technology does not separate upstream and downstream traffic, and
these flow through the same capacity-limited access link. Peers do not
know other peers’ strategies and their intentions to conform to the
protocol and share their resources. A separate utility maximization
problem is solved by each peer, where the peer allocates a portion of
its link bandwidth to its own downloads, acting as client, and it also
allocates the remaining bandwidth for serving requests made to it by
other peers. The optimization is carried out under a constraint on
the level of dissatisfaction the peer intends to cause by not fulfilling
others’ requests. This parameter is private information for each
peer. The reputation of a peer as a server is updated based on
the amount of allocated bandwidth compared to the requested one.
Reputation acts towards gradually revealing hidden intentions of
peers and accordingly guiding the resource allocation by rewarding
or penalizing peers in subsequent bandwidth allocations. Our results
confirm that the reputation mechanism discourages selfish behavior
and drives the system to a state where each peer obtains utility in
accordance to its hidden intentions in dissatisfying others.
I. I NTRODUCTION
The peer-to-peer network paradigm has led to a reconsideration of our views on how to model, operate and control
communication networks. Peers get into virtual proximity of
each other by forming networked overlay structures, over which
they exchange content. Such networks are used in file sharing
applications (such as Gnutella, KaZaA, eDonkey and BitTorrent
[1]), while other applications include VoIP (such as Skype), video
distribution (GhostShare), Television content distribution (Joost
[2]) and decentralized auctions (such as PeerMart). Yet other
applications include distributed directory services, web cache,
storage, grid computations and streaming media. Apart from their
decentralized nature, these systems possess the distinctive feature
that peers act simultaneously as clients and servers since they can
serve content requests of other peers while being served by them.
In peer-to-peer systems, the release of a request for an object
by a client peer is followed by a notification about peers that
possess the object. In eDonkey, this notification is performed by
designated nodes. In BitTorrent, the tracker returns a random set
of peers that have the object or part of it. As a client, a peer needs
to determine the peers to which a request for download will be
addressed. In some systems such as eDonkey and BitTorrent, a
client can download different parts of an object from different
peers that have this part. As a server, a peer needs to serve
incoming requests with the available link capacity. A model for
peer-to-peer networks is given in [3].
The operational efficiency of peer-to-peer networks is quantified by the extent to which resource demands of peers are
satisfied, which in turn relies on peer willingness to conform
to the agreed protocol. Like a closed community that is based
on both provisioning and consumption of different goodies for
its prosperity, an overlay network relies on intentions of its
constituent peers to respect the rules of the protocol. However,
the distributed nature and the inherent inclination of peers to
avoid sharing their resources may lead to network malfunction.
Peers naturally tend to be selfish by disallowing others to share
their content since they can only obtain perceivable utility as
clients. This selfish behavior leads to the phenomenon of free
riding, congestion at the nodes that are willing to share content,
and subsequent performance degradation of the network. At the
extreme when there exist too few resource providers (servers) and
too many exclusive resource consumers (clients), the available
resources are not adequate to satisfy demand, and then a small
set of peers (possibly the stronger ones in terms of connectivity
and capability in absorbing resources) end up enjoying network
utility in a parasitic manner−very much in line with what occurs
in malfunctioning societies.
Incentive mechanisms provide means for confronting and discouraging selfishness. In FreeNet, the shared disk space of a
peer is a criterion by which the peer is rewarded. In eDonkey
and eMule, each peer maintains a metric for every other peer,
proportional to the size of the file it obtained from them. The
metric determines serving priorities of other peers in that peer’s
queue. In KaZaa, a participation level metric is defined as the
ratio of uploaded to downloaded file sizes and determines the
file search radius. Finally, in BitTorrent, each peer uploads to
peers that provide him the best download rates. One way of
providing incentives is through a reputation mechanism, which
attempts to specify or estimate the behavioral profile of a peer
in its transactions with other peers and impose certain resource
allocation regimes based on that. The first category of works
in this context study issues directly related to reputation. In
[4], peers use direct and second-hand information to assess the
behavior of other peers. With a statistical approach, erroneous or
incompatible reputation rankings are prevented from inclusion in
reputation updates. In [5], the reputation of a peer is based on
its past interactions and on indirect information from a selected
subset of peers through a weighted voting scheme and can be
used for bandwidth allocation or determination of query time-tolive (TTL) duration [6]. In [7], an iterative distributed algorithm
for trust information aggregation is provided, where each peer
computes the maximum positive eigenvalue of the trust matrix.
The eigenvector corresponding to that eigenvalue is the global
trust vector of peers. Peers use trust values to select servers and
avoid downloading inauthentic files. In the model of [8], each peer
is characterized by its reputation that models its past transaction
behavior, as well as by its inherent tendency to cooperate. The
reputation of a peer converges to its true inclination to cooperate.
Finally, [9] shows that certain server selection and contention
resolution policies need to be adopted by peers when acting as
clients and servers respectively in order for a reputation scheme
to fulfil its purpose.
The second category of works deals with resource allocation
problems that implicitly use reputation or similar concepts. In
[10], peers are selected for downloading so as to minimize the
required download time and the monetary cost for downloading if
a bandwidth pricing function is advertised. In [11], the download
bandwidth offered by a server is allocated across clients based
on their connection type and their tendency to allow sharing of
their resources (which is termed “contribution value”), thereby
enforcing cooperation. The mechanism converges to a Paretooptimal point and optimizes social welfare. The corresponding
bidding game in [12] with bids placed in proportion to (publicly
available) contribution levels is designed so that peers maintain
a level of resource sharing and an equilibrium exists. In [13],
a market-based resource allocation mechanism is proposed for
resource sharing with the objective to maximize total utility.
Users place bids on resources and receive a portion based on
the ratio of placed bid to the sum of bids. The scheme converges
to an equilibrium with good efficiency and fairness. Finally, the
work [14] proposes a protocol for enabling distributed trust-based
policies and regulating the exchange of different type of services
in a peer-to-peer system. The resource allocation and server
selection policies are based on local reputation vectors whose
elements are reputations of peers for providing each service to
the system. It is shown that peers tend to form coalitions and to
cooperate by exchanging resources and services while free riding
behavior is discouraged.
Most of existing works focus on resource sharing by considering only the point of view of client or server. In the former
case, the problem amounts to server selection for downloading
and finding requested amount of resource from each server, while
in the latter case the peer needs to serve clients based on some
criteria. However, both these situations are interrelated, since
the upload decisions of a peer as a server should be related
to the grade of download service it has received as a client. A
peer can be connected to the backbone network in the following
ways: (i) through an access link that can be a cable modem or
ADSL line, where upstream and downstream links are clearly
separated, (ii) through a local hub with which it is connected
with a wireless or non-wireless link with an Ethernet-like protocol
[15]. Then, upstream and downstream traffic takes place over the
same capacity-limited link that connects the peer to the network.
In case (i), although upstream and downstream traffic flow in
separate links, the client operation (download) can be degraded
by the server operation (upload) under certain circumstances.
Specifically, delayed TCP ACK packets of upload streams may
result in reduced link utilization for downloads and up to fivefold increase of download delay [16]. However, case (ii) reflects
better the interplay between the amount of resource dedicated to
downloads from others and resource granted to uploads to others.
Increasing the amount of bandwidth for uploads directly affects
the download bandwidth and thus the perceived utility. Our work
is aimed towards the latter type of connecting access link where
the client-server role tradeoff is more profound and difficult to
address.
We adopt an optimization theory framework where each peer
aims at maximizing a generic utility function that captures the
amount of satisfaction from received resources. A centralized
approach for network utility maximization is not feasible and
meaningful, since peers do not know other peers’ strategies and
intentions. Instead, a separate utility maximization problem needs
to be solved by each peer. Each peer allocates a portion of
its link bandwidth to its own downloads, acting as client, and
it also allocates the remaining bandwidth across requests from
other peers, acting as a server. On the one hand a peer would
like to use the entire bandwidth for its own downloads and
disregard others’ requests as this would maximize its instantaneous utility. However, the dissatisfaction caused to other peers
would be reflected in their subsequent allocation decisions that
would result in reduced allocated bandwidth to the selfish peer.
The optimization by each peer is carried out under an implicit
constraint on the level of dissatisfaction it intends to cause by not
fulfilling others’ requests. This parameter is private information
for each peer, it quantifies its behavioral profile from selfishness
to altruism and is not circulated in the network. We propose a
reputation mechanism, where reputation of a peer as a server
is updated based on the allocated bandwidth compared to the
requested one. Thus reputation acts towards gradually exposing
the intentions of each peer and guiding other peers to reward or
penalize it in subsequent allocations. Our contributions can be
summarized as follows: (i) we address the problem of providing
incentives for resource sharing in a network with downstream and
upstream traffic flowing through the same capacity-limited access
link of each peer, thus capturing the interplay between altruistic
and selfish behavior, (ii) We formulate and solve the optimization
problem that involves peer strategies both as a client and as a
server (iii) we incorporate in our framework a simple reputation
update mechanism for providing incentives, (iv) we characterize
the inclination of each peer to allow others to download from
him by a parameter that is private to each peer and we show
the different resulting utilities as a consequence of that, (v) we
show that independent optimization together with the reputation
update mechanism leads to a state where perceived utility of
a peer is proportional to its tendency to allow downloads by
other peers and thus free riding is avoided. The protocol can be
incorporated in a lightweight manner in a client/server application
software. The rest of the paper is organized as follows. In section
II we present the model and assumptions of our approach. In
section III, we show the reputation mechanism and associated
optimization problem of each peer and make some extensions
to the basic model. Section IV contains simulation results and
section V concludes our study.
II. S YSTEM MODEL AND PROBLEM STATEMENT
A. System model
We consider a set of N peers, each with some content at its
disposal. The system is static, namely we do not consider peers
coming to or leaving the system for a certain time period. Each
peer may provide its content to others upon request, while at the
same time requesting some content by other peers. The set of
peers can emerge from a content discovery mechanism of each
peer. For instance, in BitTorrent the set of N peers is created
by the tracker so that at least one of the peers possesses the
entire object, while the rest only have a part of it. We do not
discriminate peers regarding their content, such as the specific
object pieces. Hence, there is no issue of peer selection based on
the requested content. We assume that the requested content by
a peer is always available at others.
Each peer i is connected to the network through an access link
of capacity Ci bits/sec. Content downloads from server peers and
uploads to clients take place at the same time through this link.
Peers allocate a portion of this capacity for their own downloads
and allocate the remaining capacity to uploads of other peers. Fix
attention to peer i. The identities of servers that have content of
interest to i are assumed to be announced to the peer as mentioned
Peer 1
Peer 1
Backbone
Network
Backbone
Network
x(t)ij
(t)
{yij }
(t)
Peer N
Peer i
Peer i
(t−1)
{xji }, j=1,...N
Peer N
{yji }
Phase II
Phase I
Fig. 1. Peer interactions at time t take place in two phases. Phase I: Each peer i
(t−1)
(t−1)
= {xji
, j = 1, . . . , N, j = i}. By
has stored incoming request vector x̃i
solving the optimization problem outlined in section III.B, it decides on resource
(t)
(t)
request vector xi = {xij , j = 1, . . . , N, j = i} and demand satisfaction
(t)
vector yi
(t)
= {yij , j = 1, . . . , N, j = i}. At the end of phase I, it sends new
(t)
resource requests {xij , j = 1, . . . , N, j = i}. Phase II: Each peer i receives
(t)
amounts {yji , j = 1, . . . , N, j = i} from other peers (in response to its requests
(t)
at t − 1) and sends {yij , j = 1, . . . , N, j = i} to other peers (in response to
.their requests at t − 1).
above. The system resource request matrix is denoted by matrix
X. The i-th row of X, x i = (xij : j = 1, . . . , N, j = i) is the resource request vector of peer i, x i that captures strategy of peer i
as a client and denotes the amount of resource (which we abstract
here by bandwidth) that peer i requests from each server j = i.
The i-th column of X, x̃i denotes the incoming request vector
to peer i from others, i.e., x̃i = (xji : j = 1, . . . , N, j = i).
As a server, peer i considers incoming requests of other peers
and controls the amount of bandwidth it provides to each one
of them. This is specified by the demand satisfaction vector
yi = (yij : j = 1, . . . , N, j = i), where yij is the amount of
bandwidth provided by i to j. We assume absence of congestion
and therefore of any delay caused by the backbone network, so
that the precise allocated bandwidth y ij by peer i is received by
peer each j. Vectors x i and yi completely specify the strategy
of peer i.
We assume that the allocation protocol takes place in consecutive time periods (which we call slots). A graphical representation
is given in figure 1. All peers act in sync with each other.
At the beginning of each slot t, peer i has at its disposal the
(t−1)
incoming request vector x̃i
from the previous slot. At slot t,
(t)
it determines resource request vector x i and demand satisfaction
(t)
vector yi . These decisions emerge from solving an optimization
problem to be outlined in the sequel. The allocated amount of
bandwidth to each client peer does not exceed the requested one,
that is constraint
(t)
(t−1)
yi ≤ x̃i
, for all t
(1)
(t)
(t−1)
holds component-wise, or equivalently y ij ≤ xji
for all j = i.
Furthermore, the link capacity constraint is taken into account,
that is,
(t) (t)
xij +
yij ≤ Ci
(2)
j=i
j=i
Each peer is characterized by a non-decreasing concave utility
function U i (·) which quantifies the amount of satisfaction as a
function of allocated resource. In the current setup we relate
utility to the acquired rate. Nevertheless, it can also represent
perceived peer delay, in which case it will be a convex function
to be minimized. The utility functions of all peers are assumed
to be common information to the system. The case of incomplete
knowledge at a peer about perceived utilities of others or even its
own has interesting repercussions and is worth investigating. In
this work, we will assume common utility function for all peers.
Notice that, in general, each peer i may not be aware of
other peers’ utility functions, U j , j = 1 . . . N , and thus, cannot
calculate the dissatisfaction it causes to them accurately. In this
case, an estimation of the utility function U˜j can be used.
Alternatively, any properly chosen function (e.g. linear) of the
difference between the requested and the granted bandwidth can
be used as a metric for the provoked dissatisfaction.
The fundamental challenge encountered by an incentive mechanism is to impose a resource allocation regime such that free
riding is avoided. Ideally, each peer should end up with perceived
utility that is in accordance with its inclination to share its
resources or not, captured by K i . That is, peers that inherently
do not satisfy requests should ultimately obtain less utility than
peers that tend to satisfy other peers’ requests.
III. R EPUTATION - ASSISTED UTILITY MAXIMIZATION
B. Problem statement
A. Reputation update mechanism
The fundamental tradeoff encountered by a peer is the following. On the one hand, the peer would like to assign as much
capacity as possible to its own downloads, since in that case
it obtains large utility. However, this results in reduced amount
of allocated resource that it uploads to client peers, and has
implications in subsequent obtained utility. In the absence of
incentives, a peer may simply attempt to maximize its utility
by allocating the entire link capacity to its own downloads and
by not providing any capacity to uploads of other peers. That
is, it completely disregards other peer requests and asks for
(t)
j=i xij = C. Clearly, this is not a viable solution and leads
to the problem of free riding and tragedy of commons.
The inherent tendency of a peer i to comply with the protocol
and voluntarily offer its resources by allowing downloads from
others is modeled by a parameter K i . This parameter is hidden
information to other peers and is only known by peer i. Parameter
Ki is connected to the maximum amount of dissatisfaction that
peer i tends to cause to other peers by not fulfilling their resource
requirements. A larger K i denotes a peer that is willing to
dissatisfy others more, while peers with a small K i tend to be
more altruistic by allowing others to download content. Hence a
(t)
larger Ki denotes a misbehaving peer. The dissatisfaction D ij
caused by peer i to peer j at time t occurs if i does not allocate
the requested resources to j. Hence, it is given as the following
difference in perceived utility of the requesting peer:
We introduce a simple reputation mechanism to provide incentives to peers to share their resources. Each peer maintains a
vector of reputation rankings r i = (rij : j = i, j = 1, . . . , N )
of all peers with which it is involved in transactions. Metric r ij
denotes reputation of j in the eyes of i. With each transaction
iteration, this metric is updated, depending on the amount of
allocated resources from j to i in relation to requested amount
from i to j, otherwise the reputation remains unchanged. That is
(t)
(t−1)
Dij = Uj (xji
(t)
) − Uj (yij )
(3)
and is always a non-negative quantity due to constraint (1).
Parameter Ki denotes the maximum amount of dissatisfaction
that peer i causes to others by not fulfilling their requests. Thus,
each peer operates under the constraint:
Dij ≤ Ki .
(4)
j=i
(t+1)
rij
(t+1)
=
(t)
rij
(t)
(t)
+a
yji
(t−1)
xij
(t−1)
, if xij
>0
(5)
= rij . In the above update equation, a is
otherwise, rij
a positive constant. Clearly, the maximum amount by which
reputation can be increased is a. It is important to note that
reputation update is realized independently by each peer and
it relies only on direct peer interaction and not on third party
provided information. Furthermore, it does not need a centralized
authority that keeps track of all transactions. A peer can have
different behavioral profiles towards different peers and hence
different reputation in their eyes. Since reputation can only
increase, peers that are more willing to serve others gain more
reputation, while selfish peers are limited to their initial reputation
values. Parameter a needs to be appropriately selected, since
it denotes in a sense the rate of increase of reputation: large
values of a denote rapidly changing reputation values, while
smaller values correspond to more conservative views. Reputation
values can be initialized after each completion of the peers group
interaction or may be normalized similarly to what is proposed
in [8]. The latter is important so as to prevent constant increase
of reputation values, which would render entrance and content
acquisition difficult for newcomers in the system. Reputation
initialization and appropriate newcomer treatment needs to be
addressed in order to also avoid the white-washing phenomenon,
namely that of peers purposefully leaving and entering the system
under new identities [17].
We now explain the rationale of incorporating reputation to
the proposed model. The reputation values in possession of a
peer about others determine the behavior of this peer as a server,
namely the portion of resources a server peer devotes to satisfying
requests. We do not use the reputation mechanism for designating
the strategy of a peer as a client, namely selecting the servers
from which the download will take place, although such an
extension is certainly possible. Thus, reputation is used only for
assigning resources to requesting peers. Reputation values are
used for weighting the dissatisfaction caused to serving peers. In
other words, the implicit constraint faced by a server peer when
allocating bandwidth for uploads is:
rij Dij ≤ Ki .
(6)
j=i
The dissatisfaction that peer i invokes to peer j is inversely
proportional to reputation r ij . This can be verified by reasoning
as follows. A peer i tends to cause as much dissatisfaction to
others as possible by allocating small portions of its bandwidth
to uploads, in an effort to improve its own utility by downloading
more from others. However, the peer knows that the incurred dissatisfaction is bounded by K i and solves the implicit optimization
problem:
Dij s.t.
rij Dij ≤ Ki .
(7)
max
j=i
The solution to this problem implies that peer i should consider
other peers j = i in increasing order of their reputations, starting
from least reputed ones, should aim at dissatisfying them at
maximum (by not allocating bandwidth to them) and continue in
that fashion until the constraint above is satisfied. As expected,
peers with small reputation values are not allocated bandwidth.
It should be noted that the constraint above also captures the
reasonable fact that each peer knows that if other peers are
dissatisfied, then it will receive low utility in the future and for
that reason it tries to bound the level of dissatisfaction.
The incentive mechanism becomes clear now. By serving
other peers, a peer improves its reputation relative to others and
therefore it will be more satisfied from uploading, namely it
will obtain larger utility. If a peer mostly downloads for its own
benefit, its reputation does not grow and thus it ends up obtaining
smaller utility. With this simple mechanism, peers are discouraged
from free-riding and are encouraged instead to allocate portion
of their bandwidth for uploading of others.
B. Optimization problem
The aforementioned reputation mechanism can be incorporated
in the optimization problem that each peer solves to determine
its resource allocation decisions. Specifically, each peer decides
on its allocation strategy (x i , yi ) by solving the following optimization problem:
max
Ui (xij )
(8)
xi ,yi
subject to:
j=i
j=i
xij +
yij + ≤ Ci
(9)
j=i
(t−1)
− Uj (yij ) ≤ Ki
rij Uj xji
(10)
j=i
(t−1)
yij ≤ xji
, ∀j
(11)
and also xij , yij ≥ 0. Constraint (9) represents bandwidth limitations, constraint (10) focuses on the amount of dissatisfaction
caused to others as outlined above and constraint (11) specifies
that the granted amount of resource is upper bounded by the
requested one. In the formulation above, the notation “(t)” is
dropped from all quantities for notational simplicity, but the
“(t − 1)” ones are kept to emphasize the requested quantities
are to the disposal of peer i from the previous slot.
The only information that needs to be passed from one peer
to another is the requested amount of resources. Each peer i
decides the amount of the upload bandwidth y ij that will be
allocated to each requesting peer individually, and the amount of
download bandwidth, x ij , that will request for the next round. The
constraint of total incurred dissatisfaction needs to be satisfied.
By adopting a simple utility function, e.g. U (x) = log(1 + x)
and applying the Karush-Kuhn Tucker optimality condition, one
can see the dependence of the analytic solution on parameters K i
and Ci and can verify that: (i) the allocated upload bandwidth
by a peer i to other peers is proportional to their reputation, i.e.
(yij + 1)/(yik + 1) = rij /rik ; (ii) the requests of every peer are
identical and equally split among other peers, a presumed result,
since the policy does not use reputation to differentiate among
requested amounts from different peers.
The important thing here is that each peer solves a separate
optimization problem and makes its allocation decisions independently from others. Note however that the utility function
that each peer attempts to maximize does not reflect the actual
utility (which is still unknown, since it depends on allocation
decisions of other peers) but the anticipated utility. After solving
the problem above at each time t, each peer communicates each
component of the request vector x i and the demand satisfaction
vector yi to other peers. In turn, the peer receives requests by
other client peers and allocated resources by servers in response
to its own requests. Then it computes the actual obtained utility
that depends on
the amount bandwidth allocated to it by other
peers, Uact,i = j=i Ui (yji ).
The algorithm can be incorporated in a light-weight fashion
in a resource allocation protocol in a client/server application
software. It is implemented in consecutive iteration rounds, each
of which consists of three stages. Each iteration round denotes
an instance of interaction of peers which adjust their allocation
strategy to maximize their utility. Peers need to readjust their
strategy since they are not aware of the actual behavior of other
peers. They attempt to deduce that behavior by observing the
successive allocations that pertain to them and updating reputation
values. The three stages are as follows:
• Each peer i solves a separate optimization problem by using
the requests that were submitted to it and the requests made
by it in the previous iteration. It computes the resource
request vector and demand satisfaction vectors. Next, peer
i communicates requests x ij to corresponding server peers
j = i and allocates bandwidth y ij to client peers j = i for
downloads according
to the solution of the problem.
• Each peer receives
j=i yji from other peers and transmits
y
to
other
peers
through its access link.
j=i ij
• Each peer i observes the responses to its placed requests and
the extent to which these were satisfied by different peers
and calculates the actual obtained utility. It also updates the
reputation values of other peers based on how well he was
served by each of them.
The first and second stage correspond to phases I and II outlined
in figure 1. As will be shown in the numerical results section,
the algorithm above converges to a point where the allocation
decisions of each peer remain almost the same.
C. Further considerations
By applying the proposed reputation update mechanism, freeriding is discouraged. Furthermore, peers are rewarded according
to their contribution to the system, that is, the amount of bandwidth they allow for uploads. In addition, peers end up obtaining
utility that is consistent to their hidden intentions to conform
to the protocol. Namely, peers with smaller values of K obtain
larger utility, as will be shown in the sequel. While free-riding is
eliminated by the proposed protocol, there are still some issues
to be resolved. We mention some of them next.
1) Discouragement of high demands: A first issue is that a
peer i may purposefully declare excessively high requests to others, or equivalently may not respect the capacity constraint. The
reputation of such a peer is not affected since it continues to serve
requests, but its utility increases since the allocated bandwidth to
it will be proportional to its request. More importantly, this can
lead to the phenomenon where several peers have (to their own
knowledge) low reputations in the eyes of i, which in turn results
in the fact that i can afford to dissatisfy other peers more by not
serving their requests. It is therefore evident that this is another
instance of implicit misbehavior of a peer.
A possible solution to the problem would be to modify the
reputation update formula by adding a factor that considers
the difference between the requested amount of a peer and
the corresponding amount of bandwidth it dedicates for upload.
Thus, peers that request much larger amounts of bandwidth than
allocated upload bandwidths are punished by not having their
reputation increased and subsequently by utility reduction. A
possible formula for reputation update can be as follows:
(t+1)
rij
(t)
= rij + a
(t)
yji
(t−1)
xij
+
b
,
(t)
(t)
1 + xji − yji
(12)
where b is a positive constant.
2) Link utilization: A second issue is link utilization, namely
the amount of actual total flow on the access link of a peer. Each
peer performs optimization under constraints (9)-(11). However,
after receiving the allocated resources, the actual bandwidth over
(t)
(t)
the link of peer i will be
j=i (yij + yji ) and the actually
(t)
(t)
utilized portion of the link is ( j=i (yij + yji ))/Ci . Clearly,
link over-utilization or under-utilization may occur, since the
peer is not in position to predict how the others will respond
to its requests. A possible solution is that each peer i controls
and updates its dissatisfaction factor K i , namely its resource
allocation behavioral profile according to a rule such as,
⎡
⎤+
(t+1)
(t)
(t)
(t)
Ki
= ⎣Ki + s(
yij +
yji − Ci )⎦
(13)
j=i
j=i
where x+ = x if x > 0 and 0 otherwise, and s is a positive
step size that defines the adaptation rule. Besides enforcing full
link utilization, the adjustment of dissatisfaction factor captures
adaptation of peer behavior. If the link is under-utilized, a peer
can voluntarily decrease its K-factor so as to provide better
upload service to other peers. This would result to improvement
of its reputation in the eyes of other peers and subsequently to
reception of higher download bandwidth. In other words, the peer
pushes towards full link utilization in order to implicitly benefit
in the future. On the other hand, if the link is over-utilized, the
peer can increase its K-factor, namely reduce upload bandwidth
for others.
IV. S IMULATION RESULTS
A. Performance Evaluation of our Approach
In order to obtain insights about the proposed reputation
mechanism and the impact of various parameters on performance,
we simulate a toy system of N = 10 interacting peers for
illustrative purposes. It should be noted that the anticipated
size of the group of interacting peers is of the order of a few
tens as implied by the specifics of operation of peer-to-peer
BitTorrent-like systems. Therefore, the goal of the simulations
is to indicate the impact of hidden intentions of peers on their
received utilities and to demonstrate the benefits of applying the
reputation scheme. The basic attributes of each peer i are the
capacity Ci of the access link through which it is connected
to the network and the dissatisfaction factor K i that models
Evolution of utility for a system with no misbehaving peers
18
16
Utility
14
peer with K=1.5, reput
peer with K=1,5, w/o reput
12
10
8
6
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 2. Actual utility vs. number of iterations with and without reputation update.
Evolution of utility for a system with one misbehaving node
16
14
12
peer
peer
peer
peer
10
Utility
its resource allocation intentions. We use the logarithmic utility
function U (x) = log(1 + x) for all peers. The performance
metric is the perceived actual utility of each peer. Simulations
are performed with or without reputation update, where the latter
corresponds to the case where each peer solves the optimization
problem without the reputation weights.
We first consider a system where all peers have an access
link of equal capacity C = 100 units. In figure 2 we depict
the evolution of derived actual utility for a system with identical
resource allocation intentions for all peers, denoted by equal
dissatisfaction factors K = 1.5. The incorporation of reputation
update mechanism is shown to drive each peer to resource
allocation decisions that increase their utility approximately 2.5
times. In figure 3, we consider a system where nine peers have
K-factor equal to 1.5 and one peer notably misbehaves by having
K = 7. The inclusion of reputation update mechanism has
decisive impact on peer utilities and regulates them according to
peer resource allocation intentions. The selfish peer is penalized
by being forced to operate at a point where it does not obtain
utility. On the other hand, peers that voluntarily share their
resources are rewarded by the algorithm and obtain high utility.
Actually, the absence of a reputation mechanism results in slightly
higher utilities for peers with intention to misbehave, which is
not in accordance with desired fair system operation. Finally,
by comparing figures 2 and 3, it is obvious that the presence
of a misbehaving peer degrades the obtained utility of others.
Figure 4 shows that the reputation update mechanism provides a
sense of robustness with respect to the number of misbehaving
peers. When there are two selfish peers, each of them ultimately
obtains zero utility, while each one of the well-behaving peers
is driven to higher utility. The effect of the second misbehaving
peer is reflected in reduced utility of each well-behaving peer by
an amount of 12% compared to the case of one misbehaving peer.
In figure 5, we depict the evolution of utility in a system where
the link capacity of one peer is C = 200 units and link capacities
of other peers are C = 100 units. The dissatisfaction factors
of all peers are K = 1. It can be observed that the reputation
mechanism leads to derived utilities that are proportional to link
capacities of peers. In figure 6 a case where successive underutilization and over-utilization occurs is depicted. Peers here
are highly cooperative with K = 0.2 and with different link
capacities, C = 200 and C = 100. From the plots, one can
observe fluctuations in obtained utilities. The same situation is
considered again in figure 7, but this time we assume that peers
adjust their behavior by updating their K-parameter based on the
rule outlined in the previous section in order to fully utilize link
capacity. Peer utilities can be seen to stabilize better at their maximum values and they are in accordance to corresponding peer
link capacities as expected. The fluctuations due to successive
under- and over-utilization of links are eliminated.
From the simulation results it can be deduced that the utility of
with
with
with
with
K=7, reput
K=1.5, reput
K=7, w/o reput
K=1.5, w/o reput
8
6
4
2
0
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 3. Actual utility vs. number of iterations in a system with one misbehaving
peer.
a peer is directly affected by its link capacity and dissatisfaction
factor and implicitly influenced by other peer capacities and
dissatisfaction factors. The latter are reflected in reputation values
at its disposal. In any case, the reputation of each peer behaves
in accordance to its serving profile. This is depicted in figure 8,
where the evolution of aggregate reputations of a legitimate and
a misbehaving peer are plotted. The aggregate reputation of a
legitimate peer consistently increases, while that of a free rider
remains at its initial low reputation value, thus leading to small
derived utility for that peer.
B. Comparison of our approach to BitTorrent
The proposed mechanism can be applied for small-to-medium
size overlay networks of a few tens of peers in the spirit of
BitTorrent-like models, [18], where a group of peers interact for
a given period. However, a direct fair comparison between our
Evolution of utility for a system with K adjustment
Evolution of utility for a system with two misbehaving nodes
25
14
12
20
10
peers
peers
peers
peers
with
with
with
with
K=7, reput.
K=1.5, reput
K=7, w/o reput
K=1, w/o reput
15
Utility
Utility
8
6
peer with large C
peer with small C
10
4
5
2
0
0
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 4. Actual utility vs. number of iterations in a system with two misbehaving
peers.
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 7. Actual utility vs. number of iterations in a system when the peers adjust
their K parameter.
Evolution of utility for a system with unequal peer capacities
Evolution of aggregate reputation
26
25
24
Aggr. Reput. for a Misbehaving peer
Aggr. Reput. for a legitimate peer
20
peer
peer
peer
peer
Utility
20
with
with
with
with
Aggregate Reputation
22
large C, reput.
small C, reput.
large C, w/o reput.
small C, w/o reput
18
15
10
16
5
14
12
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 5. Actual utility vs. number of iterations in a system with different link
capacities for peers.
0
0
10
Fig. 8.
20
30
40
# of iterations
50
60
70
80
Aggregate Reputation for a cooperative peer and a free rider.
Evolution of utility for a system with highly cooperative peers
30
25
peer with small K and large C
peer with small K and small C
Utility
20
15
10
5
0
0
10
20
30
40
# of iterations
50
60
70
80
Fig. 6. Actual utility vs. number of iterations in a system with highly cooperative
peers.
reputation-based bandwidth allocation procedure and the corresponding method followed by BitTorrent cannot be made, mainly
due to the following reasons: (i) the works related to modeling
of BitTorrent assume a clear distinction between the upload and
download links, while in our approach the upload / download
bandwidths are adaptable; (ii) the number of connections allowed
by a peer in BitTorrent is default to 4 (plus 1 for optimistic
unchoking), while in our approach for a system with N peers,
the upload bandwidth can be shared among any number of peers
from 1 to N − 1.
In BitTorrent, a peer selects the 4 best peers (in terms of the
resource it receives from them) and splits the upload bandwidth,
by giving each of the 4 peers the amount of resource it receives
from each. If the total amount exceeds the upload capacity,
the upload bandwidth provisioned to each peer is appropriately
scaled to fit the upload link capacity. In BitTorrent, selfishness
Evolution of Utility for a system with temporal uploading pause
18
16
14
peer with cont. upload,
our approach
peer with inter. upload,
our approach
peer with cont. upload, BT
peer with inter. upload, BT
12
Utility
and free-riding is punished by applying the tit-for-tat strategy.
In the extreme case that a peer does not contribute upload
capacity to others, that peer is given zero bandwidth and thus it
is driven to zero utility. However, if a peer does contribute some
upload bandwidth, the anticipated utility is determined by that
contribution. In our case the utility of a selfish peer is driven
to very low to zero utility. The fixed number of uploads in
BitTorrent may turn out to be ineffective, in some cases, and
other approaches, e.g. variable number of connections are proved
to give better results [19], [20]. In our algorithm, the server
profile adaptation is decided by solving the optimization problem.
Neither the number nor the bandwidth of upload connections are
predetermined.
In order to make a comparison to BitTorrent, we consider the
following model of BitTorrent, tailored to our setting. Each peer
with factor Ki sets its upload bandwidth to U i = C/(aKi ) where
a is a tuning factor. Peers with large K i have thus less allocated
portion of their bandwidth for uploads. This portion is kept fixed.
Each peer splits its upload bandwidth to others equally in the
beginning. At each iteration, each peer i takes turns and performs
the following update:
10
8
6
4
2
0
0
10
20
30
40
50
# of iterations
60
70
80
Fig. 9. Actual utility vs. number of iterations in a system with temporal pause
in a peer’s uploading.
Evolution of Utility for a system with one misbehaving peer
18
16
(t−1)
k=i yki
14
(14)
For demonstration and comparison purposes, we have considered that in the BitTorrent model each peer uploads to 9 other
peers, as many as in our model. Note that this number is fixed,
in order to comply with the BitTorrent protocol. Furthermore,
the timescale of the interactions for the BitTorrent model and the
proposed mechanism are identical, i.e. in every time slot peers
make uploading and, in our model also, downloading decisions.
Finally, scaling parameter a has been properly chosen in order, for
the legitimate peers, the link capacity to be equally split between
uploading and downloading streams.
Our approach can be viewed as an improvement to current
BitTorrent - like protocols. The use of reputation as cumulative
contribution metric eliminates the memorylessness weakness of
BitTorrent’s reciprocative allocation mechanism. For example
a temporal pause in a peer’s uploading would not result to
its immediate rejection (choking) by its servers. The use of
reputation provides incentives for collaboration while smoothing
out events like the one above, as it is demonstrated in figure
9. Additionally, the proposed mechanism provides a more stern
treatment for the selfish nodes. If a peer misbehaves, then it is
punished by gradually receiving zero utility. On the other hand,
as it is depicted in figure 10, the BitTorrent protocol does not
presume zero granted bandwidth for selfish peers. Due to the
fixed number of uploading connections, the treatment of these
nodes depends on their relative (to other nodes) contribution.
Thus, BitTorrent is amenable to gaming/strategic behavior.
peer
peer
peer
peer
12
Utility
(t)
yij = Ui (t−1)
yji
10
with
with
with
with
K=0.5, our approach
K=5, our approach
K=0.5, BT
K=5, BT
8
6
4
2
0
0
10
20
30
40
50
# of iterations
60
70
80
Fig. 10. Actual utility vs. number of iterations in a system with one misbehaving
peer.
V. D ISCUSSION
This work constitutes a first attempt to incorporate an optimization framework into reputation mechanisms for peer-to-peer
networks. Each peer makes its allocation decisions independently
from others to maximize its utility. The hidden intentions of each
peer with regard to allowing downloads of others are captured
by dissatisfaction factor K which is private information for a
peer. We addressed the problem for the case where the access
technology dictates that upstream and downstream traffic flow
through the same link of each peer in order to precisely capture
the dilemma of a peer between granting bandwidth to downloads
of others and using bandwidth for its own downloads. We
proposed a reputation mechanism that provides incentives to peers
to allocate portion of their link bandwidth to downloads of others.
Peers that tend to misbehave by not providing bandwidth for
downloads of others are punished by being driven to low utility,
while peers that altruistically allocate bandwidth to downloads of
others are rewarded by receiving higher utility themselves. Pairwise reputation factors gradually reveal hidden intentions of users
and guide resource allocation decisions of peers.
There exist several directions for future study. In our approach,
we assumed that requested content is always available at other
peers. This may capture the case where peers have different
portions of a file and interact in order to obtain the entire file;
however a more elaborate model needs to be devised to include
cases where content is not available to requested peers and
transitive content transfers between peers through a third peer take
place. Formal matching of parameter K to the behavioral profile
of a peer, reputation initialization, treatment of newcomers and
calibration of constants in reputation update need to be studied
further. Another feature of our approach is that a peer uses pairwise reputation values; however, in certain cases, e.g. when a peer
A does not have interaction with peer B but the latter behaves
well in interacting with others, it is desirable to consider overall
contribution of a peer in a network to make decisions. Second,
each peer may control its resource allocation profile as captured
by parameter K i so as to make better use of link capacity.
A formal model could be devised, perhaps along the lines of
optimization-based congestion control [21], where price update is
used for flow control. Another dimension that was not considered
in our model is the use of reputation for server selection as well.
It would be interesting to investigate properties and algorithms in
that case. Devising a formal model of the system, together with
convergence proofs for the algorithms is another issue for future
investigation.
In our model we assumed publicly available information about
utilities of peers. The case where a peer has partial information
about utilities of others (and even its own utility) may appear
often and seems to have interesting repercussions. Furthermore,
a more detailed model for reputation updates could take into
account specifics of content sharing applications such as file
popularity. In that case, the reputation of a peer would also depend
on the popularity index of provided content. Finally, it is very
interesting to dwell into game theoretic ramifications of the model
that arise from inherent peer competition. The interaction of peers
could be modeled as a repeated game with the strategy space of
each peer consisting of its request and serving decisions. The
reputation values can be normalized and used as the probabilities
for the mixed strategies. Multiplying these probabilities with
the resource allocation decisions (serve/not serve, request/not
request) results in the final requested and allocated bandwidth.
On the other hand, the dissatisfaction factor of a peer could be
interpreted as the type of a player and modeling along the lines
of a Bayesian game would be worth investigating.
VI. ACKNOWLEDGEMENT
The authors acknowledge support from the European Commission through STREP project NET-REFOUND (FP6-IST-034413).
R EFERENCES
[1] E.K. Lua, J. Crowcroft, M. Pias, R. Sharma ans S. Lim, “A survey and
comparison of peer-to-peer overlay network schemes”, IEEE Comm. Survey
and Tutorial, March 2004.
[2] http://www.joost.com.
[3] D. Qu and R. Srikant, “Modeling and performance analysis of BitTorrent-like
peer-to-peer networks”, Proc. ACM SIGCOMM, 2004.
[4] S. Buchegger and J.-Y.L.Boudec, “A Robust Reputation system for P2P and
mobile ad-hoc networks”, Second Workshop on Economics of Peer-to-Peer
Systems, 2004.
[5] S. Marti, and H. Garcia-Molina, “Limited reputation sharing in P2P systems”,
Proc. 5th ACM Conference on Electronic Commerce, 2004.
[6] S.D. Kamvar, M.T. Schlosser, and H. Garcia-Molina, “Incentives for combating freeriding in P2P Networks”, Technical report, Stanford University,
2003.
[7] S.D. Kamvar, M.T. Schlosser, and H. Garcia-Molina, “The eigentrust algorithm for reputation management in P2P Networks”, Proc. 12th International
Conference on WWW, 2003.
[8] B. Mortazavi, and G. Kesidis, “Incentive-compatible cumulative reputation
systems for peer-to-peer file-swapping”, Proc. IEEE CISS, 2006.
[9] T.G. Papaioannou and G.D. Stamoulis, “Effective use of reputation in peerto-peer environments”, Proc. 4th International Scientific Workshop on Global
and Peer-to-Peer Computing, 2004.
[10] M. Adler, R. Kumar, K. Ross, D. Rubenstein, T. Suel and D.D. Yao,
“Optimal peer selection for p2p downloading and streaming”, Proc. IEEE
INFOCOM, 2005.
[11] R.T.B. Ma, S.C.M. Lee, J.C.S. Lui, and D.K.Y. Yau, “An Incentive
Mechanism for P2P Networks”, Proc. Internat. Conf. Distr. Comp. Systems
(ICDCS),pp.516-523, 2004.
[12] R.T.B. Ma, S.C.M. Lee, J.C.S. Lui, and D.K.Y. Yau, “Incentive and Service
Differentiation in P2P networks: A Game theoretic approach”, IEEE/ACM
Trans. Networking, vol. 14, no. 5, pp. 978-991, Oct. 2006.
[13] M. Feldman, K. Lai, and L. Zhang, “A Price-Anticipating Resource Allocation Mechanism for Distributed Shared Clusters”, Proc. 6th ACM Conference
on Electronic Commerce, Jun. 2005.
[14] A. Satsiou, and L. Tassiulas,“A Trust-Based Exchange Framework for
Multiple Services in P2P Systems”, Proc. 7th IEEE Intern. Conf. on Peerto-Peer Computing, 2007.
[15] M. Meo, and F. Milan, “A Rational Model for Service Rate Allocation in
Peer-to-Peer Networks”, Proc. 8th IEEE Global Internet Symposium, 2005)
March 2005.
[16] M. Feldman, K. Lai, J. Chuang, and I. Stoica, “Quantifying Disincentives
in Peer-to-Peer Networks”, In 1st Workshop on Economics of Peer-to-Peer
Systems, 2003.
[17] M. Feldman, C. Papadimitriou, I. Stoica, and J. Chuang, “Free-Riding
and Whitewashing in Peer-to-Peer Systems”, Proc. SIGCOMM Workshop on
Practise and Theory of Incentives and Game Theory in Networked Systems,
2004.
[18] A. Bharambe, C. Herley, and V. Padmanabhan, “Analyzing and improving
a BitTorrent Network’s Performance Mechanisms”, Proc. IEEE INFOCOM,
2006.
[19] G. Neglia, G. L. Presti, H. Zhang, and D. Towsley, “A network formation
game approach to study BitTorrent Tit-for-Tat”, In EuroFGI International
Conference on Network Control and Optimization, 2007.
[20] H. Zhang, G. Neglia, D. Towsley, G. L. Presti, “Unstructured File Sharing
Networks”, Proc. IEEE INFOCOM, 2007.
[21] S. Low, D.E. Lapsey, “Optimization-based flow control I: Basic algorithms
and convergence”, IEEE/ACM Trans. Networking, vol.7, no.6, pp.861-874,
Dec. 1999.