Dynamic TCP Proxy Path Selection for Short Flow Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The slow convergence of TCP flow control algorithms to available bandwidth is hindered by large round trip times (RTT) in TCP connections, leading to inefficient data transfer, especially in cases where the connection is divided into segments with varying RTTs, requiring a method to optimize TCP proxy paths for faster data transfer.
Innovation Solution
A system and method that create a proxy network with multiple transport network proxies, determine RTTs for each proxy pair, and compute preferred paths based on maximum and total RTT to select optimal paths for data transmission, utilizing a dynamic programming algorithm to efficiently compute Pareto-optimal paths for each proxy pair, allowing for faster data transfer by reducing the impact of RTT on TCP connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP flow control algorithm uses slow-start to discover available bandwidth, then the connection is stable and reliable, but the convergence time to maximum bandwidth increases significantly
Solution Approach 1:
The patent divides the end-to-end TCP connection into multiple segments by introducing proxy servers at intermediate network nodes. Each segment (client-to-proxy and proxy-to-server) has its own independent TCP flow control algorithm, allowing parallel bandwidth discovery processes that converge faster than a single long-lived TCP connection would achieve
2Loss of time
If the end-to-end connection is divided into segments with proxies, then the convergence time decreases, but the device complexity and path selection complexity increase
Solution Approach 1:
The patent pre-computes and stores optimal proxy paths for all possible client-server pairs before actual data transfer begins. This offline path computation eliminates the need for real-time optimization during data transfer, reducing online computational complexity while maintaining the benefits of segmented connections
Solution Approach 2:
The patent implements dynamic path selection that adapts to different data transfer scenarios. The system computes different optimal paths based on flow size, RTT characteristics, and network conditions, allowing the proxy network to dynamically adjust its configuration rather than using a static one-size-fits-all approach
3Adaptability or versatility
If explicit TCP proxies are used at any network location, then path flexibility increases, but the optimal path computation becomes non-trivial and time-consuming
Solution Approach 1:
The patent performs exhaustive path computation and optimization offline before actual data transfer. All possible paths through the proxy network are evaluated and stored in advance, allowing the system to quickly retrieve pre-computed optimal paths during runtime without performing complex real-time optimization
Solution Approach 2:
The patent creates a virtual representation of the proxy network topology and pre-computes paths in this virtual model. The computed paths are then copied and applied to actual data transfers, separating the complex computation phase from the simple execution phase
Data Source
AI summary
A method for transmitting, over a transport network, data belonging to a data flow includes creating a proxy network including a plurality of transport network proxies; defining a plurality of proxy pairs; defining a plurality of proxy pair links; determining, for each proxy pair link, a round trip time (RTT) of the respective proxy pair link; determining, using the determined RTTs of the plurality of proxy pair links, a list of one or more preferred paths for each proxy pair, each preferred path connecting, via one or more of the plurality of proxy pair links, one proxy of the respective proxy pair to the other proxy of the respective proxy pair; and transmitting, from an ingress proxy to an egress proxy, the data belonging to the data flow over a proxy pair path selected from the list of preferred proxy pair paths.


