NAT-Aware Peer-to-Peer Presence Update via Direct Address Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nodes behind the same Network Address Translation (NAT) scheme are not aware of each other, leading to a significant processing burden due to frequent presence updates and potential packet loss, as they must route packets through supernodes, which can result in bandwidth issues and reliability problems in peer-to-peer systems.

Innovation Solution

Implement a communication system where user nodes compare their first-network addresses to determine if they are within the same second network, allowing direct communication of availability status within the second network without routing through the first network, and if not, routing via the first network, thereby reducing the need for frequent NAT mappings and supernode involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes behind the same NAT route packets through supernodes, then address look-up can be achieved, but bandwidth burden on supernodes increases and packet loss occurs

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments nodes into different groups based on their NAT mapping characteristics. Nodes that share the same external IP address mapping are grouped together, allowing them to communicate directly without routing through supernodes. This segmentation reduces the bandwidth burden on supernodes while maintaining reliable packet delivery within groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces a new intermediary mechanism - a mapping information exchange system that allows nodes to discover shared NAT mappings. Instead of routing all traffic through traditional supernodes, nodes use this mapping information to establish direct communication paths, reducing packet loss and bandwidth consumption on intermediary nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If nodes frequently update presence status, then availability information remains current, but processing burden on the system increases

Engineering Contradiction:
Improvepresence information accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system merges presence status updates with existing NAT mapping information exchange mechanisms. Instead of treating presence updates as separate frequent operations, they are combined with the periodic mapping information synchronization already occurring in the system, reducing overall processing burden while maintaining information accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The invention implements periodic presence status updates synchronized with NAT mapping refresh cycles. Rather than continuous or overly frequent updates, presence information is refreshed at periodic intervals that align with the natural mapping information exchange rhythm, reducing processing complexity while keeping availability information current.

Inventive Principle:
Principle #19Periodic action

3Productivity

If nodes compare first-network addresses to determine same second network, then direct communication is enabled, but additional address comparison processing is required

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidaddress comparison overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary grouping of nodes by their external IP address mappings before communication occurs. Nodes are pre-tagged with their NAT mapping group identifiers, so when communication is needed, they can quickly compare these pre-computed identifiers rather than performing full address comparison calculations, reducing processing overhead while enabling direct communication.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8416711B1Systems and methods for sharing availability status information between network nodes
Publication Date: 2013.04.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8416711B1 patent drawing
  • US8416711B1 patent drawing
  • US8416711B1 patent drawing

AI summary

A communication system, method and client program for communicating via a first network. The system comprises a first network and a router coupling the second network to the first network, the router comprising an address translator configured to map second-network addresses to a lesser number of first-network addresses identifying the second user nodes collectively to the first network. Each of the second user nodes is installed with a communication client configured so as when executed on the second user nodes to: compare the first-network addresses of two of the user nodes, and, if their first-network addresses match such that both are nodes of the second network, communicate an availability status of one of the two user nodes between the two user nodes directly over the second network without routing via the first network.