System structure overview

l        N clients

l        One JNDI Server(machine 1)

l        One Replication Manager(machine 1)

l        Two Backup Machines(machine2 and 3)

l        One D/B

At the start the replication manager is running on the replication manager server. The replication manager is checking current primary status through ping service. The naming server has the current information on the primary server and passive backup servers.

Fault Detection

<Exception Handling in Client>

Client would get the error message for the exceptional cases.

1.        When client enters invalid inputs

2.        When the middleware server is down

3.        When the database server is down

<Fault Detector>

Fault Detector will periodically check the status of the replica and when failure of a replica is detected, it will notify it to the Replication Manager in order to keep the service operating by other replica.

Failover

1. JNDI runs on machine1, and JBOSS runs on machine 2 and machine 3.
2. Fault detector periodically check the heart beat from machine 2 and machine 3
3. If machine 2 is fail, the fault detector informs it to replication manager
4. Replication manager deletes the machine2 from the JNDI and informs the new available server, machine 3 when a client requests the service.
5. If new request is arrived, the client will connect to machine3.

Replication

1. Once a fault has been injected, the replication manager detects the primary server fault through ping service.

2. Replication manager activates the next backup machine.

3. Replication manager update naming service data dictionary as new primary server.

4. Replication manager activate new replica.

5. New replica update naming service data dictionary as new replica.

Transaction

Duplicate transactions may occur in failover. To prevent this situation, every reservation transaction shall be identified with a unique client id and operation id. If the client repeats the same operation already recorded in database, the system will detect the duplication and inform the client of the fact.