IP Library Granted Patent US 10,103,994
Granted Patent B2
US 10,103,994 · App. 14/044,128 · Granted Oct 16, 2018

Opportunistic network updates

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,103,994
App. No.
14/044,128
Granted
Oct 16, 2018
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 (37)

1. A computer-implemented method comprising:

determining, by one or more computers, that the network connection has been or will be established through a network interface while a transmission queue of the one or more computers is storing multiple requests;

determining, by the one or more computers, a type of request for each of the multiple requests;

based on a plurality of rules that each correspond to a respective type of request of the multiple requests, determining, by the one or more computers, that a functionally duplicative group of at least two of the multiple requests are functional duplicates of each other;

selecting, by the one or more computers, for transmission, and from among the functionally duplicative group of requests that are determined to be functional duplicates of each other, one or more most recently stored requests of the functionally duplicative group that are stored in the transmission queue;

deleting, by the one or more computers, all of the functionally duplicative group of requests that are stored in the transmission queue other than the selected one or more most recently stored requests of the functionally duplicative group of requests; and

transmitting, by the one or more computers, at least one of the selected one or more most recently stored requests of the functionally duplicative group over the network connection, without transmitting the deleted, functionally duplicative group over the network connection.

2. The method of claim 1 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a recurring type of request.

3. The method of claim 1 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a social media status update type of request.

4. The method of claim 1 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a server data update type of request.

5. The method of claim 1 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on (i) an identity of an application that initiated each of the requests in the functionally duplicative group of requests, and (ii) a respective priority associated with each of the requests in the functionally duplicative group of requests.

6. The method of claim 1 , wherein selecting, for transmission, one or more of a most recently stored of the functionally duplicative group of requests comprises selecting, for transmission, only the one most recently stored of the functionally duplicative group of requests.

7. A system comprising:

a computer-readable storage medium configured to store, in a transmission queue, multiple requests that are identified as functional duplicates of each other; and

one or more computers configured to:

determine that the network connection has been or will be established through the network interface while the transmission queue of the one or more computers is storing the multiple requests;

determine a type of request for each of the multiple requests;

based on a plurality of rules that each correspond to a respective type of request of the multiple requests, determine that a functionally duplicative group of at least two of the multiple requests are functional duplicates of each other

select, for transmission and from among the functionally duplicative group of requests that are determined to be functional duplicates of each other, one or more most recently stored requests of the functionally duplicative group that are stored in the transmission queue;

delete all of the functionally duplicative group of requests that are stored in the transmission queue other than the selected one or more most recently stored request of the functionally duplicative group of requests; and

transmit one of the selected one or more most recently stored requests of the functionally duplicative group over the network connection, without transmitting the deleted, functionally duplicative group over the network connection.

8. The system of claim 7 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a recurring type of request.

9. The system of claim 7 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a social media status update type of request.

10. The system of claim 7 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a server data update type of request.

11. The system of claim 7 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on (i) an identity of an application that initiated each of the requests in the functionally duplicative group of requests, and (ii) a respective priority associated with each of the requests in the functionally duplicative group of requests.

12. The system of claim 7 , wherein selecting, for transmission, one or more of a most recently stored of the functionally duplicative group of requests comprises selecting, for transmission, only the one most recently stored of the functionally duplicative group of requests.

13. A non-transitory 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, by one or more computers, that the network connection has been or will be established through a network interface while a transmission queue of the one or more computers is storing multiple requests;

determining, by the one or more computers, a type of request for each of the multiple requests;

based on a plurality of rules that each correspond to a respective type of request of the multiple requests, determining, by the one or more computers, that a functionally duplicative group of at least two of the multiple requests are functional duplicates of each other;

selecting, by the one or more computers, for transmission, and from among the functionally duplicative group of requests that are determined to be functional duplicates of each other, one or more most recently stored requests of the functionally duplicative group that are stored in the transmission queue;

deleting, by the one or more computers, all of the functionally duplicative group of requests that are stored in the transmission queue other than the selected one or more most recently stored requests of the functionally duplicative group of requests; and

transmitting, by the one or more computers, at least one of the selected one or more most recently stored requests of the functionally duplicative group over the network connection, without transmitting the deleted, functionally duplicative group over the network connection.

14. The device of claim 13 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a recurring type of request.

15. The device of claim 13 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a social media status update type of request.

16. The device of claim 13 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on each of the requests in the functionally duplicative group of requests being associated with a server data update type of request.

17. The device of claim 13 , wherein determining that the functionally duplicative group of requests are functional duplicates of each other is further based on (i) an identity of an application that initiated each of the requests in the functionally duplicative group of requests, and (ii) a respective priority associated with each of the requests in the functionally duplicative group of requests.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2013
From: QUERU, JEAN BAPTISTE MAURICE; LAPENNA, JOSEPH
To: GOOGLE INC.
Reel/Frame 031502/0482 →