IP Library Granted Patent US 8,250,384
Granted Patent B2
US 8,250,384 · App. 12/348,462 · Granted Aug 21, 2012

Optimizer mechanism to increase battery length for mobile devices

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 8,250,384
App. No.
12/348,462
Granted
Aug 21, 2012
Kind
B2
Abstract

An optimizer mechanism to increase battery length for mobile devices is provided. An operational state of a data processing system, e.g., a mobile device, is adjusted so as to achieve a target time period of operation when the data processing system is using a depleting power supply. A predicted power consumption of individual processes executing on the data processing system is determined and a remaining amount of power that the depleting power supply can provide is also determined. A subset of processes whose execution can be suspended is determined so that the data processing system can operate for the target period of time based on the predicted power consumption of the individual processes and the amount of power that the depleting power supply can provide. The identified subset of processes are placed in a suspended execution state.

Claims (55)

1. A method, in a data processing system, for adjusting an operational state of the data processing system so as to achieve a target time period of operation when the data processing system is using a depleting power supply, the method comprising:

determining a predicted power consumption of individual processes executing on the data processing system;

determining a remaining amount of power that the depleting power supply can provide;

identifying a subset of processes whose execution can be suspended so that the data processing system can operate for the target period of time based on the predicted power consumption of the individual processes and the amount of power that the depleting power supply can provide; and

placing the identified subset of processes in a suspended execution state.

2. The method of claim 1 , further comprising:

receiving a user input specifying the target time period of operation of the data processing system.

3. The method of claim 1 , wherein identifying a subset of processes whose execution can be suspended comprises prioritizing the processes executing on the data processing system.

4. The method of claim 3 , wherein prioritizing the processes executing on the data processing system comprise assigning priorities to processes in a list of running processes according to characteristics of the processes, and wherein the characteristics of the processes comprises a characteristic indicating whether a user has specified the process to be required to execute during the target period of time.

5. The method of claim 4 , wherein the characteristics of the processes further comprises at least one of:

a characteristic indicating whether a process has one or more other processes indicated by the user to be required to execute during the target period of time,

a characteristic indicating whether a process is required by an operating system, or

a characteristic indicating whether a process is required for proper operation of a device in the data processing system utilized by another process specified by the user as being required to execute during the target time period.

6. The method of claim 5 , further comprising:

dynamically adjusting, during the target time period of operation, the identified subset of processes in the suspended execution state by either adding one or more processes to or removing one or more processes from the identified subset of processes in the suspended execution state in response to the predicted power consumption of individual processes executing on the data processing system and the remaining amount of power that the depleting power supply can provide changing.

7. The method of claim 1 , repeatedly performing the method during the target time period of operation in either a constant or periodic manner.

8. The method of claim 1 , further comprising:

maintaining a list of processes placed in the suspended execution state; and

removing processes from the list of processes placed in the suspended execution state in response to one of the data processing system being coupled to a constant supply of power or a change in the predicted power consumption of individual processes executing on the data processing system or a remaining amount of power that the depleting power supply can provide indicating an excess amount of available power for a remaining amount of the target time period.

9. The method of claim 8 , further comprising:

storing a state of each of the processes placed in the suspended execution state;

restoring a state of a process in response to the process being removed from the list of processes placed in the suspended execution state; and

executing the process whose state is restored.

10. The method of claim 1 , further comprising:

modifying an operating speed of one or more devices of the data processing system based on the predicted power consumption of individual processes executing on the data processing system and the remaining amount of power that the depleting power supply can provide.

11. A computer program product comprising a non-transitory computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:

determine a predicted power consumption of individual processes executing on the computing device;

determine a remaining amount of power that the depleting power supply can provide;

identify a subset of processes whose execution can be suspended so that the data processing system can operate for the target period of time based on the predicted power consumption of the individual processes and the amount of power that the depleting power supply can provide; and

place the identified subset of processes in a suspended execution state.

12. The computer program product of claim 11 , wherein the computer readable program further causes the computing device to:

receive a user input specifying the target time period of operation of the computing device.

13. The computer program product of claim 11 , wherein the computer readable program causes the computing device to identify a subset of processes whose execution can be suspended by prioritizing the processes executing on the computing device.

14. The computer program product of claim 13 , wherein the computer readable program further causes the computing device to prioritize the processes executing on the computing device by assigning priorities to processes in a list of running processes according to characteristics of the processes, and wherein the characteristics of the processes comprises a characteristic indicating whether a user has specified the process to be required to execute during the target period of time.

15. The computer program product of claim 14 , wherein the characteristics of the processes further comprises at least one of:

a characteristic indicating whether a process has one or more other processes indicated by the user to be required to execute during the target period of time,

a characteristic indicating whether a process is required by an operating system, or

a characteristic indicating whether a process is required for proper operation of a device in the computing device utilized by another process specified by the user as being required to execute during the target time period.

16. The computer program product of claim 15 , wherein the computer readable program further causes the computing device to:

dynamically adjust, during the target time period of operation, the identified subset of processes in the suspended execution state by either adding one or more processes to or removing one or more processes from the identified subset of processes in the suspended execution state in response to the predicted power consumption of individual processes executing on the computing device and the remaining amount of power that the depleting power supply can provide changing.

17. The computer program product of claim 11 , wherein the computer readable program further causes the computing device to repeatedly perform the determine, identify, and place operations during the target time period of operation in either a constant or periodic manner.

18. The computer program product of claim 11 , wherein the computer readable program further causes the computing device to:

maintain a list of processes placed in the suspended execution state; and

remove processes from the list of processes placed in the suspended execution state in response to one of the computing device being coupled to a constant supply of power or a change in the predicted power consumption of individual processes executing on the computing device or a remaining amount of power that the depleting power supply can provide indicating an excess amount of available power for a remaining amount of the target time period.

19. The computer program product of claim 18 , wherein the computer readable program further causes the computing device to:

store a state of each of the processes placed in the suspended execution state;

restore a state of a process in response to the process being removed from the list of processes placed in the suspended execution state; and

execute the process whose state is restored.

20. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

determine a predicted power consumption of individual processes executing on the computing device;

determine a remaining amount of power that the depleting power supply can provide;

identify a subset of processes whose execution can be suspended so that the data processing system can operate for the target period of time based on the predicted power consumption of the individual processes and the amount of power that the depleting power supply can provide; and

place the identified subset of processes in a suspended execution state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2009
From: BORGHETTI, STEFANO; DELLA CORTE, GIANLUCA; GIANFAGNA, LEONIDA; SGRO, ANTONIO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022065/0157 →
Continuity (1)
Related Publication 20100174928A1 · Jul 8, 2010