A comprehensive approach to transparent and flexible replication of Java services and applications
Dissertation
Faculties
Fakultät für Ingenieurwissenschaften und InformatikAbstract
Fault-tolerance by replication has been re-implemented over and over again. Even though many replicated services apply the same replication protocols, their implementations are not re-usable, because replication is seldom the primary focus of a system.
This thesis introduces the Virtual Nodes replication framework. It provides comprehensive and flexible support for replication in distributed, heterogeneous, multi-tier environments. It comes with several common invocation-oriented replication protocols and is able to wrap existing applications. The framework comes with an open, modularised architecture that enables an easy, yet powerful configuration and customisation of Virtual Nodes instances. This allows adaptations to the use case and optimisations of replication protocols, and only requires minimum efforts to sustain atypical usage scenarios. The architecture is completely self-contained and does not require any external services.
Many replication protocols demand that the replicas behave deterministically. Due to the various possible causes of non-determinism, it is very likely that an arbitrary Java application contains non-deterministic operations. In order to enable the replication of applications with non-deterministic operations, we complement the Virtual Nodes framework with the Dj suite. It enforces a deterministic execution of Java applications and constitutes the only fully portable approach to determinism for Java applications.
Summarising, the synthesis of the Virtual Nodes framework and the Dj suite results in a unique piece of work that yields everything required to replicate existing, replication-unaware services and applications out of the box. In addition, this thesis compiles fundamental requirements of replicated and deterministic systems and proves that a transparent replication of applications is possible when a comprehensive approach provides adequate abstractions.
Date created
2012
Subject headings
[GND]: Aspektorientierte Programmierung | Datenreplikation | Java <Programmiersprache>[LCSH]: Aspect-oriented programming | Distributed operating systems (Computers) | Electronic data processing; Distributed processing | Java (Computer program language) | Middleware
[Free subject headings]: Determinism | Fault tolerance | Framework | Replication | Re-writing
[DDC subject group]: DDC 004 / Data processing & computer science
Metadata
Show full item recordDOI & citation
Please use this identifier to cite or link to this item: http://dx.doi.org/10.18725/OPARU-2485
Domaschka, Jörg (2013): A comprehensive approach to transparent and flexible replication of Java services and applications. Open Access Repositorium der Universität Ulm und Technischen Hochschule Ulm. Dissertation. http://dx.doi.org/10.18725/OPARU-2485
Citation formatter >