Systems and methods for prefetching objects for caching using QOS
First Claim
1. A method for speculatively prefetching an object using idle network bandwidth, the method comprising:
- (a) receiving, by a device via a network, a communication identifying an object;
(b) generating, by the device, a request to an object server for the object, the request identified as a speculative request;
(c) determining, by the device, availability of idle network bandwidth to obtain the object from the object server; and
(d) transmitting, by the device in response to the determination of availability of idle network bandwidth, the generated request packet to the object server according to a transmission rate to maintain bandwidth usage from the speculative request within a predetermined level.
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.
275 Citations
43 Claims
-
1. A method for speculatively prefetching an object using idle network bandwidth, the method comprising:
-
(a) receiving, by a device via a network, a communication identifying an object; (b) generating, by the device, a request to an object server for the object, the request identified as a speculative request; (c) determining, by the device, availability of idle network bandwidth to obtain the object from the object server; and (d) transmitting, by the device in response to the determination of availability of idle network bandwidth, the generated request packet to the object server according to a transmission rate to maintain bandwidth usage from the speculative request within a predetermined level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for speculatively prefetching an object using idle network bandwidth, the system comprising:
-
means for intercepting a communication transmitted via a network, the communication comprising an identifier of an object; means for generating a request packet to an object server for the object identified, the request identified as a speculative request; means for determining availability of idle network bandwidth to obtain the object from the object server; and means for transmitting, in response to the determination of availability of idle network bandwidth, the generated request packet to the object server according to a transmission rate to maintain bandwidth usage from the speculative request within a predetermined level. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of speculatively prefetching an object via multiple devices using idle network bandwidth, the method comprising:
-
(a) receiving, by a first device, a communication transmitted from a server to a client, the communication comprising an identifier of an object, the first appliance forwarding the communication to the requester; (b) transmitting, by the first device, a request to the server for the object identified by the communication, the first device generating the request and identifying the request as speculative; (c) identifying, by a second device, the request received from the first device as a speculative request; (d) determining, by the second device, availability of idle network bandwidth to obtain the object from the server; and (e) transmitting, by the second device in response to the determination of availability of idle network bandwidth, the request according to a transmission rate to maintain bandwidth usage from the speculative request within a predetermined level. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification