IP Library Granted Patent US 12,143,215
Granted Patent B2
US 12,143,215 · App. 17/538,097 · Granted Nov 12, 2024

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 12,143,215
App. No.
17/538,097
Filed
Nov 30, 2021
Granted
Nov 12, 2024
Kind
B2
Art Unit
2477
USPC
714/776
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 (36)

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 message from at least one data message 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 at least one data message and the at least one redundancy message;

receiving second messages at the first node from the second node, the second messages being indicative of a current condition of the data path;

determining, based on a comparison of the current condition of the data path and a previous condition of the data path, an adjustment of at least one forward error correction parameter for transmission of additional messages from the first node to the second node;

and

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

2. The method of claim 1 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a transmission rate limit of a transmission rate of the additional messages.

3. The method of claim 1 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a congestion control window size.

4. The method of claim 1 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a limit of a number of the additional messages not yet acknowledged as successfully delivered to the second node according to a window size.

5. The method of claim 1 , wherein receiving the second messages further comprises receiving acknowledgment messages from the second node, wherein a rate of arrival of the acknowledgment messages is indicative of a 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 a rate of arrival and fourth messages indicative of successful and unsuccessful delivery of the first messages.

8. The method of claim 1 , wherein at least one of the second messages is 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) successful and unsuccessful delivery of the first messages transmitted from the first node to the second node.

9. 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.

10. The method of claim 1 , wherein the adjustment of the at least one forward error correction parameter includes at least one of, (i) an adjustment of a block size, (ii) an adjustment of a peak transmission rate, (iii) an adjustment of a congestion window, or (iv) an adjustment of a pacing interval.

11. A communication apparatus comprising a first device having an interface for passing messages to and from a second device over a communication path coupling the first device to the second device, the first device further comprising a communication controller configured to:

form at least one redundancy message from at least one data message at the first device using an error correcting code;

transmit first messages from the first device to the second device over the communication path, the first messages including the at least one data message and the at least one redundancy message;

receive second messages at the first device from the second device, the second messages being indicative of a current condition of the communication path;

determine, based on a comparison of the current condition of the communication path and a previous condition of the communication path, an adjustment of at least one forward error correction parameter for transmission of additional messages from the first device to the second device;

and

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

12. The communication apparatus of claim 11 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a transmission rate limit of a transmission rate of the additional messages.

13. The communication apparatus of claim 11 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a congestion control window size.

14. The communication apparatus of claim 11 , wherein the adjustment of the at least one forward error correction parameter includes an adjustment of a limit of a number of the additional messages not yet acknowledged as successfully delivered to the second device according to a window size.

15. The communication apparatus of claim 11 , wherein receiving the second messages further comprises receiving acknowledgment messages from the second device, wherein a rate of arrival of the acknowledgment messages is indicative of a rate of arrival of the messages at the second device.

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

17. The communication apparatus of claim 11 , wherein the second messages include third messages indicative of a rate of arrival and fourth messages indicative of successful and unsuccessful delivery of the first messages.

18. The communication apparatus of claim 11 , wherein at least one of the second messages is 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) successful and unsuccessful delivery of the first messages transmitted from the first device to the second device.

19. The communication apparatus of claim 11 , wherein the error correcting code is at least one of: (i) a linear error correcting code, or (ii) a nonlinear error correcting code.

20. 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:

transmitting, by the first node, at least one first message to the second node over the data path, wherein the at least one first message includes (i) at least one data message and (ii) at least one redundancy message, wherein the at least one redundancy message is based on the at least one data message and an error correcting code;

receiving, by the first node, at least one second message transmitted from the second node to the first node, wherein the at least one second message is indicative of a current condition of the data path;

determining, by the first node, an adjustment of at least one forward error correction parameter for transmission of additional messages from the first node to the second node, wherein the adjustment is based on a comparison of the current condition of the data path and a previous condition of the data path; and

transmitting, by the first node, at least one additional message to the second node over the data path according to the adjustment of the at least one forward error correction parameter.

Assignments (4)
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 (30)
Continuation 17245922 · Apr 30, 2021
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 20220166542A1 · May 26, 2022