Design and Performance of a Generic Consensus Component for Critical Distributed Applications

  • Khaled Barbaria
  • Jerome Hugues
  • Laurent Pautet
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4498)


This paper addresses the design and implementation of a generic middleware component for solving the consensus problem. This component can transparently provide critical applications with the consensus algorithm that best fits their requirements. The interactions between the consensus component and the underlying middleware layer are defined in terms of functional services among which tasking and transport are the most important. A complete design and configuration of the middleware is proposed. Performance measurements and source code analysis prove the efficiency and the ability to evolve of our design.


Application Program Interface Failure Detection Critical Application Consensus Problem Consensus Algorithm 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Bernstein, P.A.: Middleware: a model for distributed system services. Commun. ACM 39(2), 86–98 (1996)CrossRefGoogle Scholar
  2. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  3. Dobbing, B., Burns, A.: The Ravenscar tasking profile for high integrity real-time programs. In: Proceedings of SigAda’98, Washington, DC (November 1998)Google Scholar
  4. Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. J. ACM 34(1), 77–97 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  5. Durst, R.C., Miller, G.J., Travis, E.J.: Tcp extensions for space communications. Wirel. Netw. 3(5), 389–403 (1997)CrossRefGoogle Scholar
  6. Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  7. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, Massachusetts (1994)Google Scholar
  8. Guerraoui, R., Schiper, A.: Software-based replication for fault tolerance. Computer 30(4), 68–74 (1997)CrossRefGoogle Scholar
  9. Guerraoui, R., Schiper, A.: The generic consensus service. IEEE Transactions on Software Engineering 27(1), 29–41 (2001)MathSciNetCrossRefGoogle Scholar
  10. Haverkamp, D.A., Richards, R.J.: Towards safety critical middleware for avionics applications. In: LCN ’02. Proceedings of the 27th Annual IEEE Conference on Local Computer Networks, Washington, DC, p. 716. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  11. Larrea, M., Fernndez, A., Arvalo, S.: The impossibility of implementing perpetual failure detectors in partially synchronous systems (2001)Google Scholar
  12. Mostefaoui, A., Raynal, M.: Consensus based on failure detectors with a perpetual accuracy property. In: IPDPS ’00. Proceedings of the 14th International Symposium on Parallel and Distributed Processing, Washington, DC, p. 514. IEEE Computer Society Press, Los Alamitos (2000)Google Scholar
  13. Rodriguez, M., Fabre, J.-C., Arlat, J.: Wrapping real-time systems from temporal logic specifications. In: Bondavalli, A., Thévenod-Fosse, P. (eds.) Dependable Computing EDCC-4. LNCS, vol. 2485, pp. 253–270. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. RTCA. Software considerations in airborne systems and equipment certification. do-178b / ed-12b (1992)Google Scholar
  15. Schmidt, D.C., Buschmann, F.: Patterns, frameworks, and middleware: their synergistic relationships. In: ICSE ’03. Proceedings of the 25th International Conference on Software Engineering, Washington, DC, pp. 694–704. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  16. Schneider, F.B., Lamport, L.: Paradigms for distributed programs. In: Distributed Systems: Methods and Tools for Specification, An Advanced Course, London, UK, April 3-12, 1984 and April 16-25, pp. 431–480. Springer, Heidelberg (1985)Google Scholar
  17. Vergnaud, T., Hugues, J., Pautet, L., Kordon, F.: PolyORB: a schizophrenic middleware to build versatile reliable distributed applications. In: Llamosí, A., Strohmeier, A. (eds.) Ada-Europe 2004. LNCS, vol. 3063, pp. 106–119. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Khaled Barbaria
    • 1
  • Jerome Hugues
    • 1
  • Laurent Pautet
    • 1
  1. 1.GET-Télécom Paris – LTCI-UMR 5141 CNRS, 46, rue Barrault, 75634 Paris CEDEX 13France

Personalised recommendations