Retrieval of a file from multiple storage nodes
AssigneeInternational Business Machines Corporation
InventorsAnn Corrao, Ranganath G. Iyengar
Life of this patent
Estimating the term…
Abstract
A method, and associated system and computer program product, for retrieving a file from a distribution of storage nodes. A client computer sends a request for a file to a proxy layer and in response, the proxy layer generates a script for obtaining the requested file and sends the script to the client computer. The client computer executes the script, resulting in portions of the requested file being obtained from respective storage nodes in a storage layer. The portions of the requested file are concatenated to form the requested file.
Claims20
A method for retrieving a file from a distribution of storage nodes, said method comprising:
- sending, by a client computer to a first proxy node of P proxy nodes in a proxy layer, a request for the file, wherein each proxy node of the P proxy nodes is a computer, wherein a copy of the file is stored in each data store of N data stores, wherein each data store of the N data stores may be accessed by a respective storage node of N storage nodes, wherein each storage node of the N storage nodes is a computer, and wherein N≧2 and P≧2;
- after said sending the request for the file, said client computer receiving, from a second proxy node of the P proxy nodes, a script for obtaining the requested file;
- said client computer executing the received script, wherein said executing the script comprises said client computer sending M requests, either directly and in parallel to M respective proxy nodes of the P proxy nodes or directly and in parallel to M respective storage nodes of the N storage nodes, wherein the M requests are for the M storage nodes to provide M respective portions of the requested file, wherein the M portions are different, non-overlapping portions of the requested file, wherein the requested file comprises the M portions, and wherein 2≦M≦N and M≦P;
- after said sending the M requests and after the M portions have been read by the M storage nodes from M respective data stores of the N data stores:
- (i) said client computer receiving the requested file from a third proxy node of the P proxy nodes after the M proxy nodes have received the respective M portions from the M storage nodes and after the third proxy node has concatenated, by using the script, the M portions which generates the requested file as a concatenation of the M portions, (ii) said client computer receiving the M portions directly from the M proxy nodes after the M proxy nodes have received the M portions from the M storage nodes, respectively, or (iii) said client computer receiving the M portions directly from the M storage nodes;
- and
- if said client computer received the M portions directly from the M proxy nodes or directly from the M storage nodes, then said client computer concatenating, by the script, the M portions, which generates the requested file as a concatenation of the M portions.
A method for retrieving a file from a distribution of storage nodes, said method comprising:
- receiving, from a client computer by a first proxy node of P proxy nodes in a proxy layer, a request for the file, wherein each proxy node of the P proxy nodes is a computer, wherein a copy of the file is stored in each data store of N data stores, wherein each data store of the N data stores may be accessed by a respective storage node of N storage nodes, wherein each storage node of the N storage nodes is a computer, and wherein N≧2 and P≧2;
- in response to the request for the file, a second proxy node of the P proxy nodes generating a script;
- said second proxy node sending the generated script to the client computer, after which the script is executed by the client computer, wherein during execution of the script by the client computer, M requests are sent by the client computer either directly and in parallel to M respective proxy nodes of the P proxy nodes or directly and in parallel to M respective storage nodes of the N storage nodes, wherein the M requests are for the M storage nodes to provide M respective portions of the requested file, wherein the M portions are different, non-overlapping portions of the requested file, wherein the requested file comprises the M portions, and wherein 2≦M≦N and M≦P,
- wherein after the M requests have been sent by the client computer and after the M portions have been read by the M storage nodes from M respective data stores of the N data stores:
- (i) the requested file is received by the client computer from a third proxy node of the P proxy nodes after the third proxy node has received the M portions from the M storage nodes and has concatenated the M portions which generates the requested file as a concatenation of the M portions, (ii) the M portions are received directly by the client computer from the M storage nodes, or (iii) said M proxy nodes receiving the M portions from the M storage nodes, respectively, and the M proxy nodes sending the M portions directly to the client computer,
- wherein if the M portions are received by the client computer directly from the M storage nodes or directly from the M proxy nodes, then the client computer is enabled to concatenate, by the script, the M portions to generate the requested file as a concatenation of the M portions.
A computer program product, comprising one or more computer readable storage devices storing computer readable program code which, upon being executed by one or more processors, implement a method for retrieving a file from a distribution of storage nodes, said method comprising:
- receiving, from a client computer by a first proxy node of P proxy nodes in a proxy layer, a request for the file, wherein each proxy node of the P proxy nodes is a computer, wherein a copy of the file is stored in each data store of N data stores, wherein each data store of the N data stores may be accessed by a respective storage node of N storage nodes, wherein each storage node of the N storage nodes is a computer, and wherein N≧2 and P≧2;
- in response to the request for the file, a second proxy node of the P proxy nodes generating a script;
- said second proxy node sending the generated script to the client computer, after which the script is executed by the client computer, wherein during execution of the script by the client computer, M requests are sent by the client computer either directly and in parallel to M respective proxy nodes of the P proxy nodes or directly and in parallel to M respective storage nodes of the N storage nodes, wherein the M requests are for the M storage nodes to provide M respective portions of the requested file, wherein the M portions are different, non-overlapping portions of the requested file, wherein the requested file comprises the M portions, and wherein 2≦M≦N and M≦P;
- wherein after the M requests have been sent by the client computer and after the M portions have been read by the M storage nodes from M respective data stores of the N data stores:
- (i) the requested file is received by the client computer from a third proxy node of the P proxy nodes after the third proxy node has received the M portions from the M storage nodes and has concatenated the M portions which generates the requested file as a concatenation of the M portions, (ii) the M portions are received directly by the client computer from the M storage nodes, or (iii) said M proxy nodes receiving the M portions from the M storage nodes, respectively, and the M proxy nodes sending the M portions directly to the client computer,
- wherein if the M portions are received by the client computer directly from the M storage nodes or directly from the M proxy nodes, then the client computer is enabled to concatenate, by the script, the M portions to generate the requested file as a concatenation of the M portions.
Dependencies are inferred from the claim text.