IP Library › Granted Patent US 11,368,251
Granted Patent B1
US 11,368,251 · App. 17/555,269 · Granted Jun 21, 2022

Convergent multi-bit feedback system

Inventors: Anand Chandrasekher (Saratoga, CA); RaviKiran Gopalan (Cupertino, CA); Yihan Jiang (Cupertino, CA); Arman Rahimzamani (San Jose, CA)
Assignee: Aira Technologies, Inc.
H04L1/0072H04L1/0041H04L1/0046H04L1/0047
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,368,251
App. No.
17/555,269
Granted
Jun 21, 2022
Kind
B1
Abstract

Provided are systems and methods for convergent error vector indexing and retransmission in wireless data verifications. An example method includes transmitting a network packet to a receiver; receiving a further network packet being a copy of the network packet as received by the receiver, determining, based on the network packet and the further network packet, an error vector and locations of errors in the further network packet; sending, to the receiver, a first indexing packet including the locations of the errors; receiving a second indexing packet being a copy of the first indexing packet as received by the receiver; determining, based on the error vector and the second indexing packet, the locations of the errors in the second indexing packet; and sending a third indexing packet including the locations of the errors to the receiver, where the receiver corrects the further network packet using the third indexing packet.

Claims (68)

1. A method comprising:

transmitting, by a transmitter, a network packet to a receiver;

(A) receiving, by the transmitter from the receiver, a further network packet, the further network packet being a copy of the network packet as received by the receiver;

(B) determining, by the transmitter, based on the network packet and the further network packet, an error vector;

(C) determining, by the transmitter and based on the error vector, locations of errors in the further network packet;

(D) sending, by the transmitter to the receiver, a first indexing packet including the locations of the errors;

(E) receiving, by the transmitter from the receiver, a second indexing packet, the second indexing packet being a copy of the first indexing packet as received by the receiver;

(F) determining, by the transmitter and using the error vector and the second indexing packet, the locations of the errors in the second indexing packet; and

(G) sending, by the transmitter, a third indexing packet including the locations of the errors to the receiver, wherein the receiver is configured to correct the further network packet using the third indexing packet.

2. The method of claim 1 , further comprising:

prior to the sending the first indexing packet, encoding the first indexing packet using an error-correction code; and

prior to the sending the third indexing packet, encoding the third indexing packet using the error-correction code.

3. The method of claim 2 , wherein the receiver is configured to:

decode the encoded first indexing packet to obtain the second indexing packet; and

prior to correcting the further network packet, decode the encoded third indexing packet to obtain the third indexing packet.

4. The method of claim 1 , wherein the error vector is a difference between a payload of the network packet and a further payload of the further network packet.

5. The method of claim 1 , wherein the receiver is configured to:

generate, based on the third indexing packet, a further error vector; and

perform bitwise summation of the further error vector and a further payload of the further network packet to correct the further network packet.

6. The method of claim 1 , further comprising:

receiving, by the transmitter from the receiver, an indication that the further network packet has been corrupted; and

repeating, by the transmitter, operations (A), (B), (C), (D), (E), (F), and (G).

7. The method of claim 1 , wherein the receiver is configured to determine that the further network packet has been corrupted by testing a check sum of a further payload of the further network packet.

8. The method of claim 1 , wherein the transmitter and the receiver are communicatively connected via a wireless communication channel.

9. The method of claim 8 , wherein:

the wireless communication channel is an asymmetrical communication channel including a first channel and a second channel, the second channel having a stronger signal;

the transmitter is configured to send first messages to the receiver via the first channel; and

the receiver is configured to send second messages to the transmitter via the second channel.

10. The method of claim 8 , wherein the wireless communication channel includes a mobile phone cellular network channel.

11. A system comprising:

at least one processor; and

a memory communicatively coupled to the processor, the memory storing instructions executable by the at least one processor to perform a method comprising:

transmitting, by a transmitter, a network packet to a receiver;

(A) receiving, by the transmitter from the receiver, a further network packet, the further network packet being a copy of the network packet as received by the receiver;

(B) determining, by the transmitter, based on the network packet and the further network packet, an error vector;

(C) determining, by the transmitter and based on the error vector, locations of errors in the further network packet;

(D) sending, by the transmitter to the receiver, a first indexing packet including the locations of the errors;

(E) receiving, by the transmitter from the receiver, a second indexing packet, the second indexing packet being a copy of the first indexing packet as received by the receiver;

(F) determining, by the transmitter and using the error vector and the second indexing packet, the locations of the errors in the second indexing packet; and

(G) sending, by the transmitter, a third indexing packet including the locations of the errors to the receiver, wherein the receiver is configured to correct the further network packet using the third indexing packet.

12. The system of claim 11 , wherein the processor is further configured to:

prior to the sending the first indexing packet, encode the first indexing packet using an error-correction code; and

prior to the sending the third indexing packet, encode the third indexing packet using the error-correction code.

13. The system of claim 12 , wherein the receiver is configured to:

decode the encoded first indexing packet to obtain the second indexing packet; and

prior to correcting the further network packet, decode the encoded third indexing packet to obtain the third indexing packet.

14. The system of claim 11 , wherein the error vector is a difference between a payload of the network packet and a further payload of the further network packet.

15. The system of claim 11 , wherein the receiver is configured to:

generate, based on the third indexing packet, a further error vector; and

perform bitwise summation of the further error vector and a further payload of the further network packet to correct the further network packet.

16. The system of claim 11 , wherein the processor is further configured to:

receive, using the transmitter, from the receiver, an indication that the further network packet has been corrupted; and

repeat, using the transmitter, operations (A), (B), (C), (D), (E), (F), and (G).

17. The system of claim 11 , wherein the receiver is configured to determine that the further network packet has been corrupted by testing a check sum of a further payload of the further network packet.

18. The system of claim 11 , wherein the transmitter and the receiver are communicatively connected via a wireless communication channel.

19. The system of claim 18 , wherein:

the wireless communication channel is an asymmetrical communication channel including a first channel and a second channel, the second channel having a stronger signal;

the transmitter is configured to send first messages to the receiver via the first channel; and

the receiver is configured to send second messages to the transmitter via the second channel.

20. A non-transitory processor-readable medium having embodied thereon a program being executable by at least one processor to perform a method comprising:

transmitting, by a transmitter, a network packet to a receiver;

receiving, by the transmitter from the receiver, a further network packet, the further network packet being a copy of the network packet as received by the receiver;

determining, by the transmitter, based on the network packet and the further network packet, an error vector;

determining, by the transmitter and based on the error vector, locations of errors in the further network packet;

sending, by the transmitter to the receiver, a first indexing packet including the locations of the errors;

receiving, by the transmitter from the receiver, a second indexing packet, the second indexing packet being a copy of the first indexing packet as received by the receiver;

determining, by the transmitter and using the error vector and the second indexing packet, the locations of the errors in the second indexing packet; and

sending, by the transmitter, a third indexing packet including the locations of the errors to the receiver, wherein the receiver is configured to correct the further network packet using the third indexing packet.

Assignments (2)
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 Dec 21, 2021
From: CHANDRASEKHER, ANAND; GOPALAN, RAVIKIRAN; JIANG, YIHAN; RAHIMZAMANI, ARMAN
To: AIRA TECHNOLOGIES, INC.
Reel/Frame 058450/0729 →
Continuity (1)
Provisional Application 63131268 · Dec 28, 2020
Cited By (1)
US 12,189,471