Patent ID: 7631310

Claim:
A method comprising: dividing, using one or more processors associated with one or more server devices, a data structure into a plurality of files; determining, using one or more processors associated with the one or more server devices, loads for the plurality of files, where the load of a file comprises a measure of processing resources required for processing the file; distributing, using one or more processors associated with the one or more server devices, the loads to a plurality of computing devices such that each of the plurality of computing devices is assigned a same predetermined number of files, plus or minus one file, and such that a maximum total load distributed to a computing device is equal to or less than an average load distributed to the plurality of computing devices, where the predetermined number is based on a ratio of a number of the plurality of files to a number of the plurality of computing devices, and where distributing the loads to a plurality of computing devices further includes: sorting the files by increasing load; and assigning the files in a sequence based on increasing load to the plurality of computing devices as long as the load of a file does not increase the load of a computing device to equal to or greater than the average load distributed to the plurality of computing devices, and storing the plurality of files in the plurality of computing devices based on the distributing.