IP Library › Granted Patent US 12,119,934
Granted Patent B2
US 12,119,934 · App. 18/382,839 · Granted Oct 15, 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,119,934
App. No.
18/382,839
Granted
Oct 15, 2024
Kind
B2
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 (96)

1. A method for data communication between a first computing device and a second computing device, the method comprising:

determining, at the first computing device, at least one value of at least one communication protocol parameter corresponding to a first data communication connection with the second computing device;

establishing, at the first computing device, a second data communication connection between the first computing device and the second computing device, wherein the second data communication connection is at least initially configured to utilize the at least one value of the at least one communication protocol parameter as at least one communication protocol parameter for the second data communication connection;

exchanging, by the first computing device with the second computing device, data via the second data communication connection; and

transmitting, from the first computing device to a third computing device, data corresponding to the second data communication connection with the second computing device, wherein the data enables the third computing device to determine at least one value of at least one communication protocol parameter corresponding to a third data communication connection between the second computing device and the third computing device.

2. The method of claim 1 , wherein the at least one communication protocol parameter includes at least one of:

a congestion window size parameter;

a port number parameter;

a pacing interval parameter;

a block size parameter of forward error correction associated with the second data communication connection;

an interleaving factor parameter of forward error correction associated with the second data communication connection; or

a code rate parameter of forward error correction associated with the second data communication connection.

3. The method of claim 1 , wherein:

the first data communication connection is between the first computing device and the second computing device;

the method further comprises maintaining, at the first computing device, data corresponding to the first data communication connection with the second computing device; and

the determining the at least one value further comprises determining, at the first computing device, at least one value of at least one communication protocol parameter based on the maintained data.

4. The method of claim 1 , wherein:

the first data communication connection is between the second computing device and the third computing device;

the method further comprises:

receiving data corresponding to the first data communication connection between the second computing device and the third computing device; and

the determining the at least one value further comprises determining the at least one value of the at least one communication protocol parameter based on the received data.

5. The method of claim 1 , wherein the determining the at least one value further comprises:

estimating the at least one value of the at least one communication protocol parameter, wherein the estimating is based on data corresponding to the first data communication connection between the first computing device and the second computing device.

6. The method of claim 1 , further comprising:

receiving, at the first computing device from the second computing device, feedback associated with the second data communication connection; and

adjusting, at the first computing device, the at least one value of the at least one communication protocol parameter based on the feedback.

7. The method of claim 1 , further comprising:

transmitting, from the first computing device and to the second computing device, the at least one value of the at least one communication protocol parameter.

8. The method of claim 7 , wherein the transmitting further comprises transmitting, from the first computing device and to the second computing device, a request to establish the second data communication connection, wherein the request indicates the at least one value of the at least one communication protocol parameter.

9. The method of claim 1 , wherein:

the second data communication connection is included in a multipath data communication connection including the third computing device; and

the method further comprises: load-balancing, by the first computing device, the multipath data communication connection based on the at least one value of at least one communication protocol parameter.

10. A first computing device configured for data communication with a second computing device, the first computing device comprising:

at least one processor; and

a non-transitory computer-readable storage medium encoding instructions that, when executed by the at least one processor, cause the at least one processor to perform operations including:

determining, at the first computing device, at least one value of at least one communication protocol parameter corresponding to a first data communication connection with the second computing device;

establishing, at the first computing device, a second data communication connection between the first computing device and the second computing device, wherein the second data communication connection is at least initially configured to utilize the at least one value of the at least one communication protocol parameter as at least one communication protocol parameter for the second data communication connection;

exchanging, by the first computing device with the second computing device, data via the second data communication connection; and

transmitting, from the first computing device to a third computing device, data corresponding to the second data communication connection with the second computing device, wherein the data enables the third computing device to determine at least one value of at least one communication protocol parameter corresponding to a third data communication connection between the second computing device and the third computing device.

11. The first computing device of claim 10 , wherein the at least one communication protocol parameter includes at least one of:

a congestion window size parameter;

a port number parameter;

a pacing interval parameter;

a block size parameter of forward error correction associated with the second data communication connection;

an interleaving factor parameter of forward error correction associated with the second data communication connection; or

a code rate parameter of forward error correction associated with the second data communication connection.

12. The first computing device of claim 10 , wherein:

the first data communication connection is between the first computing device and the second computing device;

the operations further include maintaining, at the first computing device, data corresponding to the first data communication connection with the second computing device; and

the determining the at least one value further comprises determining, at the first computing device, at least one value of at least one communication protocol parameter based on the maintained data.

13. The first computing device of claim 10 , wherein:

the first data communication connection is between the second computing device and the third computing device;

