IP Library › Granted Patent US 11,652,573
Granted Patent B2
US 11,652,573 · App. 17/940,992 · Granted May 16, 2023

Error correction in network packets using soft information

Inventors: RaviKiran Gopalan (Cupertino, CA); Anand Chandrasekher (Saratoga, CA); Yihan Jiang (Cupertino, CA); Arman Rahimzamani (San Jose, CA)
Assignee: Aira Technologies, Inc.
H04L1/0061G06F9/3009G06F9/30065G06F9/30087G06F9/4881H04L1/0084H04L1/18
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 11,652,573
App. No.
17/940,992
Granted
May 16, 2023
Kind
B2
Abstract

Error correction in network packets using soft information and modified payloads are disclosed herein. The method can include extracting soft information from copies of a network packet, using the extracted soft information to select K positions in a payload of the network packet, the payload with uncertain values of bits, the selected K positions having largest levels of uncertainty, changing one or more of the uncertain values at the K positions to a selected combination of values to transform the payload to a modified payload of the network packet, generating an error detection code for the modified payload and when the generated error detection code for the modified payload matches the error detection code for the network packet, using the modified payload as a corrected network packet and processing the next network packet.

Claims (42)

1. A method for error recovery of a network packet, the method comprising:

receiving a plurality of corrupted copies of a network packet, each copy including an error detection code of the network packet and a corrupted payload as indicated by the error detection code;

extracting soft information from the corrupted copies of the network packet by utilizing a neural packet processor (NPP) machine learning model comprising a convolutional neural network (CNN);

using the extracted soft information to select K positions in a payload of the network packet, the payload with uncertain values of bits, the selected K positions having largest levels of uncertainty;

changing one or more of the uncertain values at the K positions to a selected combination of values to transform the payload to a modified payload of the network packet;

generating an error detection code for the modified payload; and

when the generated error detection code for the modified payload matches the error detection code for the network packet, using the modified payload as a corrected network packet and processing a next network packet.

2. The method according to claim 1 , wherein the soft information may include expected values for bits in positions of payload of the network packet.

3. The method according to claim 2 , wherein extracting soft information includes obtaining the expected values using a machine learning model.

4. The method according to claim 3 , wherein the machine learning model evaluates values of bits at position j in all the copies of the network packet and values of bits in positions neighboring to j in the copies of the network packet.

5. The method according to claim 4 , further comprising determining levels of uncertainty for positions of bits in the payload of the network packet, wherein a level of uncertainty for a position j can be found as minimum between a distance of an expected value at the position j from 0 and a distance of the expected value at the position j from 1.

6. The method according to claim 5 , further comprising selecting a combination of values of K bits from 2 K possible combinations of values of bits at selected K positions.

7. The method according to claim 6 , further comprising determining that all possible combinations of the values of K bits have been selected and tested, and selecting a next combination when all the possible combinations have not been selected and tested when the error detection code for the modified payload does not match the error detection code for the network packet.

8. The method according to claim 7 , further comprising requesting that the network packet be retransmitted when the network packet cannot be corrected.

9. An error correction method comprising:

extracting soft information from corrupted copies of a network packet by utilizing a neural packet processor (NPP) machine learning model that is implemented by a convolutional neural network (CNN), the corrupted copies including an error detection code in the network packet and corrupted payloads;

using the soft information to select positions in a proposed sequence of bits having uncertain values of the bits;

changing values of the bits at various positions of the selected positions to a combination of values to modify a payload of the network packet;

checking an error detection code of the modified payload for a match with the error detection code in the network packet, the match indicating the modified payload is a corrected payload; and

proceeding with processing a next network packet when the check passes.

10. The method according to claim 9 , wherein the soft information includes expected values for bits in positions of payload of the network packet.

11. The method according to claim 10 , wherein extracting soft information includes obtaining the expected values using a machine learning model, and wherein the machine learning model evaluates values of bits at position j in all the copies of the network packet and values of bits in positions neighboring to j in the copies of the network packet.

12. The method according to claim 11 , further comprising:

determining levels of uncertainty for positions of bits in the payload of the network packet, wherein a level of uncertainty for a position j can be found as minimum between a distance of an expected value at the position j from 0 and a distance of the expected value at the position j from 1; and

selecting a combination of values of K bits from 2 K possible combinations of values of bits at selected K positions.

13. The method according to claim 12 , wherein when the error detection code of the modified payload does not match the error detection code in the network packet, the method further comprises determining that all possible combinations of values of K bits have been selected and tested, and selecting a next combination when all the possible combinations have not been selected and tested.

14. The method according to claim 13 , further comprising requesting that the network packet be retransmitted when the network packet cannot be corrected.

15. A method for error correction of a network packet having a payload and a packet error detection code, the method comprising:

concatenating a plurality of copies of the network packet, the packet error detection code indicating an error in at least one position in each of the payload copies;

extracting soft information from the concatenated copies of the network packet by utilizing a neural packet processor (NPP) machine learning model that is implemented by a convolutional neural network (CNN), the soft information including expected values for bits in positions of the payload;

selecting K positions in the soft information with uncertain values of bits having K largest levels of uncertainty;

changing a combination of the uncertain values at the K positions to generate a modified payload of the network packet from the soft information;

checking if an error detection code of the modified payload matches the packet error detection code; and

using the modified payload in a corrected network packet when the check of the error detection code of the modified payload passes.

16. The method according to claim 15 , further comprising processing a next network packet when the check passes.

17. The method according to claim 15 , further comprising when the check fails, determining that all possible combinations of values of K bits have been selected and tested, and selecting a next combination when all the possible combinations have not been selected and tested.

18. The method according to claim 15 wherein the CNN is a deep learning convolutional neural network with 1-dimension inputs.

19. The method according to claim 15 wherein the soft information extraction is a simple and small CNN model, which only contains Conv1D and Dense layers.

20. The method according to claim 15 wherein a level of uncertainty for a position j is found as minimum between a distance of an expected value at the position j from 0 and a distance of the expected value at the position j from 1.

21. The method according to claim 1 , wherein receiving a plurality of corrupted copies of a network packet is performed by a receiver that is coupled to a transmitter via a communication channel.

22. The method according to claim 9 , wherein receiving a plurality of corrupted copies of a network packet is performed by a receiver that is coupled to a transmitter via a communication channel.

23. The method according to claim 15 , wherein receiving a plurality of corrupted copies of a network packet is performed by a receiver that is coupled to a transmitter via a communication channel.

Assignments (3)
CHANGE OF ADDRESS Recorded Jul 20, 2023
From: AIRA TECHNOLOGIES, INC.
To: AIRA TECHNOLOGIES, INC.
Reel/Frame 064353/0359 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: GOPALAN, RAVIKIRAN; JIANG, YIHAN; CHANDRASEKHER, ANAND
To: AIRA TECHNOLOGIES, INC.
Reel/Frame 061063/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: RAHIMZAMANI, ARMAN
To: AIRA TECHNOLOGIES, INC.
Reel/Frame 061063/0710 →
Continuity (3)
Continuation 17688718 · Mar 7, 2022
Provisional Application 63158817 · Mar 9, 2021
Related Publication 20230015180A1 · Jan 19, 2023