Multipath TCP Proxy for Dynamic Network Function Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for network functions that terminate TCP connections cannot feasibly add or remove network functions from the connection path during ongoing client-server sessions without causing connection stalls due to mismatched sequence or port numbers, leading to inefficient resource utilization and disrupted data transfer.

Innovation Solution

A method involving two proxies to terminate the TCP connection and establish a multipath connection-oriented session, allowing for the insertion or removal of network functions by creating new multipath subflows that traverse or avoid the network function, ensuring seamless traffic redirection and maintaining connection integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a network function is dynamically added or removed from a TCP connection path during ongoing sessions, then resource utilization is improved and connection flexibility is enhanced, but sequence number mismatches occur causing connection stalls

Engineering Contradiction:
Improvedynamic network function insertion/removalVSAvoidconnection stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The TCP connection is segmented into multiple subflows, each independently managed. When a network function needs to be added or removed, only the affected subflow is modified while other subflows continue operating, preventing complete connection stall and enabling dynamic reconfiguration without disrupting the entire connection

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A proxy server acts as an intermediary between the client and server, managing the multipath connection and subflow routing. The proxy intercepts and processes packets, maintaining sequence number consistency and coordinating network function insertion/removal operations, thereby preventing sequence mismatches and connection stalls

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If conventional TCP termination techniques are used to add/remove network functions, then network function flexibility is improved, but data transfer continuity is disrupted due to sequence number mismatches

Engineering Contradiction:
Improvenetwork function dynamic configurationVSAvoiddata transfer continuity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The multipath TCP connection maintains continuous data transfer by establishing multiple parallel subflows. When a network function is added or removed, the system dynamically routes traffic through alternative subflows, ensuring that data transfer continues without interruption and maintaining productivity throughout the reconfiguration process

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system dynamically adjusts the connection path and subflow routing based on real-time network conditions and network function requirements. Subflows can be dynamically created, modified, or terminated without affecting the overall connection, enabling flexible network function configuration while maintaining continuous data transfer

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10735525B2System, method and computer program product for network function modification
Publication Date: 2020.08.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10735525B2 patent drawing
  • US10735525B2 patent drawing
  • US10735525B2 patent drawing

AI summary

A network function modification method, system, and computer program product, include terminating the connection-oriented session between a client and a server via at least two proxies, running a multipath connection-oriented session between the at least two proxies, if an insertion request is received, establishing a first multipath subflow with the new multipath subflow traversing the network function of the insertion request, and if a removal request is received, establishing a second multipath subflow with the new multipath subflow not traversing the network function of the removal request.