-----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