-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> 
> 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").

I think this was essentially the method I preferred as well.  Don't use
the probabilities to decide *which* to uses, but rather *if* a node is
used.  So if we have the following set of nodes, sorted by keyspace
closeness, each with the given probabilities:

A 0.20
B 0.15
C 0.90

Then chances are that A most likely has the data (its the closest in the
keyspace) but that we wont be able to get the data from A (it has a poor
reliability score).  Lets start picking random numbers:

- - Select A
- - Generate a random number from 0 to 1
- - Its 0.42, which is NOT < 0.20 (A's probability)
- - Select B
- - Generate a random number
- - 0.85, NOT < 0.15 (B's probability)
- - Select C
- - Generate a random number
- - 0.29 IS < 0.90 (C's probability)
- - Actually attempt to connect to C

This way we don't waste time on poor nodes (or slow nodes if we also
choose to mix in latency/throughput into the number), but we don't
entirely ban them either.

        Scott
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE4+0tgpXyM95IyRhURAsZiAJ9dNWizeorRoFxDFIm//OV+nREPAwCgvAmP
Y3Z1J5yE0BoSs9DKbGXMEIQ=
=EfKV
-----END PGP SIGNATURE-----


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

Reply via email to