IP Library Granted Patent US 9,408,050
Granted Patent B2
US 9,408,050 · App. 13/755,332 · Granted Aug 2, 2016

Reducing bandwidth usage of a mobile client

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 9,408,050
App. No.
13/755,332
Granted
Aug 2, 2016
Kind
B2
Abstract

Systems and methods of reducing bandwidth usage of a mobile client are disclosed. An example method may include caching a first version of network content in a mobile client. The method may also include comparing the cached content with a second version of the network content. The method may also include generating a recipe to construct the second version of the network content from the cached network content based on a result of the comparing. The method may also include sending the recipe to the mobile client.

Claims (38)

1. A method, comprising:

caching a first version of network content in a mobile client while the mobile client is connected via a first network connection; and

while the mobile client is connected via a second network connection:

comparing the cached content with a second version of the network content;

generating a recipe to construct the second version of the network content from the cached network content based on a result of the comparing; and

sending the recipe to the mobile client,

wherein the first network connection is less expensive than the second network connection.

2. The method of claim 1 further comprising constructing the second version of the network content on the mobile client using the recipe and the cached network content.

3. The method of claim 1 wherein a size of the recipe is proportional to changes between the first and second versions of the network content.

4. The method of claim 1 wherein caching further comprises:

determining a subset of the network content that the mobile client is expected to use before the subset has diverged beyond a threshold; and

prefetching the subset as the first version of the network content.

5. The method of claim 1 wherein caching content further comprises:

determining a subset of the network content based in part on a likelihood the mobile client is expected to use a piece of the network content and an estimate of likely divergence of a current version of the piece of the network content and one or more future versions of the piece of the network content; and

prefetching the subset as the first version of the network content.

6. The method of claim 1 wherein comparing further comprises:

dividing the second version of the network content into one or more data chunks; and

comparing the one or more data chunks with data chunks of the first version of the network content.

7. The method of claim 6 wherein the recipe includes a reference to a data chunk that is unchanged between the first version of the network content and the second version of the network content.

8. The method of claim 6 wherein the recipe includes a reference to a data chunk of the first version of the network content and an edit script to transform that data chunk into a data chunk of the second version of the network content.

9. The method of claim 1 further comprising discarding stale cached content based on probability metrics.

10. A system, comprising:

a cache in a mobile client, the cache configured to store a first version of network content while the mobile client is connected via a first network connection;

a comparator to compare the first version of the network content with a second version of the network content;

machine readable code stored in a non-transient computer-readable medium at the mobile client, the machine readable code executable by one or more processors in the mobile client to, while the mobile client is connected via a second network connection, the second network connection being more expensive than the first network connection, construct the second version of the network content from the network content in the cache based on a result of comparing the first and second versions of the network content.

11. The system of claim 10 wherein the cache is updated while the mobile client is connected via an inexpensive network connection.

12. The system of claim 10 wherein the first version of the network content is a subset of network content that the mobile client is expected to use before the subset has diverged beyond a threshold.

13. The system of claim 10 wherein the first version of the network content is a subset of the network content based in part on a likelihood the mobile client is expected to use a piece of the network content and an estimate of likely divergence of a current version of the piece of the network content and one or more future versions of the piece of the network content.

14. The system of claim 10 wherein the comparator further divides the second version of the network content into one or more data chunks, and compares the one or more data chunks with data chunks of the first version of the network content.

15. The system of claim 10 wherein the result of the comparator includes an edit script.

16. The system of claim 10 wherein the result of the comparator includes a reference to a data chunk that is unchanged between the first version of the network content and the second version of the network content.

17. The system of claim 10 wherein the result of the comparator includes a reference to a data chunk of the first version of the network content and an edit script to transform that data chunk into a data chunk of the second version of the network content.

18. A system, comprising program code stored on non-transient computer-readable storage media, the program code executable by one or more processors to:

cache a first version of network content on a mobile client while the mobile client is connected via a first network connection; and

while the mobile client is connected via a second network connection, the second network connection being more expensive than the first network connection:

compare the first version of the network content with a second version of the network content; and

construct a copy of the second version of the network content on the mobile client from the cached network content based on a result of comparing the first and second versions of the network content.

19. The system of claim 18 wherein the first version of the network content is a subset of the network content selected based in part on a likelihood the mobile client is expected to use the subset of the network content.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 061244/0298 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →