Methods and apparatus for constructing a secure and flexible operating system
AssigneeOpen Kernel Labs
InventorJoshua Scott Matthews
Life of this patent
Estimating the term…
Abstract
The present disclosure provides methods and apparatus for constructing a secure and flexible operating system. The presently disclosed system executes different user applications in different operating systems on different virtual machines. Each user application communicates with other processes via the hypertext transfer protocol (HTTP). In particular, each user application's user interface is implemented in a web browser that is running in its own operating system on its own virtual machine, and each user application interacts with the user interface by exchanging HTTP messages between the virtual machines.
Claims21
A method of constructing a secure and flexible operating system, the method comprising:
- installing a microkernel on a computing device;
- executing a first user application in a first operating system of a first virtual machine on the microkernel;
- executing a second different user application in a second different operating system of a second different virtual machine on the microkernel;
- executing a web browser in a third different virtual machine on the microkernel;
- sending a first message associated with the first user application from the first virtual machine to the third virtual machine using a transfer protocol;
- generating a first display associated with the first message via a user interface in the web browser;
- sending a second different message associated with the second user application from the second virtual machine to the third virtual machine using the transfer protocol;
- and
- generating a second display associated with the second message via the user interface in the web browser.
A computing device including a secure and flexible operating system, the computing device comprising:
- a processor;
- an input device operatively coupled to the processor;
- an output device operatively coupled to the processor;
- and
- a memory device operatively coupled to the processor, the memory device storing instructions to cause the processor to:
- operate a microkernel on the computing device;
- execute a first user application in a first operating system of a first virtual machine on the microkernel;
- execute a second different user application in a second different operating system of a second different virtual machine on the microkernel;
- execute a web browser in a third different virtual machine on the microkernel;
- send a first message associated with the first user application from the first virtual machine to the third virtual machine using a transfer protocol;
- generate a first display associated with the first message via a user interface in the web browser;
- send a second different message associated with the second user application from the second virtual machine to the third virtual machine using the transfer protocol;
- and
- generate a second display associated with the second message via the user interface in the web browser.
A computer readable memory device storing instructions to cause a computing device to:
- operate a microkernel on the computing device;
- execute a first user application in a first operating system of a first virtual machine on the microkernel;
- execute a second different user application in a second different operating system of a second different virtual machine on the microkernel;
- execute a web browser in a third different virtual machine on the micro kernel;
- send a first message associated with the first user application from the first virtual machine to the third virtual machine using a transfer protocol;
- generate a first display associated with the first message via a user interface in the web browser;
- send a second different message associated with the second user application from the second virtual machine to the third virtual machine using the transfer protocol;
- and
- generate a second display associated with the second message via the user interface in the web browser.
Dependencies are inferred from the claim text.