IP Library Granted Patent US 6,851,084
Granted Patent B2
US 6,851,084 · App. 10/310,514 · Granted Feb 1, 2005

Forward error correction method and system for reliable transmission of real time data over a packet based network

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 6,851,084
App. No.
10/310,514
Granted
Feb 1, 2005
Kind
B2
Abstract

A method of correcting errors in a packet based communications system comprises generating m parity packets from each group of k consecutive data packets to form a code word of k data packets and m parity packets. Each parity packet is a combination of two or more data packets, and each data and parity packet includes a sequence number representative of a relative position of the packet in the code word. The method also includes examining, after transmission, the sequence number associated with each packet to determine if one or more packets from the code word is missing. If any packets are missing, the method includes identifying the one or more missing packets. The method further includes processing the data packets and the parity packets according to the combinations of data packets used to generate the parity packets, so as to recover one or more missing packets.

Claims (21)

1. A method of correcting errors in a packet based communications system, wherein a source station transmits data packets to a destination station via network media, comprising:

compiling a serial data stream into a sequence of data packets for transmission to the destination station via the network media;

generating a first parity packet as a bit-wise exclusive-or of a first data packet and a second data packet from the sequence of data packets;

generating a second parity packet as a bit-wise exclusive-or of a third data packet and a fourth data packet from the sequence of data packets;

generating a third parity packet as a bit-wise exclusive-or of the first data packet and the third data packet from the sequence of data packets; and,

generating a fourth parity packet as a bit-wise exclusive-or of the second data packet and the fourth data packet from the sequence of data packets;

forming a code word from the first, second, third, and fourth parity packets, and the first, second, third, and fourth data packets;

associating a sequence number with each packet representative of a relative position of the packet in the code word;

transmitting the eight packet code word to the destination station via the network media;

receiving the eight packet code word at the destination station, and examining the sequence number associated with each packet to determine if one or more packets from the eight packet code word is missing, and identifying the one or more missing packets if any are missing;

processing the data packets and the parity packets within the associated code word at the destination station, according to the combinations of data packets used to generate the parity packets, so as to recover one or more missing packets, wherein processing the data packets includes:

first, correcting a single error, if it exists, in a parity group consisting of the first parity packet, the first data packet and the second data packet, and correcting a single error, if it exists, in a parity group consisting of the second parity packet, the third data packet and the fourth data packet; and

second, correcting a single error, if it exists, in a parity group consisting of the third parity packet, the first data packet and the third data packet, and correcting a single error, if it exists, in a parity group consisting of the fourth parity packet, the second data packet and the fourth data packet.

2. A method according to claim 1 , wherein processing the data packets further includes determining if errors exist after completing the second step, and if so, repeating the first step and the second step.

3. A system for correcting errors in a packet based communications system, wherein a source station transmits data packets to a destination station via network media, comprising:

a packet assembler in the source station for compiling a serial data stream into a sequence of data packets for transmission to the destination station via the network media;

an encoder in the source station (i) for receiving the data packets from the packet assembler, (ii) for generating a first parity packet as a bit-wise exclusive-or of a first data packet and a second data packet from the sequence of data packets; (iii) for generating a second parity packet as a bit-wise exclusive-or of a third data packet and a fourth data packet from the sequence of data packets; (iii) for generating a third parity packet as a bit-wise exclusive-or of the first data packet and the third data packet from the sequence of data packets; (iv) for generating a fourth parity packet as a bit-wise exclusive-or of the second data packet and the fourth data packet from the sequence of data packets. (v) for forming a code word from the first, second, third, and fourth parity packets, and the first, second, third, and fourth data packets, and (vi) for associating a sequence number with each packet representative of a relative position of the packet in the code word;

a decoder for receiving the eight packet code word at the destination station, and examining the sequence number associated with each packet to determine if one or more packets from the eight packet code word is missing, and identifying the one or more missing packets if any are missing, and for processing the data packets and the parity packets within the associated code word at the destination station, according to the combinations of data packets used to generate the parity packets, so as to recover one or more missing packets, wherein the decoder processes the data packets and the parity packets at the destination station by:

first, correcting a single error, if it exists, in a parity group consisting of the first parity packet, the first data packet and the second data packet, and correcting a single error, if it exists, in a parity group consisting of the second parity packet, the third data packet and the fourth data packet; and

second, correcting a single error, if it exists, in a parity group consisting of the third parity packet, the first data packet and the third data packet, and correcting a single error, if it exists, in a parity group consisting of the fourth parity packet, the second data packet and the fourth data packet.

4. A system according to claim 3 , wherein the decoder determines if errors exist after completing the second step, and if so, repeating the first step and the second step.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2023
From: CITIZENS BANK,N.A.
To: GATESAIR, INC.
Reel/Frame 065117/0891 →
SECURITY INTEREST Recorded Aug 1, 2022
From: PHENIXYA LENDCO II, LLC; GATESAIR, INC.; PHENIXYA LENDCO I, LLC
To: CITIZENS BANK, N.A.
Reel/Frame 061039/0484 →
SECURITY INTEREST Recorded Mar 3, 2020
From: GATESAIR, INC.
To: FIRST FINANCIAL BANK
Reel/Frame 052073/0557 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30156/0636 Recorded Feb 28, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS AGENT
To: GATESAIR, INC.
Reel/Frame 052088/0607 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30156/0751 Recorded Feb 28, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS AGENT
To: GATESAIR, INC.
Reel/Frame 052049/0958 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30192/0355 Recorded Feb 28, 2020
From: BROADCAST LENDCO, LLC (SUCCESSOR TO PNC BANK, NATIONAL ASSOCIATION), AS AGENT
To: GATESAIR, INC.
Reel/Frame 052050/0015 →
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 28, 2020
From: PNC BANK, NATIONAL ASSOCIATION, AS EXISTING AGENT
To: BROADCAST LENDCO, LLC, AS SUCCESSOR AGENT
Reel/Frame 052050/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2017
From: IMAGINE COMMUNICATIONS CORP.
To: GATESAIR, INC.
Reel/Frame 042402/0439 →
CHANGE OF NAME Recorded Mar 16, 2017
From: HBC SOLUTIONS, INC.
To: IMAGINE COMMUNICATIONS CORP.
Reel/Frame 042022/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2013
From: HARRIS CORPORATION; EAGLE TECHNOLOGY, LLC
To: HBC SOLUTIONS, INC.
Reel/Frame 030333/0671 →
SECURITY AGREEMENT Recorded Apr 10, 2013
From: HBC SOLUTIONS, INC.
To: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 030192/0355 →
SECURITY AGREEMENT Recorded Apr 5, 2013
From: HBC SOLUTIONS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 030156/0636 →
SECURITY AGREEMENT Recorded Apr 5, 2013
From: HB CANADA COMMUNICATIONS LTD
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 030156/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2013
From: HARRIS CORPORATION; EAGLE TECHNOLOGY INC.
To: HBC SOLUTIONS, INC.
Reel/Frame 029759/0416 →