Distributed Network Address Translation for Virtual Machine Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Centralized Network Address Translation (NAT) devices in data centers can be a single point of failure and struggle to manage a large number of communication connections, limiting the scalability of virtual machine networks due to a finite set of externally accessible network addresses.

Innovation Solution

Implementing a distributed network and port address translation management system that uses edge computing devices to correlate internal network addresses with externally accessible addresses and port identifiers, allowing multiple virtual machine instances to share a common IP address while being distinguished by unique port addresses, thereby eliminating the need for a centralized translation component.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized NAT device is used to translate network addresses, then address translation functionality is provided, but the system becomes a single point of failure and cannot scale to handle large numbers of connections

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcentralized architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the centralized NAT functionality into distributed NAT components across multiple host computing devices. Each host device independently performs address translation for its local virtual machines, eliminating the single point of failure and enabling horizontal scaling of the system to handle larger numbers of connections.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a finite set of external network addresses is allocated to virtual machines, then network address translation is enabled, but the scalability of the virtual machine network is limited

Engineering Contradiction:
Improvenetwork scalabilityVSAvoidnumber of external addresses
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent introduces port address identifiers as an additional dimension to distinguish virtual machines that share the same external network address. By combining external addresses with port identifiers, the system can support a much larger number of virtual machines without requiring a proportional increase in external IP addresses, thereby improving network scalability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If multiple virtual machines share a common IP address using port address identifiers, then address efficiency is improved, but the complexity of address management increases

Engineering Contradiction:
Improveaddress allocation flexibilityVSAvoidaddress management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables host computing devices to autonomously manage the correlation between internal network addresses, external network addresses, and port address identifiers through local data structures. This distributed self-management approach reduces the operational complexity compared to centralized management while maintaining flexible address allocation capabilities.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9055117B1Distributed network address translation
Publication Date: 2015.06.09 AMAZON TECH INC
  • US9055117B1 patent drawing
  • US9055117B1 patent drawing
  • US9055117B1 patent drawing

AI summary

Systems and methods are disclosed that facilitate the management of network address information utilized by hosted computing devices. Each host computing device includes a local network and port address management component that is configured with port address translation information for the specific host computing device. Additionally, one or more edge computing devices also include a local network and port address management component that is configured with network and port address translation information. The network and port address translation information facilitates the correlation of internal network address information associated with a virtual machine instance with a tuple of an externally accessible network address and port address information. The local network and port address translation management components utilize the network and port address translation information to translate communication requests to and from the virtual machine instances without requiring a centralized network and port address translation component.