IP Library › Granted Patent US 7,581,156
Granted Patent B2
US 7,581,156 · App. 10/321,159 · Granted Aug 25, 2009

Systems and methods for providing improved encoding and reconstruction of data

Assignee: MIcrosoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,581,156
App. No.
10/321,159
Filed
Dec 16, 2002
Granted
Aug 25, 2009
Kind
B2
Art Unit
2112
USPC
714/781
Abstract

Systems and methods for constructing Reed-Solomon encoding matrices are provided that are simpler and more regular than existing techniques, and which allow for the coding to be applied to more data disks than previous techniques. More particularly, systems and methods for simplifying the construction of Reed-Solomon based erasure codes, or coding matrices, over GF(2^n) in connection with circumstances wherein the number of errors to be corrected is less than or equal to three are provided.

Claims (32)

1. A method for efficient transmission of a data field when, prior to transmission, the data field includes a number of failures less than or equal to three, comprising:

generating by at least one computer processor data representing a Vandermonde matrix over GF(2 n ) by:

generating an identity matrix portion;

generating an erasure coding portion comprising data values corresponding to a set of three rows having a property that each minor of the set of three rows is invertible; and

computing a determinant of a submatrix of the erasure coding portion, wherein said computing includes ignoring columns from the identity matrix portion, wherein said computing results in one of a 0 by 0, 1 by 1, 2 by 2 and 3 by 3 minor of the erasure coding portion remaining;

using by the at least one computer processor the generated data representing the Vandermonde matrix to correct the failures in the data field; and

in response to correcting the failures in the data field, transmitting by the at least one computer processor the data field to a recipient, the transmitting being made more efficient by correcting the failures in the data field prior to performing the transmitting.

2. The method according to claim 1 , wherein each minor is a transposed extended Vandermonde matrix and has a non-zero determinant.

3. The method according to claim 1 , wherein said submatrix of the erasure coding portion is an arbitrary m by m submatrix.

4. The method according to claim 1 , wherein said generating steps increase the range of values for coding matrices.

5. A computing system operable to efficiently transmitting a data field when, prior to transmission, the data field includes a number of failures less than or equal to three, comprising:

a processor; and

a memory having stored therein computer executable instructions for performing steps comprising:

generating data representing a Vandermonde matrix over GF(2 n ) by:

generating an identity matrix portion;

generating an erasure coding portion comprising data values corresponding to a set of three rows having a property that each minor of the set of three rows is invertible; and

computing a determinant of a submatrix of the erasure coding portion, wherein said computing includes ignoring columns from the identity matrix portion, wherein said computing results in one of a 0 by 0, 1 by 1, 2 by 2 and 3 by 3 minor of the erasure coding portion remaining;

using the generated data representing the Vandermonde matrix to correct the failures in the data field; and

in response to correcting the failures in the data field, transmitting by the at least one computer processor the data field to a recipient, the transmitting being made more efficient by correcting the failures in the data field prior to performing the transmitting.

6. A computing system according to claim 5 , wherein each minor is a transposed extended Vandermonde matrix and has a non-zero determinant.

7. A computing system according to claim 5 , wherein said submatrix of the erasure coding portion is an arbitrary m by m submatrix.

8. A computing system according to claim 5 , wherein generating an erasure coding portion increases the range of values for a coding matrice.

9. A computer readable storage medium readable by a machine and having stored thereon computer executable instructions being executable by the machine to perform a method of efficiently transmitting a data field when, prior to transmission, the data field includes a number of failures less than or equal to three, the computer executable instructions comprising:

generating data representing a Vandermonde matrix over GF(2 n ) by:

generating an identity matrix portion;

generating an erasure coding portion comprising data values corresponding to a set of three rows having a property that each minor of the set of three rows is invertible; and

computing a determinant of a submatrix of the erasure coding portion, wherein said computing includes ignoring columns from the identity matrix portion, wherein said computing results in one of a 0 by 0, 1 by 1, 2 by 2 and 3 by 3 minor of the erasure coding portion remaining;

using the generated data representing the Vandermonde matrix to correct the failures in the data field; and

in response to correcting the failures in the data field, transmitting by the at least one computer processor the data field to a recipient, the transmitting being made more efficient by correcting the failures in the data field prior to performing the transmitting.

10. The computer readable storage medium of claim 9 , wherein each minor is a transposed extended Vandermonde matrix and has a non-zero determinant.

11. The computer readable storage medium of claim 9 , wherein said submatrix of the erasure coding portion is an arbitrary m by m submatrix.

12. The computer readable storage medium according to claim 9 , wherein said generating steps increase the range of values for coding matrices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2002
From: MANASSE, MARK STEVEN
To: MICROSOFT CORPORATION
Reel/Frame 013597/0765 →
Continuity (1)
Related Publication 20040117718A1 · Jun 17, 2004