| P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code, in Proceedings of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, September 1998. |
....goals, such as portability and transparency: the next subsections are dedicated to describing these. 2.1 Portability and Transparency Portability is crucial for the success of any mobile agent platform. There are already some Java based systems o ering resource control facilities, suchasAlta[24], GVM [4] Ka eOS [1, 2] etc. However, they rely on modi ed Java runtime systems, which are not portable. As a result, these systems are not suited for large scale applications that have to support a wide variety of di erent hardware platforms and operating systems. Our goal is to provide a ....
....This means that optimizations found in compilers and standard JVMs are not bene ted from: in a recent publication [2] the authors report that, in absence of denial of service attack, IBM s compiler and JVM [20] is 2 5 times faster than theirs. Developed by the same team as Ka eOS, Alta [24] is a prototype based on the Fluke hierarchical process model, and implemented on the Ka e virtual machine. The main differences with Ka eOS are that a single garbage collector is responsible for all applications, and that Alta entirely respects the hierarchical process model of Flukebyproviding ....
P.Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In ###### ### ###### ######## ########,Sintra, Portugal, Sept. 1998.
....termination techniques. The goal of much of the prior related research has been to develop operating systems and system management components using the Java language to enable resource management and process protection through the use of Java type safety and load time verification mechanisms [5, 31, 40, 22, 46, 48, 11, 21, 27, 4]. Other related work has focused on mechanisms that ensure that the execution of mobile code will not unintentionally or maliciously harm the underlying systems. Such techniques include stack inspection [16] proof carrying code [42, 10, 9] software fault isolation [53] and code replacement ....
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code. In Proceedings of the Eighth ACM SIGOPS European Workshop on Support for Composing Distributed Applications, pages 111--117, Sintra, Portugal, 1998.
....allocated objects. Bytecode rewriting is a viable approach where changes to the underlying JVM cannot be done. However, it su#ers from high overhead. In addition, it makes resource accounting incomplete, because allocations within internal VM code cannot be accounted for. 6.1. 4 Alta The Alta [79, 80] system provides an environment that runs multiple applications in a single JVM that is modeled after the Fluke microkernel [36] The Fluke microkernel provides a nested process model, in which a parent process controls all aspects of its child process. It does so by interposing on the child s ....
Tullmann, P., and Lepreau, J. Nested Java processes: OS structure for mobile code. In Proceedings of the Eighth ACM SIGOPS European Workshop (Sintra, Portugal, September 1998), pp. 111--117.
....loop will still freeze the latest web browsers. The most successful systems to date either run the JVMs in separate processes or machines [55, 73] surrendering any performance benefits from running the JVM together with its host application, or create a processlike abstraction inside the JVM [7, 77, 43, 8, 20]. These process abstractions either complicate memory sharing among codelets or make it completely impossible. This thesis explores a series of new language run time system based mechanisms for terminating codelets. Although they are not specific to Java, they apply to Java, and we have ....
P. Tullman and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sept. 1998.
....functionality is provided by components, which implement units of functionaly. Environments serve as the new unifying abstraction: They are containers for stored tuples, components, and other environments, providing a combination of the roles served by file system directories and nested processes [5, 12, 24] in more traditional operating systems. Environments make it possible to group data and functionality when necessary. At the same time, they allow for data and functionality to evolve separately and for applications to store and exchange just data, thus avoiding the two problems associated with ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the 8th ACM SIGOPS European Workshop, pages 111--117, Sintra, Portugal, Sept. 1998.
....has concentrated on supporting multiple applications over a single VM. For example, how should applications be protected from one another [BH99] How should resource usage be accounted to applications [CvE98] and how can this accounting be handled fairly when applications are interacting [PT98, Men99] In contrast, this final section of the report describes how the design and implementation of a VM may benefit from the existing OS work on extensibility. The intention is to provide a system whose flexibility goes beyond the individual aspects discussed in Sections 2 to 4 and instead ....
J. Lepreau P. Tullmann. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, September 1998.
....are also an important mechanism for dynamic composition: an environment controls all nested environments and can interpose on their interactions with the kernel and the outside world. Environments thus represent a combination of the roles served by file system directories and nested processes [6, 18, 43] in more traditional operating systems. Figure 2 shows an example environment hierarchy. Access to both local and remote resources is controlled by leases [22] Leases limit the time applications can access resources, such as an environment s tuple storage or a communication channel, and force ....
....or rebinding after restoration or migration. The nesting of environments is relevant for the following three features. First, environments can be isolated from each other and are subject to hierarchical resource controls for CPU slices, memory, and tuple storage, similar to those described in [5, 43]. Second, logic to control checkpointing and migration can be separated into an outer environment, because checkpointing and migration affect an entire environment tree. For example, a migration agent that knows how to follow a user as she moves through the physical world can migrate any ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the 8th ACM SIGOPS European Workshop, pages 111--117, Sept. 1998.
....group stored data, application components, and hierarchically, other environments. They simplify management of users, their applications, and their data. They can be thought of as a combination of file system directories and nested processes in terms of more traditional operating systems [2, 3, 6]. They group related code and data so that they can be migrated together, for example. These abstractions are crucial to the implementation of the services that will be used by developers of ubiquitous computing applications. They provide an ability to compose applications dynamically. We ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the 8th ACM SIGOPS European Workshop, pages 111--117, Sept. 1998.
....goals, such as portability and transparency: the next subsections are dedicated to describing these. 3.1 Portability and Transparency Portability is crucial for the success of any mobile object platform. There are already some Java based systems o#ering resource control facilities, such as Alta [32], GVM [4] Ka#eOS [1, 2] etc. However, they rely on modified Java runtime systems, which are not portable. As a result, these systems are not suited for large scale applications that have to support a wide variety of di#erent hardware platforms and operating systems. Our goal is to provide a ....
....This means that optimizations found in compilers and standard JVMs are not benefited from: in a recent publication [2] the authors report that, in absence of denial of service attack, IBM s compiler and JVM [24] is 2 5 times faster than theirs. Developed by the same team as Ka#eOS, Alta [32] is a prototype based on the Fluke hierarchical process model, and 19 More precisely, CPU accounting in JRes is based on native threads, a feature not supported by every JVM. implemented on the Ka#e virtual machine. The main differences with Ka#eOS are that a single garbage collector is ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 1998.
....8 Related Work Our work on the J SEAL2 mobile agent micro kernel is related to work on protection in single language mobile code environments. Especially the Utah Flux Research Group has worked on the design and implementation of secure single address space operating systems implemented in Java [1, 2, 20]. Like J SEAL2, the Alta [2, 20] operating system is a micro kernel design. It provides a hierarchical process model supporting CPU accounting through CPU Inheritance Scheduling [9] where a process may donate some percentage of its CPU resources to nested child processes. However, the Alta ....
....mobile agent micro kernel is related to work on protection in single language mobile code environments. Especially the Utah Flux Research Group has worked on the design and implementation of secure single address space operating systems implemented in Java [1, 2, 20] Like J SEAL2, the Alta [2, 20] operating system is a micro kernel design. It provides a hierarchical process model supporting CPU accounting through CPU Inheritance Scheduling [9] where a process may donate some percentage of its CPU resources to nested child processes. However, the Alta design cannot be implemented in pure ....
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code. In Proceedings of the Eighth ACM SIGOPS European Workshop, September 1998. Available at http://www.cs.utah.edu/flux/papers/npmjava-esigops98web.ps.gz
....respect to the services that it embeds. The base Jvm is now operational, offering the necessary functionalities for the execution of Java applications. Notice that unlike traditional Jvms, the applications run concurrently within a single Jvm instance, in a way similar to the Java Os from Utah [11]. This has thus led us to integrate the necessary protection mechanisms within the base Jvm. 3 Middleware Services Considering the services offered by the middleware platform so as to enable the optimal usage of Pdas, it is clear that a large number of services may be envisioned. In the current ....
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code. In Eighth ACM SIGOPS European Workshop. http://www.cs.utah.edu/projects/flux, September 1998.
....loop will still freeze the latest Web browsers. The most successful systems to date either run the JVMs in separate processes or machines [23, 26] surrendering any performance benefits from running the JVM together with its host application, or create a process like abstraction inside the JVM [4, 28, 20, 5]. These process abstractions either complicate memory sharing or make it completely impossible. This paper describes a new language runtime based mechanism called soft termination. While it is not specific to Java, soft termination can be deployed on Java, and we present a Java based ....
P. Tullman and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sept. 1998.
....process. As a schedulable process by itself, each language interpreter VM needs to have one s own mechanisms to perform resource management with no support from the system hardware. CPU and memory management techniques in such a language based runtime system have been studied in the literature [69]. Bandwidth management issues also have been addressed in Joust 27 [68] While the former nested Java processes approach is applicable to Linux based softnode implementation, Joust on the other hand is not. This is due to Joust s strong dependency on the underlying OS Scout whose ....
Patrick Tullmann and Jay Lepreau, "Nested Java Processes: OS Structure for Mobile Code," In Proc. of the Eighth ACM SIGOPS European Workshop, September 1998.
....resource control becomes easier. The kernel is also responsible to ensure that all communication mechanisms are subject to the constraints imposed by protection, resource control and termination. 3. Case Study Here we compare 3 different Java operating systems: J Kernel [5] GVM [13] and Alta [16]. JKernel is an operating system developed by Cornell University, which is written entirely in Java. Both GVM and Alta come from University of Utah. To provide more powerful protection and Figure 2: Tradeoff between the protection resource management and communication resource management, GVM ....
P. Tullmann and J. Lepreau. Nested Java processes: OS Structure for Mobile Code. In Processing of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 1998.
....location, and open, which moves all contents of an environment into the enclosing environment and deletes the emptied environment. Furthermore, tasks can request to be notified when other environments are moved into or out of their environment. Like nested process structures in other systems [4, 10, 31], the hierarchical nesting of environments provides control. In particular, environments use leases [14] and quotas to limit the resources available to enclosed tasks, tuples, and other environments and to facilitate the e#ective reclamation of these resources. To ensure security, they also ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 1998.
....has concentrated on supporting multiple applications over a single VM. For example, how should applications be protected from one another [BH99] How should resource usage be accounted to applications [CvE98] and how can this accounting be handled fairly when applications are interacting [PT98, Men99] This paper describes a further area in which I believe the design and implementation of VMs can benefit from previous OS work. This area is extensibility. As I shall argue in Section 2, taking this approach in OS design has produced systems with improved performance and the flexibility ....
J. Lepreau P. Tullmann. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, September 1998.
....[8] uses binary rewriting techniques to fit resource management on top of a standard JVM. A drawback of this approach is that the JVM specification does not provide the necessary interfaces for measuring resource usage, or for controlling resource allocation and scheduling. An alternative approach [20, 5] is to modify the JVM to support resource control. However, since we do not wish Xenoservers to be restricted to executing only Java code, we prefer to exclude the JVM from the trusted codebase, and provide security and resource management underneath the JVM itself. This ensures that all resources ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sept. 1998.
....features the resource manager adds to the JVM [1] We claim that for extensible systems the presence of a resource manager is as vital as the class loader and the security manager. A similar conclusion with respect to the importance of resource management in Java has been reached by another group [9]. 3 The test suite consisted of JavaCC, Jigsaw, Caffeine Marks and a Lisp interpreter. The programs were executed on a 300 MHz Pentium II PC with 128 MB of RAM under Microsoft s Visual J version 1.1. Applications define resource policies different levels of resource privileges ....
Thullman, P and Lepreau, J. Nested Java Processes: OS Structure for Mobile Code. Proc. 8 th ACM SIGOPS European Workshop, Sintra, Portugal, September 1998.
....utilize their own algorithms for replication, communication, and mobility. The same problem occurs in other fields like parallel numeric applications [5] distributed multimedia, and distributed real time. On one hand, many recent approaches consider support for general purpose DOS applications [3, 10, 13]. They do not focus on providing basic mechanisms that could be shared to implement different distributed object models. For example, applications might benefit from relaxing concurrency control and enforcing state reconciliation recovery mechanisms; but they might want to do the opposite Most ....
....systems to support soft real time [16] are very close to what we need. The practical consequence will be a thiner middleware cooperating with the OS rather than fighting against it. 4 Related work Systems based on virtual machines and interpreters are slow and pose a number of security concerns [10, 13]. Other middleware based systems which build heavily on OS support impose their own distributed object implementation to every application [14, 13, 3] We explore distribution at a lower level of abstraction. Our physical resource protection model is comparable to TACOMA s resource containers [7] ....
[Article contains additional citation context not shown here]
Patrick Tullmann and Jay Lepreau. Nested Java Processes: OS Structure for Mobile Code. http://www.cs.utah.edu/projects/flexmach/java/alta.
....with software based ones. We use Java as our motivating example, but our discussion applies to more than just Java. Our arguments are applicable to both operating systems that use type safe languages for extensibility [5] and language runtime systems that are evolving towards operating systems [12, 18]. We show how the failure of Java to enforce a distinction between user and kernel results in non robust systems. Finally, we examine how the red line can be implemented in Java. 2. The Red Line Figure 1 illustrates how the traditional red line separates user mode and kernel mode in terms of ....
....is primarily targeted towards thwarting denial of service attacks in Java, and does not provide the functionality of our system. For example, they do not allow applications to share objects directly. The earliest work on using Java to support multiple processes came from Balfanz and Gong [2] Alta [18] and the JKernel [12] are systems that provide process abstractions in Java. These other researchers have not noted the necessity of providing a clear distinction between user and kernel modes. In JDK 1.2, JavaSoft [11] introduced the abstraction of protection domains, which represent separate ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the Eighth ACM SIGOPS European Workshop, pages 111--117, Sintra, Portugal, Sept. 1998. ACM.
No context found.
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proc. of the Eighth ACM SIGOPS European Workshop,pp. 111--117, Sintra, Portugal, Sept. 1998. 14
No context found.
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proc. of the Eighth ACM SIGOPS European Workshop, pp. 111--117, Sintra, Portugal, Sept. 1998. 14
....is portable across JVMs. The disadvantage of JRes (as compared to KaffeOS) is that Jres is a layer on top of a JVM; therefore, it cannot account for JVM resources consumed on the behalf of applications. Cornell is also exploring type systems that can support revocation directly [24] Alta [39, 40] is a Java virtual machine that enforces resource controls based on a nested process model. The nested process model in Alta allows processes to control the resources and environment of other processes, including the class namespace. Additionally, Alta supports a more flexible sharing model that ....
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code. In Proc. of the Eighth ACM SIGOPS European Workshop, pages 111--117, Sintra, Portugal, Sept. 1998.
....goal of allowing direct sharing. By giving each process a separate heap, many memory and CPU management resource issues become simpler. Sharing occurs through a shared system heap, and distributed garbage collection techniques are used to safely maintain sharing information. 4. 3 Alta Alta [44] is an extended Java Virtual Machine that provides a hierarchical process model and system API modeled after that provided by the Fluke microkernel. Fluke supports a nested process model [22] in which a process can manage all of the resources of child processes in much the same way that an ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proc. of the Eighth ACM SIGOPS European Workshop, pages 111--117, Sintra, Portugal, Sept. 1998.
....Alta on the Fluke process model, or nested process model, for several reasons. First, the model incorporates per process resource controls. Second, the nested process model infrastructure enables system services to be provided outside of the kernel, a feature appropriate for mobile code platforms [45]. Third, the model is a complete process model: it speci es interprocess communication and synchronization primitives in addition to the basic process abstraction. Finally, I have experience with Fluke [21, 22, 46, 47] Java was chosen as the host language for Alta because it provides the ....
Tullmann, P. A., and Lepreau, J. Nested Java processes: OS structure for mobile code. In Proceedings of the Eighth ACM SIGOPS European Workshop (Sintra, Portugal, Sept. 1998), ACM, pp. 111-117.
....goal of allowing direct sharing. By giving each process a separate heap, many memory and CPU management resource issues become simpler. Sharing occurs through a shared system heap, and distributed garbage collection techniques are used to safely maintain sharing information. 4. 2 Alta Alta [47] is an extended Java Virtual Machine that provides a hierarchical process model and system API modeled after that provided by the Fluke microkernel. Fluke supports a nested process model [21] in which a process can manage all of the resources of child processes in much the same way that an ....
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proc. of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 1998.
No context found.
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code, in Proceedings of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, September 1998.
No context found.
P. Tullmann and J. Lepreau. Nested Java Processes: OS Structure for Mobile Code, in Proceedings of the Eighth ACM SIGOPS European Workshop, Sintra, Portugal, September 1998.
No context found.
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In Eighth ACM SIGOPS European Workshop, Sintra, Portugal, 1998.
No context found.
P. Tullmann and J. Lepreau. Nested Java processes: OS structure for mobile code. In ACM SIGOPS European Workshop, pages 111--117, Sintra, Portugal, September 1998.
No context found.
P. Tullman and J. Lepreau. Nested Java processes: OS structure for mobile code. In Proceedings of the 8th ACM SIGOPS European Workshop, September 1998.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC