IP Library Granted Patent US 9,086,978
Granted Patent B2
US 9,086,978 · App. 14/035,005 · Granted Jul 21, 2015

Caching electronic document resources in a client device having an electronic resource database

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,086,978
App. No.
14/035,005
Granted
Jul 21, 2015
Kind
B2
Abstract

An electronic document references one or more electronic document resources stored on a host device. The host device may indicate in the electronic document that an electronic document is cacheable by a client device. When an electronic document resource is identified as cacheable by the client device, the client device caches the electronic document resource in a database stored in a computer-readable medium of the client device. The client device may also generate an electronic document resource catalog that identifies those electronic document resources that are cached in the database. When the client device next requests the electronic document from the host device, the client device may transmit the electronic document resource catalog to the host device. Upon receiving the electronic document resource catalog, the host device may modify the electronic document so that the electronic document references the electronic document resources cached in the database of the client device.

Claims (84)

1. A system for caching previously identified electronic document resources, the system comprising:

a non-transitory, computer-readable memory; and

one or more processors coupled to the memory, the one or more processors being configured to:

receive an electronic document, the electronic document identifying:

a plurality of electronic document resources; and

a plurality of cache identifiers, wherein:

each cache identifier is unique for a corresponding electronic document resource from the plurality of electronic document resources; and

each cache identifier identifies whether the corresponding electronic document resource is cacheable;

cache one or more electronic document resources selected from the plurality of electronic document resources in the memory based on the corresponding cache identifier of the selected one or more electronic document resources;

receive a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources have been cached in memory;

determine whether the given electronic document resource has been cached in memory by referring to the electronic resource catalog; and

modify the electronic document to refer to the given electronic document resource based on the given electronic document resource having been cached in memory.

2. The system of claim 1 , wherein the one or more processors are further configured to generate an electronic resource catalog based on the one or more cached electronic document resources.

3. The system of claim 2 , wherein the one or more processors are further configured to provide the electronic resource catalog to identify which of the electronic document resources have been cached from the plurality of electronic document resources.

4. The system of claim 2 , wherein the one or more processors are further configured to:

transmit a request for the electronic document, the request including the electronic resource catalog;

receive a response including the electronic document; and

retrieve a cached electronic document resource from the one or more cached electronic document resources to display the electronic document based on the response.

5. The system of claim 1 , wherein a cached electronic document resource is cached for a predetermined period of time.

6. The system of claim 1 , wherein a cache identifier from the plurality of cache identifiers is generated based on its corresponding electronic document resource.

7. A method for caching previously identified electronic document resources, the method comprising:

receiving, with one or more processors, an electronic document, the electronic document identifying:

a plurality of electronic document resources; and

a plurality of cache identifiers, wherein:

each cache identifier is unique for a corresponding electronic document resource from the plurality of electronic document resources; and

each cache identifier identifies whether the corresponding electronic document resource is cacheable;

caching, with the one or more processors, one or more of the electronic document resources selected from the plurality of electronic document resources in a memory based on the corresponding cache identifier of the selected one or more electronic document resources;

receiving, with the one or more processors, a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources have been cached in memory;

determine with the one or more processors, whether the given electronic document resource has been cached in memory by referring to the electronic resource catalog; and

modifying with the one or more processors, the electronic document to refer to the given electronic document resource based on the given electronic document resource having been cached in memory.

8. The method of claim 7 , further comprising generating an electronic resource catalog based on the one or more cached electronic document resources.

9. The method of claim 8 , further comprising providing the electronic resource catalog to identify which of the electronic document resources from the plurality of electronic document resources have been cached.

10. The method of claim 8 , further comprising:

transmitting a request for the electronic document, the request including the electronic resource catalog;

receiving a response including the electronic document; and

retrieving a cached electronic document resource from the one or more cached electronic document resources to display the electronic document based on the response.

11. The method of claim 7 , wherein a cached electronic document resource is cached for a predetermined period of time.

12. The method of claim 7 , wherein a cache identifier from the plurality of cache identifiers is generated based on its corresponding electronic document resource.

13. A system for establishing a cache of electronic document resources, the system comprising:

