20
Counteracting free riding in Peer-to-Peer networks q Murat Karakaya * , _ Ibrahim Ko ¨ rpeog ˘lu, O ¨ zgu ¨r Ulusoy Department of Computer Engineering, Bilkent University, 06800 Ankara, Turkey Received 11 January 2007; received in revised form 10 October 2007; accepted 4 November 2007 Available online 17 November 2007 Responsible Editor: Y.C. Hu Abstract The existence of a high degree of free riding is a serious threat to Peer-to-Peer (P2P) networks. In this paper, we propose a distributed framework to reduce the adverse effects of free riding on P2P networks. Our solution primarily focuses on locating free riders and taking actions against them. We propose a framework in which each peer monitors its neighbors, decides if they are free riders, and takes appropriate actions. Unlike other proposals against free riding, our framework does not require any permanent identification of peers or security infrastructures for maintaining a global reputation sys- tem. Our simulation results show that the framework can reduce the effects of free riding and can therefore increase the performance of a P2P network. Ó 2007 Elsevier B.V. All rights reserved. Keywords: Free riding; Peer-to-Peer networks; Gnutella; Distributed computing; Performance evaluation 1. Introduction The Peer-to-Peer (P2P) computing paradigm has attracted a significant amount of interest because of its capacity for resource sharing and content dis- tribution. Although there are different architectural designs and applications for P2P computing, file sharing is the most commonly used application; in nearly all P2P file sharing systems files are stored at peers, searched through the P2P network mecha- nisms, and exchanged directly between peers using the underlying network infrastructure and its proto- cols. In the ideal case, a file that is downloaded by a peer is automatically opened for sharing with other peers. However, peers may be reluctant to share a downloaded file to save their own resources. There- fore, the primary property of P2P systems, the impli- cit or explicit functional cooperation and resource contribution of peers, may fail and lead to a situa- tion called free riding. As a P2P concept, free riding means exploiting P2P network resources (through searching, down- loading objects, or using services) without contrib- uting to the P2P network. A free rider is a peer that uses the P2P network services but does not 1389-1286/$ - see front matter Ó 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2007.11.002 q This work is partially supported by The Scientific and Technical Research Council of Turkey (TUBITAK) with grant numbers EEEAG-104E028 and EEEAG-105E065. * Corresponding author. Tel.: +90 312 290 2599; fax: +90 312 266 4047. E-mail addresses: [email protected] (M. Karakaya), [email protected] ( _ I. Ko ¨ rpeog ˘lu), [email protected]. edu.tr (O ¨ . Ulusoy). Available online at www.sciencedirect.com Computer Networks 52 (2008) 675–694 www.elsevier.com/locate/comnet

Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Available online at www.sciencedirect.com

Computer Networks 52 (2008) 675–694

www.elsevier.com/locate/comnet

Counteracting free riding in Peer-to-Peer networks q

Murat Karakaya *, _Ibrahim Korpeoglu, Ozgur Ulusoy

Department of Computer Engineering, Bilkent University, 06800 Ankara, Turkey

Received 11 January 2007; received in revised form 10 October 2007; accepted 4 November 2007Available online 17 November 2007

Responsible Editor: Y.C. Hu

Abstract

The existence of a high degree of free riding is a serious threat to Peer-to-Peer (P2P) networks. In this paper, we proposea distributed framework to reduce the adverse effects of free riding on P2P networks. Our solution primarily focuses onlocating free riders and taking actions against them. We propose a framework in which each peer monitors its neighbors,decides if they are free riders, and takes appropriate actions. Unlike other proposals against free riding, our frameworkdoes not require any permanent identification of peers or security infrastructures for maintaining a global reputation sys-tem. Our simulation results show that the framework can reduce the effects of free riding and can therefore increase theperformance of a P2P network.� 2007 Elsevier B.V. All rights reserved.

Keywords: Free riding; Peer-to-Peer networks; Gnutella; Distributed computing; Performance evaluation

1. Introduction

The Peer-to-Peer (P2P) computing paradigm hasattracted a significant amount of interest becauseof its capacity for resource sharing and content dis-tribution. Although there are different architecturaldesigns and applications for P2P computing, filesharing is the most commonly used application; in

1389-1286/$ - see front matter � 2007 Elsevier B.V. All rights reserved

doi:10.1016/j.comnet.2007.11.002

q This work is partially supported by The Scientific andTechnical Research Council of Turkey (TUBITAK) with grantnumbers EEEAG-104E028 and EEEAG-105E065.

* Corresponding author. Tel.: +90 312 290 2599; fax: +90 312266 4047.

E-mail addresses: [email protected] (M. Karakaya),[email protected] (_I. Korpeoglu), [email protected] (O. Ulusoy).

nearly all P2P file sharing systems files are storedat peers, searched through the P2P network mecha-nisms, and exchanged directly between peers usingthe underlying network infrastructure and its proto-cols. In the ideal case, a file that is downloaded by apeer is automatically opened for sharing with otherpeers. However, peers may be reluctant to share adownloaded file to save their own resources. There-fore, the primary property of P2P systems, the impli-cit or explicit functional cooperation and resourcecontribution of peers, may fail and lead to a situa-tion called free riding.

As a P2P concept, free riding means exploitingP2P network resources (through searching, down-loading objects, or using services) without contrib-uting to the P2P network. A free rider is a peerthat uses the P2P network services but does not

.

Page 2: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

676 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

contribute to the network at an acceptable level. Acontributor, on the other hand, is a peer that con-tributes to the network by sharing its resources withother peers.

Researchers have observed a high degree of freeriding in P2P networks, and they argue that it isan important threat against efficient operation ofP2P networks [1,12]. Free riding causes several neg-ative side effects. In a free riding environment, asmall number of peers serve a large number of peers;many download requests are directed towards a fewserving peers and this may lead to scalability prob-lems [3]. This also leads to a more client–server likeparadigm [8,9] and adversely affects P2P networkadvantages. For example, the fault-tolerance prop-erty of P2P networks may be weakened when a verysmall portion of the peers provides most of the con-tent. Renewal or presentation of interesting contentmay decrease in time, and the number of shared filesmay grow very slowly. The quality of the searchprocess may degrade due to an increasing numberof free riders on the search horizon. As the peersage in the network, they may stop finding interestingfiles and may leave the system for good with all thefiles they shared earlier [3,10]. Moreover, the largenumber of free riders and their queries will generatea lot of P2P network traffic, which may lead to deg-radation of P2P services. Furthermore, underlyingavailable network capacity and resources will beoccupied by free riders; this will cause extra delayand congestion for non-P2P traffic.

Our focus in this paper is unstructured (pure)P2P networks, specifically the Gnutella network[17], and we provide a remedy to free riding in suchnetworks. In an unstructured P2P network, there isno central coordination and central indexing mech-anism for shared resources [4,24,25]. No peer has aglobal view of the network, and global behavior ofthe network emerges from local interactions. Whilethese features enable unstructured P2P networks tobe very successful, they also bring some problems.Among the problems of such networks is the so-called reputation problem. In an unstructured P2Pnetwork, peers interact with unknown peers andhave no information about their reputations. Inother words, they do not know to what extent theycan trust the other peers and the data provided bythem. As a result, it is not easy to detect free riderpeers and act against them.

Our proposed framework consists of two mecha-nisms. The first mechanism is to be used for locatingand detecting free riders. The second one is pro-

vided to take discouraging counter-actions againstfree riders. The mechanisms are distributed andlocalized, where each peer is only required to mon-itor its neighbors and make decisions and takeactions based on this localized monitoring. Oursolution also requires minimal changes to the cur-rent protocol processing rules and it does notrequire any architecture changes. As opposed tomany solutions that execute the counter-actions atthe download request phase, our solution executessome counter-actions at the query forwardingphase, i.e. during the search operation. In thisway, our solution reduces not only the downloadsperformed by free riders, but also the query mes-sages flowing in the network due to free riders. Thisconsiderably reduces the network traffic overhead.

Free riders can conceive various attacks to bypassour framework. For example, to cheat the detectionmechanism free riders may behave as if they sharefiles by submitting fake query hit messages or bysharing fake files. To avoid the counter-actions freeriders can continuously change their neighbors. Weprovide a detailed discussion on possible attacksand how the proposed framework copes with them.Simulation experiments prove that most of the possi-ble attacks cannot render our mechanisms obsolete.

The organization of the paper is as follows. InSection 2, we discuss the related work. The mecha-nisms used for locating free riders and takingactions against them are described in Section 3.The simulation model used in performance experi-ments and the results obtained are presented in Sec-tion 4. We discuss some possible attack scenariosfrom free riders to our framework and provide somepossible solutions in Section 5. Finally, in Section 6,we summarize our conclusions.

2. Related work

Adar and Huberman were the first researchers toextensively analyze the user traffic on the Gnutellanetwork and to point the high level of free riding[1]. They found out that 70% of the peers do notshare any files at all. Furthermore, 63% of the peerswho share some files do not get any queries for thesefiles. It is interesting that 25% of all the peers pro-vide 99% of all the query hits in the network.

After Adar and Huberman’s work, there havebeen other studies observing free riding in P2P net-works [9,37–39]. In general, the results indicate anincreasing level of free riding. For example, Hugheset al. observed that 85% of peers share no files at all

