Fault-Tolerant Replication Based on Fragmented Objects

  • Hans P. Reiser
  • Rüdiger Kapitza
  • Jörg Domaschka
  • Franz J. Hauck
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4025)


This paper describes a novel approach to fault-tolerance in distributed object-based systems. It uses the fragmented-object model to integrate replication mechanisms into distributed applications. This approach enables the use of customised code on a per-object basis to access replica groups and to manage consistency. The addition of fault tolerance to the infrastructure has only little overhead, is fully transparent for clients, and does not require internal modifications to the existing middleware. Semantic annotations at the interface level allow the developer to customise the provision of fault tolerance. Operations can be marked as read-only to allow an execution with weaker ordering semantics or as parallelisable to allow true multithreaded execution. A code-generation tool is provided to automatically produce object-specific fragment code for client access and for replica consistency management, taking into account the annotations, the interface specification, and the non-replicated implementation. A further contribution of our code-generation approach is the support of deterministic multithreading in replicated objects.


Semantic Annotation Fragment Code Common Object Request Broker Architecture Group Communication System Passive Replication 
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.
    Ban, B.: Design and implementation of a reliable group communication toolkit for Java. Technical report, Dept. of Computer Science, Cornell University (1998)Google Scholar
  2. 2.
    Birman, K.: Can web services scale up? Computer 38(10), 107–110 (2005)CrossRefGoogle Scholar
  3. 3.
    Birman, K.P., Van Renesse, R.: Reliable Distributed Computing with the ISIS Toolkit. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  4. 4.
    Felber, P.: The CORBA Object Group Service: A Service Approach to Object Groups in CORBA. Ph.D thesis, École Polytechnique Fédérale de Lausanne, Switzerland (1998) (Number 1867)Google Scholar
  5. 5.
    Felber, P., Narasimhan, P.: Experiences, strategies, and challenges in building fault-tolerant CORBA systems. IEEE Trans. Comput. 53(5), 497–511 (2004)CrossRefGoogle Scholar
  6. 6.
    Hauck, F.J., Kapitza, R., Reiser, H.P., Schmied, A.I.: A flexible and extensible object middleware: CORBA and beyond. In: Proc. of the Fifth Int. Workshop on Software Engineering and Middleware. ACM Digital Library (2005)Google Scholar
  7. 7.
    Homburg, P., van Doorn, L., van Steen, M., Tanenbaum, A.S., de Jonge, W.: An object model for flexible distributed systems. In: Proceedings of the 1st Annual ASCI Conference, pp. 69–78 (1995)Google Scholar
  8. 8.
    Jiménez-Peris, R., Patiño-Martínez, M., Arévalo, S.: Deterministic scheduling for transactional multithreaded replicas. In: SRDS 2000: Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems (SRDS 2000), Washington, DC, USA, p. 164. IEEE Computer Society, Los Alamitos (2000)CrossRefGoogle Scholar
  9. 9.
    Kapitza, R., Hauck, F.J.: DLS: a CORBA service for dynamic loading of code. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1333–1350. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Kapitza, R., Reiser, H.P., Hauck, F.J.: Stable, time-bound references in context of dynamically changing environments. In: MDC 2005: Proc. of the 25th IEEE Int. Conf. on Distributed Computing Systems - Workshops (ICDCS 2005 Workshops) (2005)Google Scholar
  11. 11.
    Maffeis, S.: Adding group communication and fault-tolerance to CORBA. In: Proceedings of the Conference on Object-Oriented Technologies, Monterey, CA, pp. 135–146. USENIX (1995)Google Scholar
  12. 12.
    Makpangou, M., Gourhant, Y., Le Narzul, J.-P., Shapiro, M.: Fragmented objects for distributed abstractions. In: Casavant, T.L., Singhal, M. (eds.) Readings in distributed computing systems, pp. 170–186. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  13. 13.
    Moser, L.E., Melliar-Smith, P.M., Narasimhan, P.: Consistent object replication in the eternal system. Theor. Pract. Object Syst. 4(2), 81–92 (1998)CrossRefGoogle Scholar
  14. 14.
    Narasimhan, N., Moser, L.E., Melliar-Smith, P.M.: Transparent consistent replication of Java RMI objects. In: DOA, pp. 17–26 (2000)Google Scholar
  15. 15.
    Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: Enforcing determinism for the consistent replication of multithreaded CORBA applications. In: SRDS 1999: Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems, Washington, DC, USA, p. 263. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  16. 16.
    Object Management Group (OMG). Common object request broker architecture: Core specification, version 3.0.2. OMG document formal/02-12-02 (2002)Google Scholar
  17. 17.
    Object Management Group (OMG). Life cycle service specification, version 1.2. OMG document formal/02-09-01 (2002)Google Scholar
  18. 18.
    Reiser, H.P., Bartlang, U., Hauck, F.J.: A reconfigurable system architecture for consensus-based group communication. In: Proc. of the 17th IASTED Int. Conf on Parallel and Distributed Systems, Phoenix, AZ, USA, November 14-16 (2005)Google Scholar
  19. 19.
    Hans, P., Reiser, M.J., Hauck, F.J.: A flexible replication framework for scalable and reliable .NET services. In: Algarve, P. (ed.) Proc. of the IADIS Int. Conf. Applied Comuting 2005, vol. I, pp. 161–169 (2005)Google Scholar
  20. 20.
    Reiser, H.P., Hauck, F.J., Kapitza, R.: Deterministic multithreading for replicated CORBA applications (2006) (submitted for publication)Google Scholar
  21. 21.
    Reiser, H.P., Hauck, F.J., Kapitza, R., Schmied, A.I.: Integrating fragmented objects into a CORBA environment. In: Proc. of the Net.ObjectDays, Erfurt, Germany (2003)Google Scholar
  22. 22.
    Reiser, H.P., Steckermeier, M., Hauck, F.J.: IDLflex: a flexible and generic compiler for CORBA IDL. In: Proc. of the Net.Object Days, Erfurt, Germany, September 10-13 (2001)Google Scholar
  23. 23.
    Zhao, W., Moser, L.E., Melliar-Smith, P.M.: Deterministic scheduling for multithreaded replicas. In: WORDS 2005: Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, Washington, DC, USA, pp. 74–81. IEEE Computer, Los Alamitos (2005)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2006

Authors and Affiliations

  • Hans P. Reiser
    • 1
  • Rüdiger Kapitza
    • 2
  • Jörg Domaschka
    • 1
  • Franz J. Hauck
    • 1
  1. 1.Distributed Systems LabUniversity of UlmGermany
  2. 2.Department of Distributed Systems and Operating SystemsUniversity of Erlangen-NürnbergGermany

Personalised recommendations