Patent ID: 8726136

Claim:
A method for reconstructing a source file, comprising the steps of: receiving a plurality of packets, wherein each packet is at least one of a source packet or an FEC packet; storing each source packet into a corresponding source packet matrix; storing each FEC packet; determining, for each row of the source packet matrix, whether at least one of the source packets has not been received and can be recovered based, in part, on a status information field of the row; recovering a first source packet that has not been received; updating a status information field of a column and a diagonal associated with the recovered first source packet; determining, for each column of the source packet matrix, whether at least one of the source packets has not been received and can be recovered based, in part, on a status information field of the column; recovering a second source packet that has not been received; updating a status information field of a row and a diagonal associated with the recovered second source packet; and determining, for each diagonal of the source packet matrix, whether at least one of the source packets has not been received and can be recovered based, in part, on a status information field of the diagonal; recovering a third source packet that has not been received; and updating a status information field of a row and a column associated with the recovered third source packet.