System and method for performing entity tag and cache control of a dynamically generated object not identified as cacheable in a network
First Claim
1. A method of using an entity tag for caching a dynamically generated object not identified as cacheable, the method comprising the steps of:
- receiving, by a cache manager on an intermediary located between a client and an originating server, a dynamically generated object from the server in response to a request of the client, the dynamically generated object not identified as cacheable, and the dynamically generated object associated with an application;
determining, according to a policy of a policy engine and responsive to identifying the application associated with the dynamically generated object, whether to instruct the client to cache the dynamically generated object and for how long to cache the dynamically generated object;
generating, by the cache manager and responsive to the determination, an entity tag for the received dynamically generated object;
modifying, by the cache manager, the received dynamically generated object to include the generated entity tag and an indication that the dynamically generated object is cacheable;
storing, by the cache manager in a cache on the intermediary, the modified dynamically generated object, including the generated entity tag and the indication that the dynamically generated object is cacheable; and
transmitting, by the cache manager, to the client the modified dynamically generated object, including the generated entity tag and the indication that the object is cacheable.
7 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
361 Citations
36 Claims
-
1. A method of using an entity tag for caching a dynamically generated object not identified as cacheable, the method comprising the steps of:
-
receiving, by a cache manager on an intermediary located between a client and an originating server, a dynamically generated object from the server in response to a request of the client, the dynamically generated object not identified as cacheable, and the dynamically generated object associated with an application; determining, according to a policy of a policy engine and responsive to identifying the application associated with the dynamically generated object, whether to instruct the client to cache the dynamically generated object and for how long to cache the dynamically generated object; generating, by the cache manager and responsive to the determination, an entity tag for the received dynamically generated object; modifying, by the cache manager, the received dynamically generated object to include the generated entity tag and an indication that the dynamically generated object is cacheable; storing, by the cache manager in a cache on the intermediary, the modified dynamically generated object, including the generated entity tag and the indication that the dynamically generated object is cacheable; and transmitting, by the cache manager, to the client the modified dynamically generated object, including the generated entity tag and the indication that the object is cacheable. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for using an entity tag for caching a dynamically generated object identified as not cacheable, the system comprising:
-
a processor on an intermediary located between a client and an originating server; means for receiving, by a cache manager on the intermediary, a dynamically generated object from the originating server in response to a request of the client, the dynamically generated object not identified as cacheable, and the dynamically generated object associated with an application; means for determining, according to a policy of a policy engine and responsive to identifying the application associated with the dynamically generated object, whether to instruct the client to cache the dynamically generated object and for how long to cache the dynamically generated object; means for generating, by the cache manager and responsive to the determination, an entity tag for the received dynamically generated object; means for modifying, by the cache manager, the received dynamically generated object to include the generated entity tag and an indication that the object is cacheable; means for storing, by the cache manager in a cache on the intermediary, the modified dynamically generated object, including the generated entity tag and the indication that the object is cacheable; and means for transmitting, by the cache manager, to the client the modified dynamically generated object, including the generated entity tag and the indication that the object is cacheable. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method of using an entity tag for caching a dynamically generated object identified as not cacheable, the method comprising the steps of:
-
receiving, by an intermediary device located between a client and an originating server, a dynamically generated object from the server in response to a request of the client, the dynamically generated object including a first indication that the object is not cacheable; identifying, by the intermediary, an application associated with the dynamically generated object; determining, by a policy engine of the intermediary according to a policy, whether the dynamically generated object should be under entity tag control, responsive to the identified application associated with the dynamically generated object; generating, by the cache manager and responsive to the determination, an entity tag for the received dynamically generated object; modifying, by the cache manager, the received dynamically generated object to include the generated entity tag; replacing, by the cache manager, the first indication that the dynamically generated object is not cacheable with a second indication that the dynamically generated object is cacheable; and transmitting, by the cache manager, to the client the modified dynamically generated object, including the generated entity tag and the second indication.
-
Specification