Apparatus and method for caching of compressed content in a content delivery network
First Claim
1. A content delivery method operative at a server to which a client machine has been directed by a content delivery network (CDN) request routing mechanism, the server having a cache, wherein the server is managed by a service provider and shared by a set of participating content providers that provide content to be delivered over the CDN, the content delivery method comprising:
- upon receipt of a request for given content from the client machine that cannot be serviced at the server, fetching the given content from an origin server;
determining whether the given content should be stored in the cache in an uncompressed or compressed form by evaluating a function trading off anticipated storage time in the cache versus processing overhead required to perform the compression;
selectively storing the given content either uncompressed or compressed based on the determination, wherein the determination overrides a control for the compression routine that would otherwise apply.
1 Assignment
0 Petitions
Accused Products
Abstract
A content delivery network (CDN) edge server is provisioned to provide last mile acceleration of content to requesting end users. The CDN edge server fetches, compresses and caches content obtained from a content provider origin server, and serves that content in compressed form in response to receipt of an end user request for that content. It also provides “on-the-fly” compression of otherwise uncompressed content as such content is retrieved from cache and is delivered in response to receipt of an end user request for such content. A preferred compression routine is gzip, as most end user browsers support the capability to decompress files that are received in this format. The compression functionality preferably is enabled on the edge server using customer-specific metadata tags.
-
Citations
10 Claims
-
1. A content delivery method operative at a server to which a client machine has been directed by a content delivery network (CDN) request routing mechanism, the server having a cache, wherein the server is managed by a service provider and shared by a set of participating content providers that provide content to be delivered over the CDN, the content delivery method comprising:
-
upon receipt of a request for given content from the client machine that cannot be serviced at the server, fetching the given content from an origin server; determining whether the given content should be stored in the cache in an uncompressed or compressed form by evaluating a function trading off anticipated storage time in the cache versus processing overhead required to perform the compression; selectively storing the given content either uncompressed or compressed based on the determination, wherein the determination overrides a control for the compression routine that would otherwise apply.
-
-
2. The content delivery method as described in claim 1 wherein the determining step is performed upon a given condition.
-
3. The content delivery method as described in claim 2 wherein the given condition is a determination based on evaluating properties of a connection between the server and the client machine.
-
4. The content delivery method as described in claim 3 wherein if the connection between the server and the client machine is a broadband connection, not compressing the given content for storage in the cache.
-
5. The content delivery method as described in claim 1, wherein the anticipated storage time is based at least in part on a time-to-live (TTL) value.
-
6. A server to which a client machine has been directed by a content delivery network (CDN) request routing mechanism, wherein the server is managed by a service provider and shared by a set of participating content providers that provide content to be delivered over the CDN, the server comprising:
-
circuitry forming one or more processors; memory holding instructions to be executed by the one or more processors; a cache; wherein the instructions, when executed by the one or more processors, cause the server to; upon receipt of a request for given content from the client machine that cannot be serviced at the server, fetch the given content from an origin server; determine whether the given content should be stored in the cache in an uncompressed or compressed form by evaluating a function trading off anticipated storage time in the cache versus processing overhead required to perform the compression; selectively store the given content either uncompressed or compressed based on the determination, wherein the determination overrides a control for the compression routine that would otherwise apply.
-
-
7. The server as described in claim 6, wherein the anticipated storage time is based at least in part on a time-to-live (TTL) value.
-
8. The server as described in claim 6 wherein, upon execution, the instructions cause the server to perform the determining step upon a given condition.
-
9. The server as described in claim 8 wherein the given condition is a determination based on evaluating properties of a connection between the server and the client machine.
-
10. The server as described in claim 9 wherein upon execution the instructions cause the server, if the connection between the server and the client machine is a broadband connection, to not compress the given content for storage in the cache.
Specification