IP Library Granted Patent US 9,092,251
Granted Patent B2
US 9,092,251 · App. 12/642,207 · Granted Jul 28, 2015

Method of managing virtual machines using a virtual machine monitor

Inventor: Vladimir Grouzdev (Paris, FR)
Assignee: Virtuallogix SA
G06F9/45558G06F1/3203G06F2009/45579
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,092,251
App. No.
12/642,207
Granted
Jul 28, 2015
Kind
B2
Abstract

A method for managing virtual machines, the method comprising providing a virtual Advanced Configuration and Power Interface, ACPI, arranged to interact with the virtual machines, and interacting with a real ACPI based on interaction between the virtual ACPI and the plurality of virtual machines.

Claims (23)

1. A method for managing virtual machines that use one or more physical devices in a data processing system, the method comprising:

providing, in a Virtual Machine Monitor (VMM), a virtual Advanced Configuration and Power Interface (ACPI) arranged to interact with the virtual machines;

interacting the VMM with a real ACPI based on interaction between the virtual ACPI and the plurality of virtual machines;

providing, in at least one of the virtual machines, an ACPI driver in a kernel to enable the at least one of the virtual machines to interact directly with one or more of said physical devices;

maintaining, within the virtual ACPI, a respective virtual device state of the physical device for each of the multiple ones of the virtual machines, wherein the virtual device state includes at least one of a device performance state, a device power state, or a device clock throttling state, the device power state includes at least one intermediate power setting between a maximum power setting and a power-off setting, wherein each virtual device state is requested by a corresponding one of the virtual machines;

determining a maximum requested device state from the virtual device states; and

setting, by the VMM, a real device state for the physical device based on the maximum requested device state.

2. A method as claimed in claim 1 , wherein the physical device is one of a data processing system, on-board device, PCI device, power resource, or CPU.

3. A method as claimed in claim 1 , comprising interacting with a leaf device based on interaction between the virtual machine monitor and one of the virtual machines to which the leaf device is assigned.

4. A method as claimed in claim 1 , comprising providing virtual power buttons waking devices that are usable by the virtual machines to send ACPI waking device notification events to others of the virtual machines.

5. A method as claimed in claim 1 , comprising receiving a first event notification from the real ACPI, and providing a second event notification to one or more of the virtual machines based on the first event notification.

6. A method as claimed in claim 5 , comprising determining an event number of the first event notification, and providing the event number to one of the virtual machines in response to a query from that virtual machine.

7. A method as claimed in claim 1 , comprising providing to each virtual machine respective virtual ACPI tables corresponding to physical devices available to the virtual machine.

8. A method as claimed in claim 7 , comprising adding one or more wrapper control methods corresponding to the physical devices available to one of the virtual machines to a virtual Differentiated System Description Table, vDSDT, for the virtual machine.

9. A method as claimed in claim 1 comprising using the VMM to provide the virtual ACPI, interact the VMM with the real ACPI, and provide the ACPI methods.

10. A method as claimed in claim 1 comprising using the data processing system to provide the virtual ACPI, interact the VMM with the real ACPI, and provide the ACPI methods.

11. A non-transitory computer readable medium storing a computer program for managing virtual machines that use one or more physical devices in a data processing system, wherein at least one of said physical devices are shared between multiple ones of the virtual machines, comprising:

providing, in a Virtual Machine Monitor (VMM), a virtual Advanced Configuration and Power Interface (ACPI) arranged to interact with the virtual machines;

interacting the VMM with a real ACPI based on interaction between the virtual ACPI and the plurality of virtual machines;

providing, in at least one of the virtual machines, an ACPI driver in a kernel to enable at least one of the virtual machines to interact directly with one or more of said physical devices;

maintaining, within the virtual ACPI, a respective virtual device state of the physical device for each of the multiple ones of the virtual machines, wherein the virtual device state includes at least one of a device performance state, a device power state, or a device clock throttling state, the device power state having at least three different possible values, wherein each virtual device state is requested by a corresponding one of the virtual machines;

determining a maximum requested device state from the virtual device states; and

setting, by the VMM, a real device state for the physical device based on the maximum requested device state.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2015
From: MUSTANG MEZZANINE LP
To: RED BEND LTD.
Reel/Frame 035083/0471 →
SECURITY AGREEMENT Recorded Aug 22, 2012
From: RED BEND LTD.
To: MUSTANG MEZZANINE FUND LP
Reel/Frame 028831/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2009
From: GROUZDEV, VLADIMIR
To: VIRTUALLOGIX SA
Reel/Frame 023677/0345 →
Priority Claims (1)
EP 08291242 · Dec 24, 2008 · regional
Continuity (1)
Related Publication 20100162242A1 · Jun 24, 2010