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

Reply via email to