# US 11,909,711 B2 · Dynamic port allocations in carrier grade network address translation networks

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

- Number: US 11,909,711 B2
- Document ID: US11909711B2
- Status: Granted
- Kind: B2
- Application number: 17/324,015
- Filed: 2021-05-18
- Published: 2022-11-24
- Granted: 2024-02-20
- Earliest claimed: 2021-05-18
- Assignees: AT&T Intellectual Property I, L.P.
- Applicants: AT&T Intellectual Property I, L.P.
- Inventors: Robert Sayko; Avinash Lingala
- Web page: https://patentgrep.com/patent/US11909711B2

## CPC

- H04L 61/2514: between local and global IP addresses
- H04L 61/2517: using port numbers
- G06N 20/00: Machine learning
- H04L 61/4511: using domain name system [DNS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

An example method includes receiving a domain name server (DNS) query initiated by an endpoint device, determining a current port assignment for the endpoint device, changing an allocation of ports for the endpoint device from the current port assignment based on a predicted port allocation need for a current communication session associated with the domain name server query, and performing a network address translation in accordance with the allocation of ports for the endpoint device.

## Claims

### Claim 1

A method comprising:
receiving, by a processing system comprising at least one processor, a domain name server query initiated by an endpoint device;
determining, by the processing system, a current port assignment for the endpoint device;
predicting, by the processing system, a number of ports needed by the endpoint device for use in a communication session with another device, the number of ports predicted based on the domain name server query that is received, wherein the number of ports that is predicted is based on an analysis of historical trends, wherein the historical trends comprise an average number of ports associated with a destination of the domain name server query;
changing, by the processing system, an allocation of ports for the endpoint device from the current port assignment based on the number of ports that is predicted; and
performing, by the processing system, a network address translation in accordance with the allocation of ports for the endpoint device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the domain name server query comprises a domain name server over hypertext transfer protocol.

### Claim 3 (depends on 1)

The method of claim 1, wherein the number of ports that is predicted is based on an analysis from a machine learning algorithm.

### Claim 4 (depends on 3)

The method of claim 3, wherein the machine learning algorithm analyzes time series information and historical information.

### Claim 5 (depends on 4)

The method of claim 4, wherein the time series information comprises usage of the endpoint device and active port allocations.

### Claim 6 (depends on 4)

The method of claim 4, wherein the historical information comprises historical usage of the endpoint device and at least one external metric.

### Claim 7 (depends on 6)

The method of claim 6, wherein the at least one external metric comprises a second average number of ports needed for an application associated with the communication session.

### Claim 8 (depends on 1)

The method of claim 1, wherein the number of ports that is predicted is based on a user log in at the endpoint device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the number of ports that is predicted is based on an application executed by the endpoint device.

### Claim 10 (depends on 1)

The method of claim 1, wherein the changing the allocation of ports comprises determining a quantity of ports currently available for allocation to the endpoint device, assigning a new routable internet protocol address to the endpoint device based on the number of ports that is predicted and the quantity of ports that is determined, and allocating all ports of the new routable internet protocol address to the endpoint device.

### Claim 11 (depends on 1)

The method of claim 1, wherein the changing the allocation of ports comprises removing an allocation of ports from one or more additional endpoint devices that share a routable internet protocol address with endpoint device.

### Claim 12 (depends on 1)

The method of claim 1, wherein the changing the allocation of ports comprises:
updating a session entry table of a network address translation device, wherein the session entry table tracks port assignments for the endpoint device.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
monitoring, by the processing system, an activity associated with the communication session;
predicting, by the processing system, a second number of ports based on a change in the activity of the endpoint device in the communication session; and
changing, by the processing system, the allocation of ports in accordance with the second number of ports that is predicted.

### Claim 14 (depends on 13)

The method of claim 13, wherein the changing the allocation of ports in accordance with the second number of ports that is predicted comprises:
allocating, by the processing system, additional ports to the endpoint device.

### Claim 15 (depends on 13)

The method of claim 13, wherein the changing the allocation of ports in accordance with the second number of ports that is predicted comprises:
reducing, by the processing system, a number of ports that are allocated to the endpoint device.

### Claim 16

A non-transitory computer-readable medium storing instructions which, when executed by a processing system including at least one processor, cause the processing system to perform operations, the operations comprising:
receiving a domain name server query initiated by an endpoint device;
determining a current port assignment for the endpoint device;
predicting a number of ports needed by the endpoint device for use in a communication session with another device, the number of ports predicted based on the domain name server query that is received, wherein the number of ports that is predicted is based on an analysis of historical trends, wherein the historical trends comprise an average number of ports associated with a destination of the domain name server query;
changing an allocation of ports for the endpoint device from the current port assignment based on the number of ports that is predicted; and
performing a network address translation in accordance with the allocation of ports for the endpoint device.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the number of ports that is predicted is based on an analysis from a machine learning algorithm.

### Claim 18

A device comprising:
a processing system including at least one processor; and
a non-transitory computer-readable medium storing instructions which, when executed by the processing system, cause the processing system to perform operations, the operations comprising:
receiving a domain name server query initiated by an endpoint device;
determining a current port assignment for the endpoint device;
predicting a number of ports needed by the endpoint device for use in a communication session with another device, the number of ports predicted based on the domain name server query that is received, wherein the number of ports that is predicted is based on an analysis of historical trends, wherein the historical trends comprise an average number of ports associated with a destination of the domain name server query;
changing an allocation of ports for the endpoint device from the current port assignment based on the number of ports that is predicted; and
performing a network address translation in accordance with the allocation of ports for the endpoint device.

### Claim 19 (depends on 18)

The device of claim 18, wherein the domain name server query comprises a domain name server over hypertext transfer protocol.

### Claim 20 (depends on 18)

The device of claim 18, wherein the number of ports that is predicted is based on an analysis from a machine learning algorithm.
