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

Adaptive payload extraction and retransmission in wireless data communications with error aggregations

Inventors: Anand Chandrasekher (Saratoga, CA); Ravikiran Gopalan (Cupertino, CA); Yihan Jiang (Cupertino, CA); Arman Rahimzamani (San Jose, CA)
Assignee: Aira Technologies, Inc.
H04L1/0061H04L1/1867
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,250
App. No.
17/555,146
Granted
Jun 21, 2022
Kind
B1
Abstract

Provided are systems and methods for adaptive payload extraction and retransmission in wireless data communications. An example method commences with transmitting a network packet to a receiver via a communication channel. The method further includes receiving a further network packet including a further payload. The method continues with determining, based on the payload and the further payload, an error vector. The method includes generating, based on the error vector, a plurality of indices. An index of the plurality of indices corresponds to a portion of a plurality of non-overlapping portions of the payload. The method further continues with selecting, based on the error vector, at least one index from the plurality of indices. The method includes sending, to the receiver via the communication channel, a further network packet. The further network packet includes the selected index and a portion of the payload corresponding to the selected index.

Claims (52)

1. A method comprising:

transmitting a network packet to a receiver via a communication channel, the network packet including a payload;

(A) receiving, from the receiver and via the communication channel, a further network packet including a further payload;

(B) determining, based on the payload and the further payload, an error vector;

(C) generating, based on the error vector, a plurality of indices, wherein an index of the plurality of indices corresponds to a portion of a plurality of non-overlapping portions of the payload;

(D) selecting, based on the error vector, at least one index from the plurality of indices; and

(E) sending, to the receiver via the communication channel, a further network packet, wherein the further network packet includes the selected index and a portion of the payload corresponding to the selected index.

2. The method of claim 1 , wherein:

a number of bits representing the index in the plurality of indices is determined to minimize a number of portions of the error vector, wherein a portion of the portions of the error vector includes at least one non-zero bit and corresponds to at least one portion in the plurality of non-overlapping portions of the payload; and

wherein the at least one index includes an index corresponding to at least one of the portions in the error vector.

3. The method of claim 1 , wherein a predetermined number of first bits in the further network packet is indicative of a configuration of partitioning the payload in the plurality of non-overlapping portions of the payload.

4. The method of claim 1 , wherein the selected index and the portion of the payload corresponding to the selected index are located at the beginning of the further network packet.

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

6. The method of claim 1 , further comprising:

locating, by the receiver and based on the selected at least one further index, a portion in the further payload; and

replacing, by the receiver, a portion of the further payload corresponding to the selected index with the portion of the payload corresponding to the selected index.

7. The method of claim 6 , further comprising:

determining, by the receiver, that the further payload has failed an error check; and

in response to the determination, sending the further payload to a processor via the communication channel.

8. The method of claim 7 , further comprising repeating operations (A), (B), (C), (D), and (E).

9. The method of claim 7 , wherein the determining that the further payload has failed the error check includes computing a cyclic redundancy check based on the further payload.

10. The method of claim 1 , wherein the communication channel includes a wireless communication 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 a network packet to a receiver via a communication channel, the network packet including a payload;

(A) receiving, from the receiver and via the communication channel, a further network packet including a further payload;

(B) determining, based on the payload and the further payload, an error vector;

(C) generating, based on the error vector, a plurality of indices, wherein an index of the plurality of indices corresponds to a portion of a plurality of non-overlapping portions of the payload;

(D) selecting, based on the error vector, at least one index from the plurality of indices; and

(E) sending, to the receiver via the communication channel, a further network packet, wherein the further network packet includes the selected index and a portion of the payload corresponding to the selected index.

12. The system of claim 11 , wherein:

a number of bits representing the index in the plurality of indices is determined to minimize a number of portions of the error vector, wherein a portion of the portions of the error vector includes at least one non-zero bit and corresponds to at least one portion in the plurality of non-overlapping portions of the payload; and

wherein the at least one index includes an index corresponding to at least one of the portions in the error vector.

13. The system of claim 11 , wherein a predetermined number of first bits in the further network packet is indicative of a configuration of partitioning the payload in the plurality of non-overlapping portions of the payload.

14. The system of claim 11 , wherein the selected index and the portion of the payload corresponding to the selected index are located at in the beginning of the further network packet.

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

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

locate, based on the selected at least one further index, a portion in the further payload; and

replace a portion of the further payload corresponding to the index with the portion of the payload corresponding to the selected index.

17. The system of claim 16 , wherein the receiver is configured to:

determine that the further payload has failed an error check; and

in response to the determination, send the further payload to the processor via the communication channel.

18. The system of claim 17 , wherein the processor is configured to repeat operations (A), (B), (C), (D), and (E).

19. The system of claim 17 , wherein the determining that the further payload has failed the error check includes computing a cyclic redundancy check based on the further payload.

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 a network packet to a receiver via a communication channel, the network packet including a payload;

receiving, from the receiver and via the communication channel, a further network packet including a further payload;

determining, based on the payload and the further payload, an error vector;

generating, based on the error vector, a plurality of indices, wherein an index of the plurality of indices corresponds to a portion of a plurality of non-overlapping portions of the payload;

selecting, based on the error vector, at least one index from the plurality of indices; and

sending, to the receiver via the communication channel, a further network packet, wherein the further network packet includes the selected index and a portion of the payload corresponding to the selected index.

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 058449/0785 →
Continuity (1)
Provisional Application 63131268 · Dec 28, 2020