IP Library Granted Patent US 8,245,096
Granted Patent B2
US 8,245,096 · App. 12/404,649 · Granted Aug 14, 2012

System, method and apparatus for FEC encoding and decoding

Assignee: Kencast, Inc.
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 8,245,096
App. No.
12/404,649
Granted
Aug 14, 2012
Kind
B2
Abstract

A system, method and apparatus are provided for encoding and decoding a source file. The source file is encoded by dividing it into a plurality of shares comprised of a plurality of packets. A bit vector is generated. For at least one share, an FEC packet is generated by XOR'ing a subset of packets from the plurality of packets in the share in accordance with the bit vector. The process of encoding continues until terminated. Once the FEC encoded packets are received, each of the plurality of packets which is not a linear combination of previously received packets is stored into a file. A sequence of XOR operations to perform in-place on the file to reconstruct the source file are generated and performed on the file.

Claims (33)

1. A method for reconstructing a source file, comprising the steps of:

receiving a plurality of packets;

storing each of the plurality of packets which is not a linear combination of previously received packets into a file;

generating a sequence of XOR operations; and

performing the sequence of XOR operations in-place on the file to reconstruct the source file.

2. The method according to claim 1 ,

wherein the file comprises a plurality of independent shares, and the method further comprises:

performing on each independent share the sequence of XOR operations, wherein the sequence of XOR operations comprises a plurality of XOR operations constructed using a Gaussian elimination technique on a matrix of bit vectors associated with the stored packets, wherein each bit vector in the matrix represents a plurality of source packets which were XOR'ed to generate the associated stored packet.

3. The method according to claim 2 , wherein for each stored packet, the associated bit vector is received along with the data for the stored packet.

4. The method according to claim 2 , wherein the bit vector associated with each stored packet is constructed using a pseudorandom number generator and a seed value received along with the stored packet.

5. An FEC decoder for reconstructing a source file, comprising:

a packet receiver operable to receive a plurality of packets and store each of the plurality of packets which is not a linear combination of previously received packets into a file; and

a decoder operable to generate a sequence of XOR operations to perform in-place on the file to reconstruct the source file.

6. The FEC decoder according to claim 5 ,

wherein the file comprises a plurality of independent shares, and

wherein the decoder performs on each independent share the sequence of XOR operations, wherein the sequence of XOR operations comprises a plurality of XOR operations constructed using a Gaussian elimination technique on a matrix of bit vectors associated with the stored packets, wherein each bit vector in the matrix represents a plurality of source packets which were XOR'ed to generate the associated stored packet.

7. The FEC decoder according to claim 6 , wherein for each stored packet, the associated bit vector is received along with the data for the stored packet.

8. The FEC decoder according to claim 6 , wherein the bit vector associated with each stored packet is constructed using a pseudorandom number generator and a seed value received along with the stored packet.

9. An apparatus for reconstructing a source file, comprising:

means for receiving a plurality of packets;

means for storing each of the plurality of packets which is not a linear combination of previously received packets into a file;

means for generating a sequence of XOR operations; and

means for performing the sequence of XOR operations in-place on the file to reconstruct the source file.

10. A computer program product comprising a computer-readable medium having control logic stored therein for causing a computer to reconstruct a source file, said control logic comprising:

first computer readable program code for causing the computer to receive a plurality of packets;

second computer readable program code for causing the computer to store each of the plurality of packets which is not a linear combination of previously received packets into a file;

third computer readable program code for causing the computer to generate a sequence of XOR operations; and

fourth computer readable program code for causing the computer to perform the sequence of XOR operations in-place on the file to reconstruct the source file.

11. The computer program product of claim 10 ,

wherein the file comprises a plurality of independent shares, and

wherein the third computer readable program code further causes the computer to perform on each independent share the sequence of XOR operations, wherein the sequence of XOR operations comprises a plurality of XOR operations constructed using a Gaussian elimination technique on a matrix of bit vectors associated with the stored packets, and wherein each bit vector in the matrix represents a plurality of source packets which were XOR'ed to generate the associated stored packet.

12. The computer program product of claim 11 , wherein for each stored packet, the associated bit vector is received along with the data for the stored packet.

13. The computer program product of claim 11 , wherein the bit vector associated with each stored packet is constructed using a pseudorandom number generator and a seed value received along with the stored packet.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: WOLFGANG, H. LEWIS
To: KENCAST, INC.
Reel/Frame 051269/0266 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2018
From: EDGEMONT CAPITAL LLC
To: KENCAST, INC.
Reel/Frame 046610/0551 →
PATENT SECURITY AGREEMENT Recorded Apr 15, 2016
From: KENCAST, INC.
To: ENHANCED CAPITAL CONNECTICUT FUND V, LLC
Reel/Frame 038439/0381 →
Continuity (3)
Division 11233440 · Sep 22, 2005
Provisional Application 60612289 · Sep 22, 2004
Related Publication 20090177948A1 · Jul 9, 2009