NAT Traversal via Relay Server for P2P Media Conferencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Establishing a direct peer-to-peer connection between computers located behind multiple Network Address Translation (NAT) layers is challenging due to increased network overhead, latency, and reliability issues with existing techniques like Relaying, UDP Hole Punching, UDP Port Number Prediction, and Simultaneous TCP Connection Initiation.

Innovation Solution

The solution involves using a Relay server to facilitate a direct P2P connection by determining and sharing lists of public addresses and ports between computers, allowing them to initiate direct connections through a sequence of messages that bypass NAT restrictions, even when both peers are behind multiple NAT layers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Relaying technique is used to establish P2P connection through NAT, then connection can be established, but network overhead and latency increase

Engineering Contradiction:
Improveconnection establishmentVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by having both peers establish connections to the relay server before attempting direct peer-to-peer connection. The relay server pre-exchanges address information and coordinates the connection attempt timing, so that when the direct connection is attempted, both peers are already prepared and their NAT devices have opened the necessary ports, reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The relay server acts as an intermediary that facilitates the connection process without being the final communication path. It provides address information exchange and coordinates the timing of direct connection attempts, then steps out of the picture allowing direct peer-to-peer communication, thus reducing ongoing network overhead while maintaining reliable connection establishment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If UDP Hole Punching is used to traverse NAT, then direct connection can be established, but reliability decreases when both peers are behind multiple NAT layers

Engineering Contradiction:
Improveconnection efficiencyVSAvoidconnection success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The relay server serves as a mediator that collects and exchanges address information between peers behind multiple NAT layers. Instead of relying solely on UDP hole punching which may fail with complex NAT configurations, the relay server provides a reliable fallback mechanism to obtain accurate address information and coordinate connection attempts across multiple NAT boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary address discovery and exchange through the relay server before attempting direct connections. This preliminary action ensures that both peers have accurate address information and understand the NAT configuration, allowing them to attempt direct connections with higher success rates even when behind multiple NAT layers.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If direct P2P connection is established without relay server, then minimal infrastructure is needed, but NAT traversal becomes increasingly difficult with multiple NAT layers

Engineering Contradiction:
ImproveinfrastructureVSAvoidNAT traversal capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The relay server acts as a lightweight intermediary that provides essential NAT traversal functionality without requiring complex infrastructure. It enables peers behind any number of NAT layers to exchange address information and coordinate direct connections, making the system adaptable to various NAT configurations while keeping the overall infrastructure simple and distributed.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If existing NAT traversal techniques are used, then connection can be established, but network overhead increases

Engineering Contradiction:
Improveconnection establishmentVSAvoidnetwork overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The relay server provides a efficient intermediary service that reduces overall network overhead by caching and exchanging address information in a single coordinated action. Instead of continuous relayed communication or repeated connection attempts, the relay server enables a single direct connection setup, reducing the total amount of data transmitted and processed across the network.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10630730B2NAT traversal for media conferencing
Publication Date: 2020.04.21 APPLE INC
  • US10630730B2 patent drawing
  • US10630730B2 patent drawing
  • US10630730B2 patent drawing

AI summary

Methods for establishing a direct peer-to-peer (“P2P”) connection between two computers are disclosed. In particular, the methods are designed to work in cases where one or both of the computers are connected to a private network, such private networks being interconnected via a public network, such as the Internet. The connections between the private network and the public network are facilitated by network address translation (“NAT”).