FanTango Project Page
17-654: Analysis of Software Artifacts
Home
Project Overview
Database
Baseline
|
Baseline 02-13-04
[
FT Baseline
]
RT FT Baseline
HP RT FT Baseline
Fault-Tolerant Baseline Application
Plan
[ Top ]
Failover Mechanism
Tomcat runs on machine 1
JNDI runs on machine 1
RepMan launches JBoss on machine 2 and machine 3 and registers the two replicas with JNDI
Servlet connect to default server (machine 2)
Machine 2's server fails
Servlet detects exception and informs RepMan of failed machine
RepMan removes failed machine from JNDI list
Servlet requests next available machine from RepMan
RepMan returns machine 3
Servlet connects to machine 3 and continues service
Fault Detection
FD pings all available hosts
We must determine how often, and with what timeout
FD queries RepMan for available hosts - in case new ones were launched
We must determine how often
FD detects failure (timeout from a ping)
FD requests RepMan to kill failed replica (so the label is removed from JNDI)
Replication Manager
RepMan launches JBoss on machine 2 and machine 3 and registers the two replicas with JNDI
When RepMan is informed of failure from Servlet or Fault Detector, it will launch a new replica and bring the old one back to life
We must consider how to cleanly kill JBoss
If FD and RepMan's available hosts are not in sync, this might cause duplicate kills and deadlock
It takes sometime to start JBoss
Transactions
No state kept in beans, do not need to handle stored state
Purchase transaction is the only transaction that can cause difficulty with attempts at duplication
Use client username as unique identifier for client transactions of this type
Current Status
[ Top ]
Complete.
Downloads
[ Top ]
Final Version:
Here