[mnet-devel] "One Hop Lookups for Peer-to-Peer Overlays"

zooko at zooko.com zooko at zooko.com
Fri Apr 30 16:30:32 BST 2004


> If that's true, it's pretty icky.  As the network grows, and join/part
> becomes more common, low bandwidth nodes become saturated just with network
> notifications.  Also, a few flapping nodes can flood everyone.

Mnet v0.6 uses a variation on the theme of "one-hop routing".

In Mnet v0.6 (available now from a friendly download page near you [1]),
arrival notifications are propagated at a fixed rate, so if the network doubles
in size, it takes twice as long to get arrival notifications.  

This is probably just fine for our purposes: Since Mnet is a persistent
filesystem, your node isn't as interested in new nodes as it is in
long-established nodes, since long-established ones are more likely to be
holding data blocks that you want, and are probably better servers on which to
store data blocks.

Note that this delay for new arrival notifications doesn't necessarily apply to
*reconnections*.  Individual nodes retry absent peers on a probabilistic
exponential-backoff basis, so if a node is present, then disappears, and then
shortly re-appears, the other nodes will not have to wait for the full "new
arrival discovery" period in order to re-discover this peer -- instead they
will try reconnecting to him directly.

Thanks to Coderman, Greg Smith, and Sean R. Lynch for suggesting parts of this
strategy in discussion on p2p-hackers and mnet-devel in 2003-11 and 2003-12.
Thanks to Arno for debugging it from 2003-11 to the current date.

Regards,

Zooko

[1] http://mnet.sf.net/download.php



-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE. 
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel




More information about the Mnet-devel mailing list