Purpose domain for low overhead virtual machines
First Claim
1. A computer comprising:
- a memory;
a processor communicably coupled to the memory; and
a virtual machine monitor communicably coupled to the memory and the processor, the virtual machine monitor to;
virtualize the memory and the processor for a set of virtual domains provided by the virtual machine monitor;
receive a request to start an applet from a first virtual domain of the set of virtual domains;
create a second virtual domain to start and execute the applet in response to the received request; and
incorporate a byte code interpreter in address space of a kernel of an operating system of the second virtual domain, the operating system of the second virtual domain to run byte code interpreted applications comprising at least the applet using the byte code interpreter, wherein the kernel to access hardware of the computer through a platform independent interface provided by the virtual machine monitor.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide an architecture for securely and efficiently executing byte code generated from a general programming language. In particular, a computer system is divided into a hierarchy comprising multiple types of virtual machines. A thin layer of software, known as a virtual machine monitor, virtualizes the hardware of the computer system and emulates the hardware of the computer system to form a first type of virtual machine. This first type of virtual machine implements a virtual operating domain that allows running its own operating system. Within a virtual operating domain, a byte code interpreter may further implement a second type of virtual machine that executes byte code generated from a program written in a general purpose programming language. The byte code interpreter is incorporated into the operating system running in the virtual operating domain. In addition, an operating system running in a virtual operating domain may be configured as a special purpose operating system that is optimized for the functions of a particular byte code interpreter.
-
Citations
17 Claims
-
1. A computer comprising:
-
a memory; a processor communicably coupled to the memory; and a virtual machine monitor communicably coupled to the memory and the processor, the virtual machine monitor to; virtualize the memory and the processor for a set of virtual domains provided by the virtual machine monitor; receive a request to start an applet from a first virtual domain of the set of virtual domains; create a second virtual domain to start and execute the applet in response to the received request; and incorporate a byte code interpreter in address space of a kernel of an operating system of the second virtual domain, the operating system of the second virtual domain to run byte code interpreted applications comprising at least the applet using the byte code interpreter, wherein the kernel to access hardware of the computer through a platform independent interface provided by the virtual machine monitor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving, by a virtual machine monitor of a computing device, a request from an applet that is executing in a first virtual domain of a set of virtual domains provided by the virtual machine monitor, wherein execution of the applet was requested by a second virtual domain of the set of virtual domains but directed by the virtual machine monitor to be executed by the first virtual domain; servicing, by the virtual machine monitor, the request from the applet; and sending, by the virtual machine monitor, a result of the request to the applet; wherein the first virtual domain comprises a byte code interpreter in address space of a kernel of a special-purpose operating system of the first virtual domain, the special-purpose operating system of the first virtual domain to run byte code interpreted applications comprising at least the applet using the byte code interpreter, wherein the kernel to access hardware of the computer through a platform independent interface provided by the virtual machine monitor. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving, by a virtual machine monitor of a computing device, a request to start an applet from a first virtual domain of a set of virtual domains provided by the virtual machine monitor; creating, by the virtual machine monitor, a second virtual domain for running the applet; incorporate a byte code interpreter in address space of a kernel of an operating system of the second virtual domain, the operating system of the second virtual domain, to run byte code interpreted applications comprising at least the applet using the byte code interpreter, wherein the kernel to access hardware of the computer through a platform independent interface provided by the virtual machine monitor; and starting, by the virtual machine monitor, the applet in the second virtual domain, wherein the applet runs in the operating system of the second virtual domain. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification