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.