IP Library › Granted Patent US 8,856,364
Granted Patent B2
US 8,856,364 · App. 13/216,478 · Granted Oct 7, 2014

Conducting opportunistic network updates on a mobile device

Inventors: Jean Baptiste Maurice Queru (Foster City, CA); Joseph LaPenna (San Francisco, CA)
Assignee: Google Inc.
H04L47/15H04L67/322H04L67/06
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,856,364
App. No.
13/216,478
Granted
Oct 7, 2014
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing opportunistic network updates. In one aspect, a method includes determining, by a queue manager on a mobile device that has a network interface, to fulfill one or more requests to upload or download data through the network interface, and in response to determining to fulfill the requests, applying, by the queue manager, one or more rules to the requests, to classify each request as a request that is to be fulfilled, or a request that is not to be fulfilled. The method also includes causing, by the queue manager, the requests that are classified as to be fulfilled to be fulfilled, or the requests that are classified as not to be fulfilled to not be fulfilled.

Claims (34)

1. A computer-implemented method comprising:

determining, by a queue manager on a mobile device that has a network interface, that a network connection has been established or will be established through the network interface;

in response to determining that the network connection has been established or will be established, determining that multiple requests by a particular application for updated location information have queued in a data transmission queue since a network connection was last established;

selecting a particular one of the multiple requests for updated location information and deleting a remainder of the multiple requests for updated location information from the data transmission queue; and

transmitting only the selected one of the multiple requests for updated location information over the established network connection.

2. The method of claim 1 , comprising determining that the multiple requests are recurring requests, wherein selecting the particular one of the multiple requests comprises selecting a latest of the recurring requests only.

3. The method of claim 2 , wherein determining that the multiple requests are recurring requests comprises determining that the multiple requests are a same type of requests for updated location information.

4. The method of claim 1 , wherein one or more of the requests comprises a request to synchronize social network status data between a mobile device and a server.

5. The method of claim 1 , comprising deleting all unselected, queued requests.

6. The method of claim 1 , comprising determining that the multiple requests have a same priority and have been initiated by the particular application.

7. The computer-implemented method of claim 1 , wherein deleting the remainder of the multiple requests for updated location information from the data transmission queue comprises permanently deleting the remainder of the multiple requests for updated location information from the data transmission queue such that the remainder of the multiple requests for updated location information are never transmitted.

8. The computer-implemented method of claim 1 , wherein determining, by the queue manager on the mobile device, that the network connection has been established or will be established through the network interface comprises determining that a network connection is detected, determining that the mobile device has powered on, or determining that the mobile device has exited a sleep mode.

9. A system comprising:

a computer-readable storage medium configured to store multiple data upload or download requests;

a network interface configured to establish a network connection; and

a queue manager configured to:

determine that a network connection has been established or will be established through the network interface;

determine that multiple requests by a particular application for updated location information have queued in a data transmission queue since a network connection was last established;

select a particular one of the multiple requests for updated location information and deleting a remainder of the multiple requests for updated location information from the data transmission queue; and

transmit only the selected one of the multiple requests for updated location information over the established network connection.

10. The system of claim 9 , wherein the operations comprise determining that the multiple requests are recurring requests, wherein selecting the particular one of the multiple requests comprises selecting a latest of the recurring requests only.

11. The system of claim 10 , wherein determining that the multiple requests are recurring requests comprises determining that the multiple requests are a same type of requests for updated location information.

12. The system of claim 9 , wherein one or more of the requests comprises a request to synchronize social network status data between a mobile device and a server.

13. The system of claim 9 , wherein the operations comprise deleting all unselected, queued requests.

14. The system of claim 9 , comprising determining that the multiple requests have a same priority and have been initiated by the particular application.

15. A computer readable storage device encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

determining that a network connection has been established or will be established, then determining that multiple requests by a particular application for updated location information have queued in a data transmission queue since a network connection was last established;

selecting a particular one of the multiple requests for updated location information and deleting a remainder of the multiple requests for updated location information from the data transmission queue; and

transmitting only the selected one of the multiple requests for updated location information over the established network connection.

16. The device of claim 15 , wherein the operations comprise determining that the multiple requests are recurring requests, wherein selecting the last one of the multiple requests comprises selecting a latest of the recurring requests only.

17. The device of claim 16 , wherein determining that the multiple requests are recurring requests comprises determining that the multiple requests are a same type of requests for updated location information.

18. The device of claim 15 , wherein one or more of the requests comprises a request to synchronize social network status data between a mobile device and a server.

19. The device of claim 15 , wherein the operations comprise deleting all unselected, queued requests.

20. The device of claim 15 , comprising determining that the multiple requests have a same priority and have been initiated by the particular application.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2012
From: QUERU, JEAN BAPTISTE MAURICE; LAPENNA, JOSEPH
To: GOOGLE INC.
Reel/Frame 028452/0616 →
Continuity (2)
Provisional Application 61451885 · Mar 11, 2011
Related Publication 20120233342A1 · Sep 13, 2012