IP Library Patent Application 12893415
Patent Application
App. No. 12/893,415

LEVERAGING SMART-METERS FOR INITIATING APPLICATION MIGRATION ACROSS CLOUDS FOR PERFORMANCE AND POWER-EXPENDITURE TRADE-OFFS

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 None
App. No.
12/893,415
Abstract

Managing power expenditures for hosting computer applications. A smart meter can receive electricity pricing information for a data center or other group of computing resources that host computer applications, such as a cloud computing environment. An application manager to determine how much electricity can be saved by operating the applications at a reduced performance level without compromising performance metrics for the applications. A site broker can determine how to sequence the performance levels of the applications to meet an electricity usage budget or to otherwise reduce electricity consumption or costs, for example during a peak load time period. The site broker can also select one or more applications to migrate to another cloud to meet the electricity usage budget or to reduce electricity consumption or costs. A hybrid cloud broker can interact with the site broker to migrate the selected application(s) to another cloud.

Claims (57)

1 . A computer-implemented method for reducing electricity consumption for a group of computers hosting a plurality of applications, comprising:

analyzing, by a computer, each application to determine a time duration that the application can be executed at a reduced performance level without compromising at least one performance metric associated with the application;

generating, by a computer, a sequence for executing the applications at reduced performance levels for a time period based on the time duration for each application, whereby total electricity consumed by the applications meets an electricity usage budget throughout the time period; and

executing, by a computer, the applications according to the sequence.

2 . The computer-implemented method of claim 1 , wherein the time period is based on a peak power grid load condition.

3 . The computer implemented method of claim 1 , further comprising the steps of:

determining, for each application, an amount of electricity that can be conserved by executing that application at the reduced performance level;

selecting, based on the amount of electricity that can be conserved for each application, at least one of the applications to be migrated to another group of computers; and

migrating the at least one of the applications to another group of computers.

4 . The computer-implemented method of claim 3 , wherein determining an amount of electricity that can be conserved by executing an application at the reduced power level comprises:

determining whether one or more computers in the groups of computers that host the application can be powered down without compromising the at least one performance metric; and

determining how much electricity can be conserved by powering down the one or more computers.

5 . The computer-implemented method of claim 4 , further comprising determining an operating frequency for computers in the group of computers that hosts the application and remains powered on, wherein determining how much electricity can be conserved further comprises determining how much electricity can be conserved by operating the computers that host the application and remains powered on at the operating frequency.

6 . The computer-implemented method of claim 1 , wherein generating a sequence for executing the applications at reduced performance levels for a time period comprises:

dividing the time period into a plurality of time slots; and

for each time slot, assigning each application to execute at either a normal performance level or at the reduced performance level.

7 . The computer-implemented method of claim 6 , wherein generating a sequence for executing the applications at reduced performance levels for a time period further comprises:

determining, for each time slot, a total amount of electricity that will be consumed by executing the applications based on the assignments;

determining, for each time slot, whether the total amount of electricity that will be consumed by executing the applications meets the electricity usage budget for each time slot;

in response to a determination that the total amount of electricity that will be consumed by executing the applications does not meet the electricity usage budget for at least one of the time slots, identifying one or more of the applications to transfer to a second group of computers; and

transferring the identified one or more applications to the second group of computers.

8 . The computer-implemented method of claim 7 , wherein identifying one or more of the applications to transfer to a second group of computers comprises:

determining, for each application, an amount of electricity that can be conserved by executing that application at the reduced performance level; and

identifying the one or more of the applications that can conserve the least amount of electricity when executed at the reduced performance level.

9 . A computer-implemented method for reducing electricity consumption for a first group of computers hosting a plurality of applications, comprising:

receiving, by a computer, a request to reduce an amount of electricity consumed by the first group of computers to a level below a budgeted amount of electricity for a time period;

analyzing, by a computer, each application to determine a time duration that the application can be executed at a reduced performance level without compromising at least one performance metric associated with the application;

determining, by a computer, based at least on the time duration that each application can be executed at a reduced performance level, whether the applications can be executed in a sequence of varying performance levels to meet the budgeted amount of electricity; and

based on a determination that the applications cannot be sequenced to meet the budgeted amount of electricity:

selecting, by a computer, one or more of the applications to be transferred to a second group of computers;

transferring, by a computer, the selected one or more of the applications to the second group of computers; and

based on a determination that the applications can be sequenced to meet the budgeted amount of electricity:

generating, by a computer, a sequence for executing the applications at reduced performance levels based on the time duration that each application can be executed at a reduced performance level; and

executing, by a computer, the applications according to the generated sequence.

10 . The computer-implemented method of claim 9 , further comprising:

based on a determination that the applications cannot be sequenced to meet the budgeted amount of electricity:

generating a sequence for executing the applications remaining at the first group of computers at reduced performance levels based on the time duration that each application can be executed at a reduced performance level; and

executing the applications remaining at the first group of computers according to the sequence.

11 . The computer-implemented method of claim 9 , wherein selecting one or more of the applications to be transferred to a second group of computers comprises:

determining, for each application, an amount of electricity that can be conserved by executing that application at the reduced performance level for the time duration; and

selecting, based on the amount of electricity that can be conserved for each application, the one or more of the applications to be transferred to the second group of computers.

12 . The computer-implemented method of claim 9 , wherein selecting one or more of the applications to be transferred to a second group of computers comprises:

computing, for each application, a first amount of electricity that can be conserved by executing the application at the reduced performance level;

computing, for each application, a second amount of electricity that the application would consume while operating at a normal performance level;

computing, for each application, a ratio of the first amount to the second amount; and

selecting the one or more applications based on the computed ratios.

13 . A system, comprising:

a plurality of computers for hosting a plurality of applications;

at least one application manager that manages execution of at least one of the applications on a portion of the computers; and

a site broker communicably coupled to the at least one application manager and operable to determine a sequence for executing the applications in a manner to not exceed a power budget for a time period without compromising a performance metric associated with each application, each application being executed in the sequence at a reduced performance level for at least a portion of the time period.

14 . The system of claim 13 , wherein the at least one application manager is operable to determine, for each application managed by the application manager, a time duration that the application can execute at the reduced performance level without compromising the performance metric for that application.

15 . The system of claim 13 , wherein the at least one application manager is operable to determine, for each application managed by the application manager, whether one or more computers hosting the application can be powered down while the application is being executed at the reduced performance level without compromising the performance metric for that application.

16 . The system of claim 15 , wherein the at least one application manager is operable to determine, for each application managed by the application manager, an operating frequency for one or more computer that remain powered.

17 . The system of claim 13 , wherein the site broker is further operable to select one or more of the applications to be transferred from the plurality of computers to a cloud computing environment.

18 . The system of claim 17 , further comprising a hybrid cloud broker operable to select the cloud computing environment from a set of available cloud computing environments.

19 . The system of claim 18 , wherein the at least one application manager is operable to determine, for each of the at least one applications, an amount of electricity that can be saved by executing the application at the reduced performance level for the at least a portion of the time period and further operable to transmit the determined amount to the site broker.

20 . The system of claim 19 , wherein the site broker selects the one or more of the applications to be transferred from the plurality of computers to the cloud computing environment based on the determined amount of electricity that can be conserved for each of the applications.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded Nov 2, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK NATIONAL TRUST COMPANY
Reel/Frame 025227/0391 →