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
  1. Tomcat runs on machine 1
  2. JNDI runs on machine 1
  3. RepMan launches JBoss on machine 2 and machine 3 and registers the two replicas with JNDI
  4. Servlet connect to default server (machine 2)
  5. Machine 2's server fails
  6. Servlet detects exception and informs RepMan of failed machine
  7. RepMan removes failed machine from JNDI list
  8. Servlet requests next available machine from RepMan
  9. RepMan returns machine 3
  10. Servlet connects to machine 3 and continues service
Fault Detection
  1. FD pings all available hosts
  2. FD queries RepMan for available hosts - in case new ones were launched
  3. FD detects failure (timeout from a ping)
  4. FD requests RepMan to kill failed replica (so the label is removed from JNDI)
Replication Manager
  1. RepMan launches JBoss on machine 2 and machine 3 and registers the two replicas with JNDI
  2. 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
Transactions
  1. No state kept in beans, do not need to handle stored state
  2. Purchase transaction is the only transaction that can cause difficulty with attempts at duplication
  3. Use client username as unique identifier for client transactions of this type

Current Status [ Top ]

Complete.

Downloads [ Top ]

Final Version: Here