IP Library Granted Patent US 7,890,724
Granted Patent B2
US 7,890,724 · App. 11/618,526 · Granted Feb 15, 2011

System for code execution

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,890,724
App. No.
11/618,526
Filed
Dec 29, 2006
Granted
Feb 15, 2011
Kind
B2
Examiner
CHOE, YONG J
Art Unit
2185
USPC
711/163
Abstract

System for executing software application is provided. The system includes a non-volatile memory device that includes a plurality of memory cells, wherein a read only segment of a plurality of memory cells stores: (a) code for a micro-operating system for running a virtual engine; (b) code for the virtual engine that provides a virtual environment, independent of a host operating system; (c) code for a virtual operating system that is executed in the virtual environment; and (d) code for a software application, wherein the code for the software application can be executed in different host system platforms in the virtual environment.

Claims (25)

1. A non-volatile memory device comprising:

a plurality of memory cells, wherein a read only segment of a plurality of memory cells stores (a) code for a micro-operating system for running a virtual engine; (b) code for the virtual engine that provides a virtual environment, wherein the virtual engine, rather than a host operating system, controls the virtual environment; (c) code for a virtual operating system that is executed in the virtual environment; and (d) code for a software application, wherein the code for the software application can be executed on different host system platforms in the virtual operating system while the virtual operating system executes in the virtual environment and wherein execution of the virtual engine code is split such that a first portion of the virtual engine code is executed by the host and a second portion is executed by the non-volatile memory device.

2. The non-volatile memory device of claim 1 , wherein a secure non-volatile memory device segment stores a device certificate used to authenticate the nonvolatile memory device.

3. The non-volatile memory device of claim 2 , wherein a remote server authenticates the non-volatile memory device.

4. The non-volatile memory device of claim 1 , wherein the non-volatile memory device detects the host operating system.

5. The non-volatile memory device of claim 1 , wherein the software application is a web-browser.

6. The non-volatile memory device of claim 1 , wherein the first portion of the virtual engine code, the code for the virtual operating system and the code for the software application are executed by a host system processor after being loaded by the non-volatile memory device to a host system memory.

7. The non-volatile memory device of claim 1 , wherein the second portion of the virtual engine code, the code for the virtual operating system and the code for the software application are executed by a non-volatile memory device controller.

8. The non-volatile memory device of claim 1 , wherein the non-volatile memory device is a universal serial bus (USB) device that interfaces with the host system via a USB interface.

9. The non-volatile memory device of claim 1 , wherein the code for the virtual operating system and the code for the software application are stored in a secured area of the non-volatile memory device.

10. The non-volatile memory device of claim 1 , wherein the host system opens a virtual network connection based on code stored in the non-volatile memory device.

11. The non-volatile memory device of claim 1 , wherein the code for the software application can be executed in more than one hardware and software environment.

12. A system for code execution, comprising:

a host computing system; and

a non-volatile memory device operationally coupled to the host computing system, the non-volatile memory device comprising a plurality of memory cells, wherein a read only segment of a plurality of memory cells stores: (a) code for a micro-operating system for running a virtual engine; (b) code for the virtual engine that provides a virtual environment, wherein the virtual engine, rather than a host operating system, controls the virtual environment; (c) code for a virtual operating system that is executed in the virtual environment; and (d) code for a software application, wherein the code for the software application can be executed on different host system platforms in the virtual operating system while the virtual operating system executes in the virtual environment and wherein execution of the virtual engine code is split such that a first portion of the virtual engine code is executed by the host and a second portion is executed by the non-volatile memory device.

13. The system of claim 12 , wherein a secure non-volatile memory device segment stores a device certificate used to authenticate the non-volatile memory device.

14. The system of claim 13 , wherein a remote server authenticates the nonvolatile memory device.

15. The system of claim 12 , wherein the non-volatile memory device detects the host operating system.

16. The system of claim 12 , wherein the software application is a web-browser.

17. The system of claim 12 , wherein the first portion of the virtual engine code, the code for the virtual operating system and the code for the software application are executed by a host system processor after being loaded by the non-volatile memory device to a host system memory.

18. The system of claim 12 , wherein the second portion of the virtual engine code, the code for the virtual operating system and the code for the software application are executed by a non-volatile memory device controller.

19. The system of claim 12 , wherein the non-volatile memory device is a universal serial bus (USB) device that interfaces with the host system via a USB interface.

20. The system of claim 12 , wherein the code for the virtual operating system and the code for the software application are stored in a secured area of the nonvolatile memory device.

21. The system of claim 12 , wherein the host system opens a virtual network connection based on code stored in the non-volatile memory device.

22. The system of claim 12 , wherein the code for the software application can be executed in more than one hardware and software environment.