ebook img

DTIC ADA436255: Exchange-Based Incentive Mechanisms for Peer-to-Peer File Sharing PDF

0.16 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview DTIC ADA436255: Exchange-Based Incentive Mechanisms for Peer-to-Peer File Sharing

1 Exchange-based Incentive Mechanisms for Peer-to-Peer File Sharing Kostas G. Anagnostakis and Michael B. Greenwald CIS Department, University of Pennsylvania 200 S. 33rd Street, Philadelphia PA 19104, USA anagnost,mbgreen @dsl.cis.upenn.edu (cid:0) (cid:1) Abstract—Performance of peer-to-peer resource sharing net- levels.However,this is easilysubvertedsincepeerscanclaim works dependsuponthelevel of cooperation of theparticipants. anything with a simple modification to their software. In To date, cash-based systems have seemed too complex, while fact, such hacks are easily accessible [3] and widely used[4]. lighter-weight credit mechanisms have not provided strong in- Other proposals to date require the use of a credit system centives. We propose exchange-based mechanisms for providing incen- which can be either centralized or decentralized. Centralized tives for cooperation inpeer-to-peer file sharing networks.Peers mechanisms[5], [6] (e.g., using micropayments issued by a give higher service priority to requests from peers that can trusted server or a centralized transaction clearing center) provide a simultaneous and symmetric service in return. We inheritthetypicaldisadvantagesofcentralizeddesigns(suchas generalize this approach to -way exchanges among rings of peers and present a search a(cid:0)lgorithm for locating such rings. indexing)in that they introducea single point of failure, may We have used simulation to analyze the effect of exchanges on put a significant burden on a single peer and, perhaps most performance.Ourresultsshowthatexchange-basedmechanisms importantly, it may be hard to design the right incentives for can provide strong incentives for sharing, offering significant one or more peers to take up such a demandingand sensitive improvements in service times for sharing users compared to role.Recentproposalsfordecentralizedcreditmechanisms[7], free-riders, without the problems and complexity of cash- or [8]arebasedondistributedhashtables(DHTs)[9],[10],[11] credit-based systems. and therefore inherit another set of problems. For instance, heterogenousnode capabilities make efficient allocation deci- I. INTRODUCTION sionshard,transientpeerparticipationmaysignificantlystress Peer-to-peer systems provide a powerful infrastructure for reconfiguration performance, and there are known classes of large-scaledistributedcomputingapplications,mainlybecause attacks that are likely to be directed against the credit system of the wide-spread cooperative resource sharing among par- service given its importance[12]. ticipants. Cooperation and the existence of a critical mass As an alternative,we proposea more lightweight approach of participants with sufficient resources are key elements for that avoids the complexities of credit mechanisms. Rather enabling a variety of novel applications such as file sharing, than building a system based on principles of monetary or large-scale content distribution, and distributed data process- crediteconomies,westructurethesystemas a moreprimitive ing. Performance in such systems depends on the level of exchange or barter economy. Users directly trade resources cooperationby the system’s participants. While most existing between themselves, so little or no long-term bookkeeping peer-to-peer architectures have assumed that participants are is required. Requests from peers that can provide a simul- generally cooperative,there is growing evidence from widely taneous,symmetric,service in return(exchangetransfers) are deployed systems suggesting the opposite. For instance, one given higher priority. The service need not be directly to the study of the Gnutella file sharing system shows that almost provider (a pairwise exchange), but more generally priority 70% of the peers only consume resources and do not share is given to peers who participate in -way exchanges to any files with the network[1]. The result of this kind of non- which the provider currently belongs. (cid:0)-way exchanges are cooperation can vary between tolerable service degradation implemented as rings of peers, whe(cid:0)re each peer is served and complete system collapse dependingon design goals and by its predecessor and se(cid:0)rves its successor in the ring. Non- performance requirements. exchange transfers are only served if no other exchange is Such problems have recently motivated work on incentive possibleandpeershavesparecapacity.Thepreferencegivento mechanisms for peer-to-peer systems that stimulate cooper- exchangetransfersprovidesastrongincentiveforparticipants ation between self-interested participants. Systems such as to cooperate. KaZaA[2] attempted some rather naive methods where each The rest of the paper is organizedas follows. In Section II peer announces its “participation level”, computed locally we describe prior work on incentive mechanisms in peer-to- as a function of uptime, download and upload volume, and peer systems, and discuss the complexities of credit-based give priority to remote peers that claim high participation systems and the limited effectiveness of the incentives in lighter-weightsystems.InSectionIIIwepresenttheproposed This work was partially supported by the DoD University Research Ini- exchange mechanisms and discuss several key design issues tiative (URI) program administered by the Office of Naval Research under GrantN00014-01-1-0795. with respect to efficiency and security. In Section IV we Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 3. DATES COVERED 2005 2. REPORT TYPE - 4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER Exchange-based Incentive Mechanisms for Peer-to-Peer File Sharing 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION Office of Naval Research,800 N. Quincy Street,Arlington,VA,22217 REPORT NUMBER 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S) 11. SPONSOR/MONITOR’S REPORT NUMBER(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited 13. SUPPLEMENTARY NOTES The original document contains color images. 14. ABSTRACT Performance of peer-to-peer resource sharing networks depends upon the level of cooperation of the participants. To date, cash-based systems have seemed too complex, while lighter-weight credit mechanisms have not provided strong incentives. We propose exchange-based mechanisms for providing incentives for cooperation in peer-to-peer file sharing networks. Peers give higher service priority to requests from peers that can provide a simultaneous and symmetric service in return. We generalize this approach to ��-way exchanges among rings of peers and present a search algorithm for locating such rings. We have used simulation to analyze the effect of exchanges on performance. Our results show that exchange-based mechanisms can provide strong incentives for sharing, offering significant improvements in service times for sharing users compared to free-riders, without the problems and complexity of cash- or credit-based systems. 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF ABSTRACT OF PAGES RESPONSIBLE PERSON a. REPORT b. ABSTRACT c. THIS PAGE 10 unclassified unclassified unclassified Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18 presentasimulationstudyanalyzingtheexchangemechanisms for the request, as well the upload and downloadvolumes for and their effect on file sharing system performance. In Sec- the peer. The main advantage of this scheme is simplicity: tion V we discuss open issues and directions for extending there is no communicationoverheadand a peer onlyneeds to the results presented here. We summarize and conclude in maintaintheuploadanddownloadvolumesforeachpeerithas Section VI. communicated. The approach is cheat-proof in the sense that peers have no reason to tamper with the credit file. However, anecdotal evidence[16] suggests that the approach does not II. RELATEDWORK consistently provide a clear performance advantage to users The first known use of payment-based incentive mecha- who contribute resources to the network. Although there is nisms in peer-to-peer file sharing was in the now defunct no clear evidence in terms of measurements to determine MojoNation network[5]. Each user was given an initial en- precisely why this is happening, the credit approach appears dowment called Mojo which he could spend on purchasing to have two main limitations. files from other peers. The main limitations of this approach First, it is hard for a peer to strategize in terms of what isthatalltransactionshadtobeclearedinacentralizedsystem, peers he wants to earn credit from in order to maximize ex- and users were burdened with managing their Mojo. pectedbenefits.Alargefractionofpeersmaybedisconnected A distributedcash-basedsystemforpeer-to-peersystems is resulting in delays in rewarding credit; other peers may leave presented in [7]. The system uses a currency called karma thesystempermanently,resultinginlossofcredit;othersmay which is maintained for each user by a collection of random not have any object the peer is interested in, and some may participants called a bank-set that is located using a DHT not share content at all. The use of “waiting time” as a factor lookup. Users need to negotiate the price of serving an in computing queue rank further complicates this problem. It object through an auction mechanism, and coordinate with results in giving weaker performanceadvantage to users with the bank-set for transferring karma between accounts. Each establishedcredit,aspeersthatdonothaveanycreditcanstill user receives an initial amount of karma when signing up use the system if they are patient enough.Tuning the scoring withthesystem,andthesystemensuresthattherateatwhich function to reduce the effect of waiting time is possible, but users can create new identities is limited through the use of resultinneverservingusersthatdon’thaveestablishedcredit, a cryptographic puzzle. To address inflation or deflation, the evenifestablishingcreditwiththosepeerscouldbebeneficial system needs to periodically normalize the total amount of in the future. currencyinthesystem.Theresultis afully-fledgedeconomic One practical workaround to address this problem1 is to system that is in principle more flexible than an exchange control the set of shared files in a way that increases credit system. In an idealized setting, a cash-based scheme may be with peers likely to be useful for a given set of requests in abletoofferastrongerperformanceadvantagetocontributing the near future. For instance, if a peer is requesting an object peers,asitisnotsubjecttothe“doublecoincidenceofwants” in category , then it makes sense to limit sharing to only constraintthatdrivesexchanges.Inpracticehowever,thecash- thoseobjects(cid:1)thatarealreadyavailableandbelongtocategory based approach has two main limitations. . Assuming that remote peers sharing the requested object First, it suffers from all the complexities of currency man- (cid:1)are likely to request objects from the same category,the peer agement. If the mechanisms used to negotiate prices, adjust is more likely to earn credit and therefore improve queue accountstoinflationanddeflationandmanageauser’sbudget rankand reducewaitingtime onthose peers. In this scenario, are not made completely transparent to the user, then such the credit system essentially approximates exchanges, at the a system is likely to have a high cost in terms of user cost of additional effort to get the conditions right for this to attention[13] which is suggested as a major reason why happen. micropaymentschemesareunlikelytogetwideracceptancein A second problem with the pairwise credit system is that general[14]. The feasibility of such mechanisms has not been there is no clear incentive for individual peers to cooperate proven to date. in supporting the credit system, although this approach could Second, the need to provide start-up funds to new users in principle lead to a better global operating point. There creates a potential loophole in the economy. Specifically, the is also no strong individual incentive not to honor credit, cryptographic puzzle used for protecting against the creation but in practice certain variants of the eMule client do not of newuser identifiersandtransferof creditto existingactive support the credit system, which also means that a fraction users may not be sufficient, as it may not be able to offer a ofthecreditearnedessentiallygetslost.Themechanismdoes satisfactory trade-off between keeping fake accounts out and not directly penalize clients for this type of defection, and allowing legitimate new users in. In essence, it is possible to building additional protection (e.g., monitoring compliance earn cash in return for CPU cycles, without doing any useful and maintaining blacklists) adds complexity. work for the system. In [17] the authors argue that peer-to-peer “bartering” A lightweight, pair-wise credit system is implemented in is an appropriate way to bootstrap peer-to-peer economies, the eMule system[15]. The goal of the credit system is to focusing on systems like PlanetLab[18] where peers share reward users contributing to the network by reducing their basic resourceslike computing,storageandnetworkcapacity. waiting time in the upload queue. For each request in the upload queue the peer computes the Queue Rank based on 1Thishasbeensuggestedonmessageboardsasastrategythathasworked a scoring function that depends on the current waiting time inpractice. 2 P2...Pn-2 Theyproposetheexchangeofsignedresourceticketsbetween system participants that can be stored, traded and used for allocating resources. Strictly speaking, this is closer in spirit o1 P1 P2 o2 o1 P1 P3 o3 o1 P1 Pn-1on-1 to credit economies involving personal debt certificates than barter.Thisapproachiswellsuitedforsystemswithasmallset P2 Pn ofhomogeneousresourceslike CPU, storageandnetworkca- o2 on pacity.Insuchsystemstheexchangemechanismsareunlikely to be useful, as there is little meaning in instant exchanges Fig.1. Pairwise,3-wayandn-wayexchanges of same-type resources. In contrast, file sharing systems are content-oriented, providing a high level of specialization in Allexchangesareperformedonefixed-sizeblockatatime. terms of the objects served by each peer. This fits well with Transfers are terminated if one of the two communicating the instant exchange model. peersdisconnects,ifthetransferiscompleted,orifthesource The work most closely related to ours is Bittorrent, a deletestheobject.Itisquitecommonforonesidetoterminate system for large-scale content distribution where peers ex- first, when it completes its own download, because object change blocks of the same file in an effort to expedite the sizes may differ and the system allows partial and concurrent distribution of large files [19]. The approach is more limited transfers. in that it only supports pairwise exchanges on the same file, Non-exchangetransfers will only be served if no exchange and appears to be vulnerable to freeriding middlemen (we is possible and the peer has a free uploadslot, althoughthese defer discussion of this flaw and solutions to Section III- slots will be reclaimed as soon as another exchangebecomes B). No evidence is provided on the actual contribution of possible. Peers who share more are more likely to be able the exchange mechanism, as the system was not used at a to participate in an exchange, directly rewarding them with scale comparable to popular file-sharing systems to observe faster transfers. Thus, the power of the proposed approach is any substantial diversity in peer behavior. To the best of our derivedfromtheprioritygivenbythesystemtoexchangeover knowledge, our study is the first to investigate the effect of non-exchangetransfers. exchangemechanismsonpeerperformanceandtheirvalueas an incentive mechanism in a file-sharing system. A. Exchange transfers Peersmustgiveprioritytoexchangetransfers.Itistherefore III. EXCHANGEMECHANISMS imperative that feasible exchanges be identified. In this paper we consider a file sharing system where each Pairwise exchanges are easily detected. Each peer A reg- peer has fixed upload and download capacity. The upload ularly examines its incoming request queue and determines capacity is more likely to be the resource bottleneck than the if, for any pending request, the remote peer B has some download capacity. To manage the upload link, we respond objectthatA is interestedinthatwouldqualifyfora pairwise toallrequestsinrelativelylarge,equal,fixed-size,blocks.We exchange. Although pairwise exchanges are simple, unfortu- assumethatthesystemsupportspartialtransfersandthatpeers nately,requestsfrequentlydonotresolveintoconvenientpairs. can download different parts of the same object concurrently Fortunately, it is easy to compute feasible -way ex- from multiple sources. To focus on the main point of this changes.Let bethedirectedgraphwhosevertice(cid:0)sarenodes paper, we ignore the details of object lookup. We note that inthepeer-to(cid:2)-peersystem,andwhoselabelededgesrepresent ourapproachcanworkwithseveralknownsearchmechanisms requests.Anedgefromnode to withlabel represents includingbroadcastinGnutella-likenetworksoraDHTquery arequestfrom to forob(cid:3)je(cid:0)ct (cid:3)(cid:1).Itisclearth(cid:4)a(cid:0)tanycycle insystemslikeChord.Whenapeerisinterestedinanobjectit of length in (cid:3)(cid:0)repr(cid:3)e(cid:1)sents a feas(cid:4)ib(cid:0)le -way exchange. canuseoneofthesemethodstolocateuptoacertainfraction How ca(cid:5)n we(cid:2)compute cycles in , a(cid:5)potentially enormous of peers that currently have the object. graph? First, we have empirically(cid:2)determined that -way Each peer has an incoming request queue (IRQ) where exchanges, where , do not substantially improv(cid:5)e the remote peers register their interest for a local file. A transfer likelihoodofsucces(cid:5)sfu(cid:6)le(cid:0)xchangesoverexchangeswhere tosatisfyarequestisinitiatediftwoconditionsaremet.First, (seeSectionIV).Therefore,itissufficienttolimitthesea(cid:5)rc(cid:1)h theremustbesufficientcapacityat bothpeersforthetransfer. (cid:0)for cycles to chains of up to 5 predecessors. Second, we note The local peer must have upload capacity (an open fixed- that a request from in the incoming request queue of size slot on the upload link), and the remote peer must have represents an edge in(cid:7) from to , and therefore pee(cid:8)rs sufficient download capacity. Second, either the transfer is an already have informatio(cid:2)nabout a(cid:7)parti(cid:8)al local subgraphof . exchangetransfer, or else no other requestin the IRQ is both Each peer maintains a request tree as follows. A peer w(cid:2)ith an exchange transfer and satisfies the first condition. no incoming requests has an empty Request Tree. For peers In practice, the local node does not check the download with non-empty incoming request queues, let each request in capacity of the remote node, but assumes it is sufficient. the IRQ include the contents of its request tree (pruned to a Inadequatedownloadcapacityterminatesthetransferwhenthe depth of 5). ’s Request Tree consists of an implicit root, , remotenodecannotreceiveitsincomingrequest,itterminates as the parent(cid:7)of the set of Request Trees accompanying ea(cid:7)ch its outgoing upload, and issues the request again when a entry in the IRQ. Then, can initiate an -way exchange if download is feasible. anypeerintheRequestT(cid:7)reeownsanyobjec(cid:5)tcurrentlydesired 3 by . If a suitable peer is found, and that peer appears at A dept(cid:7)h in the tree (the depth includes as the root), then we can(cid:5)construct a ring of peers, f(cid:7)or , each o1 o2 o3 carryingobject andreques(cid:5)tingobjec(cid:9)t(cid:1) (cid:2) (cid:0) (cid:10).(cid:11)Ea(cid:5)chpeer P2 P1 P4 providesanobje(cid:4)c(cid:1)ttotheirpredecessoran(cid:4)d(cid:2)(cid:1)(cid:3)ge(cid:0)t(cid:4)s(cid:2)a(cid:3)n(cid:4)(cid:5)objectfrom their successor. o8 o5 o6 o7 o4 inspectstheRequestTreebeforetransmittinganyrequest and(cid:7)after receiving each request. Prior to transmission of a P11 P5 P6 P9 P3 request for object , inspects the entire Request Tree to see if any peer pro(cid:4)v(cid:0)ide(cid:7)s . On receipt of each request, , o9 o10 o11 need only inspect the inc(cid:4)o(cid:0)ming Request Tree associated (cid:12)wit(cid:7)h P10 P7 P8 —butitchecksthepeersintheRequestTreeforanyobject t(cid:12)hat still wants. (a) No(cid:7)te that at the time decides to request object it “discovers” a (possibly inc(cid:7)omplete) set of peers who pro(cid:4)v(cid:0)ide A object , but it actually issues requests to only a subset of those p(cid:4)e(cid:0)ers. It can use the original provider list to compute a o1 o2 o3 cyclecontainingapeer, ,evenifitdidnotoriginallytransmit P2 arequestto .Atthein(cid:3)it(cid:1)ialrequesttime, hadnopreference P1 P4 for becaus(cid:3)e(cid:1) hadnowayofknowingth(cid:7)at wasapotential o8 part(cid:3)ic(cid:1)ipant in a(cid:7)n -way exchange. (cid:3)(cid:1) o4 o5 o6 o7 In practice, (cid:5)must circulate a token through the proposed P11 P5 P6 ring to determ(cid:7)ine whether everyone is still willing to serve. P9 P3 The ring can be invalid for several reasons. First, in the time o9 o10 o11 between the original requests and the ring initiation attempt, some peers may have gone offline, or crashed. Second, other P10 P7 P8 peers may have already constructed rings of their own, in- cluding some of ’s intended participants (it is possible that (b) several peers alon(cid:7)g the intended cycle will attempt to create the same ring roughly simultaneously). Fig. 2. can be served by some object on P9. The entire request tree Aninterestingquestionishowtoprioritizedifferentfeasible is shown i(cid:0)n (a). The cycle for the 3-way exchange that tries to initiate is shown in (b). P3 may have simultaneously discovered (cid:0)a cycle through a exchanges that can satisfy a given request. In principle, a target ofP2other than .Bothringsneed P2,soonlyonewill beinitiated preference for larger rings should have a positive effect on successfully. (cid:0) overall performance, as more peers are served. On the other hand, peers would prefer smaller rings as the search cost is lower, and the expected exchange volume is also more likely assume a new identitythat is not blacklisted,as is the case in to be higher for smaller rings, as the probability of a peer most file sharing systems today[20]. either disconnecting or completing is higher for larger rings. It is possible to limit the damage done by cheating by Assuming peers care less about globalperformanceand more exchangingblockssynchronouslyandvalidatingeachreceived about their own benefit, there is no clear incentive to put block before transferring the next one. This requires a trust- additional effort into looking for larger rings when even a worthysourceofinformationfortheactualvalidchecksumsof pairwise exchangehas been locatedthat has equal (orhigher) the blocks being probed. The maximum benefit for a cheater expected utility. in this case would be equal to the block size. If the block size is bytes and the round-trip time between the two pee(cid:13)r(cid:0)s(cid:6)i(cid:7)s(cid:8)(cid:9)(cid:5)(cid:10)(cid:0)seconds, this limits the maximum exchange B. Preventing cheating rate to (cid:14)(cid:11)(cid:12)(cid:12) bytes/second. As this may be less than Since the system gives priorityto exchangetransfers,mali- the slot(cid:13)(cid:0)c(cid:6)a(cid:7)p(cid:8)a(cid:9)c(cid:5)i(cid:10)ty(cid:0),(cid:15)(cid:14)p(cid:11)e(cid:12)e(cid:12)rs may want to use a window protocol cious peers may attempt to cheat. For example, a peer could and increase the window size to fill up the slot capacity- claim that there is an an exchangeable object available and delayproduct,at the expenseof increasingrisk. A reasonable serve junk in exchange for real data. approachwouldbetostart theexchangewithasmall window Several mechanisms can be used to address this problem. and increase after a number of rounds.A cheater would need Peers can locally blacklist cheating peers and refuse to serve to have at least a few real blocks in order to increase the them later. In a large and dynamic system this is likely to window. It is very likely that even this level of cooperation be ineffective as cheaters may perform well enough even if would have a positive effect on the system as a whole. they can cheat each peer only once. Cooperative blacklisting Another problem is that a peer could act as a middleman couldhelp tacklethis problem,althoughit requiresadditional between two peers that could perform an exchange directly mechanisms which may themselves be subject to attacks. In witheachother,andobtainanobjectwithoutdoinganyuseful both cases, the problem persists if it is easy for a peer to workforthe system. Specifically,lets assume that peer has (cid:7) 4 peer upload has wants object andwantsobject ,andpeer hasobject andwants A 10 - x object(cid:16). The cheating pe(cid:17)er , inter(cid:8)ested in obje(cid:17)ct claims B 5 x y thathe(cid:16)hasobject andwants(cid:1)object whentalkingt(cid:16)o ,and C 10 y x that he has object(cid:17) and wants obje(cid:16)ct when talking(cid:7)to . D 10 y x Peer wouldstartg(cid:16)ettingblocksof fr(cid:17)om andexchangi(cid:8)ng TABLEI them(cid:1)forblocksof with whichin(cid:17)turna(cid:8)repassedto for EXAMPLEMIDDLEMANSCENARIORESULTINGINNON-RINGEXCHANGE moreblocksof .I(cid:16)nthis s(cid:7)cenario,peer doesnotcontr(cid:8)ibute any useful work(cid:17)to the system, and can(cid:1)still get high-priority service. If this is allowed to happen,then the exchange-based 5 C y incentives break down. 5 Tightercontrolisneededtoaddressthisproblem,involving 5 x B A the use of a trusted peer as a mediator. Both directions of the 5 transfer can be encrypted,each with a secret key only known 5 D y to the sendingpeer and the mediator.In the controlheaderof each transfer block, the sending peer also includes a peer-of- Fig.3. Exampleofnon-ringexchange originidentifier.Thecontrolheaderisalsoencrypted,sothata middlemancannot modifyit. When the transferis completed, thetrustedpeermediatestheexchangeofthesecretkeys,after cost, is useful for the system as a whole, and respects their ensuring that neither side of the exchange has cheated. The desire not to store or share objects. For instance, considerthe mediator can do this by verifying the validity of a certain scenario of Table I. smallnumberofrandomlychosenblocksfromeachsideofthe Althoughpeer has no exchangeableobject, it is possible transfer.Thekeysaresenttothepeersindicatedinthecontrol to substitute a pu(cid:7)re object exchange with a mixed object- headerofthetest blocks.Inthisway,amiddlemanwouldnot capacity exchange as shown in Figure 3: peer sends to beabletodecrypttheblockshepeddledbetweenthetwopeers (5 upload units), peer forwards to and(cid:8) (5 up(cid:16)load in the scenario discussed above, and his participation in the (cid:7)units each for a total of(cid:7)10), and (cid:16)and(cid:1) sen(cid:18)d to (5 transfer would offer him no benefit. uploadunitseachforatotalof10).(cid:1)Inthis(cid:18)scenario,(cid:17)ther(cid:7)esult One remaining issue with this approach is that the mid- isthesamefor and comparedtoapureobjectexchange, dleman can initially obtain two blocks, one for each object but both and(cid:1) inc(cid:18)rease their utility, since gets object peers and are interested in, and carry out small, one at a rat(cid:7)e of 10(cid:8)when he would normally on(cid:8)ly be able to block t(cid:7)ransfers(cid:8)with each peer, and then presenting the newly (cid:17)get it at a rate of 5, and peer gets object at a rate of acquired block for an exchange with the other peer. Since 5 when he would not be able t(cid:7)o participate at(cid:16)all in a pure he starts this process with real data that is not encrypted, object exchange. Of course, this requires a generalization of the protection offered by the mediator is not sufficient in theexchangemechanismtonon-ringtopologies,whichwedo this case. Although we do not have a similar solution for not discuss or analyze further in this paper. this problem, we argue that this way of increasing one’s performance without doing useful work is unlikely to be IV. SIMULATION possible at a large enough scale to be practical for cheaters A. Environment as a general strategy, and a threat to the exchange-based system. First, the cheating peer needs to wait in low-priority We simulate a small, 200-node file-sharing system where queues to get the ’bait’ blocks anyway, for both files, adding each peer has fixed and asymmetric upload and download some latency to the process. Second, the number of potential capacitye.g.theavailablecapacityisnotaffectedbyotheruser “victim”peersdecreaseswiththenumberofblocksthecheater trafficandthereistypicallymuchmoredownloadthanupload has available. Third, since the cheater needs to have two capacity. We assume that the core network is sufficiently blocks,oneforeachpeer,heisalsoconstrainedbythenumber overprovisioned,delayandlossarenegligiblesothattheonly of peer-pairs interested in those blocks. Fourth, the cheater is bottleneck in the system is a peer’s connection. wasting his resources because he is using part of his upload The object popularity model is similar to the model pre- capacity for an object that is totally useless to him. unless of sentedin[21].Objectsareorganizedincategories.Eachpeeris courseheisinterestedinbothobjects.ifnot,hemaybebetter interested in categories, which are selected at initialization off using this capacity for real exchanges. Fifth, the peers he time. The po(cid:19)pularity of a category of rank is computed as is targeting are likely to be talking to each other already so i.e. the probability of (cid:10)a request for an (cid:1) they may be uninterested in what he has to offer, and they (cid:20)ob(cid:7)je(cid:1)ct i(cid:3)n(cid:15)(cid:4)c(cid:3)at(cid:5)ego(cid:10)(cid:21)r(cid:22)y(cid:7)(cid:6) is For each of the (cid:1) (cid:1) (cid:2) (cid:13) may have already committed all of their upload capacity to categories assign(cid:10)ed t(cid:3)o(cid:7)e(cid:1)ach(cid:20)(cid:7)p(cid:15)ee(cid:0)r(cid:13)w(cid:5)e(cid:6)(cid:20)a(cid:7)lso assign a local eachother.Finally,additionalconstraintscanbedesignedinto p(cid:19)reference distribution with uniformly random weights for the system to discourage this behavior, such as giving higher eachcategory.Thelocalpreferencedistributionisindependent priority to longer exchanges. from global popularity. When a peer issues a request, it Since users are considered to be self-interested rather than chooses a categorybased on the local preferencedistribution, malicious,the best way to discouragethis behavioris to offer and then picks an object in that category, also based on a an alternative that gives them better performance at a lower distribution where the popularity of an object of rank is (cid:10) 5 number of peers 200 160 download capacity 800 kbit/s upload capacity 80 kbit/s 140 ul/dl slot size 10 kbit/s es) content categories 300 nut 120 mi ocabtjeegcotsripese/rpeceartegory uunniiffoorrmm((11,,83)00) me ( 100 category popularity f=0.2 d ti 80 a object popularity f=0.2 o object size 20 MB (all objects) wnl 60 o storage capacity per peer uniform(5,40) d n 40 (nr. of objects) a e queue for incoming requests 1000 m 20 max pending objects 6 fraction of freeloaders in system 50% 0 140 120 100 80 60 40 TABLEII upload capacity (kb/sec) BASICSIMULATIONPARAMETERS pairwise/sharing 2-5-way/sharing pairwise/non-sharing 2-5-way/non-sharing 5-2-way/sharing no exchange 5-2-way/non-sharing Fig.4. Meandownload timevs.uploadcapacity computedas andtheprobabilityofarequest (cid:1) for an object(cid:20)in(cid:3) (cid:1)cat(cid:3)e(cid:15)g(cid:4)o(cid:3)r(cid:5)y (cid:10)(cid:21)(cid:22)is(cid:3)(cid:6) . For (cid:1) (cid:1) (cid:2) (cid:13) the distribution becomes u(cid:10)nifo(cid:3)r(cid:3)m(cid:1), a(cid:20)nd(cid:3)(cid:15)fo(cid:0)r(cid:13)(cid:5)(cid:6)(cid:20)(cid:3) it bec(cid:22)om(cid:1)e(cid:2)s resources are shifted to sharing users because we prioritize zipf-like. Note that measurements of real-(cid:22)wo(cid:1)rld(cid:3)file-sharing exchanges over non-exchangesand so a larger fraction of the systems suggest zipf-like locality[22]. upload resources can be given to users that can participate in Each peer has up to a maximum number of pending exchanges. For 40 kbit/s upload capacity the use of pairwise requests.Requestsaregeneratedfastenoughsothateachpeer exchangesresultsindownloadtimesforsharingusersthatare reaches this maximum early enough in the simulation, and less than half of the download times for non-sharing users. throughout an experiment a new request is issued as soon The use of higher-order exchanges in addition to pairwise as a pending download is completed. As the factor of the (denoted as 2-5-way and 5-2-way in the graph) gives sharing objectpopularitydistributionincreases, peersare incr(cid:22)easingly users four times better performance than non-sharing users. likely to request an objectalreadyavailable locally.In reality, When using the exchange mechanism the improvement for peers are unlikely to request objects they already have and sharing users is also significant compared to a system where the effect of such “cache hits” on our measurements could noexchangemechanismsareintroduced(“noexchange”inthe be misleading. To avoid such effects we therefore choose to graph): downloads are roughly twice as fast when exchanges ignore hits and continue to generate candidate requests until are used. This observation suggests that sharing peers have a a miss is found. This may shift the distribution of requests goodincentiveto deploy the proposedexchangemechanism. more towards uniform, but the resulting bias is more on the In Figure 5 we present the fraction of exchange requests conservative side. in the system as load increases. We see that the fraction of Each peer can store up to a maximum number of objects. exchange requests increases almost linearly with load; as the We initially place objects on each peer based on the peer’s object popularity model does not change, the difference is categorypreferences.In regularintervals, peers examinetheir becauseas loadincreasesalargerfractionofthetransferslots storage and remove random objects if the maximum number oneachpeeraregiventoexchangetransfers.We alsoseethat of objects is exceeded. A peer postpones removing an object pairwise only performs slightly worse than 5-2-way and 2-5- if it is used in an ongoing exchange. way. If peers aggressively seek out feasible longer exchange ThesystemparametersforsimulationareshowninTableII. rings before resorting to shorter rings, the system performs slightly better than if peers only look for longer rings when no shorter rings are feasible. B. Results The benefit of seeking and using higher-order exchange Thekeymetricforpeerperformanceinfilesharingsystems rings is shown in Figure 6. We observe that there is a is object downloadtime. We thereforeobtain the meanobject significant difference between and , suggesting download time for sharing and non-sharing users in a non- that higher-order exchanges a(cid:0)re (cid:1)ind(cid:0)eed v(cid:0)alu(cid:1)ab(cid:7)le. However, exchange,pairwise,5-2-way(e.g.choosinglongerovershorter much larger rings ( ) do not offer any substantial exchange rings), and 2-5-way (e.g. choosing shorter over improvement. (cid:0) (cid:6) (cid:0) longer rings) exchange system. We first look at behavior as In Figure 7 we present the distribution of the amount of loadinthesystemincreases.TheresultsareshowninFigure4. data transfered per session. We see that exchanges have a As expected, as the upload capacity is reduced, the mean higher transfer volume, as normal transfer sessions tend to download time increases for both sharing and non-sharing be canceled and replaced by exchanges.We also observethat users,butincreasesfasterfornon-sharingcomparedtosharing the transfer volume is much higher for shorter rings than for users. This happens because as the system gets more loaded, longer, as there is a higher probability of a peer completing 6 1 120 100 0.8 ns me 80 ssio 0.6 ad ti e o on of s 0.4 n downl 60 cti ea 40 a m fr 0.2 20 0 0 1 2 3 4 5 6 7 140 120 100 80 60 40 Maximum exchange ring size N upload capacity (kb/sec) N-2-way / non-sharing 2-N-way / non-sharing pairwise 5-2-way 2-5-way N-2-way / sharing 2-N-way / sharing Fig.5. Fraction ofexchange transfersvs.uploadcapacity Fig. 6. Differentiation of mean download times for sharing vs. non-sharing usersasafunction ofthemaximumexchange size 1 1 ns 0.75 ns 0.75 o o si si s s e e s s of 0.5 of 0.5 n n o o cti cti a 0.25 a 0.25 fr fr 0 0 0 5000 10000 15000 20000 0 50 100 150 200 amount of data transferred per session (kb) waiting time non-exchange 4-way non-exchange 4-way pairwise 5-way pairwise 5-way 3-way 3-way Fig.7. CDFfortransferbytespertraffictype Fig.8. CDFfortransferstarting timespertraffictype a transfer and therefore dropping the exchange when there exchanges. are many peers compared to when there are only two peers. Thishelpsexplainwhyhigher-orderexchangescontributeless We also determined the effect of the object popularity thanpairwiseexchangestotheoverallimprovement.Notethat distribution on performance. In Figure 9 we show the mean in the current simulation model peers always pick the first download time for different types of exchange configurations feasible exchange in the search process. There may be other as a function of the object and category popularity factor . feasibleexchangeswithalongerexpectedlife-cycle.Thus,the As expected, the difference in performance between sharin(cid:22)g system could be modified for determining the best possible and non-sharing users increases as the factor approaches exchange, at the expense of increased search time and cost. 1, resembling a zipf-like distribution, although(cid:22) the relative benefit is significant even when object popularity is more In Figure 8 we present the distribution of the waiting evenly distributed. In this experiment, the difference between times for different classes of transfers. The waiting time for 5-2-way and 2-5-way exchanges becomes more clear, and a session is the differencein time between the originalobject it seems that 2-5-way perform slightly better, not because request and the start of a transfer. We see that waiting times they improve the performance of sharing users but because for non-exchange transfers are substantially worse than for they reduce performance of non-sharing users. This happens exchange transfers, as the system gives absolute priority to because exchange transfers displace non-exchange transfers exchanges. This difference is the key reason why exchanges and 2-5-way are longer-lived on average than 5-2-way, even providesignificantly better performanceto sharingusers. The if they have similar aggregate transfer volumes, as shown in waitingtimeisonlyslightlyworseforhigher-orderexchanges Figure10.Becausetheyhavesimilartransfervolumestheydo compared to pairwise exchanges, meaning that this is not not affect the performance of sharing users as much, but, as the cause for the relatively smaller benefit of higher-order they are more long-lived, they tend to displace non-exchange 7 160 400 s) 140 350 e ut 300 min 120 MB) me ( 100 me ( 250 wnload ti 80 sfer volu 125000 o n d 60 a n tr 100 a e m 40 50 20 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 object popularity factor f object popularity factor f pairwise/sharing 2-5-way/sharing pairwise/sharing 2-5-way/sharing pairwise/non-sharing 2-5-way/non-sharing pairwise/non-sharing 2-5-way/non-sharing 5-2-way/sharing no exchange 5-2-way/sharing no exchange 5-2-way/non-sharing 5-2-way/non-sharing Fig.9. Meandownload timevs.object popularity factor Fig.10. Transfervolume(MB)vs.object popularity factor g n ari 4.5 160 h s nload time, sharing vs. non- 23..3455 wnload time (minutes) 1116802400000 w o o 2 d n d an 40 mea 1.5 me 20 p: u ed 1 0 pe 2 3 4 5 6 7 8 9 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 s max. outstanding requests per peer fraction of non-sharing peers cat/peer pairwise/sharing 2-5-way/sharing 2 4 8 pairwise/non-sharing 2-5-way/non-sharing 5-2-way/sharing no exchange 5-2-way/non-sharing Fig. 11. Ratio of mean download times for different maximum pending Fig.12. Meandownloadtimesvs.fractionofnon-sharingpeersinthesystem requestsizesandnumberofcategories eachpeerisinterested in appear to be significant. transfers for a longer time. These results indicate that giving We must note that since we do not explicitly model idle preference to pairwise over higher-orderexchanges is a good peers that have no outstanding requests, this also provides an engineering choice, in addition to being cheaper in terms of indirect measure of the effect of idle users on system perfor- search cost. mance.Idleusersdonotparticipateinexchangesandtherefore In Figure 11 we present the ratio of mean download times do not discriminate between sharing and non-sharing peers, between sharing and non-sharing users as a function of the dampening the effect of exchanges on relative performance. maximumnumberofoutstandingrequestsoneachpeeraswell The effect of the number of categories per peer is also as the number of categories each peer is interested in. The significant,asitgenerallyincreasestheprobabilityoflocating maximum number of outstanding requests increases system a feasible exchange. If the number of maximum outstanding load,butalsoincreasesthenumberoffeasibleexchangesinthe requestsis small, theeffectappearsto be reversed,with more system. Upto a certainpointthis results ina betterdownload categoriesperpeergivingaslightlysmallerrelativebenefitto timeratioforsharingusers,asthe fractionofthetotal system sharing peers. capacitydevotedtoexchangestendstoincrease.Theimprove- All of the previous simulations assumed a fixed fraction ment levels off and even decreases as the maximum number (50%) of peers were good citizens and shared. Figure 12 of outstanding requests increases. This can be explained by investigatesthe effect of frequencyof uncooperativebehavior the increased competition between sharing users, that seems on mean download times, to see whether incentives to share toreducetheirrelativebenefit,althoughthereductiondoesnot continueevenifthevastmajorityofpeersdonotcooperate(or, 8 contrarily, if almost everyone cooperates). The measurements represent the set of peers in the request tree2, and ignore the showthatthegapinmeandownloadtimespersists,regardless detailedstructureoftherequesttreeandtheobjectsassociated of the fraction of non-sharing nodes. The explanation for with each edge. This is likely to offer significant savings this is straightforward. We use the “no-exchange” case as especially considering the size of object and file identifiers a baseline, i.e. mean download time in a system in which in modernfile sharingsystems and thelikelihoodof thesame everytransferisgrantedandnopreferenceisgiventosharers. peers. The main difference in the process of setting up an When almost everyone is sharing, then sharers get the same exchange is that the initiator does not have access to the performance as no-exchange (sharers rarely get an advantage full subgraph, and can only determine that a cycle exists, but from sharing), however, the non-sharers get a large penalty. cannotidentifyallthemembersoftheexchange.Theinitiator Ontheotherhand,whenalmosteveryoneisnon-sharing,they must depend on next-hop lookups at each node instead of rarely compete with a sharer, so the non-sharers receive the source-routingthe request token around the ring, and there is same performanceas “no-exchange”.However,the infrequent a non-zero chance of false positives due to the probabilistic sharer gets a big reward, because theyare almost always able nature of Bloom filters. The space savings of this scheme to preempt other transfers and get immediate service. are likely to be important for peers with a large number of incoming requests, and the peers close to them in the request graph. The details of this scheme (e.g. how to adapt, how to use hybrids consisting of both Bloom filters and complete V. DISCUSSION requesttrees,howtoprotectagainstcheating,etc.)aresubject to future work. For the purpose of this study we have focused on a It is hard to speculate on how the incentives provided by rathersimplisticsimulationscenario,andaspecificfile-sharing exchangeswouldaffectpeerbehavior.Onedirectionforfuture model.Wediscusssomeofthelimitationsofouranalysisand work is therefore to determine how the proposed exchange how the mechanisms proposed could be improved further. mechanisms interact with replication mechanisms. In the cur- Intermsofsimulation,thebasicassumptions(e.g.overpro- rentmodel,peersonlystoreobjectstheyaredirectlyinterested visioned core network, asymmetric bandwidth, zipf-like pop- in.Inanexchangesystem,usershaveanincentivetoreplicate ularity) seem to agree with real-world measurements. Many popularobjectsthatareindemand,asthisislikelytoincrease oftheothercharacteristicsofthecurrentmodeltendto erron their chances of participating in exchanges which, being the conservative side. Firstly, we assume that a peer cannot prioritized, would give them a performance improvement. In serve an object unless it has been fully received. In reality, essence,popularobjectstaketheroleofcurrencyinexchange manypeer-to-peersystems (forexample,eMule[15])doserve economies as they are easily exchangeable for other goods.3 “chunks” of incomplete objects. If this is incorporated in the There are three main limitations in the exchange approach model, the opportunity for exchanges is likely to increase as presented in this paper. First, peers are assumed to be further. In fact, this form of exchange is implemented in the equallyinterestedinalloftheirrequests.Itwouldbeusefulto Bittorrent system[19]. investigate non-uniformutility models, as many existing file- Secondly, we have assumed that transfer slots are fixed, sharingsystemsalreadyallowuserstoexpresstheirpreference regardless of the type of transfer. This means that exchanges in terms of “low”, “medium” or “high” priority. This kind of cannot use more capacity than the standard transfer slot, informationcouldbeusedtonegotiateasymmetricexchanges, although peers would clearly have interest in doing so. We based on some form of bargainingor auction. also assume that a peer can only have one registered request Second, peers can leverage their ability to participate in onagivenpeerforagivenobject.Thus,ifmultipleexchanges exchangesonly when they have pendingrequests themselves. are possible, whether pairwise or with different values of , It wouldbedesirableto providea strongerincentiveforusers only one can be chosen. (cid:0) to actually stay connected even if they cannot immediately Thirdly, in our simulation all peers have very similar char- participate in some exchange. acteristics, ignoring the widespread heterogeneity observed Finally, we have only considered peers for which down- in real-world systems. For example, the existence of “super- loading increases utility and uploading either does not affect peers” (e.g., peers with substantially better network capacity or reduces utility. The incentive structure is different in peer- or storage) is likely to have a positive effect on exchange to-peer content distribution systems: peers increase utility by mechanisms, especially as a way to stimulate the deployment pushing content out, and cooperating peers could help by of exchange-capableclients. downloading and re-distributing content on behalf of others. Finally, we have ignored the complexity issues of commu- It would be interesting to see how exchange mechanisms can nicating request tree information.The cost of communicating the full request tree may be prohibitivefor peers with a large 2We require a different Bloom filter for each level in the request tree so number of incoming requests and peers close to them in the that peers can trim the request tree by one level when they initiate a new request.Further,weneedadistinct setofBloomfiltersforeachentryatthe requestgraph.Iftherequesttreeisupdatedincrementally,this top level of the incoming request queue, so that a peer can reconstruct the islikelytointroducesomelatencyinthesearchprocesswhich nexthopintheexchange ringwhenaringinitiation tokencomesdown. isnotreflectedinthewaitingtimesofexchangetransfersinthe 3We do not expect users to manually replicate objects or to patch their file-sharing software for that purpose. Rather, it is likely that developers of currentsimulationmodel.However,therearewaysofreducing file-sharingclientswillseizetheopportunitytobuildsoftwarethatisexpected thiscost.Inparticular,wecanuseasetofBloomfilters[23]to toperformbetter. 9

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.