Systems and Methods of Revalidating Cached Objects in Parallel with Request for Object
First Claim
1. A method for revalidating an object stored in cache while serving the object to a requester, the method comprising the steps of:
- (a) receiving a request for an object from a requester;
(b) determining that the object exists in a cache;
(c) transmitting, responsive to the determination, the cached object to the requester in response to the request; and
(d) transmitting, responsive to the determination, a request to a remote object server to determine a status of the object.
8 Assignments
0 Petitions
Accused Products
Abstract
The present solution provides a variety of techniques for accelerating and optimizing network traffic, such as HTTP based network traffic. The solution described herein provides techniques in the areas of proxy caching, protocol acceleration, domain name resolution acceleration as well as compression improvements. In some cases, the present solution provides various prefetching and/or prefreshening techniques to improve intermediary or proxy caching, such as HTTP proxy caching. In other cases, the present solution provides techniques for accelerating a protocol by improving the efficiency of obtaining and servicing data from an originating server to server to clients. In another cases, the present solution accelerates domain name resolution more quickly. As every HTTP access starts with a URL that includes a hostname that must be resolved via domain name resolution into an IP address, the present solution helps accelerate HTTP access. In some cases, the present solution improves compression techniques by prefetching non-cacheable and cacheable content to use for compressing network traffic, such as HTTP. The acceleration and optimization techniques described herein may be deployed on the client as a client agent or as part of a browser, as well as on any type and form of intermediary device, such as an appliance, proxying device or any type of interception caching and/or proxying device.
-
Citations
46 Claims
-
1. A method for revalidating an object stored in cache while serving the object to a requester, the method comprising the steps of:
-
(a) receiving a request for an object from a requester; (b) determining that the object exists in a cache; (c) transmitting, responsive to the determination, the cached object to the requester in response to the request; and (d) transmitting, responsive to the determination, a request to a remote object server to determine a status of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for revalidating an object stored in cache while serving the object to a requester, the system comprising:
-
(a) a cache manager in communication with a requester, a remote object server and a local cache storing an object, the cache manager receiving a first request for the object from the requester; (b) wherein, in response to locating the object in the local cache, the cache manager transmits the object to the requester in response to the first request, and in response to locating the object in the local cache, transmits a second request to obtain a status of the object from the remote object server. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. The system of claim 25, wherein the cache manager stores the updated version of the object in the local cache.
-
26. In a networked environment including a network appliance acting as a proxy between a client requesting objects and an object server responding to client requests, a method for revalidation objects cached by the appliance while also serving the objects to the client, the method comprising;
-
(a) intercepting, by an appliance, a request from a client for an object from a remote object server; (b) determining, by the appliance, that the object exists in a cache of the appliance; (c) transmitting by the appliance, responsive to the determination, the cached object to the client in response to the request; and (d) transmitting by the appliance, responsive to the determination, a request to obtain a status of the object from the remote object server. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. In a networked environment including a network appliance acting as a proxy between a client requesting objects and an object server responding to client requests, an appliance revalidating objects cached by the appliance while also serving the objects to the client, the appliance comprising:
-
(a) a packet processing engine intercepting a first request from a client for an object from a server; (b) a cache manager in communication with the packet processing engine, the cache manager determining the object is stored in a cache of the appliance responsive to the packet processing engine; (c) wherein, in response to locating the object in the cache, the appliance transmits the object to the client in response to the first request, and in response to locating the object in the cache, transmits a second request to the server to obtain a status of the object. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
- 44. The appliance of claim 44, wherein the appliance receives a response to the conditional request indicating the object has not changed.
Specification