Precaching data at an intermediate server based on historical data requests by users of the intermediate server
First Claim
1. A method in a data processing system of efficient distribution of precached data to a plurality of users, comprising:
- monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers;
selecting data located on the one or more content servers for perfetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data; and
transmitting current versions of the selected data to the intermediate server in a compressed form.
1 Assignment
0 Petitions
Accused Products
Abstract
In a server providing access for multiple users to the World Wide Web, selected pages from periodically updated Web sites are precached. Pages linked to the home page for a Web site which are likely to be accessed by a user are retrieved and stored on the server. In response to offline browsing requests by subscribers to the Web site, the pages or portions of pages which are not already present in a subscriber'"'"'s system are prioritized by likelihood of being accessed utilizing statistical information, link relationships, and/or content. The pages or page portions most likely to be accessed are compressed and transmitted to the subscriber, thus minimizing the connection time required and maximizing the number of subscribers which may be updated.
238 Citations
26 Claims
-
1. A method in a data processing system of efficient distribution of precached data to a plurality of users, comprising:
-
monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers;
selecting data located on the one or more content servers for perfetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data; and
transmitting current versions of the selected data to the intermediate server in a compressed form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
receiving an off-peak information retrieval request for a Web site.
-
-
3. The method of claim 1, wherein the step of monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers further comprises:
receiving a browsing request for a Web site from a registration list of browsing requests for a plurality of Web sites.
-
4. The method of claim 1, further comprising:
collecting a registration list of browsing requests for a plurality of Web sites.
-
5. The method of claim 4, wherein the step of collecting a registration list of browsing requests for a plurality of Web sites further comprises:
culling the registration list to eliminate abandoned browsing requests.
-
6. The method of claim 1, further comprising:
compressing the selected data for transmission to the intermediate server.
-
7. The method of claim 1, wherein the step of monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers further comprises:
receiving a request for a page of data from a Web site.
-
8. The method of claim 1, wherein
the step of selecting data located on the one or more content servers for prefetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data further comprises selecting a portion of the data from the Web site which is not already present in the intermediate server for transmission to the intermediate server. -
9. The method of claim 8, wherein the step of selecting a portion of the data from the Web site further comprises:
selecting complete pages from the Web site which are not already present in the intermediate server and are likely to be accessed by at least one user of the intermediate server, unless the complete pages violate a size constraint.
-
10. The method of claim 8, wherein the step of selecting a portion of the data from the Web site further comprises:
selecting complete pages from the Web site which are not already present in the intermediate server and are likely to be accessed by at least one user of the intermediate server up to a size constraint selected from the group consisting of a number of files, a quantity of bytes, and a time limit.
-
11. The method of claim 1, wherein the step of selecting data located on the one or more content servers for prefetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data further comprises selecting pages linked to the at least one page of data previously selected for transmission to the intermediate server.
-
12. The method of claim 1, wherein:
-
the step of receiving a request for data from a system further comprises receiving a request for a page from a Web site;
the step of identifying requested data which is not already present in the system further comprises identifying pages linked to the requested page from the Web site which are not already present in the system; and
the step of selecting a portion of the identified requested data for transmission to the system further comprises selecting pages linked to the requested page from the Web site which are likely to be accessed by a user.
-
-
13. The method of claim 1, further comprising:
-
identifying updated data within the selected data which is not already present in the intermediate server;
selecting only the updated data for transmission to the intermediate server; and
transmitting the selected updated data to the intermediate server in a compressed form.
-
-
14. The method of claim 1, wherein the step of selecting the identified the updated data for transmission to the intermediate server further comprises selecting updated portions, not already in the intermediate server, of pages linked to at least one page which is likely to be accessed by a user of the intermediate server.
-
15. An apparatus for efficient distribution of precached data to a plurality of users, comprising:
-
monitoring means for monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers;
selection means for selecting data located on the one or more content servers for prefetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data; and
transmission means for transmitting current versions of the selected data to the intermediate server in a compressed form. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
compression means for compressing the selected data for transmission to the intermediate server.
-
-
17. The apparatus of claim 15, wherein the monitoring means further comprises:
means for receiving a request for a page of data from a Web site.
-
18. The apparatus of claim 17, wherein:
-
the monitoring means further comprises means for receiving a request for data from a Web site; and
the selection means further comprises means for selecting updated data from the Web site which is not already present in the intermediate server for transmission to the intermediate server.
-
-
19. The apparatus of claim 18, wherein the selection means further comprises:
means for selecting pages from the Web site which are not already present in the intermediate server and are likely to be accessed by at least one user of the intermediate server.
-
20. The apparatus of claim 18, wherein:
the selection means further comprises means for selecting pages linked to at least one page of data already in the intermediate server for transmission to the intermediate server.
-
21. The apparatus of claim 18, wherein:
the selection means further comprises means for selecting pages linked to a previously selected page from a Web site which are likely to be accessed by at least one user of the intermediate server.
-
22. The apparatus of claim 18, further comprising:
-
identifying means for identifying updated data within the selected data which is not already present in the intermediate server;
selection means for selecting only the updated data for transmission to the intermediate server; and
transmission means for transmitting the selected updated data to the intermediate server in a compressed form.
-
-
23. The apparatus of claim 18, wherein the selection means further comprises means for selecting updated portions, not already in the intermediate server system, of pages linked to at least one page which is likely to be accessed by at least one user of the intermediate server.
-
24. A computer program product for use with a data processing system, comprising:
-
a computer usable medium;
first instructions on the computer usable medium for monitoring user data requests at an intermediate server employed by a plurality of users to access data on one or more content servers;
second instructions on the computer usable medium for selecting data located on the one or more content servers for prefetching based on a historical probability that a threshold number of users employing the intermediate server will repetitively access the selected data; and
third instructions on the computer usable medium for transmitting current versions of the selected data to the intermediate server in a compressed form. - View Dependent Claims (25)
-
-
26. A method of efficiently distributing data to a plurality of users of an intermediate server system employed by the plurality of users to access data from at least one content server, comprising:
-
receiving requests for data from the plurality of users;
based on the received requests, selecting data likely to be repetitively accessed by a threshold number of the plurality of users from a larger pool of available data;
precaching the selected data at the intermediate server system; and
upon connection of an individual user within the plurality of users to the intermediate server system, transmitting a portion of data from the precached data to the individual user in compressed form prior to receiving a request from the individual user for the portion of precached data, the portion of precached data selected on the basis of a prior received request from the individual user.
-
Specification