Oskar Sandberg <md98-osa at nada.kth.se> wrote:
> How do we want the discouraging of nodes that don't reply to work? Should
> we simply remove the the reference in question (which doesn't mean
> removing all references to that node, only one at a time) or should we
> include some sort of extra blacklisting system where nodes that have bad
> uptimes are avoided by some probability, or is it time we did a complete
> redesign of how the node chooses nodes to forward to so that, together
> with closeness, it also considers the reliability, locality, and speed of
> the other node.

I think nodes should definitely be discouraged on a node by node, rather
than key by key, basis, otherwise it won't have that much impact on the
number of connections attempted to dead nodes.

>From a routing point of view, it seems to me that we should take the
"blacklisting" rather than "combined scoring" approach, because routing is
based on the fact that a request is routed the same way the insert was.
This is upset if paths change depending on network conditions -- i.e. at
insert time, a node had a fast connection, so the insert went to it; but at
request time, if the node is experiencing congestion, the request goes
elsewhere.  Or the insert and request come from different parts of the
network which see different bandwidth conditions -- we still want them to
be routed towards each other.

Another consideration is that I think the mechanism should be continuous
rather than discrete -- it seems better if nodes are gradually discouraged
or favored rather than abruptly dropped or reinstated.

So I would favor "probabilistic blacklisting": try closest reference with
probability P1, if the dice roll goes the wrong way or connection
unsuccessful, try next closest with probability P2, then third with P3,
etc.  I like the exponential backoff approach to assigning probabilities
(cut P in half for each unsuccessful connection, add <small constant> to P
for each success, where success means "is alive").

theo


_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to