[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: distributed hash tables



>> What do you do when the network hosting your HA drops dead?
>> That's why I was mentioning a virtual address rather than 
>> an HA. Are you familiar with the distributed hash table 
>> algorithms? Basically, a DHT is a reliable overlay on top 
>> of an arbitrary network. In a classic DHT design, nodes have 
>> identifiers randomly spread in a large number space.
>
>If you can distribute your information over a set of reliable and 
>trustworthy nodes, this could work very well. However, we can't assume 
>any one node to be reliable, so we need to build in a good deal of 
>redundancy and dynamic replication. 

Yes. This is a problem with classic design of DHT. But, recently
there are lot of DHT proposals in a byzantine environment (viceroy
etc..) 

> This also means that a resolver may need to contact several nodes 
> in sequence to find the required information. But it gets worse: a 
> node that is supposed to hold a certain piece of information could, 
> rather than hand over the 
>requested 
>information, claim that the information doesn't exist. The only way 
>that I can see to get around this is distribute copies of the same 
>piece of information over so many nodes that it becomes infeasible to 
>corrupt them all. Which probably means there isn't a workable tradeoff 
>between security/reliability and performance.
>
>So essentially this has all the downsides of DNS and then some, with 
>the only advantage that you now get to search in flat spaces too.

 It doesn't follow a hiearchical model. It is a flat space, but maps it
to an external cartesian space for uniqueness and scalability. The DHT 
proposals differ in the cartesian space design and the respective 
algorithm.Also, there are proposals for total decentralization of DNS
and semantic-free naming by employing DHT. 

For a quick DHT reading, go through 

  Routing Algorithms for DHTs: Some Open Questions
  Sylvia Ratnasamy, Scott Shenker and Ion Stoica
  http://www.cs.rice.edu/Conferences/IPTPS02/174.pdf

and its references. 

A lot of thinking have to be done before using DHT as standard identifiers. 
It can be used as an identifier for specific set of applications. But, I 
agree with christian that, modern applications have certain options to be 
used as identifiers (SIP URI, http URL, P2P: DHT/GUID/etc).