Preserving Causality in a Scalable Message-Oriented Middleware

  • Philippe Laumay
  • Eric Bruneton
  • Noël De Palma
  • Sacha Krakowiak
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2218)


We present a solution to guarantee scalable causal ordering through matrix clocks in Message Oriented Middleware (MOM). This solution is based on a decomposition of the MOM in domains of causality, i.e. small groups of servers interconnected by router servers. We prove that, provided the domain interconnection graph has no cycles, global causal order on message delivery is guaranteed through purely local order (within domains). This allows the cost of matrix clocks maintenance to be kept linear, instead of quadratic, in the size of the application. We have implemented this algorithm in a MOM, and the performance measurements confirm the predictions


Message Delivery Causal Order Direct Chain Vector Clock Router Server 
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.


  1. 1.
    G. Banavar, T. Chandra, R. Strom, and D. Sturman. A case for message oriented middleware. In Lecture Notes in Computer Science, volume 1693, pages 1–18. Distributed Computing 13th International Symposium, September 1999. ISBN 3-540-66531-5.Google Scholar
  2. 2.
    Object Management Group. CORBA Messaging, May 1998. White Paper,
  3. 3.
    L. Lamport. Time, clocks, and the ordering of events in a distributed system. In Communications of the ACM, volume 21, pages 558–565, 1978.zbMATHCrossRefGoogle Scholar
  4. 4.
    K. Birman, A. Schiper, and P. Stephenson. Lightweight causal and atomic group multicast. In ACM Transactions on Computer Systems, volume 9, pages 272–314, August 1991.CrossRefGoogle Scholar
  5. 5.
    M. Raynal, A. Schiper, and S. Toueg. The causal ordering and a simple way to implement it. In Information Proceeding Letters, volume 39, pages 343–350, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    O. Babaoglu and K. Marzullo. Consistent Global States of Distributed Systems: Fundamental Consepts and Mechanisms, chapter 3. S. Mullenderr, addison-wesley edition, 1993.Google Scholar
  7. 7.
    V. Hadzilacos and S. Toueg. Fault-tolerant broadcast and related problems. In S. Mullender, editor, Distributed Systems, pages 55–96. Addison-Wesley, 1993.Google Scholar
  8. 8.
    F. Mattern. Virtual time and global states of distributed systems. In the International Workshop on Parallel and Distributed Algorithms, pages 215–226, 1989.Google Scholar
  9. 9.
    M.J. Fischer and A. Michael. Sacrifying serializability to attain high availability of data in an unreliable network. In ACM Symposium on Principles of Database Systems, pages 70–75, March 1982.Google Scholar
  10. 10.
    G.T.J. Wuu and A.J. Bernstein. Efficient solutions to the replicated log and dictionary problems. In 3nd ACM Symposium on PODC, volume 99, pages 233–242, 1984.Google Scholar
  11. 11.
    M. Raynal and M. Singhal. Logical time: A way to capture causality in distributed systems. In IEEE Computer, pages 49–56, 1995.Google Scholar
  12. 12.
    N. Adly, Nagi M., and J. Bacon. A hierarchical asynchronous replication protocol for large-scale systems. In IEEE Workshop on Parallel and Distributed Systems, pages 152–157, October 1993.Google Scholar
  13. 13.
    R. Baldoni, R. Freidman, and R. Van Renesse. The hierarchical daisy architecture for causal delivery. In IEEE International Conference on Distributed Systems, pages 570–577, May 1997.Google Scholar
  14. 14.
    T. Johnson and K. Jeong. Hierarchical matrix timestamps for scalable update propagation. submitted to the 10th Workshop on Distributed Algorithms, June 1996.Google Scholar
  15. 15.
    L. Rodrigues and P. Veríssimo. Causal separators and topological timestamping: an approach to support causal multicast in large scale systems. In 15th International Conference on Distributed Systems, May 1995.Google Scholar
  16. 16.
    Rodrigues L. and P. Veríssimo. Topology-Aware Algorithms for Large-Scale Communication, volume 1752, pages 127–156. Springer Verlag LNCS, 2000.Google Scholar
  17. 17.
    S. Meldal, S. Sankar, and J. Vera. Exploiting locality in maintaining potential causality. In the 10th Annual ACM Symposium on Principles of Distributed Computing, pages 231–239, 1991.Google Scholar
  18. 18.
    L. Bellissard, N. De Palma, A. Freyssinet, M. Herrmann, and S. Lacourte. An Agent Platform for Reliable Asynchronous Distributed Programming. Symposium on Reliable Distributed Systems, October 1999.Google Scholar
  19. 19.
    G. Agha, P. Wegner, and A. Yonezawa. Research Directions in Concurrent Object-Oriented Systems. MIT Press, Cambridge, 1993.Google Scholar
  20. 20.
    A.D. Kshemkalyani and M. Singhal. An efficient implementation of vector clocks. In Information Processing Letters, volume 43, pages 47–52, August 1992.zbMATHCrossRefGoogle Scholar
  21. 21.
    A. Homer and D. Sussman. Programmation MTS et MSMQ avec Visual Basic et ASP, chapter 5. Eyrolles, Mars 1999.Google Scholar
  22. 22.
    S. Johnson, F. Jahanian, and J. Shah. The inter-group router approach to scalable group composition. In 19th ICDCS, pages 4–14, June 1999.Google Scholar
  23. 23.
    Philippe Laumay. Déploiement d’un bus à messages sur un réseau à grande échelle. Rapport de DEA, University Joseph Fourier, June 2000.Google Scholar
  24. 24.
    L. Bellissard, S. Ben Atallah, F. Boyer, and M. Riveill. Distributed application configuration. In International Conference on Distributed Computing Systems, pages 579–585. IEEE Computer Society, May 1996.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2001

Authors and Affiliations

  • Philippe Laumay
    • 1
  • Eric Bruneton
    • 1
  • Noël De Palma
    • 1
  • Sacha Krakowiak
    • 1
  1. 1.Laboratoire SiracINRIA Rhône-AlpesSaint-Ismier CedexFrance

Personalised recommendations