Network Protocol Proxy for Parallel TCP Connection Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Application layer protocols like RDP experience inefficiencies in bandwidth utilization due to TCP's congestion control mechanisms, leading to degraded performance on latent network connections, especially in WANs.
Innovation Solution
A network proxy is introduced between the application layer protocol and the transport layer protocol to intercept communications and establish parallel TCP connections without modifying the application or transport layer protocols, thereby bypassing TCP's congestion control and enhancing throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP congestion control mechanisms are used to reduce packet losses and promote fair use of network resources, then network stability is improved, but application bandwidth utilization deteriorates
Solution Approach 1:
The patent segments the single TCP connection into multiple parallel TCP connections. By dividing the data stream across multiple connections, the application can achieve higher aggregate bandwidth utilization while each individual connection still benefits from TCP's congestion control mechanisms, thus resolving the contradiction between network stability and bandwidth utilization.
Solution Approach 2:
The patent introduces a network proxy as an intermediary layer between the application and the TCP stack. This proxy intercepts application data and distributes it across multiple TCP connections, allowing the application to achieve better bandwidth utilization without modifying the application itself, while TCP's congestion control continues to operate on each connection to maintain network stability.
2Object-affected harmful factors
If TCP slow-start mechanism is used to slowly ramp up bandwidth usage when connection is initiated, then network congestion is reduced, but application performance deteriorates
Solution Approach 1:
By segmenting the data stream across multiple parallel connections, the application can effectively bypass the slow-start limitation of a single connection. Each connection undergoes slow-start, but the aggregate bandwidth across all connections provides much faster initial data transfer, resolving the contradiction between reducing network congestion and improving application performance.
Solution Approach 2:
The network proxy performs preliminary actions by pre-establishing multiple TCP connections before the application needs high bandwidth. This allows the system to be ready for rapid data transfer without waiting for a single connection's slow-start mechanism, thereby improving application performance while still respecting network capacity through controlled parallel connection establishment.
3Adaptability or versatility
If TCP bandwidth throttling is used when congestion is detected, then fair use of network resources is promoted, but individual application throughput deteriorates
Solution Approach 1:
The patent segments the application's data stream across multiple TCP connections. When congestion is detected and TCP throttles bandwidth on individual connections, the application can still maintain acceptable throughput by distributing data across multiple connections, thus resolving the contradiction between fair resource usage and individual application throughput.
Solution Approach 2:
The patent transitions from a single-dimension (single connection) approach to a multi-dimensional (multiple parallel connections) approach. This dimensional change allows the application to achieve higher throughput by utilizing multiple connections simultaneously, while each connection still adheres to fair resource usage principles through TCP's congestion control mechanisms.
Data Source
AI summary
A network proxy can be provided as a layer between an application layer protocol (such as the Remote Desktop Protocol) and a transport layer protocol (such as TCP). The network proxy can intercept communications between the application layer protocol and the transport layer protocol. The network proxy can transmit communications on multiple connections, without the application layer or transport layer protocols being aware of the parallelization.


