ICE Proxy Multiplexing Sessions via Username Identifier Encoding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


