Persistent Applications via Automatic Recovery

  • Roger Barga ,
  • David Lomet ,
  • Stelios Paparizos ,
  • Haifeng Yu ,
  • Sirish Chandrasekaran

IDEAS Conference |

Published by IEEE Computer Society

Building highly available enterprise applications using web-oriented middleware is hard. Runtime implementations frequently do not address the problems of application state persistence and fault-tolerance, placing the burden of managing session state and, in particular, handling system failures on application programmers. This paper describes Phoenix/APP, a runtime service based on the notion of recovery guarantees. Phoenix/APP transparently masks failures and automatically recovers component-based applications. This both increases application availability and simplifies application development. We demonstrate the feasibility of this approach by describing the design and implementation of Phoenix/APP in Microsoft’s .NET runtime and present results on the cost of persisting and recovering component-based applications.