Source Port Allocation for Network Session Expansion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limitation of 64K concurrent connections in TCP/IP networks due to the ephemeral source port allocation scheme, which reduces usable connections to about 48K, leads to exhaustion of available source network ports as network utilization increases, especially when multiple IP addresses are not available for use.

Innovation Solution

Implementing a system where source network ports are uniquely allocated for each pair of destination IP address and destination network port, using data structures to track availability, allowing reutilization of source ports across different destination IP addresses and ports, thereby expanding the source port number space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If source network ports are allocated from a shared pool of 64K ports, then the system can maintain simplicity in port management, but the number of available concurrent connections is limited to approximately 48K usable ports

Engineering Contradiction:
Improveport management complexityVSAvoidnumber of available concurrent connections
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the shared port pool into multiple independent per-destination port pools, where each destination IP address and destination port combination has its own dedicated pool of source ports. This segmentation allows each destination to have exclusive access to its port pool, eliminating competition for ports and enabling the system to support many more concurrent connections than the traditional 64K limit while maintaining manageable complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple IP addresses are utilized to increase available source network ports, then the number of concurrent connections can be increased, but the complexity of managing multiple IP addresses increases

Engineering Contradiction:
Improvenumber of available source network portsVSAvoidIP address management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Instead of adding another IP address dimension to increase port availability, the patent introduces a new dimension of port allocation by creating per-destination port pools. This dimensional change allows the system to differentiate ports based on destination characteristics rather than source IP address, effectively multiplying the available port space without requiring additional IP addresses and avoiding the management complexity associated with multiple IPs.

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

3Ease of operation

If a shared pool of source network ports is used for all destinations, then port allocation is simple, but port exhaustion occurs when network connection session demand is high

Engineering Contradiction:
Improveport allocation simplicityVSAvoidavailability of source network ports under high demand
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary action by pre-allocating dedicated port pools for each destination IP address and destination port combination before connections are established. This preliminary segmentation ensures that when high demand occurs, each destination has its own reserved pool of ports available for immediate allocation, preventing port exhaustion and maintaining reliable connection establishment under high network utilization without complicating the allocation process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10341292B2Increased port address space
Publication Date: 2019.07.02 VMWARE INC
  • US10341292B2 patent drawing
  • US10341292B2 patent drawing
  • US10341292B2 patent drawing

AI summary

Network session identification information is received. The network session identification information is associated with a destination IP address and a destination network port. An available source network port for a new session to be established for a source IP address is determined based on the destination IP address and the destination network port.