Method and system for distributing requests for content
First Claim
1. A method of forwarding requests for content from a client over a network, comprising:
- (a) receiving a request for content over the network and based on a determination of content generation information included within the request, determining if the requested content is dynamic or static;
(b) if the requested content is determined to be dynamic, forwarding the request over the network to a content server that enables access to the dynamic content; and
(c) if the requested content is determined to be static, forwarding the request over the network to a plurality of caches that enable access to the static content, wherein the plurality of caches include at least one hot cache, wherein the plurality of caches is organized in a hierarchy and wherein a higher level cache in the hierarchy is associated with a higher frequency of requests for static content than a lower frequency of requests for static content associated with a lower level cache, and wherein forwarding the request over the network to the plurality of caches that enable access to the static content further comprises recursively forwarding requests, generated from different caches in the hierarchy based on the received request and receipt of one of the recursively forwarded requests at each of the different caches in the hierarchy, through the hierarchy until a frequency of the request for static content exceeds a threshold associated with the hot cache and particular to a content set that includes the requested content.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for caching content, such as content requested from a server on the World Wide Web. Requests for dynamic content are forwarded directly to a content server to avoid caching data that might only be used once. Requests for static content are forwarded to a hot or a regular cache depending on the frequency at which the content is requested. When a hot cache does not contain the content, it forwards the request to the forwarder which then forwards the request to a regular cache. When the regular cache does not contain the content, it requests the content from the forwarder which then forwards the request to a content server. There may be more than two layers of cache.
284 Citations
27 Claims
-
1. A method of forwarding requests for content from a client over a network, comprising:
-
(a) receiving a request for content over the network and based on a determination of content generation information included within the request, determining if the requested content is dynamic or static; (b) if the requested content is determined to be dynamic, forwarding the request over the network to a content server that enables access to the dynamic content; and (c) if the requested content is determined to be static, forwarding the request over the network to a plurality of caches that enable access to the static content, wherein the plurality of caches include at least one hot cache, wherein the plurality of caches is organized in a hierarchy and wherein a higher level cache in the hierarchy is associated with a higher frequency of requests for static content than a lower frequency of requests for static content associated with a lower level cache, and wherein forwarding the request over the network to the plurality of caches that enable access to the static content further comprises recursively forwarding requests, generated from different caches in the hierarchy based on the received request and receipt of one of the recursively forwarded requests at each of the different caches in the hierarchy, through the hierarchy until a frequency of the request for static content exceeds a threshold associated with the hot cache and particular to a content set that includes the requested content. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for forwarding a request for content from a client over a network, comprising:
-
(a) determining a frequency of requests summed from requests for all content of a plurality of different static content in a content set, wherein the content set includes the requested content, and wherein a determination of content generation information included within the request determines a static type of the requested content; and (b) if the frequency of requests for the plurality of different static content in the content set exceeds a threshold that is particular to the content set, forwarding the request for the static content over the network to a first cache that employs a hot list for access to static content that is separately cached, and wherein the static content is obtained when unavailable in the first cache by actions, including; (i) generating a second request for the static content; and (ii) forwarding the second request over the network to a second cache determined by hashing an identifier associated with the static content if the frequency of requests for the plurality of different static content in the content set is below the threshold. - View Dependent Claims (9, 10, 11)
-
-
12. A system for forwarding a request for content from a client over a network, comprising:
-
(a) a forwarder that receives each request for content in the system and forwards each request over the network to at least one of a content server and one of a plurality of caches including at least a hot cache and a regular cache, wherein the forwarding of each request is based on a determination of content generation information included within each request if the requested content is dynamic or static and a determination of a frequency of each request for a static type of content and a determination if a request for the content received at the forwarder is coming from a cache in the plurality of caches to which the forwarder previously forwarded a prior request over the network for the content; (b) the content server is coupled to the forwarder, wherein the content server sends content over the network to the client in response to each request that is forwarded to the content server; and (c) the plurality of caches coupled to the forwarder, wherein the hot cache is based at least in part on the request for static content with a higher frequency greater than a lower frequency associated with a lower level cache and that exceeds a threshold that is particular to a content set that includes the requested content, and wherein one cache sends static content over the network to the client in response to each request for static content that is forwarded over the network to the plurality of caches. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of forwarding requests for content from a client over a network, comprising:
-
(a) means for receiving a request for content over the network from a client and determining if the requested content is dynamic or static based on content generation information included within the request; (b) if the type of the requested content is determined to be dynamic, means for forwarding the request over the network to a content server that enables access to the dynamic content; and (c) if the type of the requested content is determined to be static, means for forwarding the request over the network to a plurality of caches that enable access to the static content, wherein the plurality of caches is organized in a hierarchy of caches, wherein the plurality of caches includes at least one hot cache that further includes content based at least in part on a higher frequency of request for static content that is greater than a lower frequency associated with a lower level cache in the hierarchy and that exceeds a threshold that is particular to a content set that includes the requested content, and wherein forwarding the received request over the network to the plurality of caches comprises forwarding a request, generated by the at least one hot cache, for content associated with a higher frequency of request to a lower level cache in the hierarchy.
-
-
25. A computer readable storage medium tangibly embodying machine executable instructions stored thereon, configured to be executed by at least one processor, the medium comprising:
-
(a) a forwarder that receives each request for content and forwards each request over the network to at least one of a content server and a plurality of caches including at least a hot cache, wherein forwarding each request is based on at least one of a determination if the content requested is dynamic or static by the content generation information included within the request and a determination of the frequency of requests for a static type of content and a determination if a request for content received at the forwarder is coming from a cache in the plurality of caches to which the forwarder previously forwarded a prior request over the network for the content; (b) a transceiver that couples the content server to the forwarder, wherein, if a request is determined to be for a dynamic content type, the forwarder forwards the request over the network to the content server, whereby the content server sends content to the client in response to each request that is forwarded to the content server; and (c) another transceiver that couples the plurality of caches to the forwarder, wherein the hot cache that is based at least in part on the request with a higher frequency greater than a lower frequency associated with a lower level cache and that exceeds a threshold that is particular to a content set that includes the requested content, and wherein one cache sends content over the network to the client in response to each request that is forwarded over the network to the plurality of caches based on a determination of the request.
-
-
26. A method of forwarding requests for content from a client over a network, comprising:
-
receiving a request for content over the network and determining if the request is for a dynamic or static type of content; selectively communicating over the network with at least one of a plurality of caches for a static type of content based on a negative determination of the content generation information included within the request, wherein the plurality of caches is organized in a hierarchy of caches that includes at least a hot cache, and wherein selectively communicating comprises sending a first request to one of the plurality of caches and subsequently receiving a second request for the same content from the one of the plurality of caches; and providing a response over the network to the request for static content based on the negative determination of the request, wherein the hot cache is based at least in part on the request for static content with a higher frequency greater than a lower frequency associated with a lower level cache in the plurality of caches in the hierarchy and that exceeds a threshold that is particular to a content set that includes the requested content. - View Dependent Claims (27)
-
Specification