Skip to main content

A non-blocking lightweight implementation of causal order message delivery

Part of the Lecture Notes in Computer Science book series (LNCS,volume 938)


This paper presents an algorithm to implement point-topoint causal order message delivery in distributed systems which does not force the sender to wait and which does not piggyback control information (such as timestamps) on messages. The algorithm is based on a message transmission protocol using low-level acknowledgements between FIFO buffers. We show that on the one hand causal order can easily and efficiently be realized in that way, but that on the other hand the loss of knowledge—induced by not using dependency matrices as in previously known protocols—leads to a slight restriction with respect to the applicability of the new protocol. The advantages of our scheme, however, are obvious because it is non-blocking and the piggybacking of huge control information on messages is avoided. Furthermore, the new algorithm is easily implementable since many distributed systems and low-level transmission protocols already provide message buffers and explicit or implicit message acknowledgements.


  • Output Buffer
  • Input Buffer
  • Causal Order
  • Synchronous Communication
  • Isis System

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/3-540-60042-6_14
  • Chapter length: 17 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   99.00
Price excludes VAT (USA)


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Acharya A., Badrinath B., Recording Distributed Snapshots Based on Causal Order of Message Delivery. Information Processing Letters 44, 1992, pp. 317–321

    MathSciNet  Google Scholar 

  2. Alagar S., Venkatesan S., An Optimal Algorithm for Distributed Snapshots with Causal Message Ordering. Information Processing Letters 50, 1994, pp. 311–316

    Google Scholar 

  3. Birman K., Joseph T., Reliable Communication in the Presence of Failures, ACM Trans. on Computer Systems 5, 1987, pp. 47–76

    Google Scholar 

  4. Birman K., van Renesse R. (eds.), Reliable Distributed Computing with the Isis Toolkit, IEEE Computer Society Press, 1994

    Google Scholar 

  5. Birman K., Schiper A., Stephenson P., Lightweight Causal and Atomic Group Multicast, ACM Trans. on Computer Systems, 9(3) (August 1991), 272–314

    Google Scholar 

  6. Charron-Bost B., Mattern F., Tel G., Synchronous, Asynchronous, and Causally Ordered Communication. Submitted to Distributed Computing, 1994

    Google Scholar 

  7. Fidge C., Timestamps in Message-Passing Systems that Preserve the Partial Ordering. Proc. 11th Autralian Computer Science Conf., University of Queensland, 1988, pp. 55–66

    Google Scholar 

  8. Kearns P., Koodalattupuram B., Immediate Ordered Service in Distributed Systems. Proc. 9th International Conference on Distributed Computing Systems, Newport Beach, California, June 5–9, 1989, pp. 611–618

    Google Scholar 

  9. Lamport L., Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM 21 (7), 1978, pp. 558–565

    Google Scholar 

  10. Mattern F., Virtual Time and Global States of Distributed Systems. In: Cosnard M. et al. (eds.): Proc. Workshop on Parallel and Distributed Algorithms, Bonas, France, 1988, pp. 215–226. (Reprinted in: Z. Yang, T.A. Marsland (eds.), Global States and Time in Distributed Systems, IEEE, 1994, pp. 123–133)

    Google Scholar 

  11. Raynal M., Schiper A., Toueg S., The Causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters 39, 1991, pp. 343–350

    Google Scholar 

  12. Schiper A., Eggli J., Sandoz A., A New Algorithm to Implement Causal Ordering. In: J.-C. Bermond, M. Raynal (eds.), Distributed Algorithms, Vol. 392 of Lecture Notes in Computer Science, Springer-Verlag, 1989, pp. 219–232

    Google Scholar 

  13. Schwarz R., Mattern F., Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail. Distributed Computing 7 (3), 1994, pp. 149–174

    Google Scholar 

  14. Tel G., Mattern F., The Derivation of Distributed Termination Detection Algorithms from Garbage Collection Schemes, ACM Trans. on Prog. Lang. Sys. 15 (1), 1993, pp. 1–35

    Google Scholar 

Download references

Author information

Authors and Affiliations


Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mattern, F., Fünfrocken, S. (1995). A non-blocking lightweight implementation of causal order message delivery. In: Birman, K.P., Mattern, F., Schiper, A. (eds) Theory and Practice in Distributed Systems. Lecture Notes in Computer Science, vol 938. Springer, Berlin, Heidelberg.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60042-8

  • Online ISBN: 978-3-540-49409-6

  • eBook Packages: Springer Book Archive