40 |
-Of couse, there is the possibility to route in constant times, but it requires that *each** node |
-Of couse, there is the possibility to route in constant times, but it requires that *each** node |
41 |
maintains information about all the nodes in the network. Therefore , practically, this method |
maintains information about all the nodes in the network. Therefore , practically, this method |
42 |
impossible |
impossible |
43 |
-Example systems: Chord, CAN, Kademlia, Pastry, Tapestry, Viceroy, Symphony, SkipNet, Skip Graph |
-Example systems: Chord \cite{stoica01chord}, CAN \cite{ratnasamy01can}, Kademlia \cite{maymounkov02kademlia}, Pastry \cite{rowston01pastry}, Tapestry \cite{zhao01tapestry}, Viceroy \cite{malkhi02viceroy}, Symphony \cite{gurmeet03symphony}, SkipNet \cite{harvey03skipnet2}, Skip Graph \cite{AspnesS2003} |
44 |
-Example applications: CFS, PAST, Oceanstore |
Plaxton \cite{plaxton97accessingnearby}, Kelips \cite{gupta03kelips}, Overlapping Distance Halving DHT \cite{naor03simpledht} |
45 |
|
-Example applications: CFS \cite{dabek01widearea}, PAST \cite{rowstron01storage}, Oceanstore \cite{kubiatowicz00oceanstore} |
46 |
|
|
47 |
*Update* |
*Update* |
48 |
-Viceroy system achieves O(log n) hops with only O(1) neighbors |
-Viceroy system achieves O(log n) hops with only O(1) neighbors |
49 |
-Isn't yet clear whether these improvements will interfere with the robustness |
-Isn't yet clear whether these improvements will interfere with the robustness |
50 |
-More on this later... |
-More on this later... |
51 |
|
|
52 |
1.2. Small World Networks (SWN) |
1.2. Small World Networks (SWN) \cite{kleinberg99small, nips02-Kleinberg}, \cite{bonsma02swan} |
53 |
+fast routing (aka searching) |
+fast routing (aka searching) |
54 |
+quite scalable, however not as scalable as DHTs |
+quite scalable, however not as scalable as DHTs |
55 |
+robust |
+robust |
81 |
And, if these requirements are met, SWN network can locate any data in O(log^2 |
And, if these requirements are met, SWN network can locate any data in O(log^2 |
82 |
n) hops (Kleinberg and e.g. simulations in SWAN) |
n) hops (Kleinberg and e.g. simulations in SWAN) |
83 |
|
|
84 |
1.3. Flooding Broadcast Networks (FBN) |
1.3. Flooding Broadcast Networks (FBN) and Hybrid systems |
85 |
+own resources are not mapped into the network |
+own resources are not mapped into the network |
86 |
+keyword/fuzzy search possible |
+keyword/fuzzy search possible |
|
-not scalable |
|
|
-huge network traffic |
|
|
-not fast routing |
|
|
-no guarantee that all data will be located |
|
|
|
|
|
-Example systems: Gnutella, Fastrack family (Kazaa, Morpheus), JXTA Search, Gnutella2 |
|
|
|
|
|
1.4. Hybrid systems (HS) |
|
87 |
-based on FBNt technique, |
-based on FBNt technique, |
88 |
+solves some of the Gnutella's scalability issues by introducing ``Super nodes'' (a superNode acts like a local hub, building an index |
+solves some of the Gnutella's scalability issues by introducing ``Super nodes'' (a superNode acts like a local hub, building an index |
89 |
of the resources being shared by each node connected to it and proxying lookup queries on behalf of other nodes) |
of the resources being shared by each node connected to it and proxying lookup queries on behalf of other nodes) |
90 |
+this kind of structure reduces network traffic in comparison to a original broadcast query algorithm employed on the Gnutella system |
+this kind of structure reduces network traffic in comparison to a original broadcast query algorithm employed on the Gnutella system |
91 |
|
-not scalable |
92 |
|
-huge network traffic |
93 |
|
-not fast routing |
94 |
|
-no guarantee that all data will be located |
95 |
|
|
96 |
-Example systems: FastTrack (Kazaa, Morpheus), Gnutella2, JXTA |
-Example systems: Gnutella \cite{gnutellaurl}, Fastrack family (Kazaa, Morpheus) \cite{fasttrackurl}, JXTA Search \cite{botros01jxtasearch}, Gnutella2 \cite{gnutella2url, shareazaurl}, |
97 |
|
YAPPERS \cite{ganesan02yappers} |
98 |
|
|
99 |
1.5 Social Discovery Systems (SDS) |
1.5 Social Discovery Systems (SDS) |
100 |
Notice: pros and cons are not presented here |
Notice: pros and cons are not presented here |
103 |
-as in real social life, nodes who have returned relevant results in the past, will have a high quality value in future query lookups |
-as in real social life, nodes who have returned relevant results in the past, will have a high quality value in future query lookups |
104 |
-with every lookup query, a node determines how proficient a given node is to another node's objectives |
-with every lookup query, a node determines how proficient a given node is to another node's objectives |
105 |
|
|
106 |
-Example systems: Alpine Network |
-Example systems: Alpine Network \cite{alpineurl} |
107 |
|
|
108 |
|
|
109 |
1.6. Skip Graphs (based on skip lists) |
1.6. Skip Graphs (based on skip lists) |
142 |
-we don't have to create 'mini-blocks' for Gzz p2p, since bitTorrent itself partitions data into several blocks for us |
-we don't have to create 'mini-blocks' for Gzz p2p, since bitTorrent itself partitions data into several blocks for us |
143 |
-my initial suggestion for our p2p data obtaining scheme: use Kademlia for data lookup and bitTorrent/MFTP-like tool for downloading the data |
-my initial suggestion for our p2p data obtaining scheme: use Kademlia for data lookup and bitTorrent/MFTP-like tool for downloading the data |
144 |
|
|
145 |
See http://bitconjurer.org/BitTorrent/ for details. |
See http://bitconjurer.org/BitTorrent/ for details. \cite{bittorrenturl} |
146 |
|
|
147 |
1.9. PeerNet |
1.9. PeerNet \cite{eriksson03peernet} |
148 |
Notice: pros and cons are not presented here |
Notice: pros and cons are not presented here |
149 |
-Peernet is a p2p based *network layer* for large networks |
-Peernet is a p2p based *network layer* for large networks |
150 |
-Peernet makes an explicit distinction between node identity and address |
-Peernet makes an explicit distinction between node identity and address |