US11595851B1 - User plane function (UPF) load balancing supporting multiple slices - Google Patents

User plane function (UPF) load balancing supporting multiple slices Download PDF

Info

Publication number
US11595851B1
US11595851B1 US17/458,889 US202117458889A US11595851B1 US 11595851 B1 US11595851 B1 US 11595851B1 US 202117458889 A US202117458889 A US 202117458889A US 11595851 B1 US11595851 B1 US 11595851B1
Authority
US
United States
Prior art keywords
network
load
network slice
upf
slices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US17/458,889
Other versions
US20230062707A1 (en
Inventor
Mehdi Alasti
Kazi Bashir
Ash Khamas
Ashish Bansal
Siddhartha Chenumolu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dish Wireless LLC
Original Assignee
Dish Wireless LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dish Wireless LLC filed Critical Dish Wireless LLC
Priority to US17/458,889 priority Critical patent/US11595851B1/en
Priority to US18/093,246 priority patent/US11943660B2/en
Assigned to DISH WIRELESS L.L.C. reassignment DISH WIRELESS L.L.C. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHENUMOLU, SIDDHARTHA, ALASTI, MEHDI, BANSAL, ASHISH, BASHIR, Kazi, KHAMAS, ASH
Application granted granted Critical
Publication of US11595851B1 publication Critical patent/US11595851B1/en
Publication of US20230062707A1 publication Critical patent/US20230062707A1/en
Priority to US18/583,625 priority patent/US20240196275A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • H04W28/0942Management thereof using policies based on measured or predicted load of entities- or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Definitions

  • the present disclosure relates generally to digital message communications and, more particularly, to user plane function (UPF) load balancing within a Fifth Generation (5G) communications network.
  • UPF user plane function
  • 5G Core is the heart of a 5G mobile network. It establishes reliable, secure connectivity to the network for end users and provides access to its services.
  • the core domain handles a wide variety of essential functions in the mobile network, such as connectivity of new user equipment (UE) and mobility management, authentication and authorization, subscriber data management and policy management, among others.
  • 5G Core network functions are completely software-based and designed as cloud-native, meaning that they're agnostic to the underlying cloud infrastructure, allowing higher deployment agility and flexibility.
  • 5G Core 5G Core
  • the 5GC architecture is based on what is called a Service-Based Architecture (SBA), which implements IT network principles and a cloud-native design approach.
  • SBA Service-Based Architecture
  • each network function (NF) offers one or more services to other NFs via Application Programming Interfaces (API).
  • API Application Programming Interfaces
  • Each NF such as the user plane function (UPF) and the Session Management Function (SMF) is formed by a combination of small pieces of software code called as microservices. Some microservices can even be re-used for different NFs, making implementation more effective and facilitating independent life-cycle management—which allows upgrades and new functionalities to be deployed with zero impact on running services.
  • 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; systems and methods for UPF load balancing using predicted throughput of new UE on the network based on network data analytics; systems and methods for UPF load balancing based on special considerations for low latency traffic; systems and methods for 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 systems and methods for 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.
  • CPU central processing unit
  • FIG. 1 illustrates a context diagram of an environment in which UPF load balancing may be implemented in accordance with embodiments described herein;
  • FIG. 2 illustrates a logical flow diagram showing one embodiment of a process for load balancing based on current UPF load and thresholds that depend on UPF capacity in accordance with embodiments described herein;
  • FIG. 3 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on generated weights, which is useful in the process of FIG. 2 in accordance with embodiments described herein;
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on the determined load-regions for a plurality of UPFs and the weights generated based on the determined load regions, which is useful in the process of FIG. 3 in accordance with embodiments described herein;
  • FIG. 5 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing using predicted throughput of new user equipment (UE) on the network based on network data analytics in accordance with embodiments described herein;
  • UE new user equipment
  • FIG. 6 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF, which is useful in the process of FIG. 5 in accordance with embodiments described herein;
  • FIG. 7 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF using artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput, which is useful in the process of FIG. 6 in accordance with embodiments described herein;
  • AI artificial intelligence
  • ML machine learning
  • FIG. 8 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing based on special considerations for low latency traffic in accordance with embodiments described herein;
  • FIG. 9 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on the location of the new UE and load-regions for each UPF defined by load thresholds for non-low latency traffic, which is useful in the process of FIG. 8 in accordance with embodiments described herein;
  • FIG. 10 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on whether the network traffic is identified as low latency, which is useful in the process of FIG. 9 in accordance with embodiments described herein;
  • FIG. 11 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing supporting multiple slices, maintaining several load-thresholds for each UPF and each slice depending on the UPF and network slice capacity in accordance with embodiments described herein;
  • FIG. 12 illustrates a logical flow diagram showing one embodiment of a process for selecting the network slice based on generated weights, which is useful in the process of FIG. 11 in accordance with embodiments described herein;
  • FIG. 13 illustrates a logical flow diagram showing one embodiment of a process for selecting the network slice based on determined load-regions for each slice and weights generated based on the determined load regions, which is useful in the process of FIG. 12 in accordance with embodiments described herein;
  • FIG. 14 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing using predicted central processing unit (CPU) utilization and/or predicted memory utilization of new user equipment (UE) on the network based on network data analytics in accordance with embodiments described herein;
  • CPU central processing unit
  • UE new user equipment
  • FIG. 15 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF, which is useful in the process of FIG. 14 in accordance with embodiments described herein;
  • FIG. 16 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF using AI or machine learning (ML) algorithms to perform predictive analysis of CPU utilization and/or predicted memory utilization, which is useful in the process of FIG. 15 in accordance with embodiments described herein;
  • AI machine learning
  • FIG. 17 illustrates a chart showing an example of possible load-regions that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 2 - 7 and 15 - 17 in accordance with embodiments described herein.
  • FIG. 18 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 2 - 4 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein;
  • FIG. 19 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 5 - 7 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein.
  • FIG. 20 illustrates a chart showing an example of possible load-regions for non-low latency traffic that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 8 - 10 in accordance with embodiments described herein.
  • FIG. 21 shows a system diagram that describe various implementations of computing systems for implementing embodiments described herein.
  • FIG. 1 illustrates a context diagram of an environment 100 in which UPF load balancing may be implemented in accordance with embodiments described herein.
  • UEs 110 such as cellular telephones or other Internet-of-Tings (IoT) devices use 5G wireless cellular telecommunication technology defined by standards set by 3GPP and International Telecommunications Union (ITU) to get data connectivity between applications on the UE and Data Networks (DNs) such as the Internet or private corporate networks. Almost all applications running on the UE, including voice, require such data connectivity.
  • a Protocol Data Unit (PDU) session provides connectivity between applications on a UE and a DN. The UE receives services through a PDU session, which is a logical connection between the UE and DN.
  • a DN is identified by a Data Network Name (DNN).
  • DNN Data Network Name
  • PDU sessions can provide different types of transport services corresponding to the nature of the PDU(s) carried over the PDU session.
  • a PDU session may be associated with a single DNN and with a single slice identified by Single-Network Slice Selection Assistance Information (S-NSSAI).
  • S-NSSAI Single-Network Slice Selection Assistance Information
  • the UPF is one of the network functions (NFs) of the 5GC.
  • the UPF comprising UPF1 104 and UPF2 106 in the present example, is responsible for packet routing and forwarding, packet inspection, quality of service (QoS) handling, and interconnecting external PDU sessions with the DN.
  • QoS quality of service
  • UPF1 104 and UPF2 106 are shown in the present example, additional UPFs may be utilized in various other embodiments.
  • Each UPF (e.g., UPF1 104 and UPF2 106 ) is a virtual network function responsible for PDU sessions between the UEs 110 and the DN by anchoring the PDU sessions of various UEs 110 on the individual UPF.
  • the SMF 102 is also one of the NFs of the 5GC and is primarily responsible for interacting with the decoupled data plane, creating updating and removing PDU sessions, selecting particular UPFs on which to anchor PDU sessions when new UEs appear on the network and managing session context with the UPF. Many of such functions are described in the 3GPP TS 23.501 specification.
  • a network function such as the SMF 102 and the UPF, such as UPF1 104 and UPF2 106 , can be implemented either as a network elements on dedicated hardware, as a software instance running on dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g., a cloud infrastructure.
  • UPF1 104 is implemented at data center 1
  • UPF2 106 is implemented at data center 2, which is geographically separated from data center 1.
  • the SMF 102 sends messages to the UPF (comprising UPF 1 104 and UPF 2 in the present example) over the N4 reference interface using the Packet Forwarding Control Protocol (PFCP).
  • PFCP Packet Forwarding Control Protocol
  • the PFCP may employ UDP port ( 8805 ) and is defined to support Control and User Plane Separation (CUPS). Decoupling other control plane functions from the user plane, together with the 5G Core Access and Mobility Management Function (AMF) (not shown), the SMF 102 performs the role of Dynamic Host Control Protocol (DHCP) server and Internet Protocol (IP) Address Management (IPAM) system. Together with the UPF, the SMF 102 maintains a record of PDU session state by means of a 24 bit PDU Session ID. The SMF 102 sets configuration parameters in the UPF that define traffic steering parameters and ensure the appropriate routing of packets while guaranteeing the delivery of incoming packets, though a Downlink (DL) data notification.
  • DL Downlink
  • each UPF1 104 and UPF2 106 may have the ability to establish network connectivity and anchor PDU sessions of any UE on the network via various cellular telecommunication base stations and associated antennas 108 .
  • PDU sessions are by default anchored on the UPF at the data center that is closest geographically to the UE, as illustrated by most of the dashed lines in FIG. 1 for UEs 110 (and an operator defines a service area for each UPF).
  • each UPF e.g., UPF1 104 and UPF2 106
  • UPF load balancing may then cause the PDU session of the next new UE appearing on the network (e.g., UE 112 ) to be anchored on a UPF at a data center (e.g., UPF2 106 ) that is further away than the data center that is closest geographically to the UE.
  • UPF1 104 is at or near its maximum capacity with the PDU sessions of all the other UEs currently anchored on it, so UE 112 has a PDU session anchored on UPF2 106 (as shown by dashed line 114 ) instead of UPF1 104 , even though data center 2 of UPF2 106 is further away from the UE 112 than data center 1 of UPF1 104 .
  • UPF load balancing may cause the PDU session of the next new UE appearing on the network to be anchored on a UPF at a data center that is further away than the data center that is closest geographically to the UE, which improves overall UPF load balancing and network performance.
  • FIG. 2 illustrates a logical flow diagram showing one embodiment of a process 200 for load balancing based on current UPF load and thresholds that depend on UPF capacity in accordance with embodiments described herein.
  • the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network.
  • the plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN.
  • Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs.
  • the load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. In the present example embodiment, 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.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE and determined load-regions for each UPF of the plurality of UPFs defined by the load thresholds.
  • the SMF 102 anchors the PDU session of the new UE to the selected UPF.
  • FIG. 3 illustrates a logical flow diagram showing one embodiment of a process 300 for selecting the UPF based on generated weights, which is useful in the process 200 of FIG. 2 in accordance with embodiments described herein.
  • the SMF 102 generates weights for selecting the UPF based on the determined load-regions.
  • the SMF 102 selects the UPF based on the generated weights.
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process 400 for selecting the UPF based on the determined load-regions for a plurality of UPFs and the weights generated based on the determined load regions, which is useful in the process 300 of FIG. 3 in accordance with embodiments described herein.
  • the SMF 102 generates multiple load-regions. 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.
  • the SMF 102 receives the request to anchor the PDU session.
  • the SMF 102 determines a load region from the multiple load-regions that a current load of the UPF falls within.
  • the SMF 102 determines whether there are additional UPFs in the plurality of UPFs on which the PDU session may be anchored. If it is determined there are additional UPFs on which the PDU session may be anchored, then the process 400 proceeds back to 406 to determine a load region from the multiple load-regions that a current load of the additional UPF falls within. If it is determined there are not additional UPFs on which the PDU session may be anchored, then the process 400 proceeds to 410 .
  • the SMF 102 selects 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.
  • the SMF 102 generates a lowest load-region indicating a current UPF load less than a first threshold percentage of UPF capacity; generates 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 generates a highest load-region indicating a current UPF load greater than a second threshold percentage of UPF capacity and greater than the intermediate non-overlapping load-regions.
  • the SMF 102 determines a particular UPF has a respective geographic area within which the location of the new UE falls. The SMF 102 determines whether the particular UPF has a determined load region indicating its current load is in a different load region indicating a higher current load of the particular UPF than a current load of another UPF. In response to this determination, the SMF 102 weights the selection of a UPF. In particular, the UPF selection by the SMF for load-balancing is based on weighted scheduling of load (UEs) on the UPFs. This weighted scheduling may be credit/token-based (e.g., weighted round robin) or probability based (e.g., using statistical based scheduling algorithms using probability).
  • This weighted scheduling may be credit/token-based (e.g., weighted round robin) or probability based (e.g., using statistical based scheduling algorithms using probability).
  • the SMF 102 may weight the selection of a UPF such that a probability that the particular UPF is selected is lower than a probability of selection of the other UPF.
  • 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.
  • FIG. 5 illustrates a logical flow diagram showing one embodiment of a process 500 for UPF load balancing using predicted throughput of a new UE on the network based on network data analytics in accordance with embodiments described herein.
  • the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network.
  • the plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN.
  • Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs.
  • the load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. However, in the present example embodiment, an amount of load put on a UPF by a UE appearing in the cellular telecommunication network is not assumed to be identical for all UEs appearing in the cellular telecommunication network.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, determined load-regions for each UPF of the plurality of UPFs defined by the load thresholds and predicted throughput of the new UE based on network data analytics.
  • the network data analytics is provided via a network data analytics function (NWDAF) of a 5G mobile network of which the cellular telecommunication network is comprised.
  • NWDAAF network data analytics function
  • the SMF 102 anchors the PDU session of the new UE to the selected UPF.
  • FIG. 6 illustrates a logical flow diagram showing one embodiment of a process 600 for selecting the UPF, which is useful in the process 500 of FIG. 5 in accordance with embodiments described herein.
  • the SMF 102 uses the network data analytics to predict throughput of the UE and load on a UPF of the new UE appearing on the cellular telecommunication network based on the predicted throughput.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and the predicted load of the new UE on a UPF.
  • FIG. 7 illustrates a logical flow diagram showing one embodiment of a process 700 for selecting the UPF using artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput, which is useful in the process 600 of FIG. 6 in accordance with embodiments described herein.
  • AI artificial intelligence
  • ML machine learning
  • the SMF 102 uses artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput of the new UE and resulting load on a UPF of the new UE appearing on the cellular telecommunication network based on historical activity of the new UE appearing on the cellular telecommunication network.
  • AI artificial intelligence
  • ML machine learning
  • the SMF 102 implements a weighted scheduling of load on UPFs to achieve UPF load-balancing based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE.
  • This weighted scheduling can be implemented using credit/token based scheduling algorithms or statistical based scheduling algorithms (using probability).
  • the SMF 102 may weight selection of a particular UPF of the plurality of UPFs based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE by using credit/token-based weighted scheduling or probability-based weighted scheduling.
  • the SMF 102 changes a probability of whether a particular UPF of the plurality of UPFs will be selected based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE.
  • the SMF 102 weights selection of the particular UPF to not overload other UPFs of the plurality of UPFs as compared to the particular UPF in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs of the plurality of UPFs and the predicted load being at a particular level.
  • the SMF 102 may increase a probability that a particular UPF will be selected in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs and the predicted load being at a particular level.
  • the SMF 102 may weight selection of the particular UPF in the plurality of UPFs to not overload the particular UPF beyond a threshold amount compared to other UPFs in the plurality of UPFs based on the predicted load by using credit/token-based weighted scheduling or probability-based weighted scheduling based on the predicted load.
  • the SMF 102 may decrease a probability that the particular UPF will be overloaded beyond a threshold amount compared to other UPFs based on the predicted load by changing the probability of whether the particular UPF will be selected based on the predicted load
  • load balancing may instead be achieved using credit/token based scheduling (e.g., weighted round robin).
  • FIG. 8 illustrates a logical flow diagram showing one embodiment of a process 800 for UPF load balancing based on special considerations for low latency traffic in accordance with embodiments described herein.
  • the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network.
  • the plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN.
  • Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs.
  • the load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. In the present example embodiment, 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.
  • the load thresholds may be reduced by a percentage amount of capacity dedicated for low-latency network traffic.
  • a percentage amount of capacity dedicated for low-latency network traffic may be 10% and thus the load thresholds for non-low latency traffic (such as the thresholds maintained in the process 200 of FIG. 2 ) may be reduced by 10%.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on whether traffic of the PDU session is identified as low latency and a location of the new UE.
  • the SMF 102 anchors the PDU session of the new UE to the selected UPF.
  • FIG. 9 illustrates a logical flow diagram showing one embodiment of a process 900 for selecting the UPF based on the location of the new UE and load-regions for each UPF defined by load thresholds for non-low latency traffic, which is useful in the process 800 of FIG. 8 in accordance with embodiments described herein.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 determines whether the traffic of the PDU session is identified as low latency.
  • the selection of the UPF is based on dedicating a percentage of capacity of each UPF of the plurality of UPFs to low-latency traffic of PDU sessions.
  • Latency may be measured in the time elapsed from when the client sends the first byte of a request to the moment the server receives it, or it may be measured by the total journey time for a packet to travel to the server and then back to the client.
  • the latency is measured from the time that the UPF receives the packet until the time that the packet is delivered to the UE.
  • the latency is measured from the time that the UE sends the packet until the time that the packet is received by the UPF.
  • low latency network traffic may support operations that require near real-time access to rapidly changing data.
  • Low latency is desirable in a wide range of use cases. In a general sense, lower latency is nearly always an improvement over slower packet transport.
  • Low latency is desirable in online gaming as it contributes to a more realistic gaming environment.
  • the term low latency is often used to describe specific business use cases, in particular high-frequency trading in capital markets.
  • the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
  • the SMF selects a UPF based on the location of the new UE and load-regions for each UPF of the plurality of UPFs defined by the load thresholds for non-low latency traffic.
  • FIG. 10 illustrates a logical flow diagram showing one embodiment of a process 1000 for selecting the UPF based on whether the network traffic is identified as low latency, which is useful in the process 900 of FIG. 9 in accordance with embodiments described herein.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 determines whether the traffic of the PDU session is identified as low latency. If traffic of the PDU session is identified as low latency, then the process 1000 proceeds to 1006 . If traffic of the PDU session is not identified as low latency, then the process 1000 proceeds to 1008 .
  • the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
  • the SMF 102 selects a UPF based on weights for selecting the UPF generated based on the load-regions, wherein each load-region corresponds to a different range of current load of the UPF defined by one or more of lower and upper threshold percentages of load capacity of the UPF.
  • each UPF of the plurality of UPFs is identified as currently having a current load falling within a low load-region defined by a current load below a particular threshold, then the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
  • FIG. 11 illustrates a logical flow diagram showing one embodiment of a process 1100 for UPF load balancing supporting multiple slices, maintaining several load-thresholds for each UPF and each slice depending on the UPF and network slice capacity in accordance with embodiments described herein.
  • 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.
  • the “user plane” of 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 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. 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.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 selects 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 load thresholds.
  • the SMF 102 anchors the PDU session of the new UE to the selected network slice and the respective UPF supporting the selected network slice.
  • FIG. 12 illustrates a logical flow diagram showing one embodiment of a process 1200 for selecting the network slice based on generated weights, which is useful in the process 1100 of FIG. 11 in accordance with embodiments described herein.
  • the SMF 102 generates weights for selecting the network slice based on the determined load-regions.
  • the SMF 102 selects the network slice based on the generated weights.
  • FIG. 13 illustrates a logical flow diagram showing one embodiment of a process 1300 for selecting the network slice based on determined load-regions for each slice and weights generated based on the determined load regions, which is useful in the process 1200 of FIG. 12 in accordance with embodiments described herein.
  • the SMF 102 generates multiple load-regions. 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. For example, in one embodiment, the SMF 102 may generate a lowest load-region indicating a current network slice load less than a first threshold percentage of network slice capacity; generate 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 generate a highest load-region indicating a current network slice load greater than a second threshold percentage of network slice capacity and greater than the intermediate load-region(s).
  • the SMF 102 receives the request to anchor the PDU session.
  • the SMF 102 in response to receiving the request to anchor the PDU session, determines a load region from the multiple load-regions that a current load of a network slice falls within.
  • the SMF 102 determines whether there are any additional network slides on which the PDU session may be anchored. If it is determined there are additional network slides on which the PDU session may be anchored, then process 1300 proceeds back to 1306 to determine a load region from the multiple load-regions that a current load of the additional network slice falls within. If it is determined there are not additional network slides on which the PDU session may be anchored, then the process 1300 proceeds to 1310 .
  • the SMF 102 selects 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.
  • each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice (i.e., the geographic area of the data center of the UPF).
  • Selecting a network slice based on the generated weights and the determined load-regions for the plurality of network slices may include 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.
  • the SMF 102 may then select the particular network slice in response 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.
  • selecting a network slice based on the generated weights and the determined load-regions for the plurality of network slices may include 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.
  • the SMF 102 may weight 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 by using credit/token-based weighted scheduling or probability-based weighted scheduling.
  • the selection of a network slice 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.
  • the selection of the network slice is then 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.
  • FIG. 14 illustrates a logical flow diagram showing one embodiment of a process 1400 for UPF load balancing using predicted CPU utilization and/or predicted memory utilization of new UE on the network based on network data analytics in accordance with embodiments described herein.
  • the SMF 102 maintains load thresholds for each UPF of a plurality of UPFs in a cellular telecommunication network.
  • the plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN.
  • Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs.
  • the load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon.
  • the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and one or more of predicted CPU utilization and predicted memory utilization of the new UE based on network data analytics.
  • the network data analytics may be provided via an NWDAF of a 5G mobile network of which the cellular telecommunication network is comprised.
  • FIG. 15 illustrates a logical flow diagram showing one embodiment of a process 1500 for selecting the UPF, which is useful in the process 1400 of FIG. 14 in accordance with embodiments described herein.
  • the SMF 102 uses the network data analytics to predict one or more of CPU utilization and memory utilization of the UE and load on a UPF of the new UE appearing on the cellular telecommunication network based on one or more of the predicted CPU utilization and predicted memory utilization.
  • the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and the predicted load of the new UE on a UPF.
  • FIG. 16 illustrates a logical flow diagram showing one embodiment of a process for 1600 selecting the UPF using AI or machine learning ML algorithms to perform predictive analysis of CPU utilization and/or predicted memory utilization, which is useful in the process 1500 of FIG. 15 in accordance with embodiments described herein.
  • the SMF 102 uses artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of one or more of CPU utilization and memory utilization of the new UE and resulting load on a UPF of the new UE appearing on the cellular telecommunication network based on historical activity of the new UE appearing on the cellular telecommunication network.
  • AI artificial intelligence
  • ML machine learning
  • the SMF 102 implements a weighted scheduling of load on UPFs to achieve UPF load-balancing based on one or more of the predicted CPU utilization and predicted memory utilization of the new UE and resulting predicted load on a UPF of the new UE.
  • This weighted scheduling can be implemented using credit/token based scheduling algorithms or statistical based scheduling algorithms (using probability).
  • the SMF 102 may increase a probability that a particular UPF will be selected in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs of the plurality of UPFs and the resulting predicted load resulting from one or more of the predicted CPU utilization and predicted memory utilization being at a particular level.
  • the SMF 102 may decrease a probability that the particular UPF in the plurality of UPFs will be overloaded beyond a threshold amount compared to other UPFs in the plurality of UPFs based on the resulting predicted load by changing the probability of whether the particular UPF will be selected based on the resulting predicted load resulting from one or more of the predicted CPU utilization and predicted memory utilization.
  • load balancing may instead be achieved using credit/token based scheduling (e.g., weighted round robin).
  • FIG. 17 illustrates a chart 1700 showing an example of possible load-regions that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 2 - 7 and 15 - 17 in accordance with embodiments described herein.
  • the chart 1700 indicates the load region 1702 and the range of percentage of total load capacity 1704 for each load-region 1702 defined by respective load thresholds indicated in the chart 1700 .
  • the “Low” load region indicates a current UPF load of less than 30% of the total load capacity.
  • the “Medium” load region indicates a current UPF load of greater than or equal to 30% and less than 55% of the total load capacity.
  • the “High” load region indicates a current UPF load of greater than or equal to 55% and less than 75% of the total load capacity.
  • the “Very High” load region indicates a current UPF load of greater than or equal to 75% of the total load capacity. There may be additional or different load regions in various other embodiments.
  • the chart 1700 may be stored or represented as a data structure in computer memory and may be maintained and/or accessible by the SMF 102 .
  • FIG. 18 illustrates a timeline 1800 showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 2 - 4 with two UPFs determined to fall within particular different load-regions of those shown in the chart 1700 FIG. 17 at particular times in accordance with embodiments described herein.
  • the SMF 102 determines that the current load of UPF1 104 is 20% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 2% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is also “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • any new UE in the region of UPF1 104 (e.g., the region of UPF1 104 being a respective geographic area associated with data center 1) are anchored on UPF1 104 and any new UE in the region of UPF2 106 (e.g., the region of UPF2 106 being a respective geographic area associated with data center 2) are anchored on UPF2 106 .
  • the SMF 102 determines that the current load of UPF1 104 is 45% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “medium” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 10% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 2.
  • the load balancing can be done using credit/token based scheduling algorithms (using weighted round robin) or done randomly (using statistical based scheduling algorithms using probability): with probability 1 ⁇ 3 a new UE is anchored on UPF1 104 and with probability 2 ⁇ 3 the new UE is anchored on UPF2 106 . Any new UE in the region of UPF2 106 are anchored on UPF2 106 (data center 2).
  • the SMF 102 determines that the current load of UPF1 104 is 65% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “high” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 19% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 4.
  • the load balancing can be done by the SMF 102 using weighted round robin or done randomly, with probability 1 ⁇ 5 a new UE is anchored on UPF1 and with probability 4 ⁇ 5 the new UE is anchored on UPF2).
  • Any new UE in the region of UPF2 106 e.g., the region of UPF2 106 being a respective geographic area associated with data center 2) are anchored on UPF2 106 (data center 2).
  • the SMF 102 determines that the current load of UPF1 104 is 75% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “very high” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 25% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • any new UE in the region of UPF1 104 are anchored on UPF2 106 and any new UE in the region of UPF2 106 (data center 2) are also anchored on UPF2 106 .
  • the credit based scheduling method such as the weighted round robin scheduling, disclosed herein is based on a probabilistic model.
  • a credit/token based weighted round robin scheduling can be used in various other embodiments.
  • FIG. 19 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 5 - 7 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein.
  • the predicted load may be based on data from the network data analytics function (NWDAF).
  • the predicted load may be measured in units based on throughput (e.g., packets per second, bytes per second, and/or bits per second), CPU utilization (e.g., CPU clock cycles, clock ticks, CPU time, CPU time per second, process time, percentage of CPU capacity utilization) and/or memory utilization, (megabytes of memory, and/or percentage of memory capacity utilization) or any combination thereof.
  • throughput e.g., packets per second, bytes per second, and/or bits per second
  • CPU utilization e.g., CPU clock cycles, clock ticks, CPU time, CPU time per second, process time, percentage of CPU capacity utilization
  • memory utilization e.g., megabytes of memory, and/or percentage of memory capacity utilization
  • the SMF 102 determines that the current load of UPF1 104 is 20% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 2% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is also “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • any new UE in the region of UPF1 104 (data center 1) are anchored on UPF1 104 and any new UE in the region of UPF2 106 (data center 2) are anchored on UPF2 106 .
  • the SMF 102 determines that the current load of UPF1 104 is 45% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “medium” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 10% of the total load capacity for UPF2 106 , and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 2.
  • the SMF 102 determines that the predicted load of the new UE is 2 units of load, the SMF 102 will perform load balancing such that there is a 43% probability the SMF 102 anchors the UE to UPF1 104 and a 57% probability the SMF 102 anchors the UE to UPF2 106 . If the SMF 102 determines that the predicted load of the new UE is 1 unit of load, the SMF 102 will perform load balancing such that there is a 25% probability the SMF 102 anchors the UE to UPF1 104 and a 75% probability the SMF 102 anchors the UE to UPF2 106 . Any new UE in the region of UPF2 (data center 2) 106 are anchored on UPF2 106 .
  • the SMF 102 determines that the current load of UPF1 104 is 65% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “high” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 19% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 4.
  • the SMF 102 determines that the predicted load of the new UE is 2 units of load, the SMF 102 will perform load balancing such that there is a 10% probability the SMF 102 anchors the UE to UPF1 104 and a 90% probability the SMF 102 anchors the UE to UPF2 106 . If the SMF 102 determines that the predicted load of the new UE is 1 unit of load, the SMF 102 will perform load balancing such that there is a 28.6% probability the SMF 102 anchors the UE to UPF1 104 and a 71.4% probability the SMF 102 anchors the UE to UPF2 106 . Any new UE in the region of UPF2 106 (data center 2) are anchored on UPF2 106 .
  • the SMF 102 determines that the current load of UPF1 104 is 75% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “very high” based on the load thresholds in the chart 1700 of FIG. 17 .
  • the SMF 102 also determines that the current load of UPF2 106 is 25% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 .
  • any new UE in the region of UPF1 104 (data center 1) are anchored on UPF2 106 and any new UE in the region of UPF2 106 (data center 2) are also anchored on UPF2 106 .
  • the chart 2000 indicates the load region 2002 and the range of percentage of total load capacity 2004 for each load-region 2002 defined by respective load thresholds indicated in the chart 1700 .
  • the load-regions shown in the chart 2000 are used for UPF load balancing based on special considerations for low latency traffic.
  • the load thresholds are reduced compared to those of chart 1700 in FIG. 17 by a percentage amount of capacity dedicated for low-latency network traffic.
  • the percentage amount of capacity dedicated for low-latency network traffic is 10% and thus the load thresholds for non-low latency traffic are reduced by 10%.
  • “Low” load region indicates a current UPF load of less than 20% of the total load capacity.
  • the “Medium” load region indicates a current UPF load of greater than or equal to 20% and less than 45% of the total load capacity.
  • the “High” load region indicates a current UPF load of greater than or equal to 45% and less than 65% of the total load capacity.
  • the “Very High” load region indicates a current UPF load of greater than or equal to 65% of the total load capacity. There may be additional or different load regions in various other embodiments.
  • the chart 1700 may be stored or represented as a data structure in computer memory and may be maintained and/or accessible by the SMF 102 .
  • the SMF 102 may perform such load balancing in the manner described with respect to the processes of FIGS. 8 - 10 and the example herein described with respect to FIG. 18 , but uses the non-low latency load thresholds in chart 1700 instead that are reduced to dedicate 10% of the total load capacity for low-latency network traffic.
  • the SMF 102 maintains the load-regions of the UPFs and creates the slice weights for the weighted load balancing of the UEs/PDU sessions among the UPFs. In such an embodiment, depending on the UPFs slice loads, the SMF 102 creates slice weights for a weighted load balancing of the UEs/PDU sessions among the UPFs.
  • FIG. 21 shows a system diagram that describe various implementations of computing systems 2100 for implementing embodiments described herein.
  • the SMF 102 and the UPF can be implemented either as a network elements on dedicated hardware, as a software instance running on dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g., a cloud infrastructure.
  • NFs may be completely software-based and designed as cloud-native, meaning that they're agnostic to the underlying cloud infrastructure, allowing higher deployment agility and flexibility.
  • FIG. 21 illustrates an example of underlying hardware on which the SMF 102 and the UPF, such as UPF1 104 and UPF2 106 , may be implemented.
  • SMF 102 may be implemented using SMF computer system(s) 2101 .
  • SMF computer system(s) 2101 may include memory 2102 , one or more central processing units (CPUs) 2114 , I/O interfaces 2118 , other computer-readable media 2120 , and network connections 2122 .
  • CPUs central processing units
  • Memory 2102 may include one or more various types of non-volatile and/or volatile storage technologies. Examples of memory 2102 may include, but are not limited to, flash memory, hard disk drives, optical drives, solid-state drives, various types of random access memory (RAM), various types of read-only memory (ROM), other computer-readable storage media (also referred to as processor-readable storage media), or the like, or any combination thereof. Memory 2102 may be utilized to store information, including computer-readable instructions that are utilized by CPU 2114 to perform actions, including embodiments described herein.
  • Memory 2102 may have stored thereon SMF module 2104 .
  • the SMF module 2104 is configured to implement and/or perform some or all of the functions of the SMF 102 described herein.
  • Memory 2102 may also store other programs and data 2110 , which may include load thresholds, load-regions, databases, load-balancing rules, AI or ML programs to perform predictive analysis of UPF load based on predicted UE throughput, CPU utilization and/or memory utilization using data from the NWDAF, user interfaces, operating systems, other network management functions, other NFs, etc.
  • Network connections 2122 are configured to communicate with other computing devices to facilitate the load balancing described herein.
  • the network connections 2122 include transmitters and receivers (not illustrated) to send and receive data as described herein, such as sending data to and receiving data from UPFs, UEs and other NFs to send and receive instructions, commands and data to implement the processes described herein.
  • I/O interfaces 2118 may include a video interfaces, other data input or output interfaces, or the like.
  • Other computer-readable media 2120 may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.
  • UPF computer system(s) 2112 is an example of a computer system that may implement a UPF, such as UPF1 104 and UPF2 106 .
  • UPF computer system(s) 2112 may be present in data center 1 to implement UPF1 104 or present in data center 2 to implement UPF2 106 .
  • Computer system(s) 2112 may include memory 2130 , one or more central processing units (CPUs) 2144 , I/O interfaces 2148 , other computer-readable media 2150 , and network connections 2152 .
  • CPUs central processing units
  • Memory 2130 may have stored thereon UPF module 2124 .
  • the UPF module 214 receives the messages or instructions from the SMF module 204 to perform the load balancing operations as described herein.
  • Memory 2130 may also store other programs and data 2138 , which may include load thresholds, load-regions, databases, load-balancing rules, AI or ML programs to perform predictive analysis of UPF load based on predicted UE throughput, CPU utilization and/or memory utilization using data from the NWDAF, user interfaces, operating systems, other network management functions, other NFs, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

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.

Description

TECHNICAL FIELD
The present disclosure relates generally to digital message communications and, more particularly, to user plane function (UPF) load balancing within a Fifth Generation (5G) communications network.
BRIEF SUMMARY
As the use of smart phones and Internet of Things (IoT) devices has increased, so too has the desire for more reliable, fast, and continuous transmission of content. In an effort to improve the content transmission, networks continue to improve with faster speeds and increased bandwidth. The advent and implementation of 5G technology has resulted in faster speeds and increased bandwidth, but with the drawback of potentially overloading certain portions of the network in certain circumstances. It is with respect to these and other considerations that the embodiments described herein have been made.
5G Core (5GC) is the heart of a 5G mobile network. It establishes reliable, secure connectivity to the network for end users and provides access to its services. The core domain handles a wide variety of essential functions in the mobile network, such as connectivity of new user equipment (UE) and mobility management, authentication and authorization, subscriber data management and policy management, among others. 5G Core network functions are completely software-based and designed as cloud-native, meaning that they're agnostic to the underlying cloud infrastructure, allowing higher deployment agility and flexibility.
With the advent of 5G, industry experts defined how the core network should evolve to support the needs of 5G New Radio (NR) and the advanced use cases enabled by it. Together, they developed the 3rd Generation Partnership Project (3GPP) standard for core networks known as 5G Core (5GC).
The 5GC architecture is based on what is called a Service-Based Architecture (SBA), which implements IT network principles and a cloud-native design approach. In this architecture, each network function (NF) offers one or more services to other NFs via Application Programming Interfaces (API). Each NF, such as the user plane function (UPF) and the Session Management Function (SMF) is formed by a combination of small pieces of software code called as microservices. Some microservices can even be re-used for different NFs, making implementation more effective and facilitating independent life-cycle management—which allows upgrades and new functionalities to be deployed with zero impact on running services.
Briefly described, 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; systems and methods for UPF load balancing using predicted throughput of new UE on the network based on network data analytics; systems and methods for UPF load balancing based on special considerations for low latency traffic; systems and methods for 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 systems and methods for 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.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Non-limiting and non-exhaustive embodiments are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
For a better understanding of the present invention, reference will be made to the following Detailed Description, which is to be read in association with the accompanying drawings:
FIG. 1 illustrates a context diagram of an environment in which UPF load balancing may be implemented in accordance with embodiments described herein;
FIG. 2 illustrates a logical flow diagram showing one embodiment of a process for load balancing based on current UPF load and thresholds that depend on UPF capacity in accordance with embodiments described herein;
FIG. 3 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on generated weights, which is useful in the process of FIG. 2 in accordance with embodiments described herein;
FIG. 4 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on the determined load-regions for a plurality of UPFs and the weights generated based on the determined load regions, which is useful in the process of FIG. 3 in accordance with embodiments described herein;
FIG. 5 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing using predicted throughput of new user equipment (UE) on the network based on network data analytics in accordance with embodiments described herein;
FIG. 6 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF, which is useful in the process of FIG. 5 in accordance with embodiments described herein;
FIG. 7 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF using artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput, which is useful in the process of FIG. 6 in accordance with embodiments described herein;
FIG. 8 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing based on special considerations for low latency traffic in accordance with embodiments described herein;
FIG. 9 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on the location of the new UE and load-regions for each UPF defined by load thresholds for non-low latency traffic, which is useful in the process of FIG. 8 in accordance with embodiments described herein;
FIG. 10 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF based on whether the network traffic is identified as low latency, which is useful in the process of FIG. 9 in accordance with embodiments described herein;
FIG. 11 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing supporting multiple slices, maintaining several load-thresholds for each UPF and each slice depending on the UPF and network slice capacity in accordance with embodiments described herein;
FIG. 12 illustrates a logical flow diagram showing one embodiment of a process for selecting the network slice based on generated weights, which is useful in the process of FIG. 11 in accordance with embodiments described herein;
FIG. 13 illustrates a logical flow diagram showing one embodiment of a process for selecting the network slice based on determined load-regions for each slice and weights generated based on the determined load regions, which is useful in the process of FIG. 12 in accordance with embodiments described herein;
FIG. 14 illustrates a logical flow diagram showing one embodiment of a process for UPF load balancing using predicted central processing unit (CPU) utilization and/or predicted memory utilization of new user equipment (UE) on the network based on network data analytics in accordance with embodiments described herein;
FIG. 15 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF, which is useful in the process of FIG. 14 in accordance with embodiments described herein;
FIG. 16 illustrates a logical flow diagram showing one embodiment of a process for selecting the UPF using AI or machine learning (ML) algorithms to perform predictive analysis of CPU utilization and/or predicted memory utilization, which is useful in the process of FIG. 15 in accordance with embodiments described herein;
FIG. 17 illustrates a chart showing an example of possible load-regions that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 2-7 and 15-17 in accordance with embodiments described herein.
FIG. 18 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 2-4 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein;
FIG. 19 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 5-7 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein.
FIG. 20 illustrates a chart showing an example of possible load-regions for non-low latency traffic that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 8-10 in accordance with embodiments described herein.
FIG. 21 shows a system diagram that describe various implementations of computing systems for implementing embodiments described herein.
DETAILED DESCRIPTION
The following description, along with the accompanying drawings, sets forth certain specific details in order to provide a thorough understanding of various disclosed embodiments. However, one skilled in the relevant art will recognize that the disclosed embodiments may be practiced in various combinations, without one or more of these specific details, or with other methods, components, devices, materials, etc. In other instances, well-known structures or components that are associated with the environment of the present disclosure, including but not limited to the communication systems and networks, have not been shown or described in order to avoid unnecessarily obscuring descriptions of the embodiments. Additionally, the various embodiments may be methods, systems, media, or devices. Accordingly, the various embodiments may be entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects.
Throughout the specification, claims, and drawings, the following terms take the meaning explicitly associated herein, unless the context clearly dictates otherwise. The term “herein” refers to the specification, claims, and drawings associated with the current application. The phrases “in one embodiment,” “in another embodiment,” “in various embodiments,” “in some embodiments,” “in other embodiments,” and other variations thereof refer to one or more features, structures, functions, limitations, or characteristics of the present disclosure, and are not limited to the same or different embodiments unless the context clearly dictates otherwise. As used herein, the term “or” is an inclusive “or” operator, and is equivalent to the phrases “A or B, or both” or “A or B or C, or any combination thereof,” and lists with additional elements are similarly treated. The term “based on” is not exclusive and allows for being based on additional features, functions, aspects, or limitations not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include singular and plural references.
FIG. 1 illustrates a context diagram of an environment 100 in which UPF load balancing may be implemented in accordance with embodiments described herein.
UEs 110, such as cellular telephones or other Internet-of-Tings (IoT) devices use 5G wireless cellular telecommunication technology defined by standards set by 3GPP and International Telecommunications Union (ITU) to get data connectivity between applications on the UE and Data Networks (DNs) such as the Internet or private corporate networks. Almost all applications running on the UE, including voice, require such data connectivity. A Protocol Data Unit (PDU) session provides connectivity between applications on a UE and a DN. The UE receives services through a PDU session, which is a logical connection between the UE and DN. A DN is identified by a Data Network Name (DNN). PDU sessions can provide different types of transport services corresponding to the nature of the PDU(s) carried over the PDU session. In various embodiments, a PDU session may be associated with a single DNN and with a single slice identified by Single-Network Slice Selection Assistance Information (S-NSSAI).
The UPF is one of the network functions (NFs) of the 5GC. The UPF, comprising UPF1 104 and UPF2 106 in the present example, is responsible for packet routing and forwarding, packet inspection, quality of service (QoS) handling, and interconnecting external PDU sessions with the DN. Although two UPFs (UPF1 104 and UPF2 106) are shown in the present example, additional UPFs may be utilized in various other embodiments. Each UPF (e.g., UPF1 104 and UPF2 106) is a virtual network function responsible for PDU sessions between the UEs 110 and the DN by anchoring the PDU sessions of various UEs 110 on the individual UPF. The SMF 102 is also one of the NFs of the 5GC and is primarily responsible for interacting with the decoupled data plane, creating updating and removing PDU sessions, selecting particular UPFs on which to anchor PDU sessions when new UEs appear on the network and managing session context with the UPF. Many of such functions are described in the 3GPP TS 23.501 specification.
A network function, such as the SMF 102 and the UPF, such as UPF1 104 and UPF2 106, can be implemented either as a network elements on dedicated hardware, as a software instance running on dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g., a cloud infrastructure. In the present example, UPF1 104 is implemented at data center 1 and UPF2 106 is implemented at data center 2, which is geographically separated from data center 1. The SMF 102 sends messages to the UPF (comprising UPF 1 104 and UPF 2 in the present example) over the N4 reference interface using the Packet Forwarding Control Protocol (PFCP). The PFCP may employ UDP port (8805) and is defined to support Control and User Plane Separation (CUPS). Decoupling other control plane functions from the user plane, together with the 5G Core Access and Mobility Management Function (AMF) (not shown), the SMF 102 performs the role of Dynamic Host Control Protocol (DHCP) server and Internet Protocol (IP) Address Management (IPAM) system. Together with the UPF, the SMF 102 maintains a record of PDU session state by means of a 24 bit PDU Session ID. The SMF 102 sets configuration parameters in the UPF that define traffic steering parameters and ensure the appropriate routing of packets while guaranteeing the delivery of incoming packets, though a Downlink (DL) data notification.
In the present example embodiment, each UPF1 104 and UPF2 106 may have the ability to establish network connectivity and anchor PDU sessions of any UE on the network via various cellular telecommunication base stations and associated antennas 108. To maximize network performance, PDU sessions are by default anchored on the UPF at the data center that is closest geographically to the UE, as illustrated by most of the dashed lines in FIG. 1 for UEs 110 (and an operator defines a service area for each UPF). However, each UPF (e.g., UPF1 104 and UPF2 106) has a maximum network capacity to handle PDU sessions anchored thereon and the associated network traffic. Thus, PDU sessions anchored on a particular UPF (e.g., UPF1 104) and their associated network traffic may cause the UPF to near its maximum capacity or become overloaded. UPF load balancing may then cause the PDU session of the next new UE appearing on the network (e.g., UE 112) to be anchored on a UPF at a data center (e.g., UPF2 106) that is further away than the data center that is closest geographically to the UE. In the present example, UPF1 104 is at or near its maximum capacity with the PDU sessions of all the other UEs currently anchored on it, so UE 112 has a PDU session anchored on UPF2 106 (as shown by dashed line 114) instead of UPF1 104, even though data center 2 of UPF2 106 is further away from the UE 112 than data center 1 of UPF1 104. In various embodiments described herein, there are different particular scenarios and rules in which UPF load balancing may cause the PDU session of the next new UE appearing on the network to be anchored on a UPF at a data center that is further away than the data center that is closest geographically to the UE, which improves overall UPF load balancing and network performance.
FIG. 2 illustrates a logical flow diagram showing one embodiment of a process 200 for load balancing based on current UPF load and thresholds that depend on UPF capacity in accordance with embodiments described herein.
At 202, the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network. The plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN. Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs. The load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. In the present example embodiment, 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.
At 204, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network. At 206, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE and determined load-regions for each UPF of the plurality of UPFs defined by the load thresholds.
At 208, the SMF 102 anchors the PDU session of the new UE to the selected UPF.
FIG. 3 illustrates a logical flow diagram showing one embodiment of a process 300 for selecting the UPF based on generated weights, which is useful in the process 200 of FIG. 2 in accordance with embodiments described herein.
At 302, the SMF 102 generates weights for selecting the UPF based on the determined load-regions.
At 304, the SMF 102 selects the UPF based on the generated weights.
FIG. 4 illustrates a logical flow diagram showing one embodiment of a process 400 for selecting the UPF based on the determined load-regions for a plurality of UPFs and the weights generated based on the determined load regions, which is useful in the process 300 of FIG. 3 in accordance with embodiments described herein.
At 402, the SMF 102 generates multiple load-regions. 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.
At 404, the SMF 102 receives the request to anchor the PDU session.
At 406, the SMF 102 determines a load region from the multiple load-regions that a current load of the UPF falls within.
At 408, the SMF 102 determines whether there are additional UPFs in the plurality of UPFs on which the PDU session may be anchored. If it is determined there are additional UPFs on which the PDU session may be anchored, then the process 400 proceeds back to 406 to determine a load region from the multiple load-regions that a current load of the additional UPF falls within. If it is determined there are not additional UPFs on which the PDU session may be anchored, then the process 400 proceeds to 410.
At 410, the SMF 102 selects 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.
In an example embodiment, the SMF 102 generates a lowest load-region indicating a current UPF load less than a first threshold percentage of UPF capacity; generates 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 generates a highest load-region indicating a current UPF load greater than a second threshold percentage of UPF capacity and greater than the intermediate non-overlapping load-regions.
In the present example embodiment, each UPF is associated with a different respective geographic UPF service area. Selecting the UPF based on the generated weights and the determined load-regions for the UPFs may include determining a particular UPF has (i.e., is at a data center in) a respective geographic area within which the location of the new UE falls (i.e., is at a data center that is closest geographically to the UE compared to data centers of other UPFs). The particular UPF may then be selected in response to the determined load-region of the particular UPF being a load-region indicating its current load is below a threshold capacity.
In some embodiments, the SMF 102 determines a particular UPF has a respective geographic area within which the location of the new UE falls. The SMF 102 determines whether the particular UPF has a determined load region indicating its current load is in a different load region indicating a higher current load of the particular UPF than a current load of another UPF. In response to this determination, the SMF 102 weights the selection of a UPF. In particular, the UPF selection by the SMF for load-balancing is based on weighted scheduling of load (UEs) on the UPFs. This weighted scheduling may be credit/token-based (e.g., weighted round robin) or probability based (e.g., using statistical based scheduling algorithms using probability). For example, the SMF 102 may weight the selection of a UPF such that a probability that the particular UPF is selected is lower than a probability of selection of the other UPF. In some embodiments, 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.
FIG. 5 illustrates a logical flow diagram showing one embodiment of a process 500 for UPF load balancing using predicted throughput of a new UE on the network based on network data analytics in accordance with embodiments described herein.
At 502, the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network. The plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN. Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs. The load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. However, in the present example embodiment, an amount of load put on a UPF by a UE appearing in the cellular telecommunication network is not assumed to be identical for all UEs appearing in the cellular telecommunication network.
At 504, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 506, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, determined load-regions for each UPF of the plurality of UPFs defined by the load thresholds and predicted throughput of the new UE based on network data analytics. In an example embodiment, the network data analytics is provided via a network data analytics function (NWDAF) of a 5G mobile network of which the cellular telecommunication network is comprised.
At 508, the SMF 102 anchors the PDU session of the new UE to the selected UPF.
FIG. 6 illustrates a logical flow diagram showing one embodiment of a process 600 for selecting the UPF, which is useful in the process 500 of FIG. 5 in accordance with embodiments described herein.
At 602, in selecting the UPF, the SMF 102 uses the network data analytics to predict throughput of the UE and load on a UPF of the new UE appearing on the cellular telecommunication network based on the predicted throughput.
At 604, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and the predicted load of the new UE on a UPF.
FIG. 7 illustrates a logical flow diagram showing one embodiment of a process 700 for selecting the UPF using artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput, which is useful in the process 600 of FIG. 6 in accordance with embodiments described herein.
At 702, in using the network data analytics to predict throughput of the new UE and load on a UPF, the SMF 102 uses artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of throughput of the new UE and resulting load on a UPF of the new UE appearing on the cellular telecommunication network based on historical activity of the new UE appearing on the cellular telecommunication network.
At 704, the SMF 102 implements a weighted scheduling of load on UPFs to achieve UPF load-balancing based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE. This weighted scheduling can be implemented using credit/token based scheduling algorithms or statistical based scheduling algorithms (using probability). The SMF 102 may weight selection of a particular UPF of the plurality of UPFs based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE by using credit/token-based weighted scheduling or probability-based weighted scheduling. For example, in one embodiment, the SMF 102 changes a probability of whether a particular UPF of the plurality of UPFs will be selected based on the predicted throughput of the new UE and resulting predicted load on a UPF of the new UE. In an example embodiment, the SMF 102 weights selection of the particular UPF to not overload other UPFs of the plurality of UPFs as compared to the particular UPF in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs of the plurality of UPFs and the predicted load being at a particular level. For example, the SMF 102 may increase a probability that a particular UPF will be selected in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs and the predicted load being at a particular level. In an example embodiment, the SMF 102 may weight selection of the particular UPF in the plurality of UPFs to not overload the particular UPF beyond a threshold amount compared to other UPFs in the plurality of UPFs based on the predicted load by using credit/token-based weighted scheduling or probability-based weighted scheduling based on the predicted load. For example, the SMF 102 may decrease a probability that the particular UPF will be overloaded beyond a threshold amount compared to other UPFs based on the predicted load by changing the probability of whether the particular UPF will be selected based on the predicted load Such load balancing may instead be achieved using credit/token based scheduling (e.g., weighted round robin).
FIG. 8 illustrates a logical flow diagram showing one embodiment of a process 800 for UPF load balancing based on special considerations for low latency traffic in accordance with embodiments described herein.
At 802, the SMF 102 maintains load thresholds for each user plane function (UPF) of a plurality of UPFs in a cellular telecommunication network. The plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN. Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs. The load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon. In the present example embodiment, 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.
In some embodiments, the load thresholds may be reduced by a percentage amount of capacity dedicated for low-latency network traffic. For example, a percentage amount of capacity dedicated for low-latency network traffic may be 10% and thus the load thresholds for non-low latency traffic (such as the thresholds maintained in the process 200 of FIG. 2 ) may be reduced by 10%.
At 804, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 806, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on whether traffic of the PDU session is identified as low latency and a location of the new UE.
At 808, the SMF 102 anchors the PDU session of the new UE to the selected UPF.
FIG. 9 illustrates a logical flow diagram showing one embodiment of a process 900 for selecting the UPF based on the location of the new UE and load-regions for each UPF defined by load thresholds for non-low latency traffic, which is useful in the process 800 of FIG. 8 in accordance with embodiments described herein.
At 902, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 904, the SMF 102 determines whether the traffic of the PDU session is identified as low latency. In the present example embodiment, the selection of the UPF is based on dedicating a percentage of capacity of each UPF of the plurality of UPFs to low-latency traffic of PDU sessions. Latency may be measured in the time elapsed from when the client sends the first byte of a request to the moment the server receives it, or it may be measured by the total journey time for a packet to travel to the server and then back to the client. In the present example, on the downlink, the latency is measured from the time that the UPF receives the packet until the time that the packet is delivered to the UE. On the uplink, the latency is measured from the time that the UE sends the packet until the time that the packet is received by the UPF. For example, low latency network traffic may support operations that require near real-time access to rapidly changing data. Low latency is desirable in a wide range of use cases. In a general sense, lower latency is nearly always an improvement over slower packet transport. Low latency is desirable in online gaming as it contributes to a more realistic gaming environment. The term low latency is often used to describe specific business use cases, in particular high-frequency trading in capital markets. If traffic of the PDU session is identified as low latency, then the process 900 proceeds to 906. If traffic of the PDU session is not identified as low latency, then the process 900 proceeds to 908.
At 906, the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
At 908, the SMF selects a UPF based on the location of the new UE and load-regions for each UPF of the plurality of UPFs defined by the load thresholds for non-low latency traffic.
FIG. 10 illustrates a logical flow diagram showing one embodiment of a process 1000 for selecting the UPF based on whether the network traffic is identified as low latency, which is useful in the process 900 of FIG. 9 in accordance with embodiments described herein.
At 1002, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 1004, the SMF 102 determines whether the traffic of the PDU session is identified as low latency. If traffic of the PDU session is identified as low latency, then the process 1000 proceeds to 1006. If traffic of the PDU session is not identified as low latency, then the process 1000 proceeds to 1008.
At 1006, the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
At 1008, the SMF 102 selects a UPF based on weights for selecting the UPF generated based on the load-regions, wherein each load-region corresponds to a different range of current load of the UPF defined by one or more of lower and upper threshold percentages of load capacity of the UPF.
In some embodiments, if each UPF of the plurality of UPFs is identified as currently having a current load falling within a low load-region defined by a current load below a particular threshold, then the SMF 102 selects a UPF having a closest associated location to a current location of the new UE.
FIG. 11 illustrates a logical flow diagram showing one embodiment of a process 1100 for UPF load balancing supporting multiple slices, maintaining several load-thresholds for each UPF and each slice depending on the UPF and network slice capacity in accordance with embodiments described herein.
At 1102, the SMF 102 maintains load thresholds for each network slice of a plurality of network slices. In the present example embodiment, 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. The “user plane” of 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 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. 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.
At 1104, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 1106, the SMF 102 selects 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 load thresholds.
At 1108, the SMF 102 anchors the PDU session of the new UE to the selected network slice and the respective UPF supporting the selected network slice.
FIG. 12 illustrates a logical flow diagram showing one embodiment of a process 1200 for selecting the network slice based on generated weights, which is useful in the process 1100 of FIG. 11 in accordance with embodiments described herein.
At 1202, the SMF 102 generates weights for selecting the network slice based on the determined load-regions.
At 1204, the SMF 102 selects the network slice based on the generated weights.
FIG. 13 illustrates a logical flow diagram showing one embodiment of a process 1300 for selecting the network slice based on determined load-regions for each slice and weights generated based on the determined load regions, which is useful in the process 1200 of FIG. 12 in accordance with embodiments described herein.
At 1302, the SMF 102 generates multiple load-regions. 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. For example, in one embodiment, the SMF 102 may generate a lowest load-region indicating a current network slice load less than a first threshold percentage of network slice capacity; generate 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 generate a highest load-region indicating a current network slice load greater than a second threshold percentage of network slice capacity and greater than the intermediate load-region(s).
At 1304, the SMF 102 receives the request to anchor the PDU session.
At 1306, the SMF 102, in response to receiving the request to anchor the PDU session, determines a load region from the multiple load-regions that a current load of a network slice falls within.
At 1306, the SMF 102 determines whether there are any additional network slides on which the PDU session may be anchored. If it is determined there are additional network slides on which the PDU session may be anchored, then process 1300 proceeds back to 1306 to determine a load region from the multiple load-regions that a current load of the additional network slice falls within. If it is determined there are not additional network slides on which the PDU session may be anchored, then the process 1300 proceeds to 1310.
At 1310, the SMF 102 selects 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. In some embodiments, each network slice of the plurality of network slices is associated with a respective geographic area of the respective UPF supporting the network slice (i.e., the geographic area of the data center of the UPF). Selecting a network slice based on the generated weights and the determined load-regions for the plurality of network slices may include 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. The SMF 102 may then select the particular network slice in response 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.
In some embodiments, selecting a network slice based on the generated weights and the determined load-regions for the plurality of network slices may include 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. In response to this, the SMF 102 may weight 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 by using credit/token-based weighted scheduling or probability-based weighted scheduling.
In some embodiments, the selection of a network slice 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. The selection of the network slice is then 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.
FIG. 14 illustrates a logical flow diagram showing one embodiment of a process 1400 for UPF load balancing using predicted CPU utilization and/or predicted memory utilization of new UE on the network based on network data analytics in accordance with embodiments described herein.
At 1402, the SMF 102 maintains load thresholds for each UPF of a plurality of UPFs in a cellular telecommunication network. The plurality of UPFs serve as anchor points between UE in the cellular telecommunication network and a DN. Each UPF of the plurality of UPFs is a virtual network function responsible for interconnecting PDU sessions between the UE and the DN by anchoring the PDU sessions on individual UPFs. The load thresholds for each UPF depend on a respective capacity of each UPF to have PDU sessions anchored thereon.
At 1404, the SMF 102 receives a request to anchor on a UPF a PDU session of a new UE newly appearing on the cellular telecommunication network.
At 1406, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and one or more of predicted CPU utilization and predicted memory utilization of the new UE based on network data analytics. In some embodiments, the network data analytics may be provided via an NWDAF of a 5G mobile network of which the cellular telecommunication network is comprised.
FIG. 15 illustrates a logical flow diagram showing one embodiment of a process 1500 for selecting the UPF, which is useful in the process 1400 of FIG. 14 in accordance with embodiments described herein.
At 1502, the SMF 102 uses the network data analytics to predict one or more of CPU utilization and memory utilization of the UE and load on a UPF of the new UE appearing on the cellular telecommunication network based on one or more of the predicted CPU utilization and predicted memory utilization.
At 1504, the SMF 102 selects a UPF of the plurality of UPFs on which to anchor the PDU session based on a location of the new UE, load-regions for each UPF of the plurality of UPFs defined by the load thresholds and the predicted load of the new UE on a UPF.
FIG. 16 illustrates a logical flow diagram showing one embodiment of a process for 1600 selecting the UPF using AI or machine learning ML algorithms to perform predictive analysis of CPU utilization and/or predicted memory utilization, which is useful in the process 1500 of FIG. 15 in accordance with embodiments described herein.
At 1602, the SMF 102 uses artificial intelligence (AI) or machine learning (ML) algorithms to perform predictive analysis of one or more of CPU utilization and memory utilization of the new UE and resulting load on a UPF of the new UE appearing on the cellular telecommunication network based on historical activity of the new UE appearing on the cellular telecommunication network.
At 1604, the SMF 102 implements a weighted scheduling of load on UPFs to achieve UPF load-balancing based on one or more of the predicted CPU utilization and predicted memory utilization of the new UE and resulting predicted load on a UPF of the new UE. This weighted scheduling can be implemented using credit/token based scheduling algorithms or statistical based scheduling algorithms (using probability). For example, in one embodiment, the SMF 102 may increase a probability that a particular UPF will be selected in response to a current load of the particular UPF being currently in a particular load-region as compared to other UPFs of the plurality of UPFs and the resulting predicted load resulting from one or more of the predicted CPU utilization and predicted memory utilization being at a particular level. The SMF 102 may decrease a probability that the particular UPF in the plurality of UPFs will be overloaded beyond a threshold amount compared to other UPFs in the plurality of UPFs based on the resulting predicted load by changing the probability of whether the particular UPF will be selected based on the resulting predicted load resulting from one or more of the predicted CPU utilization and predicted memory utilization. Such load balancing may instead be achieved using credit/token based scheduling (e.g., weighted round robin).
FIG. 17 illustrates a chart 1700 showing an example of possible load-regions that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 2-7 and 15-17 in accordance with embodiments described herein.
The chart 1700 indicates the load region 1702 and the range of percentage of total load capacity 1704 for each load-region 1702 defined by respective load thresholds indicated in the chart 1700. In the present example, the “Low” load region indicates a current UPF load of less than 30% of the total load capacity. The “Medium” load region indicates a current UPF load of greater than or equal to 30% and less than 55% of the total load capacity. The “High” load region indicates a current UPF load of greater than or equal to 55% and less than 75% of the total load capacity. The “Very High” load region indicates a current UPF load of greater than or equal to 75% of the total load capacity. There may be additional or different load regions in various other embodiments. The chart 1700 may be stored or represented as a data structure in computer memory and may be maintained and/or accessible by the SMF 102.
FIG. 18 illustrates a timeline 1800 showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 2-4 with two UPFs determined to fall within particular different load-regions of those shown in the chart 1700 FIG. 17 at particular times in accordance with embodiments described herein.
For each example point in time t=1, t=2, t=3 and t=4, shown in the timeline 1800 is the determined UPF1 load 1802, the determined UPF2 load 1806 and the corresponding UPF1 load balancing action 1804 and UPF2 load balancing action 1808.
Referring now also to FIG. 1 , in the present example, at time t=1, the SMF 102 determines that the current load of UPF1 104 is 20% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=1, the SMF 102 also determines that the current load of UPF2 106 is 2% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is also “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, any new UE in the region of UPF1 104 (e.g., the region of UPF1 104 being a respective geographic area associated with data center 1) are anchored on UPF1 104 and any new UE in the region of UPF2 106 (e.g., the region of UPF2 106 being a respective geographic area associated with data center 2) are anchored on UPF2 106.
At time t=2, the SMF 102 determines that the current load of UPF1 104 is 45% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “medium” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=2, the SMF 102 also determines that the current load of UPF2 106 is 10% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 2. In particular, for every three new UEs in the region of UPF1 104 (data center 1), one is anchored on UPF1 104 and the other two are anchored on UPF2 106. In various embodiments, the load balancing can be done using credit/token based scheduling algorithms (using weighted round robin) or done randomly (using statistical based scheduling algorithms using probability): with probability ⅓ a new UE is anchored on UPF1 104 and with probability ⅔ the new UE is anchored on UPF2 106. Any new UE in the region of UPF2 106 are anchored on UPF2 106 (data center 2).
At time t=3, the SMF 102 determines that the current load of UPF1 104 is 65% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “high” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=3, the SMF 102 also determines that the current load of UPF2 106 is 19% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 4. In particular for every five new UEs in the region of UPF1 (data center 1), one is anchored on UPF1 and the other four are anchored on UPF2. In various embodiments, the load balancing can be done by the SMF 102 using weighted round robin or done randomly, with probability ⅕ a new UE is anchored on UPF1 and with probability ⅘ the new UE is anchored on UPF2). Any new UE in the region of UPF2 106 (e.g., the region of UPF2 106 being a respective geographic area associated with data center 2) are anchored on UPF2 106 (data center 2).
At time t=4, the SMF 102 determines that the current load of UPF1 104 is 75% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “very high” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=4, the SMF 102 also determines that the current load of UPF2 106 is 25% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, any new UE in the region of UPF1 104 (data center 1) are anchored on UPF2 106 and any new UE in the region of UPF2 106 (data center 2) are also anchored on UPF2 106. In some embodiments, the credit based scheduling method, such as the weighted round robin scheduling, disclosed herein is based on a probabilistic model. Alternatively, a credit/token based weighted round robin scheduling can be used in various other embodiments.
FIG. 19 illustrates a timeline showing an example of possible UPF load balancing that may occur according to the processes of FIGS. 5-7 with two UPFs determined to fall within particular different load-regions of those shown in FIG. 17 at particular times in accordance with embodiments described herein.
For each example point in time t=1, t=2, t=3 and t=4, shown in the timeline 1900 is the determined UPF1 load 1902, the determined UPF2 load 1906, the corresponding UPF1 load balancing action 1904 and UPF2 load balancing action 1908, as well as example new UE predicted loads 1910. For example, the predicted load may be based on data from the network data analytics function (NWDAF). The predicted load may be measured in units based on throughput (e.g., packets per second, bytes per second, and/or bits per second), CPU utilization (e.g., CPU clock cycles, clock ticks, CPU time, CPU time per second, process time, percentage of CPU capacity utilization) and/or memory utilization, (megabytes of memory, and/or percentage of memory capacity utilization) or any combination thereof.
Referring now also to FIG. 1 , in the present example, at time t=1, the SMF 102 determines that the current load of UPF1 104 is 20% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=1, the SMF 102 also determines that the current load of UPF2 106 is 2% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is also “low” based on the load thresholds in the chart 1700 of FIG. 17 . In this case, based on the determined load regions for UPF1 104 and UPF2 106, regardless of any predicted load of the new UE, any new UE in the region of UPF1 104 (data center 1) are anchored on UPF1 104 and any new UE in the region of UPF2 106 (data center 2) are anchored on UPF2 106.
At time t=2, the SMF 102 determines that the current load of UPF1 104 is 45% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “medium” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=2, the SMF 102 also determines that the current load of UPF2 106 is 10% of the total load capacity for UPF2 106, and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 2. For example, based on the detected predicted load of the new UE appearing on the network, if the SMF 102 determines that the predicted load of the new UE is 2 units of load, the SMF 102 will perform load balancing such that there is a 43% probability the SMF 102 anchors the UE to UPF1 104 and a 57% probability the SMF 102 anchors the UE to UPF2 106. If the SMF 102 determines that the predicted load of the new UE is 1 unit of load, the SMF 102 will perform load balancing such that there is a 25% probability the SMF 102 anchors the UE to UPF1 104 and a 75% probability the SMF 102 anchors the UE to UPF2 106. Any new UE in the region of UPF2 (data center 2) 106 are anchored on UPF2 106.
At time t=3, the SMF 102 determines that the current load of UPF1 104 is 65% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “high” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=3, the SMF 102 also determines that the current load of UPF2 106 is 19% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . Based on the determined load regions for UPF1 104 and UPF2 106, the weights determined by the SMF 102 for UPF1 104 load balancing are 1 & 4. For example, based on the detected predicted load of the new UE appearing on the network, if the SMF 102 determines that the predicted load of the new UE is 2 units of load, the SMF 102 will perform load balancing such that there is a 10% probability the SMF 102 anchors the UE to UPF1 104 and a 90% probability the SMF 102 anchors the UE to UPF2 106. If the SMF 102 determines that the predicted load of the new UE is 1 unit of load, the SMF 102 will perform load balancing such that there is a 28.6% probability the SMF 102 anchors the UE to UPF1 104 and a 71.4% probability the SMF 102 anchors the UE to UPF2 106. Any new UE in the region of UPF2 106 (data center 2) are anchored on UPF2 106.
At time t=4, the SMF 102 determines that the current load of UPF1 104 is 75% of the total load capacity for UPF1 104 and thus determines the load region or UPF1 104 is “very high” based on the load thresholds in the chart 1700 of FIG. 17 . At time t=4, the SMF 102 also determines that the current load of UPF2 106 is 25% of the total load capacity for UPF2 106 and thus determines the load region or UPF2 106 is “low” based on the load thresholds in the chart 1700 of FIG. 17 . In this case, based on the determined load regions for UPF1 104 and UPF2 106, regardless of any predicted load of the new UE, any new UE in the region of UPF1 104 (data center 1) are anchored on UPF2 106 and any new UE in the region of UPF2 106 (data center 2) are also anchored on UPF2 106.
FIG. 20 illustrates a chart 2000 showing an example of possible load-regions for non-low latency traffic that a current load of a UPF may be determined to fall within that may be used in the processes of FIGS. 8-10 in accordance with embodiments described herein.
The chart 2000 indicates the load region 2002 and the range of percentage of total load capacity 2004 for each load-region 2002 defined by respective load thresholds indicated in the chart 1700. The load-regions shown in the chart 2000 are used for UPF load balancing based on special considerations for low latency traffic. The load thresholds are reduced compared to those of chart 1700 in FIG. 17 by a percentage amount of capacity dedicated for low-latency network traffic. In the present example, the percentage amount of capacity dedicated for low-latency network traffic is 10% and thus the load thresholds for non-low latency traffic are reduced by 10%. In particular, “Low” load region indicates a current UPF load of less than 20% of the total load capacity. The “Medium” load region indicates a current UPF load of greater than or equal to 20% and less than 45% of the total load capacity. The “High” load region indicates a current UPF load of greater than or equal to 45% and less than 65% of the total load capacity. The “Very High” load region indicates a current UPF load of greater than or equal to 65% of the total load capacity. There may be additional or different load regions in various other embodiments. The chart 1700 may be stored or represented as a data structure in computer memory and may be maintained and/or accessible by the SMF 102.
In one embodiment, in performing UPF load balancing based on special considerations for low latency traffic, the SMF 102 may perform such load balancing in the manner described with respect to the processes of FIGS. 8-10 and the example herein described with respect to FIG. 18 , but uses the non-low latency load thresholds in chart 1700 instead that are reduced to dedicate 10% of the total load capacity for low-latency network traffic.
Also, a chart and/or corresponding data structure similar to that of FIG. 17 using load thresholds shown therein may be generated or used by the SMF 102 to perform UPF load balancing supporting multiple slices as described herein with respect to the processes of FIGS. 11-13 . In such an embodiment, the chart and/or corresponding data structure also or instead indicates such load-thresholds for each slice depending on the UPF and network slice capacity. For example, these load thresholds may be percentage based, such as 30%, 55%, and 75% for slice 1 and 30%, 45%, and 65% for slice 2. Also, depending on the UPFs slice based load-regions, the SMF 102 creates slice based weights for a weighted load balancing between slices of different UPFs. The SMF 102 maintains the load-regions of the UPFs and creates the slice weights for the weighted load balancing of the UEs/PDU sessions among the UPFs. In such an embodiment, depending on the UPFs slice loads, the SMF 102 creates slice weights for a weighted load balancing of the UEs/PDU sessions among the UPFs.
In various embodiments, there may be additional UPFs and additional corresponding data centers. Additional load regions may be determined for each UPF, and the weighting and load balancing may be performed, in one example embodiment as described herein, to adjust the probabilities that a new UE appearing in the network is anchored on a particular UPF based on determined load regions for each UPF and the location of the UE. Such load balancing may instead be achieved using credit/token based scheduling (e.g., weighted round robin).
FIG. 21 shows a system diagram that describe various implementations of computing systems 2100 for implementing embodiments described herein.
The SMF 102 and the UPF, such as UPF1 104 and UPF2 106, can be implemented either as a network elements on dedicated hardware, as a software instance running on dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g., a cloud infrastructure. In some embodiments, such NFs may be completely software-based and designed as cloud-native, meaning that they're agnostic to the underlying cloud infrastructure, allowing higher deployment agility and flexibility. However, FIG. 21 illustrates an example of underlying hardware on which the SMF 102 and the UPF, such as UPF1 104 and UPF2 106, may be implemented. For example, SMF 102 may be implemented using SMF computer system(s) 2101. In some embodiments, one or more special-purpose computing systems may be used to implement SMF 102. Accordingly, various embodiments described herein may be implemented in software, hardware, firmware, or in some combination thereof. SMF computer system(s) 2101 may include memory 2102, one or more central processing units (CPUs) 2114, I/O interfaces 2118, other computer-readable media 2120, and network connections 2122.
Memory 2102 may include one or more various types of non-volatile and/or volatile storage technologies. Examples of memory 2102 may include, but are not limited to, flash memory, hard disk drives, optical drives, solid-state drives, various types of random access memory (RAM), various types of read-only memory (ROM), other computer-readable storage media (also referred to as processor-readable storage media), or the like, or any combination thereof. Memory 2102 may be utilized to store information, including computer-readable instructions that are utilized by CPU 2114 to perform actions, including embodiments described herein.
Memory 2102 may have stored thereon SMF module 2104. The SMF module 2104 is configured to implement and/or perform some or all of the functions of the SMF 102 described herein. Memory 2102 may also store other programs and data 2110, which may include load thresholds, load-regions, databases, load-balancing rules, AI or ML programs to perform predictive analysis of UPF load based on predicted UE throughput, CPU utilization and/or memory utilization using data from the NWDAF, user interfaces, operating systems, other network management functions, other NFs, etc.
Network connections 2122 are configured to communicate with other computing devices to facilitate the load balancing described herein. In various embodiments, the network connections 2122 include transmitters and receivers (not illustrated) to send and receive data as described herein, such as sending data to and receiving data from UPFs, UEs and other NFs to send and receive instructions, commands and data to implement the processes described herein. I/O interfaces 2118 may include a video interfaces, other data input or output interfaces, or the like. Other computer-readable media 2120 may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.
In some embodiments, one or more special-purpose computing systems may be used to implement UPF, such as UPF1 104 and UPF2 106. Accordingly, various embodiments described herein may be implemented in software, hardware, firmware, or in some combination thereof. UPF computer system(s) 2112 is an example of a computer system that may implement a UPF, such as UPF1 104 and UPF2 106. For example, computer system(s) 2112 may be present in data center 1 to implement UPF1 104 or present in data center 2 to implement UPF2 106. Computer system(s) 2112 may include memory 2130, one or more central processing units (CPUs) 2144, I/O interfaces 2148, other computer-readable media 2150, and network connections 2152.
Memory 2130 may include one or more various types of non-volatile and/or volatile storage technologies similar to memory 2102. Memory 2130 may be utilized to store information, including computer-readable instructions that are utilized by CPU 2144 to perform actions, including embodiments described herein.
Memory 2130 may have stored thereon UPF module 2124. The UPF module 214 receives the messages or instructions from the SMF module 204 to perform the load balancing operations as described herein. Memory 2130 may also store other programs and data 2138, which may include load thresholds, load-regions, databases, load-balancing rules, AI or ML programs to perform predictive analysis of UPF load based on predicted UE throughput, CPU utilization and/or memory utilization using data from the NWDAF, user interfaces, operating systems, other network management functions, other NFs, etc.
Network connections 2152 are configured to communicate with other computing devices, such as SMF computer system(s) 2101. In various embodiments, the network connections 2152 include transmitters and receivers (not illustrated) to send and receive data as described herein. I/O interfaces 2148 may include one or more other data input or output interfaces. Other computer-readable media 2150 may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.
The various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

Claims (14)

The invention claimed is:
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.
US17/458,889 2021-08-27 2021-08-27 User plane function (UPF) load balancing supporting multiple slices Active US11595851B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/458,889 US11595851B1 (en) 2021-08-27 2021-08-27 User plane function (UPF) load balancing supporting multiple slices
US18/093,246 US11943660B2 (en) 2021-08-27 2023-01-04 User plane function (UPF) load balancing supporting multiple slices
US18/583,625 US20240196275A1 (en) 2021-08-27 2024-02-21 User plane function (upf) load balancing supporting multiple slices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/458,889 US11595851B1 (en) 2021-08-27 2021-08-27 User plane function (UPF) load balancing supporting multiple slices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/093,246 Continuation US11943660B2 (en) 2021-08-27 2023-01-04 User plane function (UPF) load balancing supporting multiple slices

Publications (2)

Publication Number Publication Date
US11595851B1 true US11595851B1 (en) 2023-02-28
US20230062707A1 US20230062707A1 (en) 2023-03-02

Family

ID=85286397

Family Applications (3)

Application Number Title Priority Date Filing Date
US17/458,889 Active US11595851B1 (en) 2021-08-27 2021-08-27 User plane function (UPF) load balancing supporting multiple slices
US18/093,246 Active US11943660B2 (en) 2021-08-27 2023-01-04 User plane function (UPF) load balancing supporting multiple slices
US18/583,625 Pending US20240196275A1 (en) 2021-08-27 2024-02-21 User plane function (upf) load balancing supporting multiple slices

Family Applications After (2)

Application Number Title Priority Date Filing Date
US18/093,246 Active US11943660B2 (en) 2021-08-27 2023-01-04 User plane function (UPF) load balancing supporting multiple slices
US18/583,625 Pending US20240196275A1 (en) 2021-08-27 2024-02-21 User plane function (upf) load balancing supporting multiple slices

Country Status (1)

Country Link
US (3) US11595851B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230066148A1 (en) * 2021-08-27 2023-03-02 Dish Wireless L.L.C. User plane function (upf) load balancing based on central processing unit (cpu) and memory utilization of the user equipment (ue) in the upf
US20230156522A1 (en) * 2021-11-17 2023-05-18 Dish Wireless L.L.C. Predictive user plane function (upf) load balancing based on network data analytics
US11818607B2 (en) 2011-10-26 2023-11-14 Dish Network Technologies India Private Limited Apparatus systems and methods for proximity-based service discovery and session sharing
US11895536B2 (en) 2021-08-26 2024-02-06 Dish Wireless L.L.C. User plane function (UPF) load balancing based on special considerations for low latency traffic
US11910237B2 (en) 2021-08-12 2024-02-20 Dish Wireless L.L.C. User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity
US11924687B2 (en) 2021-08-26 2024-03-05 Dish Wireless L.L.C. User plane function (UPF) load balancing based on network data analytics to predict load of user equipment
US11943660B2 (en) 2021-08-27 2024-03-26 Dish Wireless L.L.C. User plane function (UPF) load balancing supporting multiple slices

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180262924A1 (en) * 2017-03-10 2018-09-13 Huawei Technologies Co., Ltd. System and Method of Network Policy Optimization
US20180324646A1 (en) 2017-05-08 2018-11-08 Samsung Electronics Co., Ltd. Method and apparatus for supporting session continuity for 5g cellular network
US20190053117A1 (en) 2017-08-14 2019-02-14 Samsung Electronics Co., Ltd. Method of processing anchor user plane function (upf) for local offloading in 5g cellular network
US20190075431A1 (en) 2017-09-07 2019-03-07 T-Mobile Usa, Inc. Function Selection Based on Utilization Level in 5G Environments
US20190191330A1 (en) 2017-12-15 2019-06-20 Huawei Technologies Co., Ltd. Method and system of packet aggregation
WO2019160546A1 (en) 2018-02-14 2019-08-22 Nokia Technologies Oy Session mobility for packet data unit connectivity services
US10470152B2 (en) 2017-03-20 2019-11-05 Samsung Electronics Co., Ltd. Method for supporting efficient PDU session activation and deactivation in cellular networks
CN110662260A (en) 2018-06-28 2020-01-07 中国移动通信有限公司研究院 Information processing method and device, network element and storage medium
WO2020032769A1 (en) 2018-08-10 2020-02-13 삼성전자 주식회사 Method and device for managing network traffic in wireless communication system
US10568061B1 (en) 2017-03-20 2020-02-18 Samsung Electronics Co., Ltd. Method for supporting efficient PDU session activation and deactivation in cellular networks
US20210045091A1 (en) 2019-08-09 2021-02-11 Cisco Technology, Inc. Intelligent and optimal resource selection within a network slice
US20210051531A1 (en) 2019-08-14 2021-02-18 Dish Wireless L.L.C. Anchor point movement in a compound cellular network
CN112567799A (en) 2018-08-10 2021-03-26 三星电子株式会社 Method and apparatus for managing network traffic in a wireless communication system
WO2021063515A1 (en) 2019-10-03 2021-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Management of traffic over a communication channel
US20210105652A1 (en) * 2019-10-02 2021-04-08 Samsung Electronics Co., Ltd. Method and device for data rate control in network slice in wireless communication system
WO2021091225A1 (en) 2019-11-06 2021-05-14 삼성전자 주식회사 Method and device for providing service to user device by using network slice in communication system
CN112867050A (en) 2019-11-28 2021-05-28 大唐移动通信设备有限公司 UPF network element management method and system
US11096046B2 (en) 2017-01-05 2021-08-17 Huawei Technologies Co., Ltd. Systems and methods for application-friendly protocol data unit (PDU) session management
US20210288886A1 (en) 2018-07-17 2021-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Open network automation platform (onap) - fifth generation core (5gc) interaction for analytics
CN113475123A (en) 2019-03-01 2021-10-01 瑞典爱立信有限公司 Method and system for Local Area Data Network (LADN) selection based on dynamic network conditions
US20210314842A1 (en) 2019-01-08 2021-10-07 Mavenir Networks, Inc. Optimal network function data path discovery for 5g core
US20210385625A1 (en) 2020-06-04 2021-12-09 Comcast Cable Communications, Llc Wireless device location determination
WO2021261074A1 (en) 2020-06-26 2021-12-30 ソニーグループ株式会社 Control device in communication system, and control method therefor
US20220039177A1 (en) * 2017-12-08 2022-02-03 Comcast Cable Communications, Llc User plane function selection for isolated network slice
EP3955523A1 (en) 2020-08-11 2022-02-16 NTT DoCoMo, Inc. Network analysis component and method for providing network analysis and/or prediction information about network slice instances of a mobile communication network
WO2022053134A1 (en) 2020-09-09 2022-03-17 Huawei Technologies Co., Ltd. User plane entity and control plane entity for exchanging network access node information
WO2022098696A1 (en) 2020-11-03 2022-05-12 Convida Wireless LLC Communication of adaptive traffic steering
WO2022157667A1 (en) 2021-01-21 2022-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Distance-based selection
US20220264258A1 (en) * 2019-11-07 2022-08-18 Huawei Technologies Co., Ltd. Communications Method and Apparatus, and Device
WO2022192523A1 (en) 2021-03-12 2022-09-15 Ofinno, Llc Mobility in non-public networks

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US7039033B2 (en) 2001-05-07 2006-05-02 Ixi Mobile (Israel) Ltd. System, device and computer readable medium for providing a managed wireless network using short-range radio signals
KR100442239B1 (en) 2001-06-01 2004-07-30 엘지전자 주식회사 Method for Displaying Video Signal of Digital TV
US20050266798A1 (en) 2004-05-31 2005-12-01 Seamus Moloney Linking security association to entries in a contact directory of a wireless device
US7546140B2 (en) 2004-06-30 2009-06-09 Marvell International Ltd. Device, system and method for multi-profile wireless communication
WO2006010977A1 (en) 2004-06-30 2006-02-02 Nokia Corporation System and method for generating a list of devices in physical proximity of a terminal
US8015306B2 (en) 2005-01-05 2011-09-06 Control4 Corporation Method and apparatus for synchronizing playback of streaming media in multiple output devices
US20060234631A1 (en) 2005-04-15 2006-10-19 Jorge Dieguez System and method for generation of interest -based wide area virtual network connections
US20080007651A1 (en) 2006-06-23 2008-01-10 Broadcom Corporation, A California Corporation Sub-frame metadata distribution server
JPWO2008078684A1 (en) 2006-12-25 2010-04-22 株式会社Access Network system
US7864043B2 (en) 2007-03-28 2011-01-04 Sony Ericsson Mobile Communications Ab Home locating network
CA2684854C (en) 2007-04-23 2014-06-10 Shiron Satellite Communications (1996) Ltd. Method and apparatus for compensation for weather-based attenuation in a satellite link
JP2009105724A (en) 2007-10-24 2009-05-14 Funai Electric Co Ltd Image data server
US20090177996A1 (en) 2008-01-09 2009-07-09 Hunt Dorian J Method and system for rendering and delivering network content
US20090238170A1 (en) 2008-03-19 2009-09-24 Rajan Muralidhar Method and system for providing voice over ip (voip) to wireless mobile communication devices
US9240056B2 (en) 2008-04-02 2016-01-19 Microsoft Technology Licensing, Llc Video retargeting
US8761810B2 (en) 2008-06-27 2014-06-24 Verizon Patent And Licensing Inc. Premises area map systems and methods
US20100167646A1 (en) 2008-12-30 2010-07-01 Motorola, Inc. Method and apparatus for device pairing
US20110028129A1 (en) 2009-10-13 2011-02-03 Hutchison James W Proximity Triggered Profile-Based Wireless Matching
CN102725717B (en) 2010-06-10 2015-12-02 英派尔科技开发有限公司 Communication between touch panel equipment
TWI430631B (en) 2010-12-30 2014-03-11 Realtek Semiconductor Corp Wireless communication system and related method thereof
US8699948B2 (en) 2011-01-25 2014-04-15 Sony Corporation Connection method for near field communication
US8346867B2 (en) 2011-05-09 2013-01-01 Google Inc. Dynamic playlist for mobile computing device
US8732319B2 (en) 2011-06-10 2014-05-20 Qualcomm Incorporated Context awareness proximity-based establishment of wireless communication connection
US8787832B2 (en) 2011-10-11 2014-07-22 Microsoft Corporation Dynamic range wireless communications access point
US11477694B1 (en) 2021-08-27 2022-10-18 Dish Wireless L.L.C. User plane function (UPF) load balancing based on central processing unit (CPU) and memory utilization of the user equipment (UE) in the UPF
US8854397B2 (en) 2011-12-13 2014-10-07 Facebook, Inc. Photo selection for mobile devices
US9348430B2 (en) 2012-02-06 2016-05-24 Steelseries Aps Method and apparatus for transitioning in-process applications to remote devices
US20150128030A1 (en) 2013-11-01 2015-05-07 M/s. MobileMotion Technologies Private Limited Method for inline image resizing
US9292756B2 (en) 2013-12-10 2016-03-22 Dropbox, Inc. Systems and methods for automated image cropping
EP2996344A4 (en) 2013-12-16 2016-11-30 Samsung Electronics Co Ltd Server apparatus and client apparatus for sharing contents and method for sharing contents
US20160234522A1 (en) 2015-02-05 2016-08-11 Microsoft Technology Licensing, Llc Video Decoding
US10965494B2 (en) * 2015-10-01 2021-03-30 International Business Machines Corporation Intelligent multi-channel VPN orchestration
CN108632904B (en) 2017-03-24 2019-09-17 电信科学技术研究院 A kind of communication means and equipment
EP3635997B1 (en) * 2017-06-06 2020-08-26 Telefonaktiebolaget LM Ericsson (publ) Technique for user plane function allocation
KR20200035146A (en) 2017-08-11 2020-04-01 콘비다 와이어리스, 엘엘씨 Network data analytics in telecommunication networks
KR102106778B1 (en) 2017-10-31 2020-05-28 에스케이텔레콤 주식회사 Data trasmission apparatus and control method thereof
CN113556410B (en) 2018-12-28 2024-07-09 华为技术有限公司 Domain name server distribution method and device
WO2020141859A1 (en) 2018-12-31 2020-07-09 엘지전자 주식회사 Method for transmitting/receiving pdb-related signal in wireless communication system and device therefor
CN113678423B (en) 2019-03-13 2024-09-06 交互数字专利控股公司 Dynamic network capability configuration
US20220247688A1 (en) 2019-07-03 2022-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Establishing a Packet Forwarding Control Protocol Session
KR102709500B1 (en) 2019-09-17 2024-09-25 삼성전자주식회사 Apparatus and method for psa-upf relocation in wireless communication system
US20220369170A1 (en) 2019-11-06 2022-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Method for Configuring Data Sessions For a User Equipment
US11412412B2 (en) * 2020-01-14 2022-08-09 Cisco Technology, Inc. User plane function (UPF) selection based on predicted load information
US20230078288A1 (en) 2020-02-06 2023-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Tunnel initiation in a communications network
EP4183072A1 (en) 2020-07-15 2023-05-24 Telefonaktiebolaget LM Ericsson (publ) User plane function selection based on per subscriber cpu and memory footprint for packet inspection
CN116235469A (en) * 2020-11-03 2023-06-06 华为技术有限公司 Network chip and network device
US11647393B2 (en) 2020-12-29 2023-05-09 Verizon Patent And Licensing Inc. Radio resource sharing for dynamic network slices
US11689421B2 (en) * 2021-04-19 2023-06-27 Hewlett Packard Enterprise Development Lp Selection of virtual private network profiles
US11683293B2 (en) * 2021-05-13 2023-06-20 Microsoft Technology Licensing, Llc Creating two simultaneous VPN connections for a VPN client
US11601367B2 (en) 2021-06-01 2023-03-07 Verizon Patent And Licensing Inc. Systems and methods for dynamic network function resource allocation through the network repository function
US11582641B1 (en) 2021-08-12 2023-02-14 Dish Wireless L.L.C. User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity
US11627492B2 (en) 2021-08-26 2023-04-11 Dish Wireless L.L.C. User plane function (UPF) load balancing based on special considerations for low latency traffic
US11483738B1 (en) 2021-08-26 2022-10-25 Dish Wireless L.L.C. User plane function (UPF) load balancing based on network data analytics to predict load of user equipment
US11595851B1 (en) 2021-08-27 2023-02-28 Dish Wireless L.L.C. User plane function (UPF) load balancing supporting multiple slices
US11356419B1 (en) * 2021-10-01 2022-06-07 Oversec, Uab System and method for retrieving aggregated information about virtual private network servers
US11950138B2 (en) 2021-11-17 2024-04-02 Dish Wireless L.L.C. Predictive user plane function (UPF) load balancing based on network data analytics

Patent Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11096046B2 (en) 2017-01-05 2021-08-17 Huawei Technologies Co., Ltd. Systems and methods for application-friendly protocol data unit (PDU) session management
US20180262924A1 (en) * 2017-03-10 2018-09-13 Huawei Technologies Co., Ltd. System and Method of Network Policy Optimization
US10568061B1 (en) 2017-03-20 2020-02-18 Samsung Electronics Co., Ltd. Method for supporting efficient PDU session activation and deactivation in cellular networks
US10470152B2 (en) 2017-03-20 2019-11-05 Samsung Electronics Co., Ltd. Method for supporting efficient PDU session activation and deactivation in cellular networks
US20180324646A1 (en) 2017-05-08 2018-11-08 Samsung Electronics Co., Ltd. Method and apparatus for supporting session continuity for 5g cellular network
US20190053117A1 (en) 2017-08-14 2019-02-14 Samsung Electronics Co., Ltd. Method of processing anchor user plane function (upf) for local offloading in 5g cellular network
US10602415B2 (en) 2017-08-14 2020-03-24 Samsung Electronics Co., Ltd Method of processing anchor user plane function (UPF) for local offloading in 5G cellular network
US20190075431A1 (en) 2017-09-07 2019-03-07 T-Mobile Usa, Inc. Function Selection Based on Utilization Level in 5G Environments
US20220039177A1 (en) * 2017-12-08 2022-02-03 Comcast Cable Communications, Llc User plane function selection for isolated network slice
US20190191330A1 (en) 2017-12-15 2019-06-20 Huawei Technologies Co., Ltd. Method and system of packet aggregation
WO2019160546A1 (en) 2018-02-14 2019-08-22 Nokia Technologies Oy Session mobility for packet data unit connectivity services
CN110662260A (en) 2018-06-28 2020-01-07 中国移动通信有限公司研究院 Information processing method and device, network element and storage medium
US20210288886A1 (en) 2018-07-17 2021-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Open network automation platform (onap) - fifth generation core (5gc) interaction for analytics
WO2020032769A1 (en) 2018-08-10 2020-02-13 삼성전자 주식회사 Method and device for managing network traffic in wireless communication system
CN112567799A (en) 2018-08-10 2021-03-26 三星电子株式会社 Method and apparatus for managing network traffic in a wireless communication system
US20210314842A1 (en) 2019-01-08 2021-10-07 Mavenir Networks, Inc. Optimal network function data path discovery for 5g core
CN113475123A (en) 2019-03-01 2021-10-01 瑞典爱立信有限公司 Method and system for Local Area Data Network (LADN) selection based on dynamic network conditions
US20210045091A1 (en) 2019-08-09 2021-02-11 Cisco Technology, Inc. Intelligent and optimal resource selection within a network slice
US20210051531A1 (en) 2019-08-14 2021-02-18 Dish Wireless L.L.C. Anchor point movement in a compound cellular network
US11343698B2 (en) 2019-10-02 2022-05-24 Samsung Electronics Co., Ltd. Method and device for data rate control in network slice in wireless communication system
US20210105652A1 (en) * 2019-10-02 2021-04-08 Samsung Electronics Co., Ltd. Method and device for data rate control in network slice in wireless communication system
WO2021063515A1 (en) 2019-10-03 2021-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Management of traffic over a communication channel
WO2021091225A1 (en) 2019-11-06 2021-05-14 삼성전자 주식회사 Method and device for providing service to user device by using network slice in communication system
US20220264258A1 (en) * 2019-11-07 2022-08-18 Huawei Technologies Co., Ltd. Communications Method and Apparatus, and Device
CN112867050A (en) 2019-11-28 2021-05-28 大唐移动通信设备有限公司 UPF network element management method and system
US20210385625A1 (en) 2020-06-04 2021-12-09 Comcast Cable Communications, Llc Wireless device location determination
WO2021261074A1 (en) 2020-06-26 2021-12-30 ソニーグループ株式会社 Control device in communication system, and control method therefor
EP3955523A1 (en) 2020-08-11 2022-02-16 NTT DoCoMo, Inc. Network analysis component and method for providing network analysis and/or prediction information about network slice instances of a mobile communication network
WO2022053134A1 (en) 2020-09-09 2022-03-17 Huawei Technologies Co., Ltd. User plane entity and control plane entity for exchanging network access node information
WO2022098696A1 (en) 2020-11-03 2022-05-12 Convida Wireless LLC Communication of adaptive traffic steering
WO2022157667A1 (en) 2021-01-21 2022-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Distance-based selection
WO2022192523A1 (en) 2021-03-12 2022-09-15 Ofinno, Llc Mobility in non-public networks

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; System architecture for 5G System (5GS); Stage 2 (Release 16)", vol. SA WG2, No. V16.9.0, Jun. 24, 2021, pp. 1-452.
"PCT Search Report and Written Opinion, PCT/US2022/040157", dated Nov. 21, 2022, 17 pages.
3GPP TS 29.520 V17.4.0, "3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Data Analytics Services; Stage 3; (Release 17)," 3GPP Organizational Partners, 133 pages, Sep. 2021.
Kazi Bashir et al., "Predictive User Plane Function (UPF) Load Balancing Based on Network Data Analytics," U.S. Appl. No. 17/529,128, filed Nov. 17, 2021 (32 pages).
Marappan, "NWDAF: Automating the 5G network with machine learning and data analytics," https://inform.tmforum.org/ai-data-and-insights/2020/06/nwdaf-automating-the-5g-network-with-machine-learning-and-data-analytics/; 7 pages, Jun. 2020.
Mehdi Alasti et al., "User Plane Function (UPF) Load Balancing Based on Central Processing Unit (CPU) and Memory Utilization of the User Equipment (UE) in the UPF," U.S. Appl. No. 17/459,279, filed Aug. 27, 2021. (63 pages).
Mehdi Alasti et al., "User Plane Function (UPF) Load Balancing Based on Current UPF Load and Thresholds That Depend on UPF Capacity." U.S. Appl. No. 17/400,943, filed Aug. 12, 2021. (65 pages).
Mehdi Alasti et al., "User Plane Function (UPF) Load Balancing Based on Network Data Analytics to Predict Load of User Equipment," U.S. Appl. No. 17/458,117, filed Aug. 26, 2021. (62 pages).
Mehdi Alasti et al., "User Plane Function (UPF) Load Balancing Based on Special Considerations for Low Latency Traffic," U.S. Appl. No. 17/458,120, filed Aug. 26, 2021. (62 pages).

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818607B2 (en) 2011-10-26 2023-11-14 Dish Network Technologies India Private Limited Apparatus systems and methods for proximity-based service discovery and session sharing
US11910237B2 (en) 2021-08-12 2024-02-20 Dish Wireless L.L.C. User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity
US11895536B2 (en) 2021-08-26 2024-02-06 Dish Wireless L.L.C. User plane function (UPF) load balancing based on special considerations for low latency traffic
US11924687B2 (en) 2021-08-26 2024-03-05 Dish Wireless L.L.C. User plane function (UPF) load balancing based on network data analytics to predict load of user equipment
US20230066148A1 (en) * 2021-08-27 2023-03-02 Dish Wireless L.L.C. User plane function (upf) load balancing based on central processing unit (cpu) and memory utilization of the user equipment (ue) in the upf
US11902831B2 (en) * 2021-08-27 2024-02-13 Dish Wireless L.L.C. User plane function (UPF) load balancing based on central processing unit (CPU) and memory utilization of the user equipment (UE) in the UPF
US11943660B2 (en) 2021-08-27 2024-03-26 Dish Wireless L.L.C. User plane function (UPF) load balancing supporting multiple slices
US20240147307A1 (en) * 2021-08-27 2024-05-02 Dish Wireless L.L.C. User plane function (upf) load balancing based on central processing unit (cpu) and memory utilization of the user equipment (ue) in the upf
US20230156522A1 (en) * 2021-11-17 2023-05-18 Dish Wireless L.L.C. Predictive user plane function (upf) load balancing based on network data analytics
US11950138B2 (en) * 2021-11-17 2024-04-02 Dish Wireless L.L.C. Predictive user plane function (UPF) load balancing based on network data analytics

Also Published As

Publication number Publication date
US11943660B2 (en) 2024-03-26
US20230144066A1 (en) 2023-05-11
US20240196275A1 (en) 2024-06-13
US20230062707A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US11910237B2 (en) User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity
US11627492B2 (en) User plane function (UPF) load balancing based on special considerations for low latency traffic
US11595851B1 (en) User plane function (UPF) load balancing supporting multiple slices
US11902831B2 (en) User plane function (UPF) load balancing based on central processing unit (CPU) and memory utilization of the user equipment (UE) in the UPF
US11924687B2 (en) User plane function (UPF) load balancing based on network data analytics to predict load of user equipment
US11950138B2 (en) Predictive user plane function (UPF) load balancing based on network data analytics
US20190075431A1 (en) Function Selection Based on Utilization Level in 5G Environments
US10348796B2 (en) Adaptive video streaming over preference-aware multipath
CN114788315A (en) Policy-based access and mobility management function (AMF) selection using Network Slice Selection Assistance Information (NSSAI) availability information
CN106233775B (en) Insertion and use of application or radio information in network data packet headers
US8811173B2 (en) Method of managing user traffic to prevent aggressive users from abusing network resources
US11606674B2 (en) Network based containerized computing
US11706792B2 (en) Systems and methods for preempting bearers based on bearer information and network slice information
US20240224120A1 (en) Selective centralized unit-user plane extended buffering

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: DISH WIRELESS L.L.C., COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALASTI, MEHDI;BASHIR, KAZI;KHAMAS, ASH;AND OTHERS;SIGNING DATES FROM 20210820 TO 20210825;REEL/FRAME:062275/0912

STCF Information on status: patent grant

Free format text: PATENTED CASE