Adaptive prefetching for computer network and web browsing with a graphic user interface
First Claim
1. A method for reducing latency of requests by a local computer for computer files available from a network computer by prefetching a subset of available computer files to the local computer comprising the steps of:
- calculating an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein calculating the access probability employs an application specific algorithm based on access history at the local computer, or network computer, or both;
calculating a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability and wherein calculating a prefetch threshold employs an algorithm that is not application specific, but is a function of system load, capacity, and cost of a time unit and a system resource unit to a user; and
accessing each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention is based on a prefetching scheme consisting of two modules: a prediction module and a threshold module. After a use'"'"'s request for a new file is satisfied, the prediction module immediately updates a database of history information if needed, and computes the access probability for each candidate file, where the access probability of a file is an estimate of the probability with which that file will be requested by the user in the near future. Next the threshold module determines the prefetch threshold for each related server, which contains at least one candidate file with nonzero access probability. The threshold is determined in real time based on then current network conditions. Finally, each file whose access probability exceeds or equals its server'"'"'s prefetch threshold is prefetched. When prefetching a file, the file is actually downloaded if and only if no up-to-date version of the file is available on the local computer; otherwise no action is taken. Although web browsing is an important application for prefetching, the prefetch scheme of the present invention may be advantageously applied to any network application in which prefetching is possible.
284 Citations
12 Claims
-
1. A method for reducing latency of requests by a local computer for computer files available from a network computer by prefetching a subset of available computer files to the local computer comprising the steps of:
-
calculating an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein calculating the access probability employs an application specific algorithm based on access history at the local computer, or network computer, or both;
calculating a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability and wherein calculating a prefetch threshold employs an algorithm that is not application specific, but is a function of system load, capacity, and cost of a time unit and a system resource unit to a user; and
accessing each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer. - View Dependent Claims (2)
-
-
3. A method for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising the steps of:
-
determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer;
wherein the step of determining an access probability employs an algorithm particularly suited to a web browsing application and wherein a computer file is considered as being available only if the computer file is directly linked to a page being currently displayed by the local computer, further comprising the steps of;
maintaining a page counter CA for each page A;
determining if a link to a page B exists from page A and maintaining a link counter C(A,B) for the pair if the link exists;
incrementing CA whenever page A is downloaded;
incrementing C(A,B) whenever page B is accessed by means of the link; and
determining the access probability ρ
of a page Bi linked to the page A being displayed by the local computer according to
for CA≧
5, and 0 for CA<
5.
-
-
4. A method for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising the steps of:
-
determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer;
wherein the prefetch threshold is determined using an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, and where the equation is given by
-
-
5. A method for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising the steps of:
-
determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer;
wherein the prefetch threshold is determined using an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, s represents a size of the prefetched file and where the equation is given by
-
-
6. A method for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising the steps of:
-
determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer;
wherein the prefetch threshold Hk for a user k is determined using an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, s represents a size of the prefetched file, and λ
represents a file request rate and where the equation is given by
-
-
7. An apparatus for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising:
-
means for calculating an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and, wherein calculating the access probability employs an application specific algorithm based on access history at the local computer, or network computer, or both;
means for calculating a prefetch threshold, based on current network conditions for, each computer network server containing at least one file with nonzero access probability wherein calculating a prefetch threshold employs an algorithm that is not application specific, but is a function of system load, capacity, and cost of a time unit and a, system resource unit to a user; and
means for prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer. - View Dependent Claims (8)
-
-
9. An apparatus for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising:
-
means for determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file, will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
means for determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
means for prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer, wherein the means for determining an access probability employs an algorithm particularly suited to a web browsing application and wherein a file is considered as being available only if the file is directly linked to a page being currently displayed by the local computer, further comprising;
means for maintaining a page counter CA for each page A;
means for determining if a link to a page B exists from page A and for maintaining a link counter C(A,B) for the pair if the link exists;
means for incrementing CA whenever page A is downloaded;
means for incrementing C(A,B) whenever page B is accessed by means of the link; and
means for determining the access probability ρ
of a page Bi linked to the page A being displayed by the local computer according to
for CA≳
5, and 0 for CA<
5.
-
-
10. An apparatus for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising:
-
means for determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
means for determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
means for prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer, wherein the means for determining a prefetch threshold operates according to an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, and where the equation is given by
-
-
11. An apparatus for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising:
-
means for determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
means for determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
means for prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer, wherein the means for determining a prefetch threshold operates according to an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, s represents a size of the prefetched file and where the equation is given by
-
-
12. An apparatus for reducing latency of requests by a local computer for computer files available from a computer network by prefetching a subset of available computer files to the local computer comprising:
-
means for determining an access probability for each computer file available to the local computer wherein the access probability of a file is an estimate of the probability with which the file will be requested by the local computer and wherein determining the access probability employs an application specific algorithm;
means for determining a prefetch threshold, based on current network conditions for each computer network server containing at least one file with nonzero access probability wherein determining a prefetch threshold employs an algorithm that is not application specific; and
means for prefetching each file whose access probability exceeds or equals it'"'"'s server'"'"'s prefetch threshold if there is no current copy of the file already on the local computer, wherein the means for determining a prefetch threshold determines a prefetch threshold Hk for a user k by using an equation where α
T represents a delay cost, α
B represents a system resource cost, b represents capacity of a pathway for conducting a prefetched file to the local computer, ρ
represents an overall load of the computer network, s represents a size of the prefetched file, and λ
represents a file request rate and where the equation is given by
-
Specification