Page 3: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 677

[37]. Similarly, Yang et al. reported a high level offree riding in the Maze P2P network in spite ofthe incentive mechanism provided by the system[38]. Recently, Handurukande et al. observed freeriding in eDonkey P2P network and concluded thatthe free riding phenomenon is common to mostPeer-to-Peer file sharing systems, and the eDonkeyP2P network is not an exception [39].

Some researchers have attempted to solve thefree riding problem by following incentive-basedapproaches. For example, in [3], Ramaswamy andLiu propose calculating a utility function for eachpeer in order to estimate its usefulness to the wholecommunity. With this method, free riders cannotdownload files from the system if their utility valueis lower than the size of the requested file. The pro-posed solution depends on accurate informationabout peers which is provided by the peers them-selves. Such a P2P network can be cheated by mali-cious client programs. Therefore, this methodcannot fully prevent free riding. Any method to pre-vent free riding should be designed so that it doesnot solely depend on user-submitted information,or it should create incentives for the peers to reportaccurate information [9,18,19]. As another example,Vishnumurthy et al. [13] suggest using a single scalarvalue called Karma to evaluate a peer’s utility to asystem as in [3]. A peer’s account is replicated bya group of peers, called the bank-set, in order tosecure the Karma against tempering or being lost.Each of the above schemes that depends on micropayments has limitations when applied to manycommon P2P network architectures [11,21,36] dueto the requirement of an infrastructure for account-ing. In general, incentive schemes based on persis-tent identifiers are complicated by the anonymityof peers, by collections of widely dispersed peers,and by the ease with which peers can modify theironline identity [11,21,36]. For example, to makethe scheme work, a group of peers must be knownto store Karma value. Whenever a peer’s Karmachanges, a predefined number of these peers shouldbe reachable. Therefore, the identification of thepeers should be known and be permanent. How-ever, unstructured P2P networks do not supportpermanent and reliable identification mechanisms.

In our work, we do not propose to use any scor-ing value for a peer’s utility to the system. Thus, wedo not have to bother with storing, retrieving, andsaving a utility value. Each peer just stores informa-tion about the neighbors’ messages which are routedthrough it. Furthermore, we do not require the

explicit cooperation of any group of peers to makethe system work. Each peer executes the same kindof mechanisms alone and does not depend on anyother peer’s cooperation. Our approach can beimplemented on both types of P2P networks, i.e.,structured and unstructured. In this work, we focuson implementing it on unstructured P2P networks.

There are a number of reputation systems, such as[33–35], proposed to form a basis of an incentive sys-tem and to assist peers in their decision making whileinteracting with other peers. Tracking peer reputa-tions in decentralized P2P networks may be prob-lematic due to lack of a central authority. In theproposed solutions a certain amount of centraliza-tion is required to realize the reputation system,which contradicts with the principles of unstructuredand decentralized P2P networks, such as Gnutella.The main difference between these approaches andour proposal is that our mechanisms are fully decen-tralized and distributed conforming to the principlesof unstructured decentralized P2P networks.

In [26], the authors propose an incentive model,SLIC, to encourage cooperation in unstructuredP2P networks, which also depends on the localinteractions of peers. In SLIC, each peer assignsand updates weights to its neighbors based on thenumber of query hits it receives via its neighbors.Those weights determine the amount of messagingcapacity assigned to each neighbor. Our frameworkdoes not do such a capacity assignment for neigh-bors. Instead, it focuses on detection of neighborsthat are free riders and taking counter-actionsagainst them. Moreover, our framework countsboth query hits and query messages, and considersalso the originator and receiver of these messages.Based on these information peers make a decisionabout their neighbors. Our framework also catego-rizes the free riders into several categories. Thisenables us to apply several different counter-actionsthat are tailored to the types of free riding. Addi-tionally, while we assess the contribution of eachindividual neighbor to the monitoring peer andthe overall system, SLIC evaluates the contributionof the sub-network reachable via each neighbor.

3. Our framework and mechanisms against free riding

In our framework against free riding, peers’ con-tribution to the network will be monitored; if theywant to use the network’s services and resources,they will be forced to act cooperatively. The goalof our framework, however, is not to eliminate all

Page 4: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

1 Due to the power-law distribution of node degrees observedin P2P networks [6], we expect the average number of neighborsof a peer to be around 3–4, and therefore the overhead imposedby the solution on each peer will not be very large. Even if thenumber of neighbors is larger than the average, the space andprocessing requirements are very low.

678 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

possible kinds of free riding. For example, we donot aim to promote or enforce new content contri-bution by peers, as this may not be feasible. Ourlow-overhead framework aims to improve the cur-rent situation and reduce the ill-effects of free ridingby detecting free riders and reducing the amount ofservice they get from the network. In this way, peerswill be indirectly forced to cooperate in order to usethe services a P2P network provides.

3.1. How an unstructured P2P network operates

Before going into details about the proposedmechanisms, we would like to summarize the impor-tant components and processes in an unstructuredP2P network. Gnutella [17] represents an importantclass of these P2P networks. Below we mainly usethe Gnutella protocol for explaining operations inunstructured P2P networks.

In an unstructured P2P network, to become amember of the network, a user (peer) has to openone or more connections with other peers that arealready in the network. Once connected to the net-work, the user can search the network by sendinga Query message (request) to its neighbors. Eachneighbor then forwards the request to all its neigh-bors, and these peers in turn forward the request,and so on, until the message is forwarded by a pre-determined number of ‘‘hops” from the sender. Torestrict the broadcasting of a Query message, thenumber of hops is controlled using the Time-To-Live (TTL) field of the Query message. Each for-warding peer decreases TTL value by one. If TTLvalue of a Query is zero, peers drop this messageinstead of forwarding it. If a Query turns up aresult, the peer that has the result sends back aQuery Hit message to the originating peer. TheQuery Hit message is sent back along the oppositepath the Query came in through. The Query Hitmessage contains the IP address and port numberof the answering peer. If the user decides to down-load the file, it requests the file from the providerthrough a direct connection.

A two-tiered overlay structure which dividespeers into two groups (ultrapeers – or superpeers –and leaf peers) has also been proposed. Leaf nodesare located at the ‘‘edge” of the network and theyare not responsible for any routing. The leaves areconnected to the overlay through a few ultrapeers.On the other hand, the nodes which have high-bandwidth and are not behind firewalls are selectedas ultrapeers. Ultrapeers accept leaf connections

and route their queries. This approach reduces thenumber of messages forwarded towards leaf peerswhich in turn increases the scalability of the net-work. In this paper, we focus on the flat unstruc-tured P2P networks.

3.2. Our approach

Our approach against free riding requires everypeer to passively monitor its neighbors. Two rolesare defined for each peer: monitoring and being con-

trolled. A peer takes both roles at the same time. As amonitoring peer, a peer monitors and records thenumber of messages coming from and going towardsits neighbors (i.e. keeps some statistical informa-tion). The neighbors are controlled peers. At thesame time, the peer is also a controlled peer, whichimplies that its messages are monitored and recordedby its neighboring peers. By monitoring the mes-sages of its neighbors, a monitoring peer can decideif a neighbor is acting like a free rider. Upon decidingthat the neighbor is acting as a free rider, the moni-toring peer can take counter-measures against thatneighbor to reduce the adverse effects of free riding.

3.3. Counters

The statistical information1 that a monitoringpeer maintains about a controlled peer P consistsof a set of counters that are shown in Table 1. Thesecounters are maintained and updated by the moni-toring peer as follows.

� QRP , the number of Query messages routed bypeer P, is incremented whenever the monitoringpeer receives a Query message from peer P inwhich the TTL value is less than the fixed maxTTL. The Queries originating from peer P arenot counted; only the Queries originated at some-where else and routed by peer P are counted. Themonitoring peer decides if the Query was origi-nated by the neighbor or not by looking at theTTL value. If the neighbor P has originated theQuery, then the Query message would have aTTL value equal to the fixed max TTL.

Page 5: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Table 1Observed counters

Symbol Description

QRP Number of Query messages routed by peer P

QT P Number of Query messages routed towards peer P

QHP Number of QueryHit messages submitted by peer P

QHRP Number of QueryHit messages routed by peer P

QHSP Number of QueryHit messages satisfying queriesof peer P

Table 2Summary of free riding types and their properties

FR type None Non-contributor

Consumer Dropper

Sharingcontent?

Yes,much

No Yes, butlittle

No

Replicatingcontent?

Yes No No No

Routingmessages?

Yes Yes Yes No

Requestgenerationrate

Normal Normal Higher Normal

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 679

� QT P , the number of Query messages routedtowards peer P, is incremented whenever themonitoring peer sends a Query message to theneighbor P. Both the Query messages originatedat the monitoring peer and the Query messagesjust forwarded by the monitoring peer arecounted.� QH P , the number of QueryHit messages sub-

