# US 8,751,845 B2 · Estimating and preserving battery life based on usage patterns

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,845 B2
- Document ID: US8751845B2
- Status: Granted
- Kind: B2
- Application number: 13/154,467
- Filed: 2011-06-07
- Published: 2012-12-13
- Granted: 2014-06-10
- Earliest claimed: 2011-06-07
- Assignees: Microsoft Corporation
- Applicants: Javier N. Flores Assad; Maher Afif Saba; Pantelis Apostolopoulos; Daniel Guilherme Paixao Deschamps; Iulian D. Calinov; Wannittha Thapanakul
- Inventors: Javier N. Flores Assad; Maher Afif Saba; Pantelis Apostolopoulos; Daniel Guilherme Paixao Deschamps; Iulian D. Calinov; Wannittha Thapanakul
- Web page: https://patentgrep.com/patent/US8751845B2

## CPC

- G06F 1/3212: Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
- G06F 1/325: {Power saving in peripheral device}
- G06F 1/329: by task scheduling
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 1)

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

### Claim 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.

### Claim 13 (depends on 12)

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.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 12)

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.

### Claim 16 (depends on 12)

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

### Claim 17 (depends on 12)

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

### Claim 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.

### Claim 19 (depends on 18)

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.

### Claim 20 (depends on 18)

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