Content delivery network using differential caching
First Claim
1. A method for delivering content on a network using differential caching, comprising steps of:
- receiving a request for information from a network;
identifying a static portion and a dynamic portion of a document to be included in a response as the requested information based on previously cached information by utilizing a software element that is not part of a client;
caching the static portion in a memory that is logically local to the client that requested the information;
serving the static portion to the software element from the cached memory, the software element being logically local to the memory and not part of the client;
serving the dynamic portion to the software element from the network; and
integrating the static portion and the dynamic portion using the software element into the document included in the response as the requested information.
7 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a technique for serving relatively non-static content in a CDN (content delivery network). Content is pushed out from an originating server to a set of mirroring servers using differential caching. Each requestable object is separated into template and delta information. The originating server determines templates for differential caching, and causes those templates to be distributed using the CDN. Each mirroring server in the CDN is able to access a copy of a recent template for each request. Hosting of the template information is decoupled from hosting of the delta information. Delta information can include (a) changes to the template information since last distributed, or (b) personalized information specific to the client or to the request. Delta information can be served separately from the originating server, or can be served separately from mirroring servers using a CDN (possibly the same CDN as used to serve template information).
-
Citations
22 Claims
-
1. A method for delivering content on a network using differential caching, comprising steps of:
-
receiving a request for information from a network; identifying a static portion and a dynamic portion of a document to be included in a response as the requested information based on previously cached information by utilizing a software element that is not part of a client; caching the static portion in a memory that is logically local to the client that requested the information; serving the static portion to the software element from the cached memory, the software element being logically local to the memory and not part of the client; serving the dynamic portion to the software element from the network; and integrating the static portion and the dynamic portion using the software element into the document included in the response as the requested information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A content delivery network system, comprising:
-
a client device operatively configured to generate a request for information from a network server; a proxy server operatively configured to respond to the request by obtaining the information, identifying a static portion and a dynamic portion of a document to be included in a response as the requested information based on previously cached information, identifying different versions of the information, differentially caching the static portion in a location that is logically local to the client device, and integrating the static portion and the dynamic portion into the document included in the response as the requested information; a network server including the information; and a communication network. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A memory storing information, including instructions executable by a processor, the instructions comprising:
-
recognizing a request from a client that is not part of the memory for information to a first server; redirecting the request to a proxy server other than the first server; receiving a static portion of a document to be included in a response as the requested information from a cache in the proxy server; receiving a dynamic portion of the document to be included in the response as the information from the first server, the dynamic portion being determined based on the static portion in the cache; integrating the static portion and the dynamic portion into the document; and presenting the document in the response to the client. - View Dependent Claims (17, 18, 19)
-
-
20. A cache memory storing information, including instructions executable by a processor, the instructions comprising:
-
receiving a request for information from a client that is not part of the memory; redirecting the request to a first server; receiving information from the first server, wherein the information is responsive to the request; identifying a static portion and a dynamic portion of a document to be included in a response as the requested information by comparing the static portion to other information in the cache memory; integrating the static portion and the dynamic portion to form the document; and sending the integrated document to the client as a complete response. - View Dependent Claims (21, 22)
-
Specification