ICE Proxy Multiplexing Sessions via Username Identifier Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Establishing and maintaining connections based on an offer/answer protocol is challenging when Network Address Translation (NAT) is involved, as existing solutions have limitations and weaknesses.

Innovation Solution

The implementation of Interactive Connectivity Establishment (ICE) sessions involves encoding an identifier in a username sent to a signaling server, which is used to translate and forward messages to the appropriate ICE endpoint, allowing multiple media or client devices to share a single IP and port pair, improving efficiency and usability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple ICE endpoints share a single IP address and port number through NAT, then device accessibility and network efficiency are improved, but session establishment complexity and coordination overhead increase

Engineering Contradiction:
Improvedevice accessibilityVSAvoidsession establishment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an ICE proxy as an intermediary component that mediates between multiple ICE endpoints and the external network. The proxy maintains a mapping table that associates each endpoint's identifier (encoded in username) with its internal IP address and port number, eliminating the need for complex peer-to-peer coordination while enabling multiple endpoints to share a single public IP:port pair. When a datagram arrives, the proxy extracts the identifier from the username, looks up the corresponding endpoint in the mapping table, and forwards the datagram to the correct internal endpoint.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If ICE proxy performs address translation and forwarding without prior coordination, then session setup time is reduced, but message routing accuracy may be compromised

Engineering Contradiction:
Improvesession setup timeVSAvoidmessage routing accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements preliminary action by requiring ICE endpoints to register their identifier (encoded in username) with the ICE proxy before actual communication begins. The proxy stores this mapping information in advance in a mapping table, creating a pre-established routing structure. When datagrams are exchanged during the session, the proxy can immediately perform accurate routing based on the pre-stored mappings without needing to coordinate with endpoints in real-time, thus achieving both fast setup and reliable routing.

Inventive Principle:
Principle #10Preliminary action

3Object-affected harmful factors

If existing NAT-based offer/answer protocols are used, then network address translation is achieved, but connection establishment becomes challenging and inefficient

Engineering Contradiction:
ImproveNAT traversal capabilityVSAvoidconnection establishment ease
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The patent implements self-service by encoding the ICE endpoint's identifier directly in the username field of STUN/ICE datagrams. This allows the endpoint to carry its own routing information within the protocol messages themselves, eliminating the need for complex external coordination or additional signaling mechanisms. The endpoint essentially serves its own routing needs by embedding its identifier in the username, making the NAT traversal process more straightforward and efficient while maintaining compatibility with existing NAT infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10244011B2Multiplexing sessions in telecommunications equipment using interactive connectivity establishment
Publication Date: 2019.03.26 ATLASSIAN PTY LTD
  • US10244011B2 patent drawing
  • US10244011B2 patent drawing
  • US10244011B2 patent drawing

AI summary

A data processing method comprising receiving, at a proxy associated with a plurality of ICE endpoint computers, a datagram from a client computer for a specific ICE endpoint computer of the plurality of ICE endpoint computers, wherein the datagram comprises a username generated by the specific ICE endpoint computer, and wherein the username has been sent to a server computer by the specific ICE endpoint computer for use in establishing a session between the specific ICE endpoint computer and the client computer, in response to attributes of the datagram not matching an entry in a table of the proxy, extracting an identifier from the username, forwarding, by the proxy, the datagram to the specific ICE endpoint based on the identifier.