CRC Packet Correction Using Linearity to Find Bit Flips
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction methods for network packets, such as ARQ+CRC, result in inefficient retransmissions due to exponential complexity when correcting corrupted packets, leading to reduced bandwidth and scalability issues.
Innovation Solution
The method employs linearity of CRC to precalculate additional CRCs and determine bit flips, reducing computational complexity by using a combination of bit flips that match the received CRC, and utilizing a binary tree structure to identify correct payload modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional ARQ+CRC error correction methods are used, then error detection is reliable, but computational complexity increases exponentially and bandwidth utilization decreases
Solution Approach 1:
The patent segments the error correction problem by dividing the payload into smaller units and applying CRC checks to individual segments rather than the entire payload. This allows for localized error detection and correction, reducing the exponential computational complexity associated with checking all possible bit combinations in the full payload.
Solution Approach 2:
The patent performs preliminary CRC calculations on segmented payload portions before final assembly. By pre-calculating CRC values for segments and storing them, the system avoids performing full payload CRC calculations repeatedly, thereby reducing computational complexity while maintaining reliable error detection.
2Reliability
If traditional ARQ+CRC error correction methods are used, then error detection is reliable, but bandwidth utilization decreases due to retransmissions
Solution Approach 1:
The patent performs preliminary CRC verification on received segmented data before committing to full packet processing or retransmission requests. This early detection mechanism allows the system to identify and correct errors at the segment level, reducing the need for complete packet retransmissions and thereby improving bandwidth utilization.
Solution Approach 2:
The patent enables the receiving end to perform self-correction of segment-level errors using stored preliminary CRC information and received redundancy data. By correcting errors locally without requiring transmitter retransmission, the system maintains reliable error detection while improving bandwidth utilization through reduced retransmission traffic.
3Reliability
If traditional ARQ+CRC error correction methods are used, then error detection is reliable, but scalability is limited
Solution Approach 1:
The patent applies segmentation to make the error correction system scalable by allowing the payload to be divided into any number of segments based on data size requirements. Each segment can be independently processed with its own CRC checks, enabling the system to scale to handle varying payload sizes and transmission requirements without being constrained by fixed-size packet structures.
Solution Approach 2:
The patent creates a universal error correction framework that can handle different payload sizes, transmission rates, and error conditions through the same segmented CRC approach. The system can adapt to various communication scenarios (different bandwidths, latency requirements, error rates) by adjusting segment sizes and redundancy levels, thereby improving scalability and versatility.
Data Source
AI summary
Systems and methods for correcting corrupted network packets are provided. An example method includes receiving a network packet via a communication channel. The network packet includes a payload and a Cyclic Redundancy Check (CRC) associated with the payload. The method continues with calculating a reference CRC based on the received payload and determining, based on the reference CRC and the received CRC, whether the network packet is corrupted. Based on the determination that the network packet is corrupted, the method continues with selecting a predetermined number of positions of bits in the payload of the network packet, precalculating a set of additional CRCs, and determining, based on the reference CRC and the set of additional CRCs, a combination of bit flips at the predetermined number of positions. The method also includes modifying the payload according to the combination of bit flips at the predetermined number of positions.


