SYSTEMS AND METHODS FOR CACHING CONTENT WITH NOTIFICATION-BASED INVALIDATION
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are systems, devices, and methods for content delivery on the Internet. In certain non-limiting embodiments, a caching model is provided that can support caching for indefinite time periods, potentially with infinite or relatively long time-to-live values, yet provide prompt updates when the underlying origin content changes. In one approach, an origin server can annotate its responses to content requests with tokens, e.g., placing them in an appended HTTP header or otherwise. The tokens can drive the process of caching, and can be used as handles for later invalidating the responses within caching proxy servers delivering the content. Tokens may be used to represent a variety of kinds of dependencies expressed in the response, including without limitation data, data ranges, or logic that was a basis for the construction of the response.
-
Citations
44 Claims
-
1-28. -28. (canceled)
-
29. A computer-implemented method performed by a content delivery network (CDN) server that has circuitry forming one or more processors and memory holding instructions for execution by the one or more processors, the method comprising:
-
receiving a response having appended thereto a first token, the first token comprising a moniker and a serial number and the first token corresponding to any of data and logic at a remote source upon which the content of the response depends; caching the response and the first token; receiving a message, the message comprising a second token, the second token comprising a moniker and a serial number, and in response to the message, storing the second token in a cache of current tokens; wherein the moniker of the second token is the same as the moniker of the first token; after receiving the message, receiving a client request that includes a domain name; determining that the cached response is responsive to the client request; before using the cached response to respond to the client request, comparing the serial number of the first token with the serial number of the second token; upon a determination that the serial number of the first token matches the serial number of the second token, serving the cached response to the client; upon a determination that the serial number of the first token is different than the serial number of the second token, determining to send a forward request to the remote source to obtain a response with current content. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-implemented method performed by a content delivery network (CDN) server that has circuitry forming one or more processors and memory holding instructions for execution by the one or more processors, the method comprising:
-
receiving a response having appended thereto a first token, the first token comprising a moniker and a serial number and the first token corresponding to any of data and logic at a remote source upon which the content of the response depends; caching the response and the first token; receiving a message, the message comprising a second token, the second token comprising a moniker and a timestamp, and in response to the message, storing the second token in a cache of current tokens; wherein the moniker of the second token is the same as the moniker of the first token; after receiving the message, receiving a client request that includes a domain name; determining that the cached response is responsive to the client request; before using the cached response to respond to the client request, comparing the timestamp of the first token with the timestamp of the second token; upon a determination that the timestamp of the first token matches the timestamp of the second token, serving the cached response to the client; upon a determination that the timestamp of the first token is different than the timestamp of the second token, determining to send a forward request to the remote source to obtain a response with current content. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44)
-
Specification