mitted by peer P, is incremented whenever themonitoring peer receives a QueryHit messagefrom peer P. The message must be originated(not forwarded) by peer P. The monitoring peercan decide this by looking at the IP address fieldof the message, which stores the IP address of theoriginator of the message.� QHRP , the number of QueryHit messages rou-ted by peer P, is incremented whenever the mon-itoring peer receives a QueryHit message frompeer P in which the IP Address field in the mes-sage contains an IP address different than thatof the peer P. QueryHit messages originatingat peer P are not counted.� QHSP , the number of QueryHit messages sat-isfying queries of peer P, is incrementedwhenever a Query message formerly submittedby peer P receives a QueryHit through or fromthe monitoring peer. To observe this, wheneverthe monitoring peer receives a Query messagewhose TTL is the fixed max TTL, it records inits internal table (using the message ID of theQuery message) that the Query originated fromthe neighbor P. Then, after receiving a Query-

Hit message with the same message ID, themonitoring peer decides that the QueryHit mes-sage is for that controlled neighbor and incre-ments the counter QHSP . The monitoring peercounts only once for all the QueryHit messagesreceived for the same query.

The values of these counters indicate bothwhether the neighbor is a free rider and the typeof free riding. A different set of counters is main-

tained for each neighbor. The details of how weemploy these counters are explained in the followingsections.

We need to consider the issue of whether there isenough time during a typical monitoring process tocollect sufficient information about the neighbors tomake correct decisions about their behavior. In onestudy [8], about 40% of peers in a Gnutella networkleave the network in less than 4 h; only 25% of thepeers are alive for more than 24 h. In another work[9], the average session duration of both Napsterand Gnutella network clients is reported to be about60 min. A similar work [10] found that 90% ofKazaa clients have sessions averaging 30 min inlength. All these studies show that most peers in aP2P network stay connected long enough for mon-itoring peers to collect enough information to makecorrect decisions.

Another issue is whether a monitoring peer canmonitor enough messages. In one study [2], theaverage number of queries received per second forthree peers located at three different locations isabout 50. In that same study, each peer receives orsends an average of 30 query responses per secondand the query response ratio per peer is around10–12%. This study shows that a monitoring peerwill have enough messages forwarded through itselfto or from a neighbor to judge if the neighbor is afree rider.

3.4. Free riding types

Previous works on free riding [12–14,21,22] havegenerally assumed that only one type of free ridingis exhibited in a P2P network. However, studies[1–3,9,10] on P2P network traffic and user behaviorsuggest that not all free riders behave the same.Therefore, in this paper we define three types of free

Page 6: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

680 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

riding (non-contributor, consumer, dropper) withdifferent properties as summarized in Table 2. Thetypes of free riding that we define here are notexhaustive. It is possible to define new types of freeriding with different properties [20]. We believe thatthree types are sufficient for developing a generalframework, and these free riding types that we focuson in this paper constitute a large fraction of all freeriders. A detailed description of each type is givenbelow.

3.4.1. Non-contributor

If a peer does not share anything at all or sharesuninteresting files, it is identified as a non-contribu-tor. A controlled peer P exhibiting this type of freeriding can be detected by a monitoring peer whocounts the QueryHit messages (QH P ) originatingfrom the neighbor and compares them to the num-ber of Query messages (QT P ) sent to the neighbor(Table 1).

If the number of QueryHit messages received isvery few compared to the number of Query mes-sages sent, then the neighbor is identified as anon-contributor. More precisely, if the ratio(QH P=QT P ) is below a threshold value, then the peeris identified as a non-contributor.

Not receiving (or receiving very few) QueryHitmessages from a neighbor may indicate that theneighbor is either not sharing any files at all, or issharing files that are not interesting and thereforethey do not match the search queries. Unfortu-nately, a method like this, which is based on count-ing the QueryHit messages, cannot distinguishbetween these two types of reasons of not respond-ing.2 Different approaches for setting up a thresholdvalue can be used. Whatever the approach, how-ever, the proposed framework enables a monitoringpeer to judge if a neighbor is a non-contributor justby observing the neighbor’s existing protocol mes-sages, without requiring that any new control mes-sage be defined for detection of free riders. Below,we formulate our method to detect non-contribu-tors as a condition that is evaluated whenever an

2 Peers who are cooperative but share unpopular files would beaffected by false positives. From the perspective of the perfor-mance measures we have investigated, it seems that punishingsuch kind of users has a small impact on the overall performanceof the network. A bias against these peers is one unintendedconsequence of emphasizing performance in an incentive mech-anism. We acknowledge that the solution of this issue is beyondthe scope of this paper.

update is performed on the values of the respectivecounters. We have used this formula in our simula-tion experiments.

if ðQT P > sQT Þ and QH PQT P

< snon-contributor

� �then

peer P is considered as a non-contributor

endif

To eliminate the warm-up period and to obtainvalid statistical information we propose using athreshold value, sQT , for the number of forwardedQuery messages to the controlled peer. A monitor-ing peer starts making a decision about the con-trolled peer after this threshold is exceeded.

3.4.2. Consumer

Peers may contribute some content to the net-work. They are not therefore non-contributors,but the services they use may greatly exceed theircontribution. This is not a desirable behavior interms of the long term stability of the P2P networkand fairness to other peers.

To identify whether a controlled peer P is a con-sumer, a monitoring peer counts the QueryHit

messages that originate from the neighbor ðQH P Þand the QueryHit messages that are destined tothe neighbor ðQHSP Þ. By comparing the ratio ofthese two values against a threshold value sconsumer,the monitoring peer can decide if the neighbor is aconsumer or not.

In identifying consumers, the number of actualdownloads, instead of QHSP , could have been used.However, in unstructured P2P networks, the down-load process is executed directly between two peers[17]. Therefore, the intermediate nodes are not awareof the download process. This means that, the mon-itoring peers are not able to use actual downloadnumbers to identify the consumers. Therefore, wepropose using the QueryHit messages as an indica-tion of possible downloads. We assume that if aquery gets one or more QueryHits, the owner ofthe query would download at least one file. Further-more, we only count once for all the QueryHitmes-sages received for the same query. All QueryHitsthat is received for the same Query message willhave the same unique message ID value.

The following condition is checked to decide if aneighbor is a consumer or not whenever a respectivecounter maintained for the neighbor and used in theformula is modified. Again thresholds for QT P andQH P counters are used to eliminate the warm-up

Page 7: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

3 Actually, we implemented and observed the effects of differentvalues between 2 and 6 in the simulation experiments. To givesome insight about the effect of the Modifying TTL Action withdifferent reduction amounts on the system performance, we selectTTL-2 and TTL-4 as representative values in this paper.

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 681

period before starting to make decisions about thebehavior of a neighbor.

if ðQT P > sQT Þ and ðQH P > 0Þ and

QHPQHSP

< sconsumer

� �then

peer P is considered as a consumerendif

3.4.3. Dropper

A peer is identified as a dropper if the peer dropsothers’ queries. Some peers might not forward pro-tocol messages (Query, QueryHit, etc.) in orderto save their connection bandwidth.

In order to detect a dropper peer P, a monitoringpeer can count Query ðQRP Þ and QueryHit mes-sages ðQHRP Þ forwarded by this neighbor. If thesum of these two values is very low compared tothe number of Query messages sent toward theneighbor ðQT P Þ, it can be assumed that either theneighbor does not have enough connections (toreceive Query or QueryHit messages and forwardthem), or it drops Query and/or QueryHit mes-sages. Again we can use a threshold value, sdropper,for the ratio.

if ðQT P > sQT Þ and QRPþQHRPQT P

< sdropper

� �then

peer P is considered as a dropperendif

3.5. Counter-actions against free riders

When a peer identifies a controlled peer as a freerider, the peer can start taking some actions againstit. Here, we will focus on some sample counter-actions that can be implemented simply by modify-ing the existing P2P protocols.

Our counter-actions are based on ignoringQuery messages submitted by free riders or reduc-ing the scope of these queries. In this way, we reducethe amount of service that free riders get from thenetwork. There are two main services that a peercan get from a P2P network: (1) searching for filesby issuing Query messages; (2) downloading filesafter getting answers to the queries. If we reducethe amount of searching service that a free ridergets, we also cause a reduction in the amount ofdownloading service that it gets. Therefore, ourcounter-actions aim to reduce the propagation ofQuery messages submitted by free riders; then the

free riders will have less chance of getting Query-

Hit messages and will perform fewer downloads.We propose two types of counter-action schemes:

(1) single counter-action schemes and (2) mixedcounter-action schemes. A single counter-actionapplies the same action to all types of free riders.A mixed counter-action scheme applies a differentcounter-action for each type of free riding.

The proposed single counter-actions aredescribed in more detail below.

3.5.1. Modifying TTL value

When a peer receives a Query message from acontrolled peer, it first executes a search on localfiles for a match, and then forwards the Query toits other neighbors. Before the Query message isforwarded, its TTL value is normally decreased byone. However, the monitoring peer can play withthis TTL value, i.e. the monitoring peer can decre-ment the TTL value by more than one before for-warding it further. In this way, the search horizonof the free riding peer is narrowed. This also reducesthe overhead imposed by Query messages on thenetwork. To observe the effect of this counter-actionat a finer granularity for different values of TTLreduction, we propose to employ two different val-ues, i.e., 2 and 4, for decreasing TTL.3 We call thecorresponding counter-actions TTL-2 and TTL-4,respectively.

