Distributed Computing

, Volume 9, Issue 3, pp 109–117 | Cite as

Using adaptive timeouts to achieve at-most-once message delivery

  • Soma Chaudhuri
  • Brian A. Coan
  • Jennifer L. Welch


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.

Key words

At-most-once message delivery Communication algorithms Synchronized clocks Adaptive algorithms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Comer D: Internetworking with TCP/IP: principles, protocols, and architecture. Prentice Hall, Englewood Cliffs 1988Google Scholar
  2. 2.
    Herlihy MP, McKendry M: Timestamp-based orphan elimination. IEEE Trans Softw Eng 15(7): 825–831 (1989)CrossRefGoogle Scholar
  3. 3.
    Jain R: Divergence of timeout algorithms for packet retransmissions. Proc. 5th Annual International Phoenix Conference on Computers and Communications 1986, pp 174–179Google Scholar
  4. 4.
    Lamport L: Time, clocks, and the ordering of events in a distributed system. Commun ACM 27(7): 558–565 (1978)CrossRefGoogle Scholar
  5. 5.
    Lamport L, Melliar-Smith P: Synchronizing clocks in the presence of faults. J ACM 32(1): 52–78 (1985)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Liskov B: Practical uses of synchronized clocks. Proc 10th Annual ACM Symposium on Principles of Distributed Computing 1991, pp 1 9Google Scholar
  7. 7.
    Liskov B, Shrira L, Wroclawski J: Efficient at-most-once messages based on synchronized clocks. ACM Trans Comput Syst 9(2): 125–142 (1991)CrossRefGoogle Scholar
  8. 8.
    Mills DL: Internet time synchronization: the network time protocol. IEEE Trans Commun 39(10): 1482–1493 (1991)CrossRefGoogle Scholar
  9. 9.
    Steiner JG, Neuman BC, Schiller JI: Kerberos: an authentication service for open network systems. Usenix Conference Proceedings 1988, pp 191–202Google Scholar
  10. 10.
    Zhang L: Why TCP timers don’t work well. Proc ACM SIG-COMM Symposium 1986, pp 397–405Google Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Soma Chaudhuri
    • 1
  • Brian A. Coan
    • 2
  • Jennifer L. Welch
    • 3
  1. 1.Iowa State UniversityAmesUSA
  2. 2.BellcoreMorristownUSA
  3. 3.Department of Computer Science, H.R. Bright BuildingTexas A&M University, College StationUSA

Personalised recommendations