Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
First Claim
Patent Images
1. A method for encoding a source file to be transmitted to a receiver, comprising the steps of:
- dividing a source file into a plurality of source packets;
dividing the plurality of source packets into a plurality of groups;
generating an n-dimensional source packet cube from the plurality of source packets in one of the plurality of groups, wherein the source packet cube has a plurality of directions, each direction including at least two of the source packets, each of the source packets being included in a plurality of non-parallel directions, and wherein n is an integer greater than or equal to 3;
grouping the plurality of directions into a plurality of sets, wherein directions within each set are parallel;
calculating a plurality of Forward Error Correction (FEC) packets for each of the plurality of directions of the source packet cube; and
transmitting the source packets in the source packet cube and the plurality of FEC packets.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, apparatus and computer program products provide highly reliable file delivery using a combination of packet-level FEC on source data packets which are arranged in matrices, where encoding is performed on both rows and columns or on rows, columns and diagonals.
88 Citations
6 Claims
-
1. A method for encoding a source file to be transmitted to a receiver, comprising the steps of:
-
dividing a source file into a plurality of source packets; dividing the plurality of source packets into a plurality of groups; generating an n-dimensional source packet cube from the plurality of source packets in one of the plurality of groups, wherein the source packet cube has a plurality of directions, each direction including at least two of the source packets, each of the source packets being included in a plurality of non-parallel directions, and wherein n is an integer greater than or equal to 3; grouping the plurality of directions into a plurality of sets, wherein directions within each set are parallel; calculating a plurality of Forward Error Correction (FEC) packets for each of the plurality of directions of the source packet cube; and transmitting the source packets in the source packet cube and the plurality of FEC packets. - View Dependent Claims (2)
-
-
3. A non-transitory computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions which, when executed by a computer system, cause the computer system to perform:
-
dividing a source file into a plurality of source packets; dividing the plurality of source packets into a plurality of groups; generating an n-dimensional source packet cube from the plurality of source packets in one of the plurality of groups, wherein the source packet cube has a plurality of directions, each direction including at least two of the source packets, each of the source packets being included in a plurality of non-parallel directions, and wherein n is an integer greater than or equal to 3; grouping the plurality of directions into a plurality of sets, wherein directions within each set are parallel; calculating a plurality of Forward Error Correction (FEC) packets for each of the plurality of directions of the source packet cube; and transmitting the source packets in the source packet cube and the plurality of FEC packets. - View Dependent Claims (4)
-
-
5. An apparatus for encoding a source file to be transmitted to a receiver, comprising:
-
a processor configured to divide the source file into a plurality of source packets and divide the plurality of source packets into a plurality of groups; a memory configured to store an n-dimensional source packet cube including the plurality of source packets in one of the plurality of groups, wherein the source packet cube has a plurality of directions, each direction including at least two of the source packets, each of the source packets being included in a plurality of non-parallel directions, wherein the plurality of directions are grouped into a plurality of sets, wherein directions within each set are parallel, and wherein n is an integer greater than or equal to 3; an encoder configured to generate a plurality of Forward Error Correction (FEC) packets for each of the plurality of directions of the source packet cube; and a transmitter configured to transmit the source packets in the source packet cube and the plurality of FEC packets. - View Dependent Claims (6)
-
Specification