> I decided to take a look at routing to see if it could be improved before NG routing
> is implemented.  Think what I have come up with works better that the current
> code.

I fear that your approach, while I am sure it is an improvement over
what we have now, it is a further step along the alchemy path - away
from the true and non-arbitrary path of NGrouting ;-)

The idea of NGRouting is to have a consistent way to integrate all of
the information you talk about in a non-arbitrary and easily tested
manner - namely by combining all available information (including that
which your changes uses) into a single estimated routing time.  This way
we aren't just arbitrarily combining this information.

For example, why did you choose CP = CP + .1 * (weight - CP) as the CP
updating formula?  Where do the various constants you use come from
(1.0, 0.0, 0.05, 0.01, 0.4, 0.6 etc)?  Why do you use the following
formula?:
  CP = CP + (.9-.8*((max_refs-refs)/max_refs)**2)*(1.0 - CP)
  
My point is that all of these decisions are pretty arbitrary guesses,
and this is a continuation of the "alchemy" approach to deciding which
nodes to contact that was introduced with the CP mechanism in the first
place.
  
NGrouting offers a way to take all of this information into account in a
completely non-arbitrary and testable way.  

For example, we take the possibility of node-contact failure into
account by adding the probability that the contact will fail multiplied
by the time delay of selecting another node to contact.  This is
non-arbitrary and clearly optimal given the information available to us. 
We estimate the routing time for a given key with a given reference by
looking at past routing times for other keys. Even if it is
sub-optimal, at least we would know it and know what we need to do to
improve it.  Further, we can easily test how accurately routing times 
are being estimated and use this information to further refine 
NGrouting.

NGrouting isn't just a more complicated replacement for the CP 
algorithm, it is a fundamental rethink of how we decide where a message 
should be routed that eliminates the need for the CP mechanism as a 
side-effect.

Ian.


-- 
Ian Clarke                                                  [EMAIL PROTECTED]
Coordinator, The Freenet Project              http://freenetproject.org/
Founder, Locutus                                        http://locut.us/
Personal Homepage                                   http://locut.us/ian/

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to