Thread management based on device power state
First Claim
Patent Images
1. A system comprising:
- a memory area for storing a list of active threads being executed by a mobile computing device and a list of suspended threads, said memory area further storing a power priority value for each of the active threads and the suspended threads, said memory area storing a default power priority value for each of the active threads and suspended threads if a power profile does not exist, wherein the default power priority value prevents the threads from running in any power state other than an active power state, wherein the power state comprises at least one of the following;
ON, IDLE, ACTIVE, STANDBY, RECHARGING, BATTERY POWER LEVEL, or BACKLIGHT OFF; and
a processor programmed to;
determine a power state of the mobile computing device upon detection of a change in the power state, the determined power state representing one of a plurality of power states each mapped to one of a plurality of threshold values;
identify one of the plurality of threshold values corresponding to the determined power state;
compare the identified threshold value to the power priority value for each of the active threads and suspended threads individually; and
alter the list of active threads and the list of suspended threads by moving at least one thread between the list of active threads and the list of suspended threads based on the comparison to manage the power state of the mobile computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Managing threads for executing on a computing device based on a power state of the computing device. A power priority value corresponding to each of the threads is compared to a threshold value associated with the power state. The threads having an assigned power priority value that violates the threshold value are suspended from executing, while the remaining threads are scheduled for execution. When the power state of the computing device changes, the threads are re-evaluated for suspension or execution. In an embodiment, the threads on a mobile computing device are managed to maintain the processor in a low power state to reduce power consumption.
-
Citations
20 Claims
-
1. A system comprising:
-
a memory area for storing a list of active threads being executed by a mobile computing device and a list of suspended threads, said memory area further storing a power priority value for each of the active threads and the suspended threads, said memory area storing a default power priority value for each of the active threads and suspended threads if a power profile does not exist, wherein the default power priority value prevents the threads from running in any power state other than an active power state, wherein the power state comprises at least one of the following;
ON, IDLE, ACTIVE, STANDBY, RECHARGING, BATTERY POWER LEVEL, or BACKLIGHT OFF; anda processor programmed to; determine a power state of the mobile computing device upon detection of a change in the power state, the determined power state representing one of a plurality of power states each mapped to one of a plurality of threshold values; identify one of the plurality of threshold values corresponding to the determined power state; compare the identified threshold value to the power priority value for each of the active threads and suspended threads individually; and alter the list of active threads and the list of suspended threads by moving at least one thread between the list of active threads and the list of suspended threads based on the comparison to manage the power state of the mobile computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing threads for execution based on a power state of a computing device, said method comprising:
-
identifying a plurality of threads for execution on a computing device, wherein a default power priority value is associated with each of the identified threads if a power profile does not exist, wherein the default power priority value prevents the identified threads from running in any power state other than an active power state, wherein the power state comprises at least one of the following;
ON, IDLE, ACTIVE, STANDBY, RECHARGING, BATTERY POWER LEVEL, or BACKLIGHT OFF;determining a power priority value for each of the identified threads, the power priority value being distinct from a process priority value; determining a threshold value for the computing device, said threshold value being one of a plurality of threshold values each corresponding to one of a plurality of power states of the computing device; comparing the determined threshold value to the determined power priority value for each of the identified threads individually; selecting one or more of the plurality of threads based on said comparing; and executing the selected one or more threads. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more computer storage media having computer-executable components, said components comprising:
-
a detection component for receiving a request for execution of a thread, for assigning a default power priority value to the thread if a power profile does not exist, and for determining a power priority value associated with the thread if the power profile exists, wherein the default power priority value prevents the thread from running in any power state other than an active power state, wherein the power state comprises at least one of the following;
ON, IDLE, ACTIVE, STANDBY, RECHARGING, BATTERY POWER LEVEL, or BACKLIGHT OFF, the power priority value being distinct from a process priority value;a state component for determining a threshold value for a computing device, said threshold value being one of a plurality of threshold values each corresponding to one of a plurality of power states of the computing device; a priority component for comparing the power priority value associated with the thread and determined by the detection component with the threshold value determined by the state component; and a dispatcher component for scheduling the thread for execution if the power priority value determined by the detection component violates the threshold value determined by the state component, and for suspending execution of the thread if otherwise. - View Dependent Claims (18, 19, 20)
-
Specification