Systems and methods for client cache awareness
AssigneeGoogle Inc.
InventorsBjorn Marius Aamodt Eriksen, Jeffrey Glen Rennie, Othman Laraki
Life of this patent
Estimating the term…
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.
Claims13
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.
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.
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.
Dependencies are inferred from the claim text.