IP Library Granted Patent US 9,618,994
Granted Patent B2
US 9,618,994 · App. 13/648,900 · Granted Apr 11, 2017

Processor clocking policies for mobile computing devices

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 9,618,994
App. No.
13/648,900
Granted
Apr 11, 2017
Kind
B2
Abstract

In one embodiment, a processor of a computing device executes a sequence of instructions that depends on one or more external operations. Software of the computing device determines a clocking policy for the processor during execution of the sequence of instructions. The clocking policy is based at least in part on a pattern of execution involving the sequence of instructions and the external operations, and the clocking policy modifies a clock speed of the processor. The software of the computing device applies the clocking policy to the processor during execution of at least a portion of the sequence of instructions.

Claims (29)

1. A method comprising:

by a processor of a first computing device associated with a first user, executing a sequence of instructions that depends on one or more external operations, wherein the sequence of instructions is associated with a particular application;

by software of the first computing device, receiving, from a remote server, a clocking policy for the processor during execution of the sequence of instructions, the clocking policy configured to modify a clock speed of the processor based at least in part on a pattern related to the execution of the sequence of instructions and the external operations, wherein the pattern is determined by analyzing activity data associated with running the particular application wherein the activity data is stored on the remote server and wherein the activity data is captured over time from the first computing device running the particular application and from a second computing device running the particular application, the second computing device being associated with a second user; and

by the software of the first computing device, applying the clocking policy to the processor during execution of at least a portion of the sequence of instructions.

2. The method of claim 1 , wherein the software is a kernel of an operating system (OS) of the computing device.

3. The method of claim 1 , wherein the computing device is a mobile computing device.

4. The method of claim 1 , wherein one or more of the external operations fetch data for the sequence of instructions.

5. The method of claim 1 , wherein, according to the clocking policy, the processor executes the sequence of instructions at a reduced clock speed before or during an external operation to reduce idling of the processor during the external operation.

6. The method of claim 1 , wherein the pattern comprises an active period of execution of the sequence of instructions followed by an idle period, the idle period occurring before or during performance of the external operations.

7. The method of claim 1 , wherein the clocking policy is further based on a pre-determined and pre-stored policy on the computing device.

8. A first computing system comprising:

a memory comprising instructions executable by one or more processors of a first computing device associated with a first user; and

the one or more processors of the first computing device coupled to the memory and operable to execute the instructions, a particular one of the processors of the first computing device being operable to execute a particular sequence of instructions that depends on one or more external operations, wherein the sequence of instructions is associated with a particular application, the one or more processors of the first computing device being operable when executing the instructions to:

receive, from a remote server, a clocking policy for the particular processor during execution of the particular sequence of instructions, the clocking policy configured to modify a clock speed of the processor based at least in part on a pattern related to the execution of the particular sequence of instructions and the external operations, wherein the pattern is determined by analyzing activity data associated with running the particular application, wherein the activity data is stored on the remote server and wherein the activity data is captured over time from the first computing device running the particular application and from a second computing device running the particular application, the second computing device being associated with a second user; and

apply the clocking policy to the particular processor of the first computing device during execution of at least a portion of the particular sequence of instructions.

9. The system of claim 8 , wherein the computing system is a mobile computing device.

10. The system of claim 8 , wherein one or more of the external operations fetch data for the particular sequence of instructions.

11. The system of claim 8 , wherein, according to the clocking policy, the particular processor executes the particular sequence of instructions at a reduced clock speed before or during an external operation to reduce idling of the particular processor during the external operation.

12. The system of claim 8 , wherein the pattern comprises an active period of execution of the particular sequence of instructions followed by an idle period, the idle period occurring before or during performance of the external operations.

13. The system of claim 8 , wherein the clocking policy is further based on a pre-determined and pre-stored policy in the memory of the computing system.

14. One or more computer-readable non-transitory storage media in one or more computing systems, the one or more computing systems comprising a processor of a first computing device associated with a first user that is operable to execute a sequence of instructions that depends on one or more external operations, wherein the sequence of instructions is associated with a particular application, the media embodying logic that is operable when executed to:

receive, from a remote server, a clocking policy for the processor during execution of the sequence of instructions, the clocking policy configured to modify a clock speed of the processor based at least in part on a pattern related to the execution of the sequence of instructions and the external operations, wherein the pattern is determined by analyzing activity data associated with running the particular application wherein the activity data is stored on the remote server and wherein the activity data is captured over time from the first computing device running the particular application and from a second computing device running the particular application, the second computing device being associated with a second user, and

apply the clocking policy to the processor of the first computing device during execution of at least a portion of the sequence of instructions.

15. The media of claim 14 , wherein the logic comprises a kernel of an operating system (OS).

16. The media of claim 14 , wherein the processor is in a mobile computing device.

17. The media of claim 14 , wherein one or more of the external operations fetch data for the sequence of instructions.

18. The media of claim 14 , wherein, according to the clocking policy, the processor executes the sequence of instructions at a reduced clock speed before or during an external operation to reduce idling of the processor during the external operation.

19. The media of claim 14 , wherein the pattern comprises an active period of execution of the sequence of instructions followed by an idle period, the idle period occurring before or during performance of the external operations.

20. The media of claim 14 , wherein the clocking policy is further based on a pre-determined and pre-stored policy on a computing system.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →