Strong/weak connectivity estimates

of Kiss Coda Wiki

The whole strong/weak connectivity is an estimate, and the estimate is based on observed delays and losses when sending RPC2 and SFTP packets. Since we use UDP, losses are pretty normal, even when both processes are on the same machine.

The kernel is perfectly allowed to drop the packet without even passing it to the receiving process just because it can’t immediately free up memory for a packet buffer, or when the transmit/receive buffer gets full. So packet loss is unavoidable, which is why we have retransmission.

Once we get a successful reply to a request we divide the delay into several components, server processing time (which is already subtracted on the server side), outgoing latency and bandwidth, and incoming latency and bandwidth.

The latency and bandwidth components are calculated based on previous estimates, depending on the size of the request and reply packets and the expected latency and bandwidth in either direction, current estimates are made.

But really we’re taking one moderately reliable number (time between sending a request and receiving a reply) and attempt to derive 5 different values out of it based on historical measurements.


At its former host wikidev.net this page has been accessed 344 times.


Last modified: Thu Jun 26 07:37:00 UTC 2014