TCP Multiplexing Proxy for Network Channel Consolidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Establishing HTTP connections is a time-consuming process, leading to communication slowdowns, especially when multiple connections are needed, and can result in scalability issues, particularly when applications and devices communicate through firewalls.

Innovation Solution

Implementing TCP multiplexing over a proxy or HTTP tunnel, where multiple TCP requests from clients are consolidated into a single TCP connection between the proxy and the server, using a persistent connection and unique identifiers to manage client requests and responses efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple HTTP connections are established for different ports, then communication flexibility is improved, but communication speed deteriorates due to time-consuming connection establishment

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidcommunication speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent merges multiple TCP connections into a single persistent connection between the proxy and server. The proxy multiplexes multiple logical connections over one physical TCP connection, consolidating what would traditionally require separate connection establishment for each port into a single long-lived connection that carries multiple streams of data.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The proxy acts as an intermediary between clients and servers. It establishes a persistent connection to the server and multiplexes multiple client requests through this single connection, eliminating the need for each client to establish separate HTTP connections to the server directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a persistent TCP connection is used to consolidate multiple requests, then communication speed is improved, but device complexity increases due to proxy involvement

Engineering Contradiction:
Improvecommunication speedVSAvoidproxy complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The proxy is designed to handle multiple functions: it serves as a connection manager, data multiplexer, and protocol translator. A single proxy instance manages multiple persistent connections and multiplexes numerous logical connections, making it a universal component that handles diverse communication needs without requiring separate specialized systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If HTTP connections are established for each port, then connection isolation is improved, but scalability deteriorates due to the number of connections required

Engineering Contradiction:
Improveconnection isolationVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments logical connections from physical connections. Multiple logical connections (one per port) are segmented and multiplexed over a single persistent physical connection. This allows the system to maintain connection isolation at the logical level while achieving scalability at the physical level through consolidation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8996657B2Systems and methods for multiplexing network channels
Publication Date: 2015.03.31 CANON KK
  • US8996657B2 patent drawing
  • US8996657B2 patent drawing
  • US8996657B2 patent drawing

AI summary

A proxy consolidates multiple TCP requests from clients into one TCP connection between a proxy and server. A persistent TCP connection is opened between the proxy and server, and a connection request is received from a client at the proxy. A unique identifier is registered for the client, and the server is signaled over the persistent connection to register the unique identifier. A client connection is established between the client and proxy responsive to the connection request. A content request is received from the client over the client connection. The unique identifier is prepended to the content request, the prepended content request is forwarded to the server, and prepended content is received from the server. The identifier and the content are extracted from the prepended content, and a client and a client connection are identified that correspond to the extracted identifier. The extracted content is returned to the corresponding client.