160 likes | 258 Views
Explore the fundamentals of DHTs, algorithms, applications, and open questions in this comprehensive guide. Learn about different systems like Napster, Gnutella, KaZaA, and how DHTs address the lookup problem efficiently.
E N D
Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira Distributed Hash Tables
Roteiro • Introdução • DHTs • Algoritmos para DHT • Aplicações • Questões em aberto...
Introdução • Lookup Problem: Dado um conjunto de nós dinâmicos, como achar um determinado dado armazenado nesse sistema? • Como solucionar o problema • Napster, gnutella, kaaza, DHT
Introdução: Base de Dados Centralizada • Características: • Pouca escalabilidade; • Problemas flexibilidade; • Ponto único de falha; • Caro e vulnerável. • Ex.: • Napster; • Audiogalaxy; • Google.
Introdução: Sistema Hierárquico . • Características: • Escalabilidade; • Balanceamento de carga desigual; • Pontos críticos de falha: dependência dos elementos pró-ximos à raiz. • Ex.: DNS. .com ... .org .br .com .ufmg .com .dcc Www .dcc.ufmg.br
Introdução: Sistema Simétricos • Características: • Rede auto-organizável em uma estrutura de malha eficiente; • Balanceamento do custo da busca; • Abordagem de busca tipo “Broadcast”: sem escalabilidade. • Ex.: Gnutella.
Introdução: Sistema Híbridos • Características: • Escalabilidade; • Sem garantias de obtenção de objetos; • Ex.: • KaZaA (Supernode); • Gnutella (Superpeer).
Introdução: Solução (rascunho) • Utilização de Distributed Hash Tables;
DHT: Definição • Tabelas Hash: • Mapeiam chaves em valores (dados) 1 Nome 1 2 Nome 2 . . . N Nome n
DHT: Definição • DHT (Distributed Hash Tables): • Os dados da tabela Hash estão distribuídos em múltiplos nós. • Cada nó mantém informações seus vizinhos, para realizar pesquisasinserções e deleções.
DHT: Funcionamento • Operação lookup(key) • Mapear chaves em nós de maneira balanceada • Repassar uma consulta para nó apropriado • Função de Distância • Os nos mantem inf. sobre outros nos em tabelas de roteamento.
DHT: Definições • Robusta • Fácil de Esperar • Escalável
Algoritmos para DHT • CAN, Pastry • Chord • Caracterização • Limites inferiores para busca • Roteamento • Estrutura espacial para mapeamento das chaves
Aplicações • Application-layer multicast • Etc... • Questões em aberto...
RESUMÃO • Introdução • Lookup Problem • Napster, gnutella, kaaza, DHT • DHTs • O que são • caracteristicas • Aspectos comuns • Aplicações • Algoritmos para DHT • CAN, Pastry • Chord • Caracterização • Limites inferiores para busca • Roteamento • Estrutura espacial para mapeamento das chaves • Aplicações • Application-layer multicast • Etc... • Questões em aberto... • http://citeseer.nj.nec.com/cache/papers/cs/25855/http:zSzzSzwww.cs.rice.eduzSzConferenceszSzIPTPS02zSz174.pdf/ratnasamy02routing.pdf