NAT Keep-Alive Value Computation via Concurrent Connection Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional keep-alive mechanisms for NAT devices are inefficient for mobile devices, causing battery drain and network traffic overhead due to fixed or adaptive keep-alive intervals, and struggle to distinguish between NAT timeouts and network failures, leading to suboptimal performance and frequent disconnects.
Innovation Solution
A method to determine a keep-alive value for NAT devices by concurrently testing multiple connections with progressively increasing timeout values, validating the computation to differentiate between NAT connection failures and external failures, and storing the computed value for future use, allowing automatic re-computation when a new NAT device is detected.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed keep-alive interval is configured to be shorter than NAT timeout, then connection reliability is improved, but battery life deteriorates due to increased battery drain
Solution Approach 1:
The patent dynamically changes the keep-alive interval parameter based on the computed NAT timeout value. Instead of using a fixed short interval, the system computes the actual NAT timeout and sets the keep-alive interval to a fraction of that computed value, optimizing the balance between connection reliability and battery consumption.
Solution Approach 2:
The system performs preliminary computation of the NAT timeout value before establishing the keep-alive mechanism. By computing the timeout value in advance through test connections, the system can configure the optimal keep-alive interval beforehand, avoiding both excessive battery drain from too-frequent pings and connection failures from too-rare pings.
2Stability of the object's composition
If adaptive keep-alive mechanism is used on main connection, then connection stability is improved, but disconnects occur due to periodic interval increases
Solution Approach 1:
The patent performs preliminary computation of the NAT timeout value through test connections before applying it to the main data connection. This preliminary action ensures that the keep-alive interval is optimized based on actual NAT behavior, preventing periodic disconnects that occur when adaptive mechanisms increase intervals too aggressively on active connections.
Solution Approach 2:
The patent separates the computation process from the data transmission process by using test connections to determine NAT timeout characteristics. This segmentation allows the system to gather information about NAT behavior without disrupting the main data connection, and then apply the learned parameters to maintain stability and continuity.
3Measurement precision
If adaptive keep-alive mechanism is used on secondary connection sequentially, then computation accuracy is improved, but time consumption increases substantially
Solution Approach 1:
The patent merges multiple test connections in parallel to simultaneously gather data about NAT timeout behavior. Instead of sequentially testing different interval values on secondary connections, the system opens multiple test connections at the same time, each testing different parameters, thereby achieving comprehensive computation accuracy much faster.
Solution Approach 2:
The system uses periodic test connections with different interval patterns to efficiently characterize NAT timeout behavior. By running multiple periodic tests in parallel with varying frequencies, the system quickly converges on the optimal keep-alive interval without the time penalty of sequential testing.
4Productivity
If adaptive method is used to compute keep-alive interval, then optimal interval is achieved, but inability to distinguish NAT timeout from network failure causes computation failure
Solution Approach 1:
The patent introduces test connections as intermediary probes to distinguish between NAT timeout and network failure. These intermediary test connections allow the system to send traffic through the NAT device and observe responses, providing clear feedback about whether the NAT is functioning properly or if there is a network failure, thereby enabling reliable computation of the keep-alive interval.
Solution Approach 2:
The system implements feedback mechanisms through test connections that provide information about NAT timeout behavior. By monitoring responses from test connections, the system receives feedback about whether packets are being timed out by the NAT or lost in the network, allowing it to reliably compute the optimal keep-alive interval even in mobile environments with varying network conditions.
Data Source
AI summary
Concurrent testing of NAT connections using different timeout values to compute a keep-alive value for the NAT device. Computation of the approximate timeout value is accomplished concurrently over multiple test connections within about a time equivalent to the actual NAT timeout value. The architecture validates the computation of the approximate timeout value by distinguishing NAT connection failure from external failure using a control connection. Moreover, computation of the keep-alive value is performed only once for a given NAT device rather than being an on-going process for that NAT device. When one of the test connections fails, it is determined that the NAT timeout value is less than the test timeout value associated with the failed test connection. Accordingly, a smaller test timeout value is then selected as the keep-alive value for keep-alive processing of the NAT device.


