JRes: A Resource Accounting Interface for Java
Czajkowski, Grzegorz; von Eicken, Thorsten
In order to better support the Internet the computing model on server systems is undergoing several important changes. First, recent research ideas concerning dynamic operating system extensibility are finding their way into the commercial domain, resulting in designs of extensible databases and Web servers. Second, both ordinary users and service providers must deal with untrusted downloadable executable code of unknown origin and intentions. Across the board, Java has emerged as the language of choice for Internet-oriented software. We argue that, in order to realize its full potential in applications dealing with untrusted code, Java needs a flexible resource accounting interface. The design and prototype implementation of such an interface JRes - is presented in this paper. The interface allows to account for heap memory, CPU time, and network resources consumed by individual threads or collections of threads. JRes allows limits to be set on resources available to threads and it can invoke callbacks when these limits are exceeded. The JRes prototype described in this paper is implemented on top of standard Java virtual machines and requires only a small amount of native code.
computer science; technical report
Previously Published As