Symmetric NAT Traversal Serialization for Multiple Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Symmetric Network Address Translators (NATs) cause connection failures in peer-to-peer applications due to port prediction failures when multiple simultaneous connections are attempted, leading to a high connection failure rate, especially in applications requiring multiple simultaneous connections like multi-player online gaming.
Innovation Solution
The solution involves serializing the critical time windows during the negotiation phase of NAT traversal, delaying port prediction for subsequent connections until after the connectivity check has begun for previous requests, ensuring that each connection request waits until the previous one's critical time window has passed, thereby preventing port prediction failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If port prediction is performed for multiple simultaneous connections through symmetric NAT, then connection establishment speed is improved, but port prediction failures occur leading to connection failures
Solution Approach 1:
The patent applies preliminary action by performing port prediction and constructing the list of predicted transport addresses before actual connection attempts. This allows the system to prepare connection candidates in advance, improving connection establishment speed while maintaining reliability through pre-validation of predicted ports.
Solution Approach 2:
The patent implements dynamics by making the port prediction process adaptive and stateful across multiple connections. The system dynamically adjusts prediction based on previous connection outcomes and maintains connection state information, allowing it to handle multiple simultaneous connections reliably while preserving speed benefits.
2Productivity
If multiple connection requests are sent simultaneously through symmetric NAT, then connection throughput is improved, but port mapping conflicts cause prediction failures
Solution Approach 1:
The patent applies segmentation by dividing the connection establishment process into distinct phases: port prediction phase, connection attempt phase, and fallback phase. This segmentation allows multiple connections to be processed simultaneously through different phases, improving throughput while maintaining prediction accuracy for each individual connection attempt.
Solution Approach 2:
The patent uses an intermediary approach by introducing a list of predicted transport addresses as an intermediate structure. This list acts as a mediator between the port prediction mechanism and actual connection attempts, allowing multiple connections to be coordinated through a centralized prediction registry that prevents mapping conflicts.
3Reliability
If the timeout period for connection establishment is extended, then connection reliability is improved, but connection establishment time increases
Solution Approach 1:
The patent applies preliminary action by performing port prediction and validation before the connection timeout period begins. This pre-validation ensures that the timeout period only starts for verified connection attempts, improving reliability without adding to the actual connection establishment time.
Solution Approach 2:
The patent implements continuity of useful action by maintaining connection state and prediction information across multiple attempts. Rather than restarting the prediction process for each timeout, the system continuously refines predictions based on ongoing connection state, reducing total establishment time while maintaining reliability.
Data Source
AI summary
Handling of multiple connections during NAT traversal for a node behind a symmetric NAT is disclosed. The likelihood of connection failure during symmetric NAT traversal may be reduced by serializing critical time windows after port prediction. Once a connection request has been sent for a first connection, port prediction for a subsequent connection may be delayed until a connectivity check has begun for the first connection. This process may be repeated to handle NAT traversal for multiple simultaneous connections to different nodes.