3.5.2. Dropping requests

As a sharper counter-action, the monitoring peercan simply ignore all the search requests comingfrom a neighbor identified as a free rider. Droppinga Query message means not searching the local filesfor a match and not forwarding the Query any fur-ther; this is totally different from what happens inthe Modifying TTL counter-action. We call thiscounter-action DROP.

Dropping the search requests of free riders ornarrowing down their search horizon by modifyingTTL not only punishes the free riders, but it alsosignificantly decreases the overhead of P2P controlmessages over the underlying infrastructure. Uncon-trolled query messages in a flooding-based P2P net-work can become a significant portion of overall

Page 8: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

682 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

network traffic.4 We believe that decreasing thenumber of queries submitted by free riders may helpimprove the performance and scalability of bothP2P networks and the underlying Internet.

A monitoring peer that would like to execute amixed counter-action scheme can apply an appropri-ate counter-action depending on the type of free rid-ing. As mentioned earlier, a free riding peer can beeither a non-contributor, a dropper, or a consumer.Thus, a possible mixed counter-action scheme maydictate that counter-action TTL-2 is applied if thefree rider is a consumer, counter-action TTL-4 isapplied if the free rider is a non-contributor, andcounter-action DROP is applied if the free rider isa dropper. In these settings, we aim to apply moresevere counter-actions to free riding types that willcause more severe damage to the P2P network. Aneighbor that is not identified as a free rider willnot invite any counter-action.

The type of free riding is determined according tothe values of statistical counters maintained for aneighbor in the log table of a monitoring peer.When the values of the counters change, it may indi-cate that the type of free riding practiced by theneighbor has changed. For example, if theðQH P=QT P Þ ratio for a neighbor P is smaller thanthe respective threshold (i.e., the neighbor is anon-contributor), and later becomes greater thanthat threshold, the neighbor is no longer a non-contributor.

4. Performance evaluation

In this section, we first present our simulationmodel and performance metrics. Then we provideand discuss the results of the simulation experiments.

Table 3Properties of peer types

Property Type A Type B Type C

Free riding type of the None None Mixed

4.1. Overview of the simulation model

We used a simulation-based approach to studythe model of a typical P2P network with free ridingand our framework incorporated; we used thismethod because the model is very complex to studyanalytically. We implemented our simulation modelincluding our framework on the GnuSim P2P net-

4 For example, as it is pointed out in [7], 18 bytes of searchstring in a Query message may cause 90 megabytes of data to beforwarded by the peers of a P2P network. As another example [5],states that the total number of messages including the responsestriggered by a single Query message can be as large as 26240(assuming four connections per peer).

work simulation tool that we had developed earlier[23]. GnuSim was implemented as an event-drivensimulator using the CSIM 18 simulation library[16] and C++ programming language on a Win-dows platform. Interactions between peers and theP2P network, such as searching, downloading, ping-ing, etc. were implemented according to the Gnutel-la protocol specification given in [17].

Our model simulates a P2P network of 4900 peernodes. The peers are inter-connected to form a meshtopology at the beginning of a simulation run. Addi-tionally, we use a Power-Law topology for experi-ments reported in Section 4.3.3. We assume thatall peers stay connected in the same way until theend of a simulation run.

We assume that there are three types of peers inthe simulated network: type A, type B, and typeC. Type A and type B peers are contributors. TypeC peers are free riders. Type C peers can be furtherclassified as a non-contributor, a dropper, or a con-sumer. A type C peer is randomly and uniformlyassigned to one of these 3 types of free riding. Theproperties of peer types are summarized in Table3. The properties of each peer type include the pop-ulation ratio, shared file ratio, maximum number ofsimultaneous uploads possible, query generationmean, and whether peers replicate the downloadedfiles or not. The default values of each of these prop-erties are set similar to the values reported in [1,9,37–39].

At the beginning of each simulation run, peersare created according to the setup explained aboveand assigned to one of three main types (A, B, orC). During simulation, peers interact with otherpeers according to their assigned types. For exam-ple, a dropper drops all the messages, a non-contrib-utor does not share any file, etc.

There are 49000 distinct files, with four copies ofeach, distributed to the peer nodes at the beginningof each simulation run. These 196000 files are uni-formly distributed to peer groups according to the

peers in the peer typePopulation ratios of

each peer type10% 20% 70%

Ratio of shared files ofeach peer type to total files

87% 12% 1%

Peers replicate the filesthey downloaded or not

True True False

Page 9: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 683

type of the groups and the file sharing ratios pre-sented in Table 3. We do not distribute any filesto peers that are free riders of the non-contributoror dropper type. We assume that each file is thesame size and can be downloaded in 60 units of sim-ulation time. During a simulation run, peers ran-domly select files to search and download, andthey submit search queries for them. The inter-arri-val time between search requests generated by a peerfollows an exponential distribution with a mean of60 time units. We assume that the query generationrate of consumer peers is twice that of other free rid-ing peers.

Each peer’s upload capacity (the number ofsimultaneous uploads the peer can perform) is lim-ited to 10. If a peer reaches upload capacity, anew upload request is rejected by the peer. Therequesting peer can then try to download the filefrom another peer, selected from a list of peersobtained from the QueryHit message. We assumethat the requesting peer repeats the same request amaximum of three times. After that, the peer givesup the downloading attempt and records this asan unsuccessful download. Then, it can initiate arequest for another file.

Each simulation experiment is run for 4000 unitsof simulated time. A simulation experiment isrepeated 10 times and the results for that experimentare an average of the 10 individual results.

4.2. Performance metrics

In order to measure the performance improve-ment of our schemes, we first determined a numberof performance metrics. Below, we describe ourmetrics in detail.

� Number of downloaded files: This is an importantmetric indicating the number of downloads thatcan be performed in a P2P system during a fixedtime interval. If peers can download more filesfrom the P2P network, then level of satisfactionwith the network will be higher.� Number of unsuccessful downloads: The availabil-

ity of content and services in a P2P network is animportant issue. A network that is providinggood service should not reject many of the con-tributing peers’ requests. Since the networkresources are limited, the upload capacity ofpeers contributing to the network will also belimited. If this limit is exceeded, the peers willstart refusing download requests.

� Number of uploads by contributors: This metricindicates the load imposed on a peer. Contribu-tors can become overloaded due to the excessivenumber of search and download operations theyare involved in. Adapting free riding mechanismsin a P2P system, decreases the load on contribu-tor peers by reducing requests from free riders.� Download cost: We define the download cost for a

