1. Abstract

2. Introduction

    - Traditional approaches for providing FT to DRE applications based on
FT-CORBA specifications
    - Problems with such approaches, where failure handling is fixed and
load-unaware
    - Problems with such approaches, where FT mechanisms are heavy weight, and
are not necessarily supported in all the available or commonly-used ORBs
    - Problems with such heavyweight approaches, where colloborating with RT
applications (using RT middleware) might not realize predictable solutions
    - Need for solutions based on lightweight and readily-available middleware
mechanisms to provide FT and RT together.
    - General problem of RT-FT hard. Paper focuses on election algorithms in
passive replication, with a trade-off on fast failover over strong replica
consistency. Active replication is not considered as it is needed only for a
set of hard RT systems, whose number is dominated by the number of soft RT
systems.

3. Design of the Middleware-based FT-RT architecture (need to come up with a
name)

    - Applications targeted

        - case study to showcase most of the applications are soft RT systems
        - servers that do not maintain state
        - servers that act as a front-end to stable storage systems
        - servers that are read-only

    - Failure and Fault models

        - Process failures (objects rarely fail independently, they take their
process with them)
        - Process boundaries (fault isolation - a process failure rarely
affects another process in the same processor or a different processor)
        - Hard-metal faults (processor isolations, multiple processor faults
rarely possible)
        - Software certification (no software bugs - no byzantine faults
considered)

    - Middleware support required for RT-FT systems

        - Client-side request interceptors to catch COMM_FAILURE exceptions
        - Client-side forwarding agents to transparently connect clients to
appropriate failover targets.
        - Discussion of failures of both the client-side request interceptors
and forwarding agents.
        - Centralized middleware replication manager

            - next member determination algorithm
            - replica group support
            - failure handling
            - utilization monitoring
            - failure of middleware replication manager

        - Per-host utilization monitor
       
            - failure of utilization monitor

        - Per-host process failure monitor

            - failure of failure monitor

        - RT support

            - Thread pool configurations
            - client propagated priority model
            - priority mappings