Hi 

Here are a few observations and suggestions that might help NG routing.

1.  The NG weight calculation contains 4 terms,  wSF, wTF, wDNF, wSuccess.
The last two are conditional on pSF (and pConn which is not used now).  When
a node is busy its pSF quickly reaches .99 or larger.  This tends to damp out
any wDNF/wSucess info so, in effect when we are routing to busy nodes, we
route randomly.  If we remove the (1-SFp)*(1-pConn) factor from these terms
we would try the busy nodes in order of specialization.

2. When estimating weights, if pDNF is zero, wDNF can be less than zero.  I
suggest that, when the estimator for a node returns zero for pDNF (it has no
info a this time) we would be better to use pLegitDNF.  i.e. add if(pDNF==0) 
pDNF=pLegitDNF;

3. In the routing table, we currently keep lots of nodes that are maintaining 
high pSF ratios.  This implies that they are very busy.  In the LRU logic used 
for node replacement I suggest that nodes getting SFs not have their access 
time updated.  This would mean they would drop off the routing table more 
quickly.  This possibily could be applied to TFs too but not only if SF is not 
sufficient.

4. When a node sees a reference for node not in its routing table it adds the node
to it - a reference hints to us that the referenced node wants traffic.  Why not use
that info for nodes in the rt too?   What I propose is to peturb the rpSearchFail
average down when we see a reference for a node already in the rt.  We probably
want to add code to limit this to one peturb until a request is processed.  This
would prevent a bad node from attacking by sending reseting all references.

I have the code to implement most of this written.

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

Reply via email to