peer as the ratio between the number of uploadsand the number of downloads (i.e. #uploads/#downloads) performed by the peer. This ratioindicates the load imposed on a peer comparedto the service the peer gets from the network.The smaller the ratio is, the better it is from theperspective of the peer.� Number of P2P network protocol messages: This

metric shows the messaging overhead in theP2P network and the underlying infrastructure.Messaging overhead affects the scalability of asystem. In unstructured P2P networks particu-larly, the messaging overhead may be high dueto the flooding approach used in querying. Highnumbers of protocol messages sent over the net-work also increase the level of congestion in thenetwork; congestion affects the performance ofseveral network services [15].� Fairness: Fairness metric shows that the level of

service that can be used by a peer is proportionalto the level of contribution that is provided bythat peer. In other words, a peer contributingmore than what is needed to overcome thethresholds is fairly compensated with more ser-vices. Thus, the solution encourages peers to con-tribute more and rewards peers based on theextent of their contributions.

4.3. Simulation results and analysis

In simulation experiments, we first tested theeffectiveness of our detection mechanism. After-wards, we conducted experiments to observechanges in the performance of a P2P network whencounter-action schemes are applied.

4.3.1. Evaluation of detection mechanism

The detection mechanism is a crucial part of theframework. Therefore, we did extensive simulationexperiments to measure the performance of ourframework in detecting free riders and free ridingtypes. We used the following performance metricsto evaluate our detection mechanism:

Page 10: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

684 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

� Success ratio: Ratio of peers correctly detected asfree riders to peers designated as free riders in thebeginning of each simulation run.� Sensitivity ratio: Ratio of free riders whose free

riding type is correctly detected to the numberof peers who have been detected correctly as freeriders.� False alarm ratio: Ratio of peers incorrectly

detected as free riders to the number of peersdetected as free riders.

A good detection mechanism should providehigh values for success and sensitivity ratios andlow value for false alarm ratio. The success ratiois an important metric for both single and mixedcounter-action schemes; sensitivity ratio on theother hand is an important metric for mixed coun-ter-action schemes, since in those schemes the typeof free riding determines the counter-action to beapplied. The false alarm ratio is a metric that indi-cates how many peers are incorrectly detected asfree riders. If the false alarm ratio is high, it meansthat the framework applies counter-actions to con-tributors; thus some contributors are negativelyaffected by the incorporation of the framework intothe P2P network.

An important restriction on the success of thedetection mechanism is the behavior and ratio ofdroppers. This is because free riders of the droppertype usually cannot use our detection mechanism,and hence can not apply any counter-action to theirneighbors. As they do not route other peers’ queriesto their neighbors, they may not satisfy the detec-tion mechanism’s ‘‘routed query threshold ðsQT Þ”condition only by the count of their own queries.Therefore, in the overall detection results, droppersmay play a negative role and limit the detectionmechanism’s success.5 When the sQT threshold isdecreased, however, droppers have more chance ofsatisfying the threshold value by recording onlytheir queries, and they may then detect free riders.Thus, lowering the value of sQT increases the successratio in the presence of droppers, as shown in Table5.

Fig. 1 shows the Success Ratio of the detectionmechanism for default values of simulation param-

5 For example, in our simulations we observed that the peersabout which droppers cannot make any decision constitutearound 20% of all the peers. This implies that our frameworkcannot reach a success ratio better than 80% with the currentsettings of the simulation parameters.

eters. The overall success ratio is about 76%. Thismeans that our detection mechanism is able todetect 76% of peers designated as free riders at thestart of a simulation run. The false alarm ratio isabout 9%. That is, 9% of the detected free riderswere not really free riders. Their interactions withtheir neighbors during the simulations led the detec-tion mechanism to identify them as free riders.6

In Section 3.4, we use some threshold values foridentifying each free riding type. Table 4 showsthe default values of the thresholds. Default valuesare based on the P2P network traffic observationsreported in [1,2,8,10]. As part of our simulationswe tried to observe the effect of different thresholdvalues.

In Table 5, we observe that when the sQT thresh-old is set to lower values, the detection mechanismbegins to detect earlier and the success ratioincreases. However, the false alarm ratio also wors-ens with low values of sQT because the system triesto decide about a peer with less information avail-able. There is therefore a trade-off between successand false alarm ratios and this trade-off is effectedby the sQT threshold. Sensitivity is not greatlyaffected by the value of the sQT threshold.

Another threshold used in the detection mecha-nism is snon-contributor, which is used to decide if a peeris a non-contributor. Table 6 shows the effect of thisthreshold. Interestingly, for some large values suchas 0.1 and 0.01 the success ratio does not changemuch, but the false alarm ratio changes andbecomes too high. This result suggests that high val-ues not be used for this threshold. The success ratiodoes not change much for different high values ofthe threshold, because even the precision of the ratiois different; the number of detected peers with 0.01 isalmost the same as with the value 0.1. That is, mostof the non-contributor peers have a QH P

QT Pratio less

than 0.01. Therefore, the comparison leads to a sim-ilar success ratio. In Table 6, we again observe thatthe success ratio is (negatively) correlated with thefalse alarm ratio.

4.3.2. Evaluation of counter-actions

In Section 3.5 we proposed two types of counter-action schemes: single and mixed. We implemented

6 This level of false alarm ratio causes 9% of the peers detectedas free riders to face counter-actions; false alarms are a side effectof the detection mechanism. However, the performance metricsshow that the performance is improved for contributors despitethe false alarms (see Section 4.3.2).

Page 11: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Table 4Threshold values for detection mechanism

Threshold Description Default Range

sQT Threshold value for the number of routed queries toward a controlled peer to begin thedetection

50 25–100

snon-contributor Threshold value for formula QH PQT P

to decide if peer P is a non-contributor 0.001 0.1–0.0001

sconsumer Threshold value for formula QH PQHSP

to decide if peer P is a consumer 0.1 0.05–0.5

sdropper Threshold value for formula QRPþQHRPQT P

to decide if peer P is a dropper 0.1 0.05–0.5

Table 5Effect of sQT threshold values on the detection mechanism

sQT Success (%) Sensitivity (%) False alarm (%)

25 95.39 66.98 13.8250 75.73 66.84 9.73

100 75.38 66.82 9.70

Table 6Effect of snon-contributor threshold values on the detection mechanism

snon-contributor Success (%) Sensitivity (%) False alarm (%)

0.1 76.54 66.12 42.870.01 76.54 66.12 29.450.001 75.73 66.84 9.730.0001 73.03 69.27 5.24

Fig. 1. Success Ratio of detection mechanism in detecting free riders and identifying their free riding types.

Fig. 2. Decrease in free riding peers’ downloads when differentcounter-actions are applied.

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 685

three different single counter-action schemes:DROP, TTL-4, and TTL-2. We also implementeda mixed counter-action. This section evaluates theeffectiveness of these schemes. The metrics we usedin our evaluation are described in Section 4.2.

� Downloads of free riders: As Fig. 2 shows, thenumber of downloads by free riders drops whenmechanisms against free riding are applied.Counter-actions against free riders decrease the

reach of the Query messages sent by peersdetected as free riders; this reduces the chanceof getting a hit to one of these queries. In thisway, the average number of downloads by freeriders is reduced. For example, the DROP coun-ter-action causes a 95% reduction in the numberof downloads by free riders. The least successfulcounter-action is the TTL-2 single counter-action, which achieves a 20% reduction. But eventhe least successful counter-action scheme leadsto fewer free rider downloads than not usingany counter-action at all.

Page 12: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Fig. 3. Increase in contributors’ downloads when differentcounter-actions are applied.

Fig. 4. Decrease in P2P messages of free riding peers whendifferent counter-actions are applied.

686 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

The success of the DROP counter-action isexpected, since when all the queries submittedby free riders are dropped, those peers cannotget QueryHit messages back, and therefore theycannot download files. They can only downloaduntil they are detected. The other schemes areable to reduce the search horizon of the queriessubmitted by free riders, but the free riders stillhave the chance to get QueryHit messagesand perform downloads. The mixed counter-action scheme yields the second-best result. Webelieve that this approach has important conse-quences compared to single action schemes. Con-sidering the potential false alarms that can begiven by the detection mechanism, applying a dif-ferent counter-action depending on the severityof free riding helps us to better deal with falsealarms as discussed below.� Downloads of contributors: It is desirable to

increase the number of downloads for contribu-tors. Since peers’ upload capacity is limited, thedownload requests of contributors can some-times be rejected. The rate of rejection is higherwhen there are many free riders in the system.Hence eliminating the effects of free riders onthe P2P network will help to increase the numberof downloads that contributors can make. This isindeed shown by Fig. 3; applying our schemesachieves an increase in downloads done by con-tributors as much as 10%.Fig. 3 shows an important point; improvement indownloads is greater with a mixed counter-actionthan with any single counter-action. While themixed counter-action scheme produces about a10% improvement, the two single counter-actions, TTL-2 and TTL-4, can produce about8% and 5% improvements, respectively. TheDROP counter-action scheme actually reducesthe number of downloads by contributors. Wethink this is due to false alarms in detection mech-anisms. When we apply strict counter-actionssuch as DROP, the number of misdetected peersthat are negatively affected is significant. On theother hand, a mixed scheme handles false alarmsbetter by applying different counter-actions to dif-ferent types of free riders, and therefore can pro-vide different levels of punishment, from light tosevere, to peers suspected as free riders.� Amount of P2P protocol messages: The number of

P2P protocol messages transmitted in the net-work is an important factor affecting the scalabil-ity of the P2P network. Counter-actions against

free riders result in a reduction of up to 83% inthe number of transmitted P2P protocol mes-sages (Query and QueryHit) originating fromand destined for the free riders (Fig. 4).When we compare the reductions in transmittedP2P control messages for different counter-actions, we see that the DROP single counter-action again gives the best results (83%). Themixed counter-action scheme, on the other hand,reduces the control traffic due to free riders byabout 73%.If we evaluate the counter-actions with respect totheir effect on reducing the total P2P control traf-fic in the network (i.e., the control traffic due tothe free riders plus the contributors), we see thatthe DROP single counter-action scheme leads toa reduction of about 77%, whereas the mixedcounter-action scheme leads to a reduction ofabout 65% (Fig. 5). The least successful coun-ter-action is TTL-2; it leads to a reduction of40%. All these results show that applying the pro-posed framework helps a P2P network handlemore peers with less control messaging overheadand the system becomes more scalable withrespect to the peer population.

Page 13: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Fig. 5. Decrease in P2P messages of all peers when differentcounter-actions are applied.

Fig. 7. Decrease in contributors’ download cost when counter-actions are applied.

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 687

� Uploads of contributors: A metric that can indi-cate the load on a peer is the number of uploadsdone by the peer in a given time period. With ourframework we want to achieve a reduction of theload on contributors. We expect that if we reducethe downloads of free riders, we can also reduceuploads, since a large portion of these uploadsare done to free riders. In simulation experi-ments, we observed a significant reduction inthe number of uploads done by contributorswhen a counter-action scheme is applied. AsFig. 6 shows, the scheme that gives the best resultis again the DROP single counter-action scheme,causing a reduction of about 81%. The mixedcounter-action scheme causes a reduction ofabout 40%.� Download cost: The load on a contributor can

also be defined as a normalized load, i.e. as theratio of uploads to downloads. The results ofour experiments show that our framework alsocauses a reduction in the download cost of con-tributors. As it can be derived from Fig. 7, theframework achieves a 70% reduction in the con-

Fig. 6. Decrease in contributors’ uploads when counter-actionsare applied.

tributors’ download cost when the DROP singlecounter-action is applied. The frameworkachieves a 46% reduction when a mixed coun-ter-action scheme is applied.� Unsuccessful downloads: We also looked at the

improvement achieved in the number of unsuc-cessful downloads when the proposed counter-action schemes are used. As Fig. 8 shows, theDROP single counter-action achieves the bestimprovement; the number of unsuccessful down-loads is reduced by 98%. The mixed counter-action scheme, on the other hand, reduces thenumber by about 91%. The decrease in the num-ber of unsuccessful downloads means that con-tributors can better access the network resourceswhen the proposed mechanisms are used. Freeriders’ requests and downloads may preventnon-free rider peers from accessing files and otherresources. When the traffic due to free riders isreduced, the contributors start reaching to theresources more easily and get better satisfied withP2P network services.

Fig. 8. Decrease in contributors’ unsuccessful downloads whencounter-actions are applied.

Page 14: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Fig. 9. Increasing utility values for increasing number of filesshared by a probe node.

Fig. 10. Increase in contributors’ downloads when a Power-LawRandom Graph is simulated.

688 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

� Fairness: To observe the fairness of our mecha-nisms, we conducted several simulation experi-ments. In one of these experiments, werandomly chose a probe peer and assigned to itdifferent number of files to share. As seen inFig. 9, we assigned to the probe peer none (0),25, 50, 100, and 200 files, and observed theDownload/Query ratio (number of downloads/number of submitted queries) as an indicationof peer’s utility from the system.As the figure shows, although the probe peer sub-mits nearly the same number of queries, it candownload different number of files dependingon how much files it shares. Because, when itshares less files while requesting the same amountof service, it will face counter-actions, and thiswill limit the number of downloads it will be ableto get. On the other hand, when it shares morefiles, monitoring peers will not apply any coun-ter-action, thus it will be able to reach more peersand download more files. Therefore, if two peershave similar query patterns but provide differentlevels of service to the system, they will get differ-ent levels of utility from the system as well. Thus,the proposed mechanisms are fair. In otherwords, a peer contributing more than what isneeded to overcome the threshold is fairly com-pensated. Hence, the proposed mechanisms notonly encourage peers to provide enough servicesto overcome the threshold barrier, but alsoencourage them to contribute more to get betterservice.

7 In our P2P network model, links between peers arebi-directional connections which constitute both the in-degreeand out-degree connections of a peer. Hence, modelling peerconnections with a power-law distribution implies that both thenumber of in-degree and out-degree connections of the peersfollow a power-law distribution.

4.3.3. Effect of different parameter values

We also executed sensitivity experiments toobserve how our framework performs for differentvalues of some important parameters: number of

peers, number of shared files, level of free riding,and different network topologies. We observed thatthe performance results for different parameter set-tings are consistent and similar with the onesreporte d in this paper. Therefore, due to similarityand also space limitation, we do not provide all theresults of these additional experiments here. We justreport the results for a different network topology.

Recent studies investigating P2P topologies showthat P2P networks exhibit small-world propertiesand a power-law distribution of node degrees [5,6].To simulate such network topologies we imple-mented a Power-Law Random Graph of 1600 peersas suggested in [40]. Power-Law Random Graph is atopology in which the node degrees follow a power-law distribution. That is, if all peers from the mostconnected to the least connected is ordered, thenthe ith most connected peer would have x

ia neighbors,where x is a constant. After determining the peerdegrees, we connected the peers randomly.7

We have executed several simulations for differ-ent values of x and a. The results given here areobtained when x is set 100 and a is set 0.7. Weobserved that our framework performs well in thePower-Law Random Graph too. This is due to thefact that the detection and counter-action mecha-nisms require only local interactions between neigh-bors. For example, Fig. 10 displays the performancein terms of the number of downloads by contribu-tors. As shown in the figure, the increase in the num-ber of downloads of contributors is around 50–60%

Page 15: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Table 7New protocol descriptor

Descriptor Description Content

Notify Used to report a suspectedpeer that refused to uploadthe file it provided inQueryHit descriptor inrespond to a given Query

Query Descriptor Id;Suspected peer IP;File index

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 689

for all counter-actions. As another example, Fig. 11displays the decrease of the total P2P control trafficin the network (i.e., the control traffic due to the freeriders plus the contributors). We observe that theDROP single counter-action scheme leads to areduction of about 76%, whereas the mixed coun-ter-action scheme leads to a reduction of about 72%.

descriptor

5. Possible attacks to the framework and counter-

measures

In this section, we describe a list of possible coun-ter attacks against our free riding prevention mech-anisms. We also discuss how our framework wouldreact and how we can defend against those kinds ofattacks.

5.1. Fake QueryHit messages

A free rider can cheat its neighbors (monitoringpeers) by replying to some queries with QueryHit

messages fraudulently as if it has the requested file.When the requesting peer asks for the file, it mayjust refuse uploading it. In this way it may pretendas it is serving well, since controlled peers may notbe aware of unsuccessful download and cheating.In the log tables of its neighbors, the malicious peermay seem to be a non-free rider because of its Que-ryHit replies.

Given the descriptors in Gnutella protocol [17], itmay not be possible for a controlled peer to observeand perceive this kind of fake messages. Because,download occurs between two peers outside theP2P network and there is no feedback mechanismfor downloads in unstructured P2P networks. Tohandle this kind of fake QueryHit messages, wepropose to use a new descriptor: Notify (see Table7). This descriptor is used to report about a mali-

Fig. 11. Decrease in P2P messages of all peers when a Power-Law Random Graph is simulated.

cious peer to its neighbor. When a querying peeris refused by a responding malicious peer during adownload attempt, the querying peer may send aNotify descriptor through the P2P network toreach the monitoring neighbor of the maliciouspeer. To avoid an increase in the network traffic,the querying peer does not broadcast the descriptormessage. Instead, it forwards the descriptor only tothe neighbor which has delivered the QueryHit

message, containing the IP address of the denyingpeer. Any intermediate peer on the way to the deny-ing peer forwards the Notify message to only oneof its neighbors based on the message ID (GUID) ofthe Query message stored in its query routingtable.8 The monitoring peer on the path to the deny-ing peer is the neighbor of the denying peer. Afterprocessing the Notify message, the last peer logsthis message, and takes the necessary action againstthe malicious peer.

There could be some side effects of the proposedNotify descriptor. A malicious peer can initiate anapplication-layer Denial of Service (DoS) attackusing the Notify messages. However, almost everymessage type in P2P protocol (Query, QueryHit,Push, Ping, and Pong) can be exploited in order tolaunch denial of service attacks [27–30]. Some pro-posals exist in the literature aiming to counter theapplication-layer DoS attacks [30–32]. We thinkthat we can also use some schemes to deal withDoS attacks using the Notify message. One schemecan be based on the comparison of the number ofNotify messages routed by each controlled peer. Ifa monitoring peer detects a big difference amongthe number of Notify messages routed by its con-trolled peers, it can begin to filter (delete/drop)Notify messages coming from that controlled peers

8 Since, as a requirement of Gnutella P2P Protocol, the Querymessages are stored in the routing table of each peer for sometime to route back the possible QueryHit messages, we do notneed to store extra state information that can be used to route theNotify message on intermediate peers.

Page 16: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Table 8Results of free rider malicious TTL attack

Metric StandardTTL

MaliciousTTL

Change

(%)# Downloads of FRs 2992 2019 �32.50# Downloads of non-FRs 2543 2489 �2.12# P2P Messages of FRs 11974199 9013018 �24.73# P2P Messages of all peers 20613217 17361929 �15.77# Uploads of non-FRs 5473 4471 �18.31# Unsuccessful Downloads of

non-FRs168 58 �65.48

Mixed counter-action applied.

690 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

(similar to what is proposed in [30]). Since the dan-ger of DoS attack exists for all P2P protocol mes-sages, we think that the precautions taken forother P2P messages can be applied for Notify mes-sage as well. Prevention of DoS attacks is out of thescope of our current work, however, it can be inter-esting to investigate the applicability and effective-ness of the two simple schemes described above asa future work.

5.2. Fake files

Free riders could also share dummy files withpopular names in order to cheat querying peers.These files can be very small in size to reduce uploadoverhead. In that way, free rider peers can concealthemselves. This situation however, can also be pre-vented by using the Notify descriptor proposedabove.

5.3. Hiding query ownership

In our free riding detection mechanism, the mon-itoring peers exploit the TTL field value of theincoming Query messages to decide if the con-trolled peer is the owner of the message or not. Ifthe TTL value of the Query message is equal tothe max TTL value, then the Query message isassumed to be originated at the neighbor.

If a free rider wants to prevent monitoring peersapplying the counter-actions against its queries, itmay try to hide its ownership of the queries by set-ting the TTL field to a value different than the stan-dard maximum TTL value. Then the originator ofthe Query will not be identified correctly by a mon-itoring peer. If the free rider sets the TTL to a valuegreater than the allowed maximum value, this caneasily be detected by the monitoring peer. If the freerider sets the TTL to a value less than the allowedmaximum, then the free rider harms itself by reduc-ing the search horizon of the Query. In this case wethink that there is no need to take an extra action,since we expect that a free rider will not decreaseits search horizon voluntarily.9

9 This is because using an initial TTL value even one less thanthe allowed maximum decreases the search horizon dramatically.For example, if a free rider submits a Query message with aninitial TTL value of 6 in a network where the maximum allowedvalue is 7, then the free rider loses about 67% of its reach (searchhorizon) compared to submitting the Query with a TTL value of7.

We observed the effects of this kind of maliciousaction in our simulations, and Table 8 provides theresults.10 During the experiments, we assumed thatall free riders act maliciously with regard to the ini-tial TTL value setting in Query messages. This isthe worst case for our framework. We argue thatalthough free riders may prevent the monitoringpeers from applying counter-actions by using mali-cious TTL values, their level of benefits from thesystem and their negative effects on the system willalso decrease considerably if they set the TTL valuemaliciously. When they cheat on the TTL, theyactually reduce the reach of their own queries, andhence the quality of the results they get. As Table8 shows, when a malicious TTL value is used, theamount of downloads of free riders decreases. Thenumber of P2P messages observed in the networkdue to free riders also decreases. Hence, acting mali-ciously on the TTL value does not help to the freeriders. Therefore, we do not see an urgent need todevelop a solution against this kind of TTL attack.

5.4. Insufficient cooperation against free riding

Some peers may be reluctant to use the proposedmechanisms against free riding or malicious peersmay collude with their neighbors to hide eachother’s ‘‘free riding status”. Thus, free riders mayattack the system by disabling the proposed frame-work. As a result, we may observe low level of coop-eration against free riding due to the highpopulation of free riders. We have simulated suchan environment by applying the worst scenario (allfree riders collude) and observed the results. Wehave compared the case when our framework is

10 We have used the mixed counter scheme while performingsimulation experiments for evaluating the effects of attacks to theframework.

Page 17: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Table 9Results of insufficient cooperation attack

Metric None ofthe Peers

OnlyNon-FRs

Change(%)

# Downloads of FRs 7041 6243 �11.3# Downloads of non-FRs 2293 2332 1.7# P2P Messages of FRs 44403153 32773645 �26.2# P2P Messages of all peers 60076872 45494519 �24.3# Uploads of non-FRs 9148 8411 �8.1# Unsuccessful Downloads of

non-FRs2040 1467 �28.1

Mixed counter-action applied. Fig. 12. The Success of the detection mechanism in the first 200simulation time.

11 If the P2P network traffic becomes higher (i.e. more queriesare forwarded), the time required to exceed the sQT threshold willbe sooner and free riders will be detected faster.

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 691

applied by only contributors with the case when ourframework is not applied. In Table 9, we provide theresults for both cases.

As Table 9 shows, even though only 30% of peersapply the mechanisms (they are contributors), thenumber of downloads of free riders is decreased,the messaging overhead is reduced, and the loadon contributors is decreased compared to the casewhen our framework is not applied. This impliesthat our mechanisms are quite robust against thetype of attack where some peers disable the pro-posed mechanisms by either collusion or modifyingtheir client software.

5.5. Constantly changing neighbors

A free riding peer may attack the framework byconstantly changing its neighbors, and thus it maykeep utilizing the services without ever being identi-fied as a free rider.

As discussed in Section 3.2, the P2P network traf-fic observations [8–10] show that peers tend to stayconnected quite long periods of time. One of thereasons for that is the practical difficulty of discon-necting and re-connecting again. Another reason isthat a peer does not get query hit messages immedi-ately after it has submitted a query. A peer shouldnot change its neighbors for the time period betweensubmission of a query and the arrival of the respec-tive query hits (name it search-QueryHit cycle dura-

tion). If the peer breaks the existing links too fast, itwill not get a reply. Therefore, the peer should stayconnected for at least a certain time interval whichshould be longer than the search-QueryHit cycleduration.

Hence, if our scheme can detect a free rider andapply a counter-action against it in a time intervalthat is less than the search-QueryHit cycle duration,then the attack will not work and it will not make

much sense for a free rider to try this. Therefore itis important to know how long it takes to get queryhits back and how long it takes to detect the free rid-ers. These concerns depend on several factors. Thesuccess ratio (the ratio of free riders that are detectedcorrectly) can give us a clue about the speed of ourdetection mechanism. Fig. 12 plots the success ratioversus simulation time. At the beginning of a simula-tion run, the success ratio will be zero since there isno free rider detected yet. Towards the end of thesimulation run, however, the success ratio will havea value that can be close to 1 in ideal case.

In Fig. 12, we observe that, with the default set-tings of simulation parameters, at time 90, 40% offree riders are detected successfully. At time 150,60% of free riders are detected successfully.11 Fromthe figure we can see that free riders start becomingdetected after 50 time units. Therefore, if a free riderpeer would like to avoid detection, it should changeits neighbors every 50 time units, with the defaultparameter settings. If it changes its neighbors at arate slower than this, let us say every 100 time units,the chance to be detected and to face counter-actions becomes increased. The probability of detec-tion becomes around 45% for 100 time units.

To investigate the effectiveness of the potentialattack, we modified our simulation code to simulatethis attack, and conducted several sets of new exper-iments. In these experiments, we first randomlyselected a probe peer to act as a free rider applyingthe attack. During a simulation run, the probe peerchanges its neighbors periodically using a fixed timeperiod between changes. We measured the utilitythe probe peer gets from the P2P network at the

Page 18: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

Fig. 14. The results for the Probe peer, when the attack is appliedby all the FR peers.

692 M. Karakaya et al. / Computer Networks 52 (2008) 675–694

end of a simulation run. The utility is expressed asthe ratio of the number of downloads the probe peerperforms to the number of queries it submits. Weobtained results for two different time intervalsbetween changes of neighbors: 50 and 100 timeunits. The results are displayed in Fig. 13. In the fig-ure, we also included two other utility values. One isthe utility value that a contributor peer can get andthe other is the utility value that a free rider who isnot trying the attack (i.e., not changing connections)can get.

As can be seen in Fig. 13, the probe peer suc-ceeded to increase its utility by changing its neigh-bors constantly. We can observe that the length ofthe time period between changes has an effect onthe service the probe peer receives, as we have dis-cussed above. If this period is longer, the probabilityof detection gets increased and the probe peer willmore likely face counter-actions; and this willreduce the service it will get.

However, the first experiment we describe abovecannot reflect a real-life scenario where lots of peerswould like to apply the attack at the same time.Therefore we also conducted experiments for thescenario where all free riders in the network applythe attack expecting to increase the utility theyget. The results are displayed in Fig. 14. As seenin the figure, the probe node acting as a free riderand applying the attack is negatively affected in thiscase when all free riders in the network apply theattack. This is because, one of the side effects ofthe suggested attack is that when all free rider peerschange their neighbors, their previous neighborslose the connection via these peers and they wouldlose the possible incoming QueryHit messages aswell. Since the QueryHit messages in unstructuredP2P networks are routed back through the same

Fig. 13. The results for the Probe peer, when the attack is onlyapplied by the probe FR peer.

route of the received Query messages, when anintermediate peer tries to route a QueryHit whichis routed by a free rider peer, it could not route itanymore, due to the changed neighbors. So, someof the QueryHit messages would be dropped with-out reaching to the destined peers. As observed inthe figure, this side effect is not negligible. The probepeer loses its advantage considerably when all otherfree riders also apply the same attack.

Therefore, we can conclude that although theattack seems to increase the utility of an individualfree rider, in a more general and real situation, whenall or most of the free riders apply the attack, theutility that a free rider gets is not increased to a levelto justify the practical difficulties of applying theattack. The free rider will not reach to a level of util-ity comparable to that of a contributor peer.

6. Conclusion

In this work we have proposed a distributedframework to reduce the degree of free riding inunstructured P2P networks. The framework is sim-ple to implement, has low-overhead to run, fullycomplies with the concepts and protocols ofunstructured P2P networks, and is decentralized tooperate efficiently.

We first specified possible free riding types thatcould be encountered in a P2P network. We thenproposed some mechanisms to detect free riders ofthese types. We also proposed some possible coun-ter-actions to apply against peers detected as freeriders. By reducing the amount of free riding in aP2P network, we aim to increase the quality of ser-vice that peers can get from the network, the avail-ability of content and services, the robustness of the

Page 19: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

M. Karakaya et al. / Computer Networks 52 (2008) 675–694 693

system, the balance of the load on peers, and thescalability of the network. As the performanceresults of simulation experiments indicate, themechanisms do reduce the level of free riding andits adverse effects on P2P networks; the performanceof the P2P network is considerably improved.

In general, the DROP single counter-actionagainst all kind of detected free riders results inthe largest improvement for all performance metricsexcept the number of downloads by contributors;latter result arises from false detection in determin-ing free riders. To increase performance for contrib-utors, we suggest using a mixed counter-actionscheme as it is the best counter-action if we alsoinclude increasing downloads.

References

[1] Eytan Adar, Bernardo A. Huberman, Free riding onGnutella, 2000. <http://www.firstmonday.dk/issues/issue5_10/adar>.

[2] Evangelos P. Markatos, Tracing a large-scale Peer to PeerSystem: an hour in the life of Gnutella, in: IEEE Interna-tional Symposium on Cluster Computing and the Grid,2002, pp. 65–74.

[3] Lakshmish Ramaswamy, Ling Liu, Free riding: a newchallenge to peer-to-peer file sharing systems, in:Annual Hawaii International Conference on System Sci-ences, 2003.

[4] Karl Aberer, Manfred Hauswirth, Peer-to-Peer informationsystems: concepts and models, state-of-the-art, and futuresystems, in: International Conference on Data Engineering,2002.

[5] Karl Aberer, Manfred Hauswirth, An overview of peer-to-peer information systems, in: Workshop on Distributed Dataand Structures, 2002.

[6] M. Jovanovic, F.S. Annexstein, K.A. Berman, ScalabilityIssues in Large Peer-to-Peer Networks – A Case Study ofGnutella, Technical Report, University of Cincinnati, 2001.

[7] Jordan Ritter, Why Gnutella Cannot Scale. No, Really,2001. <http://www.darkridge.com/jpr5/doc/gnutella.html>.

[8] Matei Ripeanu, Ian Foster, Adriana Iamnitchi, Mapping theGnutella network: properties of large-scale peer-to-peersystems and implications for system design, IEEE InternetComputing, Journal 6 (1) (2002) (Special issue on peer-to-peer networking).

[9] Stefan Saroiu, P. Krishna Gummadi, Steven D. Gribble, Ameasurement study of peer-to-peer file sharing systemsMultimedia Computing and Networking, 2002.

[10] Krishna P. Gummadi, Richard J. Dunn, Stefan Saroiu,Steven D. Gribble, Henry M. Levy, John Zahorjan, Mea-surement, modeling, and analysis of a peer-to-peer file-sharing workload, in: ACM Symposium on OperatingSystems Principles, 2003.

[11] Ramayya Krishnan, Michael D. Smith, Zhulei Tang, RahulTelang, The impact of free-riding on peer-to-peer networks,in: Annual Hawaii International Conference on SystemSciences, 2004.

[12] Philippe Golle, Kevin Leyton-Brown, Ilya Mironov, Incen-tives for sharing in peer-to-peer networks, Electronic Com-merce, 2001.

[13] Vivek Vishnumurthy, Sangeeth Chandrakumar, Emin GunSirer, KARMA: a secure economic framework for P2Presource sharing, in: Workshop on the Economics of Peer-to-Peer Systems, 2003.

[14] Sepandar D. Kamvar, Mario T. Schlosser, Hector Garcia-Molina, Addressing the non-cooperation problem in com-petitive P2P networks, in: Workshop on Economics of P2PSystems, 2003.

[15] Atip Asvanund, Karen Clay, Ramayya Krishnan, MichaelSmith, An empirical analysis of network externalities in Peer-to-Peer music sharing networks, in: International Conferenceon Information Systems, 2002.

[16] Herb Schwetman, CSIM: a C-based, process orientedsimulation language, in: Winter Simulation Conference,1991.

[17] Clip2, The Gnutella Protocol Specification v0.4 (Documentrevision 1.2), 2001. <http://www9.limewire.com/developer/gnutellaprotocol0.4.pdf>.

[18] Kazaa Lite Web Site, 2004. <http://www.k-lite.tk>.[19] Leander Kahney, Cheaters bow to peer pressure, 2001.

<http://www9.wired.com/news/tecnology/0,1282,41838,00.html>.

[20] M. Karakaya, I. Korpeoglu, O. Ulusoy, A distributed andmeasurement-based framework against free riding in Peer-to-Peer networks, in: IEEE International Conference onPeer-to-Peer Computing, 2004.

[21] Nazareno Andrade, Francisco Brasileiro, Walfredo Cirne,Miranda Mowbray, Discouraging free-riding in a Peer-to-Peer grid, in: IEEE International Symposium on High-Performance Distributed Computing, 2004.

[22] Nazareno Andrade, Miranda Mowbray, Walfredo Cirne,Francisco Brasileiro, When can an autonomous reputa-tion scheme discourage free-riding in a Peer-to-Peer sys-tem, in: Workshop on Global and Peer-to-Peer Computing,2004.

[23] M. Karakaya, I. Korpeoglu, O. Ulusoy, GnuSim: a Gnutellanetwork simulator, Technical Report BU-CE-0505, Depart-ment of Computer Engineering, Bilkent University, 2005.<http://www.cs.bilkent.edu.tr/tech-reports/2005/BU-CE-0505.pdf>.

[24] George H.L. Fletcher, Hardik A. Sheth, Katy Borner,Unstructured Peer-to-Peer networks: topological propertiesand search performance, in: International Workshop onAgents and Peer-to-Peer Computing, 2004.

[25] D. Schoder, K. Fischbach, C. Schmitt, Core concepts inPeer-to-Peer (P2P) networking, in: R. Subramanian, B.Goodman (Eds.), P2P Computing: The Evolution of aDisruptive Technology, Idea Group Inc., Hershey, 2005.

[26] Qixiang Sun, Hector Garcia-Molina, SLIC: a selfish link-based incentive mechanism for unstructured Peer-to-Peernetworks, in: Proceedings of the 24th International Confer-ence on Distributed Computing Systems (ICDCS 2004),2004.

[27] A. Kuzmanovic, D. Dumitriu, E. Knightly, I. Stoica, W.Zwaenepoel, Denial-of-service resilience in Peer-to-Peer filesharing systems, in: The ACM SIGMETRICS’05, 2005.

[28] Neil Daswani, Hector Garcia-Molina, Beverly Yang, Openproblems in data-sharing Peer-to-peer systems, in: ICDT,2003.

Page 20: Counteracting free riding in Peer-to-Peer networks qkorpe/nsrg/pubs/p2p_comnet08.pdf · 2008-11-24 · contribute to the network at an acceptable level. A contributor, on the other

694 M. Karakaya et al. / Computer N

[29] F. Dabek, E. Brunskill, M.F. Kaashoek, D. Karger, Buildingpeer-to-peer systems with Chord, a distributed lookupservice, in: Hot Topics in Operating Systems Workshop,May 2001.

[30] N. Daswani, H. Garcia-Molina, Query-flood DoS attacks inGnutella, in: ACM Conference on Computer and Commu-nications Security, Washington, DC, November 2002.

[31] S. Osokine, Flow control algorithm for distributed ‘broad-cast-route’ networks with reliable transport links, 2001.<http://www.grouter.net/gnutella/flowcntl.htm>.

[32] Christopher Rohrs, Sachrifc: simple flow control for Gnu-tella, 2002. <http://www.limewire.com/developer/sachrifc.html>.

[33] Minaxi Gupta, Paul Judge, Mostafa Ammar, A reputationsystem for Peer-to-Peer networks, in: ACM 13th Interna-tional Workshop on Network and Operating SystemsSupport for Digital Audio and Video (NOSSDAV), 2003.

[34] E. Damiani, S. De Capitani di Vimercati, S. Paraboschi, P.Samarati, F. Violante, A reputation-based approach forchoosing reliable resources in peer-to-peer networks, in: 9thACM Conference on Computer and Communications Secu-rity, November 2002.

[35] S.D. Kamvar, M.T. Schlosser, H. Garcia-Molina, Eigenrep:reputation management in P2P networks, in: 12th Interna-tional WWW Conference, 2003.

[36] Michal Feldman, John Chuang, Overcoming free-ridingbehavior in Peer-to-Peer systems, ACM SIGecom Exchanges5 (4) (2005).

[37] D. Hughes, G. Coulson, J. Walkerdine, Free riding onGnutella revisited: the bell tolls? IEEE Distributed SystemsOnline 6 (6) (2005).

[38] M. Yang, Z. Zhang, X. Li, Y. Dai, An empirical study offree-riding behavior in the maze P2P file-sharing system, in:IPTPS, 2005.

[39] Sidath Handurukande, Anne-Marie Kermarrec, Fabrice LeFessant, Laurent Massoulie, Simon Patarin, Peer sharingbehaviour in the edonkey network and implications for thedesign of serverless file sharing systems, in: the First EuroSysConference (Eurosys’2006), Leuven (Belgium), April 2006.

[40] Q. Lv, P. Cao, E. Cohen, K. Li, S. Shenker, Search andreplication in unstructured Peer-to-Peer networks, in:ICS’02, USA, June 2002.

Murat Karakaya is currently a Ph.D.candidate in the Computer EngineeringDepartment of Bilkent University inAnkara, Turkey. His current researchinterests include Peer-to-Peer networksand mobile database systems.

etworks 52 (2008) 675–694

_Ibrahim Korpeoglu received his Ph.D.

and M.S. degrees from University ofMaryland at College Park, both inComputer Science. He is currently anAssistant Professor in the ComputerEngineering Department of BilkentUniversity, Ankara, Turkey. Prior tojoining Bilkent University, he worked inEricsson, IBM T.J. Watson ResearchCenter, Bell Labs, and Telcordia Tech-nologies, in USA. His research interests

include computer networks, wireless ad hoc and sensor networks,mobile computing, and P2P networks.

Ozgur Ulusoy received his Ph.D. inComputer Science from the University ofIllinois at Urbana-Champaign. He iscurrently a Professor in the ComputerEngineering Department of BilkentUniversity in Ankara, Turkey. His cur-rent research interests include Peer-to-Peer and mobile systems, web querying,and multimedia database systems. Hehas published over 80 articles in archivedjournals and conference proceedings.