The information dispersal algorithm and its applications

We present the Information Dispersal Algorithm (IDA) which breaks a file F of length L = |F| into n pieces F i , 1 ≤ i ≤ n, each of length |F i | = L/m, so that every m pieces suffice for reconstructing F. Dispersal and reconstruction are computationally efficient. The sum of lengths |F i | is (n/m) L. Since n/m can be chosen to be close to 1, the IDA is space efficient. IDA has numerous applications to secure and reliable storage of information in computer networks and even on single disks, to fault-tolerant and efficient transmission of information in networks, and to communications between processors in parallel computers. Here we also give applications to the problem of data consistency and availability in distributed systems, and to a distributed pattern matching algorithm.