Patent ID: 7581135

Claim:
A system comprising: a processor; a data bus coupled to said processor; a memory coupled to said data bus; and a computer-usable medium embodying computer program code, said computer program code comprising instructions executable by said processor and configured for: generating a plurality of copies of a data file; storing said plurality of copies of said data file in a plurality of storage media; dividing each copy of said plurality of copies of said data file into a plurality of data portions; in response to receiving a request to restore said data file, simultaneously retrieving each data portion among said plurality of data portions from a different storage medium among said plurality of storage media; restoring said data file from said plurality of data portions; in response to determining a first copy of a data portion among said plurality of data portions is corrupt, retrieving a second copy of said data portion from another storage medium among said plurality of storage media; creating a plurality of lists including a plurality of entries, wherein said plurality of entries are associated with said plurality of data portions; rearranging said plurality of entries in said plurality of lists so that said plurality of entries within each list among said plurality of lists is in a different order; and rearranging said plurality of entries in a k-th list among said plurality of lists, wherein a r-th entry among said plurality of entries of said k-th list is a copy of a ((r+k) mod n)-th entry in a reference list.