Multipath Connection Protocol for Elephant Flow Splitting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Multipath Transmission Control Protocol (MPTCP) is unsuitable for single-homed endpoints, as it requires both endpoints to be multi-homed and multi-addressed, limiting the ability to utilize multiple paths available in the network, resulting in suboptimal performance especially for large data transfers known as 'elephant flows' which cause congestion and performance degradation.

Innovation Solution

Implementing a network-cognizant mode that allows single-homed endpoints to establish multiple subflows based on awareness of multiple paths between them, using a multipath connection protocol that splits data into smaller flows and configures different subflows with unique tuples to utilize available paths efficiently, without requiring multiple network interfaces or IP addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional MPTCP is used, then reliable data transfer is achieved, but single-homed endpoints cannot utilize multiple paths resulting in suboptimal throughput

Engineering Contradiction:
Improvedata transfer throughputVSAvoidendpoint homing requirement
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data flow into multiple subflows that can be transmitted over different paths simultaneously. Each subflow is identified by unique tuples (source IP, source port, destination IP, destination port) and can be routed through different network paths, allowing single-homed endpoints to achieve multipath transmission without requiring multiple network interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to path selection by using tuple-based identification rather than relying solely on network interface or IP address diversity. This allows multiple subflows to be distinguished and routed through different paths based on their tuple characteristics, enabling path diversity without additional hardware interfaces.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple paths are utilized for data transfer, then network throughput is improved, but path management complexity increases

Engineering Contradiction:
Improvenetwork throughputVSAvoidpath management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service path management where the network infrastructure automatically handles subflow routing based on tuple characteristics. The system leverages existing routing mechanisms and network policies to distribute subflows across available paths without requiring complex manual configuration or centralized control, reducing operational complexity while maintaining high throughput.

Inventive Principle:
Principle #25Self-service

3Productivity

If conventional TCP single-path protocol is used, then protocol simplicity is maintained, but resource utilization is suboptimal

Engineering Contradiction:
Improveresource utilizationVSAvoidprotocol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple TCP-like subflows into a unified multipath connection framework. Each subflow maintains TCP reliability mechanisms independently, while the collective set of subflows shares the load across multiple paths. This combining approach achieves superior resource utilization without requiring fundamental protocol redesign, as each subflow can use standard TCP implementations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10097465B2Data transfer between endpoints using a multipath connection
Publication Date: 2018.10.09 VMWARE INC
  • US10097465B2 patent drawing
  • US10097465B2 patent drawing
  • US10097465B2 patent drawing

AI summary

Example methods are provided to perform data transfer between a first endpoint and a second endpoint. The method may comprise detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; and splitting the elephant flow to obtain first packets and second packets. The first endpoint may have cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint. The method may comprise establishing a first subflow and a second subflow of a multipath connection with the second endpoint; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface.