# US 12,015,588 B2 · Multi-level and dynamic timers for carrier grade NAT

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,015,588 B2
- Document ID: US12015588B2
- Status: Granted
- Kind: B2
- Application number: 17/717,475
- Filed: 2022-04-11
- Published: 2023-10-12
- Granted: 2024-06-18
- Earliest claimed: 2022-04-11
- Assignees: Verizon Patent and Licensing Inc.
- Applicants: Verizon Patent and Licensing Inc.
- Inventors: James Mathison
- Web page: https://patentgrep.com/patent/US12015588B2

## CPC

- H04L 61/256: NAT traversal
- H04L 61/2514: between local and global IP addresses
- H04L 61/2517: using port numbers
- H04L 61/2553: Binding renewal aspects, e.g. using keep-alive messages
- H04L 61/2592: using tunnelling or encapsulation
- H04L 61/5053: Lease time; Renewal aspects
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods described herein use a variable 2MSL timer (also referred to herein as a “port reuse timer”) for a core network/gateway. A network device in a core network detects closing of a session that uses a port designated for Network Address Translation (NAT), monitors an overall NAT port utilization level, and manages release timing for the port based on the overall port utilization level.

## Claims

### Claim 1

A method comprising:
detecting, by a network device in a core network, closing of a session that uses a port designated for Network Address Translation (NAT);
monitoring, by the network device, an overall NAT port utilization level; and
managing, by the network device, release timing for the port based on one or more thresholds for the overall NAT port utilization level, wherein the managing comprises:
starting, in response to the detecting, a binding timer and an aging timer,
maintaining the port in an assigned state until the binding timer expires, and
designating the port with an aging state after the binding timer expires and before the aging timer expires.

### Claim 2 (depends on 1)

The method of claim 1, wherein the aging state permits assignment by the network device when the overall NAT port utilization level exceeds a threshold.

### Claim 3 (depends on 1)

The method of claim 1, wherein ports in an unassigned state are prioritized for assignment over ports in the aging state.

### Claim 4 (depends on 1)

The method of claim 1, wherein managing the release timing for the port further comprises:
assigning the port in the aging state for a new session when the overall NAT port utilization level is above a threshold level; or
designating the port with an unassigned state after the aging timer expires.

### Claim 5 (depends on 1)

The method of claim 1, wherein the network device includes:
a Packet Data Network Gateway (PGW), or
a User Plane Function (UPF).

### Claim 6 (depends on 1)

The method of claim 1, wherein managing the release timing for the port further comprises:
assigning ports from the aging state in order of decreasing age.

### Claim 7 (depends on 1)

The method of claim 1, wherein managing the release timing for the port further comprises:
assigning ports from the aging state to prioritize assignment of contiguous blocks.

### Claim 8 (depends on 1)

The method of claim 1, wherein the network device includes:
a Packet Data Network Gateway (PGW), or
a User Plane Function (UPF).

### Claim 9

A network device comprising:
a processor configured to:
detect, in a core network, closing of a session that uses a port designated for Network Address Translation (NAT);
monitor an overall NAT port utilization level; and
manage release timing for the port based on one or more thresholds for the overall NAT port utilization level, wherein the managing comprises:
starting, in response to the detecting, a binding timer and an aging timer,
maintaining the port in an assigned state until the binding timer expires, and
designating the port with an aging state after the binding timer expires and before the aging timer expires.

### Claim 10 (depends on 9)

The network device of claim 9, wherein ports in an unassigned state are prioritized for assignment over ports in the aging state.

### Claim 11 (depends on 9)

The network device of claim 9, wherein the aging state permits assignment by the network device when the overall NAT port utilization level exceeds a threshold.

### Claim 12 (depends on 9)

The network device of claim 9, wherein, when managing the release timing for the port, the processor is further configured to:
assign the port in the aging state for a new session when the overall NAT port utilization level is above a threshold level; or
designate the port with an unassigned state after the aging timer expires.

### Claim 13 (depends on 9)

The network device of claim 9, wherein the network device includes:
a Packet Data Network Gateway (PGW), or
a User Plane Function (UPF).

### Claim 14 (depends on 9)

The network device of claim 9, wherein, when managing the release timing for the port, the processor is further configured to:
assign ports from the aging state in order of decreasing age.

### Claim 15 (depends on 9)

The network device of claim 9, wherein, when managing the release timing for the port, the processor is further configured to:
assign ports from the aging state to prioritize assignment of contiguous blocks.

### Claim 16

A non-transitory, computer-readable storage medium storing instructions executable by a processor of a network device, which when executed cause the network device to:
detect, in a core network, closing of a session that uses a port designated for Network Address Translation (NAT);
monitor an overall NAT port utilization level; and
manage release timing for the port based on one or more thresholds for the overall NAT port utilization level, wherein the instructions to manage the release timing further cause the network device to:
start, in response to the detecting, a binding timer and an aging timer;
maintain the port in an assigned state until the binding timer expires; and
designate the port with an aging state after the binding timer expires and before the aging timer expires.

### Claim 17 (depends on 12)

The non-transitory, computer-readable storage medium of claim 12, wherein the instructions to manage the release timing for the port further cause the network device to:
prioritize for assignment ports in an unassigned state over ports in the aging state.

### Claim 18 (depends on 12)

The non-transitory, computer-readable storage medium of claim 12, wherein the instructions to manage the release timing for the port further cause the network device to:
assign ports from the aging state to prioritize assignment of contiguous blocks.

### Claim 19 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, wherein the aging state permits assignment by the network device when the overall NAT port utilization level exceeds a threshold.

### Claim 20

A method comprising:
detecting, by a network device in a core network, closing of a session that uses a port designated for Network Address Translation (NAT);
monitoring, by the network device, an overall NAT port utilization level; and
managing, by the network device, release timing for the port based on one or more thresholds for the overall NAT port utilization level, wherein managing the release timing further comprises:
applying variable port reuse timers to permit aggressive NAT port reuse when the overall NAT port utilization levels exceed a threshold, and
applying the variable port reuse timers to permit conservative NAT port reuse when the overall NAT port utilization levels do not exceed the threshold.
