IP Library Granted Patent US 8,751,845
Granted Patent B2
US 8,751,845 · App. 13/154,467 · Granted Jun 10, 2014

Estimating and preserving battery life based on usage patterns

Inventors: Javier N. Flores Assad (Bothell, WA); Maher Afif Saba (Seattle, WA); Pantelis Apostolopoulos (Kirkland, WA); Daniel Guilherme Paixao Deschamps (Redmond, WA); Iulian D. Calinov (Sammamish, WA); Wannittha Thapanakul (Kirkland, WA)
Assignee: Microsoft 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,751,845
App. No.
13/154,467
Granted
Jun 10, 2014
Kind
B2
Abstract

Embodiments apply user-specific usage patterns to estimate and preserve remaining battery life on a computing device. An amount of battery drain and an execution context are determined and stored for a plurality of recurring time periods. The execution context identifies operations executed by the computing device, signal strength, and other data describing the associated time period. If one of the operations is expected to be executed during a recurrence of at least one of the time periods, the expected execution is adjusted based on execution context and an estimated remaining battery life for the computing device. For example, the computing device may postpone or reschedule the operation for a time period during which the operation is expected to have a greater likelihood of completing successfully. In some embodiments, the battery preservation operations are automatically enabled at a particular threshold.

Claims (37)

1. A system for preserving device battery life based on usage patterns, said system comprising:

a memory area associated with a computing device, said memory area storing a plurality of battery records each associated with one of a plurality of recurring time periods, each of the plurality of battery records including an amount of battery drain and a corresponding execution context for the computing device during the associated time period, said execution context identifying one or more operations executed by the computing device during the associated time period and identifying a success rate associated with each of the operations; and

a processor programmed to:

predict, based on the battery records stored in the memory area, battery drain for the computing device during a recurrence of one of the plurality of recurring time periods;

identify an expected execution of at least one of the operations during the recurrence of said one of the plurality of recurring time periods; and

adjust the identified, expected execution of the operation based on an estimated remaining battery life for the computing device and based on the success rate of the operation from the battery record associated with said one of the plurality of recurring time periods.

2. The system of claim 1 , wherein the memory area represents cloud storage, and wherein the processor is programmed to predict the battery drain by estimating, based on the battery records stored in the cloud storage, the remaining battery life for the computing device.

3. The system of claim 1 , wherein each of the recurring time periods comprises a three-hour segment.

4. The system of claim 1 , wherein the processor is further programmed to associate the plurality of battery records with the computing device and a user of the computing device.

5. The system of claim 1 , wherein the processor is further programmed to calculate a rolling average of battery drain based on the records stored in the memory area, and wherein the processor is programmed to predict the battery drain for the computing device during the recurrence of one of the plurality of recurring time periods based on the calculated rolling average of battery drain.

6. The system of claim 1 , wherein the processor is further programmed to calculate a rolling average of battery drain based on the records stored in the memory area, and wherein the processor is further programmed to predict when to charge the computing device based on the calculated rolling average of battery drain.

7. The system of claim 1 , wherein the processor is further programmed to analyze the battery records stored in the memory area to identify one or more of the operations having the amount of battery drain exceeding a pre-defined threshold.

8. The system of claim 1 , wherein the processor is further programmed to analyze the battery records stored in the memory area to identify one or more of the recurring time periods having the success rate exceeding a pre-defined threshold.

9. The system of claim 1 , wherein the processor is programmed to adjust the identified, expected execution of the operation by suppressing the execution if the success rate associated with the operation is less than a pre-defined threshold.

10. The system of claim 1 , wherein the processor is programmed to adjust the identified, expected execution of the operation by:

determining if the success rate of the operation during said one of the plurality of recurring time periods is less than a pre-defined threshold;

based on said determining, identifying another one of the plurality of recurring time periods during which the success rate of the operation is greater than the pre-defined threshold; and

rescheduling the execution for said another one of the plurality of recurring time periods.

11. The system of claim 1 , further comprising means for analyzing the defined battery records to identify battery usage patterns.

12. A method comprising:

determining, by a computing device, an amount of battery drain and an execution context for the computing device during one of a plurality of recurring time periods, said execution context identifying one or more operations executed by the computing device during said one of the plurality of recurring time periods and a success rate associated with each of the operations;

identifying an expected execution of at least one of the operations during a recurrence of said one of the plurality of recurring time periods; and

adjusting, by the computing device, the identified, expected execution based on the determined execution context and an estimated remaining battery life for the computing device.

13. The method of claim 12 , further comprising defining a battery record for each of the plurality of recurring time periods, each battery record including the determined amount of battery drain and the corresponding, identified execution context for one of the plurality of recurring time periods.

14. The method of claim 13 , further comprising predicting, based on the defined battery records, battery drain for the computing device during the recurrence of said one of the plurality of recurring time periods.

15. The method of claim 12 , wherein determining the execution context comprises identifying one or more of the following: average battery drain, success rate of the executed operations, a network traffic quantity, and network traffic congestion.

16. The method of claim 12 , wherein adjusting the identified, expected execution comprises suppressing the identified, expected execution to conserve the estimated remaining battery life.

17. The method of claim 12 , wherein adjusting the identified, expected execution comprises rescheduling the identified, expected execution to conserve the estimated remaining battery life.

18. One or more computer storage media embodying computer-executable components, said components comprising:

a context component that when executed causes at least one processor to determine, for a computing device during one of a plurality of recurring time periods, an amount of battery drain, one or more operations executed by the computing device during said one of the plurality of recurring time periods, and a success rate corresponding to each of the operations performed by the computing device during said one of the plurality of recurring time periods;

a detection component that when executed causes at least one processor to identify an expected execution of at least one of the operations during a recurrence of said one of the plurality of recurring time periods; and

a scheduler component that when executed causes at least one processor to adjust the identified, expected execution based on an estimated remaining battery life for the computing device and based on the success rate of the operation during said one of the plurality of recurring time periods.

19. The computer storage media of claim 18 , wherein the context component further:

identifies at least one of the plurality of recurring time periods during which the computing device is charged;

calculates the estimated remaining battery life; and

notifies a user of the computing device if the calculated, estimated remaining battery life is insufficient to last until a recurrence of said at least one of the plurality of recurring time periods.

20. The computer storage media of claim 18 , wherein the success rate corresponds to signal strength.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2011
From: ASSAD, JAVIER N. FLORES; SABA, MAHER AFIF; APOSTOLOPOULOS, PANTELIS; DESCHAMPS, DANIEL GUILHERME PAIXAO; CALINOV, IULIAN D.; THAPANAKUL, WANITTHA
To: MICROSOFT CORPORATION
Reel/Frame 026398/0589 →
Continuity (1)
Related Publication 20120317432A1 · Dec 13, 2012