1 |
|
[This document is meant to be an overview of existing p2p systems. |
2 |
|
Document is related to hh@gzz.info's Master Thesis project. |
3 |
|
|
4 |
|
Please notice that document's contents are updated constantly.] |
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
1. A summary of algorithms used in existing systems |
9 |
|
|
10 |
Comparison of efficiency of object location in existing distributed |
Comparison of efficiency of object location in existing distributed |
11 |
(p2p) systems (n is the number of nodes): |
(p2p) systems (n is the number of nodes): |
12 |
|
|
25 |
Search: |
Search: |
26 |
Number of messages when an object lookup is performed |
Number of messages when an object lookup is performed |
27 |
|
|
28 |
1. Chord |
The table above has been presented in [1]. |
29 |
|
|
30 |
|
2. A brief description of existing systems |
31 |
|
|
32 |
|
2.1. Chord |
33 |
|
|
34 |
-Chord constructs a distributed lookup service using a routing table of |
-Chord constructs a distributed lookup service using a routing table of |
35 |
logarithmic size. |
logarithmic size. |
42 |
-Consistent hashing (distributed hash table) |
-Consistent hashing (distributed hash table) |
43 |
|
|
44 |
|
|
45 |
2. CAN |
2.2. CAN |
46 |
|
|
47 |
-CAN places objects into a virtual space. |
-CAN places objects into a virtual space. |
48 |
-Each peer logically occupies a zone in a virtual space (n dimensional) |
-Each peer logically occupies a zone in a virtual space (n dimensional) |
52 |
destination. |
destination. |
53 |
-Consistent hashing (distributed hash table) |
-Consistent hashing (distributed hash table) |
54 |
|
|
55 |
3. Tapestry |
2.3. Tapestry |
56 |
|
|
57 |
-Location and routing architecture (Plaxton, Rajaraman and Richa) |
-Location and routing architecture (Plaxton, Rajaraman and Richa) |
58 |
-Distributed data structure |
-Distributed data structure |
60 |
locality |
locality |
61 |
|
|
62 |
|
|
63 |
3. Gnutella |
2.3. Gnutella |
64 |
|
|
65 |
-Bounded broadcast mechanism used for searching |
-Bounded broadcast mechanism used for searching |
66 |
|
-Power law degree distribution |
67 |
|
|
68 |
4. FreeNet |
2.4. FreeNet |
69 |
|
|
70 |
-Chaotic routing scheme where objects are published to a few nearest |
-Chaotic routing scheme where objects are published to a few nearest |
71 |
neighbors |
neighbors |
72 |
-Queries follow gradients generated by object pointers |
-Queries follow gradients generated by object pointers |
73 |
|
-Power law degree distribution |
74 |
|
|
75 |
|
3. Different architectures for p2p networks [2]: |
76 |
|
|
77 |
|
3.1 Centralized |
78 |
|
|
79 |
|
-These kind of systems have a constantly updated database/directory |
80 |
|
which is hosted at central locations. |
81 |
|
-Nodes in the p2p networks performs a requests to the central directory |
82 |
|
server to find other nodes and/or files |
83 |
|
-Do not scale well |
84 |
|
-Have a single point of failure |
85 |
|
-Example: Napster |
86 |
|
|
87 |
|
3.2 Decentralized but Structured |
88 |
|
|
89 |
|
-Systems have no central server, but have a great amount of structure |
90 |
|
-In this case, structure means that p2p network's topology and |
91 |
|
distribution of resources are tightly controlled |
92 |
|
-Freenet is an example of "loosely structured" p2p system: distribution |
93 |
|
of resources is based on hints |
94 |
|
-CAN, Chord, Pastry, Tapestry are examples of "higly structured" p2p |
95 |
|
systems: both the p2p network topology and the distribution of resources |
96 |
|
are tightly controlled |
97 |
|
-Hash-table-like interface |
98 |
|
-Prevalant in the research literature but almost invisible on the |
99 |
|
current p2p networks |
100 |
|
-Isn't clear how well "highly structured" p2p systems work with in real |
101 |
|
life |
102 |
|
|
103 |
|
|
104 |
|
3.3 Decentralized and Unstructured |
105 |
|
|
106 |
|
-There is neither a centralized server/directory nor any precise control |
107 |
|
over the network topology or resource distribution |
108 |
|
-Gnutella is an example of decentralized and unstructured p2p system |
109 |
|
-p2p network is is created by nodes joining the network with some loose |
110 |
|
rules |
111 |
|
-The resultant topology has a certain properties, but placement of |
112 |
|
resources is not controlled |
113 |
|
-To find a resource, node sends a request to its neighbours |
114 |
|
-The most typical request method is flooding: request is propagated to |
115 |
|
all neighbours within a certain radius |
116 |
|
-Search mechanisms are unscalable: a great amount of loads are generated |
117 |
|
on the network during search requests |
118 |
|
|
119 |
|
|
120 |
|
Bibliography: |
121 |
|
|
122 |
|
[1] Hildrum Kirsten, Kubiatowicz John D., Rao Satish and Zhao Ben Y., |
123 |
|
Distributed Object Location in a Dynamic Network |
124 |
|
|
125 |
|
[2] Lv, Qin, Cao Pei, Cohen Edith, Li Kai, Shenker Scott, Search and |
126 |
|
Replication in Unstructured Peer-to-Peer Networks |