Dynamic Tunnel Link Weighting for Latency Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-channel VPN solutions face challenges in efficiently utilizing multiple communication channels due to static weighting of transmission links, leading to issues like bandwidth limitations, increased latency, and packet loss, which are problematic for applications like VoIP and websites with varied connection bandwidths.
Innovation Solution
A data transmission device that dynamically adjusts the weighting of transmission links based on feedback packets, allowing for time-dependent distribution of connections across available links to optimize tunnel utilization and minimize delays, while ensuring packet order and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If pseudo-channel bonding is used to aggregate multiple communication channels, then the bonded bandwidth is increased, but latency increases and packet loss occurs due to varying channel latencies and the need for packet reordering
Solution Approach 1:
The patent implements dynamic link selection where the system continuously monitors channel conditions and adaptively switches between available communication channels based on current latency and bandwidth conditions, rather than statically assigning packets to fixed channels. This allows the system to optimize for low latency when needed while still utilizing multiple channels for increased bandwidth.
Solution Approach 2:
The system changes operational parameters by adjusting weighting factors for different transmission links based on real-time channel conditions. By dynamically modifying these weighting parameters, the system can optimize the distribution of traffic across channels to minimize latency while maintaining high bonded bandwidth utilization.
2Reliability
If TCP proxies are used to intercept connections and hide packet loss, then connection reliability is improved, but the system complexity increases and bandwidth is limited by the need to acknowledge packets at each endpoint
Solution Approach 1:
The patent introduces a tunnel endpoint as an intermediary that performs encapsulation and decapsulation of packets. This intermediary handles the complexity of multi-channel management, packet reordering, and reliability mechanisms centrally, allowing end hosts to use simple TCP connections without requiring complex proxy infrastructure at each endpoint.
Solution Approach 2:
The system creates encapsulated copies of original packets with additional metadata including channel identification and sequence information. These copied packets traverse multiple channels while maintaining the original connection semantics, allowing the tunnel to manage complexity internally while presenting a simple interface to endpoints.
3Reliability
If load balancing is used to distribute connections across transmission links, then individual connections are protected from packet loss, but the bonded bandwidth cannot be fully utilized when multiple connections share the same context
Solution Approach 1:
The patent segments the tunnel traffic into multiple encapsulated packet streams that can be independently routed across different transmission links. Each packet is marked with metadata indicating its logical connection, allowing the system to distribute packets from the same connection across multiple channels while maintaining order, thereby utilizing bonded bandwidth without sacrificing reliability.
Solution Approach 2:
The system adds a new dimension to packet routing by introducing channel selection as an additional degree of freedom. Instead of assigning entire connections to fixed channels, packets within a connection can be dynamically assigned to different channels based on current conditions, enabling both high bandwidth utilization and reliable delivery through multi-dimensional packet distribution.
Data Source
Figure 1~3
Figure 4
AI summary
A data transmission device (10) for transmitting data packets through a tunnel (20) comprising at least one communication channel to a data receiving device (60), wherein the data transmission device (10) is configured to receive a data stream in the form of data packets via at least one connection (51, 52, 53); wherein the data transmission device (10) is configured to encapsulate the received data packets into transmission packets and to transmit them to the data receiving device (60) via a transmission link (41, 42, 43) of a communication channel (31, 32) using a packet-based transmission protocol, wherein the communication channel (31, 32) comprises at least one transmission link (41, 42, 43);and wherein the data transmission device (10) is configured to assign the at least one connection (51, 52, 53) to a transmission link (41, 42, 43) according to a weight assigned to each transmission link (41, 42, 43), such that the data packets of the at least one connection (51, 52, 53) are encapsulated and transmitted via the respective assigned transmission link (41, 42, 43) to the data receiving device (60); and wherein the data transmission device (10) is configured to receive information about the transmission link (41, 42, 43) and/or the associated communication channel (31, 32) and to adjust the weight of the transmission link (41, 42, 43) based on the information received.