Speculative caching in a content delivery network
First Claim
1. A computer-implemented method operable on a server in a content delivery (CD) network, wherein said CD network (CDN) distributes content on behalf of one or more subscribers, the method comprising, at said server:
- in response to a request from a client for a particular resource (R),(A) when said particular resource (R) is already in a cache on said server, serving said particular to said client from said cache;
otherwise(B) when said particular resource (R) is not already in said cache,(B)(1) determining whether a count value (Count(R)) associated with said particular resource (R) exceeds a first threshold value (min uses), and, based on said determining, when said count value (Count(R)) exceeds said first threshold value (min_uses),(B)(1)(1) obtaining said particular resource (R) from another server;
(B)(1)(2) caching said particular resource (R) obtained in (B)(1)(1) in said cache regardless of the amount of free space in said cache; and
(B)(1)(3) serving said particular resource (R) obtained in (B)(1)(1) to said client; and
,(B)(2) based on said determining in (B)(1), when said count value (Count(R)) is determined to be less than a second threshold value (min_uses_floor),(B)(2)(1) obtaining said particular resource (R) from another server; and
(B)(2)(2) serving said particular resource (R) obtained in (B)(1)(1) to said client, wherein said particular resource (R) is not cached in said cache when said count value (Count(R)) is determined to be less than said second threshold value (min_uses_floor); and
,(B)(3) when said count value (Count(R)) is determined to be;
(i) greater than said second threshold value (min_uses_floor), and (ii) less than said first threshold value (min_uses), then(B)(3)(1) obtaining said particular resource (R) from another server;
(B)(3)(2) selectively caching said particular resource (R) in said cache when the amount of free space in said cache exceeds a third threshold; and
(B)(3)(3) serving said particular resource (R) obtained in (B)(3)(2) to said client.
1 Assignment
0 Petitions
Accused Products
Abstract
A server in a content delivery (CD) network that distributes content on behalf of one or more subscribers. Responsive to a request from a client for a particular resource, if the particular resource is already in a cache on the server, serving the particular to the client from the cache; otherwise if the particular resource is not already cached on the server, when a count value exceeds a first threshold value, obtaining, caching, and serving the particular resource. When the count value is less than a second threshold value, obtaining and serving the particular resource. When the count value is: (i) not less than the second threshold value, and (ii) not greater than the first threshold value, then obtaining the particular resource and selectively caching the particular resource; and serving the particular resource to the client.
3 Citations
11 Claims
-
1. A computer-implemented method operable on a server in a content delivery (CD) network, wherein said CD network (CDN) distributes content on behalf of one or more subscribers, the method comprising, at said server:
-
in response to a request from a client for a particular resource (R), (A) when said particular resource (R) is already in a cache on said server, serving said particular to said client from said cache;
otherwise(B) when said particular resource (R) is not already in said cache, (B)(1) determining whether a count value (Count(R)) associated with said particular resource (R) exceeds a first threshold value (min uses), and, based on said determining, when said count value (Count(R)) exceeds said first threshold value (min_uses), (B)(1)(1) obtaining said particular resource (R) from another server; (B)(1)(2) caching said particular resource (R) obtained in (B)(1)(1) in said cache regardless of the amount of free space in said cache; and (B)(1)(3) serving said particular resource (R) obtained in (B)(1)(1) to said client; and
,(B)(2) based on said determining in (B)(1), when said count value (Count(R)) is determined to be less than a second threshold value (min_uses_floor), (B)(2)(1) obtaining said particular resource (R) from another server; and (B)(2)(2) serving said particular resource (R) obtained in (B)(1)(1) to said client, wherein said particular resource (R) is not cached in said cache when said count value (Count(R)) is determined to be less than said second threshold value (min_uses_floor); and
,(B)(3) when said count value (Count(R)) is determined to be;
(i) greater than said second threshold value (min_uses_floor), and (ii) less than said first threshold value (min_uses), then(B)(3)(1) obtaining said particular resource (R) from another server; (B)(3)(2) selectively caching said particular resource (R) in said cache when the amount of free space in said cache exceeds a third threshold; and (B)(3)(3) serving said particular resource (R) obtained in (B)(3)(2) to said client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An article of manufacture comprising a non-transitory computer-readable medium having program instructions stored thereon, the program instructions, operable on a server in a content delivery (CD) network, said instructions, when executed by a processor of said server, cause said server to:
-
in response to a request from a client for a particular resource (R), (a) when said particular resource (R) is already in a cache on said server, serve said particular to said client from said cache;
otherwise(b) when said particular resource (R) is not already in said cache, (b)(1) determine whether a count value (Count(R)) associated with said particular resource (R) exceeds a first threshold value (min uses), and, based on said determining, when said count value (Count(R)) exceeds said first threshold value (min uses), (b)(1)(1) obtain said particular resource (R) from another server; (b)(1)(2) cache said particular resource (R) obtained in (b)(1)(1) in said cache regardless of the amount of free space in said cache; and (b)(1)(3) serve said particular resource (R) obtained in (b)(1)(1) to said client; and
,(b)(2) based on said determining in (b)(1), when said count value (Count(R)) is determined to be less than a second threshold value (min_uses_floor), (b)(2)(1) obtain said particular resource (R) from another server; and (b)(2)(2) serve said particular resource (R) obtained in (b)(1)(1) to said client, wherein said particular resource (R) is not cached in said cache when said count value (Count(R)) is determined to be less than said second threshold value (min_uses_floor); and
,(b)(3) when said count value (Count(R)) is determined to be;
(i) greater than said second threshold value (min_uses_floor), and (ii) less than said first threshold value (min_uses), then(b)(3)(1) obtain said particular resource (R) from another server; (b)(3)(2) selectively cache said particular resource (R) in said cache when the amount of free space in said cache exceeds a third threshold; and (b)(3)(3) serve said particular resource (R) obtained in (b)(3)(2) to said client.
-
Specification