IP Library Granted Patent US 11,831,435
Granted Patent B2
US 11,831,435 · App. 17/245,922 · Granted Nov 28, 2023

Packet coding based network communication

Inventors: Tracey Ho (Pasadena, CA); John Segui (Costa Mesa, CA); Chun Meng (South Pasadena, CA); Steven Blumenthal (Lexington, MA)
Assignee: Strong Force IOT Portfolio 2016, LLC
H04L1/0076H03M13/05H03M13/13H03M13/373H03M13/3761H03M13/611H03M13/6547H04L1/0002H04L1/0041H04L1/1614H04L1/187H04L47/27
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,831,435
App. No.
17/245,922
Filed
Apr 30, 2021
Granted
Nov 28, 2023
Kind
B2
Art Unit
2477
USPC
370/230
Abstract

A method for data communication between a first node and a second node includes forming one or more redundancy messages from data messages at the first node using an error correcting code and transmitting first messages from the first node to the second node over a data path, the transmitted first messages including the data messages and the one or more redundancy messages. Second messages are received at the first node from the second node, which are indicative of: (i) a rate of arrival at the second node of the first messages, and (ii) successful and unsuccessful delivery of the first messages. A transmission rate limit and a window size are maintained according to the received second messages. Transmission of additional messages from the first node to the second node is limited according to the maintained transmission rate limit and window size.

Claims (60)

1. A method for data communication between a first node and a second node over a data path coupling the first node and the second node, the method comprising:

forming at least one redundancy messages from data messages at the first node using an error correcting code;

transmitting first messages from the first node to the second node over the data path, the first messages including the data messages and the at least one redundancy messages;

receiving second messages at the first node from the second node, the second messages being indicative of at least one of:

(i) a rate of arrival at the second node of the first messages transmitted from the first node, or

(ii) a delivery status of the first messages transmitted from the first node to the second node;

determining, based on the second messages, at least one forward error correction parameter for transmission of additional messages from the first node to the second node, wherein the at least one forward error correction parameter includes at least one of:

(i) a transmission rate limit according to the second messages, or

(ii) a window size according to the second messages; and

limiting transmission of additional messages from the first node to the second node according to the at least one forward error correction parameter.

2. The method of claim 1 , wherein limiting transmission of the additional messages according to the transmission rate limit includes limiting a transmission rate of the additional messages.

3. The method of claim 1 , wherein the window size comprises a congestion control window size.

4. The method of claim 1 , wherein limiting transmission of the additional messages according to the window size includes limiting a number of the additional messages not yet acknowledged as successfully delivered to the second node according to the window size.

5. The method of claim 1 , wherein receiving the second messages indicative of the rate of arrival comprises receiving acknowledgment messages from the second node, wherein a rate of arrival of the acknowledgment messages is indicative of the rate of arrival of the first messages at the second node.

6. The method of claim 5 , wherein the rate of arrival of the acknowledgment messages includes a rate of acknowledgment of packets.

7. The method of claim 1 , wherein the second messages include third messages indicative of the rate of arrival and fourth messages indicative of the delivery status of the first messages.

8. The method of claim 1 , wherein the error correcting code is at least one of:

(i) a linear error correcting code, or

(ii) a nonlinear error correcting code.

9. A communication apparatus comprising a first device configured to pass messages to and from a second device over a communication path coupling the first device to second device by:

transmitting first messages from the first device to the second device over a communication path;

receiving second messages at the first device from the second device, the second messages being indicative of at least one of:

(i) a rate of arrival at the second device of the first messages transmitted from the first device, or

(ii) a delivery status of the first messages transmitted from the first device to the second device;

determining, based on the second messages, at least one forward error correction parameter for transmission of additional messages from the first device to the second device; and

transmitting the additional messages from the first device to the second device according to the at least one forward error correction parameter.

10. The communication apparatus of claim 9 , wherein the at least one forward error correction parameter includes at least one of:

(i) a transmission rate limit that limits a transmission rate of the additional messages, or

(ii) a congestion control window size.

11. The communication apparatus of claim 9 , wherein transmitting the additional messages includes limiting a number of the additional messages not yet acknowledged as successfully delivered to the second device according to a window size.

12. The communication apparatus of claim 9 , wherein receiving the second messages comprises receiving acknowledgment messages from the second device, and a rate of arrival of the acknowledgment messages is indicative of the rate of arrival of the messages at the second device.

