Secure Session Keepalive Autotuning with Adaptive Probe Intervals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current keepalive protocols have fixed configurations that do not adapt to network conditions, leading to inefficient packet transmission and potential connection loss due to unnecessary decryption and analysis, or connection termination during prolonged inactivity.
Innovation Solution
A client device determines an optimal keepalive interval by sending keepalive test probes at varying intervals, assessing server responses, and adjusting the interval based on network conditions to maintain a secure connection without unnecessary packet transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed keepalive interval is used, then the connection remains open through middleboxes, but unnecessary packets are transmitted during prolonged inactivity
Solution Approach 1:
The keepalive interval is changed from a fixed value to a dynamic value that adapts based on network conditions and observed packet loss patterns. The system continuously monitors network responsiveness and adjusts the interval accordingly, sending packets more frequently when loss is detected and less frequently when the network is stable, thus maintaining connection reliability while reducing unnecessary transmissions.
Solution Approach 2:
The system implements a feedback mechanism where keepalive packet responses are monitored to determine network conditions. Based on whether keepalive packets are successfully received, the system adjusts future keepalive timing decisions. This closed-loop control allows the system to learn from past transmissions and optimize the interval to prevent unnecessary packets while maintaining connection stability.
2Reliability
If keepalive packets are sent frequently, then connection termination is minimized, but network efficiency decreases due to unnecessary decryption and analysis
Solution Approach 1:
Instead of sending keepalive packets at a constant fixed interval, the system uses partial action by sending packets only when necessary based on observed network conditions. When the network is stable and responsive, the interval is extended or packets are skipped entirely. When packet loss or instability is detected, the system increases transmission frequency. This selective approach maintains connection continuity while avoiding unnecessary decryption and analysis operations.
Solution Approach 2:
The keepalive interval parameter is dynamically changed based on network conditions rather than remaining fixed. The system adjusts this critical parameter in response to observed packet loss patterns, network latency, and middlebox behavior. By changing the interval parameter adaptively, the system optimizes the balance between maintaining connection continuity and preserving network efficiency.
3Ease of manufacture
If a fixed keepalive configuration is used, then implementation is simple, but the system cannot adapt to varying network conditions
Solution Approach 1:
The keepalive system performs self-service by automatically monitoring its own performance and adjusting its behavior without external intervention. The system tracks keepalive packet responses, detects network conditions autonomously, and modifies its transmission interval based on observed patterns. This self-adjusting capability provides adaptability to varying network conditions while maintaining relative implementation simplicity, as the adaptation logic is built into the keepalive mechanism itself.
Data Source
AI summary
Techniques for auto tuning keepalive packets intervals to an optimal interval are described. A remote secure session between a client device and a server over a network is established. A determination is made to identify an optimal keepalive interval for sending packets to keep the remote secure session alive over the network, the optimal keepalive interval defining an amount of time between sending of packets that keep a connection open through middleboxes in the network. Keepalive test probes are transmitted by the client device and to the server at different time intervals. An optimal keepalive interval is determined based at least in part on the keepalive test probes transmitted at the different intervals. The client device transmits information indicating the optimal keepalive interval to the server. Finally, the client device transmits keepalive packets according to the optimal keepalive interval.


