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