IP Library Granted Patent US 8,645,733
Granted Patent B2
US 8,645,733 · App. 13/107,806 · Granted Feb 4, 2014

Virtualized application power budgeting

Inventors: Aman Kansal (Issaquah, WA); Jie Liu (Medina, WA); Sean McGrane (Sammamish, WA); Harold Lim (Durham, NC)
Assignee: Microsoft Corporation
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,645,733
App. No.
13/107,806
Granted
Feb 4, 2014
Kind
B2
Abstract

Virtualized application power budgeting can manage power budgeting for multiple applications in data centers. This power budgeting may be done in intelligent and/or dynamic ways and may be useful for updating power budgets, resolving conflicts in requests for power, and may improve the efficiency of the distribution of power to multiple applications. Virtualized application power budgeting can distinguish between priority applications and non-priority applications at a granular, virtual machine level and reduce the power consumption to only non-priority applications when there are power consumption conflicts. Virtualized application power budgeting may be able to determine the most efficient manner of providing power to each application in a data center. Further, virtualized application power budgeting may be able to distribute power according to application priority and other predetermined requirements and improve the efficiency of the power consumption by the devices in the data center.

Claims (30)

1. A method for controlling power to an application the method comprising:

receiving information indicative of an application power budget, a portion of the application configured to run on a virtual machine, the virtual machine associated with a computing device;

receiving information indicative of power usage by the virtual machine; and

sending, in response to receiving information indicative of power usage by the virtual machine, an instruction to alter the power usage of the virtual machine.

2. The method of claim 1 further comprising:

providing feedback indicative of power consumption of the virtual machine.

3. The method of claim 2 further comprising allocating power amounts to at least one tier of the application.

4. The method of claim 2 further comprising monitoring and dividing power allocation among the virtual machine and another virtual machine.

5. The method of claim 1 wherein the instruction configured to alter the power consumption of the virtual machine is configured to change hardware/firmware of the computing device.

6. The method of claim 1 wherein the instruction configured to alter the power consumption of the virtual machine is configured to change an amount of processor time a scheduler on the computing device provides to the virtual machine.

7. The method of claim 1 further comprising dividing a total power available at a data center among a plurality of applications.

8. The method of claim 1 further comprising determining one or more power profiles, each power profile associated with the power consumption of an application.

9. A system for budgeting power among one or more applications, the system comprising:

a first controller configured to enforce a division of power amongst one or more applications;

a first computing device comprising at least one virtual machine, the at least one virtual machine running a portion of one of the one or more applications and wherein a second portion of the one or more applications configured to run on another computing device, the at least one virtual machine associated with a computing metric and a power consumption metric; and

a second controller associated with a computing device, wherein the second controller is configured to manipulate one or more aspects of the one or more virtual machines to enforce a power budget.

10. The system of claim 9 further comprising a third controller configured to monitor a plurality of virtual machines, each virtual machine running on a separate computing device.

11. They system of claim 10 further comprising a fourth controller configured to monitor a plurality of tiers, each tier associated with a function of an application, each tier configured to run on one or more virtual machines.

12. The system of claim 11 wherein the fourth controller is configured to receive feedback from one or more controllers including the third controller and, based on the feedback, provide instructions configured to distribute power to each tier.

13. The system of claim 10 wherein the third controller is configured to receive feedback from one or more controllers including the second controller and, based on the feedback, provide instructions configured to distribute power to one or more virtual machines.

14. The system of claim 9 wherein the second controller changes an amount of processor time a scheduler on the computing device provides to the virtual machine.

15. The system of claim 9 wherein the second controller changes at least one of hardware or firmware associated with the one or more virtual machines to enforce the power budget.

16. The system of claim 9 wherein the first controller is configured to determine one or more power profiles, each power profile associated with an application.

17. A computer readable storage medium having stored thereon instructions, the instructions stored in a memory coupled to a processor that, when run on the processor, cause the processor to:

receive from a first controller, information indicative of an application power budget, the application configured to run on one or more virtual machines, each of the one or more virtual machine associated with one or more computing devices;

receive at a second controller information indicative of power usage by each virtual machine associated with the application; and

send, in response to receiving at a second controller information indicative of power usage by each virtual machine, an instruction, the instruction configured to alter the power usage of at least one of the one or more virtual machine.

18. The computer readable storage medium of claim 17 wherein the instruction configured to alter the power consumption of the one or more virtual machines is configured to change CPU usage of a virtual machine.

19. The computer readable medium of claim 17 wherein the first controller is configured to divide a total power available at a data center amongst a plurality of applications.

20. The computer readable storage medium of claim 17 wherein the first controller is configured to determine one or more power profiles, each power profile associated with the power consumption of an application associated with the first controller.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2011
From: KANSAL, AMAN; LIU, JIE; MCGRANE, SEAN; LIM, HAROLD
To: MICROSOFT CORPORATION
Reel/Frame 026369/0645 →
Continuity (1)
Related Publication 20120290865A1 · Nov 15, 2012