the operations further include receiving data corresponding to the first data communication connection between the second computing device and the third computing device; and

the determining the at least one value further comprises determining the at least one value of the at least one communication protocol parameter based on the received data.

14. The first computing device of claim 10 , wherein the determining the at least one value further comprises:

estimating the at least one value of the at least one communication protocol parameter, wherein the estimating is based on data corresponding to the first data communication connection between the first computing device and the second computing device.

15. The first computing device of claim 10 , wherein the operations further include:

receiving, at the first computing device from the second computing device, feedback associated with the second data communication connection; and

adjusting, at the first computing device, the at least one value of the at least one communication protocol parameter based on the feedback.

16. The first computing device of claim 10 , wherein the operations further include:

transmitting, from the first computing device and to the second computing device, the at least one value of the at least one communication protocol parameter.

17. The first computing device of claim 16 , wherein the transmitting further comprises transmitting, from the first computing device and to the second computing device, a request to establish the second data communication connection, wherein the request indicates the at least one value of the at least one communication protocol parameter.

18. The first computing device of claim 10 , wherein:

the second data communication connection is included in a multipath data communication connection including the third computing device; and

the operations further include load-balancing, by the first computing device, the multipath data communication connection based on the at least one value of at least one communication protocol parameter.

19. A non-transitory computer-readable storage medium having a plurality of instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform operations for data communication between a first computing device and a second computing device, the operations comprising:

determining, at the first computing device, at least one value of at least one communication protocol parameter corresponding to a first data communication connection with the second computing device;

establishing, at the first computing device, a second data communication connection between the first computing device and the second computing device, wherein the second data communication connection is at least initially configured to utilize the at least one value of the at least one communication protocol parameter as at least one communication protocol parameter for the second data communication connection;

exchanging, by the first computing device with the second computing device, data via the second data communication connection; and

transmitting, from the first computing device to a third computing device, data corresponding to the second data communication connection with the second computing device, wherein the data enables the third computing device to determine at least one value of at least one communication protocol parameter corresponding to a third data communication connection between the second computing device and the third computing device.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the at least one communication protocol parameter includes at least one of:

a congestion window size parameter;

a port number parameter;

a pacing interval parameter;

a block size parameter of forward error correction associated with the second data communication connection;

an interleaving factor parameter of forward error correction associated with the second data communication connection; or

a code rate parameter of forward error correction associated with the second data communication connection.

21. The non-transitory computer-readable storage medium of claim 19 , wherein:

the first data communication connection is between the first computing device and the second computing device;

the operations further include maintaining, at the first computing device, data corresponding to the first data communication connection with the second computing device; and

the determining the at least one value further comprises determining, at the first computing device, at least one value of at least one communication protocol parameter based on the maintained data.

22. The non-transitory computer-readable storage medium of claim 19 , wherein:

the first data communication connection is between the second computing device and the third computing device;

the operations further include receiving data corresponding to the first data communication connection between the second computing device and the third computing device; and

the determining the at least one value further comprises determining the at least one value of the at least one communication protocol parameter based on the received data.

23. The non-transitory computer-readable storage medium of claim 19 , wherein the determining the at least one value further comprises:

estimating the at least one value of the at least one communication protocol parameter, wherein the estimating is based on data corresponding to the first data communication connection between the first computing device and the second computing device.

24. The non-transitory computer-readable storage medium of claim 19 , wherein the operations further include:

receiving, at the first computing device from the second computing device, feedback associated with the second data communication connection; and

adjusting, at the first computing device, the at least one value of the at least one communication protocol parameter based on the feedback.

25. The non-transitory computer-readable storage medium of claim 19 , wherein the operations further include:

transmitting, from the first computing device and to the second computing device, the at least one value of the at least one communication protocol parameter.

26. The non-transitory computer-readable storage medium of claim 25 , wherein the transmitting further comprises transmitting, from the first computing device and to the second computing device, a request to establish the second data communication connection, wherein the request indicates the at least one value of the at least one communication protocol parameter.

27. The non-transitory computer-readable storage medium of claim 19 , wherein:

the second data communication connection is included in a multipath data communication connection including the third computing device; and

the operations further include load-balancing, by the first computing device, the multipath data communication connection based on the at least one value of at least one communication protocol 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 Oct 23, 2023
From: HO, TRACEY; MENG, CHUN; BLUMENTHAL, STEVEN
To: STRONG FORCE IOT PORTFOLIO 2016, LLC
Reel/Frame 065311/0697 →
Continuity (31)
Continuation 17538184 · Nov 30, 2021
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 20240048274A1 · Feb 8, 2024