Multiplexed TCP Proxy for Bandwidth Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current TCP protocols require individual connections for each client, leading to significant overhead and bandwidth limitations, as well as inefficient congestion control, particularly in high-traffic scenarios where packet drops can occur due to finite server bandwidth.

Innovation Solution

Implementing multiplexed TCP connections through a proxy server that manages multiple client streams over a single connection, using buffer queues and flow management to allocate bandwidth and handle individual client traffic as if it were on separate connections, while enabling dynamic bandwidth adjustments and flow control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual TCP connections are established for each client, then reliable communication and flow control are ensured, but overhead increases and bandwidth utilization decreases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidconnection management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple individual TCP connections into a single multiplexed connection between the proxy server and web server. Client connections are maintained individually from client to proxy, but the proxy consolidates these into one connection to the server, reducing the number of connections the server must manage while preserving individual client communication reliability through separate client connection tracking at the proxy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The proxy server acts as an intermediary that maintains individual TCP connections with each client while establishing a single multiplexed connection to the web server. This intermediary role allows the system to preserve reliable individual client communication while reducing overall connection complexity at the server端 through the proxy's connection consolidation function.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple individual TCP connections are maintained to support many clients, then individual client traffic can be managed separately, but bandwidth limitations and packet drops occur due to finite server bandwidth

Engineering Contradiction:
Improveindividual client traffic managementVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent combines multiple client data streams into a single multiplexed connection to the web server, allowing efficient bandwidth utilization through consolidated transmission. The proxy server merges traffic from multiple clients into one connection while maintaining the ability to manage and control individual client flows through its intermediary position and connection tracking capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically manages bandwidth allocation and flow control for individual clients within the multiplexed connection. The proxy server can adjust traffic priorities, allocate bandwidth dynamically, and control flow rates for different clients based on current network conditions and server capacity, optimizing overall bandwidth utilization while maintaining individual client service quality.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single multiplexed connection is used to reduce overhead, then bandwidth utilization improves, but it becomes challenging to maintain individual client connection states and perform flow control

Engineering Contradiction:
Improveconnection management overheadVSAvoidindividual client flow control
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The proxy server serves as an intermediary that maintains individual connection state information for each client while using a single multiplexed connection to the web server. This intermediary position enables the proxy to track client-specific TCP states, manage individual flow control, and perform packet reassembly and forwarding while reducing connection overhead at the server端.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the multiplexed connection into individual client logical channels at the proxy server. Each client's data stream is separated, tracked, and managed independently through the proxy, which maintains separate connection state information for each client despite using a single physical connection to the web server. This segmentation enables individual flow control while maintaining the benefits of multiplexing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9923677B2Multiplexing many client streams over a single connection
Publication Date: 2018.03.20 INTEL CORP
  • US9923677B2 patent drawing
  • US9923677B2 patent drawing
  • US9923677B2 patent drawing

AI summary

Methods and apparatus for multiplexing many client streams over a single connection. A proxy server establishes multiple TCP connections with respective clients that desire to access a web server connected to the proxy server via a multiplexed TCP connection. TCP packets received from the clients via the TCP connections are separated out based on their TCP connections, a packet payload data is extracted and added to client data streams. Data segments comprising sequential runs of bits from the client data streams and embedded in multiplexed (MUX) TCP packets that are sent over the multiplexed TCP connection. Upon receipt, the web server de-encapsulates the data segments and buffers them in queues allocated for each TCP connection in re-assembled client data streams. This enables the packet flows transported over the multiplexed connection for the TCP connections to be individually controlled. The multiplexed TCP connection may also be used for forwarding packet payload data generated at the web server to the clients via the proxy server and the client's TCP connections.