Method and system for incremental cache lookup and insertion
AssigneeGoogle Inc.
InventorsJohn Raley, Ethan Solomita
Life of this patent
Estimating the term…
Abstract
Methods, systems, and articles of manufacture for caching are disclosed. These include incrementally reading a cache by, receiving a request from a client to retrieve an object from a cache; comparing a size of the requested object to a threshold retrieval size; transmitting a response including an incremental lookup indicator to the client when the size is greater than the threshold retrieval size; receiving one or more follow-on requests including the incremental lookup indicator from the client; responsive to each of the follow-on requests, retrieving a portion of the requested object from the cache; and transmitting the retrieved portion to the client. Corresponding incremental insertion of data items into the cache are also disclosed.
Claims20
A method of caching, comprising:
- receiving, by a cache system comprising a processor, a request from a client to read a data item from a cache;
- comparing a size of the requested data item to a threshold retrieval size that is a maximum amount of data to be returned as a single object;
- maintaining, by the cache system, a data record representative of a status of the request, the data record including an instance-specific content identifier distinctly identifying a particular instance of the requested data item;
- transmitting a response including an incremental lookup indicator to the client responsive to determining, from the comparing, that the size is greater than the threshold retrieval size, the incremental lookup indicator indicating to the client that multiple portions of the requested data item are available for retrieval and indicating a beginning of a next portion of the requested data item, the incremental lookup indicator including the instance-specific content identifier identifying the instance of the requested data item;
- receiving one or more follow-on requests including the incremental lookup indicator from the client;
- responsive to each of the follow-on requests, retrieving a portion of the requested data item from the cache and updating the data record representative of the status of the request with data representative of the beginning of the next portion of the requested data item;
- and
- transmitting the retrieved portions to the client.
A system, comprising:
- a cache interface configured to:
- receive a request from a client to read a data item from a cache;
- compare a size of the requested data item to a threshold retrieval size that is a maximum amount of data to be returned as a single object;
- maintain a data record representative of a status of the request, the data record including an instance-specific content identifier distinctly identifying a particular instance of the requested data item;
- transmit a response including an incremental lookup indicator to the client responsive to determining, from the comparing, that the size is greater than the threshold retrieval size, the incremental lookup indicator indicating to the client that multiple portions of the requested data item are available for retrieval and indicating a beginning of a next portion of the requested data item, the incremental lookup indicator including the instance-specific content identifier identifying the instance of the requested data item;
- receive one or more follow-on requests including the incremental lookup indicator from the client;
- responsive to each of the follow-on requests, retrieve a portion of the requested data item from the cache and update the data record representative of the status of the request with data representative of the beginning of the next portion of the requested data item;
- and
- transmit the retrieved portions to the client.
An article of manufacture comprising a non-transitory computer readable storage medium having encoded instructions thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:
- receiving a request from a client to read a data item from a cache;
- comparing a size of the requested data item to a threshold retrieval size that is a maximum amount of data to be returned as a single object;
- maintaining a data record representative of a status of the request, the data record including an instance-specific content identifier distinctly identifying a particular instance of the requested data item;
- transmitting a response including an incremental lookup indicator to the client responsive to determining, from the comparing, that the size is greater than the threshold retrieval size, the incremental lookup indicator indicating to the client that multiple portions of the requested data item are available for retrieval and indicating a beginning of a next portion of the requested data item, the incremental lookup indicator including the instance-specific content identifier identifying the instance of the requested data item;
- receiving one or more follow-on requests including the incremental lookup indicator from the client;
- responsive to each of the follow-on requests, retrieving a portion of the requested data item from the cache and updating the data record representative of the status of the request with data representative of the beginning of the next portion of the requested data item;
- and
- transmitting the retrieved portions to the client.
Dependencies are inferred from the claim text.