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.
signature.asc
Description: Digital signature
_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
