IP Library Granted Patent US 9,367,671
Granted Patent B1
US 9,367,671 · App. 13/931,574 · Granted Jun 14, 2016

Virtualization system with trusted root mode hypervisor and root mode VMM

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,367,671
App. No.
13/931,574
Granted
Jun 14, 2016
Kind
B1
Abstract

A first component of a Hypervisor is loaded into the memory upon start up. The first component is responsible for context switching and some interrupt handling. The first component of the Hypervisor runs on a root level. An OS is loaded into a highest non-root privilege level. A second component of the Hypervisor is loaded into OS space together with the OS, and running on the highest non-root privilege level. A Virtual Machine Monitor is running on the root level. The second component of the Hypervisor is responsible for (a) servicing the VMM, and (b) enabling communication between VMM code launched on non-root level with the first component of the Hypervisor to enable root mode for the VMM. A Virtual Machine is running on a user level under control of the VMM.

Claims (47)

1. A computer system comprising:

a processor;

a random-access memory (RAM) operatively coupled to the processor;

a first component of a Hypervisor loaded into the memory upon start up and prior to loading an operating system (OS), wherein the first component is responsible for context switching and at least a part of interrupt handling,

wherein the first component of the Hypervisor runs on a root level;

the OS loaded into a highest non-root privilege level;

a second component of the Hypervisor loaded into OS space together with the operating system, and running on the highest non-root privilege level; and

a Virtual Machine Monitor (VMM) running on the root level and under control of the first component of the Hypervisor,

wherein the second component of the Hypervisor is responsible for any of (a) servicing the VMM, (b) enabling communication between VMM code launched on non-root level and the first component of the Hypervisor to perform verification of the VMM, and (c) protecting the VMM from non-trusted access; and

at least one Virtual Machine (VM) running on a user level under control of the VMM.

2. The system of claim 1 , wherein the data needed for execution of the two Hypervisor components is obtained from Extensible Firmware Interface (EFI).

3. The system of claim 1 , wherein Trusted Execution technology (TXT) is used for protection of the first Hypervisor component.

4. The system of claim 1 , wherein SEM (Secure Execution Mode) technology is used for protection of the first Hypervisor component.

5. The system of claim 1 , wherein:

the first component of the Hypervisor verifies trusted code components during their loading or launch time; and

the trusted code is executed on the root level.

6. The system of claim 5 , wherein Intel Trusted Execution technology (TXT) is used for protection of trusted code components.

7. The system of claim 5 , wherein the VMM is launched on the root level as trusted code components.

8. The system of claim 7 , wherein the OS is de-privileged to non-root level.

9. The system of claim 1 , wherein the VMM is de-privileged to non-root level 0 and the VM is launched on non-root level 3.

10. The system of claim 1 , wherein the first component of the Hypervisor is loaded from an Extensible Firmware Interface.

11. A computer system comprising:

a processor;

a memory operatively coupled to the processor;

a first component of a Hypervisor loaded into the memory upon start up and prior to loading an operating system (OS), wherein the first component is responsible for context switching and at least some interrupt handling,

wherein the first component of the Hypervisor runs on a root level;

the OS loaded into a highest non-root level;

a second component of the Hypervisor loaded into operating system space together with the OS, and running on the same privilege level as the OS; and

a Virtual Machine Monitor (VMM) running on the root level and under control of the first component of the Hypervisor,

wherein the second component of the Hypervisor is responsible for any of (a) servicing the VMM, (b) enabling communication between VMM code launched on non-root level and the first component of the Hypervisor to perform verification of the VMM, and (c) protecting the VMM from non-trusted access; and

a Virtual Machine running on a user level under control of the Virtual Machine Monitor.

12. The system of claim 11 , wherein the two Hypervisor components are combined in a single Extensible Firmware Interface (EFI).

13. The system of claim 11 , wherein Trusted Execution technology (TXT) is used for protection of the first Hypervisor component.

14. The system of claim 11 , wherein:

the first component of the Hypervisor verifies trusted code components during their loading or launch time; and

the trusted code can be executed on the root level.

15. The system of claim 14 , wherein Intel Trusted Execution technology (TXT) is used for protection of trusted code components.

16. The system of claim 11 , wherein the Virtual Machine Monitor (VMM) is launched through the Hypervisor.

17. The system of claim 16 , wherein the VMM is initially launched on non-root level 0.

18. A method for virtualizing a computer system, the method comprising:

loading a first component of a Hypervisor into a memory of the computer system upon start up and prior to loading an operating system (OS), wherein the first component is responsible for context switching and at least some interrupt handling,

wherein the first component of the Hypervisor runs on a root level;

loading the OS into a highest non-root privilege level;

loading a second component of the Hypervisor into OS space together with the OS, so that the second component runs on the highest non-root privilege level;

starting a Virtual Machine Monitor (VMM) on the highest non-root privilege level and under control of the first component of the Hypervisor,

wherein the second component of the Hypervisor is responsible for any of (a) servicing the VMM, (b) enabling communication between VMM code launched on non-root level and the first component of the Hypervisor to perform verification of the VMM, and (c) protecting the VMM from non-trusted access; and

starting at least one Virtual Machine on a user level under control of the VMM.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT THE CONVEYING PARTY'S DATA PREVIOUSLY RECORDED AT REEL: 030714 FRAME: 0891. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2019
From: DOBROVOLSKIY, NIKOLAY; KORYAKIN, ALEXEY; TORMASOV, ALEXANDER
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 049629/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2019
From: DOBROVOLSKIY, NIKOLAY; KORYAKIN, ALEXEY; TORMASOV, ALEXANDER
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 049626/0176 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
MERGER Recorded Jan 30, 2018
From: PARALLELS IP HOLDINGS GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 045193/0679 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2013
From: TORMASOV, ALEXANDER G.; KORYAKIN, ALEXEY B.
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 030714/0891 →