Systems and methods of dynamically checking freshness of cached objects based on link status
First Claim
1. A method for dynamically determining whether to check a status of a cached object based on an operational characteristic of a connection to a remote object server, the method comprising the steps of:
- (a) receiving, by a device intermediary to a requestor and a server, an object transmitted from the server to the requestor via a transport layer connection between the device and the server, the device storing the object in a cache;
(b) detecting, by the device, that an operational characteristic of the transport layer connection between the device and the server is within a predetermined threshold; and
(c) determining, by the device in response to the detection, to transmit a request to the server to check a freshness of the object stored in the cache.
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
36 Claims
-
1. A method for dynamically determining whether to check a status of a cached object based on an operational characteristic of a connection to a remote object server, the method comprising the steps of:
-
(a) receiving, by a device intermediary to a requestor and a server, an object transmitted from the server to the requestor via a transport layer connection between the device and the server, the device storing the object in a cache; (b) detecting, by the device, that an operational characteristic of the transport layer connection between the device and the server is within a predetermined threshold; and (c) determining, by the device in response to the detection, to transmit a request to the server to check a freshness of the object stored in the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In a networked environment including a network appliance acting as a proxy between a client requesting pages and a server responding to client requests, an appliance for dynamically determining whether to check a status of a cached object based on an operational characteristic of a connection to the server, the appliance comprising:
-
means for intercepting, by a device intermediary to a client and a server, an object transmitted from the server to the client via a transport layer connection between the device and the server and storing the object in a cache; means for detecting that an operational characteristic of the transport layer connection between the device and the server is within a predetermined threshold; and means for determining, in response to the detection, to transmit a request to the server to check freshness of the object stored in the cache. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A system comprising a device deployed between a client and a server, the system determining whether to check a status of a cached object based on an operational characteristic of a transport layer connection between the device and the server, the system comprising:
-
a device deployed between a client and a server receiving from the server a page transmitted by the server to the client via a transport layer connection between the device and the server, the page identifying a first object, the device storing the first object in a cache; a detector of the device detecting whether available network bandwidth of the transport layer connection between the device and the server is greater than a predetermined bandwidth threshold; and wherein the device determines, in response to the detector detecting that the available network bandwidth of the transport layer connection between the device and the server is greater than the predetermined bandwidth threshold, to transmit a first request to the server via the transport layer connection to obtain a first status of the first object from the server for the first object stored in the cache of the device; and wherein the device determines not to request a status of a second object stored in the cache of the device while the detector detects that the available network bandwidth of the transport layer connection is below the predetermined bandwidth threshold.
-
Specification