Synchronizing clocks in the presence of faults
Journal of the ACM (JACM)
Why TCP timers don't work well
SIGCOMM '86 Proceedings of the ACM SIGCOMM conference on Communications architectures & protocols
Internetworking with TCP/IP: principles, protocols, and architecture
Internetworking with TCP/IP: principles, protocols, and architecture
Timestamp-Based Orphan Elimination
IEEE Transactions on Software Engineering
Efficient at-most-once messages based on synchronized clocks
ACM Transactions on Computer Systems (TOCS)
Practical uses of synchronized clocks in distributed systems
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
At-most-once semantics in asynchronous shared memory
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Solving the at-most-once problem with nearly optimal effectiveness
ICDCN'12 Proceedings of the 13th international conference on Distributed Computing and Networking
The strong at-most-once problem
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Hi-index | 0.00 |
We extend the at-most-once message delivery algorithm of Liskov, Shrira, and Wroclawski to adapt dynamically to changes in message transmission time and degree of clock synchronization. The performance of their algorithm depends on its being supplied with a good estimate of the maximum message lifetime - the sum of the message delivery time and the difference in processor clock values between sender and recipient. We present two algorithms that are suitable for use in a system where the message lifetime is unknown or may change. Our extensions allow the automatic and continuous determination of a suitable value for the maximum lifetime. We prove that whenever the actual message lifetime is bounded, then our adaptive algorithms converge to an accurate estimate of its true value. Our two algorithms differ in the behavior they require from the network and achieve different performance levels. Our formal statement of convergence is expressed in terms of the number of messages received, rather than time elapsed. We show that this formulation is necessary by proving that no method for estimating the lifetime can achieve convergence in a bounded amount of time.