Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Enhancing Java server availability with JAS

Published: 01 June 2001 Publication History

Abstract

The Java programming language is increasingly used in the implementation of servers with stringent availability, reliability, and performance requirements. Our Java Application Supervisor (JAS) software system is an attachment to a Java runtime environment that enhances the availability of a target Java program. To this end, JAS automatically detects and resolves certain reliability and perfromance problems during the execution of the target program. JAS does not require any source or byte code modifications in the target program. Instead, JAS is configured for a target program by supplying simple policies that determine how JAS reacts to problems during the target program execution. JAS typically imposes little execution time and memory overhead on the target program. We describe an experiment with a Web proxy that exhibits reliability and performance problems under heavy load. In this experiment, running the proxy in conjunction with JAS increased the rate of successful requests to the proxy by 33% and decreased the average request processing time by 22%. JAS was also used successfully in two Java servers at Bell Labs to monitor server reliability and performance and ensure long-term availability. Copyright 2001 John Wiley & Sons, Ltd.

References

[1]
Klemm R, Singh N. JAS: a lightweight system for Java application supervision. Technical Report,Bell Laboratories, May 1999.
[2]
Lyu MR (ed.) Software Fault Tolerance (Trends in Software). John Wiley & Sons: Chichester, UK, 1995.
[3]
Huang Y, Kintala CMR. Software fault tolerance in the application layer. Software Fault Tolerance (Trends in Software) ch. 10, Lyu MR (ed.). John Wiley & Sons: Chichester, UK, 1995.
[4]
Christian F. Exception handling and tolerance of software faults. Software Fault Tolerance (Trends in Software) ch. 4, Lyu MR (ed.). John Wiley & Sons: Chichester, UK, 1995.
[5]
Plattner B. Real-time execution monitoring. IEEE Transactions on Software Engineering 1984; SE-10(6): 756-764.
[6]
DiMaio A. Ceri S. Crespi Reghizzi S. Execution monitoring and debugging tool for ADA using relational algebra. Proceedings of the ADA International Conference on ADA in Use,1985; 109-123.
[7]
Marzullo, K, Cooper R, Wood M. Birman K. Tools for distributed application management. IEEE Computer 1991; 24(8): 42-51.
[8]
Huang Y, Chung PE, Kintala CMR, Wang CY, Liang D-R. NT-SwiFT: software implemented fault tolerance on Windows NT. Proceedings of the 2nd USENIX Windows NT Symposium, pp.47-55, Seattle, WA, USA, 1998.
[9]
Legato Systems Inc. Legato Cluster, http://www.legato.com.
[10]
Klemm R. WebCompanion: a friendly client-side web prefetching agent. IEEE Transactions on Knowledge and Data engineering 1999; 11(4): 577-594.
[11]
Sun Microsystems Inc. Java Virtual Machine Profiler Interface, Java native interface. http://www.javasoft.com.
[12]
World Wide Web Consortium. Jigsaw. http://www.w3.org/Jigsaw.
[13]
Object Management Group. Fault Tolerant CORBA Specification, OMG Document orbos/99-12-08 edition, December 1999.

Recommendations

Reviews

Sajjad A. Khan

The JAS software system for monitoring Java programs with high availability and performance requirements is introduced in this paper. JAS is an external lightweight supervisor for Java applications that operates during runtime without any byte code modifications, and without affecting the functionality of an application. The authors have substantiated their claims by using experimental results with a Web proxy, simulating reliability and performance problems under heavy load scenarios. The quantified performance improvement was 33 percent, and request time decreased by 22 percent. Due to the lack of an existing Java Virtual Machine (JVM) with a built-in application supervisor, the authors faced some challenges when designing this system. In section 2, a good comparison of JAS features is provided, which helps put their work into perspective with other implementations. Although quantitative comparison was not possible with benchmark or real-time systems, the authors describe in detail the main features, limitations, and events that can be detected by the current JAS implementation. The JAS seems suitable for detecting problems like frequent running of garbage collector, and when threads exceed their threshold. Configuration of the JAS for a target application is also described in detail; specifically, thread policy specifications, system specifications, and front-end specifications. Overall, this paper contains a great deal of detail on the performance effectiveness of JAS in a typical experimental situation. However, the results obtained in this environment need to be extrapolated with caution to other real life environments, where JVM and hardware speed, the number of thread classes specified in the JAS configuration, and the total number of JAS related events generated by the target application may vary. Overall, this is a great effort to describe a system written for Java servers that has the potential to enhance performance and reliability. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Software—Practice & Experience
Software—Practice & Experience  Volume 31, Issue 7
June 2001
99 pages

Publisher

John Wiley & Sons, Inc.

United States

Publication History

Published: 01 June 2001

Author Tags

  1. Java
  2. availability
  3. performance
  4. program supervision
  5. servers

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Sep 2024

Other Metrics

Citations

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media