Skip to main content
Log in

Log-based middleware server recovery with transaction support

  • Regular Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

Providing enterprises with reliable and available Web-based application programs is a challenge. Applications are traditionally spread over multiple nodes, from user (client), to middle tier servers, to back end transaction systems, e.g. databases. It has proven very difficult to ensure that these applications persist across system crashes so that “exactly once” execution is produced, always important and sometimes essential, e.g., in the financial area. Our system provides a framework for exactly once execution of multi-tier Web applications, built on a commercially available Web infrastructure. Its capabilities include low logging overhead, recovery isolation (independence), and consistency between mid-tier and transactional back end. Good application performance is enabled via persistent shared state in the middle tier while providing for private session state as well. Our extensive experiments confirm both the desired properties and the good performance.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Barga, R., Chen, S., David, L.: Improving logging and recovery performance in Phoenix/App. In: Proceedings of IEEE ICDE, pp. 486–497 (2004)

  2. Barga R., Lomet D., Shegalov G., Weikum G.: Recovery guarantees for internet applications. ACM Trans. Interet Technol. 4(3), 289–328 (2004)

    Article  Google Scholar 

  3. Barga, R., Lomet, D., Weikum, G.: Recovery guarantees for general multi-tier applications. In: Proceedings of IEEE ICDE, pp. 543–554 (2002)

  4. Barga, R.S., Lomet, D., Baby, T., Agrawal, S.: Persistent client-server database sessions. In Proc EDBT, pp. 462–477 (2000)

  5. Barga, R.S., Lomet, D.B., Paparizos, S., Yu, H., Chandrasekaran, S.: Persistent applications via automatic recovery. In IDEAS pp. 258–267 (2003)

  6. BEA Corp.: Deploying and configuring web applications. http://edocs.bea.com/wls/docs60/ (2000)

  7. Bernstein P.A.: Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)

    Google Scholar 

  8. Bernstein, P.A., Hsu, M., Mann, B.: Implementing recoverable requests using queues. In: Proceedings of ACM SIGMOD, pp. 112–122 (1990)

  9. Damani, O.P., Garg, V.K.: How to recover efficiently and asynchronously when optimism fail. In: Proceedings of IEEE ICDCS, pp. 108–115 (1996)

  10. Damani, O.P., Tarafdar, A., Garg, V.K.: Optimistic recovery in multi-threaded distributed systems. In: Proceedings of IEEE SRDS, pp. 234–243 (1999)

  11. Daynes, L., Czajkowski, G.: High-performance, Space-efficient, automated object locking. In: Proceedings of IEEE ICDE, pp. 163–172 (2001)

  12. Daynes, L., Czajkowski, G.: Lightweight flexible isolation for language-based extensible systems. In: Proceedings of VLDB, pp. 718–729 (2002)

  13. Elnozahy E.N. (Mootaz), Alvisi L., Wang Y.-M., Johnson D.B.: A survey of rollback-recovery protocols in message passing systems. ACM Comput. Surv. 34(3), 375–408 (2002)

    Article  Google Scholar 

  14. Freeman A.: Microsoft. NET XML Web Services Step by Step. Microsoft Press, Redmond (2003)

    Google Scholar 

  15. Freytag, J.C., Cristian, F., Kaehler, B.: Masking system crashes in database application programs. In: Proceedings of VLDB, pp. 407–416 (1987)

  16. Frølund, S., Guerraoui, R.: A pragmatic implementation of e-Transactions. In: Proceedings of IEEE SRDS, pp. 186 (2000)

  17. Frølund S., Guerraoui R.: e-Transactions: end-to-end reliability for three-tier architectures. IEEE Trans. Softw. Eng. 28(4), 378–395 (2002)

    Article  Google Scholar 

  18. Gray J., Reuter A.: Transaction Processing: Techniques and Concepts. Morgan Kaufmann, San Fransisco (1993)

    MATH  Google Scholar 

  19. Hines, B., Alcott, T., Barcia, R., Botzum, K.: IBM WebSphere Session Management. http://www.informit.com/articles/article.asp?p=332851 (2004)

  20. IBM: WebSphere Application Server (Distributed platforms and Windows), Version 7.0. http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/welcome-base.html (2009)

  21. IBM, BEA Systems, Microsoft, Arjuna, Hitachi, and IONA: Web Services Transactions Specifications. http://www-128.ibm.com/developerworks/library/specification/ws-tx/ (2005)

  22. Jeong, K., Shasha, D.: PLinda 2.0: A transactional/checkpointing approach to fault tolerant linda. In: Proceedings of IEEE SRDS, pp. 96–105 (1994)

  23. Kistijantoro A.I., Morgan G., Shrivastava S.K., Little M.C.: Enhancing an application server to support available components. IEEE Trans. Softw. Eng. 34(4), 531–545 (2008)

    Article  Google Scholar 

  24. Lomet, D.: Robust Web Services via Interaction Contracts. In: VLDB Workshop on Technologies for E-Services (2004)

  25. Lomet, D., Weikum, G.: Efficient transparent application recovery in client-server information system. In: Proceedings of ACM SIGMOD, pp. 460–471 (1998)

  26. Lomet, D.B.: Persistent middle tier components without logging. In: IDEAS, pp. 37–46 (2005)

  27. Microsoft: Web Devlopement ASP.NET. http://msdn.microsoft.com/en-us/default.aspx (2009)

  28. Microsoft Corp.: ASP.NET. http://msdn.microsoft.com/ library (2000)

  29. Mohan C., Haderle D.J., Lindsay B.G., Pirahesh H., Schwarz P.M.: ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17(1), 94–162 (1992)

    Article  Google Scholar 

  30. Napper, J., Alvisi, L., Vin, H.: A fault-tolerant Java virtual machine. In: Proceedings of IEEE DSN, pp. 425–434 (2003)

  31. Narasimhan, P., Moser, L.E., Melliar-smith, P.M.: Enforcing determinism for the consistent replication of multithreaded CORBA applications. In: Proceedings of IEEE SRDS, p. 263 (1999)

  32. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: State synchronization and recovery for strongly consistent replicated CORBA objects. In: Proceedings of IEEE DSN, pp 261–270 (2001)

  33. Oracle.: Enterprise JavaBeans Technology. http://java.sun.com/products/ejb/ (2009)

  34. Oracle.: Oracle WebLogic Server. http://www.oracle.com/us/products/middleware/application-server/index.htm, (2009)

  35. Perez-Sorrosal, F., Patino-Martinez, M., Jimenez-Peris, R., Kemme, B.: Consistent and scalable cache replication for multi-tier J2EE applications. In: Middleware 2007, pp. 328–347. Springer Berlin, Heidelberg (2007)

  36. Perez-Sorrosal, F., Patino-Martinez, M., Jimenez-Peris, R., Vuckovic, J.: Highly available long running transactions and activities for J2EE applications. In: Proceedings of IEEE ICDCS, p 2, (2006)

  37. Ronsse M., Bosschere K., Mark C., Jacques C.K., Dieter K.: Record/replay for nondeterministic program executions. Commun. ACM 46(9), 62–67 (2003)

    Article  Google Scholar 

  38. Rudys, A., Wallach, D.S.: Transactional rollback for language-based systems. In: Proceedings of IEEE DSN, pp. 439–448 (2002)

  39. Salzberg, B., Tombroff, D.: DSDT: Durable scripts containing database transactions. In: Proceedings of IEEE ICDE, pp. 624–633 (1996)

  40. Strom R.E., Yemini S.: Optimistic recovery in distributed systems. ACM Trans.Comput. Syst. 3(3), 204–226 (1985)

    Article  Google Scholar 

  41. Wang, R., Salzberg, B., Lomet, D.: Log-based recovery for middleware servers. In: Proceedings of ACM SIGMOD, pp. 425–436 (2007)

  42. Wang, R., Salzberg, B., Lomet, D.: Transaction support for log-based middleware server recovery. In: Proceedings of IEEE ICDE, pp. 353–356 (2009)

  43. Wang, Y.-M., Chung, P.Y., Huang, Y., Elnozahy, E.N.: Integrating checkpointing with transaction processing. In: Proceedings of IEEE FTCS, pp. 304–308 (1997)

  44. Wu, H., Kemme, B.: Fault-tolerance for stateful application servers in the presence of advanced transactions patterns. In: Proceedings of IEEE SRDS, pp. 95–108 (2005)

  45. Zhao M.-W., Moser L.E., Melliar-Smith P.M.: Unification of transactions and replication in three-tier architectures based on CORBA. IEEE Trans. Dependable Secur. Comput. 2(1), 20–33 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rui Wang.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, R., Salzberg, B. & Lomet, D. Log-based middleware server recovery with transaction support. The VLDB Journal 20, 347–370 (2011). https://doi.org/10.1007/s00778-010-0199-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-010-0199-1

Keywords

Navigation