Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3291))

Abstract

Replication has been widely used in J2EE servers for reliability and scalability. There are two properties which are important for a stateful J2EE application server. Firstly, the state of the server and the state of the backend databases should always be consistent. Secondly, each request from a client should be executed exactly once. In this paper, we propose a replication algorithm that provides both properties. We use passive replication where a primary server executes a request, and all state changed within the application server by this request is sent to the backup replicas at the end of the execution. An agreement protocol guarantees the consistency between the state of all replicas and the database. A client side communication stub automatically resubmits requests in case of failures, and unnecessary resubmissions are detected by the server replicas. We have implemented the algorithm and integrated it into the JBoss application server. A performance study using the ECPerf benchmark shows the feasibility of our approach.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Amza, C., Cox, A.L., Zwaenepoel, W.: Distributed versioning: Consistent replication for scaling back-end databases of dynamic content web sites. In: Proc. of Int. Middleware Conf., Rio de Janeiro, Brazil (2003)

    Google Scholar 

  2. Barga, R., Lomet, D., Weikum, G.: Recovery guarantees for general multi-tier applications. In: Proc. of the Int. Conf. on Data Engineering (ICDE), San Jose, California (2002)

    Google Scholar 

  3. Bartoli, A., Calabrese, C., Prica, M., Antoniutti Di Muro, E., Montresor, A.: Adaptive message packing for group communication systems. In: OTM Workshop on Reliable and Secure Middleware, Catania, Sicily, Italy (2003)

    Google Scholar 

  4. Bartoli, A., Maverick, V., Patarin, S., Wu, H.: A Framework for Prototyping J2EE Replication Algorithms. In: Proc. of the Int. Symposium on Distributed Objects and Applications (DOA), Agia Napa, Cyprus (2004)

    Google Scholar 

  5. Bartoli, A., Prica, M., Antoniutti Di Muro, E.: A replication framework for program-to-program interaction across unreliable networks and its implementation in a servlet container. Technical report, DEEI, University of Trieste, Italy (2004)

    Google Scholar 

  6. BEA Systems Inc. BEA WebLogic Server, release 7.0: Programming WebLogic Enterprise JavaBeans (September 2002)

    Google Scholar 

  7. Cecchet, E., Marguerite, J., Zwaenepoel, W.: Performance and scalability of EJB applications. In: Proc. of OOPSLA, Seattle, Washington (2002)

    Google Scholar 

  8. Cecchet, E., Marguerite, J., Zwaenepoel, W.: Partial replication: Achieving scalability in redundant arrays of inexpensive databases. In: Proc. of Int. Conf. on Principles of Distributed Systems, La Martinique, French West Indies (2003)

    Google Scholar 

  9. Center for Networking and Distributed Systems (CNDS), Johns Hopkins University. The Spread toolkit, http://www.spread.org/

  10. Chockler, G.V., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Computing Surveys 33(4) (2001)

    Google Scholar 

  11. Frølund, S., Guerraoui, R.: A pragmatic implementation of e-transactions. In: Proc. of Symp. on Reliable Distributed Systems (SRDS), Nürnberg, Germany (2000)

    Google Scholar 

  12. Frølund, S., Guerraoui, R.: X-ability: a theory of replication. In: Proc. of Symp. on Principles of Distributed Computing (PODC), Portland, Oregon, USA (2000)

    Google Scholar 

  13. The JBoss Group. JBoss application server, http://www.jboss.org

  14. The JBoss Group. JBoss Clustering (2002)

    Google Scholar 

  15. Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B., Alonso, G.: Scalable database replication middleware. In: Proc. of Int. Conf. on Distributed Computing Systems (ICDCS), Vienna, Austria (2002)

    Google Scholar 

  16. Kemme, B., Alonso, G.: A new approach to developing and implementing eager database replication protocols. ACM Trans. on Database Systems 25(3) (2000)

    Google Scholar 

  17. Kistijantoro, A.I., Morgan, G., Shrivastava, S.K., Little, M.C.: Component replication in distributed systems: a case study using Enterprise Java Beans. In: Proc. of the Symp. on Reliable Distributed Systems (SRDS), Florence, Italy (2003)

    Google Scholar 

  18. Moser, L.E., Melliar-Smith, P.M., Narasimhan, P.: A fault tolerance framework for CORBA. In: Proc. of the Int. Symp. on Fault-Tolerant Computing, Washington, DC, USA (1999)

    Google Scholar 

  19. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: State synchronization and recovery for strongly consistent replicated CORBA objects. In: Proc. of the Int. Conf. on Dependable Systems and Networks, Göteborg, Sweden (2001)

    Google Scholar 

  20. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: Strongly consistent replication and recovery of fault-tolerant CORBA applications. Journal of Computer System Science and Engineering 32(8) (2002)

    Google Scholar 

  21. Object Management Group. Fault Tolerant CORBA Specification (December 1999)

    Google Scholar 

  22. Pramati Technologies Private Limited. Pramati Server 3.0 Administration Guide (2002), http://www.pramati.com

  23. SUN Microsystems Inc. JAVA 2 Platform Enterprise Edition Specification, V1.3 (October 2000)

    Google Scholar 

  24. SUN Microsystems Inc. ECperfTM specification, V1.1, final release (2003), http://java.sun.com/j2ee/ecperf

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wu, H., Kemme, B., Maverick, V. (2004). Eager Replication for Stateful J2EE Servers. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. OTM 2004. Lecture Notes in Computer Science, vol 3291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30469-2_35

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30469-2_35

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23662-7

  • Online ISBN: 978-3-540-30469-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics