IP Library › Granted Patent US 11,595,851
Granted Patent B1
US 11,595,851 · App. 17/458,889 · Granted Feb 28, 2023

User plane function (UPF) load balancing supporting multiple slices

Inventors: Mehdi Alasti (Reston, VA); Kazi Bashir (Lewisville, TX); Ash Khamas (Goffstown, NH); Ashish Bansal (Frisco, TX); Siddhartha Chenumolu (Broadlands, VA)
Assignee: DISH Wireless L.L.C.
H04W28/0942H04W48/18
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 11,595,851
App. No.
17/458,889
Granted
Feb 28, 2023
Kind
B1
Abstract

Embodiments are directed towards 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 (93)

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 network slice of a plurality of network slices, wherein:

each network slice of each respective set of network slices comprises of a set of virtual network resources and network traffic flows associated with the network slice and represents an independent virtualized instance of a network defined by allocation of a subset of available network resources in the cellular telecommunication network;

each network slice of the plurality of network slices is supported by a respective user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network;

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 network slice depend on a respective capacity of each network slice and total capacity of each UPF supporting each network slice to have PDU sessions anchored thereon; and

an amount of load put on a network slice 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 network slice of the plurality of network slices on which to anchor the PDU session based on a location of the new UE and determined load-regions for each network slice of the plurality of network slices defined by the plurality of load thresholds; and

anchoring the PDU session of the new UE to the selected network slice and the respective UPF supporting the selected network slice,

wherein the selecting a network slice of the plurality of network slices includes: generating weights for selecting the network slice based on the determined load-regions;

selecting the network slice based on the generated weights;

generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a network slice defined by one or more of lower and upper threshold percentages of network slice load capacity;

in response to receiving the request to anchor the PDU session, for each network slice of the plurality of network slices, determining a load region from the multiple load-regions that a current load of the network slice falls within; and

selecting a network slice of the plurality of network slices based on the determined load-regions for the plurality of network slices and the weights generated based on the determined load regions.

2. The system of claim 1 wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

selecting the particular network slice in response to the determined load-region of the particular network slice being a load-region indicating a current load of the particular network slice is below a threshold capacity.

3. The system of claim 1 , wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls;

determining whether the particular network slice has a determined load region indicating a current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than a current load of another network slice of the plurality of network slices; and

in response to the particular network slice having a determined load region indicating the current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than the current load of another network slice of the plurality of network slices, weighting the selection of a network slice of the plurality of network slices such that the particular network slice is not overloaded compared to the other network slice of the plurality of network slices by using credit/token-based weighted scheduling or probability-based weighted scheduling.

4. The system of claim 1 , wherein:

each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice;

the selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

the selection of the network slice is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular network slice decreases as a difference between a higher current load of the particular network slice and a lower current load of at least one network slice of the plurality of network slices increases, as indicated by the load regions determined for each network slice of the plurality of network slices.

5. The system of claim 1 wherein the generating multiple load-regions includes:

generating a lowest load-region indicating a current network slice load less than a first threshold percentage of network slice capacity;

generating one or more intermediate non-overlapping load-regions each defined by respective lower and upper threshold percentages of network slice capacity and indicating a current load greater than the lowest load-region; and

generating a highest load-region indicating a current network slice load greater than a second threshold percentage of network slice capacity and greater than the one or more intermediate non-overlapping load-regions.

6. A method, comprising:

maintaining a plurality of load thresholds for each network slice of a plurality of network slices, wherein:

each network slice of each respective set of network slices comprises of a set of virtual network resources and network traffic flows associated with the network slice and represents an independent virtualized instance of a network defined by allocation of a subset of available network resources in the cellular telecommunication network;

each network slice of the plurality of network slices is supported by a respective user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network;

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 network slice depend on a respective capacity of each network slice and total capacity of each UPF supporting each network slice to have PDU sessions anchored thereon; and

an amount of load put on a network slice 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 network slice of the plurality of network slices on which to anchor the PDU session based on a location of the new UE and determined load-regions for each network slice of the plurality of network slices defined by the plurality of load thresholds; and

anchoring the PDU session of the new UE to the selected network slice and the respective UPF supporting the selected network slice,

wherein the selecting a network slice of the plurality of network slices includes:

generating weights for selecting the network slice based on the determined load-regions;

selecting the network slice based on the generated weights;

generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a network slice defined by one or more of lower and upper threshold percentages of network slice load capacity;

in response to receiving the request to anchor the PDU session, for each network slice of the plurality of network slices, determining a load region from the multiple load-regions that a current load of the network slice falls within; and

selecting a network slice of the plurality of network slices based on the determined load-regions for the plurality of network slices and the weights generated based on the determined load regions.

