AFAIK the current mechanism of providing seednodes to new nodes is to 
make a dump of hawk's routing table at a given interval and provide that 
as seednodes.ref.  That way all new nodes get more or less the same set 
of references.  No single node's table is dynamic enough to provide 
sufficient diversity, not even hawk's.

Gnutella has been using the so-called GWebCache system to provide entry 
points for new nodes to the network.  A gwebcache is a script written in 
php (asp and coldfusion implementations exist too) that serves 
references of other nodes.  Every script keeps track of other scripts 
and they all synchronize to make sure they provide as diverse set of 
references as possible at any given moment.  During installation, the 
new node queries several gwebcaches and they reply with references to 
other nodes.  Once the node is up and running, it never queries the 
gwebcaches unless it runs out of references (which doesn't happen in 
freenet i think).  Even if several nodes join the network at the same 
time, they would all get differing sets of refs, which beats getting 
them from hawk's table.

It would be pretty easy to hack the gwebcache script to serve freenet 
refs instead of gnutella refs.  Also, no changes to the freenet node are 
required, only to the installation and/or update scripts.  Running a 
gwebcache should not require lots of bandwith even during a 
slashdotting; there are between 20 and 50 gwebcaches for gnutella and 
they serve a network of 100 000 users (every node connects to about 5-10 
caches initially, whose addresses come with installation).

Of course gwebcaches are not a long term solution; just something that 
can be implemented fairly quickly and will help integration of new nodes 
in the network until some other mechanism (in-freenet perhaps?) is 
implemented.  If there are no serious objections to this I would like to 
try and do it.

Zlatin

P.S.: here' the website: http://www.gnucleus.net/gwebcache/


_______________________________________________
devl mailing list
devl at freenetproject.org
http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/devl

Reply via email to