Systems and methods of prefreshening cached objects based on user's current web page
First Claim
1. A method for refreshing cached objects based on user requests for pages identifying the cached objects, the method comprising:
- (a) receiving, by a device, a page via a network, the page identifying an object via a uniform resource locator (URL);
(b) forwarding, by the device, the page to a user requesting the page;
(c) determining, by the device, that the object identified by the URL of the forwarded page is stored in a cache of the device and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a predetermined size established for prefetching;
(d) transmitting, by the device responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to a remote object server prior to the user requesting the object from the page and prior to expiration of the object stored in the cache; and
(e) updating, by the device, the object in the cache responsive to receiving a response to the request for the status of the object.
7 Assignments
0 Petitions
Accused Products
Abstract
The present solution provides techniques that may accelerate and optimize network traffic in the areas of proxy caching, protocol acceleration, domain name resolution acceleration, and compression improvements using prefetching and/or prefreshening techniques to improve intermediary caching. Techniques described herein may improve the efficiency of obtaining and servicing data from originating servers to requesting clients and accelerates domain name resolution. The present solution may further help accelerate resolution of URLs into IP addresses. The present solution may improve 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.
422 Citations
47 Claims
-
1. A method for refreshing cached objects based on user requests for pages identifying the cached objects, the method comprising:
-
(a) receiving, by a device, a page via a network, the page identifying an object via a uniform resource locator (URL); (b) forwarding, by the device, the page to a user requesting the page; (c) determining, by the device, that the object identified by the URL of the forwarded page is stored in a cache of the device and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a predetermined size established for prefetching; (d) transmitting, by the device responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to a remote object server prior to the user requesting the object from the page and prior to expiration of the object stored in the cache; and (e) updating, by the device, the object in the cache responsive to receiving a response to the request for the status of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A device for refreshing cached objects based on user requests for pages identifying the object, the device comprising:
-
means for receiving a page via a network, the page identifying an object via a uniform resource locator (URL); means for forwarding the page to a user requesting the page; means for determining that the object identified by the URL of the forwarded page is stored in a cache of the device and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a predetermined size established for prefetching; means for transmitting, responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to a remote object server prior to the user requesting the object from the page and prior to expiration of the object stored in the cache; and means for updating the object in the cache responsive to receiving a response to the request for the status of the object. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. In a networked environment including a network appliance acting as a proxy between a client requesting pages and a server responding to client requests, a method for refreshing objects cached by the appliance, the method comprising:
-
(a) receiving, by the appliance, a page transmitted by a server to a client in response to a request from a user of the client, the page identifying an object via a uniform resource locator (URL); (b) forwarding, by the appliance, the intercepted page to the client; (c) determining, by a cache manager of the appliance, that the object identified by the URL of the forwarded page is stored in a cache of the appliance and determining from the cache that a remaining time to expiration of the object in the cache is within a predetermined threshold prior to expiration of the object in the cache and a size of the object is larger than a redetermined size established for prefetching; (d) transmitting, by the appliance, responsive to the determination that the remaining time to expiration of the object in the cache is within the predetermined threshold prior to expiration of the object in the cache, a request for a status of the object to the server prior to the user of the client requesting the object from the page and prior to expiration of the object stored in the cache; and (e) updating, by the appliance, the object in the cache responsive to a response to the request for the status of the object. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A method for refreshing, by an intermediary device, an object in a cache of the intermediary device upon a user request for a page identifying the object, the method comprising:
-
(a) receiving, by an intermediary device from a server, a page in response to a first request for the page by a user, the page identifying an object via a uniform resource locator (URL); (b) determining, by the intermediary device, based on the received page that the object identified by the URL of the page is stored in a cache of the intermediary device and that a size of the object is larger than a predetermined size established for prefetching; (c) transmitting, by the intermediary device, responsive to the determination and prior to the user requesting the object, a second request to the server to obtain hypertext transfer protocol (HTTP) header information of the object; (d) prefetching, by the intermediary device prior to expiration of the object stored in the cache, from the server the object based on the HTTP header information of the object received from the server responsive to the second request, the HTTP header information indicating an updated version of the object; (e) storing, by the intermediary device in the cache, the updated version of the prefetched object; (f) determining, by the intermediary device, that a second object identified by a second URL of a second received page is stored in the cache of the intermediary device and that the second object'"'"'s size is smaller than the predetermined size established for prefetching and responsive to the second object'"'"'s size being smaller than the predetermined size for prefetching, not transmitting to the server a request to obtain HTTP header information of the second object.
-
Specification