MPTCP Network Coding for Heterogeneous Path Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transfer technologies over multiple network paths are inefficient and unreliable, particularly in heterogeneous networking scenarios, as they fail to optimize throughput and reliability across different network technologies.
Innovation Solution
The development of a Multi-Path Transfer Control Protocol with Network Coding (MPTCP/NC) that coordinates multiple parallel connections over various network interfaces by applying network coding techniques, combining TCP with heterogeneous networking to enhance data transfer efficiency and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple parallel connections are established over different network interfaces, then data transfer throughput and reliability are improved, but protocol complexity and management overhead increase
Solution Approach 1:
The patent combines multiple TCP connections into a unified MPTCP/NC connection that spans multiple network interfaces. Instead of managing separate TCP protocols on each interface, the invention merges them into a single protocol instance that handles routing, coding, and reassembly across heterogeneous networks, thereby improving throughput while controlling complexity through protocol unification
Solution Approach 2:
The MPTCP/NC protocol serves multiple functions simultaneously: it manages multiple network interfaces, performs network coding operations, handles packet routing and reassembly, and provides end-to-end error correction. This multi-functionality allows a single protocol to address various aspects of multi-path transfer, reducing the need for separate management mechanisms and lowering overall system complexity
2Reliability
If network coding is applied to combine multiple TCP connections, then transfer reliability and throughput are improved, but processing complexity at source and destination nodes increases
Solution Approach 1:
The source node pre-generates coded packets by applying network coding to the original data packets before transmission. This preliminary encoding action ensures that redundant information is already embedded in the transmitted packets, enabling the destination node to reconstruct the original data even if some packets are lost, thereby improving reliability while keeping processing complexity manageable through advance preparation
Solution Approach 2:
The MPTCP/NC protocol acts as an intermediary layer between the application layer and the underlying TCP connections. It introduces network coding operations at this intermediate level, mediating between the data to be transmitted and the multiple network paths available. This intermediary approach allows complexity to be contained within a specific protocol layer rather than being distributed throughout the entire system
3Device complexity
If existing multi-path TCP approaches are used without network coding, then implementation is simpler, but data transfer completion time increases and robustness to link failure decreases
Solution Approach 1:
The network coding mechanism provides beforehand cushioning by embedding redundant coded packets in the transmission stream. When link failures or packet losses occur, these pre-transmitted coded packets serve as a cushion that allows the destination to recover lost data without requiring retransmissions, thereby reducing completion time and improving robustness while maintaining reasonable implementation complexity
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques, devices, systems, and protocols are disclosed herein that relate to data transfer between communication nodes via multiple heterogeneous paths. In various embodiments, network coding may be used to improve data flow and reliability in a multiple path scenario. Transmission control protocol (TCP) may also be used within different paths to further enhance data transfer reliability. In some embodiments, multiple levels of network coding may be provided within a transmitter in a multiple path scenario, with one level being applied across all paths and another being applied within individual paths.