Using adaptive timeouts to achieve at-most-once message delivery
We extend the algorithm of Liskov, Shrira, and Wroclawski for at-most-once message delivery so that it adapts 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 which 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 procedures converge to an accurate estimate of its true value. Our two algorithms make different assumptions about the behavior of the system and thus 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. Specifically, we prove that no method for estimating the lifetime can achieve convergence in a bounded amount of time.
KeywordsGarbage Collection Clock Synchronization Message Delivery Maximum Lifetime Normal Message
Unable to display preview. Download preview PDF.
- [HSSD84]Joseph Halpern, Barbara Simons, Ray Strong, and Danny Dolev. Fault-Tolerant Clock Synchronization. In Proceedings of the Third Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pages 89–102, August 1984.Google Scholar
- [Jai86]Raj Jain. Divergence of Timeout Algorithms for Packet Retransmissions. In Proceedings of the Fifth Annual International Phoenix Conference on Computers and Communications, pages 174–179, March 1986.Google Scholar
- [Lis91]Barbara Liskov. Practical Uses of Synchronized Clocks. In Proceedings of the Tenth Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pages1–9, August 1991. Invited talk at 1990 PODC Symposium.Google Scholar
- [LSW91]Barbara Liskov, Liuba Shrira, and John Wroclawski. Efficient At-Most-Once Messages Based on Synchronized Clocks. ACM Transactions on Computer Systems, 9(2):125–142, 1991.Google Scholar
- [Mil89]D. L. Mills. Internet Time Synchronization: the Network Time Protocol. Technical Report RFC 1129, Network Working Group, University of Delaware, October 1989.Google Scholar
- [ST87]T. K. Srikanth and Sam Toueg. Optimal Clock Synchronization. Journal of the ACM, 34(3):626–645, 1987.Google Scholar
- [WL88]Jennifer L. Welch and Nancy A. Lynch. A New Fault-Tolerant Algorithm for Clock Synchronization. Information and Computation, 77(1):1–36, 1988.Google Scholar
- [Zha86]Lixia Zhang. Why TCP Timers Don't Work Well. In Proceedings of ACM SIGCOMM Symposium, pages 397–405, 1986.Google Scholar