# US 10,375,645 B2 · Power management via coordination and selective operation of timer-related tasks

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

- Number: US 10,375,645 B2
- Document ID: US10375645B2
- Status: Granted
- Kind: B2
- Application number: 15/625,590
- Filed: 2017-06-16
- Published: 2017-10-05
- Granted: 2019-08-06
- Earliest claimed: 2014-11-19
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Sudeesh R. Pingili; Bharath Siravara; Martin Regen; Ray Brown; Justin Mann; Stephane Karoubi; Li Xu
- Web page: https://patentgrep.com/patent/US10375645B2

## CPC

- H04W 52/0261: {managing power supply demand, e.g. depending on battery level}
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 9/4418: {Suspend and resume; Hibernate and awake}
- H04W 4/20: Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W 52/0251: {using monitoring of local events, e.g. events related to user activity}
- 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)
- 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

Mobile computing device power consumption can be reduced by using expiration window timers, state-based timers and/or the coordination of keep-alive timers. A mobile computing device can execute tasks associated with multiple keep-alive timers used for maintaining communication links between the device and cloud-based service providers in a single active state. A cloud-based keep-alive service can maintain mobile computing device-service provider communication links by sending one keep-alive communication to a mobile computing device in place of multiple communications. Upon receiving a response, the keep-alive surface can send a plurality of keep-alive communications to a plurality of cloud-based service providers.

## Claims

### Claim 1

A networked computing system comprising a processor and memory, wherein the networked computing system implements a keep-alive service, the networked computing system being adapted to perform a method of maintaining communication between a mobile computing device and a plurality of cloud-based service providers, the method comprising:
sending a first keep-alive communication for the keep-alive service to the mobile computing device;
receiving a response to the first keep-alive communication from the mobile computing device for the keep-alive service; and
responsive to receiving the response to the first keep-alive communication, sending a plurality of second keep-alive communications for the keep-alive service to the plurality of cloud-based service providers, respectively.

### Claim 2 (depends on 1)

The networked computing system of claim 1, wherein the method further comprises determining that a keep-alive timer associated with a communication link between one of the plurality of cloud-based service providers and the mobile computing device has expired or is permitted to expire.

### Claim 3 (depends on 2)

The networked computing system of claim 2, wherein the determining comprises receiving a keep-alive message from one of the plurality of cloud-based service providers.

### Claim 4 (depends on 2)

The networked computing system of claim 2, wherein the sending the first keep-alive communication is performed as a result of the determining.

### Claim 5 (depends on 1)

The networked computing system of claim 1, wherein at least one of the plurality of second keep-alive communications is sent to one of the plurality of cloud-based service providers that is operating or associated with an unexpired keep-alive timer.

### Claim 6 (depends on 1)

The networked computing system of claim 1, wherein the method further comprises determining that a plurality of keep-alive timers, each associated with a communication link between one of the plurality of cloud-based service providers and the mobile computing device, have expired or are permitted to expire.

### Claim 7 (depends on 6)

The networked computing system of claim 6, wherein the sending the first keep-alive communication is performed as a result of the determining.

### Claim 8 (depends on 1)

The networked computing system of claim 1, wherein sending the plurality of second keep-alive communications comprises sending the response to the first keep-alive communication to the plurality of cloud-based service providers.

### Claim 9

A method of maintaining communication between a mobile computing device and a plurality of cloud-based service providers, the method comprising:
determining that a plurality of keep-alive timers, each associated with a communication link between one of the plurality of cloud-based service providers and the mobile computing device, have expired or are permitted to expire;
sending a first keep-alive communication for the keep-alive service to the mobile computing device;
receiving a response to the first keep-alive communication from the mobile computing device for the keep-alive service; and
sending a plurality of second keep-alive communications for the keep-alive service to the plurality of cloud-based service providers, respectively.

### Claim 10 (depends on 9)

The method of claim 9, wherein the determining comprises receiving a keep-alive message from one of the plurality of cloud-based service providers.

### Claim 11 (depends on 9)

The method of claim 9, wherein the sending the first keep-alive communication is performed as a result of the determining.

### Claim 12 (depends on 9)

The method of claim 9, wherein at least one of the plurality of second keep-alive communications is sent to one of the plurality of cloud-based service providers that is operating or associated with an unexpired keep-alive timer.

### Claim 13

One or more computer-readable memory storing computer-executable instructions for causing a mobile computing device programmed thereby to perform a method of maintaining communication between the mobile computing device and a plurality of cloud-based service providers, comprising:
sending a first keep-alive communication for the keep-alive service to the mobile computing device;
receiving a response to the first keep-alive communication from the mobile computing device for the keep-alive service; and
responsive to receiving the response to the first keep-alive communication, sending a plurality of second keep-alive communications for the keep-alive service to the plurality of cloud-based service providers, respectively.

### Claim 14 (depends on 13)

The one or more computer-readable memory of claim 13, wherein the method further comprises:
determining that a keep-alive timer associated with a communication link between one of the plurality of cloud-based service providers and the mobile computing device has expired or is permitted to expire, wherein the sending the first keep-alive communication is performed as a result of the determining.

### Claim 15 (depends on 14)

The one or more computer-readable memory of claim 14, wherein the determining comprises receiving a keep-alive message from one of the plurality of cloud-based service providers.

### Claim 16 (depends on 13)

The one or more computer-readable memory of claim 13, wherein at least one of the plurality of second keep-alive communications is sent to one of the plurality of cloud-based service providers that is operating or associated with an unexpired keep-alive timer.

### Claim 17 (depends on 13)

The one or more computer-readable memory of claim 13, wherein the method further comprises determining that a plurality of keep-alive timers, each associated with a communication link between one of the plurality of cloud-based service providers and the mobile computing device, have expired or are permitted to expire, and wherein the sending the first keep-alive communication is performed as a result of the determining.

### Claim 18 (depends on 13)

The one or more computer-readable memory of claim 13, wherein sending the plurality of second keep-alive communications comprises sending the response to the first keep-alive communication to the plurality of cloud-based service providers.
