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.
Similar content being viewed by others
References
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)
Apache HTTP Server. http://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html
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)
Ban, B.: JGroups http://www.jgroups.org
Barga R.S., Lomet D.B., Shegalov G., Weikum G.: Recovery guarantees for internet applications. ACM Trans. Inter. Technol. 4(3), 289–328 (2004)
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)
Berenson, H. et al.: A critique of ANSI SQL isolation levels. In: International Conference on Management of Data (SIGMOD) (1995)
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)
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)
Chockler G., Keidar I., Vitenberg R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33(4), 427–469 (2001)
Frølund, S., Guerraoui, R.: A pragmatic implementation of E-transactions. In: International Symposium on Reliable Distributed Systems (SRDS) (2000)
Frølund, S., Guerraoui, R.: X-ability: a theory of replication. In: Symposium on Principle of Distributed Computing (PODC)
WebSphere Application Server. http://www-01.ibm.com/software/webservers/appserv/was/
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)
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)
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)
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)
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)
Leff, A., Rayfield, J.T.: Improving application throughput with enterprise javaBeans caching. In: International Conference on Distributed Computing Systems (ICDCS) (2003)
Liang, W., Kemme, B.: Online recovery in cluster databases. In: International Conference on Extending Database Technology (EDBT) (2008)
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)
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)
Luo, Q. et al.: Middle-tier database caching for e-business. In: International Conference on Management of Data (SIGMOD), pp. 600–611 (2002)
Microsoft Corporation: Phoenix: Making Applications Robust. http://research.microsoft.com/en-us/projects/phoenix-ap/default.aspx
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)
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)
Objectweb Consortium: JOnAS Application Server. http://jonas.objectweb.org
Oracle/BEA Corporation: Oracle/WebLogic Application Server. http://www.oracle.com/us/products/middleware/application-server/index.htm
Oracle/Tangosol Corporation: Coherence. http://www.oracle.com/us/products/middleware/coherence/index.htm
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)
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)
Plattner, C., Alonso, G., Tamer Özsu, M.: Dbfarm: a scalable cluster for multiple databases. In: Middleware, pp. 180–200 (2006)
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)
PostgreSQL DBMS: http://www.postgresql.org
Red Hat: JBoss Application Server. http://www.jboss.com
Red Hat: JBoss Cache. http://labs.jboss.com/jbosscache/
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)
Soundararajan, G., Amza, C., Goel, A.: Database replication policies for dynamic content applications. In: EuroSys, pp. 89–102 (2006)
SPEC: SPECjAppServer Benchmark. http://www.spec.org/jAppServer/ (2004)
Sun Microsystems: JEE specification v5. http://java.sun.com/javaee/ (2006)
Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Los Altos (2001)
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)
Wu, H., Kemme, B.: Showing correctness of a replication algorithm in a component based system. In: IDEAS (2008)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00778-011-0228-8