MPTCP Subflow Routing via SDN Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multipath TCP implementations, such as ECMP, fail to ensure that primary flows and subflows take different paths across the network, leading to potential underutilization of network resources and inefficient load balancing, especially in scenarios with few flows.

Innovation Solution

A software-defined networking (SDN) controller identifies primary flows and subflows by snooping TCP handshake packets and correlates them using a database, allowing the load balancer to program subflows onto alternate paths, ensuring they take different routes and optimizing ECMP path utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If ECMP hash algorithm is used for load balancing, then traffic is distributed across paths, but subflows may be routed onto the same path as primary flow leading to under-utilization

Engineering Contradiction:
Improvedata throughputVSAvoidnetwork resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary identification of primary flows and subflows during the TCP handshake phase by snooping packets and checking for MP_CAPABLE options. This early identification allows the load balancer to pre-program routing rules that ensure subflows take different paths than primary flows, preventing the under-utilization problem before it occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by having the controller identify and correlate subflows with primary flows using a database, then use this information to adjust routing decisions. The load balancer receives feedback about flow relationships and modifies path selection accordingly, ensuring that subflows are routed onto alternate paths rather than the same path as primary flows.

Inventive Principle:
Principle #23Feedback

2Productivity

If MPTCP subflows are created for multipathing, then throughput is improved, but ECMP paths are not efficiently utilized due to lack of path awareness

Engineering Contradiction:
ImprovethroughputVSAvoidECMP path utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system introduces an intermediary controller that sits between the MPTCP implementation and the ECMP routing infrastructure. This controller identifies subflows, correlates them with primary flows, and provides path information to the load balancer. The intermediary enables MPTCP to efficiently utilize ECMP paths by bridging the gap between host-level multipath capability and network-level path selection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the traditional mechanical hash-based routing mechanism with an intelligent control plane that uses packet snooping, database correlation, and programmable routing. Instead of relying solely on ECMP's hash algorithm to distribute flows, the system substitutes a more sophisticated mechanism that actively identifies flow relationships and makes informed routing decisions to optimize path utilization.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If hosts create subflows without knowledge of available ECMP paths, then multipath capability is maintained, but optimal path selection cannot be achieved

Engineering Contradiction:
Improvemultipath capabilityVSAvoidload balancing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by having the controller identify and correlate subflows with primary flows using a database, then use this information to adjust routing decisions. The load balancer receives feedback about flow relationships and modifies path selection accordingly, ensuring that subflows are routed onto alternate paths rather than the same path as primary flows.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary identification of primary flows and subflows during the TCP handshake phase by snooping packets and checking for MP_CAPABLE options. This early identification allows the load balancer to pre-program routing rules that ensure subflows take different paths than primary flows, preventing the under-utilization problem before it occurs.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9742659B2Multipath bandwidth usage
Publication Date: 2017.08.22 DELL PROD LP
  • US9742659B2 patent drawing
  • US9742659B2 patent drawing
  • US9742659B2 patent drawing

AI summary

Embodiments of the present invention include systems and methods for identifying a primary flow and its corresponding subflow(s) so that the subflow(s) may be routed to more efficiently use bandwidth between a source host and a destination host. In embodiments, a table correlates flows and their corresponding keys for Multipath TCP flows. When a new subflow is initiated between a source device and a destination device, the new flow can be identified as being a subflow of a primary flow using data in the table. Having identified the subflow and its corresponding primary flow, the new subflow may have an installed route path that differs from its primary flow, thereby improving the bandwidth usage.