On Sat, Nov 08, 2003 at 12:38:14PM +0000, Ian Clarke wrote:
> Tom Kaitchuck wrote:
> 
> >OK, so I've finally gotten around to looking at the NGrouting source, and 
> >I have a few questions. Which are hopefully simple to answer.
> >
> >First in node/rt/StandardNodeEstimator.java on line 162 ish there is:
> >             if (pDNF==0)
> >                     pDNF = pLegitDNF;
> >Shouldn't this be:
> >             if (pDNF<pLegitDNF)
> >                     pDNF = pLegitDNF;
> >That would seem to make more since, unless 0 indicates something else.
> 
> Not sure what this code is trying to achieve, but it looks like it is 
> just attempting to have a more intelligent value for pDNF in the event 
> that the estimator doesn't have any data yet, in which case I think you 
> are right.  Matthew?

Not sure, maybe we WANT a crazy value on new nodes?
> 
> >Second a few lines later there is something like:
> >             double tDNF = etDNF.guessTime(k) * htl;
> >             double pNotConnectFailedOrSearchFailed =
> >                     (1 - pConnectFailed) * (1- pSearchFailed);
> >             estimate += pNotConnectFailedOrSearchFailed
> >                     * (pDNF - pLegitDNF) * (tDNF + requestFailTime);
> >Now, if I read this correctly, (I'm assuming that this code is used to 
> >obtain the next node to route to for each node in the chain.) We find the 
> >probability of a legit DNF and then multiply that by the estimated time to 
> >re-request that. (tDNF + requestFailTime). However tDNF is multiplied by 
> >HTL, (Which I assume to be the current HTL). The problem with this is 
> >that, if we are not the originating node, we are not going to re-request 
> >it if it fails. So instead it will be re-requested from the original node. 
> >So shouldn't we be trying to estimate how long that would take? IE: double 
> >tDNF = etDNF.guessTime(k) * MAXhtl;
> 
> Its a toughie, but I don't think so.  The whole "cost of a DNF is the 
> time to re-request" was always stretching reality a bit anyway, and this 
> is highlighted by the fact that, yes, if you aren't the originator you 
> won't be the one re-requesting, but even if you are the originator, you 
> won't necessarily re-request the data.
> 
> The re-request idea is really just a non-arbitrary way to deal with DNFs 
> within the context of an overall estimate of how long it takes to get 
> data, but it shouldn't be taken *too* seriously.
> 
> Given this, I think the existing code is probably ok.
> 
> Ian.

-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: signature.asc
Description: Digital signature

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

Reply via email to