Extending a J2EETM Server with Dynamic and Flexible Resource Management

The Java™ 2 Platform, Enterprise Edition (J2EE™) is the standard platform for hosting enterprise applications written in the Java programming language. A single J2EE server can support multiple applications much like a traditional operating system, but performance levels can be difficult to control, due to the absence of resource management facilities in the Java platform. The Resource Management (RM) interface addresses this problem by providing a flexible and extensible framework for managing resources that is applicable across a broad spectrum, from low-level resources like CPU time to higherlevel resources such as database connections. RM has been implemented in the Multi-tasking Virtual Machine (MVM), a scalable operating environment for multiple applications based on the concept of isolated computations. This paper describes the application of MVM and RM to the management of resources in a J2EE Server and shows that application performance can be controlled flexibly and easily with low overhead and minimal intrusion.

[1]  Gordon S. Blair,et al.  A Resource Adaptation Framework For Reflective Middleware , 2003, Middleware Workshops.

[2]  Guy L. Steele,et al.  Java Language Specification, Second Edition: The Java Series , 2000 .

[3]  Gilda Pour Java 2 Platform Enterprise Edition (J2EE) for Building Web-Based Enterprise Applications , 2001, TOOLS.

[4]  Grzegorz Czajkowski,et al.  A resource management interface for the Java™ platform , 2005 .

[5]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[6]  Larry Peterson,et al.  Defensive programming: using an annotation toolkit to build DoS-resistant software , 2002, OSDI '02.

[7]  Laurent Daynès,et al.  Scaling J2EE™ application servers with the Multi‐tasking Virtual Machine , 2006, Softw. Pract. Exp..

[8]  Laurent Daynès,et al.  Scaling J2EE™ application servers with the multi-tasking virtual machine , 2006 .

[9]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[10]  Grzegorz Czajkowski,et al.  A resource management interface for the Java™ platform , 2005, Softw. Pract. Exp..

[11]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[12]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[13]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[14]  Walter Binder,et al.  Portable resource control in Java , 2001, OOPSLA '01.

[15]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .

[16]  J. Steven Perry,et al.  Java Management Extensions , 2002 .

[17]  David E. Culler,et al.  SEDA: An Architecture for Scalable, Well-Conditioned Internet Services , 2001 .

[18]  Larry L. Peterson,et al.  Defensive programming , 2002, OSDI.

[19]  Peter Druschel,et al.  Better operating system features for faster network servers , 1998, PERV.

[20]  Thorsten von Eicken,et al.  JRes: a resource accounting interface for Java , 1998, OOPSLA '98.

[21]  Wilson C. Hsieh,et al.  Processes in KaffeOS: isolation, resource management, and sharing in java , 2000, OSDI.

[22]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .