Multipath TCP Connection Resiliency via Backup Port Negotiation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional networks fail to exploit alternate paths during congestion, leading to delayed data traffic as they rely solely on a single determined path for packet flow, even when multiple alternate paths exist.
Innovation Solution
Implementing a method where a client in a network sends synchronization packets to identify and use backup ports instead of or in addition to the primary communication port, allowing data packets to be sent via alternative paths when the primary path is congested or down, by negotiating support for these backup ports with the server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single determined path is used for packet flow, then the network configuration is simple and easy to manage, but the data traffic is delayed when the path is congested
Solution Approach 1:
The patent implements dynamic path selection by establishing multiple TCP connections with different five-tuples (source IP, destination IP, source port, destination port, protocol). When congestion is detected on one path, the system dynamically switches to alternative paths without requiring complex manual reconfiguration, thus improving productivity while maintaining manageable complexity through automated adaptation.
Solution Approach 2:
The system changes network path parameters by modifying the five-tuple values, particularly the source port numbers, to create multiple distinct TCP connections. This allows the same data traffic to be routed through different paths by changing connection parameters, enabling congestion avoidance without fundamentally altering the network infrastructure complexity.
2Reliability
If multiple alternate paths are available but not exploited, then the network configuration remains simple, but the reliability of data transmission decreases during congestion
Solution Approach 1:
The patent establishes multiple TCP connections with different five-tuples in advance before congestion occurs. These backup paths are pre-configured and ready for immediate use, ensuring reliability when the primary path experiences congestion. The system proactively creates redundancy rather than reactively seeking alternatives, improving both reliability and path utilization.
Solution Approach 2:
The system dynamically monitors path health and automatically switches between pre-established connections based on congestion conditions. This dynamic behavior ensures high reliability by maintaining multiple active paths that can be utilized when needed, increasing overall network productivity without requiring complex manual intervention.
3Reliability
If backup ports are implemented for alternative paths, then data transmission continuity is improved during congestion, but the communication protocol complexity increases
Solution Approach 1:
The patent uses the existing TCP protocol's five-tuple structure (source IP, destination IP, source port, destination port, protocol) to create multiple connections. By leveraging the universal TCP connection mechanism rather than introducing a new protocol, the system achieves communication continuity through backup paths while minimizing protocol complexity. The same TCP stack handles both primary and backup connections.
Solution Approach 2:
The system creates copies of TCP connections with modified five-tuple values to establish backup paths. Instead of implementing a complex new protocol for failover, the patent replicates the connection establishment process with different parameter values, simplifying the implementation while ensuring communication continuity during congestion events.
Data Source
AI summary
Exemplary embodiments provide a client in a network sending data packets to a server using multiple paths. The client may check if the server can receive packets sent at the backup ports of the client by including an option in a first packet sent to the server. The option included in the packet may provide a list of available backup ports that may be used by the client to communicate with the server. If the server supports the option, the server includes the option in an acknowledgment packet sent back to the client. The client and the server may create a mapping from the client's backup ports to the client's primary port. Thus, when the server receives a packet sent at a backup port, the server treats the packet as if the packet was sent at the primary port of the client.


