NAT Traversal via Parallel UDP TCP HTTP Channel Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for traversing Network Address Translation (NAT) hosts, such as HTTP Tunnel technology, suffer from inefficiencies due to a sequential detection approach, leading to prolonged initiation delays in data interaction between client hosts.

Innovation Solution

Simultaneously sending address detection requests for User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) channels, and if both fail, sending a request for Hypertext Transfer Protocol (HTTP) channel, collecting and matching addresses, and selecting the highest priority channel for data interaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential detection approach is used for NAT host traversal, then detection reliability is ensured, but initiation delay increases significantly

Engineering Contradiction:
Improvedetection reliabilityVSAvoidinitiation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by sending detection requests for multiple channels (UDP, TCP, HTTP) simultaneously before the actual data transmission begins. This allows the system to pre-determine the available communication channels and obtain necessary address mapping information in advance, so that when data transmission starts, the channel selection and address mapping are already completed, eliminating the initiation delay that would otherwise occur while performing sequential detection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the detection process into independent parallel detection tasks for different channels (UDP channel detection, TCP channel detection, HTTP channel detection). Each detection task operates independently and simultaneously, rather than sequentially. This segmentation allows the system to conduct multiple detection operations in parallel, significantly reducing the total detection time while maintaining comprehensive channel availability information for reliable data transmission.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If HTTP Tunnel technology is used for NAT traversal, then communication flexibility is improved, but detection efficiency deteriorates

Engineering Contradiction:
Improvecommunication flexibilityVSAvoiddetection efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements universality by establishing a multi-channel detection and communication framework that supports multiple protocols (UDP, TCP, HTTP) simultaneously. The system can detect and utilize any available channel for data transmission, making it adaptable to different NAT configurations and network environments. This multi-functional approach ensures communication flexibility while improving detection efficiency through parallel processing of multiple channel types, rather than being limited to a single HTTP Tunnel approach.

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

Solution Approach 2:

The patent applies dynamics by implementing a dynamic channel selection mechanism that adapts to real-time network conditions. The system sends detection requests for multiple channels in parallel and dynamically selects the best available channel based on detection results. This dynamic approach allows the system to respond flexibly to changing network conditions while maintaining high detection efficiency through simultaneous multi-channel detection, rather than following a fixed sequential detection process.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9432330B2Data interaction method, apparatus, and system
Publication Date: 2016.08.30 HUAWEI TECH CO LTD
  • US9432330B2 patent drawing
  • US9432330B2 patent drawing
  • US9432330B2 patent drawing

AI summary

A data interaction method is provided, which includes: sending simultaneously an address detection request for a UDP channel and an address detection request for a TCP channel; and when both address detection for the UDP channel and address detection for the TCP channel fail, sending an address detection request for an HTTP channel; when detection of at least one channel succeeds, collecting two types of addresses corresponding to each channel in the at least one channel; performing address exchange and address matching with a peer client host; and performing channel connectivity detection based on matched addresses, and selecting a channel with a highest priority from channels on which connectivity detection is successful for data interaction with the peer client host. Therefore, efficiency of traversing a NAT host during address detection is improved.