Mechanism for caching dynamically generated content
First Claim
1. A computer-implemented method for servicing a request, comprising:
- receiving, from a client, a request for a set of dynamic content;
accessing information associated with a cached version of said dynamic content from a cache;
determining whether said cached version of said dynamic content is currently valid;
in response to a determination that said cached version of said dynamic content is not currently valid;
dynamically generating said dynamic content to derive an updated version of said dynamic content;
incorporating said updated version of said dynamic content into a response to said request; and
sending said response to said client.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for caching dynamically generated content is disclosed, wherein initially, a server receives a request from a client for a set of dynamically generated content. In response to the request, the server accesses a cached version of the requested content, which was generated previously, and determines whether the cached version is still valid. If the cached version is no longer valid (e.g. is out of date), then the requested content is dynamically generated and stored in a cache, replacing the outdated version. In addition, the freshly generated content is provided to the client in response to the request. The client is thus provided with the most current information. On the other hand, if the cached version is still valid, then the server foregoes generating the content. Instead, it provides the cached version of the content to the client. By doing so, the server reduces the time required to return the content to the client, and significantly improves system performance.
80 Citations
52 Claims
-
1. A computer-implemented method for servicing a request, comprising:
-
receiving, from a client, a request for a set of dynamic content;
accessing information associated with a cached version of said dynamic content from a cache;
determining whether said cached version of said dynamic content is currently valid;
in response to a determination that said cached version of said dynamic content is not currently valid;
dynamically generating said dynamic content to derive an updated version of said dynamic content;
incorporating said updated version of said dynamic content into a response to said request; and
sending said response to said client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for serving dynamic content, comprising:
-
receiving an instruction from an application to send a cached version of a set of dynamic content to a client to respond to a request from said client;
accessing information associated with said cached version of said dynamic content from a cache;
determining whether said cached version of said dynamic content is currently valid;
in response to a determination that said cached version of said dynamic content is not currently valid;
instructing said application to dynamically generate said dynamic content to derive an updated version of said dynamic content;
incorporating said updated version of said dynamic content into a response to said request; and
sending said response to said client. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented method for servicing a request, comprising:
-
receiving a request for a set of dynamic content;
determining a key to a particular entry in a cache in which information associated with a cached version of said dynamic content is stored; and
instructing a server to access said particular entry in said cache, and to send said cached version of said dynamic content to a client in a response to said request. - View Dependent Claims (21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32)
-
-
27. A computer readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to service a request, said computer readable medium comprising:
-
instructions for causing one or more processors to receive, from a client, a request for a set of dynamic content;
instructions for causing one or more processors to access information associated with a cached version of said dynamic content from a cache;
instructions for causing one or more processors to determine whether said cached version of said dynamic content is currently valid;
in response to a determination that said cached version of said dynamic content is not currently valid;
instructions for causing one or more processors to dynamically generate said dynamic content to derive an updated version of said dynamic content;
instructions for causing one or more processors to incorporate said updated version of said dynamic content into a response to said request; and
instructions for causing one or more processors to send said response to said client.
-
-
33. A computer readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to serve dynamic content, said computer readable medium comprising:
-
instructions for causing one or more processors to receive an instruction from an application to send a cached version of a set of dynamic content to a client to respond to a request from said client;
instructions for causing one or more processors to access information associated with said cached version of said dynamic content from a cache;
instructions for causing one or more processors to determine whether said cached version of said dynamic content is currently valid;
in response to a determination that said cached version of said dynamic content is not currently valid;
instructions for causing one or more processors to instruct said application to dynamically generate said dynamic content to derive an updated version of said dynamic content;
instructions for causing one or more processors to incorporate said updated version of said dynamic content into a response to said request; and
instructions for causing one or more processors to send said response to said client. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52)
-
-
46. A computer readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to service a request, said computer readable medium comprising:
-
instructions for causing one or more processors to receive a request for a set of dynamic content;
instructions for causing one or more processors to determine a key to a particular entry in a cache in which information associated with a cached version of said dynamic content is stored; and
instructions for causing one or more processors to instruct a server to access said particular entry in said cache, and to send said cached version of said dynamic content to a client in a response to said request.
-
Specification