Request Algorithms In Freenet Style Peer To Peer SystemsPresentation Transcript
Request Algorithms in Freenet-style Peer-to-Peer Systems
Lewis & Clark College
Portland, OR USA
Dr. Jens Mache, Jason Guchereau, Melanie Gilbert,
Felix Ramli, Matt Willkensin
Introduction to Freenet
Modified Request Algorithms
What is Freenet?
forwards requests to one neighbor
dynamically changes the overlay network and replicates files on demand.
Adapts to network usage
Improves when used
Global storage space
Request Algorithm =Data Request =Data Return Node A References Data Store 225 - B 932 -M 940-R 925 930 931 Node D References Data Store 100 - G 101 - H 113 - J 099 111 113 Node B References Data Store 025 - X 115 - C 230 - F 224 225 233 Node C References Data Store 111 - D 112 - E 119 - L 115 118 120 111 - D 225 - B 932 -M 940-R 025 - X 115 - C 230 - F 111 - D 112 - E 119 - L 099 111 113 025 - X 111 - D 115 - C 230 - F 225 - B 932 -M 940-R Request Algorithm
These changes in the overlay network improves the performance of subsequent queries
Some caching as well.
Freenet’s design goals
Privacy for information producers, holders, and consumers;
Resistance to information censorship;
High availability and reliability through decentralization; and
Efficient, scalable, and adaptive storage and routing.
This talk focuses on efficiency.
Our measure of efficiency is pathlength.
Users - delay
Chance of slow links
Network – bandwidth usage
How good are the existing algorithms?
“As the network is used, pathlength decreases” [Hong’01].
But, this assumes 50% inserts and 50% requests.
Can we improve it?
Figure 2 50:50 vs. 99:1
Why does this happen?
Insert and request algorithms creates specialized references.
Insert does more.
Requests don’t change the overlay network if they fail (and they do a lot at first).
We want to change these weaknesses.
The overlay network created by the routing tables is an example of a small-world network.
Specialization as well as references to nodes that have far different specialization is key.
Also common in:
Social networks - film actor collaboration
Neural Networks - C. Elegans (worm)
[Duncan J. Watt et.al. Nature ‘98]
Aurora Simulator – written by Theodor Hong
It simulates nodes interacting with other nodes
Inserting and requesting existing documents and recording the number of hops it takes to find them.
The data we present is an average from 100 simulation runs.
Modified Request Algorithms
Learning from failed requests .
Announcing successful requests .
As is they don’t add any short-cuts.
Our goal was to take advantage of the work already done up to the expiration of the HTL.
Short-cut from the requesting node to the last node’s data item with key closest to requested one.
The main idea is to add extra reference pointing to the fulfiller for each remaining HTL.
Breadth-neighbor approach worked best.
Here is announces itself to its neighbors with key close to the one it fulfilled.
This promotes specialization.
Example - Successful Requests.
Who to announce to? Data Store 900
The original request algorithm is not very effective at changing the overlay network.
They way to improve the performance of Freenet is to enhance the small-world properties that it already has.
Our combined algorithm was able,in simulation, to lower the pathlength under 99 to 1 conditions from 225 to 25.
Differences from distributed hash table.
Data is placed deterministically
Items located within bounded number of hops, but
Securing against attack, load balancing, and (for some) exploiting network proximity becomes more difficult.