System and method for server-based predictive caching of back-end system data
First Claim
1. A system for facilitating communication between a user and a network of information items, comprising:
- a remote data storage device for storing the information items, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items;
a multi-layer architecture comprising;
a client device having a user interface program thereon, for allowing a user to interface with the network and request the information items; and
a server device, in communication with the client device and in communication with the remote storage device, for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in a server cache memory, the server device including at least the following;
a data collection module for collecting and storing, at the server device, successive actions of a single particular authenticated user on a user specific basis that distinguishes between specific users, the data collection module further configured to track sequences of navigational events of both the single particular authenticated user and at least one unauthenticated user; and
a probability module in communication with the data collection module for calculating a first probability for the desirability of each of the links based on the action of the single particular user and for comparing each of the probabilities to a predetermined threshold value associated with business rules which factor a level of risk of retrieving data that may not be used and an associated hardware cost of cache memory to identify predicted links and for retrieving the predicted information items associated with the links from the remote data storage devices and enabling the storage of the predicted information items on both the client device layer and the server device layer of the multi-layer architecture in advance of the single particular user'"'"'s request for the selected information items, the probability module including a dedicated rules engine for storing the business rules, the probability module further configured to;
update the probabilities assigned to the links with each successive user activity;
abort retrieving the predicted information items if the user requests an information item other than the predicted information items;
continue retrieving the predicted information items from the remote data storage devices and storing the predicted information items in the server cache memory if the user requests the predicted information item; and
download from the server device to the client device, the user requested information item to the client from the server cache memory;
wherein the first probability is calculated based solely on the actions of the single particular user during a past navigation and not as a member of a larger set of users,wherein the probability calculation module is further configured to calculate a second probability, the second probability being based on selection data of at least one link from a plurality of users, the probability being used to determine a likelihood that another user will select the at least one link, such that in response to the probability meeting a predetermined threshold, data related to the link will be retrieved prior to the another user selecting the link.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for facilitating communication between a user and a network of information items. The system includes a remote data storage device for storing the information items, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items; a client device having a user interface program thereon, for allowing a user to interface with the network and request the information items; a server device, in communication with the client device and in communication with the remote storage device, for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in a server cache memory; a data collection module for collecting and storing successive user actions; and a probability module in communication with the data collection module for calculating a probability for the links, and for comparing the probability to a predetermined threshold value, and for retrieving the information items associated with the links from the remote data storage devices and storing the information items in the server cache memory in advance of a user request for the selected information items.
-
Citations
5 Claims
-
1. A system for facilitating communication between a user and a network of information items, comprising:
-
a remote data storage device for storing the information items, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items; a multi-layer architecture comprising; a client device having a user interface program thereon, for allowing a user to interface with the network and request the information items; and a server device, in communication with the client device and in communication with the remote storage device, for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in a server cache memory, the server device including at least the following; a data collection module for collecting and storing, at the server device, successive actions of a single particular authenticated user on a user specific basis that distinguishes between specific users, the data collection module further configured to track sequences of navigational events of both the single particular authenticated user and at least one unauthenticated user; and a probability module in communication with the data collection module for calculating a first probability for the desirability of each of the links based on the action of the single particular user and for comparing each of the probabilities to a predetermined threshold value associated with business rules which factor a level of risk of retrieving data that may not be used and an associated hardware cost of cache memory to identify predicted links and for retrieving the predicted information items associated with the links from the remote data storage devices and enabling the storage of the predicted information items on both the client device layer and the server device layer of the multi-layer architecture in advance of the single particular user'"'"'s request for the selected information items, the probability module including a dedicated rules engine for storing the business rules, the probability module further configured to; update the probabilities assigned to the links with each successive user activity; abort retrieving the predicted information items if the user requests an information item other than the predicted information items; continue retrieving the predicted information items from the remote data storage devices and storing the predicted information items in the server cache memory if the user requests the predicted information item; and download from the server device to the client device, the user requested information item to the client from the server cache memory; wherein the first probability is calculated based solely on the actions of the single particular user during a past navigation and not as a member of a larger set of users, wherein the probability calculation module is further configured to calculate a second probability, the second probability being based on selection data of at least one link from a plurality of users, the probability being used to determine a likelihood that another user will select the at least one link, such that in response to the probability meeting a predetermined threshold, data related to the link will be retrieved prior to the another user selecting the link. - View Dependent Claims (5)
-
-
2. A method for facilitating communication between a user and a network of information items, comprising:
-
providing a multi-layer architecture comprising a client device and a server device; storing the information items on a remote data storage device, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items; configuring the client device having a user interface program thereon, to allow a user to interface with the network and request a download of the information items; configuring the server device for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in server cache memory; collecting and storing, at the server device, successive actions of an authenticated single particular user; calculating, via a probability module that includes a rules engine, a first probability for each of the links based on the successive actions of the authenticated single particular user on a specific basis that distinguishes between specific users; tracking sequences of navigational events of both the single particular authenticated user and at least one unauthenticated user; comparing each of the probabilities to a predetermined threshold value that is determined from business rules, stored in the rules engine, which factor a level of risk of retrieving data that may not be used where the level of risk is restricted to an associated hardware cost of cache memory; retrieving the information items associated with the links from the remote data storage devices; enabling the storage of the information items on both the client device layer and the server device layer of the multi-layer architecture in advance of the single particular user'"'"'s request for the selected information items; updating the probabilities assigned to the links with each successive user activity; retrieving the predicted information items if the user requests an information item other than the predicted information items; retrieving the predicted information items from the remote data storage devices; and
storing the predicted information items in the server cache memory if the user requests the predicted information item; anddownloading, from the server device to the client device, the user requested information item to the client from the server cache memory; wherein the first probability is calculated based solely on the actions of the single particular user during a past navigation and not as a member of a larger set of users, wherein the probability module is further configured to calculate a second probability, the second probability being based on selection data of at least one link from a plurality of users, the probability being used to determine a likelihood that another user will select the at least one link, such that in response to the probability meeting a predetermined threshold, data related to the link will be retrieved prior to the another user selecting the link.
-
-
3. A system for facilitating communication between a user and a network of information items, comprising:
-
means for providing a multi-layer architecture comprising a client device and a server device; means for storing the information items on a remote data storage device, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items; means for configuring the client device having a user interface program thereon, to allow a user to interface with the network and request a download of the information items; means for configuring the server device for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in server cache memory; means for collecting and storing successive actions of an authenticated particular user; means for calculating a first probability for each of the links based on the successive actions of the authenticated single particular user on a user specific basis that distinguishes between specific users; means for tracking sequences of navigational events of both the single particular authenticated user and at least one unauthenticated user; means for comparing each of the probabilities to a predetermined threshold value that is determined from business rules which factor a level of risk of retrieving data that may not be used where the level of risk is restricted to an associated hardware cost of cache memory; means for retrieving the information items associated with the links from the remote data storage devices; means for enabling the storage of the information items on both the client device layer and the server device layer of the multi-layer architecture in advance of the single particular user'"'"'s request for the selected information items; means for updating the probabilities assigned to the links with each successive user activity; means for retrieving the predicted information items if the user requests an information item other than the predicted information items; means for retrieving the predicted information items from the remote data storage devices; means for storing the predicted information items in the server cache memory if the user requests the predicted information item; and means for downloading the user requested information item to the client from the server cache memory; wherein the probability is calculated based solely on the actions of the single particular user during a past navigation and not as a member of a larger set of users, wherein the server device is further configured to calculate a second probability, the second probability being based on selection data of at least one link from a plurality of users, the probability being used to determine a likelihood that another user will select the at least one link, such that in response to the probability meeting a predetermined threshold, data related to the link will be retrieved prior to the another user selecting the link.
-
-
4. A first network for facilitating communication between a user and a network of information items, comprising:
-
a remote data storage device for storing the information items, wherein the information items are stored in the form of pages, and wherein the pages contain a plurality of links to other information items; a multi-layer architecture comprising; a client device having a user interface program thereon, for allowing a user to interface with the network and request a download of the information items; a server device, in communication with the client device and in communication with the remote storage device, for handling information requests from multiple clients and for storing information retrieved from the data storage devices locally in server cache memory; and the first network; a data collection module for collecting and storing, at the server device, successive actions of an authenticated single particular user on a user specific basis that distinguishes between specific users, the data collection module further configured to track sequences of navigational events of both the single particular authenticated user and at least one unauthenticated user; and a probability module in communication with the data collection module for calculating a probability for each of the links based on the successive actions of the authenticated single particular user, and for comparing each of the probabilities to a predetermined threshold value that is determined from business rules which factor a level of risk of retrieving data that may not be used where the level of risk is restricted to an associated hardware cost of cache memory, and for retrieving the information items associated with the links from the remote data storage devices and enabling the storage of the information items on both the client device layer and the server device layer of the multi-layer architecture in advance of the single particular user'"'"'s request for the selected information items, the probability module including a rules engine for storing the business rules, wherein the probability module updates the probabilities assigned to the links with each successive user activity; wherein the probability module aborts retrieving the predicted information items if the user requests an information item other than the predicted information items; wherein the probability module continues retrieving the predicted information items from the remote data storage devices and storing the predicted information items in the server cache memory if the user requests the predicted information item; and wherein the probability module downloads the user requested information item to the client from the server cache memory; wherein the probability is calculated based solely on the actions of the single particular user during a past navigation and not as a member of a larger set of users, wherein the probability module is further configured to calculate a second probability, the second probability being based on selection data of at least one link from a plurality of users, the probability being used to determine a likelihood that another user will select the at least one link, such that in response to the probability meeting a predetermined threshold, data related to the link will be retrieved prior to the another user selecting the link.
-
Specification