Connection Data Exchange Service for NAT Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Peer-to-peer (P2P) connections are hindered by Network Address Translation (NAT) systems, particularly in mobile devices that frequently switch between different NAT implementations, making it difficult to establish direct connections across various communication channels.

Innovation Solution

A connection data exchange (CDX) service acts as a central exchange point to receive and authenticate a 'ticket' containing encrypted NAT hole punch data, allowing mobile devices behind NAT devices to securely and efficiently exchange connection data using NAT hole punch information, facilitating P2P sessions across diverse network topologies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If NAT systems are used to manage public network address allocation, then the depletion of public network address space is slowed, but peer-to-peer connections between devices behind NAT devices become difficult to establish

Engineering Contradiction:
Improvepublic network address spaceVSAvoidpeer-to-peer connection establishment
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces a connection data exchange service as an intermediary that facilitates P2P connections between devices behind NAT devices. The service receives connection data from one device, stores it securely, and provides it to the other device, enabling direct P2P connections to be established despite NAT address translation barriers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If NAT address translation is implemented for security, then private network addresses are hidden from public network, but direct communication channels between devices cannot be established

Engineering Contradiction:
Improvenetwork securityVSAvoiddirect communication establishment
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The patent performs preliminary actions by having devices register their connection data (including NAT-traversed addresses) with the connection data exchange service before attempting direct P2P communication. This advance registration allows the service to prepare and provide the necessary connection information when needed, enabling direct communication while maintaining NAT-based security.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If mobile devices frequently switch between different NAT implementations, then network flexibility is improved, but connection stability across various NAT types deteriorates

Engineering Contradiction:
Improvenetwork switching flexibilityVSAvoidconnection stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent creates a universal connection data exchange service that works across multiple NAT implementations and network types. The service provides a standardized interface for obtaining connection data regardless of the specific NAT type or network configuration, enabling mobile devices to maintain stable P2P connections while freely switching between different networks and NAT implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9319467B2Apparatus and method for efficiently and securely exchanging connection data
Publication Date: 2016.04.19 APPLE INC
  • US9319467B2 patent drawing
  • US9319467B2 patent drawing
  • US9319467B2 patent drawing

AI summary

In the described embodiments, a connection data exchange (“CDX”) service serves as an exchange point for connection data for establishing peer-to-peer (“P2P”) connections between devices. During operation, the CDX service can receive a connection data structure (a “ticket”) that was created by a matchmaker or an invitation service in response to requests from devices attempting to establish P2P connections. Each ticket can identify a corresponding device and can include encrypted NAT hole-punch data associated with the corresponding device. The CDX service can authenticate each ticket and decrypt the NAT hole punch data from the ticket using a corresponding key. The CDX service can then use corresponding NAT hole punch data to send connection data to each of the devices that reside behind NAT devices.