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
