48 |
-Example applications: CFS \cite{dabek01widearea}, PAST \cite{rowstron01storage}, Oceanstore \cite{kubiatowicz00oceanstore} |
-Example applications: CFS \cite{dabek01widearea}, PAST \cite{rowstron01storage}, Oceanstore \cite{kubiatowicz00oceanstore} |
49 |
-data distribution approaches (like in Squirrel \cite{iyer02squirrel}): home node approach and directory approach |
-data distribution approaches (like in Squirrel \cite{iyer02squirrel}): home node approach and directory approach |
50 |
-CFS splits files into blocks (<50Kb), PAST distributed whole files |
-CFS splits files into blocks (<50Kb), PAST distributed whole files |
51 |
|
-the basic idea behind many DHTs is the fact that they perform operations in a binary-like tree |
52 |
|
-more space/node --> the search arity is higher --> k is higher in k-ary trees |
53 |
|
-DHTs' performance efficiency is derived from these tree based operations (e.g. split to half the previous scope) |
54 |
|
|
55 |
|
|
56 |
*Update* |
*Update* |
57 |
-Viceroy system achieves O(log n) hops with only O(1) neighbors |
-Viceroy system achieves O(log n) hops with only O(1) neighbors |
163 |
|
|
164 |
Summary |
Summary |
165 |
|
|
166 |
This summary table is far from complete (and from total truth) |
Following figures has to be done: |
167 |
|
|
168 |
|
1) application level overlay vs. network level overlay |
169 |
|
2) Overview of structured overlay network |
170 |
|
3) Overview of basic gnutella network |
171 |
|
4) Overview of gnutella network with some improvements (super nodes and clusters) |
172 |
|
5) Figure presenting k-ary tree (--> log n efficiency) |
173 |
|
|
174 |
|
Include following tables: |
175 |
|
|
176 |
|
1) Summary table: |
177 |
|
|
178 |
Protocol: Insert/Delete Space Search # of network connections |
Protocol: Insert/Delete Space Search # of network connections |
179 |
Chord: O(log^2 n) O(log n) O(log n) 2(log n) |
Chord: O(log^2 n) O(log n) O(log n) 2(log n) |
194 |
Kelips: ***** O(sqrt(n)) O(1) n/sqrt(n) + c*(sqrt(n)-1) + 'Total number of files'/sqrt(n) |
Kelips: ***** O(sqrt(n)) O(1) n/sqrt(n) + c*(sqrt(n)-1) + 'Total number of files'/sqrt(n) |
195 |
Freenet: O(1) O(1) O(n) ?? |
Freenet: O(1) O(1) O(n) ?? |
196 |
|
|
197 |
|
|
198 |
|
2) Difference table for approaches: |
199 |
|
|
200 |
|
DHT Broadcast |
201 |
|
Queries: Controlled uncontrolled |
202 |
|
A way for performing queries: Exact keys Keywords |
203 |
|
Query traffic: O(1)/O(log n) O(n)/O(n^2) |
204 |
|
Will find the data item ?: Yes Not necessarily |
205 |
|
Overlay's structure: Controlled and structured Uncontrolled and ad hoc |
206 |
|
Max. number of nodes ?: Billions Millions |
207 |
|
Data placement: Not local Local |
208 |
|
Support for heterogeneiy: No Yes |
209 |
|
Support for locality: Partial No |
210 |
|
Possibilty for routing hotspots: Yes No |
211 |
|
Design/Implementation complexity: High Low |
212 |
|
|
213 |
|
|
214 |
|
|
215 |
* = In Kademlia, there is no action required when nodes leaves the system |
* = In Kademlia, there is no action required when nodes leaves the system |
216 |
|
|
217 |
** = Number of messages can grow as fast as O(n^2) |
** = Number of messages can grow as fast as O(n^2) |