IP Library › Granted Patent US 7,853,812
Granted Patent B2
US 7,853,812 · App. 11/672,058 · Granted Dec 14, 2010

Reducing power usage in a software application

Assignee: International Business Machines 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 7,853,812
App. No.
11/672,058
Granted
Dec 14, 2010
Kind
B2
Abstract

A computer implemented method, an apparatus, and computer usable program code for reducing the amount of power used when executing a set of applications is provided. A controller determines an operating condition for the data processing system. Responsive to the operating condition being above a threshold, the controller switches the set of applications to a low power path. Responsive to the operating condition being below the threshold and the set of applications operating at the low power path, the controller switches the set of applications to a normal operating path.

Claims (44)

1. A method for reducing the amount of power used by a data processing system, the computer implemented method comprising:

determining, by a controller, an operating condition for the data processing system, the operating condition being selected from a group comprising an operating temperature, an amount of processing power used, an amount of battery power used, a number of applications operating at one time, and types of applications operating at one time;

responsive to the operating condition being above a threshold, switching, by the controller, an application to a low power path;

responsive to the operating condition being below the threshold and the application operating at the low power path, switching, by the controller, the application to a normal operating path, wherein the application includes the low power path and the normal operating path;

responsive to the operating condition still being above the threshold after the application switches to the first low power path, switching the application to a next low power path, wherein the next low power path uses less power than a previous low power path;

determining whether the next low power path is a lowest low power path, wherein the lowest low power path uses a lowest amount of power among the plurality of operating paths; and

responsive to the next low power path being the lowest low power path and the operating condition is above the threshold, notifying a user to investigate further.

2. The method of claim 1 , wherein the low power path comprises at least one of a reduction in a frequency of an operation and a reduction in a number of functions available to a user.

3. The method of claim 2 , wherein the reduction in the frequency of an operation is the number of times the operation is refreshed.

4. The method of claim 1 , wherein the step of switching, by the controller, the application to a low power path comprises:

executing a command line switch that switches the application from the normal operating path to the low power path.

5. The method of claim 1 , wherein the step of switching, by the controller, the application to a low power path comprises:

executing a compiler flag that initializes a low power path version of the application.

6. The method of claim 1 , further comprising:

providing a user with the option of selecting the low power path or the normal operating path when executing the application.

7. The method of claim 1 , wherein the threshold is one of a default value, an empirically determined value, and a user-defined value.

8. The method of claim 1 , wherein the controller is one of a hardware embodiment, a software embodiment, and a software and hardware embodiment.

9. A data processing system comprising:

a storage device that stores a threshold for an operating condition for a data processing system, a low power path for an application, and a normal operating path for the application; and

a controller coupled to the storage device, wherein the controller determines the operating condition for the data processing system, the operating condition being selected from a group comprising, an operating temperature, an amount of processing power used, an amount of battery power used, a number of applications operating at one time, and types of applications operating at one time, wherein the controller switches the application to the low power path in response to the operating condition being above the threshold, wherein the controller switches the application to the normal operating path in response to the operating condition being below the threshold and the application operating at the low power path, wherein the application includes the low power path and the normal operating path, wherein the controller switches the application to a next low power path in response to the operating condition still being above the threshold after the application switches to the first low power path, wherein the next low power path uses less power than a previous low power path;

wherein the controller determines whether the next low power path is a lowest low power path, wherein the lowest low power path uses a lowest amount of power among the plurality of operating paths; and

wherein in response to the next low power path being the lowest low power path and the operating condition is above the threshold, the controller notifies a user to investigate further.

10. The data processing system of claim 9 , wherein the low power path comprises at least one of a reduction in a frequency of an operation and a reduction in a number of functions available to a user.

11. The data processing system of claim 9 , wherein switching the application to the low power path comprises one of executing a command line switch that changes the application from the normal operating path to the low power path and executing a compiler flag that initializes a low power path version of the application.

12. A computer program product comprising a non-transitory computer usable storage medium including computer usable program code for reducin the amount of power used by a data processing system, the computer program produci comprising:

computer usable program code for determining, by a controller, an operating condition for the data processing system; the operating condition being selected from a group comprising an operating temperature, an amount of processing power used, an amount of battery power used, a number of applications operating at one time, and types of applications operating at one time;

responsive to the operating condition being above a threshold, computer usable program code for switching, by the controller, an application to a low power path; and

responsive to the operating condition being below the threshold and the application operating at the low power path, computer usable program code for switching, by the controller, the application to a normal operating path,

responsive to the operating condition still being above the threshold after the application switches to the first low power path, computer usable program code for switching the application to a next low power path, wherein the next low power path uses less power than a previous low power path;

determining that the next low power path is a lowest low power path, wherein the lowest low power path uses a lowest amount of power among the plurality of operating paths; and

responsive to the next low power path being the lowest low power path and the operating condition is above the threshold, computer usable program code for notifying a user to investigate further.

13. The computer program product of claim 12 , wherein the low power path is at least one of a reduction in a frequency of an operation and a reduction in a number of functions available to a user.

14. The computer program product of claim 12 , wherein the computer usable program code for switching, by the controller, the application to a low power path comprises:

computer usable program code for executing a command line switch that switches the application from the normal operating path to the low power path.

15. The computer program product of claim 12 , wherein the computer usable program code for switching, by the controller, the application to a low power path comprises:

computer usable program code for executing a compiler flag that initializes a low power path version of the application.

16. The computer program product of claim 12 , wherein the threshold is one of a default value, an empirically determined value, and a user-defined value.

17. A data processing system comprising:

a means for determining an operating condition for the data processing system, the operating condition being selected from a group comprising, an operating temperature, an amount of processing power used, an amount of battery power used, a number of applications operating at one time, and types of applications operating at one time;

responsive to the operating condition being above a threshold, a means for switching an application to a low power path;

responsive to the operating condition being below the threshold and the application operating at the low power path, a means for switching the application to a normal operating path, wherein the application includes the low power path and the normal operating power path;

responsive to the operating condition still being above the threshold after the application switches to the first low power path, a means for switching the application to a next low power path, wherein the next low power path uses less power than a previous low power path;

a means for determining whether the next low power path is a lowest low power path, wherein the lowest low power path uses a lowest amount of power among the plurality of operating paths; and

responsive to the next low power path being the lowest low power path and the operating condition is above the threshold, a means for notifying a user to investigate further.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2007
From: MCBREARTY, GERALD F; ROMANICK, IAN D; SHIEH, JOHNNY M
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018862/0498 →
Continuity (1)
Related Publication 20080189562A1 · Aug 7, 2008