IP Library Granted Patent US 9,176,763
Granted Patent B2
US 9,176,763 · App. 13/685,099 · Granted Nov 3, 2015

Apparatus and method thereof for efficient execution of a guest in a virtualized environment

Inventors: Izik Eidus (Kfar Saba, IL); Leonid Shatz (Ra'anana, IL); Michael Rapoport (Haifa, IL); Alexander Fishman (Netanya, IL)
Assignee: Ravello Systems Ltd.
G06F9/45545G06F2009/45587
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 9,176,763
App. No.
13/685,099
Granted
Nov 3, 2015
Kind
B2
Abstract

A method for efficient execution of a guest in a virtualized computing environment is provided. The method comprises causing an execution of at least one virtual machine on a computing hardware, the virtual machine executes a hypervisor in a first security ring; and causing an execution of a single guest program on one of the at least one virtual machines, the single guest program comprises a kernel being executed in the first security ring and at least one application being executed in a second security ring.

Claims (23)

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

a processor; and

a memory coupled to the processor configured to store at least a first set of instructions for execution of at least one virtual machine by the processor, wherein each of the at least one virtual machine executes a single hypervisor that is being executed in a first security ring, the memory further stores a second set of instructions for execution of a single guest program by the processor over each of the at least one virtual machine, the guest program comprises a single kernel and at least one application executed therein,

wherein the single kernel of the single guest program is executed in the first security ring with the single hypervisor and the at least one application of the single guest program is executed in a second security ring, wherein the first security ring is Ring 0 ,

wherein an instruction issued by the at least one application of the single guest program is executed without trapping the single hypervisor, wherein the instruction requires intervention by the kernel of the single guest program and the single hypervisor, and wherein the single hypervisor runs the single guest program in the first security ring.

2. The apparatus of claim 1 , wherein the second security is Ring 3 .

3. The apparatus of claim 1 , wherein execution of a first jump instruction that requires intervention by at least one of the kernel and the hypervisor results in replacement of the first jump instruction with a second jump instruction directly to a desired location in the memory, wherein the first jump instruction is a long jump instruction.

4. The apparatus of claim 3 , wherein the hypervisor uses a hash table to determine the return address for the second jump instruction.

5. The apparatus of claim 3 , wherein the memory further comprises a cache for storing the desired location.

6. The apparatus of claim 1 , wherein the virtualized environment is a nested virtualized environment.

7. A method for efficient execution of a guest in a virtualized computing environment comprising:

causing an execution of at least one virtual machine on a computing hardware, the virtual machine executes a single hypervisor in a first security ring;

causing an execution of a single guest program on each of the at least one virtual machines, the single guest program comprises a single kernel being executed in the first security ring and at least one application being executed in a second security ring, wherein the first security ring is Ring 0 ; and

causing an execution of an instruction issued by the at least one application of the single guest program without trapping the single hypervisor, wherein the instruction requires intervention by of the kernel of the single guest program and the single hypervisor, wherein the single hypervisor runs the single guest program in the first security ring.

8. The method of claim 7 , further comprising:

executing instead of a first jump instruction that requires intervention by at least one of the kernel and the hypervisor, a second jump instruction directly to a desired location, wherein the first jump instruction is a long jump instruction.

9. The method of claim 7 , further comprising storing the desired location in a cache portion of a memory unit in the computing hardware.

10. The method of claim 7 , wherein the second security ring is Ring 3 .

11. The method of claim 7 , wherein the virtualized computing environment is a nested virtualization computing environment.

12. The method of claim 7 , wherein the computing hardware includes at least a processor coupled to a memory unit.

13. The method of claim 7 , further comprising:

instantiating the single guest program on one of the at least one virtual machine.

14. A tangible and non-transient computer readable storage medium containing thereon a plurality of instructions that when executed by a computer perform the method of claim 7 .

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 Nov 26, 2012
From: EIDUS, IZIK; SHATZ, LEONID; RAPOPORT, MICHAEL; FISHMAN, ALEXANDER
To: RAVELLO SYSTEMS, LTD.
Reel/Frame 029348/0983 →
Continuity (2)
Provisional Application 61563859 · Nov 28, 2011
Related Publication 20130139159A1 · May 30, 2013