IP Library Granted Patent US 9,829,950
Granted Patent B2
US 9,829,950 · App. 12/471,825 · Granted Nov 28, 2017

Power management in a virtual machine farm at the local virtual machine platform level by a platform hypervisor extended with farm management server functions

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,829,950
App. No.
12/471,825
Granted
Nov 28, 2017
Kind
B2
Abstract

Power management for a virtual machine farm in which each hypervisor respectively serving each virtual machine platform in the farm is provided with an extended hypervisor function coacts with functions provided by the connection broker and the manual configuration interface of the virtual machine farm management server for managing each respective virtual machine platform to maximize the time that each platform is in the reduced power state.

Claims (56)

1. A method comprising:

setting a counter, by a hypervisor for a plurality of virtual machines (VMs) running on a computing device, equal to a number of a plurality of client computing devices that are actively using corresponding operating systems (OSs) of the VMs, wherein each VM corresponds to one of the client computing devices;

in response to determining that a client computing device is not actively using the corresponding OS, causing, by the hypervisor, the VM having the corresponding OS to enter in a low-power state without causing other VMs running on the computing device to enter the low-power state and without causing the computing device to enter the low-power state, and decrementing the counter; and

in response to the counter reaching zero, waiting for a predetermined length of time and then causing the computing device to enter the low-power state, by the hypervisor,

wherein the computing device enters the low-power state due to the hypervisor causing the computing device to enter the low-power state, and after all the VMs running on the computing device have already entered the low-power state.

2. The method of claim 1 , further comprising:

in response to determining that a client computing device is now actively using the corresponding OS:

causing, by the hypervisor, the computing device to exit the low-power state;

causing, by the hypervisor, the VM having the corresponding OS to exit the low-power state without causing other VMs on the computing device to exit the low-power state; and

incrementing, by the hypervisor, the counter.

3. The method of claim 1 , further comprising:

in response to determining that a client computing device is now actively using the corresponding OS:

in response to the counter being equal to zero, causing, by the hypervisor, the computing device to exit the low-power state;

causing, by the hypervisor, the VM having the corresponding OS to exit the low-power state without affecting other VMs on the computing device;

incrementing, by the hypervisor, the counter.

4. The method of claim 1 , further comprising:

monitoring, by the hypervisor, the VMs to determine whether the client computing devices are actively using the VMs.

5. The method of claim 1 , wherein each VM is actively used by at most one of the client computing devices.

6. A non-transitory computer-readable data storage medium storing computer-executable code executable by a hypervisor to a perform a method comprising:

setting a counter equal to a number of a plurality of client computing devices that are actively using corresponding operating systems (OSs) of a plurality of virtual machines (VMs) managed by the hypervisor, wherein each VM corresponds to one of the client computing devices;

in response to determining that a client computing device is not actively using the corresponding OS, causing the VM having the corresponding OS to enter in a low-power state without causing other VMs running on the computing device to enter the low-power state and without causing the computing device to enter the low-power state, and decrementing the counter; and

in response to the counter reaching zero, waiting for a predetermined length of time and then causing, by the hypervisor, the computing device to enter the low-power state,

wherein the computing device enters the low-power state due to the hypervisor causing the computing device to enter the low-power state, and after all the VMs running on the computing device have already entered the low-power state.

7. The non-transitory computer-readable data storage medium of claim 6 , wherein the method further comprises:

in response to determining that a client computing device is now actively using the corresponding OS:

causing the computing device to exit the low-power state;

causing the VM having the corresponding OS to exit the low-power state without causing other VMs on the computing device to exit the low-power state; and

incrementing the counter.

8. The non-transitory computer-readable data storage medium of claim 6 , wherein the method further comprises:

in response to determining that a client computing device is now actively using the corresponding OS:

in response to the counter being equal to zero, causing the computing device to exit the low-power state;

causing the VM having the corresponding OS to exit the low-power state without affecting other VMs on the computing device;

incrementing the counter.

9. The non-transitory computer-readable data storage medium of claim 6 , wherein the method further comprises:

monitoring the VMs to determine whether the client computing devices are actively using the VMs.

10. The non-transitory computer-readable data storage medium of claim 6 , wherein each VM is actively used by at most one of the client computing devices.

11. A system comprising:

a computing device having a plurality of virtual machines (VMs); and

a hypervisor running on the computing device to:

set a counter equal to a number of a plurality of client computing devices that are actively using corresponding operating systems (OSs) of the VMs, wherein each VM corresponds to one of the client computing devices;

in response to determining that a client computing device is not actively using the corresponding OS, cause the VM having the corresponding OS to enter in a low-power state without causing other VMs running on the computing device to enter the low-power state and without causing the computing device to enter the low-power state, and decrementing the counter; and

in response to the counter reaching zero, wait for a predetermined length of time and then cause, by the hypervisor, the computing device to enter the low-power state,

wherein the computing device enters the low-power state due to the hypervisor causing the computing device to enter the low-power state, and after all the VMs running on the computing device have already entered the low-power state.

12. The system of claim 11 , wherein the hypervisor is further to:

in response to determining that a client computing device is now actively using the corresponding OS:

cause the computing device to exit the low-power state;

cause the VM having the corresponding OS to exit the low-power state without causing other VMs on the computing device to exit the low-power state; and

increment the counter.

13. The system of claim 11 , wherein the hypervisor is further to:

in response to determining that a client computing device is now actively using the corresponding OS:

in response to the counter being equal to zero, cause the computing device to exit the low-power state;

cause the VM having the corresponding OS to exit the low-power state without affecting other VMs on the computing device;

increment the counter.

14. The system of claim 11 , wherein the hypervisor is further to:

monitor the VMs to determine whether the client computing devices are actively using the VMs.

15. The system of claim 11 , wherein each VM is actively used by at most one of the client computing devices.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050308/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2009
From: BOZEK, JAMES A; FRANCIS, KELLIE; SUFFERN, EDWARD S; WOOLDRIDGE, JAMES L
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 023156/0427 →