JKernel and JServer Overview

The J-Kernel is a Java implementation of the ideas developed in the Safe Language Kernel (SLK) project, which explores the use of safe language technology to provide protection within a single address space. In a safe language one "piece of code" can be protected from another one by controlling the namespaces and by being careful about handing pointers to data structures around. Java is the most widespread safe language and web browsers use the language features to protect downloaded applets from each other. However, the lanague itself does not provide enough features to implement a more generalized system, where, for example, applets communicate with each other safely. The J-Kernel extends the underlying Java Virtual Machine (JVM) with features common in more traditional operating systems, such as rights revocation, thread protection, resource management, and support for domain termination.

The J-Kernel forms the core of the system and provides multiple protection domains within a single Java VM. The J-Kernel core is written entirely in Java and relies on properties of the language, on custom class loaders, and on "on-the-fly" bytecode rewriting techniques to implement these protection domains. The core runs on Sun's VM as well as on Microsoft's.

The J-Server is an application of the J-Kernel that extends Microsoft's web server (IIS) to allow users to upload Java code (called servlets) that service HTTP requests. This allows arbitrary users to build web sites that contain dynamic content, i.e., where code is run in order to service requests. The difference to CGI or ISAPI scripts is that the servlets are safe to run for the server: users cannot perform arbitrary functions that could impact its integrity.

Please use the table of contents frame to navigate the J-Kernel and J-Server documentation.

June 15th, 1998
Department of Computer Science
Cornell University

Funding for the project is provided through a DARPA ITO contract (ONR contract N00014-92-J-1866).


Next: release contents

Home