> 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/
pgp00000.pgp
Description: PGP signature
