Title: Scrivener: Providing Incentives in Cooperative Content Distribution Systems
1Scrivener Providing Incentives in Cooperative
Content Distribution Systems
- Tsuen-Wan Johnny Ngan
- With Animesh Nandi, Atul Singh, Peter
Druschel, and Dan S. Wallach - Rice University, Houston, TX, USA
- Max Planck Institute for Software Systems,
Germany
2Misbehavior in P2P Systems
- Malicious behavior
- An adversary trying to compromise the system
- Rational behavior
- Users do not care to attack the system
- Users are lazy, maximizing own welfare
3Rational vs. Malicious Behavior
- Defenses against malicious behavior
- Assume most nodes behave correctly
- Rational behavior
- Majority of nodes might behave rationally
- Need separate solution for rational behavior
4Organization
- Background and assumptions
- Goals
- Design overview
- Experimental results
- Conclusions
5Content Distribution Networks (CDN)
- Cooperative dissemination of content to a large
number of participants - Bandwidth is the limiting resource
- Files have long-tailed popularity distribution
6BitTorrent Not a Solution
- BitTorrent has incentives built-in
- Mostly tit-for-tat exchange of content chunks
- Give preference to cooperative peers
- Not applicable to general CDN
- Focused on one big object that everyone wants
- Clean swap is possible
7Assumptions
- Basic P2P system properties
- Each node communicates with a bounded number of
neighbors - Mechanism to discover new neighbors
- Mechanism ensure users cannot
- Choose identities
- Generate arbitrary number of identities
- Focus on structured overlays
8Assumptions (cont.)
- CDN in place
- Leverages participants bandwidth
- E.g., cooperative web-caching, public content
- Adversarial behavior limited to freeloading
- Mechanisms against malice can be complementary
9Scriveners Goals
- Fair bandwidth sharing
- You get what you pay for (or contribute)
- Modest overhead
- Robustness
- Against many freeloaders
- With churn
10Pairwise Relationships
- Pairwise credits/debts
- Track total size of objects transferred
- Requests are honored if debt is below limit
- Confidence
- Based on the history of each neighbor
- Used to define debt limit
11Relationship in Action
Alice is nice. Its ok if she owes me a little
in future.
Remember I owe Alice one.
Remember Bob owes me one.
Alice, I want X. Can you send me?
No problem, Bob! Here you go
12How can Alice Get this File?
Bob owes me but doesnt have the file. Charlie
has the file but doesnt owe me.
13Transitive Trade
- Leverage credit from one neighbor to a third node
I owe Alice.
Charlie owes me.
I owe Bob.
Bob owes me.
Charlie, you have X. Can you send it to Alice
for me?
Sure thing!
Bob, can you help me to find X?
14Incremental Trading Protocol
- Pay the cost of one small chunk each time
- No cryptography except for certified identity
15Normal (Pastry) Routing
Id space
Source
Destination
16Credit-based Routing
Who do I have credit with?
Source
Destination
Who do I have credit with?
What can I do now?
17Credit Paths
- Routes could fail
- Restart instead of backtracking
- Paths could be linear in the worst case
- Credit paths bounded to d3 log16 Ne hops
- Exactly the same algorithm
- Bias toward credit and confidence value
18Confidence
- Recall defined by history between nodes
- Bias toward confidence value
- Helps finding better paths
- Isolates freeloaders
19Skewed Object Popularity
Everyone owes me!
Uneven earning potential!
20Caching Balances Earning Potential
- Standard feature in CDN
- Dynamically increase providers according to
object popularity - Retain a copy of everything recently read
- Necessary for skewed popularity distribution
- Allow poor nodes to gain earning potential
- Nodes have incentives to cache!
21Experiment Setup
- CDN system
- Workload model derived from KaZaA trace Gummadi
et al., SOSP 03 - Simulations with 800 nodes
- Different combinations of obedient nodes and
freeloaders
22Experiment Setup (cont.)
- At each time unit
- Each node requests for 50 objects
- 12 new objects arrive
- 5 nodes arrive and 5 nodes leave
- Each node has 1024-object soft cache
- Number of retries limited to 10
23Caching Helps
24Overhead is Modest
- Path length increases cap to three times
- Suffice after a few retries
- Average overhead is a few times of the very
efficient overlay routing - No cryptography except for certified identity
25Freeloaders Limited to their Contributions
Freeloaders not serving after time 20
Freeloaders serve 50 of requests
26Other Experiments in the Paper
- Some other experiment settings
- Higher churn rate
- Giving freeloaders high initial confidence
- Freeloaders accumulate confidence first
- Freeloaders with a targeted level of service
- Freeloaders alternating from cooperating and not
- In all cases, freeloaders limited to what they
contribute
27Scrivener
- Provides incentives for cooperation
- Only require nodes to track their neighbors
behavior - Effective at deterring freeloading behavior
- Scalable while incurring modest overhead
28For More Information
The Pastry Project http//freepastry.rice.edu/
Computer Security Lab, Rice University http//secl
ab.cs.rice.edu/