Middlebox NAT Binding via Application Client Markers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale IoT deployments, maintaining load balancing configurations is challenging due to long-term network address translation (NAT) bindings consuming resources and issues with expired bindings, especially for IoT devices in Power Saving Mode, which affect reverse traffic routing and connection consistency.

Innovation Solution

A middlebox system uses application client markers to maintain and re-establish NAT bindings by coupling source and destination addresses with an application client marker, enabling UDP tunneling and DTLS connection IDs to ensure consistent connection handling and address translation across server switches and device sleep states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If long-term NAT bindings are maintained for IoT devices in Power Saving Mode, then device addressability is preserved, but middlebox resources (memory and processor cycles) are consumed

Engineering Contradiction:
Improvedevice addressabilityVSAvoidmiddlebox resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The middlebox performs preliminary actions by predicting when IoT devices will wake from Power Saving Mode and proactively re-establishing NAT bindings before reverse traffic arrives. This prevents resource exhaustion from maintaining continuous bindings while ensuring bindings are ready when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The NAT binding management becomes dynamic by transitioning from static long-term binding maintenance to adaptive binding re-establishment based on device sleep/wake patterns and traffic flow analysis. Bindings are maintained only when necessary and re-created on-demand.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If NAT bindings are expired or lost for sleeping devices, then middlebox resources are freed, but reverse traffic routing fails and connection consistency is broken

Engineering Contradiction:
Improvemiddlebox resourcesVSAvoidreverse traffic routing
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The middlebox implements feedback mechanisms by monitoring traffic patterns between IoT devices and servers, analyzing device sleep/wake behavior, and using this information to dynamically adjust NAT binding maintenance strategies. This ensures bindings are preserved or re-established based on actual usage patterns.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables self-service by automatically detecting when IoT devices wake from sleep mode and autonomously re-establishing NAT bindings without manual intervention. The middlebox monitors its own binding state and performs corrective actions when bindings expire or are lost.

Inventive Principle:
Principle #25Self-service

3Reliability

If source IP NAT is used for security, then reverse traffic routing is secured, but load balancing is negated due to sticky binding

Engineering Contradiction:
ImprovesecurityVSAvoidload balancing
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The middlebox performs preliminary load balancing by routing initial client requests to appropriate server instances before NAT bindings are established. Subsequent reverse traffic from servers to clients then flows through the pre-determined server instance, maintaining both security and load balancing without requiring sticky bindings.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11425043B2Duplex load balancing for massive IoT applications
Publication Date: 2022.08.23 T MOBILE US INC
  • US11425043B2 patent drawing
  • US11425043B2 patent drawing
  • US11425043B2 patent drawing

AI summary

A middlebox system that maintains a load balancing configuration in a large scale IoT deployment is provided. The system performs reverse address translation for a first packet of a particular application from a first server to a first client according to a binding structure that couples a source address indicating the first client with (i) a destination addresses indicating the first server and (ii) an application client marker of the first client for the particular application. The system performs reverse address translation for a second packet of the particular application from a second server to the first client by using the application client marker in the binding structure to determine the source address indicating the first client.