Skip to main content
Log in

Elastic SI-Cache: consistent and scalable caching in multi-tier architectures

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

Abstract

The new vision of cloud computing demands scalable, available and autonomic software platforms in order to deploy applications and services accessible anywhere and anytime. Multi-tier architectures are an important building block for many applications that are deployed in the cloud. This paper presents a novel caching and replication infrastructure that facilitates the scalable and elastic deployment of multi-tier architectures. Our Elastic SI-Cache is a novel multi-version cache that attains high performance and consistency in multi-tier systems. In contrast to most existing caches, Elastic SI-Cache provides snapshot isolation coherently across all tiers. Furthermore, Elastic SI-Cache supports scalable replication of the different tiers where replicas can be added or removed dynamically as needed, making the cache amenable for cloud computing environments. Elastic SI-Cache has been implemented and integrated into an open source JEE application server and its performance evaluated with the industrial benchmark SPECjAppServer.

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.

Similar content being viewed by others

References

  1. Adya, A.: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis, M.I.T. Lab. for C.S., Cambridge, MA. http://www.pmg.lcs.mit.edu/~adya/pubs/phd.pdf (1999)

  2. Apache HTTP Server. http://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html

  3. Attar M.H.S., Özsu M.T.: Alternative architectures and protocols for providing strong consistency in dynamic web applications. World Wide Web Journal 9(3), 215–251 (2006)

    Article  Google Scholar 

  4. Ban, B.: JGroups http://www.jgroups.org

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

    Article  Google Scholar 

  6. Barga, R.S., Lomet, D.B., Weikum, G.: Recovery guarantees for general multi-tier applications. In: International Conference on Data Engineering (ICDE), pp 543–554 (2002)

  7. Berenson, H. et al.: A critique of ANSI SQL isolation levels. In: International Conference on Management of Data (SIGMOD) (1995)

  8. Bernstein, P.A. et al.: Relaxed-currency serializability for middle-tier caching and replication. In: International Conference on Management of Data (SIGMOD), pp. 599–610 (2006)

  9. Buzato, L.E., Vieira, G.M.D., Zwaenepoel, W.: Dynamic content web applications: crash, failover, and recovery analysis. In: International Conference on Dependable Systems and Networks (DSN) (2009)

  10. Chockler G., Keidar I., Vitenberg R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33(4), 427–469 (2001)

    Article  Google Scholar 

  11. Frølund, S., Guerraoui, R.: A pragmatic implementation of E-transactions. In: International Symposium on Reliable Distributed Systems (SRDS) (2000)

  12. Frølund, S., Guerraoui, R.: X-ability: a theory of replication. In: Symposium on Principle of Distributed Computing (PODC)

  13. WebSphere Application Server. http://www-01.ibm.com/software/webservers/appserv/was/

  14. Jiménez-Peris, R., Patiño-Martínez, M., Alonso, G.: Non-intrusive, parallel recovery of replicated data. In: International Symposium on Reliable Distributed Systems (SRDS) (2002)

  15. Jiménez-Peris R., Patiño-Martínez M., Alonso G., Kemme B.: Are quorums an alternative for data replication?. ACM Trans. Database Syst. 28(3), 257–294 (2003)

    Article  Google Scholar 

  16. Kemme, B., Bartoli, A., Babaoglu, Ö.: Online reconfiguration in replicated databases based on group communication. In: International Conference on Dependable Systems and Networks (DSN), pp. 117–130 (2001)

  17. Kemme, B., Jiménez-Peris, R., Patiño-Martínez, M., Salas, J.: Exactly once interaction in a multi-tier architecture. In: VLDB Workshop on Design, Implementation and Deployment of Database Replication (2005)

  18. Lau, E., Madden, S.: An integrated approach to recovery and high availability in an updatable, distributed data warehouse. In: International Conference on Very Large Data Bases (VLDB) (2006)

  19. Leff, A., Rayfield, J.T.: Improving application throughput with enterprise javaBeans caching. In: International Conference on Distributed Computing Systems (ICDCS) (2003)

  20. Liang, W., Kemme, B.: Online recovery in cluster databases. In: International Conference on Extending Database Technology (EDBT) (2008)

  21. Lin Y., Kemme B., Jiménez-Peris R., Patiño-Martínez M., Armendáriz-Iñigo J.E.: Snapshot isolation and integrity constraints in replicated databases. ACM Trans. Database Syst. 34(2), 1–49 (2009)

    Article  Google Scholar 

  22. Lin, Y., Kemme, B., Patiño-Martínez, M., Jiménez-Peris, R.: Middleware based data replication providing snapshot isolation. In: International Conference on Management of Data (SIGMOD), pp. 419–430. ACM Press, New york (2005)

  23. Luo, Q. et al.: Middle-tier database caching for e-business. In: International Conference on Management of Data (SIGMOD), pp. 600–611 (2002)

  24. Microsoft Corporation: Phoenix: Making Applications Robust. http://research.microsoft.com/en-us/projects/phoenix-ap/default.aspx

  25. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: State synchronization and recovery for strongly consistent replicated CORBA objects. In: International Conference on Dependable Systems and Networks (DSN) (2001)

  26. Narasimhan P., Moser L.E., Melliar-Smith P.M.: Eternal—a component-based framework for transparent fault-tolerant CORBA. Softw. Pract. Exp. 32(8), 771–788 (2002)

    Article  MATH  Google Scholar 

  27. Objectweb Consortium: JOnAS Application Server. http://jonas.objectweb.org

  28. Oracle/BEA Corporation: Oracle/WebLogic Application Server. http://www.oracle.com/us/products/middleware/application-server/index.htm

  29. Oracle/Tangosol Corporation: Coherence. http://www.oracle.com/us/products/middleware/coherence/index.htm

  30. Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Kemme, B.: Consistent and scalable cache replication for multi-tier J2EE applications. In: ACM/IFIP/USENIX International Middleware Conference, pp. 328–347 (2007)

  31. Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Vuckovic, J.: Highly available long running transactions and activities for J2EE applications. In: International Conference on Distributed Computing Systems (ICDCS) (2006)

  32. Plattner, C., Alonso, G., Tamer Özsu, M.: Dbfarm: a scalable cluster for multiple databases. In: Middleware, pp. 180–200 (2006)

  33. Ports, D.R.K. et al.: Transactional consistency and automatic management in an application data cache. In: USENIX Symposium on Operating Systems Design and Implementation (OSDI) (2010)

  34. PostgreSQL DBMS: http://www.postgresql.org

  35. Red Hat: JBoss Application Server. http://www.jboss.com

  36. Red Hat: JBoss Cache. http://labs.jboss.com/jbosscache/

  37. Salas, J., Jiménez-Peris R., Patiño-Martínez M., Kemme, B.: Lightweight Reflection for Middleware-based Database Replication. In: International symposium on reliable distributed systems (SRDS), pp. 377–390 (2006)

  38. Soundararajan, G., Amza, C., Goel, A.: Database replication policies for dynamic content applications. In: EuroSys, pp. 89–102 (2006)

  39. SPEC: SPECjAppServer Benchmark. http://www.spec.org/jAppServer/ (2004)

  40. Sun Microsystems: JEE specification v5. http://java.sun.com/javaee/ (2006)

  41. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Los Altos (2001)

  42. Wu, H., Kemme, B.: Fault-tolerance for stateful application servers in the presence of advanced transactions patterns. In: International Symposium on Reliable Distributed Systems (SRDS) (2005)

  43. Wu, H., Kemme, B.: Showing correctness of a replication algorithm in a component based system. In: IDEAS (2008)

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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marta Patiño-Martinez.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Perez-Sorrosal, F., Patiño-Martinez, M., Jimenez-Peris, R. et al. Elastic SI-Cache: consistent and scalable caching in multi-tier architectures. The VLDB Journal 20, 841–865 (2011). https://doi.org/10.1007/s00778-011-0228-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-011-0228-8

Keywords

Navigation