Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Application Recovery

  • David LometEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_20


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.

Historical Background

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...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 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
  2. 2.
    Barga R, Lomet D, Shegalov G, Weikum G. Recovery guarantees for internet applications. ACM Trans Internet Technol. 2004;4(3):289–328.CrossRefGoogle Scholar
  3. 3.
    Berkeley/Stanford Recovery-Oriented Computing (ROC) Project. http://roc.cs.berkeley.edu. 10 Oct 2008.
  4. 4.
    Bernstein P, Hsu M, Mann B. Implementing recoverable requests using queues. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1990. p. 112–22.CrossRefGoogle Scholar
  5. 5.
    Bernstein P, Newcomer E. Principles of transaction processing. Morgan Kaufmann; 1997.Google Scholar
  6. 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
  7. 7.
    Elnozahy EN, Alvisi L, Wang Y, Johnson DB. A survey of rollback-recovery protocols in message-passing systems. ACM Comput Surv. 2002;34(3):375–408.CrossRefGoogle Scholar
  8. 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
  9. 9.
    Gray J, Reuter A. Transaction processing: concepts and techniques. San Mateo: Morgan Kaufmann; 1993.zbMATHGoogle Scholar
  10. 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. 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

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Microsoft ResearchRedmondUSA

Section editors and affiliations

  • Gottfried Vossen
    • 1
  1. 1.Dep. of Inf. SystemsWestf. Wilhelms-UniveristätMünsterGermany