Having no understanding of the code, I have been doing some experiments
to find out why a transient node running here works very well, soon
acquires good connectivity, and retrieves most advertised sites: at the
same time, given the same references (and multiple transfusions of
working ones from the transient node) a (usually overloaded because of
CPU and bandwidth restrictions) permanent node dies in various painful
ways. The main difference seems to be in the chance of contacting a
node reference. The transient node settles down to having 20 to 60
nodes in the routeing table, each of which can be contacted more than
50% of the *number of trials*. It seems to me, and someone please
correct me if I am wrong, that the difference must relate to the nature
of a contact attempt in the two types of nodes. It could be that a busy
permanent node makes less of an attempt (fewer packets?) for each
"trial" recorded on the Routing Table Status page. I doubt this, again
comments from those that know are welcome. Another possibility is that
the generality of other nodes could be more likely to reply to a contact
attempt from a transient node: this only seems possible if, for some
reason, the transient node on average sends different kinds of "trial"
contacts - is anything like this possible? It seems most likely that
(since the node refs are the same) the *reply* is less likely to be
received by the overloaded permanent node, presumably as part of the
overload managing process.
My proposal is that such replies to contact attempts be given a very
high priority. If it is necessary (for network health reasons [1]) to
restrict the ability of an overloaded permanent node to give priority to
its own contact attempts over requests from other nodes to it, then do
this by restricting the frequency with which an overloaded permanent
node is allowed to attempt contacts with other nodes, but prioritise the
replies, so it can gradually build up a routing table (not just keep
generating futile threads until it stalls, as it does for me now).
I should find it educational if anyone could point out a fallacy in the
above argument.
[1] Actually, a permanent node that only manages to service a small
number of requests seems to be potentially better than one that does not
work at all, but this may not be true!
--
Roger Hayter
_______________________________________________
support mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/support
