¿Ha habido nuevos avances en las tablas hash distribuidas?

Esta es una pregunta un poco amplia.

Cuando la investigación de DHT estaba floreciendo, había una serie de documentos que exploraban todas las compensaciones entre el tamaño de la tabla de enrutamiento y las distancias punto a punto (así como la resistencia a los enlaces faltantes y las mantequeras).

El ganador de todo esto en términos de adopción práctica es Kademlia (no Chord, no Pastry).

La pregunta para el diseño de DHT está mayormente cerrada en este punto.

Ha habido miles (> 5000) de documentos desde entonces que investigan las aplicaciones de DHT. Entonces, es difícil resumirlos como es de esperar.

En general, sin embargo, el enfoque se ha alejado de los DHT debido a sus serias vulnerabilidades de seguridad, conocidas en breve como Sybil Attack (que es un documento con muchos seguimientos).

Hoy en día, los temas de tendencias se encuentran en otras áreas:

(a) El diseño de topologías de red (y algoritmos de enrutamiento) me guió semántica de contenido

(b) Diseño de topologías de red alrededor de redes sociales subyacentes

Hay muchos documentos sobre el tema (a), pero ninguno que haya despegado en la práctica a gran escala, que yo sepa.

La idea en (b) tiene 10 años, pero tales redes no se han diseñado mucho debido a la dificultad del enrutamiento distribuido en gráficos arbitrarios.

Estoy personalmente interesado en (b) y creo que estos diseños despegarán. El estado actual de la técnica es un artículo mío llamado Electric Routing. Y el software que se está construyendo a su alrededor se llama Tonika. Se puede encontrar aquí http://5ttt.org

Las versiones modificadas de DHT se están volviendo populares como almacenes de valores clave basados ​​en la nube. Amazon Dynamo, Cassandra, Riak son ejemplos.

Algunos desarrollos nuevos allí en comparación con los DHT tradicionales son:

1. Mantener vecinos O (N) por nodo para obtener la búsqueda de salto O (1) en Cassandra y Dynamo

2. En lugar de trabajar con claves individuales y los valores correspondientes, organícelos como bloques de claves para reducir la sobrecarga de la transferencia de estado durante la unión / salida de pares (en Cassandra y Dynamo)

3. Administrar la consistencia de los elementos de datos replicados almacenados. (Usando los relojes vectoriales en Dynamo) (Consistencia sintonizable incluyendo quórums, etc. en Cassandra)

4. Tener un modelo de datos para los valores almacenados junto con las claves (modelo basado en columnas en Cassandra)

5. Trabajo reciente sobre desencadenantes en Cassandra

6. Creación de sistemas distribuidos utilizando un sustrato de enrutamiento basado en DHT (riak core)

Algunos enlaces:
1. documento sobre dynamo: http://idning.googlecode.com/svn

2. Apache Cassandra http://cassandra.apache.org/

3. riak core http://basho.com/blog/technical/