1 |
[This document is meant to be an overview of existing p2p systems. |
[hh@gzz.info's Master Thesis project. |
2 |
Document is related to hh@gzz.info's Master Thesis project. |
Text is based on bibliography, which can be found from progradu.bib file. |
3 |
|
Please notice that document's contents are updated constantly. |
4 |
Please notice that document's contents are updated constantly.] |
There are no bibliography reference in the text yet... |
5 |
|
] |
6 |
|
|
7 |
|
0. Introduction |
8 |
|
|
9 |
|
-There are two approaches for distributed key/value lookup operation in |
10 |
|
p2p environment: broadcast searches (e.g. Gnutella and Freenet) and location-deterministic |
11 |
|
algorithms (e.g. CAN, Pastry, Chord, Tapestry and Kademlia) |
12 |
|
-Additionally, there is method which is based on Distributed Trie |
13 |
|
-Lookup algorithms deploy a lookup structure (e.g. hash table, trie, binary tree, B-tree etc.) |
14 |
|
-Distributed lookup algorithm trades between the efficiency of lookup and the maintenance of lookup structure |
15 |
|
-Lookup structures maintenace is needed by either key/value pair insert or by node join/delete operation |
16 |
|
-Replication is one way to make lookups more effiecinet. However, maintenance is slow because all peers |
17 |
|
must keep their local lookup structure updated (replicas have to be consistent) |
18 |
|
-Gnutella and Freenet eliminates the lookup structure and thus requires no maintenance. Lookups, however, are |
19 |
|
implemented by a broadcase-like search on all know peers which costs efficiency and scalability |
20 |
|
-Location-deterministic techiques partitions the lookup structure and distributes a small subset of partitions |
21 |
|
on each peer. Maintenance updates only are tycally localized, peers update only a smaller number of partition |
22 |
|
replicas. The system assigns partitions to peers either statically or dynamically In the static method, peer |
23 |
|
addresses map to the key space and each node replicates only those partitions which are close enough to node's |
24 |
|
ID. In the dynamic approach, peers replicate only partitions that they frequently access. |
25 |
|
|
26 |
|
|
27 |
1. A summary of algorithms used in existing systems |
1. A summary of algorithms used in existing systems |
44 |
Search: |
Search: |
45 |
Number of messages when an object lookup is performed |
Number of messages when an object lookup is performed |
46 |
|
|
47 |
The table above has been presented in [1]. |
The table above has been presented in. |
48 |
|
|
49 |
2. A brief description of existing systems |
2. A brief description of existing systems |
50 |
|
|
69 |
using global hash funktions |
using global hash funktions |
70 |
-Queries are routed along axes in this space until they reach their |
-Queries are routed along axes in this space until they reach their |
71 |
destination. |
destination. |
72 |
-Consistent hashing (distributed hash table) |
-Routing on a d-dimensional torus (distributed hash table) |
73 |
|
|
74 |
2.3. Tapestry |
2.3. Tapestry |
75 |
|
|
77 |
-Distributed data structure |
-Distributed data structure |
78 |
-Employs randomness to achieve both load distribution and routing |
-Employs randomness to achieve both load distribution and routing |
79 |
locality |
locality |
80 |
|
-Based on Plaxton trees |
81 |
|
|
82 |
2.4. Pastry |
2.4. Pastry |
83 |
|
|
85 |
-Peer-to-Peer anonymous storage |
-Peer-to-Peer anonymous storage |
86 |
-Location protocol sharing many similarities with Tapestry |
-Location protocol sharing many similarities with Tapestry |
87 |
-Objects are replicated without any permission of the owner |
-Objects are replicated without any permission of the owner |
88 |
|
-Based on Plaxton trees |
|
|
|
89 |
|
|
90 |
2.3. Gnutella |
2.3. Gnutella |
91 |
|
|
92 |
-Bounded broadcast mechanism used for searching |
-Bounded broadcast mechanism used for searching |
93 |
-Power law degree distribution |
-Power law degree distribution |
94 |
|
-Gnutella makes a trade-off between a much greater search effort in return |
95 |
|
for optimal paths and better worst-case performance |
96 |
|
-Link distribution: Poisson distribution |
97 |
|
-Fault tolerance: Random: Highly connected nodes are less factor than in Freenet. Targeted: Not a bib problem, |
98 |
|
because of link distribution (Poisson distribution) |
99 |
|
|
100 |
|
|
101 |
2.4. FreeNet |
2.4. FreeNet |
102 |
|
-Freenet is based on the small-world effect |
103 |
|
-Freenet has good average performance but poor worstcase performance in object lookups. This |
104 |
|
is because a few bad local routing decisions can throw a request off the track |
105 |
|
-In Freenet, distribution of links follows the power law theory |
106 |
|
-Network growth: at the beginning, random routing should find the data quicly. As the network grows, |
107 |
|
the request pathlength remains low |
108 |
|
-Fault tolerance: Random removing of nodes: not a big problem. Targeted attach: bigger problem. |
109 |
-Chaotic routing scheme where objects are published to a few nearest |
-Chaotic routing scheme where objects are published to a few nearest |
110 |
neighbors |
neighbors |
111 |
-Queries follow gradients generated by object pointers |
-Queries follow gradients generated by object pointers |
116 |
-Key types are defined with URI: freenet:keytype@data |
-Key types are defined with URI: freenet:keytype@data |
117 |
-Content Hash Key (CHK), Keyword Signed Key (KSK), Signature |
-Content Hash Key (CHK), Keyword Signed Key (KSK), Signature |
118 |
Verification Key (SVK) |
Verification Key (SVK) |
|
-Write more about these key techiques later !! |
|
119 |
|
|
120 |
3. Different architectures for p2p networks [2]: |
|
121 |
|
3. Different architectures for p2p networks: |
122 |
|
|
123 |
3.1 Centralized |
3.1 Centralized |
124 |
|
|
165 |
Miscellaneous notes: |
Miscellaneous notes: |
166 |
|
|
167 |
-Object's popularity: studies have shown that Napster, Gnutella and Web |
-Object's popularity: studies have shown that Napster, Gnutella and Web |
168 |
queries follow Zipf-like distributions (1/2, 1/3, 1/4 etc.) [3, 4] |
queries follow Zipf-like distributions (1/2, 1/3, 1/4 etc.) |
|
|
|
|
|
|
|
Bibliography: |
|
|
|
|
|
[1] Hildrum Kirsten, Kubiatowicz John D., Rao Satish and Zhao Ben Y., |
|
|
Distributed Object Location in a Dynamic Network |
|
|
|
|
|
[2] Lv, Qin, Cao Pei, Cohen Edith, Li Kai, Shenker Scott, Search and |
|
|
Replication in Unstructured Peer-to-Peer Networks |
|
|
|
|
|
[3] Aiello W., A Random graph model for massive graphs |
|
|
|
|
|
[4] Sripanidkulchai K., The popularity of gnutella queries and its |
|
|
implications on scalability |
|