Abstract
Napster pioneered the idea of peer-to-peer file sharing, and supported it with a centralized file search facility. Subsequent P2P systems like Gnutella adopted decentralized search algorithms. However, Gnutella’s notoriously poor scaling led some to propose distributed hash table solutions to the wide-area file search problem. Contrary to that trend, we advocate retaining Gnutella’s simplicity while proposing new mechanisms that greatly improve its scalability. Building upon prior research [1, 12, 22], we propose several modifications to Gnutella’s design that dynamically adapt the overlay topology and the search algorithms in order to accommodate the natural heterogeneity present in most peer-to-peer systems. We test our design through simulations and the results show three to five orders of magnitude improvement in total system capacity. We also report on a prototype implementation and its deployment on a testbed.
Mostra alguns problemas de escalabilidade do Gnutella e propões as seguintes soluções:
- Adaptação da topologia: Ensures that high-capacity nodes are the high degree nodes
- Controle de fluxo: Forward queries if can't answer them
- Cria ponteiros para o conteúdo nos vizinhos
- Biased walk: Não realiza flooding, encaminha para alguns poucos nós. Em geral encaminha para os nós mais conectados. Como o conteúdo é replicado nos vizinhos, nós muito conectados conhecem muito da rede.
Ele ainda argumenta porquê utilizar Gnutella ao invés de DHTs, uma vez que DHTs não sofrem tanto com escalabilidade:
- P2P clients are extremely transient
- Keyword searches are more prevalent, and more important, than exact-match queries.
- Most queries are for hay, not needles.
Marcadores:
ear,
gnutella,
p2p,
redes,
scale
Nenhum comentário:
Postar um comentário