# US 11,910,237 B2 · User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity

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

- Number: US 11,910,237 B2
- Document ID: US11910237B2
- Status: Granted
- Kind: B2
- Application number: 18/093,710
- Filed: 2023-01-05
- Published: 2023-05-11
- Granted: 2024-02-20
- Earliest claimed: 2021-08-12
- Assignees: DISH Wireless L.L.C.
- Applicants: Dish Wireless L.L.C.
- Inventors: Mehdi Alasti; Kazi Bashir; Ash Khamas; Ashish Bansal; Siddhartha Chenumolu
- Web page: https://patentgrep.com/patent/US11910237B2

## CPC

- H04W 40/246: {Connectivity information discovery}
- H04W 72/52: based on load
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1021: based on client or server locations
- H04L 67/1029: using data related to the state of servers by a load balancer
- H04W 4/02: Services making use of location information
- H04W 28/084: among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
- H04W 28/088: among core entities
- H04W 48/18: Selecting a network or a communication service
- H04W 72/12: Wireless traffic scheduling
- H04L 41/147: for predicting network behaviour
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/16: Threshold monitoring
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments are directed towards embodiments are directed toward systems and methods for user plane function (UPF) and network slice load balancing within a 5G network. Example embodiments include systems and methods for load balancing based on current UPF load and thresholds that depend on UPF capacity; UPF load balancing using predicted throughput of new UE on the network based on network data analytics; UPF load balancing based on special considerations for low latency traffic; UPF load balancing supporting multiple slices, maintaining several load-thresholds for each UPF and each slice depending on the UPF and network slice capacity; and UPF load balancing using predicted central processing unit (CPU) utilization and/or predicted memory utilization of new UE on the network based on network data analytics.

## Claims

### Claim 1

A system, comprising:
a memory that stores computer instructions; and
a processor that executes the computer instructions to perform actions, the actions including:
maintaining a plurality of load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network, wherein:
the plurality of UPFs serve as anchor points between user equipment (UE) in the cellular telecommunication network and a data network (DN);
each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting packet data unit (PDU) sessions between the user equipment (UE) and the DN by anchoring the PDU sessions on individual UPFs;
the plurality of load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon; and
an amount of load put on a UPF by a UE appearing in the cellular telecommunication network is assumed to be identical for all UEs appearing in the cellular telecommunication network;
receiving a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network;
selecting a UPF of the plurality of UPFs on which to anchor the PDU session based on determined load-regions for each UPF of the plurality of UPFs defined by the plurality of load thresholds; and
anchoring the PDU session of the new UE to the selected UPF.

### Claim 2 (depends on 1)

The system of claim 1, wherein the selecting a UPF of the plurality of UPFs includes:
generating weights for selecting the UPF based on the determined load-regions; and
selecting the UPF based on the generated weights.

### Claim 3 (depends on 2)

The system of claim 2, wherein the selecting a UPF of the plurality of UPFs includes:
generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a UPF defined by one or more of lower and upper threshold percentages of UPF load capacity;
in response to receiving the request to anchor the PDU session, for each UPF of the plurality of UPFs, determining a load region from the multiple load-regions that a current load of the UPF falls within; and
selecting a UPF of the plurality of UPFs based on the determined load-regions for the plurality of UPFs and the weights generated based on the determined load regions.

### Claim 4 (depends on 3)

The system of claim 3 wherein selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
selecting the particular UPF in response to the determined load-region of the particular UPF being a load-region indicating a current load of the particular UPF is below a threshold capacity.

### Claim 5 (depends on 3)

The system of claim 3, the selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
determining whether the particular UPF has a determined load region indicating a current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than a current load of another UPF of the plurality of UPFs; and
in response to the particular UPF having a determined load region indicating the current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than the current load of another UPF of the plurality of UPFs, weighting the selection of a UPF of the plurality of UPFs such that the particular UPF is not overloaded compared to the other UPF of the plurality of UPFs by using credit/token-based weighted scheduling or probability-based weighted scheduling.

### Claim 6 (depends on 3)

The system of claim 3, wherein:
the selection of the UPF is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular UPF decreases as a difference between a higher current load of the particular UPF and a lower current load of at least one UPF of the plurality of UPFs increases, as indicated by the load regions determined for each UPF of the plurality of UPFs.

### Claim 7 (depends on 3)

The system of claim 3 wherein the generating multiple load-regions includes:
generating a lowest load-region indicating a current UPF load less than a first threshold percentage of UPF capacity;
generating one or more intermediate non-overlapping load-regions each defined by respective lower and upper threshold percentages of UPF capacity and indicating a current load greater than the lowest load-region; and
generating a highest load-region indicating a current UPF load greater than a second threshold percentage of UPF capacity and greater than the one or more intermediate non-overlapping load-regions.

### Claim 8

