316 |
responsible for a hashtable key, then, is the one that is *closest* |
responsible for a hashtable key, then, is the one that is *closest* |
317 |
to it in the key space, according to the distance metric. |
to it in the key space, according to the distance metric. |
318 |
A DHT peer is roughly analogous to a hashtable bucket. |
A DHT peer is roughly analogous to a hashtable bucket. |
319 |
Query is routed on top of overlay network, each hop bringing |
Queries are routed in the overlay network, each hop bringing |
320 |
query closer to its destination in key space, until they reach |
them closer to their destination in key space, until they reach |
321 |
the peer responsible for the query. |
the responsible peer. A common API that can be supported by current and future DHTs |
322 |
|
is proposed in [zhao03api]_. |
323 |
|
|
324 |
A common API that can be supported by current and future DHTs |
.. Recently, a few DHT-like systems have been developed which employ |
325 |
is being proposed in [zhao03api]_. |
a key space similarly to a DHT, but in which queries are routed |
326 |
|
to (key,value) pairs [bonsma02swan-andalso-AspnesS2003]_: A peer |
327 |
Recently, a few DHT-like systems have been developed which employ |
occupies several positions in the key space, one for each |
328 |
a key space similarly to a DHT, but in which queries are routed |
(key,value) pair. In such a system, the indirection of placing |
329 |
to (key,value) pairs [bonsma02swan-andalso-AspnesS2003]_: A peer |
close keys in the custody of a 'hashtable bucket' peer is removed |
330 |
occupies several positions in the key space, one for each |
at the cost of each peer maintaining one node in the overlay network |
331 |
(key,value) pair. In such a system, the indirection of placing |
for each (key,value) pair it publishes. |
|
close keys in the custody of a 'hashtable bucket' peer is removed |
|
|
at the cost of each peer maintaining one node in the overlay network |
|
|
for each (key,value) pair it publishes. |
|
332 |
|
|
333 |
The basic definition of a distributed hashtable does not indicate |
The basic definition of a distributed hashtable does not indicate |
334 |
how large the keys and values used may be. Intuitively, we expect keys |
how large the keys and values used may be. Intuitively, we expect keys |
342 |
The choice between the schemes affects the scalability and reliability |
The choice between the schemes affects the scalability and reliability |
343 |
of the network. |
of the network. |
344 |
|
|
345 |
CFS [dabek01widearea]_ is a global peer-to-peer storage system. CFS is built upon the Chord DHT |
CFS [dabek01widearea]_ and PAST [rowstron01storage]_ |
346 |
peer-to-peer routing layer [stoica01chord]_. CFS stores data as blocks. However, CFS *splits* data |
are scalable storage systems using the home node approach, |
347 |
(files) into several miniblocks and spreads blocks over the available CFS servers. |
based on the Chord [stoica01chord]_ and |
348 |
PAST [rowstron01storage]_ is another large scale storage utility, |
Pastry [rowston01pastry]_ DHTs, respectively. |
349 |
which uses Pastry [rowston01pastry]_ for routing. |
Freenet [clarke00freenet]_ is a system for anonymous reading |
350 |
Freenet [clarke00freenet]_ is an anonymous storage system, which supports read and write |
and publication. |
|
operations (i.e. publishing). Both PAST and Freenet do not split files into blocks, since |
|
|
they store data as whole files. All previously mentioned systems lack of the immutable |
|
|
property which is used in Storm blocks. |
|
351 |
|
|
352 |
Recently there has been some interest in peer-to-peer hypermedia. |
Recently there has been some interest in peer-to-peer hypermedia. |
353 |
Thompson and de Roure [thompson01coincidence]_ examine the discovery |
Thompson and de Roure [thompson01coincidence]_ examine the discovery |