IP Library Granted Patent US 8,938,634
Granted Patent B2
US 8,938,634 · App. 13/514,337 · Granted Jan 20, 2015

User generated data center power savings

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,938,634
App. No.
13/514,337
Granted
Jan 20, 2015
Kind
B2
Abstract

Technologies are described herein for providing power savings in a data center. Some example technologies may identify some user-provided hardware independent power saving codes from multiple virtual machines within the data center. The technologies may convert at least a portion of the user-provided hardware independent power saving codes into a device power management message specific to a computing system in the data center. The technologies may provide the device power management message to the computing system. The computing system may be configured to enable or disable one or more devices within the computing system according to the device power management message.

Claims (58)

1. A method to provide power savings in a data center, the method comprising:

identifying user-provided hardware independent power saving codes from multiple virtual machines within the data center;

converting at least a portion of the user-provided hardware independent power saving codes into a device power management message specific to a computing system in the data center, wherein the converting includes identifying the portion of the user-provided hardware independent power saving codes relevant to the computing system and converting the portion of the user-provided hardware independent power saving codes into the device power management message specific to the computing system in the data center; and

providing the device power management message to the computing system, wherein the computing system is operative to enable or disable one or more devices within the computing system in accordance with the device power management message.

2. The method of claim 1 , further comprising:

converting a second portion of the power saving codes into a second device power management message specific to a second computing system in the data center; and

providing the second device power management message to the second computing system, wherein the second computing system is operative to enable or disable one or more devices within the second computing system in accordance with the second device power management message.

3. The method of claim 1 , wherein identifying the user-provided hardware independent power saving codes comprises:

providing an application programming interface adapted to enable a programmer to define the user-provided hardware independent power saving codes; and

inserting the defined user-provided hardware independent power saving codes into application code via the application programming interface.

4. The method of claim 3 , further comprising providing a power simulator adapted to enable the programmer to estimate power utilization of the computing system if the defined user-provided hardware independent power saving codes were to be implemented by the computing system in response to the execution of the application code.

5. The method of claim 1 , wherein the computing system is operative to implement the portion of the user-provided hardware independent power saving codes that are relevant, and wherein the computing system is not operative to implement others of the user-provided hardware independent power saving codes that are not relevant.

6. The method of claim 1 , wherein the computing system comprises a first virtual machine and a second virtual machine; and wherein the method further comprises:

identifying a first plurality of user-provided hardware independent power saving codes from a first program code directed for execution by the first virtual machine;

identifying a second plurality of user-provided hardware independent power saving codes from a second program code directed for execution by the second virtual machine;

converting the first plurality of user-provided hardware independent power saving codes into a first device power management message specific to the computing system in the data center;

converting the second plurality of user-provided hardware independent power saving codes into a second device power management message specific to the computing system in the data center;

generating a combined device power management message by combination of the first device power management message and the second device power management message; and

providing the combined device power management message to the computing system, wherein the computing system is operative to enable or disable one or more devices within the computing system according to the combined device power management message.

7. The method of claim 1 , wherein at least one of the user-provided hardware independent power saving codes comprises a hardware independent power saving code adapted to indicate that a device that has been disabled will be needed in a specified amount of time.

8. The method of claim 7 , wherein providing the device power management message to the computing system comprises:

providing the device power management message to the computing system, wherein the computing system is operative to warm up the device prior to the specified time such the device is available by the specified time according to the device power management message.

9. The method of claim 1 , further comprising:

upon providing the device power management message to the computing system, logging current power utilization of the computing system implementing the user-provided hardware independent power saving codes;

determining power savings based on the current power utilization; and

providing a monetary benefit to the user according to the power savings.

10. The method of claim 1 , wherein the device power management message comprises an array of symbols, wherein each of the symbols corresponds to one of the devices.

11. The method of claim 1 , wherein identifying the user-provided hardware independent power saving codes from the multiple virtual machines within the data center comprises identifying the user-provided hardware independent power saving codes via a web service.

12. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:

identify user-provided hardware independent power saving codes included within application code to be executed by multiple virtual machines within a computing system in a data center;

convert at least a portion of the user-provided hardware independent power saving codes into a device power management message specific to the computing system, wherein to convert includes to identify the portion of the user-provided hardware independent power saving codes relevant to the computing system and to convert the portion of the user-provided hardware independent power saving codes into the device power management message specific to the computing system in the data center; and

provide the device power management message to the computing system, wherein the computing system is operative to enable or disable one or more devices within the computing system according to the device power management message when the computing system executes the application code.

