Experience with secure multi-processing in Java

As the Java/sup TM/ platform is the preferred environment for the deployment of network computers, it is appealing to run multiple applications on a single Java enabled desktop. We experimented with using the Java platform as a multiprocessing, multi user environment. Although the Java Virtual Machine (JVM) is not inherently a single application design, we have found that the implementation of the Java Development Kit (JDK) often implicitly assumes that the JVM runs exactly one application at any one time. We report on the limitations we encountered and propose improvements to several aspects of the Java technology architecture, including its security features. We have implemented all the proposed changes in a prototype based on an in-house beta version of JDK 1.2. Our prototype uses a Bourne shell like command line tool to launch multiple applications (such as Appletviewer) within one JVM.