Method and device for performing caching of dynamically generated objects in a data communication network
First Claim
1. A method for caching a dynamically generated object identified as not cacheable, the method comprising the steps of:
- receiving, by an intermediary device located between a plurality of clients and an originating server, from the originating server, a dynamically generated object identified as not cacheable generated in response to a first request from a first client of the plurality of clients;
transmitting, by the intermediary device, the dynamically generated object to the first client, responsive to the first request;
retaining, in a cache on the intermediary device, the dynamically generated object identified as not cacheable after transmitting the dynamically generated object to the first client;
receiving, by the intermediary device, a second request from a second client of the plurality of clients for the dynamically generated object responding, by the intermediary device, to the second request with the cached dynamically generated object identified as not cacheable generated in response to the first request;
receiving, by the intermediary device, a request to invalidate the cached dynamically generated object identified as not cacheable; and
marking, by the intermediary device in response to the request to invalidate the cached dynamically generated object identified as not cacheable, the cached dynamically generated object identified as not cacheable as invalid.
7 Assignments
0 Petitions
Accused Products
Abstract
A method for maintaining a cache of dynamically generated objects. The method includes storing in the cache dynamically generated objects previously served from an originating server to a client. A communication between the client and server is intercepted by the cache. The cache parses the communication to identify an object determinant and to determine whether the object determinant indicates whether a change has occurred or will occur in an object at the originating server. The cache marks the object stored in the cache as invalid if the object determinant so indicates. If the object has been marked as invalid, the cache retrieves the object from the originating server.
758 Citations
60 Claims
-
1. A method for caching a dynamically generated object identified as not cacheable, the method comprising the steps of:
-
receiving, by an intermediary device located between a plurality of clients and an originating server, from the originating server, a dynamically generated object identified as not cacheable generated in response to a first request from a first client of the plurality of clients; transmitting, by the intermediary device, the dynamically generated object to the first client, responsive to the first request; retaining, in a cache on the intermediary device, the dynamically generated object identified as not cacheable after transmitting the dynamically generated object to the first client; receiving, by the intermediary device, a second request from a second client of the plurality of clients for the dynamically generated object responding, by the intermediary device, to the second request with the cached dynamically generated object identified as not cacheable generated in response to the first request; receiving, by the intermediary device, a request to invalidate the cached dynamically generated object identified as not cacheable; and marking, by the intermediary device in response to the request to invalidate the cached dynamically generated object identified as not cacheable, the cached dynamically generated object identified as not cacheable as invalid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for caching a group of dynamically generated objects having at least one object identified as not cacheable, the method comprising the steps of:
-
identifying, in a cache on an intermediary device located between a client and an originating server, a group of dynamically generated objects previously generated in response to a request from the client and served from the originating server, at least one of the dynamically generated objects identified as not cacheable; associating, by the intermediary device, the group with an object determinant, the object determinant comprising one or more parameter name-value pairs in a first communication between the client and the originating server; and intercepting, by the intermediary device, a second communication from the client or a second client identifying the object determinant associated with the group and indicating via the object determinant in the second communication a change is one of about to occur or has occurred on the originating server to one of the objects identified as not cacheable of the group. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for maintaining a cache of dynamically generated objects, the method comprising the steps of:
-
storing, by a cache on an intermediary located between a client and an originating server, a dynamically generated object identified as not cacheable and generated at the originating server in response to a request from a client; identifying, by the intermediary, an object determinant of the cached dynamically generated object, the object determinant comprising one or more parameter name-value pairs in a first communication between the client and the originating server; intercepting, by the cache, a second communication between the client and the originating server; identifying, by the intermediary device, an object determinant in the second communication; determining, by the intermediary device, responsive to the object determinant in the second communication corresponding to the identified object determinant of the cached dynamically generated object, that a change has occurred or will occur in the dynamically generated object identified as not cacheable and generated at the originating server in response to a request from a client; and marking, by the cache, the dynamically generated object identified as not cacheable and stored in the cache as invalid. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for caching a dynamically generated object identified as not cacheable, the system comprising:
-
means for receiving, by an intermediary device located between a plurality of clients and an originating server, from the originating server, a dynamically generated object identified as not cacheable generated in response to a first request from a first client of the plurality of clients; means for transmitting, by the intermediary device, the dynamically generated object to the first client, responsive to the first request; means for retaining in a cache on the intermediary device, the dynamically generated object identified as not cacheable after transmitting the dynamically generated object to the first client; means for receiving, by the intermediary device, a second request from a second client of the plurality of clients for the dynamically generated object; means for responding, by the intermediary device, to the second request with the cached dynamically generated object identified as not cacheable generated in response to the first request; means for receiving, the intermediary device, a request to invalidate the cached dynamically generated object identified as not cacheable; and means for marking, by the intermediary device in response to the request to invalidate the cached dynamically generated object identified as not cacheable, the cached dynamically generated object identified as not cacheable as invalid. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
40. A system for caching a group of dynamically generated objects having at least one object identified as not identified as cacheable, the system comprising:
-
means for identifying, in a cache on an intermediary device located between a client and an originating server, a group of dynamically generated objects generated in response to a request by the client and served from the originating server, at least one of the dynamically generated objects identified as not cacheable; means for associating, by the intermediary device, the group with an object determinant, the object determinant comprising one or more parameter name-value pairs in a first communication between the client and the originating server; and means for intercepting, by the intermediary device, a second communication from the client or a second client identifying the object determinant of the group and indicating via the object determinant in the second communication a change is one of about to occur or has occurred on the originating server to one of the objects of the group. - View Dependent Claims (41, 42, 43, 44)
-
-
45. A system for maintaining a cache of dynamically generated objects, the system comprising:
-
means for storing, by a cache on an intermediary located between a client and an originating server, a dynamically generated object identified as not cacheable and generated at the originating server in response to a request from a client; means for identifying, by the intermediary, an object determinant of the cached dynamically generated object, the object determinant comprising one or more parameter name-value pairs in a first communication between the client and the originating server; means for intercepting, by the cache on an intermediary located between a client and an originating server, a second communication between the client and the originating server; means for identifying, by the intermediary device, an object determinant in the second communication; means for determining, by the intermediary device, responsive to the object determinant in the second communication corresponding to the identified object determinant of the cached dynamically generated object that a change has occurred or will occur in the dynamically generated object identified as not cacheable and generated at the originating server in response to a request from a client; and means for marking, by the cache, the dynamically generated object identified as not cacheable and stored in cache as invalid. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. A method for maintaining a cache of dynamically generated objects, the method comprising the steps of:
-
storing, by a cache on an intermediary located between a client and an originating server, a dynamically generated object generated at the originating server in response to a first request from a first client; identifying, by the intermediary, an object determinant of the cached dynamically generated object, the object determinant comprising one or more parameter name-value pairs in a first communication between the client and the originating server used by the originating server upon receipt to change the dynamically generated object; intercepting, by the intermediary, a second request from a second client to the originating server for the dynamically generated object, the second request including the identified object determinant; determining, by the intermediary, that receipt of the identified object determinant of the second request by the originating server will not cause a change to occur in the originating server to change the dynamically generated object; responding to the second request, by the intermediary, with the cached dynamically generated object; intercepting, by the intermediary, a third request from a third client to the originating server for the dynamically generated object, the third request including the identified object determinant; determining, by the intermediary, that receipt of the identified object determinant of the third request by the originating server will cause the originating server to change the dynamically generated object; and marking, by the intermediary, the cached dynamically generated object as invalid.
-
Specification