Ian writes: > Perhaps, but given the current mechanism it does influence how often > that node is contacted - a node will be contacted roughly in proportion > to the number of references it has in the datastore, which will create a > positive feedback loop and make the problem even worse.
I don't understand how this positive feedback loop would work. Here is my analysis. If a given node has X% of the datastore references, then X% of queries will go to it (assuming, as you say, that "a node will be contacted roughly in proportion to the number of references it has in the datastore"). If a query is successful, we will replace one of the existing datastore entries with the new one. There is an X% chance that the datastore item being thrown away points at the node in question. So there are four possibilities: either the request goes to the particular node (X%) or it does not (100% - X%); and either the discarded reference points at the particular node (X%) or it does not (100% - X%). Positive feedback occurs if we go to the node (X%) and discard a reference not pointing to that node (100% - X%). This will increase the number of references pointing to that node. Negative feedback occurs if we go to a different node (100% - X%) and discard a reference pointing to the node (X%). This will decrease the number of references pointing to that node. The chance of positive feedback is equal to chance of negative feedback. Both are X * (100 - X). Hence there will be no inherent tendency for X to grow and no net positive feedback. How do you deduce that there will be positive feedback? Hal _______________________________________________ Devl mailing list Devl at freenetproject.org http://lists.freenetproject.org/mailman/listinfo/devl
