IP Library › Granted Patent US 10,375,645
Granted Patent B2
US 10,375,645 · App. 15/625,590 · Granted Aug 6, 2019

Power management via coordination and selective operation of timer-related tasks

Inventors: Sudeesh R. Pingili (Sammamish, WA); Bharath Siravara (Issaquah, WA); Martin Regen (Immenstadt, DE); Ray Brown (Woodinville, WA); Justin Mann (Beijing, CN); Stephane Karoubi (Mountain View, CA); Li Xu (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
H04W52/0261G06F1/3206G06F9/4418H04W4/20H04W52/0251Y02D10/44Y02D70/00Y02D70/142Y02D70/144Y02D70/164
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 10,375,645
App. No.
15/625,590
Granted
Aug 6, 2019
Kind
B2
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 (29)

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.

2. 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.

3. 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.

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

5. 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.

6. 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.

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

8. 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.

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.

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

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

12. 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.

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.

14. 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.

15. 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.

16. 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.

17. 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.

18. 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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043376/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: PINGILI, SUDEESH R.; SIRAVARA, BHARATH; REGEN, MARTIN; MANN, JUSTIN; KAROUBI, STEPHANE; XU, LI
To: MICROSOFT CORPORATION
Reel/Frame 043655/0877 →
Continuity (3)
Continuation 14548068 · Nov 19, 2014
Continuation 13057738
Related Publication 20170289916A1 · Oct 5, 2017