FEC Transport Protocols for Multipath Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional transport protocols like TCP suffer from poor performance in conditions with large round-trip times and bursty losses, leading to suboptimal throughput and latency, especially in mobile networks and satellite links, due to their intertwined reliability and rate control mechanisms.
Innovation Solution
The implementation of forward-error correction (FEC) techniques over multiple parallel network paths, allowing for independent reliability and rate control protocols, where data is organized into blocks and encoding units are transmitted across multiple paths, with dynamic block sizing and transmission rates, and the sender adjusts based on acknowledgment probabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP acknowledgment mechanism is used for reliable transport, then reliability is improved, but throughput deteriorates in high-latency and high-loss environments
Solution Approach 1:
The patent segments data into blocks and encoding units, transmitting them over multiple parallel paths. This segmentation allows independent handling of different data units and enables parallel transmission, improving throughput while maintaining reliability through FEC codes that can recover from losses in individual segments.
Solution Approach 2:
The patent applies forward-error correction encoding in advance before transmission. By pre-encoding data with redundant information, the system prepares for potential losses without requiring retransmission, thus maintaining throughput in high-latency environments where traditional acknowledgment-based retransmission would be inefficient.
2Reliability
If traditional TCP rate control is used, then reliability control is maintained, but latency increases due to intertwined control mechanisms
Solution Approach 1:
The patent separates reliability control (FEC encoding) from rate control (transmission timing and path selection), allowing independent optimization of each function. This decoupling reduces latency by enabling parallel processing of reliability and rate control decisions without the sequential dependencies inherent in traditional TCP.
Solution Approach 2:
The system dynamically adjusts transmission parameters such as block size, number of encoding units, and path selection based on real-time network conditions. This dynamic adaptation allows the system to optimize latency by adjusting the balance between sending more data upfront (reducing retransmission needs) and maintaining flexibility for rate control.
3Productivity
If data is transmitted over multiple parallel paths, then throughput is improved, but complexity of protocol management increases
Solution Approach 1:
By segmenting data into independently encodable blocks that can be transmitted over multiple paths, the patent simplifies protocol management. Each block can be handled independently with the same FEC encoding scheme, avoiding the need for complex path-specific reliability management while still achieving improved throughput through parallel transmission.
4Reliability
If buffering is increased to ensure reliable delivery, then reliability is improved, but latency increases
Solution Approach 1:
The patent applies forward-error correction encoding in advance, embedding redundancy in the transmitted data itself rather than relying on large buffers for retransmission. This preliminary preparation allows the system to achieve reliable delivery with minimal buffering, as the FEC codes enable immediate recovery from losses without waiting for retransmitted data.
Data Source
AI summary
A client device includes one or more processors configured to receive, from a server device, forward-error corrected data via a plurality of parallel network paths, determine losses of the data over each of the network paths, and send data representing the losses of the data over each of the network paths to the server device. Additionally or alternatively, a client device includes one or more processors configured to receive a first set of encoding units for a first block, wherein the first set of encoding units includes fewer than a minimum number of encoding units needed to recover the first block, after receiving the first set of encoding units, receive a second set of encoding units for a second block, and after receiving the second set of encoding units, receive a third set of encoding units including one or more encoding units for the first block.