13. The non-transitory computer-readable storage medium of claim 12 , wherein to identify the user-provided hardware independent power saving codes, the computer-executable instructions, when executed by the computer, further cause the computer to:

provide an application programming interface adapted to enable a programmer to define the user-provided hardware independent power saving codes; and

insert the defined user-provided hardware independent power saving codes into application code via the application programming interface.

14. The non-transitory computer-readable storage medium of claim 13 , further comprising computer-executable instructions stored thereon which, when executed by the computer, cause the computer to provide a power simulator adapted to enable the programmer to estimate power utilization of the computing system if the defined user-provided hardware independent power saving codes were to be implemented by the computing system in response to execution of the application code on the computing system.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the computing system is operative to implement the portion of the user-provided hardware independent power saving codes that are relevant, and wherein the computing system is not operative to implement others of the user-provided hardware independent power saving codes that are not relevant.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the computing system comprises a first virtual machine and a second virtual machine; and the computer-executable instructions, when executed by the computer, further cause the computer to:

identify a first plurality of user-provided hardware independent power saving codes from a first program code directed for execution by the first virtual machine;

identify a second plurality of user-provided hardware independent power saving codes from a second program code directed for execution by the second virtual machine;

convert the first plurality of user-provided hardware independent power saving codes into a first device power management message specific to the computing system in the data center;

convert the second plurality of user-provided hardware independent power saving codes into a second device power management message specific to the computing system in the data center;

generate a combined device power management message by combination of the first device power management message and the second device power management message; and

provide the combined device power management message to the computing system, wherein the computing system is operative to enable or disable one or more devices within the computing system in accordance with the combined device power management message.

17. The non-transitory computer-readable storage medium of claim 12 , wherein at least one of the user-provided hardware independent power saving codes comprises a hardware independent power saving code adapted to indicate that a device that has been disabled will be needed in a specified amount of time.

18. The non-transitory computer-readable storage medium of claim 17 , wherein to provide the device power management message to the computing system, the computer-executable instructions, when executed by the computer, further cause the computer to:

provide the device power management message to the computing system, wherein the computing system is operative to warm up the device prior to the specified time such the device is available by the specified time according to the device power management message.

19. The non-transitory computer-readable storage medium of claim 18 comprising further computer-executable instructions stored thereon which, when executed by the computer, cause the computer to:

when the device power management message is provided to the computing system, log current power utilization of the computing system when the user-provided hardware independent power saving codes are implemented;

determine power savings based on the current power utilization; and

provide a monetary benefit to the user according to the power savings.

20. The non-transitory computer-readable storage medium of claim 12 , wherein the device power management message comprises an array of symbols, wherein each of the symbols corresponds to one of the devices.

21. A data center, comprising:

a first computing system that includes a first non-transitory computer-readable storage medium and a first processor-based hardware configuration comprising a first device and a first management unit coupled to the first device;

a second computing system that includes a second non-transitory computer-readable storage medium and a second processor-based hardware configuration comprising a second device and a second management unit coupled to the second device;

the first computing system operative to execute a first paravirtualized driver stored on the first non-transitory computer-readable storage medium, wherein the first paravirtualized driver is operative to identify a first portion of user-provided hardware independent power saving codes from application code executing on multiple first virtual machines within the first computing system, convert the first portion of the user-provided hardware independent power saving codes into a first device power management message specific to the first computing system in the data center, and provide the device power management message to the first management unit, wherein the first management unit is operative to enable and disable the first device according to the first device power management message; and

the second computing system operative to execute a second paravirtualized driver stored on the second non-transitory computer-readable storage medium, wherein the second paravirtualized driver is operative to identify a second portion of the user-provided hardware independent power saving codes from the application code that executes on multiple second virtual machines within the second computing system, convert the second portion of the user-provided hardware independent power saving codes into a second device power management message specific to the second computing system in the data center, and provide the second device power management message to the second management unit, wherein the second management unit is operative to enable and disable the second device in accordance with the second device power management message.

22. The data center of claim 21 , further comprising a power savings log unit coupled to the first computing system and the second computing system, wherein the power savings log unit is operative to log current power utilization of the first computing system and the second computing system when the user-provided hardware independent power saving codes are implemented, determine power savings based on the current power utilization, and provide a monetary benefit to the user according to the power savings.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2021
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: INVINCIBLE IP LLC
Reel/Frame 055594/0500 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2020
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 054129/0627 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →