Re: Re: Using the DHT to find download sources
Arne Babenhauserheide <[email protected]>
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
Am Freitag 25 Juli 2008 21:13:27 schrieb pwang708: > So the query routing table protocol will be inefficient because we > cannot cluster hashes, i.e., pushing hashes out for two hops is > expensive. To make things clear, I did some calculation. If we apply > query routing table protocol to hashes, then an UP needs to spend in > the order of 1~10 KB per second. (A hash is 20 bytes long. Assuming > every client shares 1000 files, a leaf connect to 5 UPs, each UP has > 30 leaves, 0.5M UPs in the network, and 20M session are launched per > day.) We can do some optimization and bring the cost down below 1 KB > per second, or even less. Now the question is "does it worth it?" [...] > But hash > searches may still be expensive and Query routing table protocol has a > non-trivial cost itself. Jupp, and using Hashes that cost would be higher. > In summary, hash searches in Gnutella is most likely expensive unless > we can make hits happen within couple of hops. This "unless..." part > is an interesting topic to think about. :-) Peer group may help... That's why a DHT might be vastly more efficient for hash searches. It doesn't have to return all results for a hash. A few recent sources suffice, the Gnutella download mesh will help retrieving the rest of the sources. Then a high-level representation of Gnutella could be: Gnutella: - Bootstrapping - Internal Host-Cache and UDP host caches - Keyword query network: Gnutella 0.6 searches - Hash query network: Kademlia/Mojito - Distributed data replication: Download Mesh, FW2FW, ... Best wishes, Arne [Non-text portions of this message have been removed]