Server-Mediated NAT Traversal for Point-to-Point Connections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Establishing a point-to-point connection between terminal devices located in different sub-networks, especially when behind different NAT devices, is complex and inefficient due to the use of private network addresses and firewalls, making it difficult to facilitate data transmission.

Innovation Solution

A method and apparatus that utilize a server to provide connection parameters and instructions to devices, allowing them to dynamically determine and adjust connection flows, including priority ordering and timeout settings, to establish and maintain a point-to-point connection, with the option for the server to relay data during interruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional network connection methods are used for devices behind different NAT devices, then connection establishment is possible, but the process is complex and inefficient

Engineering Contradiction:
Improveconnection establishment processVSAvoidconnection configuration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a server as an intermediary to facilitate connection establishment between terminal devices behind different NAT devices. The server receives connection requests from the first device, retrieves connection parameters for the second device, and provides connection instructions that guide the first device through the connection process, thereby simplifying the complexity of direct peer-to-peer connection establishment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple connection flows are provided with priority ordering, then connection reliability is improved, but the system complexity increases

Engineering Contradiction:
Improveconnection stabilityVSAvoidconnection flow management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic connection flow management by providing priority ordering and timeout settings for multiple connection flows. The system dynamically selects and switches between different connection flows based on their success status and configured priorities, allowing the first device to adaptively establish connections through multiple paths while maintaining manageable complexity through server-guided configuration.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If connection parameters are dynamically retrieved and connection instructions are provided, then connection adaptability is improved, but the time required for connection establishment increases

Engineering Contradiction:
Improveconnection method adaptabilityVSAvoidconnection establishment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the server pre-retrieve connection parameters and prepare connection instructions before the actual connection establishment process. The server proactively gathers necessary connection information for the second device and formulates guidance instructions, enabling the first device to execute connection flows more efficiently without time-consuming on-demand parameter retrieval during the connection process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9755928B2Method, server and apparatus for establishing point-to-point connection
Publication Date: 2017.09.05 THROUGHTEK TECH SHENZHEN
  • US9755928B2 patent drawing
  • US9755928B2 patent drawing
  • US9755928B2 patent drawing

AI summary

When a first device is establishing a point-to-point connection with a second device, a server provides connection instructions for assistance. The connection instructions define multiple connection flows. When the connection instructions are received, the first device attempts a first connection flow under a priority order. If failed, another connection is tried by the first device. The server monitors connection status and adjusts the connection instructions according to statistics and circumstances.