Dynamic Keep-Alive Timeout Adjustment for Wireless Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for maintaining persistent connections in wireless networks, such as those using keep-alive packets, are inefficient in battery-operated devices and wasteful of bandwidth, as they do not account for varying network timeout values and often require redundant resource usage across applications.
Innovation Solution
A client device detects network connection terminations, records idle time durations, determines a timeout value by comparing samples, and transmits this value to a timeout value server, allowing for optimized keep-alive packet transmission periods that conserve battery life and bandwidth by adjusting the keep-alive logic within the network stack.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a client device periodically transmits keep-alive packets to prevent NAT gateway timeout, then the connection remains persistent, but battery life is quickly drained and bandwidth is wasted
Solution Approach 1:
The patent implements dynamic adjustment of keep-alive packet transmission intervals based on the determined timeout value of the NAT gateway. Instead of using a fixed aggressive interval, the system adapts the transmission period to match the actual network conditions and gateway characteristics, thereby maintaining connection persistence while optimizing battery consumption and bandwidth usage.
Solution Approach 2:
The system changes the transmission parameter (keep-alive interval) from a static universal value to a dynamic value determined through empirical measurement. By measuring the actual timeout behavior of the NAT gateway and adjusting the keep-alive interval accordingly, the system resolves the contradiction between maintaining reliable connections and conserving energy resources.
2Reliability
If a client device aggressively transmits keep-alive packets using a universal strategy, then the connection is kept open regardless of NAT gateway parameters, but bandwidth is wasted in constrained mediums
Solution Approach 1:
The system dynamically adjusts the keep-alive transmission interval based on the determined NAT gateway timeout value. This dynamic approach allows the system to maintain reliable connections while adapting to bandwidth constraints by transmitting packets only when necessary, rather than using a fixed aggressive strategy that wastes bandwidth.
Solution Approach 2:
The system performs self-measurement to determine the NAT gateway's timeout characteristics by observing connection termination behavior. This self-service approach enables the system to automatically optimize its keep-alive strategy without external configuration, resolving the contradiction between connection reliability and bandwidth efficiency.
3Device complexity
If keep-alive packets are transmitted at fixed intervals without knowing NAT gateway timeout values, then implementation is simple, but connection may be terminated despite keep-alive attempts
Solution Approach 1:
The system performs preliminary measurement actions to determine the NAT gateway's timeout value before establishing the keep-alive transmission strategy. By measuring the actual timeout behavior through controlled idle periods and observing connection termination, the system gathers necessary information to set appropriate keep-alive intervals, ensuring both reliability and optimized complexity.
Solution Approach 2:
The system uses feedback from connection termination events to determine the NAT gateway timeout value. By monitoring when connections are terminated during idle periods and using this feedback to calculate the timeout characteristic, the system adapts its keep-alive strategy to ensure connection persistence while maintaining reasonable implementation complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A client device configured to access a remote device via a communication network. The client device is configured to: a) detect a termination of a network connection to the remote device and b) in response to detecting the termination of the network connection, record an idle time duration associated with the network. The client device repeats a) and b) until a plurality of idle time durations have been recorded. The client device then determines from the plurality of idle time durations a timeout value associated with the network and sets a transmission period of a keep-alive signal transmitted from the client device to the remote device based on the determined timeout value. The client device transmits the determined timeout value and information identifying the network to a timeout value server that may be accessed by other client devices.