7. The method of claim 6 wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

selecting the particular network slice in response to the determined load-region of the particular network slice being a load-region indicating a current load of the particular network slice is below a threshold capacity.

8. The method of claim 6 , wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls;

determining whether the particular network slice has a determined load region indicating a current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than a current load of another network slice of the plurality of network slices; and

in response to the particular network slice having a determined load region indicating the current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than the current load of another network slice of the plurality of network slices, weighting the selection of a network slice of the plurality of network slices such that the particular network slice is not overloaded compared to the other network slice of the plurality of network slices by using credit/token-based weighted scheduling or probability-based weighted scheduling.

9. The method of claim 6 , wherein:

each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice;

the selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

the selection of the network slice is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular network slice decreases as a difference between a higher current load of the particular network slice and a lower current load of at least one network slice of the plurality of network slices increases, as indicated by the load regions determined for each network slice of the plurality of network slices.

10. The method of claim 6 wherein the generating multiple load-regions includes:

generating a lowest load-region indicating a current network slice load less than a first threshold percentage of network slice capacity;

generating one or more intermediate non-overlapping load-regions each defined by respective lower and upper threshold percentages of network slice capacity and indicating a current load greater than the lowest load-region; and

generating a highest load-region indicating a current network slice load greater than a second threshold percentage of network slice capacity and greater than the one or more intermediate non-overlapping load-regions.

11. 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 network slice of a plurality of network slices, wherein:

each network slice of each respective set of network slices comprises of a set of virtual network resources and network traffic flows associated with the network slice and represents an independent virtualized instance of a network defined by allocation of a subset of available network resources in the cellular telecommunication network;

each network slice of the plurality of network slices is supported by a respective user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network;

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 network slice depend on a respective capacity of each network slice and total capacity of each UPF supporting each network slice to have PDU sessions anchored thereon; and

an amount of load put on a network slice 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 network slice of the plurality of network slices on which to anchor the PDU session based on a location of the new UE and determined load-regions for each network slice of the plurality of network slices defined by the plurality of load thresholds; and

anchoring the PDU session of the new UE to the selected network slice and the respective UPF supporting the selected network slice,

wherein the selecting a network slice of the plurality of network slices includes:

generating weights for selecting the network slice based on the determined load-regions;

selecting the network slice based on the generated weights;

generating multiple load-regions, wherein each load-region corresponds to a different range of current load of a network slice defined by one or more of lower and upper threshold percentages of network slice load capacity;

in response to receiving the request to anchor the PDU session, for each network slice of the plurality of network slices, determining a load region from the multiple load-regions that a current load of the network slice falls within; and

selecting a network slice of the plurality of network slices based on the determined load-regions for the plurality of network slices and the weights generated based on the determined load regions.

12. The non-transitory computer-readable storage medium of claim 11 wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

selecting the particular network slice in response to the determined load-region of the particular network slice being a load-region indicating a current load of the particular network slice is below a threshold capacity.

13. The non-transitory computer-readable storage medium of claim 11 , wherein each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice and selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes:

determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls;

determining whether the particular network slice has a determined load region indicating a current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than a current load of another network slice of the plurality of network slices; and

in response to the particular network slice having a determined load region indicating the current load of the particular network slice is in a different load region indicating a higher current load of the particular network slice than the current load of another network slice of the plurality of network slices, weighting the selection of a network slice of the plurality of network slices such that the particular network slice is not overloaded compared to the other network slice of the plurality of network slices by using credit/token-based weighted scheduling or probability-based weighted scheduling.

14. The non-transitory computer-readable storage medium of claim 11 , wherein:

each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice;

the selecting a network slice of the plurality of network slices based on the generated weights and the determined load-regions for the plurality of network slices includes determining a particular network slice of the plurality of network slices is associated with a respective geographic area within which the location of the new UE falls; and

the selection of the network slice is weighted by using credit/token-based weighted scheduling or probability-based weighted scheduling such that the frequency of selection of the particular network slice decreases as a difference between a higher current load of the particular network slice and a lower current load of at least one network slice of the plurality of network slices increases, as indicated by the load regions determined for each network slice of the plurality of network slices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2025
From: DISH WIRELESS L.L.C.
To: BOOST SUBSCRIBERCO L.L.C.
Reel/Frame 073066/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2023
From: ALASTI, MEHDI; BASHIR, KAZI; KHAMAS, ASH; BANSAL, ASHISH; CHENUMOLU, SIDDHARTHA
To: DISH WIRELESS L.L.C.
Reel/Frame 062275/0912 →
Cited By (5)
US 12,238,611 US 12,309,640 US 12,328,621 US 12,356,249 US 12,676,844