Pre-fetching data
First Claim
Patent Images
1. A method comprising:
- receiving, by a server, a pre-fetching request from a client;
after receiving the pre-fetching request, determining, by the server, whether the client provided the expiration time of the pre-fetching request;
in response to determining that the client did not provide the expiration time, setting, by the server, the expiration time of the pre-fetching request, such that the server specifies the expiration time;
in response to determining that the client did provide the expiration time, setting, by the server, the expiration time of the pre-fetching request as provided by the client, such that the client specifies the expiration time;
after setting the expiration time of the pre-fetching request, storing, by the server, the pre-fetching request within a pre-fetching request storage area of the server different from an actual request storage area of the server in which non-prefetching requests are stored;
after storing the pre-fetching request within the pre-fetching request storage area, assigning, by the server, the pre-fetching request a dynamic priority that changes over time based on a length of time that the pre-fetching request remains in the pre-fetching request storage area;
regardless of whether any non-prefetching requests are stored in the actual request storage area, at a point in time at which the dynamic priority of the prefetching request exceeds a priority threshold, removing, by the server, the pre-fetching request from the pre-fetching request storage area;
after removing the pre-fetching request from the pre-fetching request storage area, determining, by the server, whether the pre-fetching request has expired based on an expiration time thereof;
in response to determining that the pre-fetching request has expired, discarding, by the server, the pre-fetching request, such that the pre-fetching request is not executed; and
in response to determining that the pre-fetching request has not expired, executing, by the server, the pre-fetching request, and storing, by the server, the data that has been received for subsequent fulfillment of an actual request for the data.
1 Assignment
0 Petitions
Accused Products
Abstract
A pre-fetching request is received by a server from a client. The pre-fetching request is performed to pre-fetch data from a data source connected to the server according to an indication of the pre-fetching request. The pre-fetched data is sent from the server to the client upon receiving an actual request for the pre-fetched data. As such, an integrated capability of a server and a client can be employed to perform data pre-fetch, to improve overall performance of the server and the client.
-
Citations
11 Claims
-
1. A method comprising:
-
receiving, by a server, a pre-fetching request from a client; after receiving the pre-fetching request, determining, by the server, whether the client provided the expiration time of the pre-fetching request; in response to determining that the client did not provide the expiration time, setting, by the server, the expiration time of the pre-fetching request, such that the server specifies the expiration time; in response to determining that the client did provide the expiration time, setting, by the server, the expiration time of the pre-fetching request as provided by the client, such that the client specifies the expiration time; after setting the expiration time of the pre-fetching request, storing, by the server, the pre-fetching request within a pre-fetching request storage area of the server different from an actual request storage area of the server in which non-prefetching requests are stored; after storing the pre-fetching request within the pre-fetching request storage area, assigning, by the server, the pre-fetching request a dynamic priority that changes over time based on a length of time that the pre-fetching request remains in the pre-fetching request storage area; regardless of whether any non-prefetching requests are stored in the actual request storage area, at a point in time at which the dynamic priority of the prefetching request exceeds a priority threshold, removing, by the server, the pre-fetching request from the pre-fetching request storage area; after removing the pre-fetching request from the pre-fetching request storage area, determining, by the server, whether the pre-fetching request has expired based on an expiration time thereof; in response to determining that the pre-fetching request has expired, discarding, by the server, the pre-fetching request, such that the pre-fetching request is not executed; and in response to determining that the pre-fetching request has not expired, executing, by the server, the pre-fetching request, and storing, by the server, the data that has been received for subsequent fulfillment of an actual request for the data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A server device comprising:
-
a processor; and a computer-readable storage device storing computer-executable instructions, the computer-readable storage device including a pre-fetch request storage area and an actual request storage area, non-prefetching requests stored in the actual request storage area, wherein execution of the computer-executable instructions by the processor cause the server device to; receive a pre-fetching request from a client; after receiving the pre-fetching request, determine whether the client provided the expiration time of the pre-fetching request; in response to determining that the client did not provide the expiration time, set the expiration time of the pre-fetching request, such that the server specifies the expiration time; in response to determining that the client did provide the expiration time, set the expiration time of the pre-fetching request as provided by the client, such that the client specifies the expiration time; after setting the expiration time of the pre-fetching request, store the pre-fetching request within the pre-fetching request storage area of the server; after storing the pre-fetching request within the pre-fetching request storage area, assign the pre-fetching request a dynamic priority that changes over time based on a length of time that the pre-fetching request remains in the pre-fetching request storage area; regardless of whether any non-prefetching requests are stored in the actual request storage area, at a point in time at which the dynamic priority of the prefetching request exceeds a priority threshold, remove the pre-fetching request from the pre-fetching request storage area; after removing the pre-fetching request from the pre-fetching request storage area, determine whether the pre-fetching request has expired based on an expiration time thereof; in response to determining that the pre-fetching request has expired, discard the pre-fetching request, such that the pre-fetching request is not executed; and in response to determining that the pre-fetching request has not expired, execute the pre-fetching request and store the data that has been received for subsequent fulfillment of an actual request for the data. - View Dependent Claims (8, 9)
-
-
10. A storage device storing computer-readable code that when executed by a processor of a server causes the processor to perform processing that comprises:
-
receiving a pre-fetching request from a client; after receiving the pre-fetching request, determining whether the client provided the expiration time of the pre-fetching request; in response to determining that the client did not provide the expiration time, setting the expiration time of the pre-fetching request, such that the server specifies the expiration time; in response to determining that the client did provide the expiration time, setting the expiration time of the pre-fetching request as provided by the client, such that the client specifies the expiration time; after setting the expiration time of the pre-fetching request, storing the pre-fetching request within a pre-fetching request storage area of the server different from an actual request storage area of the server in which non-prefetching requests are stored; after storing the pre-fetching request within the pre-fetching request storage area, assigning the pre-fetching request a dynamic priority that changes over time based on a length of time that the pre-fetching request remains in the pre-fetching request storage area; regardless of whether any non-prefetching requests are stored in the actual request storage area, at a point in time at which the dynamic priority of the prefetching request exceeds a priority threshold, removing the pre-fetching request from the pre-fetching request storage area; after removing the pre-fetching request from the pre-fetching request storage area, determining whether the pre-fetching request has expired based on an expiration time thereof; in response to determining that the pre-fetching request has expired, discarding the pre-fetching request, such that the pre-fetching request is not executed; and in response to determining that the pre-fetching request has not expired, executing the pre-fetching request, and storing the data that has been received for subsequent fulfillment of an actual request for the data. - View Dependent Claims (11)
-
Specification