IP Library Granted Patent US 12695705
Granted Patent B1
US 12695705 · App. 18/212,551 · Granted Jul 28, 2026

Multipath transmission of real-time data flows

Inventors: Nathan Burns (Chesterfield, MO); Ryan M. Sherman (Clifton, VA); Ismael Gonzales (Littleton, CO); Aaron Gowatch (Denver, CO); Cody Planteen (Denver, CO)
Assignee: Amazon Technologies, Inc.
H04L47/2483H04L1/0061
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 12695705
App. No.
18/212,551
Granted
Jul 28, 2026
Kind
B1
Abstract

Communication systems and associated methods are described for transmitting a real-time digital data flow through a network via a plurality of corresponding sub-flows or streams including data from the real-time digital data flow and/or parity information. A source system may receive a real-time digital data flow and generate the plurality of data streams of the real-time digital data flow and at least one parity stream including parity data for the real-time digital data flow. The source system may transmit the plurality of data streams and the at least one parity stream in parallel along different respective paths to a destination device. One or more parameters of the stream generation and/or transmission may be adjusted based on network conditions associated with the different respective paths to the destination device.

Claims (40)

1 . A communication system comprising:

an antenna configured to transmit real-time data:

a source device configured to receive the real-time data from the antenna, the source device including one or more source-side nodes comprising one or more first memory devices storing instructions executable to:

digitize the real-time data from the antenna to generate real-time digital data,

generate, from the real-time digital data, a plurality of sub-flows including data stripes and parity stripes, the plurality of sub-flows including a first sub-flow including a first data stripe and a second sub-flow including a first parity stripe,

encrypt the plurality of sub-flows,

time encode the plurality of sub-flows, and

transmit the plurality of sub-flows in parallel along different respective paths through a network to a destination address, wherein the first sub-flow is transmitted along a first path through the network to the destination address and the second sub-flow is transmitted along a second path through the network to the destination address that is different from the first path:

a destination device associated with the destination address and configured to receive the plurality of sub-flows from the source device via the network, the destination device including one or more destination-side nodes comprising one or more second memory devices storing instructions executable to:

time decode the plurality of sub-flows,

decrypt the plurality of sub-flows, and

reconstitute the real-time digital data by blending data from the plurality of sub-flows; and

a global control plane system configured to receive real-time network conditions associated with the different respective paths to the destination and generate control instructions to adjust parameters of the one or more source-side nodes and the one or more destination-side nodes based on the real-time network conditions associated with the different respective paths.

2 . The communication system of claim 1 , wherein the control instructions include instructions to adjust a number of the data stripes or the parity stripes based on feedback from the source device relating to data flow loss on the respective paths through the network.

3 . The communication system of claim 1 , wherein the plurality of sub-flows includes a first data or parity stripe transmitted along a first path of the different respective paths through the network, wherein the control instructions include instructions to remove the first data or parity stripe and add a second data or parity stripe configured to be transmitted along a second path through the network to the destination, and wherein the second path is different from the first path.

4 . The communication system of claim 1 , wherein one or both of the source device and the destination device are included in a cloud computing system, and wherein the real-time data is transmitted through the network as unidirectional data.

5 . The communication system of claim 1 , wherein the plurality of sub-flows are transmitted to through the network in a bufferless manner to be reconstituted as real-time data at the destination device.

6 . The communication system of claim 1 , wherein generating the plurality of sub-flows comprises associating each data stripe with a corresponding respective sequence number, wherein reconstituting the real-time digital data comprises decoding and blending data from the received sub-flows using sequence numbers, and wherein the destination device is configured to use one of the parity stripes to perform error correction responsive to determining that a selected data stripe with an expected sequence number is not received within a threshold amount of time.

7 . A computer-implemented method comprising:

receiving a real-time digital data flow;

generating a plurality of data streams of the real-time digital data flow;

generating at least one parity stream including parity data for the real-time digital data flow;

transmitting the plurality of data streams and the at least one parity stream in parallel along different respective network paths to a destination device; and

adjusting a parameter of the generation of the plurality of data streams, the generation of the at least one parity stream, or the transmission of the plurality of data streams and the at least one parity stream based on network conditions associated with the different respective network paths to the destination device.

8 . The computer-implemented method of claim 7 , wherein adjusting the parameter includes adjusting a number of data streams of the real-time digital data flow or a number of parity streams for the real-time digital data flow that are generated based on the network conditions.

9 . The computer-implemented method of claim 7 , wherein adjusting the parameter includes changing one of the different respective network paths to the destination device based on the network conditions.

10 . The computer-implemented method of claim 7 , wherein the computer-implemented method is performed by one or more nodes of a source device, wherein the network conditions include an amount of data loss detected by the source device and fed back to a global control plane, and wherein the parameter is adjusted based on control instructions received from the global control plane.

11 . The computer-implemented method of claim 7 , wherein the computer-implemented method is performed by one or more nodes of a ground control system coupled to an antenna, and wherein the real-time digital data flow includes digitized data generated from real-time data received by the antenna.

12 . The computer-implemented method of claim 7 , further comprising encrypting the plurality of data streams and the at least one parity stream using different respective encryption keys.

13 . The computer-implemented method of claim 12 , further comprising, for each data stream and parity stream, time encoding the data stream or parity stream after encrypting the data stream or parity stream.

14 . The computer-implemented method of claim 7 , wherein at least one of the plurality of data streams is transmitted through a first relay device in one or more intermediate networks, and the at least one parity stream is transmitted through at least a second relay device in one or more intermediate networks that is different from the first relay device, and wherein at least the first and second relay devices are configured to time decode the plurality of data streams and the at least one parity stream and time re-encode the plurality of data streams and the at least one parity stream before forwarding to the destination device.

15 . The computer-implemented method of claim 7 , wherein transmitting the plurality of data streams and the at least one parity stream comprises scheduling a transmission of the plurality of data streams and the at least one parity stream on the different respective paths based on bandwidth or network conditions for the different respective paths.

16 . The computer-implemented method of claim 7 , wherein the network conditions include a measure of performance of decoding the plurality of data streams at the destination device, and wherein adjusting the parameter includes increasing a number of parity streams when the performance of decoding satisfies a first threshold condition or decreasing the number of parity streams when the performance of decoding satisfies a second threshold condition.

17 . One or more computer-readable storage media comprising computer-executable instructions that, when executed, cause a computing system to perform a method comprising:

receiving, at a destination device, a plurality of data streams corresponding to a real-time digital data flow from an antenna and a parity stream for the real-time digital data flow, each of the plurality of data streams and the parity stream traversing, in parallel, a different respective path across a network between a source device and the destination device;

reconstituting the real-time digital data flow by blending data from the plurality of data streams according to configuration parameters received from a global control plane and selectively performing error correction using the parity stream; and

adjusting the configuration parameters for reconstituting the real-time digital data flow responsive to receiving updated control instructions from the global control plane based on network conditions.

18 . The one or more computer-readable storage media of claim 17 , wherein the updated control instructions include a change in a number of data streams or a number of parity streams based on detected loss of data from the data and parity streams along the respective paths.

19 . The one or more computer-readable storage media of claim 17 , wherein the updated control instructions include a changing in one or more of the different respective paths based on real-time or predicted network conditions of the network.

20 . The one or more computer-readable storage media of claim 17 , wherein the instructions, upon execution, further cause the computer system to time decode the plurality of data streams and the parity stream and decrypt the plurality of data streams and the parity stream prior to reconstituting the real-time digital data flow.