Tom Kaitchuck wrote:

On Wednesday 05 November 2003 11:57 am, Martin Stone Davis wrote:

Roger Hayter wrote:

As I understand it, the present routing method tries to predict the node
to contact which will give it the quickest response overall to its
request.

Almost. It chooses the node for which estimate() is the least. As I understand it (please someone correct me if I'm wrong) estimate() is *roughly* defined as:

pSuccess*tSuccess + pFailure*(tFailure+tGlobalSuccess)

where all of the below are a function of location in the keyspace:

pSuccess=chance of the node returning data
tSuccess=time it will take the node to return data if successful
pFailure=1-pSuccess
tFailure=time it will take the node to fail
tGlodalSuccess=time it will take to retrieve data successfully if we
went to another node.  I believe this is estimated by averaging all the
past tSuccess:es *starting from our node*.  So if, in the past, we had
to try 10 different nodes to get a success for a key in this area, all
the time we spent trying the 10 nodes is added-in to tGlobalSuccess.


Wait. Shouldn't that be
pSuccess*tSuccess + pFailure*(tFailure+tGlobalSuccess+tTimeItTakesForTheOriginalNodeToFindOutItFailed).
if it it's not, it should be. (note to self: need a better varable name)

Since it's the original node (our node) that is measuring all of this, tFailure includes tTimeItTakesForTheOriginalNodeToFindOutItFailed.


-Martin


_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to