Proxy TCP Connection Management via Sequence Number Revaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing TCP connection management systems fail to preserve sequence numbers and acknowledgment numbers when splitting TCP connections, leading to disruptions in communication networks.

Innovation Solution

A method and apparatus that intercepts SYN and SYN-ACK packets to establish Proxy TCP client and server sockets, maintaining a connection table to revalue sequence and acknowledgment numbers, ensuring seamless communication through a proxy server while maintaining TCP connection integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If TCP connections are split through a proxy server to enable network management and optimization, then network control and optimization capabilities are improved, but sequence numbers and acknowledgment numbers are not preserved leading to communication disruptions

Engineering Contradiction:
Improvenetwork control capabilityVSAvoidTCP connection integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a proxy server as an intermediary component that sits between the client and server, establishing separate TCP connections (client-proxy and proxy-server) to enable network management while maintaining communication integrity. The proxy server acts as a mediator that forwards packets between the two connections.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies parameter changes by systematically modifying sequence numbers and acknowledgment numbers in the connection table. When packets are forwarded through the proxy, the system adjusts these TCP parameters to ensure consistency across the split connections, preventing communication disruptions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If a proxy server is introduced to manage TCP connections, then network optimization and management are improved, but the complexity of connection management increases

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

Solution Approach 1:

The patent segments the original direct TCP connection into two separate connections (client-proxy and proxy-server), allowing independent management and optimization of each segment. This segmentation enables the proxy server to handle different aspects of connection management separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a connection table that essentially copies and maps the relationship between the two TCP connections. This copying mechanism allows the proxy server to track and manage both connections simultaneously, maintaining synchronization without requiring complex real-time coordination.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If sequence numbers and acknowledgment numbers are not preserved when splitting TCP connections, then proxy server insertion is simplified, but communication disruptions occur

Engineering Contradiction:
Improveproxy insertion simplicityVSAvoidcommunication continuity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent performs preliminary actions by pre-establishing the connection table and configuring the mapping between the two TCP connections before actual data transmission begins. This preliminary setup includes defining how sequence and acknowledgment numbers should be adjusted, ensuring readiness for seamless packet forwarding.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3101866B1A method & apparatus for managing connections in a communication network
Publication Date: 2020.02.12 OPENWAVE MOBILITY INC
  • EP3101866B1 patent drawingFigure 1
  • EP3101866B1 patent drawingFigure 2
  • EP3101866B1 patent drawingFigure 3

AI summary

There is described a method of managing connections in a communication network. A first packet is received that is, or is a copy of, a packet sent from a transport layer protocol first socket at a first entity to a second entity and a second packet is received that is, or is a copy of, a packet sent from a transport layer protocol socket at the second entity to the first entity in response to the second entity receiving the packet or a copy of the packet sent from the transport layer protocol first socket. The first packet and the second packet are received from a third entity that is intermediate the first entity and the second entity in the communication network. The first packet and the second packet are used in a process to establish a transport layer protocol third socket and a transport layer protocol fourth socket at a fourth entity. The transport layer protocol third socket is for communicating with the transport layer protocol first socket at the first entity and the transport layer protocol fourth socket is for communicating with the transport layer protocol second socket at the second entity. Header field re-valuing information is established based at least in part on first header field value information obtained from the first packet and/or second header field value information obtained from the second packet. One or more header field values in a subsequent received packet are re-valued based on the header field re-valuing information, either prior to the subsequent packet being input to the transport layer protocol third socket or the transport layer protocol fourth socket or subsequent to the subsequent packet being output from the transport layer protocol third socket or the transport layer protocol fourth socket.