Exactly-once execution; Fault-tolerant applications; Persistent applications; Recovery guarantees; Transaction processing
Systems implement application recovery to enable applications to survive system crashes and provide “exactly-once execution” in which the result of executing the application is equivalent to a single execution where no system crashes or failures occur.
Application recovery was first commercially provided by IBM’s CICS (Customer Information Control System). Generically, these kinds of systems became known as transaction processing monitors (TP monitors) [5, 9]. With a TP monitor, applications are decomposed into a series of steps. Each step is executed within a transaction. A step typically consists of reading input state from a database or transactional queue, executing some business logic, perhaps processing user input or reading and writing to a database, and, finally, writing state for the next step into database or...
- 1.Barga R, Chen S, Lomet D. Improving logging and recovery performance in phoenix/App. In: Proceedings of the 20th International Conference on Data Engineering; 2004.Google Scholar
- 3.Berkeley/Stanford Recovery-Oriented Computing (ROC) Project. http://roc.cs.berkeley.edu. 10 Oct 2008.
- 5.Bernstein P, Newcomer E. Principles of transaction processing. Morgan Kaufmann; 1997.Google Scholar
- 6.Borg A, Baumbach J, Glazer S. A message system supporting fault tolerance. In: Proceedings of the 9th ACM Symposium on Operating System Principles; 1983. p. 90–9.Google Scholar
- 8.Frølund S, Guerraoui R. 2000. A pragmatic implementation of e-Transactions. In: Proceedings of the 19th Symposium on Reliable Distributed Systems; 2000. p. 186–95.Google Scholar
- 10.Lomet D. Persistent middle tier components without logging. In: Proceedings of the International Conference on Database Engineering and Applications; 2005. p. 37–46.Google Scholar
- 11.Narasimhan P, Moser L, Melliar-Smith PM. Lessons learned in building a fault-tolerant CORBA System. In: Proceedings of the International Conference on Dependable Systems and Networks; 2002. p. 39–44.Google Scholar