IP Library Patent Application 13426861
Patent Application
App. No. 13/426,861

SYSTEM AND METHOD THEREOF FOR RUNNING AN UNMODIFIED GUEST OPERATING SYSTEM IN A PARA-VIRTUALIZED ENVIRONMENT

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 None
App. No.
13/426,861
Abstract

An apparatus and method of operation in a para-virtualized environment. The method includes executing a first hypervisor on a hardware platform of a computing device; and executing a second hypervisor over the first hypervisor, the second hypervisor is configured to capture at least a privileged instruction called by an unmodified guest program executed over the second hypervisor and cause the first hypervisor to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the second hypervisor operate in a user space protection domain, e.g., Ring 3, and the at least privileged instruction should be executed in a kernel space protection domain, e.g., Ring 0.

Claims (32)

1 . An apparatus operating in a para-virtualized environment, comprising:

a processor; and

a memory coupled to the processor and configured to store at least a first set of instructions for a first hypervisor for execution by the processor and a second set of instructions for a second hypervisor for execution by the processor over the first hypervisor, wherein the first hypervisor is configured to enable execution of an unmodified guest program over the second hypervisor and wherein the unmodified guest program and the second hypervisor operate in a user space protection domain.

2 . The apparatus of claim 1 , wherein the second hypervisor is configured to capture at least a privileged instruction called by the unmodified guest program and translate the at least privileged instruction to at least a corresponding instruction of the first set of instructions executable by the first hypervisor without causing an exception, wherein the at least privileged instruction should be executed in a kernel space protection domain.

3 . The apparatus of claim 2 , wherein execution results of the corresponding instruction are exported to the unmodified guest program.

4 . The apparatus of claim 3 , wherein the execution results are written to a shared memory portion in the memory shared between at least the unmodified guest program and the first hypervisor.

5 . The apparatus of claim 2 , wherein the first hypervisor is a para-virtualized hypervisor.

6 . The apparatus of claim 5 , wherein the first set of instructions are executed in a kernel space protection domain.

7 . The apparatus of claim 6 , wherein the kernel space protection domain is Ring 0 and the user space protection domain is Ring 3 .

8 . The apparatus of claim 2 , wherein the translation includes the use of an application program interface (API) provided by the first hypervisor.

9 . The apparatus of claim 1 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment.

10 . A method of operation in a para-virtualized environment, comprising:

executing a first hypervisor on a hardware platform of a computing device; and

executing a second hypervisor over the first hypervisor, the second hypervisor is configured to capture at least a privileged instruction called by an unmodified guest program executed over the second hypervisor and cause the first hypervisor to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the second hypervisor operate in a user space protection domain and the at least privileged instruction should be executed in a kernel space protection domain.

11 . The method of claim 10 , wherein the user space protection domain is Ring 3 and the kernel space protection domain is Ring 0 .

12 . The method of claim 10 , wherein responsive of capturing the at least privileged instruction by the second hypervisor, further comprising:

translating by the second hypervisor the at least privileged instruction into at least the corresponding instruction executable by the first hypervisor without causing an exception.

13 . The method of claim 12 , wherein the translation includes the use of an application program interface (API) provided by the first hypervisor.

14 . The method of claim 12 , wherein execution results of the corresponding instruction are exported to the unmodified guest program.

15 . The method of claim 10 , wherein the first hypervisor is a para-virtualized hypervisor.

16 . The method of claim 15 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment.

17 . A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute the method according to claim 10 .

18 . A method for isolating an unmodified guest program executed in a para-virtualized environment from a para-virtualized hypervisor, comprising:

executing a para-virtualized hypervisor (PVHV) on a hardware platform of a computing device;

executing an interface hypervisor (IHV) over the PVHV; and

executing the unmodified guest program over the IHV, wherein the IHV is configured to capture at least a privileged instruction received from the unmodified guest program and cause the PVHV to execute an instruction corresponding to the captured privileged instruction, wherein the unmodified guest program and the IHV operate in a user space protection domain and the at least privileged instruction should be executed in a kernel space protection domain.

19 . The method of claim 18 , wherein the user space protection domain is Ring 3 and wherein the kernel space protection domain is Ring 0 .

20 . The method of claim 18 , wherein the IHV is further configured to:

translate the at least privileged instruction to the corresponding instruction by use of an application program interface (API) provided for the PVHV.

21 . The method of claim 18 , wherein execution results of the corresponding instruction are exported to the unmodified guest program.

22 . The method of claim 18 , wherein the unmodified guest program is an operating system that was not purposefully designed, programmed, or configured to operate successfully in the para-virtualized environment.

23 . A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute the method according to claim 18 .

Assignments (3)
CHANGE OF NAME Recorded Mar 4, 2021
From: RAVELLO SYSTEMS LTD.
To: ORACLE RAVELLO SYSTEMS LTD.
Reel/Frame 055489/0754 →
CHANGE OF NAME Recorded Mar 4, 2021
From: RAVELLO SYSTEMS LTD
To: ORACLE RAVELLO SYSTEMS LTD
Reel/Frame 055492/0005 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2012
From: EIDUS, IZIK; SHATZ, LEONID; RAPOPORT, MICHAEL; FISHMAN, ALEXANDER
To: RAVELLO SYSTEMS LTD.
Reel/Frame 027914/0691 →