Techniques are disclosed for managing data requests from multiple requestors. According to one implementation, when a new data request is received, a determination is made as to whether a companion relationship should be established between the new data request and an existing data request. Such a companion relationship may be appropriate under certain conditions. If a companion relationship is established between the new data request and an existing data request, then when data is returned for one request, it is used to satisfy the other request as well. This helps to reduce the number of data accesses that need to be made to a data storage, which in turn enables system efficiency to be improved.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method for handling deadline-based read requests, the method comprising: in response to an arrival of a new read request having a first deadline, comparing (a) a first set of all data required to fulfill the new read request to (b) a second set of data that will be retrieved to fulfill a previously-received not-yet-fulfilled read request, and comparing the first deadline to a second deadline had by the previously-received not-yet-fulfilled read request; and determining, as a result of said comparing of sets of data, that the first set is completely included within the second set; determining, as a result of said comparing of deadlines, that the first deadline is not earlier than the second deadline; in response to an arrival of the second set of data and in response to determining that the first set is completely included within the second set, and in response to determining that the first deadline is not earlier than the second deadline, using the second set of data to fulfill both the previously-received not-yet-fulfilled read request and the new read request without performing separate read operations for the requests; wherein the method is performed by one or more computing devices.
A method for managing data requests with deadlines, performed by a computer system, involves checking if a new data request can be fulfilled by an existing, unfulfilled request. When a new read request arrives with a deadline, the system compares the data needed for this request to the data being retrieved for a previous request that hasn't been fulfilled yet. It also compares the deadlines of both requests. If all the data for the new request is included in the data for the older request, and the new request's deadline is not sooner than the older request's deadline, then the system uses the data retrieved for the older request to satisfy both requests, avoiding redundant read operations and improving system efficiency.
2. The method of claim 1 , wherein the new read request comes from a first client, wherein the previously-received not-yet-fulfilled read request comes from a second client that is separate from the first client, and wherein said using of the second set of data to fulfill both the requests is performed by a read scheduler that issues requests to a file system on behalf of the first client and the second client.
In the data request management method, the new read request comes from one client, and the existing, unfulfilled request comes from a different client. A read scheduler manages requests to a file system on behalf of both clients. When the scheduler determines that the data from the existing request can satisfy both, it uses that data to fulfill both requests, streamlining the data retrieval process across multiple independent clients. This optimizes file system access by avoiding duplicate reads when different clients need overlapping data.
3. The method of claim 1 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list.
When a new data request arrives, the system compares the data needed for this new request with the data requirements of other requests that are currently "in-flight." The "in-flight list" contains the active requests that the system is currently processing or waiting to be fulfilled. This comparison helps the system identify opportunities to fulfill the new request using data already being retrieved for an existing in-flight request, avoiding redundant operations and improving system performance.
4. The method of claim 1 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in a list of requests that (1) have been issued to the file system but (2) have not been fulfilled for requesting clients.
The system compares the data needed for a new request against the data needed for requests in a list of "issued but unfulfilled" requests. This list holds requests that have been sent to the file system but haven't yet returned data to the requesting clients. By checking this list, the system can determine if the data needed for the new request is already being fetched, allowing it to use the existing data to satisfy the new request as well, reducing unnecessary file system access.
5. The method of claim 1 , wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in an in-flight list.
When managing data requests, the system compares the deadline of a new data request against the deadlines of requests in the "in-flight list." The "in-flight list" represents requests currently being processed. By comparing deadlines, the system ensures that using data from an existing request to fulfill a new request won't violate the deadline requirements of any request, maintaining timely data delivery.
6. The method of claim 1 , wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in a list of requests that (1) have been issued to the file system but (2) have not been fulfilled for requesting clients.
The system compares the deadline of a new data request with the deadlines of requests in a list of "issued but unfulfilled" requests. These are requests that have been sent to the file system but haven't yet been fulfilled. This comparison is done to determine if using data from an existing request to satisfy a new request will still meet the deadlines of all involved requests, ensuring timely completion.
7. The method of claim 1 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and further comprising; in response to determining that the first set of data is included within a particular set of data required by a particular request that is contained within the in-flight list, and in response to determining that the first deadline is not earlier than a deadline had by the particular request, fulfilling the new read request using the second set of data without adding the new read request to the in-flight list.
The system manages data requests by comparing the data and deadline of a new request against an "in-flight list" of active requests. If the new request's data is fully contained within an existing in-flight request's data, and its deadline is not sooner than the existing request's deadline, then the system fulfills the new request using the data from the existing request. The new request is not added to the in-flight list because it will be satisfied by existing operation, optimizing the request management process.
8. The method of claim 1 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and further comprising: in response to determining, for every particular request within the in-flight list, that the first set of data is not included within a set of data required by the particular request, comparing said first set of data with sets of data required by requests that are within a list of previously-received read requests that have not yet been moved to said in-flight list.
The system first checks the "in-flight list" to see if any current requests contain all the data needed for a new request. If none of the in-flight requests fully contain the new request's data, the system then checks a separate list of "previously-received but not yet in-flight" requests. This ensures that even requests that are waiting to be processed are considered for potential data sharing, maximizing the opportunity to avoid redundant data access.
9. The method of claim 1 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and further comprising: in response to determining, for every particular request within the in-flight list, that the first deadline is later than a deadline had by the particular request, comparing said first deadline with deadlines had by requests that are within a list of previously-received read requests that have not yet been moved to said in-flight list.
The system manages data requests by first checking the deadlines of the active requests in the "in-flight list". If the new request's deadline is later than every deadline in the "in-flight list", the system then checks the deadlines of requests that are in a separate list of "previously-received read requests that have not yet been moved to the in-flight list". This ensures that the system considers requests that are queued but not yet actively processed, maximizing the potential for optimized data retrieval based on deadline constraints.
10. A non-transitory computer-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform: in response to an arrival of a new read request having a first deadline, comparing (a) a first set of all data required to fulfill the new read request to (b) a second set of data that will be retrieved to fulfill a previously-received not-yet-fulfilled read request, and comparing the first deadline to a second deadline had by the previously-received not-yet-fulfilled read request; and determining, as a result of said comparing of sets of data, that the first set is completely included within the second set; determining, as a result of said comparing of deadlines, that the first deadline is not earlier than the second deadline; in response to an arrival of the second set of data, and in response to determining that the first set is completely included within the second set, and in response to determining that the first deadline is not earlier than the second deadline, using the second set of data to fulfill both the previously-received not-yet-fulfilled read request and the new read request without performing separate read operations for the requests; wherein the method is performed by one or more computing devices.
A computer-readable storage medium contains instructions that, when executed, manage data requests with deadlines. When a new read request arrives with a deadline, the system checks if it can be fulfilled by an existing, unfulfilled request. It compares the data needed for the new request to the data being retrieved for a previous, unfulfilled request, and also compares their deadlines. If all the data for the new request is included in the data for the older request, and the new request's deadline is not sooner, the system uses the data from the older request to satisfy both, avoiding separate read operations and improving system efficiency.
11. The non-transitory computer-readable storage medium of claim 10 , wherein the new read request comes from a first client, wherein the previously-received not-yet-fulfilled read request comes from a second client that is separate from the first client, and wherein said using of the second set of data to fulfill both the requests is performed by a read scheduler that issues requests to a file system on behalf of the first client and the second client.
The storage medium containing data request management instructions handles requests from different clients. The new read request comes from one client, and the existing, unfulfilled request comes from a separate client. A read scheduler manages requests to a file system on behalf of both clients. The instructions cause the scheduler to use the data from the existing request to fulfill both requests, streamlining data retrieval across multiple independent clients and optimizing file system access by avoiding duplicate reads when clients need overlapping data.
12. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list.
The storage medium with data request management instructions causes the system to compare the data needed for a new request with the data requirements of requests in an "in-flight list." The "in-flight list" contains the active requests that the system is currently processing. This comparison helps the system identify opportunities to fulfill the new request using data already being retrieved, improving system performance.
13. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in a list of requests that (1) have been issued to the file system but (2) have not been fulfilled for requesting clients.
The storage medium with data request management instructions causes the system to compare the data needed for a new request against the data needed for requests in a list of "issued but unfulfilled" requests. This list holds requests sent to the file system but lacking data returns. Checking this list allows the system to use existing data to satisfy the new request as well, reducing unnecessary file system access.
14. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in an in-flight list.
The storage medium with data request management instructions causes the system to compare the deadline of a new request against the deadlines of requests in the "in-flight list." The "in-flight list" represents requests currently being processed. By comparing deadlines, the system ensures that using data from an existing request to fulfill a new request won't violate any deadline requirements, maintaining timely data delivery.
15. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in a list of requests that (1) have been issued to the file system but (2) have not been fulfilled for requesting clients.
The storage medium with data request management instructions causes the system to compare the deadline of a new request with the deadlines of requests in a list of "issued but unfulfilled" requests, which have been sent to the file system but are not yet fulfilled. This determines if using data from an existing request to satisfy a new request meets the deadlines of all involved requests, ensuring timely completion.
16. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and wherein said instructions, when executed by said one or more processors, further cause said one or more processors to perform: in response to determining that the first set of data is included within a particular set of data required by a particular request that is contained within the in-flight list, and in response to determining that the first deadline is not earlier than a deadline had by the particular request, fulfilling the new read request using the second set of data without adding the new read request to the in-flight list.
The storage medium manages requests by comparing a new request's data and deadline against an "in-flight list" of active requests. If the new request's data is fully contained within an existing in-flight request's data and its deadline is not sooner than the existing request's deadline, the new request is fulfilled using the data from the existing request. The new request is not added to the in-flight list, which optimizes the request management process and saves unnecessary steps.
17. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and wherein said instructions, when executed by said one or more processors, further cause said one or more processors to perform: in response to determining, for every particular request within the in-flight list, that the first set of data is not included within a set of data required by the particular request, comparing said first set of data with sets of data required by requests that are within a list of previously-received read requests that have not yet been moved to said in-flight list.
The storage medium first checks the "in-flight list" to see if any current requests contain all the data needed for a new request. If none of the in-flight requests fully contain the new request's data, the instructions then cause the system to check a separate list of "previously-received but not yet in-flight" requests. This ensures that even requests waiting to be processed are considered for potential data sharing, maximizing the opportunity to avoid redundant data access and optimize performance.
18. The non-transitory computer-readable storage medium of claim 10 , wherein said comparing of sets of data comprises comparing the first set of data with sets of data required by requests that are contained in an in-flight list, wherein said comparing of deadlines comprises comparing the first deadline with deadlines had by requests that are contained in said in-flight list, and wherein said instructions, when executed by said one or more processors, further cause said one or more processors to perform: in response to determining, for every particular request within the in-flight list, that the first deadline is later than a deadline had by the particular request, comparing said first deadline with deadlines had by requests that are within a list of previously-received read requests that have not yet been moved to said in-flight list.
The storage medium manages data requests by first checking the deadlines of the active requests in the "in-flight list". If the new request's deadline is later than every deadline in the "in-flight list", the instructions then cause the system to check the deadlines of requests in a separate list of "previously-received read requests that have not yet been moved to the in-flight list". This ensures that the system considers requests queued but not actively processed to maximize data retrieval based on deadline constraints.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 17, 2012
July 30, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.