Persistent Gateway Connections for Rapid Session Reconnection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Establishing or re-establishing an end-to-end connection in computer networking systems, such as remote display protocols, is inefficient and negatively impacts user experience due to the need to reestablish multiple point-to-point connections when connectivity is lost.
Innovation Solution
Implementing persistent point-to-point connections and using reconnect tokens to quickly re-establish connections by maintaining information for identifying necessary connections, reducing the need to re-establish all connections upon disruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional connection re-establishment methods are used, then all point-to-point connections are re-established from scratch, but this causes significant delays and negatively impacts user experience
Solution Approach 1:
The system performs preliminary actions by maintaining connection state information and generating reconnect tokens while the original connection is still active. When disconnection occurs, this pre-prepared information enables rapid reconnection without requiring full re-establishment of all connection components, thus reducing reconnection time while maintaining reliability
Solution Approach 2:
The system creates a reconnect token that contains copied essential connection information (endpoints, parameters, state) from the original connection. This token serves as a lightweight copy that can be quickly processed to re-establish the connection, avoiding the need to reconstruct all connection details from scratch
2Reliability
If all point-to-point connections are re-established from scratch, then connection reliability is ensured, but the process is inefficient and causes significant delays
Solution Approach 1:
The system segments the connection re-establishment process by identifying and preserving individual point-to-point connection states separately. When reconnection is needed, only the specific severed connection is re-established using stored state information, while other connections remain intact, thereby improving efficiency without compromising overall connection reliability
Solution Approach 2:
The system discards the inefficient approach of re-establishing all connections from scratch and recovers the essential connection state information through reconnect tokens. This allows the system to quickly recover only the necessary connection components, improving productivity while maintaining the reliability of the end-to-end connection
3Reliability
If multiple point-to-point connections are re-established, then complete connection restoration is achieved, but the complexity of the reconnection process increases
Solution Approach 1:
The system merges the reconnection logic into a unified process driven by reconnect tokens. Instead of managing multiple independent reconnection procedures for different connection components, the token-based approach consolidates the reconnection process into a single, standardized mechanism that handles all necessary re-establishments systematically, reducing perceived complexity while ensuring complete restoration
Data Source
AI summary
A computing system may receive a request to access a resource from a first device. The computing system may generate a token corresponding to a connection between the first device and a gateway. The computing system updates the token based on information corresponding to a second device hosting the resource. The computing system may establish a connection between the second device and the gateway. The computing system may identify a disconnect between the first device and the gateway. The computing system may maintain a persistent connection between the second device and the gateway. The computing system may use the token to reestablish a connection between the first device and the gateway. The computing system may resume a connection between the second device and the gateway, providing a reconnect between the first device and the second device.


