SYSTEMS AND METHODS FOR CONTROLLING CACHEABILITY AND PRIVACY OF OBJECTS
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. Origin-generated tokens can drive the process of caching, and can be used as handles for later invalidating origin responses within caching proxy servers delivering the content. Tokens can also be used to control object caching behavior at a server, and in particular to control how an object is indexed in cache and who it may be served to. Tokens may indicate, for example, that responses to certain requested URL paths are public, or may be used to map user-id in a client request to a group for purposes of locating valid cache entries in response to subsequent client requests.
-
Citations
22 Claims
-
1-12. -12. (canceled)
-
13. A computer-implemented method performed by a server, comprising:
-
receiving a first request from a client device, the first request including a first identifier and being directed to a URL, the first identifier corresponding to a first class of one or more users; in response to the first request from the client device, generating a forward request to an origin server; receiving a response to the forward request from the origin server, the response comprising a token that comprises a second identifier, the second identifier corresponding to a second class of one or more users; upon receiving the response, storing a mapping of the first identifier to the second identifier in a local data structure; receiving a second request from the client device, and in response to the second request; (i) consulting the local data structure to obtain the mapping of the first identifier to the second identifier; (ii) incorporating the second identifier into cache-key computation; (iii) retrieving content from a local cache, the content being stored under a cache-key calculated based on the second identifier; (iv) serving the content to the client device. - View Dependent Claims (14, 15, 17, 18, 19)
-
-
16. An apparatus, comprising:
-
a hardware processor; computer memory storing computer program instructions executed by the one or more hardware processors, the computer program instructions comprising; program code to receive a first request from a client device, the first request including a first identifier and being directed to a URL, the first identifier corresponding to a first class of one or more users; program code to, in response to the first request from the client device, generate a forward request to an origin server; program code to receive a response to the forward request from the origin server, the response comprising a token that comprises a second identifier, the second identifier corresponding to a second class of one or more users; program code to store a mapping of the first identifier to the second identifier in a local data structure; program code to receive a second request from the client device, and in response to the second request; (i) consult the local data structure to obtain the mapping of the first identifier to the second identifier; (ii) incorporate the second identifier into cache-key computation; (iii) retrieve content from a local cache is the content being stored under a cache-key calculated based on the second identifier; (iv) serve the content to the client device. - View Dependent Claims (20, 21, 22)
-
Specification