IP Library Granted Patent US 10,129,159
Granted Patent B2
US 10,129,159 · App. 15/060,925 · Granted Nov 13, 2018

Multi-path network communication

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 10,129,159
App. No.
15/060,925
Granted
Nov 13, 2018
Kind
B2
Abstract

A method for data communication between a first node and a second node over a number of data paths coupling the first node and the second node includes transmitting messages between the first node and the second node over the number of data paths including transmitting a first subset of the messages over a first data path of the number of data paths, and transmitting a second subset of the messages over a second data path of the number of data paths. The first data path has a first latency and the second data path has a second latency substantially larger than the first latency, and messages of the first subset of the messages are chosen to have first message characteristics and messages of the second subset are chosen to have second message characteristics, different from the first message characteristics.

Claims (64)

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

transmitting messages between the first node and the second node over the plurality of data paths including:

dividing the messages into a first subset of the messages and a second subset of the messages based on one or more characteristics of each of the messages, wherein messages of the first subset of the messages are chosen to have first message characteristics and messages of the second subset are chosen to have second message characteristics, different from the first message characteristics, and

transmitting the first subset of the messages over a first data path of the plurality of data paths, and transmitting the second subset of the messages over a second data path of the plurality of data paths;

for each path of the plurality of data paths, maintaining, at the first node, an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and

transmitting supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths,

wherein the first data path has a first latency and the second data path has a second latency substantially larger than the first latency.

2. The method of claim 1 wherein messages having the first message characteristics include time critical messages.

3. The method of claim 1 wherein the first subset of the messages and the second subset of the messages are determined from a portion of the messages available at the first node at a time of transmission.

4. The method of claim 3 wherein, at a subsequent time of transmission, a plurality of additional messages made available to the first node are divided into the first subset and the second subset based on message characteristics associated with the plurality of additional messages.

5. The method of claim 1 wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set.

6. The method of claim 1 wherein messages having the first message characteristics

include acknowledgement messages and messages having the second message characteristics include data messages.

7. The method of claim 1 wherein messages having the first message characteristics include supplemental data messages.

8. The method of claim 7 wherein the supplemental data messages include data messages including redundancy data and messages having the second message characteristics include original data messages.

9. The method of claim 1 wherein first data path includes a terrestrial data path and the second data path includes a satellite data path.

10. The method of claim 9 wherein the terrestrial data path includes one or more of:

a cellular data path;

a digital subscriber line (DSL) data path;

a fiber optic data path;

a cable internet based data path; and

a wireless local area network data path.

11. The method of claim 9 wherein the satellite data path includes one or more of:

a low earth orbit satellite data path;

a medium earth orbit satellite data path; and

a geostationary earth orbit satellite data path.

12. The method of claim 1 further comprising, for each path of the plurality of data paths, maintaining an indication of successful and unsuccessful delivery of the messages over the data path and adjusting a congestion window for the data path based on the indication.

13. The method of claim 1 wherein the first data path includes a medium earth orbit satellite data path or a low earth orbit satellite data path and the second data path includes a geostationary orbit satellite data path.

14. A system for data communication between a plurality of nodes over a plurality of data paths coupling the plurality of nodes, the system comprising:

a first node configured to: transmit messages between to a second node over the plurality of data paths including:

dividing the messages into a first subset of the messages and a second subset of the messages based on one or more characteristics of each of the messages, wherein messages of the first subset of the messages are chosen to have first message characteristics and messages of the second subset are chosen to have second message characteristics, different from the first message characteristics, and

transmitting the first subset of the messages over a first data path of the plurality of data paths, and transmitting the second subset of the messages over a second data path of the plurality of data paths;

maintain an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and

to transmit supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths,

wherein the first data path has a first latency and the second data path has a second latency substantially larger than the first latency.

15. The system of claim 14 wherein messages having the first message characteristics include time critical messages.

16. The system of claim 14 wherein the first subset of the messages and the second subset of the messages are determined from a portion of the messages available at the first node at a time of transmission.

17. The system of claim 16 wherein, at a subsequent time of transmission, a plurality of additional messages made available to the first node divided into the first subset and the second subset based on message characteristics associated with the plurality of additional messages.

18. The system of claim 14 wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set.

19. The system of claim 14 wherein messages having the first message characteristics include acknowledgement messages and messages having the second message characteristics include data messages.

20. The system of claim 14 wherein messages having the first message characteristics include supplemental data messages.

21. The system of claim 20 wherein the supplemental data messages include data messages including redundancy data and messages having the second message characteristics include original data messages.

22. The system of claim 14 wherein first data path includes a terrestrial data path and the second data path includes a satellite data path.

23. The system of claim 22 wherein the terrestrial data path includes one or more of:

a cellular data path;

a digital subscriber line (DSL) data path;

a fiber optic data path;

a cable internet based data path; and

a wireless local area network data path.

24. The system of claim 22 wherein the satellite data path includes one or more of:

a low earth orbit satellite data path;

a medium earth orbit satellite data path; and

a geostationary earth orbit satellite data path.

25. The system of claim 14 wherein the first data path includes a medium earth orbit satellite data path or a low earth orbit satellite data path and the second data path includes a geostationary orbit satellite data path.

26. The system of claim 14 wherein the first node is further configured to, for each path of the plurality of data paths, maintain an indication of successful and unsuccessful delivery of the messages over the data path and adjust a congestion window for the data path based on the indication.

27. Software stored on non-transitory computer-readable media comprising instructions for causing one or more processors to execute a data communication method for data communication between a plurality of nodes over a data path coupling the plurality of nodes, the method comprising:

transmitting messages between a first node and a second node over the plurality of data paths including:

dividing the messages into a first subset of the messages and a second subset of the messages based on one or more characteristics of each of the messages, wherein messages of the first subset of the messages are chosen to have first message characteristics and messages of the second subset are chosen to have second message characteristics, different from the first message characteristics, and

transmitting the first subset of the messages over a first data path of the plurality of data paths, and transmitting the second subset of the messages over a second data path of the plurality of data paths;

for each path of the plurality of data paths, maintaining, at the first node, an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and

transmitting supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths,

wherein the first data path has a first latency and the second data path has a second latency substantially larger than the first latency.

28. The software stored on non-transitory computer-readable media of claim 27 wherein the first subset of the messages and the second subset of the messages are determined from a portion of the messages available at the first node at a time of transmission.

29. The software stored on non-transitory computer-readable media of claim 27 wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set.

Assignments (5)
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 May 15, 2018
From: SPEEDY PACKETS, INC
To: STRONG FORCE IOT PORTFOLIO 2016, LLC
Reel/Frame 045812/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: BLUMENTHAL, STEVEN; HO, TRACEY
To: SPEEDY PACKETS, INC.
Reel/Frame 038903/0959 →