Signaling Server Relay Insertion for NAT Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

WebRTC-based clients located behind NAT servers face challenges in establishing direct peer-to-peer connections due to network address translation, requiring complex configurations and additional logic for TURN servers, which introduce overhead and security risks.

Innovation Solution

A signaling server transparently inserts itself as a relay candidate in signaling messages between clients, allowing them to use the signaling engine for media relaying without the need for a TURN server, simplifying client logic and reducing overhead by automatically allocating a relay server for media communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TURN servers are used for media relaying behind NAT, then connectivity is achieved, but device complexity and security risks increase

Engineering Contradiction:
ImproveconnectivityVSAvoidclient logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The signaling server acts as an intermediary by transparently inserting relay server transport addresses into signaling messages between clients. This mediator approach allows clients behind NAT to connect without implementing complex TURN server logic, as the signaling server handles the relay address insertion automatically during the signaling phase.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The signaling server performs multiple functions: it not only facilitates signaling between clients but also automatically manages relay server address insertion and allocation. This multi-functionality consolidates what would otherwise require separate TURN server infrastructure and client-side implementation into a single unified component.

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

2Reliability

If TURN servers are deployed for NAT traversal, then media relaying is enabled, but data overhead and security risks increase

Engineering Contradiction:
Improvemedia relayingVSAvoidsecurity risks
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The signaling server serves as a trusted intermediary that securely manages relay server address insertion. By controlling the relay address insertion process centrally, the system reduces security risks associated with distributed TURN server implementations and client-side relay logic, while enabling reliable media relaying for clients behind NAT.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If transparent relay insertion is implemented, then client configurations are simplified, but signaling server complexity increases

Engineering Contradiction:
Improveclient configurationsVSAvoidsignaling server
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The signaling server automatically performs relay address insertion without requiring client-side configuration or awareness. The server self-services the relay setup by transparently modifying signaling messages, which simplifies client configurations while concentrating the implementation complexity in the signaling server where it can be centrally managed.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9699237B2Managed media relay selection for real-time communications
Publication Date: 2017.07.04 ORACLE INT CORP
  • US9699237B2 patent drawing
  • US9699237B2 patent drawing
  • US9699237B2 patent drawing

AI summary

A system provides a media relay for real-time communications (“RTC”). The system receives, by a signaling server, a first signaling message from a first client including one or more first candidate transport addresses of the first client. The system generates a modified first signaling message by inserting a transport address of a relay server into the first signaling message, and transmits the modified first signaling message to a second client. Then, the system receives a second signaling message from the second client including one or more second candidate transport addresses of the second client. The system generates a modified second signaling message by inserting the transport address of the relay server into the second signaling message, and transmits the modified second signaling message to the first client.