[ieee 2008 ieee 17th workshop on enabling technologies: infrastructure for collaborative enterprises...

6
Reciprocal Exchange for Resource Allocation in Peer-to-Peer Networks Lluis Pamies-Juarez, Pedro Garc´ ıa L´opez, Marc S´anchez Artigas Department of Computer Science and Mathematics Universitat Rovira i Virgili {lluis.pamies, pedro.garcia, marc.sanchez}@urv.cat Abstract Symmetric exchanges has been used for peer-to-peer resource allocation systems to maintain fairness among the number of resources that each peer contributes to the network. The problem of these systems is that they do not take into account resource’s quality in their fair- ness measure. Resource quality is an important fac- tor to obtain fair allocations. When this factor is not kept in mind, high quality peers can obtain low qual- ity resources, bringing the system to an unfair state. In this work we present a generic resource allocation system that improves the system fairness in the pres- ence of quality heterogeneity. With low network over- head, our system provide near complete allocation while maintaining network stability and fairness. 1. Introduction One of the main goals of peer-to-peer (P2P) net- works is to benefit from sharing resources –data stor- age, computer cycles or bandwidth– located at desktop computers. P2P resource allocation systems aim to dis- cover these resources in the network and assign them to the needed peers. In order to incentive peers to participate, resource allocation systems must guaran- tee that no peer obtains less resources than the amount it shares. Reciprocal exchanges techniques are used to avoid this problem. In this kind of resource alloca- tion, pairs of peers exchange resources symmetrically in order to maintain the fairness among the number of resources that peers contribute to the network. Real P2P networks are composed of heterogeneous peers with different bandwidths, availabilities, CPU * This work has been partially funded by the Spanish Ministry of Education and Science through project P2PGRID, TIN2007- 68050-C03-03. power or storage capacities. This heterogeneity pro- duces resources with different qualities depending on the peer where they come from. Existing resource allo- cation algorithms based on reciprocal exchange do not take into account resource’s quality in their designs. This lead these systems to unfair states where high quality peers obtain low quality resources, although the fairness is kept among the number of resources. In this work, we present a new reciprocal exchange system for resource allocation that takes into account resource’s quality to provide fair exchanges. With our system, pairs of peers exchange the same number of resources with the same quality. With it we can main- tain the network fairness, not only in the number of resources that each peer provides to the network, but in the quality of the resources obtained. Our solution consists of two different algorithms based only on local information. They are responsible of the partner discovering protocol and the reciprocal exchange algorithm. These algorithms have been de- signed to be used in any resource allocation problem were fairness among the number of shared resources and the quality of them are the main concern. Dis- tributed data backup is an example that fits these re- quirements. In P2P data backup, data blocks can be exchanged symmetrically to those more stable peers in order to obtain maximum data reliability. But other resource allocation applications can take advantage of our system. 2. Related Work A number of P2P resource exchange algorithms have been proposed in the last few years. The majority of them have been designed to solve resource allocation for distributed backup systems. Cooperative Internet Backup Scheme [7] puts a strong focus on data relia- bility and suggests a simple central server or an un- Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises 978-0-7695-3315-5/08 $25.00 © 2008 IEEE DOI 10.1109/WETICE.2008.11 121 Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises 978-0-7695-3315-5/08 $25.00 © 2008 IEEE DOI 10.1109/WETICE.2008.11 121 Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises 978-0-7695-3315-5/08 $25.00 © 2008 IEEE DOI 10.1109/WETICE.2008.11 121

Upload: marc-sanchez

Post on 28-Feb-2017

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

Reciprocal Exchange for Resource Allocation

in Peer-to-Peer Networks ∗

Lluis Pamies-Juarez, Pedro Garcıa Lopez, Marc Sanchez Artigas

Department of Computer Science and Mathematics

Universitat Rovira i Virgili

{lluis.pamies, pedro.garcia, marc.sanchez}@urv.cat

Abstract

Symmetric exchanges has been used for peer-to-peer

resource allocation systems to maintain fairness among

the number of resources that each peer contributes to

the network. The problem of these systems is that they

do not take into account resource’s quality in their fair-

ness measure. Resource quality is an important fac-

tor to obtain fair allocations. When this factor is not

kept in mind, high quality peers can obtain low qual-

ity resources, bringing the system to an unfair state.

In this work we present a generic resource allocation

system that improves the system fairness in the pres-

ence of quality heterogeneity. With low network over-

head, our system provide near complete allocation while

maintaining network stability and fairness.

1. Introduction

One of the main goals of peer-to-peer (P2P) net-works is to benefit from sharing resources –data stor-age, computer cycles or bandwidth– located at desktopcomputers. P2P resource allocation systems aim to dis-cover these resources in the network and assign themto the needed peers. In order to incentive peers toparticipate, resource allocation systems must guaran-tee that no peer obtains less resources than the amountit shares. Reciprocal exchanges techniques are used toavoid this problem. In this kind of resource alloca-tion, pairs of peers exchange resources symmetricallyin order to maintain the fairness among the number ofresources that peers contribute to the network.

Real P2P networks are composed of heterogeneouspeers with different bandwidths, availabilities, CPU

∗This work has been partially funded by the Spanish Ministryof Education and Science through project P2PGRID, TIN2007-68050-C03-03.

power or storage capacities. This heterogeneity pro-duces resources with different qualities depending onthe peer where they come from. Existing resource allo-cation algorithms based on reciprocal exchange do nottake into account resource’s quality in their designs.This lead these systems to unfair states where highquality peers obtain low quality resources, although thefairness is kept among the number of resources.

In this work, we present a new reciprocal exchangesystem for resource allocation that takes into accountresource’s quality to provide fair exchanges. With oursystem, pairs of peers exchange the same number ofresources with the same quality. With it we can main-tain the network fairness, not only in the number ofresources that each peer provides to the network, butin the quality of the resources obtained.

Our solution consists of two different algorithmsbased only on local information. They are responsibleof the partner discovering protocol and the reciprocalexchange algorithm. These algorithms have been de-signed to be used in any resource allocation problemwere fairness among the number of shared resourcesand the quality of them are the main concern. Dis-tributed data backup is an example that fits these re-quirements. In P2P data backup, data blocks can beexchanged symmetrically to those more stable peers inorder to obtain maximum data reliability. But otherresource allocation applications can take advantage ofour system.

2. Related Work

A number of P2P resource exchange algorithms havebeen proposed in the last few years. The majority ofthem have been designed to solve resource allocationfor distributed backup systems. Cooperative InternetBackup Scheme [7] puts a strong focus on data relia-bility and suggests a simple central server or an un-

Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises

978-0-7695-3315-5/08 $25.00 © 2008 IEEE

DOI 10.1109/WETICE.2008.11

121

Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises

978-0-7695-3315-5/08 $25.00 © 2008 IEEE

DOI 10.1109/WETICE.2008.11

121

Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises

978-0-7695-3315-5/08 $25.00 © 2008 IEEE

DOI 10.1109/WETICE.2008.11

121

Page 2: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

structured flooding protocol to facilitate the discoverof data trade partners. PeerStore [5] uses a broad-cast technique over a distributed hash table (DHT)to send trade offers and discover new peers interestedin data trades. To grant safekeeping PeerStore allowsasymmetric trades between peers, establishing a max-imum unbalanced ratio for these peers. Other stor-age systems like Samsara[4] use symmetric trades be-tween peers and introduce the concept of claims. Theseclaims are unused resources that can be forwarded tothird parties and used as a network commodity money.Finally [2] proposes collection trading and deed trading

as two different algorithms for trade data between pairsof peers, used and tested to achieve reliable replicationfor digital archives backups.

These data allocations systems do not completelysolve the three main problems that any resource allo-cation system must keep in mind. Firstly, such systemsneed an efficient peer discovery protocol to achievenetwork scalability and support network dynamisms.Secondly, the trading algorithm has to ensure that allnodes can exchange all their resources. And finally, thesystem has to avoid the existence of unbalanced nodesthat provide more resources than the ones they receivefrom the others. In addition, these systems doesn’ttake into account the concept of node quality.

Other works more in line with our research work,[8, 9, 1] study how bartering rings or reciprocal ex-change networks can regulate economical transactionsin a decentralized network without a single unified cur-rency. Still, they do not apply these economical fea-tures on the distributed resource allocation problem.

In this paper we present two algorithms that pro-vide a solution to the three weaknesses that existingresource allocation systems have. To achieve this, weuse simple exchanges between peers as the basis for oursystem.

3. Reciprocal Exchange Infrastructure

Our reciprocal exchange infrastructure uses the ba-sic principles from reciprocal exchange networks to ex-change resources in a decentralized infrastructure ofheterogeneous nodes. By exchanging resources, partic-ipating nodes gain redundancy that may be used forupper level applications that seek reliability. In orderto obtain a well-connected network and a high redun-dancy rate, nodes will need to exchange resources witha minimum number of peers.

The infrastructure is based in a decentralized econ-omy where the resources exchanged between peers areused as a network commodity. In this line, we haveidentified four main economical features that we want

to provide to our system:

• Stability : All nodes in the network aim to ex-change the totality of its resources with otherpeers, and we need to ensure that all participantscan achieve this goal. We will say that the networkhas reached a stable state when all nodes –or near100% of them– has allocated all its resources.

• Scalability : The system must guarantee nodestability in large networks without increasing itsoverhead. The network overhead will be measuredin number of network messages and number ofneighbors per node.

• Dynamism : Once the network has been stabi-lized the system must allow the incorporation ofnew nodes. This incorporation should be possi-ble by releasing and re-exchanging some resourcesfrom stabilized nodes with the joining ones.

• Fairness: Real networks are composed of hetero-geneous nodes. Our system has to reward high-quality nodes to encourage low-quality nodes toincrease its quality.

We have simplified and formalized the problem ofdistributed resource exchange to a set of N nodes,where each node i has pi pieces. The goal of each nodeis to discover new peers and exchange reciprocally allits pieces with them –we will refer to a pair of nodesthat has exchanged pieces as partners–. Each node iwill maintain a list of known peers, Ki, and anotherlist, Pi, with its partners –the system will ensure thatPi ⊂ Ki.

To adapt the formal problem to the original prob-lem, each piece can only be exchanged concurrentlywith one partner and each node will have a maximumnumber of pieces to exchange with the same partner.The reason for this last requirement is that some appli-cations will need resource redundancy, and it cannot beachieved if peers exchange all their resources with anunique partner. To solve this we define γi as the max-imum number of pieces that node i can exchange withthe same partner, where γi = pi/α and α is a globalsystem constant that defines the minimum redundancy.

Furthermore, our system introduces peer quality asa measure to maintain node fairness. The quality ofa node i, represented as qi ∈ [0, 1], is a constant thatindicates how much this node wishes to contribute tothe network. We assume that the quality value of allonline peers is always available. Is out of the scopeof this work define how this quality can be known byall peers. Let qi be the fairness value of a node i, we

122122122

Page 3: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

compute it as the average number of pieces exchangedwith each partner, weighted by its relative quality:

qi =

|Pi|∑

j=1

qj ∗ mij

pi

where mij (mij = mji) are the number of pieces thatnode i shares with node j.

In the next subsections we describe two simple al-gorithms that define the behavior of each node. Thefirst one is responsible of discovering new peers, whilethe second describes the process of reciprocal piece ex-change between pairs of peers.

3.1. Peer Discovery Protocol

We present a randomized peer discovery protocol,that using only local information, ensures that allnodes can find enough partners to exchange all theirpieces. To join the network, a node i must know a boot-strap node that will be appended to Ki. Node i willrun the peer discovery protocol when all its nodes inKi have rejected new partnership relations. To assuresystem scalability and avoid an uncontrolled growthof Ki, we define a global constant δ to determine themaximum size of Ki.

The peer discovery protocol works as follows. Nodei chooses a node j randomly within Ki and requests Kj

from it. Then, it computes Kij = Kj \ Ki. If |Ki| +|Kij | ≤ δ all peers from Kij are added to Ki, and theprotocol ends. Otherwise, node i tries to remove up to|Kij | peers from Ki \Pi. The first peers to be removedare peers that have failed in previous exchange requestsand secondly peers with low qj . The reason for thisorder is because once a node has failed, the probabilityto fail again is very high. As we will see in the nextsection we can recover deleted peers if they contactagain with us in the future. Once Ki has been cleaned,|Kij |− |Ki| peers from Kij are added to Ki. The peerswith higher quality are the chosen to be added.

Algorithm 1 Peer discovering for node i

Node = ChooseRandomly(Ki);Kj = GetKnownPeers(Node);Kij = Kj \ Ki;if |Ki| + |Kij | > δ then

CleanBadNodes(Ki \ Pi, |Kij |);Nodes = ChooseGoodNodes(Kij , |Kij | − |Ki|);Ki = Ki

⋃Nodes;

else

Ki = Ki

⋃Kij ;

end if

3.2. Reciprocal Exchange Algorithm

We can describe the exchanging algorithm from twodifferent points of view. On one hand we have nodesthat chooses a good candidate and starts the exchang-ing process with it. In the other hand, we have nodesthat receives an exchanging request for n pieces andhas to decide if accepts it.

We assume that we have a node i that want to ex-change its pieces. This node i starts a new exchangerequest by choosing the best exchange candidate fromKi. The best candidate j is a node that has not re-jected the last exchange request and maximizes the ex-pression (γi − mij) ∗ qj . With this expression we canensure that j is the node that can provide more qualityto qi without exceeding γi.

Once the best candidate j is found, i starts an ex-change request for x pieces with it, where x = γi−mij .Node j computes y = min(γj − mji, x) as its max-imum exchangeable pieces with i. If the number ofunexchanged pieces of j is greater than y, it acceptsthe exchange for y pieces directly. Conversely, if j hasnot enough available pieces to satisfy the exchange, itevaluates if the proposed exchange increments its ob-tained quality qj . If its qj can be increased, j choosethe partner l that minimizes the expression mjl∗ql andtherefore the one that provides less quality to qj , can-cels the partnership with l and accepts the exchangefrom i. If qj cannot be increased, the exchange requestis rejected. In any case j adds i to Kj .

Algorithm 2 Allocate algorithm for node i

UnexchangedP ieces = pi −

|Pi|∑

j=0

mij ;

if UnexchangedP ieces > 0 then

Requested = min(UnexchangedP ieces, γi);Candidate = GetBestCandidate(Ki);Pieces = SendRequest(Candidate, Requested);if Pieces = 0 then

MarkCandidateAsFailed(Candidate);end if

end if

3.3. Peer Quality

We have defined the node’s quality as an abstractproperty that defines how good a node is. Since wewant to solve the resource allocation problem with ageneric and application-independent algorithm, qual-ity computation is beyond the scope of this work. Weassume that each peer will be able to measure the qual-

123123123

Page 4: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

10

20

30

40

50

60

70

80

90

0 10 20 30 40 50 60 70 80 90

mes

sages

/node

network size (x1000)

power-law

uniform

normal

(a) Network overhead measured in number ofmessages per node.

5

6

7

8

9

10

11

12

13

0 10 20 30 40 50 60 70 80 90

par

tner

s/node

network size (x1000)

power-law

uniform

normal

(b) Number of partners per node.

90

92

94

96

98

100

0 10 20 30 40 50 60 70 80 90

glo

bal

all

oca

tion %

network size (x1000)

power-law

uniform

normal

(c) Network stability in percentage of allo-cated resources.

0.9

0.95

1

1.05

1.1

0 10 20 30 40 50 60 70 80 90glo

bal

rat

ionetwork size (x1000)

power-law

uniform

normal

(d) Global quality / local quality ratio

Figure 1. Network scalability

Algorithm 3 Accept an exchange from node j for nodeiAvailable = min(γi − mij , Requested);if UnexchangedP ieces > Available then

AcceptExchange(j, Available);return Available;

else

Points = Available ∗ qj ;Pieces = pi;Node = ∅;for l in Pi do

if (mil ∗ ql < Points)&(mil > Available)&(mil < Pieces) then

Points = mil ∗ ql;Pieces = mil;Node = l;

done

if Node 6= ∅ then

Unexchange(Node, P ieces);AcceptExchange(j, P ieces);return Pieces;

else

return 0;end if

end if

ity of its partners. For example, to measure node avail-ability or bandwidth, peers can use challenge requests.Cryptographic challenges or trust systems may be usedto measure other types of properties like confidence instorage or routing.

The peer quality is the key feature of our system.With this property we can obtain system fairness andtolerate network dynamism. High-quality nodes arethe preferred partners, and can obtain the best ex-changes from other high-quality nodes, while middle-quality and low-quality nodes need to decrease theirexpectations in order to obtain their resource stabil-ity. Furthermore, thanks to quality, stabilized nodescan increase its quality by exchanging pieces with thejoining nodes. This lets new nodes obtain exchangesvery fast, speeding up the network stabilization.

4 Results

We have used simulations to test our algorithms ina network up to 88,000 nodes. The simulations havebeen designed to prove network scalability and nodefairness. In the simulation, each node has a number ofpieces randomly chosen in [50, 100] and a random qual-ity in [0, 1]. Since we aim to design a generic solutionto the resource allocation problem, we have used threedifferent probability distributions to define the nodequality. We have used an uniform, a normal and a

124124124

Page 5: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

0

50

100

150

200

250

300

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

mes

sages

/node

node quality

power-law

uniform

normal

(a) Node traffic in number of messages per node.

8

9

10

11

12

13

14

15

16

17

18

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

par

tner

s/node

node quality

power-law

uniform

normal

(b) Number of partners per node.

90

92

94

96

98

100

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

node

allo

cati

on %

node quality

power-law

uniform

normal

(c) Node allocation percentage.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

obta

ined

qual

ity

node quality

power-law

uniform

normal

(d) Obtained quality per node.

Figure 2. Node fairness

power-law probability distributions. With the uniform

distribution each quality in [0, 1] has the same proba-bility to be chosen, with normal distribution, middle-quality nodes are more probable than high and lowquality ones, and with the power-law distribution low-quality nodes are more probable than nodes with ahigh quality. It should be noted that the quality andthe number of pieces are two independent parameters.We can find low-quality nodes with large number ofpieces and vice versa. Additionally, α = 4 and δ = 20are the constants chosen for our simulations.

The simulation starts stabilizing a small network of1000 nodes. After that, at each step, 1000 new nodesjoin the network and it is re-stabilized. At each stepwe gather the state of all nodes to obtain and show theresults. Figure 1 shows the results obtained during thegrowth of the network. At each simulation step, thenumber of sent messages, the connectivity degree, thepercentage of allocated pieces and the obtained qualityper node are gathered and represented in different sub-figures. Besides, in figure 2 we can see the same resultsin function of node’s quality. This results are shownfor a stabilized network of 45,000 nodes.

We will discuss the obtained results in terms of theeconomical features identified in section 3:

4.1. Stability

In figure 1c we can see how the system obtains an ap-proximately 100% of resource allocation for all nodes,

independently of the network size. Besides, in figure 2cnodes with different quality obtain good allocation per-centage for their resources. This results ensure thatany node, independently of its quality, can allocatedits desired resources. Its important to note that theobtained allocation for low-quality nodes is very high–near 95%–. This results show how our algorithms pro-vide a sustainable fairness and how all nodes obtaingood allocation results.

4.2. Scalability

The number of messages and the number of partnersper node should keep small when the size of the networkgrows up. In figures 1a and 1b we can see how thisvalues grow very slow in comparison of the networksize. As we can appreciate, the normal distributionobtains a better scalability because the mean qualitydifference between pairs of nodes is smaller, while thepower-law distribution obtain the worse results due theunbalanced distribution of quality between nodes.

4.3. Dynamism

The four sub-figures shown in figure 1 represent theevolution of our system during a network growing pe-riod. At each step, the joined nodes need to free re-sources to allocate the new nodes. Figure 1c demon-strates that the global resource allocation percentageis kept very high while the network grows.

125125125

Page 6: [IEEE 2008 IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises - Rome, Italy (2008.06.23-2008.06.25)] 2008 IEEE 17th Workshop on Enabling Technologies:

4.4. Fairness

Our algorithm prioritizes resource exchanges withhigh-quality nodes. This implies that low-quality nodeswill obtain low quality for their exchanges. In fig-ures 2a, 2b and 2c we can see how these low-qualitynodes will need more messages and more partners toobtain lower levels of allocation.

In figure 2d we see how high quality nodes obtainbetter quality for their resources. With an algorithmthat does not take into account the node quality, theobtained quality for all nodes would be the averagequality in the network (0.5 for a normal distribution).Since the obtained quality is greater for high-qualitynodes and lower for the low-quality, we can concludethat the quality is fairly distributed among the nodeswith different qualities.

Finally, in figure 1d we show the average ratio be-tween q and q for all nodes in the network. This meansthat, in average, the nodes in our system are provid-ing to the network the same quality that they obtain.In small networks we can see how the rate is greaterthan one. This does not mean that nodes are obtain-ing more quality than the existing in the network, buthigh-quality nodes are obtaining a high allocation per-centage and the global quality ratio reflects it.

5. Future Work

During the development of this work we have ac-quired knowledge that we will use to extend and im-prove our system in a few areas.

We will analyze the influence of node churn in oursystem and how algorithms can be adapted to compen-sate it and re-allocate the resources. Also the numberof nodes affected by churn should keep as small as pos-sible in order to maintain the system scalability.

Actually, the peer discovering protocol ask to itsknown nodes to obtain new peers. Malicious nodescan use this protocol to send inexistent, failed or low-quality nodes to the node that performs the query.We want to introduce mechanisms in this algorithmto avoid this kind of replies to the discovering query.

6. Conclusions

We have presented two algorithms to solve the prob-lem of resource allocation in a distributed and decen-tralized network of heterogeneous nodes. Our recipro-cal exchange algorithm focuses on symmetric trades be-tween pairs of peers to allocate and exchange resources.Our algorithms present a generic solution, useful for alarge variety of applications. An important use of our

system is in applications that need reliability throughresource redundancy. Introducing the quality compo-nent for each node, the algorithms avoid selfish behav-iors and prevents from the free-rider problem.

Using simulations, we have proved that our systemscales to a network of thousands of nodes without los-ing network stability and maintaining the fairness forparticipating nodes. Additionally we have proved thatthe network stability is maintained while the networkis growing. Our results show that with a simple discov-ery protocol and a novel resource exchange algorithmwe can build a flexible system for resource allocation,usable in an extensive type of applications.

We foresee that this system can be useful to solvecomputational resources allocation problems, speciallyin grid networks where computational nodes want toobtain redundancy for their algorithms. Another ap-plicable field for our system appears to be in distributedbackup applications. In backup applications each nodehas a collection of data that wants to replicate in othernodes with some redundancy. In this context we be-lieve that our algorithm can provide the redundancyneeded to provide data availability.

References

[1] B. Chun, Y. Fu, and A. Vahdat. Bootstrapping a dis-tributed computational economy. In Workshop on Eco-nomics of Peer-toPeer Systems, 2003.

[2] B. Cooper and H. Garcia-Molina. Peer-to-peer datatrading to preserve information. Information Systems,20(2):133–170, 2002.

[3] L. Cox and B. Noble. Pastiche: Making backup cheapand easy. In Proceedings of Fifth USENIX Sympo-sium on Operating Systems Design and Implementa-tion, 2002.

[4] L. Cox and B. Noble. Samsara: Honor among thieves inpeer-to-peer storage. In Proceedings of the ACM Sym-posium on Operating Systems Principles, 2003.

[5] M. L. Fakult. Peerstore: Better performance by relax-ing in peer-to-peer backup. In Proceedings of the FourthInternational Conference on Peer-to-Peer Computing,2004.

[6] D. Hausheer and B. Stiller. Decentralized auction-basedpricing with peermart. In 9th IFIP/IEEE InternationalSymposium on Integrated Network Management, 2005.

[7] M. Lillibridge, S. Elnikety, A. Birrell, M. Burrows, andM. Isard. A cooperative internet backup scheme. InProceedings of the 2003 Usenix Annual Technical Con-ference, 2003.

[8] E. Peserico. P2P economies. In Proceedings of the ACMSpecial Interest Group on Data Communication (SIG-COMM), 2006.

[9] J. Stoddler. Reciprocal exchange networks: implica-tions for macroeconomic stability. In Proceedings of the2000 IEEE Engineering Management Society, 2000.

126126126