a non-transitory, computer-readable medium storing:

an electronic document for display by a client device, the electronic document identifying a plurality of electronic document resources used in the electronic document; and

one or more processors in communication with the non-transitory, computer-readable medium, the one or more processors being configured to:

generate a plurality of cache identifiers, wherein:

each cache identifier is unique for a corresponding electronic document resource from the plurality of electronic document resources; and

each cache identifier is based on its corresponding electronic document resource;

insert the plurality of cache identifiers into the electronic document;

transmit the electronic document and the plurality of electronic document resources to the client device;

receive a replacement electronic document resource to replace a selected electronic document resource from the plurality of electronic document resources;

generate a replacement cache identifier for the replacement electronic document resource, the replacement cache identifier uniquely identifying the replacement electronic document resource; and

replace a cache identifier selected from the plurality of cache identifiers with the replacement cache identifier.

14. The system of claim 13 , wherein the one or more processors are further configured to:

receive a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources has been cached by the client device;

determine whether the given electronic document resource has been cached by referring to the electronic resource catalog; and

modify the electronic document to refer to the given electronic document resource that has been cached in response to a determination that the given electronic document resource has been cached by the client device.

15. The system of claim 13 , wherein the one or more processors are further configured to:

receive a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources has been cached by the client device;

determine whether the given electronic document resource has been cached by referring to the electronic resource catalog; and

transmit the given electronic document resource in response to a determination that the electronic document resource has not been cached by the client device.

16. The system of claim 13 , wherein the one or more processors are further configured to:

receive a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether the replacement electronic document resource has been cached; and

transmit the replacement document resource in response to a determination that the electronic resource catalog identifies that the replacement electronic document resource has not been cached.

17. The system of claim 16 , wherein the electronic resource catalog comprises a cache identifier from the plurality of cache identifiers.

18. A method for establishing a cache of electronic document resources, the method comprising:

storing in a non-transitory, computer-readable medium, an electronic document for display by a client device, the electronic document identifying a plurality of electronic document resources used in the electronic document;

generating, with one or more processors, a plurality of cache identifiers, wherein:

each cache identifier is unique for a corresponding electronic document resource from the plurality of electronic document resources; and

each cache identifier is based on its corresponding electronic document resource;

inserting, with the one or more processors, the plurality of cache identifiers into the electronic document;

transmitting, with the one or more processors, the electronic document and the plurality of electronic document resources to the client device;

receiving, with the one or more processors, a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources has been cached by the client device;

determining, with the one or more processors, whether the given electronic document resource has been cached by referring to the electronic resource catalog; and

modifying, with the one or more processors, the electronic document to refer to the given electronic document resource that has been cached based on the given electronic document resource having been cached by the client device.

19. The method of claim 18 , further comprising:

receiving, with the one or more processors, a request for an electronic document, wherein the request comprises an electronic resource catalog that identifies whether a given electronic document resource from the plurality of electronic document resources has been cached by the client device;

determining, with the one or more processors, whether the given electronic document resource has been cached by referring to the electronic resource catalog; and

transmitting, with the one or more processors, the given electronic document resource in response to a determination that the given electronic document resource has not been cached by the client device.

20. The method of claim 18 , further comprising:

receiving, with the one or more processors, a replacement electronic document resource to replace a selected electronic document resource from the plurality of electronic document resources;

generating, with the one or more processors, a replacement cache identifier for the replacement electronic document resource, the replacement cache identifier uniquely identifying the replacement electronic document resource; and

replacing, with the one or more processors, a selected cache identifier from the plurality of cache identifiers with the replacement cache identifier.

21. The method of claim 20 , further comprising:

receiving a request for the electronic document, wherein the request comprises an electronic resource catalog that identifies whether the replacement electronic document resource has been cached; and

transmitting the replacement document resource in response to a determination that the electronic resource catalog identifies that the replacement electronic document resource has not been cached.

22. The method of claim 21 , wherein the electronic resource catalog comprises a cache identifier from the plurality of cache identifiers.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: KANEFSKY, STEVEN T.
To: GOOGLE INC.
Reel/Frame 031820/0252 →