1 research outputs found

    Flexible and reconfigurable support for fault-tolerant object replication

    No full text
    Using object-based middleware infrastructures is popular for the development of services in distributed systems. Active object replication is a suitable strategy to increase the availability of such services. Existing replication architectures, however, show some deficiencies in their flexibility and reconfigurability. This thesis presents the FTflex architecture, which extends the CORBA-based Aspectix middleware with flexible and reconfigurable replication mechanisms. The contributions of this thesis support the development of replicated objects, enable a deterministic execution of object methods with multiple threads, and provide a flexible and dynamically reconfigurable group communication system. First of all, this thesis designs an efficient replication architecture on the basis of fragmented objects. The presented solution offers transparency for clients and allows the relocation of parts of the service functionality to the client side. The developer of a replicated object can use semantic annotations to optimize the replication strategies. A tool for automated code generation simplifies application development. Second, this thesis addresses the concurrent execution of object methods. The FTflex architecture provides new strategies that ensure determinism even if multiple threads want to access the shared object state concurrently. FTflex uses source code analysis and transformation as a novel way to influence the thread coordination in the replica code. The third contribution of this thesis is a reconfigurable, consensus-based group communication system, which is used as a basis for active replication. This system supports variable failure models, ranging from crash-stop to Byzantine. A significant advantage of the system is its transparent support for consistent reconfigurations at runtime. In addition, the system offers internal instrumentation as a basis for autonomous adaptation and self-optimization
    corecore