A sorting system includes a plurality of input nodes, each of which sorts sorting target data distributed and stored in input local disks. An internally sorted result is stored as a plurality of sorted strings in a shared disk connected between the input node and output node. Upon reception of a merge instruction from all input nodes, the output node reads the sorted string from the shared disk and merges it and outputs a whole sorted result of all input data to an output local disk. In a process of obtaining a whole sorted result of all input data through parallel processing by a computer system constituted of a plurality of computers (nodes), a time to sorting input data can be shortened.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A sorting system having a plurality of nodes connected to each other by a data transferring path, comprising: a plurality of input nodes; a plurality of output nodes; and a shared external storage unit connected between each of said input nodes and each of said output nodes, wherein: each of said input nodes comprises: a first buffer; means for storing sorting target data in said first buffer; means for internally sorting data in said first buffer in accordance with a predetermined sorting rule; means for classifying data in accordance with data having a specific key value in said first buffer and a distribution rule for distributing the data to a selected one of said output nodes; means for distributing and storing said classified data as a sorted string to be processed on each of said plurality of output nodes onto each storage area of said shared external storage unit, each of said areas corresponding to each of said plurality of output nodes; and means for storing as a sorted string an internally sorted result in said shared external storage unit, in accordance with the distribution rule; and each of said output nodes comprises: a second buffer; means for storing in said second buffer the sorted string stored in said shared external storage unit; means for merging a plurality of sorted strings stored in said second buffer, in accordance with the predetermined sorting rule; and means for outputting a merged result as a sorted result.
2. A sorting system having a plurality of nodes connected to each other by a data transferring path, comprising: a plurality of nodes; a dedicated external storage unit provided for each of said plurality of nodes; and a shared external storage unit provided between each pair of nodes of said plurality of nodes, wherein: at least one node among said plurality of nodes comprises: a first buffer; means for storing sorting target data in said first buffer; means for internally sorting data in said first buffer in accordance with a predetermined sorting rule; means for classifying data in accordance with data having a specific key value in said first buffer and a distribution rule for distributing the data to a selected one of said plurality of nodes different from said node classifying the data; means for distributing and storing said classified data as a sorted string to be processed on each of said plurality of nodes onto each storage area of said dedicated or shared external storage unit, each of said areas corresponding to each of said plurality of nodes; means for sorting as a sorted string an internally sorted result in said dedicated external storage unit, in accordance with the distribution rule; a second buffer; means for storing in said second buffer the sorted string stored in said shared external storage unit and said dedicated external storage unit; means for merging a plurality of sorted strings stored in said second buffer, in accordance with the predetermined sorting rule; and means for outputting a merged result as a sorted result.
3. A sorting method for a sorting system having a plurality of input nodes, a plurality of output nodes, and a shared external storage unit connected between each of the input nodes and each of the output nodes, the method comprising the steps of: storing sorting target data in each of the input nodes; classifying and internally sorting the read sorting target data in accordance with data having a specific key value and a distribution rule for distributing the data to a selected one of said output nodes; distributing and storing said classified data as a sorted string to be processed on each of said plurality of output nodes onto each storage area of said shared external storage unit, each of said areas corresponding to each of said plurality of output nodes; performing a process from said storing step to said distributing and storing step for all sorting target data; and thereafter reading the sorted string from the shared external storage units shared with the input nodes, storing the sorted string in each output node, and merging the sorted string in accordance with the predetermined sorting rule.
4. A sorting method for a sorting system having a plurality of nodes, a dedicated external storage unit provided for each of the plurality of nodes, and a shared external storage unit provided between each pair of nodes of the plurality of nodes, the method comprising the steps of: storing sorting target data in at least one of the plurality of nodes; classifying and internally sorting the read sorting target data in accordance with data having a specific key value and a distribution rule for distributing the data to a selected one of said nodes different from said node classifying and internally sorting the read sorting target data; distributing and storing said classified data as a sorted string to be processed on each of said plurality of nodes onto each storage area of said dedicated or shared external storage unit, each of said areas corresponding to each of said plurality of nodes; performing a process from said storing step to said distributing and storing step for all sorting target data; and thereafter reading each sorted string from the dedicated and shared external storage units at one of the plurality of nodes and merging each sorted string in accordance with the predetermined sorting rule.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 2, 1999
July 23, 2002
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.