TURN Server Bandwidth Control in NAT Relay Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern packet-based communication protocols, such as WebRTC and SIP, face challenges in controlling bandwidth within NAT environments, as TURN servers do not perform flow-control on packets, leading to potential bandwidth bottlenecks and quality of service issues.

Innovation Solution

Implementing a method to identify endpoints within a NAT system, determine bandwidth limitations based on quality of service requirements and available bandwidth, and establish a relay path with these limitations using a TURN server to manage communication sessions effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a TURN server opens a relay for all communication packets to bypass firewall blocking, then communication reliability is improved, but bandwidth control capability deteriorates (no flow-control is performed)

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidbandwidth control capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies parameter changes by modifying the TURN server to accept and process bandwidth limitation parameters during relay allocation. The server now receives bandwidth limitation values from endpoints and enforces these parameters on the relay paths, transforming the server from a simple relay opener to an active bandwidth controller that adjusts network flow parameters dynamically

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback mechanisms where the TURN server monitors actual bandwidth consumption through packet counting and compares it against the allocated bandwidth limitations. When bandwidth thresholds are approached or exceeded, the server can notify endpoints or adjust relay behavior, creating a closed-loop control system that maintains bandwidth compliance while ensuring communication reliability

Inventive Principle:
Principle #23Feedback

2Reliability

If bandwidth limitation is enforced on relay paths, then quality of service is improved, but device complexity increases (TURN server must manage bandwidth control)

Engineering Contradiction:
Improvequality of serviceVSAvoidTURN server complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by establishing bandwidth limitations at the moment of relay allocation, before actual media traffic flows. The TURN server receives bandwidth limitation parameters during the allocation request phase, configures the relay path with these constraints upfront, and prevents bandwidth violations before they occur, rather than needing complex real-time intervention mechanisms

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling endpoints to declare their own bandwidth requirements and capabilities. Endpoints provide bandwidth limitation information to the TURN server during allocation requests, allowing them to self-manage their bandwidth consumption patterns without requiring the server to actively monitor and control each stream, thus reducing server complexity while maintaining QoS

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11323376B2Bandwidth control in a network address translation (NAT) environment
Publication Date: 2022.05.03 PULSELINK SYSTEMS LLC
  • US11323376B2 patent drawing
  • US11323376B2 patent drawing
  • US11323376B2 patent drawing

AI summary

Embodiments disclosed herein provide systems and methods for controlling bandwidth across a network address translation (NAT) system. In a particular embodiment a method provides, identifying a first endpoint and a second endpoint to a communication session. The first endpoint is located within a domain of the NAT system and the second endpoint is located outside to the domain. The method further provides determining a bandwidth limitation for the communication session and exchanging communications between the first and second endpoints in accordance with the bandwidth limitation.