IP Library Granted Patent US 8,161,477
Granted Patent B2
US 8,161,477 · App. 12/035,102 · Granted Apr 17, 2012

Pluggable extensions to virtual machine monitors

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 8,161,477
App. No.
12/035,102
Granted
Apr 17, 2012
Kind
B2
Abstract

The functionality of a virtualization layer interposed between computer system hardware and a plurality of applications can be altered by pluggable extensions. According to one embodiment of the present invention, a virtualization layer is divided into a privileged portion and an unprivileged portion. While the privileged portion remains untouched, the functionality of the unprivileged portion can be modified by one or more pluggable extensions. Furthermore, file images operating on top of the virtualization layer, and in some cases unaware of the virtual nature of the virtualization layer, can be supplemented using pluggable extensions.

Claims (29)

1. A method for virtualization layer optimization, the method comprising:

dividing a virtualization layer logically into a privileged portion and an unprivileged portion wherein the privileged portion includes a hypervisor operating the virtualization layer on top of hardware resources, wherein the unprivileged portion comprises unprivileged code; and

modifying, after the dividing step, the unprivileged portion of the virtualization layer using a pluggable extension,

wherein the modifying step alters functionality of the virtualization layer,

wherein the modifying includes modifying portions of the unprivileged code,

wherein the pluggable extension introduces a new application programming interface to the virtualization layer, and

wherein the hypervisor remains unchanged by the pluggable extension during virtualization layer optimization.

2. The method of claim 1 wherein the pluggable extension introduces support for a new hardware device.

3. The method of claim 2 wherein the new hardware device is an interconnect.

4. The method of claim 1 wherein the pluggable extension paravirtualizes select operating systems.

5. A computer architecture for optimizing hypervisor operations, the computer architecture comprising:

a CPU;

a memory;

a virtualization layer disposed within said computer architecture, said virtualization layer including a privileged portion including a hypervisor operating the virtualization layer, and an unprivileged portion, wherein the unprivileged portion comprises unprivileged code; and

a plurality of pluggable extensions disposed within said computer architecture and configured to modify functionality of the unprivileged portion of the virtualization layer,

wherein the plurality of pluggable extensions are configured to modify the unprivileged code,

wherein the plurality of pluggable extensions introduce a new application programming interface to the virtualization layer, and

wherein the hypervisor remains unchanged by the plurality of pluggable extensions during virtualization layer optimization.

6. The computer architecture of claim 5 wherein the virtualization layer is interposed between a computer hardware architecture and a plurality of applications.

7. The computer architecture of claim 5 wherein the pluggable extensions paravirtualize select operating systems.

8. A computer system for virtualization optimization, the computer system comprising:

a machine capable of executing instructions embodied as software; and

a plurality of software portions, wherein:

one of said software portions is configured to divide a virtualization layer logically into a privileged portion and an unprivileged portion wherein the privileged portion includes a hypervisor for operating the virtualization layer on top of hardware resources and wherein the unprivileged portion includes unprivileged code;

one of said software portions is configured to modify the unprivileged portion of the virtualization layer and the unprivileged code using a first pluggable extension altering virtualization layer functionality, wherein the first pluggable extension introduces a new application programming interface to the virtualization layer; and

one of said software portions is configured to supplement an immutable file image running on top of the virtualization layer using a second pluggable extension and wherein said immutable file image is unaware of said virtualization layer.

9. The method of claim 1 further comprising supplementing the functionality of a file image running on top of the virtualization layer by applying a plug-in extension to said file image.

10. The method of claim 1 further comprising supplementing the functionality of a file image running on top of the virtualization layer by applying a plug-in extension to said file image.

11. The method of claim 10 wherein said file image is unaware of the virtualization layer.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2008
From: MANCZAK, OLAF; VICK, CHRISTOPHER A.; PALECZNY, MICHAEL H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020544/0453 →