A method, comprising:
electronically maintaining a plurality of load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network, wherein:
the plurality of UPFs serve as anchor points between user equipment (UE) in the cellular telecommunication network and a data network (DN);
each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting packet data unit (PDU) sessions between the user equipment (UE) and the DN by anchoring the PDU sessions on individual UPFs;
the plurality of load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon; and
an amount of load put on a UPF by a UE appearing in the cellular telecommunication network is assumed to be identical for all UEs appearing in the cellular telecommunication network;
electronically receiving a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network;
electronically selecting a UPF of the plurality of UPFs on which to anchor the PDU session based on determined load-regions for each UPF of the plurality of UPFs defined by the plurality of load thresholds; and
electronically anchoring the PDU session of the new UE to the selected UPF.

### Claim 9 (depends on 8)

The method of claim 8, wherein the selecting a UPF of the plurality of UPFs includes:
generating weights for selecting the UPF based on the determined load-regions; and
selecting the UPF based on the generated weights.

### Claim 10 (depends on 9)

The method of claim 9, wherein the selecting a UPF of the plurality of UPFs includes:
generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a UPF defined by one or more of lower and upper threshold percentages of UPF load capacity;
in response to receiving the request to anchor the PDU session, for each UPF of the plurality of UPFs, determining a load region from the multiple load-regions that a current load of the UPF falls within; and
selecting a UPF of the plurality of UPFs based on the determined load-regions for the plurality of UPFs and the weights generated based on the determined load regions.

### Claim 11 (depends on 10)

The method of claim 10 wherein selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
selecting the particular UPF in response to the determined load-region of the particular UPF being a load-region indicating a current load of the particular UPF is below a threshold capacity.

### Claim 12 (depends on 10)

The method of claim 10, wherein the selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
determining whether the particular UPF has a determined load region indicating a current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than a current load of another UPF of the plurality of UPFs; and
in response to the particular UPF having a determined load region indicating the current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than the current load of another UPF of the plurality of UPFs, weighting the selection of a UPF of the plurality of UPFs such that the particular UPF is not overloaded compared to the other UPF of the plurality of UPFs by using credit/token-based weighted scheduling or probability-based weighted scheduling.

### Claim 13 (depends on 10)

The method of claim 10, wherein:
the selection of the UPF is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular UPF decreases as a difference between a higher current load of the particular UPF and a lower current load of at least one UPF of the plurality of UPFs increases, as indicated by the load regions determined for each UPF of the plurality of UPFs.

### Claim 14 (depends on 10)

The method of claim 10 wherein the generating multiple load-regions includes:
generating a lowest load-region indicating a current UPF load less than a first threshold percentage of UPF capacity;
generating one or more intermediate non-overlapping load-regions each defined by respective lower and upper threshold percentages of UPF capacity and indicating a current load greater than the lowest load-region; and
generating a highest load-region indicating a current UPF load greater than a second threshold percentage of UPF capacity and greater than the one or more intermediate non-overlapping load-regions.

### Claim 15

A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, when executed by at least one computer processor, cause actions to be performed including:
maintaining a plurality of load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network, wherein:
the plurality of UPFs serve as anchor points between user equipment (UE) in the cellular telecommunication network and a data network (DN);
each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting packet data unit (PDU) sessions between the user equipment (UE) and the DN by anchoring the PDU sessions on individual UPFs;
the plurality of load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon; and
an amount of load put on a UPF by a UE appearing in the cellular telecommunication network is assumed to be identical for all UEs appearing in the cellular telecommunication network;
receiving a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network;
selecting a UPF of the plurality of UPFs on which to anchor the PDU session based on determined load-regions for each UPF of the plurality of UPFs defined by the plurality of load thresholds; and
anchoring the PDU session of the new UE to the selected UPF.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the selecting a UPF of the plurality of UPFs includes:
generating weights for selecting the UPF based on the determined load-regions; and
selecting the UPF based on the generated weights.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the selecting a UPF of the plurality of UPFs includes:
generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a UPF defined by one or more of lower and upper threshold percentages of UPF load capacity;
in response to receiving the request to anchor the PDU session, for each UPF of the plurality of UPFs, determining a load region from the multiple load-regions that a current load of the UPF falls within; and
selecting a UPF of the plurality of UPFs based on the determined load-regions for the plurality of UPFs and the weights generated based on the determined load regions.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17 wherein selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
selecting the particular UPF in response to the determined load-region of the particular UPF being a load-region indicating a current load of the particular UPF is below a threshold capacity.

### Claim 19 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the selecting a UPF of the plurality of UPFs based on the generated weights and the determined load-regions for the plurality of UPFs includes:
determining whether the particular UPF has a determined load region indicating a current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than a current load of another UPF of the plurality of UPFs; and
in response to the particular UPF having a determined load region indicating the current load of the particular UPF is in a different load region indicating a higher current load of the particular UPF than the current load of another UPF of the plurality of UPFs, weighting the selection of a UPF of the plurality of UPFs such that the particular UPF is not overloaded compared to the other UPF of the plurality of UPFs by using credit/token-based weighted scheduling or probability-based weighted scheduling.

### Claim 20 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein:
the selection of the UPF is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular UPF decreases as a difference between a higher current load of the particular UPF and a lower current load of at least one UPF of the plurality of UPFs increases, as indicated by the load regions determined for each UPF of the plurality of UPFs.
