Accumulator for prefetch abort
First Claim
1. A method for handling object data as part of a prefetch operation in a communications system, the method comprising:
- commencing downloading of object data of a prefetch object from a content server using a prefetch server communicatively coupled with the content server;
accumulating the object data in an accumulator at the prefetch server;
checking an accumulated size of the accumulated object data;
determining, at the prefetch server and as a function of the accumulated size of the accumulated object data, whether the cost of pushing the object data to a client over a communication link of the communications system exceeds the benefit of pushing the object data to the client over the communication link of the communications system; and
when the cost of pushing the object data to the client exceeds the benefit of pushing the object data to the client, aborting the prefetch operation.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to systems, apparatus, and methods of determining whether to abort a prefetch operation. Embodiments include accumulator functionality for accumulating object data prior to making an abort determination. Certain embodiments compress the accumulated data to more accurately reflect the cost of pushing the data to the client as part of the prefetch operation. Accumulation and/or compression of the data may provide sufficient data relating to the size of the object to make a useful prefetch abort determination, even where the size of the object cannot be otherwise determined (e.g., from the object data header). Other embodiments store accumulated data (e.g., in compressed or uncompressed form) for use in further optimizing prefetch operations. For example, if an accumulated prefetch is aborted before the object is forwarded to the client, and the client later requests the object, the object may be pushed to the client from server-side storage, rather than retrieving (e.g., and compressing) the object from the content server redundantly.
-
Citations
22 Claims
-
1. A method for handling object data as part of a prefetch operation in a communications system, the method comprising:
-
commencing downloading of object data of a prefetch object from a content server using a prefetch server communicatively coupled with the content server; accumulating the object data in an accumulator at the prefetch server; checking an accumulated size of the accumulated object data; determining, at the prefetch server and as a function of the accumulated size of the accumulated object data, whether the cost of pushing the object data to a client over a communication link of the communications system exceeds the benefit of pushing the object data to the client over the communication link of the communications system; and when the cost of pushing the object data to the client exceeds the benefit of pushing the object data to the client, aborting the prefetch operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for handling object data as part of a prefetch operation in a communications system, the system comprising:
a proxy server located at a server-side node of the communications system, the proxy server being communicatively coupled with a content server and with a client located at a client-side node of the communications system, the proxy server comprising; an accumulator configured to accumulate object data of a prefetch object; and a prefetch server, communicatively coupled with the accumulator and configured to; download the object data from the content server to the accumulator; check an accumulated size of the accumulated object data; determine, as a function of the accumulated size of the accumulated object data, whether the cost of pushing the object data to the client over a communication link of the communications system exceeds the benefit of pushing the object data to the client over the communication link of the communications system; and when the cost of pushing the object data to the client exceeds the benefit of pushing the object data to the client, aborting the prefetch operation. - View Dependent Claims (13, 14, 15, 16, 17)
-
18. A non-transitory machine-readable medium for handling object data as part of a prefetch operation in a communications system, the machine-readable medium having instructions stored thereon which, when executed by a machine, cause the machine to perform steps comprising:
-
commencing downloading of object data of the prefetch object from a content server communicatively coupled with the machine; accumulating the object data in an accumulator; checking an accumulated size of the accumulated object data; determining, at the prefetch server, a threshold value indicating a threshold size of the prefetch object, such that the cost of pushing the object data to the client is substantially equal to the benefit of pushing the object data to the client when the accumulated size of the accumulated data is substantially equal to the threshold size, wherein the threshold value is determined such that S=[P*(TRT+TPF)*B]/(1−
P),wherein S indicates the threshold value, P indicates a probability of use of the prefetch object by the client, B indicates a bandwidth of the communication link of the communications system between the prefetch server and the client, TRT indicates a round-trip time for communicating the prefetch between the prefetch server and the client, and TPF indicates a prefetch time for downloading the prefetch object from the content server to the prefetch server; determining, as a function of the accumulated size of the accumulated object data, whether the cost of pushing the object data to a client communicatively coupled with the machine over a communication link of the communications system exceeds the benefit of pushing the object data to the client over the communication link of the communications system; and when the cost of pushing the object data to the client exceeds the benefit of pushing the object data to the client, aborting the prefetch operation. - View Dependent Claims (19, 20, 21, 22)
-
Specification