IP Library Granted Patent US 9,781,075
Granted Patent B1
US 9,781,075 · App. 14/338,228 · Granted Oct 3, 2017

Increased port address space

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,781,075
App. No.
14/338,228
Granted
Oct 3, 2017
Kind
B1
Abstract

Managing network ports is disclosed. 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 is determined using a data structure that is based on the destination IP address and the destination network port.

Claims (28)

1. A system for managing network ports, comprising:

a processor configured to:

receive network session identification information associated with a destination IP address and a destination network port; and

determine for a new session to be established for a source IP address, an available source network port using one or more data structures that are at least in part based on the destination IP address and the destination network port, wherein the available source network port is identified as available to be assigned to the new session for the source IP address despite the available source network port being already assigned to an existing different network session for a different destination IP address or a different destination network port, including by searching at least a portion of the one or more data structures to determine that any entry of the one or more data structures for at least a combination of the destination IP address and the destination network port does not already assign the available source network port to any existing session for the combination of the destination IP address and the destination network port and wherein at least one entry of the one or more data structures identifies that for the source IP address the available source network port is already assigned to the existing different network session for the different destination IP address or the different destination network port; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the source network port is a network port of the system.

3. The system of claim 1 , wherein the available source network port is selected from a group of source network ports identified using the one or more data structures and the group of source network ports is identified as not already being assigned to a plurality of data structure entries for the destination IP address and the destination network port.

4. The system of claim 1 , wherein a selected one of the one or more data structures tracks available source network ports specific to only the destination IP address and the destination network port and the selected one data structure was selected among the one or more data structures that are each associated with a different set of destination IP address and destination network port and the selected one data structure includes a plurality of entries for the destination IP address and the destination network port.

5. The system of claim 1 , wherein a port number of the available source network port is utilized as a source network port number by a plurality of active network sessions of the system using the same source IP address but different destination IP addresses or different destination network ports.

6. The system of claim 1 , further comprising a communication interface configured to establish a network session using the determined available source network port.

7. The system of claim 1 , wherein at least one of the one or more data structures is additionally based on the source IP address.

8. The system of claim 1 , wherein at least one of the one or more data structures is additionally based on a network protocol.

9. The system of claim 1 , wherein the system is a network load balancer and the network session identification information is associated with forwarding network content.

10. The system of claim 1 , wherein the system is a network proxy server and the network session identification information was determined using a request received from a client via a network.

11. The system of claim 1 , wherein the network session identification information identifies the new network session to be established.

12. The system of claim 1 , wherein determining the available source network port using the one or more data structures includes creating at least one of the one or more data structures specifically for at least the destination IP address and the destination network port.

13. The system of claim 1 , wherein determining the available source network port using the one or more data structures includes identifying the available source network port from a range of network ports.

14. The system of claim 13 , wherein the range of network ports excludes one or more reserved ports preconfigured to be reserved.

15. The system of claim 1 , wherein at least one of the one or more data structures is a bitmap.

16. The system of claim 1 , wherein at least one of the one or more data structures is a range binary tree.

17. The system of claim 1 , wherein when a network session of the available source network port ends, at least one of the one or more data structures is updated to reflect that a port number of the available source network port is available for use.

18. The system of claim 1 , wherein at least one of the one or more data structures tracks an available port number of a 16 bit port number.

19. A method for managing network ports, comprising:

receiving network session identification information associated with a destination IP address and a destination network port; and

using a processor to determine for a new session to be established for a source IP address, an available source network port using one or more data structures that are at least in part based on the destination IP address and the destination network port, wherein the available source network port is identified as available to be assigned to the new session for the source IP address despite the available source network port being already assigned to an existing different network session for a different destination IP address or a different destination network port, including by searching at least a portion of the one or more data structures to determine that any entry of the one or more data structures for at least a combination of the destination IP address and the destination network port does not already assign the available source network port to any existing session for the combination of the destination IP address and the destination network port and wherein at least one entry of the one or more data structures identifies that for the source IP address the available source network port is already assigned to the existing different network session for the different destination IP address or the different destination network port.

20. A computer program product for managing network ports, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving network session identification information associated with a destination IP address and a destination network port; and

determining for a new session to be established for a source IP address, an available source network port using one or more data structures that are at least in part based on the destination IP address and the destination network port, wherein the available source network port is identified as available to be assigned to the new session for the source IP address despite the available source network port being already assigned to an existing different network session for a different destination IP address or a different destination network port, including by searching at least a portion of the one or more data structures to determine that any entry of the one or more data structures for at least a combination of the destination IP address and the destination network port does not already assign the available source network port to any existing session for the combination of the destination IP address and the destination network port and wherein at least one entry of the one or more data structures identifies that for the source IP address the available source network port is already assigned to the existing different network session for the different destination IP address or the different destination network port.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2014
From: IYER, SREERAM; HALTORE, KIRON; BASAVAIAH, MURALI
To: AVI NETWORKS
Reel/Frame 034065/0182 →