Java Specification Request 284 (http://jcp.org/en/jsr/detail?id=284), which features an API for partitioning resources among applications and querying about resource availability, was published in an early draft form late in August. Officially known as the Resource Management Consumption API, JSR 284 is considered important to evolving Java to allow for better system management. It also will provide a means for exposing various resources.
"It is important because, right now, when people like to run computations inside the Java Virtual machine (JVM), they have extremely crude ways to manage resources," says Grzegorz Czajkowski, the specification lead on JSR 284, and an engineer at Google. Czajkowski formerly was a senior staff engineer at Sun Microsystems.
"You can control the JVM process through OS controls, but there is not a lot that you can do within the JVM itself," Czajkowski says.
The JSR document notes the criticality of what JSR 284 attempts to provide.
"Software systems in many circumstances need awareness of their resource usage. Meeting performance requirements often requires the ability to manage consumption of resources provided by the environment. Resource management is traditionally handled by operating systems, but the growing need to use the Java platform in the systems programming domain adds increased pressure to equip it with resource management capabilities at a level of abstraction that fits gracefully with the language.
"Preventing denial of service attacks, providing load-balancing, and monitoring the usage of a given resource are all difficult to do in the current version of the Java platform. In general, these and other features cannot be provided without going beyond the Java language proper, through mechanisms such as native code or shell scripts that ask the OS to handle matters related to resource management. The lack of a standard, programmatic way to partition resources available to virtual machine(s) among Java applications has led to a number of ad-hoc solutions," the document reads.
A public draft of JSR 284 is expected in early-November, with a three-week voting period likely for December. The specification could be completed by January.
|