Systems and methods for client cache awareness
First Claim
Patent Images
1. A computer-implemented method, comprising:
- at a server computer having one or more processors and memory storing one or more programs;
receiving a client cache map from a client device, wherein the client cache map received from the client device comprises a Bloom filter and contains information corresponding to documents cached at the client device; and
without receiving from the client device a user request for a document;
identifying a document as a candidate document for preloading to the client device;
determining, in accordance with the client cache map, whether the document is cached by the client device;
conditionally, in accordance with a determination that the document is not cached by the client device, preloading the document to the client device and updating the Bloom filter of the client cache map to reflect the document preloaded to the client device;
conditionally, in accordance with a determination that the document is cached by the client device, determining whether the cached document'"'"'s content is stale; and
conditionally, in accordance with a determination that the document is stale, preloading the document to the client device.
2 Assignments
0 Petitions
Accused Products
Abstract
Before preloading a document to a client device, a server computer gets a client cache map associated with the client device. The client cache map has a matching entry for each document cached by the client device'"'"'s cache. The server computer first checks if the document to be preloaded is already in the client device'"'"'s cache by looking up the client cache map. If the document is cached, the server computer then checks whether the cached document'"'"'s content is still fresh. As a result, the server computer preloads the document to the client device if the document is not cached or if the cached document'"'"'s content is stale.
258 Citations
13 Claims
-
1. A computer-implemented method, comprising:
-
at a server computer having one or more processors and memory storing one or more programs; receiving a client cache map from a client device, wherein the client cache map received from the client device comprises a Bloom filter and contains information corresponding to documents cached at the client device; and without receiving from the client device a user request for a document; identifying a document as a candidate document for preloading to the client device; determining, in accordance with the client cache map, whether the document is cached by the client device; conditionally, in accordance with a determination that the document is not cached by the client device, preloading the document to the client device and updating the Bloom filter of the client cache map to reflect the document preloaded to the client device; conditionally, in accordance with a determination that the document is cached by the client device, determining whether the cached document'"'"'s content is stale; and conditionally, in accordance with a determination that the document is stale, preloading the document to the client device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for preloading documents to a client device, comprising:
-
at least one processor; and memory storing at least one program for execution by the at least one processor, the at least one program including; instructions for receiving a client cache map from the client device, wherein the client cache map received from the client device comprises a Bloom filter and contains information corresponding to documents cached at the client device; preloading instructions, for execution without receiving from the client device a user request for a document, the preloading instructions including; instructions for identifying a document as a candidate document for preloading to the client device; instructions for determining, in accordance with the client cache map, whether the document is cached by the client device; instructions for conditionally, in accordance with a determination that the document is not cached by the client device, preloading the document to the client device and updating the Bloom filter of the client cache map to reflect the document preloaded to the client device; instructions for conditionally, in accordance with a determination that the document is cached by the client device, determining whether the cached document'"'"'s content is stale; and instructions for conditionally, in accordance with a determination that the document is stale, preloading the document to the client device. - View Dependent Claims (7, 8, 9)
-
-
10. A non-transitory computer readable storage medium storing at least one program for execution by at least one processor of a computer system, the at least one program including:
-
instructions for receiving a client cache map from a client device, wherein the client cache map received from the client device comprises a Bloom filter and contains information corresponding to documents cached at the client device; preloading instructions, for execution without receiving from the client device a user request for a document, the preloading instructions including; instructions for identifying a document as a candidate document for preloading to the client device; instructions for determining, in accordance with the client cache map, whether the document is cached by the client device; instructions for conditionally, in accordance with a determination that the document is not cached by the client device, preloading the document to the client device and updating the Bloom filter of the client cache map to reflect the document preloaded to the client device; instructions for conditionally, in accordance with a determination that the document is cached by the client device, determining whether the cached document'"'"'s content is stale; and instructions for conditionally, in accordance with a determination that the document is determined to be stale, preloading the document to the client device. - View Dependent Claims (11, 12, 13)
-
Specification