Systems and Methods of Providing Security and Reliability to Proxy Caches
First Claim
1. A method of providing security or reliability to serving cached objects for a session communicated via a transport layer connection between a client and a server, the method comprising the steps of:
- (a) receiving, by a device, a request for an object via a session communicated over a transport layer connection between a client to a server;
(b) determining, by the device, the object is stored in a cache;
(c) forwarding, by the device, the request to the server;
(d) deferring, by the device, serving the object from the cache until receiving a response from the server; and
(e) determining, by the device, to serve the object from the cache based on the response received from the server.
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
47 Claims
-
1. A method of providing security or reliability to serving cached objects for a session communicated via a transport layer connection between a client and a server, the method comprising the steps of:
-
(a) receiving, by a device, a request for an object via a session communicated over a transport layer connection between a client to a server; (b) determining, by the device, the object is stored in a cache; (c) forwarding, by the device, the request to the server; (d) deferring, by the device, serving the object from the cache until receiving a response from the server; and (e) determining, by the device, to serve the object from the cache based on the response received from the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 39)
-
-
13. An appliance for providing security or reliability to serving cached objects for a session communicated via a transport layer connection between a client and a server, the appliance comprising:
-
means for receiving a request for an object via a session communicated over a transport layer connection between a client to a server; means for determining the object is stored in a cache; means for forwarding the request to the server; means for deferring serving the object from the cache until receiving a response from the server; and means for determining to serve the object from the cache based on the response received from the server. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 27, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
24. A method of providing security or reliability to proxying a connection between a client and a server, the method comprising the steps of:
-
(a) forwarding, by a device, to a server a transport layer connection request received from a client; (b) deferring, by the device, acceptance of the transport layer connection as a connection to proxy until receiving a response from the server to the transport layer connection request of the client; (c) identifying, by the device, from the response of the server that the server accepts the transport layer connection; and (d) determining, by the device, to proxy the transport layer connection in response to identifying the server'"'"'s acceptance of the transport layer connection. - View Dependent Claims (26, 28)
-
-
37. An appliance providing security or reliability to proxying a connection between a client and a server, the appliance comprising:
-
means for forwarding to a server a transport layer connection request received from a client; means for deferring acceptance of the transport layer connection as a connection to proxy until receiving a response from the server to the transport layer connection request of the client; means for identifying from the response of the server that the server accepts the transport layer connection; and means for determining to proxy the transport layer connection in response to identifying the server'"'"'s acceptance of the transport layer connection. - View Dependent Claims (38, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification