Patent ID: 7032166

Claim:
A method comprising an act of: a) protecting a data set that comprises a plurality of data bits with a parity set that comprises a plurality of parity bits, wherein the parity set and the data set have a relationship defined by a bipartite graph comprising a plurality of data points and a plurality of parity points, wherein each data point represents at least one of the plurality of data bits and each parity point represents at least one of the plurality of parity bits, wherein each one of the plurality of parity points has a degree that defines a number of data points to which the one of the plurality of parity points corresponds, the plurality of parity points being selected to have a first degree distribution that is substantially similar to a second degree distribution in which N j defines a number of parity points of degree j, wherein N j is equal to zero for values of j from 1 through j* plus 1, and wherein N j satisfies the following formula for values of j from j* plus 2 to imax; ∑ j = j * + 2 imax ⁢ N j = Int ⁡ [ s ⁢ ∑ j = j * + 2 imax ⁢ ( p ⁢ ⁢ k j - j * - 1 - p ⁢ ⁢ k + 1 - A ⁢ p ⁢ ⁢ k j - j * ) ] wherein; p is a fraction of loss being protected against; k is a number of data points in the bipartite graph; imax defines a maximum possible degree for the parity points in the bipartite graph; s is a scaling factor; j* defines a degree of a lowest non-zero degree parity point minus two; and A is a variable.