On Tuesday 17 June 2003 09:03 pm, Zlatin Balevsky wrote:
> Since with nio we can afford to keep 256-512 connections open (and well
> tuned uber-nodes can go way over 1000), we should rethink whether LRU is
> still the best strategy for replacing existing connections.  Currently
> the connection that has had least activity is being dropped when a new
> one is needed.
>
> However, if we're going to keep connections open to every node in the
> routing table, we should perhaps change that to an LFU strategy.
> There's no point to award a recently active but rarely used connection
> at the expense of one that has proven to be used often.
>
> The overall idea is to minimize the number of session restarts which
> (until session v2 comes out) require heavy crypto.

What about keeping connections biased on content? On the one hand you want to 
be connected to nodes of similar information, as presumably you can route to 
them if you don't have any given piece of data. But on the other hand 
initially you want to connect to nodes from varring parts of the network so 
your requests can get to their destination sooner. Also you don't want a 
situation where a large group of nodes become well connected amongest each 
other but inadvertently become disconnected from the rest of the network.

Is there a way we could "benchmark" various techniques for interconnecting 
nodes to determine the optimal solution? 

Perhaps we could use some sort of GNUnet-ish ranking system, whereby each node 
would look at it's connections and then decide which one is the least 
"valuable" biased on the NGrouting data about the estimated fetch times for 
the data requests you have seen. So then if you had two connections 
specializing in an aria of data that was not very popular, then the lesser 
one would be dropped as it does not contribute much to your overall routing 
speed.

NOTE: I say GNUnet-ish because I am assuming that the nodes are also being 
penalized for making lots of requests. GNUnet employs a very interesting 
decentralized 'Trust biased' economic model for it's routing. You can read 
about it at http://www.ovmj.org/GNUnet/download/main.pdf
and http://www.ovmj.org/GNUnet/download/ebe.ps

Another idea: Should nodes ever reject incoming request attempts? Suppose you 
had a hard and a soft connection limit. If you are at your soft limit a new 
node can connect and freeload for a determined period of time. After that 
time is up the least valuable node is dropped, and if that is the new node, 
so be it. This might have the side effect that nodes new to the network would 
have to wait a while and get something in their store before they really use 
the network.

PS: I am also posting this to tech@ as the spam problem was solved a long time 
ago.
_______________________________________________
Tech mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/tech

Reply via email to