Caching dynamic web documents
First Claim
1. A method for varying the cacheability of networked content depending on the responsiveness of a content server, comprising:
- (a) computing a measure of responsiveness of a content server;
(b) determining a caching interval for a requested item in accordance with said responsiveness, including;
(i) setting the caching interval lower if said server is sufficiently responsive, as determined by comparison to a responsiveness threshold; and
(ii) setting the caching interval higher if said server is not sufficiently responsive;
(c) obtaining said requested item from said content server; and
(d) specifying a cacheability of said item in accordance with said determined caching interval.
4 Assignments
0 Petitions
Accused Products
Abstract
We disclose techniques for varying the caching of content provided by a content server as a function of the server'"'"'s load. When the server is lightly loaded, freshness of the content is maintained. As server load increases, caching time increases, to trade off freshness against transmission time. Similarly, when the server is heavily loaded, users might quickly be served cached content that is only slightly stale—as opposed to content that was fresh at the time of the request, but which becomes materially stale by the time the server completes serving the response. The server'"'"'s load can be measured by its response time to a request, or otherwise. Optionally, the system can override the load-based caching by defining classes of requests that automatically trigger updating or refreshing (e.g., cache expiration) of related information in the cache.
-
Citations
37 Claims
-
1. A method for varying the cacheability of networked content depending on the responsiveness of a content server, comprising:
-
(a) computing a measure of responsiveness of a content server;
(b) determining a caching interval for a requested item in accordance with said responsiveness, including;
(i) setting the caching interval lower if said server is sufficiently responsive, as determined by comparison to a responsiveness threshold; and
(ii) setting the caching interval higher if said server is not sufficiently responsive;
(c) obtaining said requested item from said content server; and
(d) specifying a cacheability of said item in accordance with said determined caching interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, comprising:
-
(a) receiving a user'"'"'s request for an item;
(b) computing a measure of responsiveness of a content server;
(c) determining a responsiveness of a content server; and
(d) obtaining said requested item;
(i) from said content server if said computed responsiveness is sufficiently high;
but(ii) from a cache containing a previously cached version of said item if said computed responsiveness is not sufficiently high. - View Dependent Claims (18, 19)
-
-
20. A method for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, comprising:
-
(a) receiving a user request for an item available at a content server;
(b) determining whether an attribute of said request will trigger invalidity of said previously cached item;
(c) obtaining said requested item;
(i) from said content server if said determination in (b) is positive;
but(ii) from a cache containing a previously cached version of said item if said determination in (b) is negative.
-
-
21. A computer-readable medium comprising logic instructions for varying the cacheability of networked content depending on the responsiveness of a content server, said instructions when executed on a computer:
-
(a) computing a measure of responsiveness of a content server;
(b) determining a caching interval for a requested item in accordance with said responsiveness, including;
(i) setting the caching interval lower if said server is sufficiently responsive, as determined by comparison to a responsiveness threshold; and
(ii) setting the caching interval higher if said server is not sufficiently responsive;
(c) obtaining said requested item from said content server; and
(d) specifying a cacheability of said item in accordance with said determined caching interval. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A computer-readable medium comprising logic instructions for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, said instructions when executed on a computer:
-
(a) receiving a user'"'"'s request for an item;
(b) computing a measure of responsiveness of a content server;
(c) determining a responsiveness of a content server; and
(d) obtaining said requested item;
(i) from said content server if said computed responsiveness is sufficiently high;
but(ii) from a cache containing a previously cached version of said item if said computed responsiveness is not sufficiently high.
-
-
29. A computer-readable medium comprising logic instructions for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, said instructions when executed on a computer:
-
(a) receiving a user request for an item available at a content server;
(b) determining whether an attribute of said request will trigger invalidity of said previously cached item;
(c) obtaining said requested item;
(i) from said content server if said determination in (b) is positive;
but(ii) from a cache containing a previously cached version of said item if said determination in (b) is negative.
-
-
30. A device for varying the cacheability of networked content depending on the responsiveness of a content server, comprising:
-
(a) means for computing a measure of responsiveness of a content server;
(b) means for determining a caching interval for a requested item in accordance with said responsiveness;
(c) an interface for obtaining said requested item from said content server; and
(d) means for specifying a cacheability of said item in accordance with said determined caching interval.
-
-
31. A device for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, comprising:
-
(a) an interface for receiving a user'"'"'s request for an item;
(b) means for computing a measure of responsiveness of a content server;
(c) means for determining a responsiveness of a content server; and
(d) an interface for obtaining said requested item;
(i) from said content server if said computed responsiveness is sufficiently high;
but(ii) from a cache containing a previously cached version of said item if said computed responsiveness is not sufficiently high.
-
-
32. A device for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, comprising:
-
(a) an interface for receiving a user request for an item available at a content server;
(b) means for determining whether an attribute of said request will trigger invalidity of said previously cached item;
(c) an interface for obtaining said requested item;
(i) from said content server if said determination in (b) is positive;
but(ii) from a cache containing a previously cached version of said item if said determination in (b) is negative.
-
-
33. A proxy server for varying the cacheability of networked content depending on the responsiveness of a content server, comprising:
-
(a) an interface to a content server;
(b) computer-executable program logic for determining a caching interval for a requested item in accordance with a responsiveness of said content server, including;
(i) setting the caching interval lower if said server is sufficiently responsive, as determined by comparison to a responsiveness threshold; and
(ii) setting the caching interval higher if said server is not sufficiently responsive; and
(c) computer-executable program logic for specifying a cacheability of said item in accordance with said determined caching interval. - View Dependent Claims (34, 35)
-
-
36. A proxy server for obtaining networked content from a cache or a content server, depending on the responsiveness of a content server, comprising:
-
(a) an interface configured for receiving a user'"'"'s request for an item;
(b) an interface to a content server having said requested item; and
(c) computer-executable program logic for obtaining said requested item;
(i) from said content server if its responsiveness is sufficiently high;
but(ii) from a cache containing a previously cached version of said item if said content server'"'"'s responsiveness is not sufficiently high.
-
-
37. A proxy server for obtaining networked content from a cache or a content server, depending on the responsiveness of the content server, comprising:
-
(a) an interface configured for receiving a user'"'"'s request for an item;
(b) computer-executable program logic for determining whether an attribute of said request will trigger invalidity of said previously cached item;
(c) computer-executable program logic for obtaining said requested item;
(i) from said content server if said determination in (b) is positive;
but(ii) from a cache containing a previously cached version of said item if said determination in (b) is negative.
-
Specification