IP Library Granted Patent US 10,148,613
Granted Patent B2
US 10,148,613 · App. 15/685,710 · Granted Dec 4, 2018

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 10,148,613
App. No.
15/685,710
Granted
Dec 4, 2018
Kind
B2
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 (31)

1. 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 including by searching at least a portion of the one or more data structures to determine that for at least a combination of the destination IP address and the destination network port, the available source network port has not been already assigned for the source IP address;

wherein a same port number of the determined to be available source network port for the new session to be established for the source IP address is concurrently assigned to a different network session for the same source IP address but for a different destination IP address or a different destination network port.

2. The method of claim 1 , wherein at least one entry of the one or more data structures identifies that for the source IP address, the available source network port has been already assigned to the different network session for the different destination IP address or the different destination network port.

3. The method 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 method 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 method of claim 1 , further comprising establishing a network session using the determined available source network port.

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

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

8. The method of claim 1 , wherein the network session identification information is associated with forwarding network content via a network load balancer.

9. The method of claim 1 , wherein the network session identification information was determined using a request received from a client via a network.

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

11. The method 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.

12. The method 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.

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

14. The method of claim 1 , wherein at least one of the one or more data structures includes a bitmap.

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

16. The method 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.

17. 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 including by searching at least a portion of the one or more data structures to determine that for at least a combination of the destination IP address and the destination network port, the available source network port has not been already assigned for the source IP address;

wherein a same port number of the determined to be available source network port for the new session to be established for the source IP address is allowed to be concurrently assigned to a different network session for the same source IP address but for a different destination IP address or a different destination network port; and

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

18. The system of claim 17 , 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.

19. The system of claim 17 , 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.

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 including by searching at least a portion of the one or more data structures to determine that for at least a combination of the destination IP address and the destination network port, the available source network port has not been already assigned for the source IP address;

wherein a same port number of the determined to be available source network port for the new session to be established for the source IP address is allowed to be concurrently assigned to a different network session for the same source IP address but for a different destination IP address or a different destination network port.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →