# US 10,873,429 B1 · Data frame error recovery for multi-node systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,429 B1
- Document ID: US10873429B1
- Status: Granted
- Kind: B1
- Application number: 16/367,483
- Filed: 2019-03-28
- Granted: 2020-12-22
- Earliest claimed: 2019-03-28
- Assignees: Rockwell Collins, Inc.
- Applicants: Rockwell Collins, Inc.
- Inventors: Tj T. Kwon; Naveen Rajanikantha; Blanka Giese; Anthony D. Schaefer; Andrew J. Bys; Taunya L. Kepple; Wayne H. Meyer
- Web page: https://patentgrep.com/patent/US10873429B1

## CPC

- H04L 1/0045: {Arrangements at the receiver end}
- H04L 1/242: {by comparing a transmitted test signal with a locally generated replica}
- H04L 1/0061: {Error detection codes}
- H04L 43/0847: {Transmission error}
- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of performing data frame error recovery is disclosed. A data packet is received and tested to determine whether the data packet includes one or more bit errors. The data packet is compared with one or more data packets stored in a recovery buffer to identify a duplicate of the data packet when the data packet includes one or more bit errors. One or more bits affected by the one or more bit errors are identified based on a comparison between the data packet and the duplicate of the data packet. Different combinations of bit values for the one or more bits are determined, and the data packet is tested with the different combinations to identify a correct combination of bit values for the one or more bits. The data packet is recovered based on the correct combination of bit values for the one or more bits.

## Claims

### Claim 1

A communication node for performing data frame error recovery, comprising:
a communication interface;
a controller communicatively coupled to the communication interface, the controller configured to:
receive a data packet via the communication interface;
test the data packet to determine whether the data packet includes one or more bit errors;
compare the data packet with one or more data packets stored in a recovery buffer to identify a plurality of duplicate data packets, each of the plurality of duplicate data packets having different alternative bits, when the data packet includes one or more bit errors;
identify a duplicate of the data packet from the plurality of duplicate data packets based on which of the plurality of duplicate data packets has the fewest number of mismatched bits;
identify one or more bits affected by the one or more bit errors based on a comparison between the data packet and the duplicate of the data packet;
determine different combinations of bit values for the one or more bits;
test the data packet with the different combinations of bit values for the one or more bits to identify a correct combination of bit values for the one or more bits; and
recover the data packet based on the correct combination of bit values for the one or more bits.

### Claim 2 (depends on 1)

The communication node of claim 1, wherein the controller is further configured to:
remove the duplicate of the data packet from the recovery buffer after recovering the data packet.

### Claim 3 (depends on 1)

The communication node of claim 1, wherein the controller is further configured to:
tag the data packet with a time stamp and store the data packet in the recovery buffer when there are no duplicates of the data packet in the recovery buffer; and
remove the data packet from the recovery buffer after a predetermined amount of time has lapsed from the time stamp.

### Claim 4 (depends on 1)

The communication node of claim 1, wherein the controller is further configured to:
remove an oldest data packet from the recovery buffer upon receipt of a new data packet when the recovery buffer is full, wherein the recovery buffer is configured to store up to a predetermined maximum number of data packets.

### Claim 5 (depends on 1)

The communication node of claim 1, wherein the controller is configured to test the data packet based on a cyclic redundancy check (CRC) algorithm.

### Claim 6 (depends on 1)

The communication node of claim 1, wherein the controller is configured to identify the duplicate of the data packet when the data packet and the duplicate of the data packet have less than a predetermined maximum number of mismatched bit values.

### Claim 7 (depends on 1)

The communication node of claim 1, wherein the controller is configured to receive the data packet from another communication node within a multi-node system.

### Claim 8

A multi-node system for performing data frame error recovery, comprising:
a plurality of communication nodes configured to receive data packets broadcasted from other communication nodes within the multi-node system, wherein a communication node of the plurality of communication nodes includes:
a communication interface;
a controller communicatively coupled to the communication interface, the controller configured to:
receive a data packet from another communication node via the communication interface;
test the data packet to determine whether the data packet includes one or more bit errors;
compare the data packet with one or more data packets stored in a recovery buffer to identify a plurality of duplicate data packets, each of the plurality of duplicate data packets having different alternative bits, when the data packet includes one or more bit errors;
identify a duplicate of the data packet from the plurality of duplicate data packets based on which of the plurality of duplicate data packets has the fewest number of mismatched bits;
identify one or more bits affected by the one or more bit errors based on a comparison between the data packet and the duplicate of the data packet;
determine different combinations of bit values for the one or more bits;
test the data packet with the different combinations of bit values for the one or more bits to identify a correct combination of bit values for the one or more bits; and
recover the data packet based on the correct combination of bit values for the one or more bits.

### Claim 9 (depends on 8)

The multi-node system of claim 8, wherein the controller is further configured to:
remove the duplicate of the data packet from the recovery buffer after recovering the data packet.

### Claim 10 (depends on 8)

The multi-node system of claim 8, wherein the controller is further configured to:
tag the data packet with a time stamp and store the data packet in the recovery buffer when there are no duplicates of the data packet in the recovery buffer; and
remove the data packet from the recovery buffer after a predetermined amount of time has lapsed from the time stamp.

### Claim 11 (depends on 8)

The multi-node system of claim 8, wherein the controller is further configured to:
remove an oldest data packet from the recovery buffer upon receipt of a new data packet when the recovery buffer is full, wherein the recovery buffer is configured to store up to a predetermined maximum number of data packets.

### Claim 12 (depends on 8)

The multi-node system of claim 8, wherein the controller is configured to test the data packet based on a cyclic redundancy check (CRC) algorithm.

### Claim 13 (depends on 8)

The multi-node system of claim 8, wherein the controller is configured to identify the duplicate of the data packet when the data packet and the duplicate of the data packet have less than a predetermined maximum number of mismatched bit values.

### Claim 14 (depends on 8)

The multi-node system of claim 8, wherein the multi-node system is a mobile ad hoc network (MANET), and the communication node is a mobile communication node.

### Claim 15

A method of performing data frame error recovery, comprising:
receiving a data packet at a communication node within a multi-node system;
testing the data packet to determine whether the data packet includes one or more bit errors;
comparing the data packet with one or more data packets stored in a recovery buffer to identify a plurality of duplicate data packets, each of the plurality of duplicate data packets having different alternative bits, when the data packet includes one or more bit errors;
identifying a duplicate of the data packet from the plurality of duplicate data packets based on which of the plurality of duplicate data packets has the fewest number of mismatched bits;
identifying one or more bits affected by the one or more bit errors based on a comparison between the data packet and the duplicate of the data packet;
determining different combinations of bit values for the one or more bits;
testing the data packet with the different combinations of bit values for the one or more bits to identify a correct combination of bit values for the one or more bits; and
recovering the data packet based on the correct combination of bit values for the one or more bits.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
removing the duplicate of the data packet from the recovery buffer after recovering the data packet.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
tagging the data packet with a time stamp and storing the data packet in the recovery buffer when there are no duplicates of the data packet in the recovery buffer; and
removing the data packet from the recovery buffer after a predetermined amount of time has lapsed from the time stamp.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
removing an oldest data packet from the recovery buffer upon receipt of a new data packet when the recovery buffer is full, wherein the recovery buffer is configured to store up to a predetermined maximum number of data packets.

### Claim 19 (depends on 15)

The method of claim 15, wherein the data packet is tested based on a cyclic redundancy check (CRC) algorithm.

### Claim 20 (depends on 15)

The method of claim 15, wherein the duplicate of the data packet is identified when the data packet and the duplicate of the data packet have less than a predetermined maximum number of mismatched bit values.
