Patent ID: 8606039

Claim:
An information processing apparatus comprising: a division unit configured to divide input data into a plurality of pieces of divided data; a processing unit configured to perform predetermined processing for each piece of the divided data to generate processed divided data; and a generation unit configured to generate a plurality of pieces of intermediate data by referencing a plurality of groups of divided data respectively, each group including one or more pieces of the processed divided data, and to combine the plurality of pieces of the intermediate data to generate output data, wherein the information processing apparatus further comprises: a temporary storage unit configured to store the processed divided data; and a detection unit configured to select a group of divided data that includes the processed divided data stored in the temporary storage unit among the plurality of groups of divided data, and to determine whether or not all processed divided data included in the selected group of divided data is stored in the temporary storage unit, wherein as a result of the determination performed by the detection unit, if it is determined that all the processed divided data included in the selected group of divided data is stored, the generation unit generates intermediate data by referencing the selected group of divided data and then deletes all the processed divided data included in the selected group of divided data from the temporary storage unit, and if it is determined that a part of the processed divided data included in the selected group of divided data is not stored, the processing unit generates the part of the processed divided data more preferentially than processed divided data not included in the selected group of divided data.