# US 10,455,509 B2 · Energy efficient data handling for mobile devices

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

- Number: US 10,455,509 B2
- Document ID: US10455509B2
- Status: Granted
- Kind: B2
- Application number: 15/588,115
- Filed: 2017-05-05
- Published: 2017-08-24
- Granted: 2019-10-22
- Earliest claimed: 2017-05-05
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Yunxin Liu; Thomas Moscibroda; Ranveer Chandra; Yongguang Zhang; Fengyuan Xu
- Web page: https://patentgrep.com/patent/US10455509B2

## CPC

- H04W 52/0225: {using monitoring of external events, e.g. the presence of a signal}
- G06F 1/3209: Monitoring remote activity, e.g. over telephone lines or network connections
- G06F 1/3275: {Power saving in memory, e.g. RAM, cache}
- G06F 1/3278: {Power saving in modem or I/O interface}
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 67/55: Push-based network services
- H04W 4/12: Messaging; Mailboxes; Announcements
- H04W 52/0216: {using a pre-established activity schedule, e.g. traffic indication frame}
- H04W 52/0229: {where the received signal is a wanted signal}
- H04W 52/0251: {using monitoring of local events, e.g. events related to user activity}
- G06F 3/0625: {Power saving in storage systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04W 88/02: Terminal devices
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- Y02D 30/70: in wireless communication networks
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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

The techniques described herein reduce a rate at which a mobile device consumes energy when receiving, processing and storing data events (e.g., emails, instant messages, social networking messages and notifications, etc.). In various embodiments, the techniques may be implemented in accordance with a connected standby mode of operation for the mobile device. Therefore, the techniques may decouple data reception from data processing when exchanging data events in the connected standby mode. In various embodiments, the techniques may store persistent memory operations for multiple data events in a temporary cache and process the stored persistent memory operations as a batch (e.g., perform the persistent memory operations together). In various embodiments, the techniques may partition data storage space allocated for data communications applications on the mobile device.

## Claims

### Claim 1

A mobile device comprising:
one or more processors; and
computer storage media storing computer executable instructions that, when executed by the one or more processors, perform operations comprising:
while the mobile device is in a connected standby mode, receiving a persistent memory operation for data associated with a data event at the mobile device, the connected standby mode configuring the mobile device to maintain a persistent connection to a data network from which the data associated with the data event is received;
while the mobile device is in the connected standby mode, storing, in a temporary cache of the mobile device, the persistent memory operation and the data associated with the data event; and
based on receiving a trigger to commit the stored persistent memory operation and the data, performing, on the data, the persistent memory operation to a persistent memory of the mobile device.

### Claim 2 (depends on 1)

The mobile device as recited in claim 1, wherein the trigger is received in response to reaching a predetermined data threshold stored in the temporary cache.

### Claim 3 (depends on 2)

The mobile device as recited in claim 2, wherein the trigger is received after a count of persistent memory operations stored in the temporary cache reaches a threshold number.

### Claim 4 (depends on 1)

The mobile device as recited in claim 1, wherein the operations further comprise:
predicting a processing result for the data prior to completing processing of the data; and
determining whether to accept a transmission of second data based on the predicted processing result.

### Claim 5 (depends on 1)

The mobile device as recited in claim 1, wherein performing the persistent memory operation occurs after a network interface of the mobile device is deactivated under a low energy consumption state of the connected standby mode.

### Claim 6 (depends on 1)

The mobile device as recited in claim 1, wherein the persistent memory operation further comprises a persistent memory write operation.

### Claim 7 (depends on 1)

The mobile device as recited in claim 1, further comprising:
receiving the persistent memory operation for second data associated with a second data event at the mobile device;
storing, in the temporary cache of the mobile device, the second data associated with the second data event; and
based on receiving the trigger to commit the stored persistent memory operation, the data, and the second data, performing the memory operation to the persistent memory of the mobile device.

### Claim 8 (depends on 7)

The mobile device as recited in claim 7, wherein performing the memory operation to the persistent memory of the mobile device comprises:
performing, in a batched process on the data and the second data, the memory operation to the persistent memory of the mobile device.

### Claim 9

A mobile device comprising:
one or more processors; and
computer storage media storing computer executable instructions that, when executed by the one or more processors, perform operations comprising:
creating a small partition and a large partition in persistent memory, wherein the small partition stores one or more data events, each of the one or more data events associated with metadata;
while the mobile device is in a connected standby mode:
receiving a new data event of the one or more data events,
storing the new data event in the small partition, and
in response to storing the new data event in the small partition, updating the metadata associated with each of the one or more data events stored in the small partition;
determining an opportunity to move the new data event from the small partition to the large partition;
moving the new data event from the small partition to the large partition; and
updating information in the large partition based on the new data event,
wherein while the mobile device is in a connected standby mode, the mobile device is configured to maintain a persistent connection to a data network.

### Claim 10 (depends on 9)

The mobile device of claim 9, wherein the small partition and the large partition are each allocations of space in persistent memory.

### Claim 11 (depends on 9)

The mobile device of claim 9, wherein the new data event comprises an exchange of data, wherein the data comprises one of: an email message, an instant message, a social networking message, or a gaming message.

### Claim 12 (depends on 9)

The mobile device of claim 9, wherein creating the small partition and the large partition further comprises:
separating the one or more data events into the small partition and the large partition, wherein newer data events of the one or more data events are stored in the small partition.

### Claim 13 (depends on 9)

The mobile device of claim 9, wherein the small partition stores a threshold amount of data relating to the one or more data events.

### Claim 14 (depends on 9)

The mobile device of claim 9, wherein the small partition stores a threshold number of data events.

### Claim 15 (depends on 9)

The mobile device of claim 9, wherein the metadata includes information for organizing data events within one of the small partition or the large partition.

### Claim 16 (depends on 9)

The mobile device of claim 9, further comprising:
in response to storing the new data event in the small partition, not updating metadata associated with the large partition.

### Claim 17

A method of batching persistent memory operations for multiple data events in a mobile device, the method comprising:
while the mobile device is in a connected standby mode, receiving a persistent memory operation for data associated with a data event at the mobile device, the connected standby mode configuring the mobile device to maintain a persistent connection to a data network from which the data associated with the data event is received;
while the mobile device is in the connected standby mode, storing, in a temporary cache of the mobile device, the persistent memory operation and the data associated with the data event; and
based on receiving a trigger to commit the stored persistent memory operation and the data, performing, on the data, the persistent memory operation to a persistent memory of the mobile device.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
receiving the persistent memory operation for second data associated with a second data event at the mobile device;
storing, in the temporary cache of the mobile device, the second data associated with the second data event; and
based on receiving the trigger to commit the stored persistent memory operation, the data, and the second data, performing the persistent memory operation to the persistent memory of the mobile device.

### Claim 19 (depends on 18)

The method of claim 18, wherein performing the memory operation to the persistent memory of the mobile device comprises:
performing, in a batched process on the data and the second data, the memory operation to the persistent memory of the mobile device.
