Application Framework for Mobile P2P NAT Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

An application framework with various application programming interfaces (APIs) manages complex tasks such as invitations, matchmaking, and NAT traversal, using services like connection data exchange (CDX), matchmaker, and relay services to facilitate efficient and secure P2P connections by generating NAT traversal data and distributing connection data across mobile devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If mobile devices frequently switch between different NAT implementations and communication channels, then connectivity flexibility is improved, but connection establishment difficulty increases

Engineering Contradiction:
Improveconnectivity flexibilityVSAvoidconnection establishment difficulty
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a relay server as an intermediary that mediates between peer-to-peer devices behind different NAT implementations. The relay server receives connection requests, determines appropriate relay paths, and establishes communication channels between devices that would otherwise be unable to connect directly due to NAT restrictions. This mediator approach resolves the complexity of handling multiple NAT types by centralizing the connection establishment logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adapts its behavior based on the detected NAT type and communication channel. When devices switch between different NAT implementations or communication channels, the relay server dynamically adjusts the connection routing and parameters to maintain connectivity. This dynamic adaptation allows the system to handle connectivity flexibility without increasing client-side complexity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If complex NAT traversal operations are performed manually, then connection reliability is improved, but ease of operation deteriorates

Engineering Contradiction:
Improveconnection reliabilityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The relay server performs NAT traversal operations autonomously without requiring manual intervention from the mobile devices. The server detects NAT types, determines appropriate traversal methods, and establishes connections automatically. This self-service approach maintains connection reliability through professional NAT traversal handling while completely eliminating the operational complexity from the user perspective.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

By introducing the relay server as an intermediary that handles all complex NAT traversal operations, the patent shields the mobile devices from these complexities. The server absorbs the computational and operational burden of NAT traversal, leaving the client devices with simple connection initiation and data transmission operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If direct peer-to-peer connections are attempted, then device complexity is reduced, but reliability deteriorates due to NAT restrictions

Engineering Contradiction:
Improvedevice complexityVSAvoidconnection reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The relay server serves as a necessary intermediary that enables reliable connections between devices behind restrictive NAT implementations. Without the relay server, direct peer-to-peer connections would fail due to NAT restrictions. The relay server compensates for these restrictions by providing alternative routing paths and connection management, thereby maintaining reliability while adding minimal complexity to the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9130820B2Application programming interface, system, and method for collaborative online applications
Publication Date: 2015.09.08 APPLE INC
  • US9130820B2 patent drawing
  • US9130820B2 patent drawing
  • US9130820B2 patent drawing

AI summary

An application framework including different application programming interfaces (APIs) is described which performs a variety of mobile device functions in response to API calls from applications. For example, in response to relatively simple API calls made by applications the application framework manages the complex tasks associated with invitations and matchmaking. By way of example, the details of complex transactions such as establishing peer-to-peer connections between mobile devices may be transparent to the application developer, thereby simplifying the application design process. The application framework may include an application daemon for communicating with a first set of services and an applications services module for communicating with a separate set of services. The application framework may also include a cache for caching data for each of the services based on different cache management policies driven by each of the services. The cache may be updated by push notification cache updates sent from each of the services.