13. The communication apparatus of claim 12 , wherein the rate of arrival of the acknowledgment messages includes a rate of acknowledgment of packets.

14. The communication apparatus of claim 9 , wherein the second messages include third messages indicative of the rate of arrival and fourth messages indicative of the delivery status of the first messages.

15. The communication apparatus of claim 9 , wherein a single message of the second messages is indicative of both:

(i) the rate of arrival at the second device of the first messages transmitted from the first device, and

(ii) the delivery status of the first messages transmitted from the first device to the second device.

16. The communication apparatus of claim 9 , wherein the first messages include one or more redundancy messages formed from data messages based on an error correcting code, and the error correcting code is at least one of:

(i) a linear error correcting code, or

(ii) a nonlinear error correcting code.

17. The communication apparatus of claim 9 , wherein the second messages include at least one of:

(i) a transmission rate limit according to the second messages, or

(ii) a window size according to the second messages.

18. The communication apparatus of claim 9 , wherein the second messages include at least one of:

(i) measured or expected characteristics of a data channel coupling the first device and the second device,

(ii) at least one of a buffer size of at least one of the first device or the second device, or

(iii) a state of unused data by at least one of the first device or the second device.

19. A communication apparatus comprising:

a processor configured to: receive at least one message from a second device;

determine at least one forward error correction parameter for transmission of additional messages from the communication apparatus to the second device, wherein the at least one forward error correction parameter is based on the at least one message received from the second device, and the at least one forward error correction parameter includes at least one of:

(i) a transmission rate limit,

(ii) a block size,

(iii) an interleaving factor,

(iv) a code rate,

(v) a pacing rate, or

(vi) a window size; and

transmit the additional messages to the second device based on the at least one forward error correction parameter.

20. The communication apparatus of claim 19 , wherein the at least one message received from the second device includes at least one of:

(i) measured or expected characteristics of a data channel coupling the communication apparatus and the second device,

(ii) at least one of a buffer size of at least one of the communication apparatus or the second device, or

(iii) a state of unused data by at least one of the communication apparatus or the second device.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2026
From: STRONG FORCE IOT PORTFOLIO 2016, LLC
To: SIM IP 1 LLC
Reel/Frame 075075/0607 →
SECURITY INTEREST Recorded Apr 6, 2026
From: POWERBRIDGE IP PROTECTION LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075366/0001 →
CHANGE OF NAME Recorded Mar 27, 2026
From: SIM IP 1 LLC
To: POWERBRIDGE IP PROTECTION LLC
Reel/Frame 075275/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2026
From: STRONG FORCE IOT PORTFOLIO 2016, LLC
To: SIM IP 1 LLC
Reel/Frame 075119/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: HO, TRACEY; MENG, CHUN; BLUMENTHAL, STEVEN
To: STRONG FORCE IOT PORTFOLIO 2016, LLC
Reel/Frame 063021/0372 →
Continuity (29)
Continuation 16780275 · Feb 3, 2020
Continuation In Part 16733921 · Jan 3, 2020
Continuation In Part 16456543 · Jun 28, 2019
Continuation In Part 16456471 · Jun 28, 2019
Continuation In Part 16277055 · Feb 15, 2019
Continuation In Part 16176718 · Oct 31, 2018
Continuation In Part 16165041 · Oct 19, 2018
Continuation In Part 16164022 · Oct 18, 2018
Continuation 15972800 · May 7, 2018
Continuation In Part 15972849 · May 7, 2018
Continuation In Part 15972898 · May 7, 2018
Continuation 15972767 · May 7, 2018
Continuation 15818171 · Nov 20, 2017
Continuation 15061211 · Mar 4, 2016
Continuation 15060877 · Mar 4, 2016
Continuation 15061043 · Mar 4, 2016
Continuation In Part 15061267 · Mar 4, 2016
Continuation 15060908 · Mar 4, 2016
Continuation 15060925 · Mar 4, 2016
Continuation 14935966 · Nov 9, 2015
Continuation 14936049 · Nov 9, 2015
Continuation 14935885 · Nov 9, 2015
Continuation 14936010 · Nov 9, 2015
Provisional Application 62189509 · Jul 7, 2015
Provisional Application 62076709 · Nov 7, 2014
Provisional Application 62076612 · Nov 7, 2014
Provisional Application 62076595 · Nov 7, 2014
Provisional Application 62076583 · Nov 7, 2014
Related Publication 20210266103A1 · Aug 26, 2021