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) if said particular resource is already in a cache on said server, serving said particular to said client from said cache;
otherwise(B) if said particular resource (R) is not already cached on said server,(B)(1) determining whether a count value (Count(R)) associated with said particular resource 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);
(B)(1)(2) caching said particular resource (R) obtained in (B)(1)(1); 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); and
(B)(2)(2) serving said particular resource (R) obtained in (B)(1)(1) to said client; and
,(B)(3) when said count value (Count(R)) is determined to be;
(i) not less than said second threshold value (min_uses_floor), and (ii) not greater than said first threshold value (min_uses), then(B)(3)(1) obtaining said particular resource (R);
(B)(3)(2) based on an amount of space available in cache, selectively caching said particular resource (R); 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.
1 Citation
20 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) if said particular resource is already in a cache on said server, serving said particular to said client from said cache;
otherwise(B) if said particular resource (R) is not already cached on said server, (B)(1) determining whether a count value (Count(R)) associated with said particular resource 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); (B)(1)(2) caching said particular resource (R) obtained in (B)(1)(1); 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); and (B)(2)(2) serving said particular resource (R) obtained in (B)(1)(1) to said client; and
,(B)(3) when said count value (Count(R)) is determined to be;
(i) not less than said second threshold value (min_uses_floor), and (ii) not greater than said first threshold value (min_uses), then(B)(3)(1) obtaining said particular resource (R); (B)(3)(2) based on an amount of space available in cache, selectively caching said particular resource (R); 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)
-
-
12. 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:
-
(A) setting a first threshold value (min_uses) and a second threshold value (min_uses_floor), said second threshold value being less than or equal to said first threshold value; and (B) in response to a request from a client for a particular resource (R), (B)(1) if said particular resource is already in a cache on said server, serving said particular to said client from said cache;
otherwise(C) if said particular resource (R) is not already cached on said server, (C)(1) scaling said first threshold value to produce a scaled first threshold value based on (i) said second threshold value, and (ii) an amount of space available in cache, and (C)(2) determining whether a count value (Count(R)) associated with said particular resource exceeds said scaled first threshold value (min_uses), and, (C)(3) based on said determining in (C)(2), when said count value (Count(R)) exceeds said scaled first threshold value, (C)(3)(1) obtaining said particular resource (R); (C)(3)(2) caching said particular resource (R) obtained in (C)(3)(1); and (C)(3)(3) serving said particular resource (R) to said client; and
,(C)(4) based on said determining in (C)(2), when said count value (Count(R)) is does not exceed said scaled second threshold value, (C)(4)(1) obtaining said particular resource (R); and (C)(4)(2) serving said particular resource (R) to said client. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. An article of manufacture comprising a computer-readable medium having program instructions stored thereon, the program instructions, operable on a device in a content delivery (CD) network, said instructions, when executed by a processor in said CDN, cause said processor to:
-
in response to a request from a client for a particular resource (R), (a) if said particular resource is already in a cache on said server, serve said particular to said client from said cache;
otherwise(b) if said particular resource (R) is not already cached on said server, (b)(1) determine whether a count value (Count(R)) associated with said particular resource 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); (b)(1)(2) cache said particular resource (R) obtained in (b)(1)(1); 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); and (b)(2)(2) serve said particular resource (R) obtained in (b)(1)(1) to said client; and
,(b)(3) when said count value (Count(R)) is determined to be;
(i) not less than said second threshold value (min_uses_floor), and (ii) not greater than said first threshold value (min_uses), then(b)(3)(1) obtain said particular resource (R); (b)(3)(2) based on an amount of space available in cache, selectively cache said particular resource (R); and (b)(3)(3) serve said particular resource (R) obtained in (b)(3)(2) to said client.
-
Specification