IP Library Granted Patent US 8,904,206
Granted Patent B2
US 8,904,206 · App. 12/694,244 · Granted Dec 2, 2014

Mobile computing device and method for maintaining application continuity

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,904,206
App. No.
12/694,244
Granted
Dec 2, 2014
Kind
B2
Abstract

A method of maintaining application continuity ( 900 ) and mobile computing device ( 200 ) are described. The method involves a mobile device running an application in synchronous communication with an application server. The application has a threshold communication null period for maintaining application continuity. The method ( 900 ) can include the steps of: operating ( 910 ) the application in synchronous communication with an application server, defining an active mode, wherein the synchronous communication is automatically enabled; providing ( 920 ) a dormant mode wherein the synchronous communication is automatically disabled in the mobile device for a predetermined duration; and interrupting ( 930 ) the dormant mode by momentarily communicating with the application server prior to a threshold communication null period, for maintaining application continuity. Advantageously, prior to a threshold period of communication inactivity, the dormant mode can be interrupted to maintain application connectivity, so the server will not stop the application and data will not be lost.

Claims (43)

1. A mobile computing device, comprising:

a housing;

a processor coupled to the housing, the processor configured to execute a plurality of applications in synchronous communication with one or more application servers, wherein each application corresponds to a synchronization interval and a window of tolerance, respectively, and wherein a synchronization window for each application is defined having a maximum time determined by a previous synchronization time of the application plus the synchronization interval of the application, and a minimum time determined by the maximum time minus the window of tolerance of the application;

a wireless transceiver coupled to the processor for synchronizing application data between the mobile computing device and the one or more application servers; and

a memory storing a program that, when executed by the processor, causes the mobile computing device to:

synchronize a first application in response to determining that a current time corresponds to a maximum time of a synchronization window for the first application;

identify a next predicted synchronization time, wherein the next predicted synchronization time corresponds to the current time plus a shortest synchronization interval of the plurality of applications in synchronous communication with the one or more application servers;

identify one or more applications besides the first application for which the current time falls within the synchronization window for the application; and

for each of the identified one or more applications, determine whether to synchronize the application at the current time, wherein:

in response to determining that the next predicted synchronization time falls outside the synchronization window of the identified application, the mobile computing device synchronizes the identified application at the current time, and

in response to determining that the next predicted synchronization time falls within the synchronization window of the identified application, the mobile computing device decides not to synchronize the identified application at the current time.

2. The mobile computing device of claim 1 , wherein the synchronous communication comprises uploading data to or downloading data from the one or more application servers.

3. The mobile computing device of claim 1 , wherein the mobile computing device is further configured to:

reduce a window of tolerance associated with a second application when a synchronization interval for a third application is below a threshold.

4. The mobile computing device of claim 1 , wherein the mobile computing device is further configured to:

count a number of applications for which the current time is within the window of tolerance;

refrain from triggering synchronization when the number of applications is increasing or steady; and

trigger synchronization when the number of applications is reduced.

5. A method, comprising:

executing, by a processor, a plurality of applications in synchronous communication with an application server, wherein each application corresponds to a synchronization interval and a window of tolerance, respectively, and wherein a synchronization window for each application is defined having a maximum time determined by a previous synchronization time of the application plus the synchronization interval of the application, and a minimum time determined by the maximum time minus the window of tolerance of the application;

synchronizing a first application in response to determining that a current time corresponds to a maximum time of a synchronization window for the first application;

identifying a next predicted synchronization time, wherein the next predicted synchronization time corresponds to the current time plus a shortest synchronization interval of the plurality of applications in synchronous communication with the application server;

identifying one or more applications besides the first application for which the current time falls within the synchronization window for the application; and

for each of the identified one or more applications, determining whether to synchronize the application at the current time, wherein:

in response to determining that the next predicted synchronization time falls outside the synchronization window of the identified application, synchronizing the identified application at the current time, and

in response to determining that the next predicted synchronization time falls within the synchronization window of the identified application, deciding not to synchronize the identified application at the current time.

6. The method of claim 5 , wherein the synchronous communication comprises uploading data to or downloading data from the application server.

7. The method of claim 5 , further comprising:

reducing a window of tolerance associated with a second application when a synchronization interval for a third application is below a threshold.

8. The method of claim 5 , further comprising:

counting a number of applications for which the current time is within the window of tolerance;

refraining from triggering synchronization when the number of applications is increasing or steady; and

triggering synchronization when the number of applications is reduced.

9. The method of claim 5 , further comprising:

establishing a persistent IP session with the application server, and

receiving push notifications from the application server on the persistent IP session.

10. The method of claim 9 , further comprising closing the persistent IP session by sending a TCP/IP connection header including a connection-token close in accordance with a HTTP 1.1 standard.

11. The method of claim 5 , further comprising receiving push notification over a non-IP channel.

12. The method of claim 5 , further comprising:

defining an active mode, wherein the synchronous communication is automatically enabled by establishing a persistent IP session according to a prearranged schedule;

defining a dormant mode, wherein the synchronous communication is automatically disabled by closing the persistent IP session according to the prearranged schedule; and

providing an automatic mode controller, wherein the active mode is enabled when the processor is connected to a charging device.

13. The method of claim 12 wherein the charging device is at least one of an AC adaptor, a battery charger, and a host device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034343/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 028829/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2010
From: BLACK, GREGORY R.; BOOS, JOHN P.
To: MOTOROLA, INC.
Reel/Frame 023852/0117 →