I think this is needlessly complex. Simply add a "do not disturb me for X seconds" to the QR reply. Then the receiving node will simply not route to the rejecting node untill x seconds have passed. This will let overloaded nodes to solve their tasks in peace and quiet without burdening them with additional load, and make traffick flow to the less burdened ones. As an added benefit, it is an instant method with no long term consequences routing-wise, making it perfect for the ever-changing load situation.
X would be set according to the load situation of the node; the higher the load (and the longer it's been high), the bigger the X. It would probably be a good idea to make a sanity check on the receiving node, to limit X for, say, an hour (to avoid bugs stopping traffick for years; a hostile node can, of course, queryreject everything). If all the nodes in our routing table are "querywalled", then simply pick one with smallest time remaining; it is presumably the one closest to finishing its current work. Comments ? On Sat, 08 Nov 2003 18:35:04 +0000, Ian Clarke wrote: > The variety of ideas being thrown around about how to load balance is > quite reminiscent of the alchemy we used for routing pre-NGR. Perhaps > we should rethink load-balancing. > > So, lets start with what we are trying to achieve: > > The goal of load balancing is to have a node receive as many requests as > it can handle but no more. Our current mechanism for achieving this > relies on an effectively binary negative feedback mechanism that just > isn't working. The solution is probably to make the feedback contain > more information. > > So: A node should be able to establish how many queries it can handle > without problems in a given stretch of time (I assume this should be > reasonably easy to do experimentally). What if a node told other nodes > how many requests each of them are permitted to send to it in a given > time-period to ensure that the total such number of incoming requests > aren't exceeded? > > Now, obviously many nodes might not meet their quota, in which case part > of their quota could be redistributed to other nodes in some manner, > although they would have the right to reclaim their quota should they > need to send more requests than they have been doing. > > Still a somewhat unformed idea, but perhaps a basis for a non-alchemaic > (sp?) approach to load-balancing? > > Ian. _______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
