ABSTRACT
Distributed systems are now widely accepted as a solution to many computing needs. A common distributed system architecture style used today is the three-tiered client-server style; and, a popular technology that realizes this style is the Java Platform, Enterprise Edition (Java EE) Enterprise JavaBeans (EJB) technology. Basic EJB-based tiered architectures, however, do not address dependability requirements completely. This paper reports on experiences in expanding a basic EJB-based three-tiered client-server architecture to incorporate an active replication strategy to address reliability and performance concerns. The strategy was developed by formally modeling the component interactions in an actively-replicated server environment and refining that formal model into an extended EJB-based system architecture and implementation. Performance statistics are presented that show the success of the active replication approach for achieving improved reliability and performance with tradeoffs between these two important system qualities.
- Java Naming and Directory Interface. http://java.sun.com/products/jndi/.Google Scholar
- Java Platform, Enterprise Edition. http://java.sun.com/javaee/.Google Scholar
- Java Platform, Enterprise Edition Enterprise JavaBeans Technology. http://java.sun.com/products/ejb/.Google Scholar
- Java Remote Method Invocation. http://java.sun.com/products/jdk/rmi/.Google Scholar
- JBoss Application Server. http://www.jboss.org.Google Scholar
- JBoss Application Server ExternalContext MBean. http://wiki.jboss.org/wiki/Wiki.jsp?page=ExternalContextMBean.Google Scholar
- J.-C. L. A. Avizienis and B. Randell. Fundamental Concepts of Dependability. Technical Report 739, University of Newcastle upon Tyne, School of Computing Science, 2001.Google Scholar
- D. E. Bakken, Z. Zhan, C. C. Jones, and D. A. Karr. Middleware Support for Voting and Data Fusion. In DSN '01: Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS), pages 453--462, Washington, DC, USA, 2001. IEEE Computer Society. Google ScholarDigital Library
- L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995. Google ScholarDigital Library
- M. C. Little and D. L. McCue. The Replica Management System: A Scheme for Flexible and Dynamic Replication. Technical report, 1994. Google ScholarDigital Library
- L. E. Moser, P. M. Melliar-Smith, and P. Narasimhan. Consistent Object Replication in the Eternal System. Theor. Pract. Object Syst., 4(2):81--92, 1998. Google ScholarDigital Library
- J. L. Peterson. Petri Nets. ACM Comput. Surv., 9(3):223--252, 1977. Google ScholarDigital Library
- F. B. Schneider. Implementing Fault-tolerant Services Using the State Machine Approach: A Tutorial. ACM Comput. Surv., 22(4):299--319, 1990. Google ScholarDigital Library
Index Terms
- Experiences in engineering active replication into a traditional three-tiered client-server system
Recommendations
Fully Distributed Three-Tier Active Software Replication
Keeping strongly consistent the state of the replicas of a software service deployed across a distributed system prone to crashes and with highly unstable message transfer delays (e.g., the Internet), is a real practical challenge. The solution to this ...
Comments