-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> There is the Transient options (not currenly implemented) which tells
> the node to forget about you when you`re gone. Also, we`ve talked about
> making nodes in the datastore have a reliability rating. Letting them
> rate themselves and have it influence our rating is interesting. We
> could use the node`s self-ranking as the initial value for our own
> node`s internal reliability ranking.
Let me expand on this a little...
A similar idea (shamelessly stolen) is to use a half-life method for
dead-server recognition. The idea is that the chances of a server coming
back up as time passes get slimmer and slimmer, but you never
out-and-out give up on it. So you try the node less and less, in an
exponential decay type curve. So for every 100 times you
mean to access a node, you actually check it:
t=0 100/100
t=1 50/100
t=2 25/100
t=3 12/100
...etc
This can be turned into a decimal probibility, updated by how often an
access was successful. Halve the probabilty every time you unsucessfully
try to contact a system, increase it by a constant factor each time you
sucessfully do.
I'm probably making this sound complicated, but bare with me...
Use a tournament selection algorithm to pick the nodes you wish to
check.
I.e.:
1) Pick at random from your possible contacts,
2) Generate a random number between 0 and 1, and check to see if it is
less than the reliability factor.
3) If so, attempt to contact that
node. If it succeeds, at 0.1 to the reliability factor.
If it fails, half the factor and repeat step 1.
You'll notice that for an online node, most of the time connections will
succeed, so a constant factor might want to be a little lower than
0.1. Doubling the factor each time might be a bad idea, since a possibly
unreliable node could become 'reliable' too quickly. A server should have
to 'prove its love' before being respected as reliable again.
Scott
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE49CIbpXyM95IyRhURAutjAJ40i9rN7hwObycgcjCwRkYl75nX/gCeJUr/
eJUAa9tH3mKhTMROYrgPCNk=
=VTdc
-----END PGP SIGNATURE-----
_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev