Performance optimization of quality of service flows in 5G network slices
By using a slice breathing mechanism to monitor and optimize QoS flows in 5G network slices in real time, the service level satisfaction problem is solved and network performance is improved.
Patent Information
- Application Number
- CN202480048533.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-10
- Filing Date
- 2024-08-09
- Publication Date
- 2026-02-24
AI Technical Summary
In existing 5G network slicing, the QoS (Quality of Service) level of the flow is insufficient to effectively meet the requirements of various communication services, resulting in a decline in network performance.
By introducing a slice breathing mechanism, the service level of QoS flows is monitored and optimized in real time using a network slice breather. By adjusting network resource configuration and path reconfiguration, the service level is ensured to be met.
It enables dynamic adjustment and optimization of QoS flows, ensuring service level compliance and improving network performance and user experience.
Smart Images

Figure CN121569468A_ABST
Abstract
Description
Background Technology
[0001] The architecture of fifth-generation (5G) wireless networks allows for the creation of network slices. A network slice is a partition of a 5G network into virtualized subnets. Each subnet can address specific service requirements and / or service level agreements (SLAs). Using network slices, communication service providers (CSPs) are now able to offer slices for specific purposes, such as enhanced mobile broadband, the Internet of Things (IoT), public services, and enterprise needs. Therefore, traffic for each specific purpose can be separated by using different network slices tailored to that traffic.
[0002] Each network slice serves one or more items for a User Equipment (UE), which is a system / device connected to the 5G network. The UE is served by one or more associated Protocol Data Unit (PDU) sessions connected to different data networks, which can serve applications such as the Internet, voice services, and gaming. Furthermore, each PDU session can carry one or more Quality of Service (QoS) streams. A QoS stream is a communication unit carrying traffic between an application on the UE and a corresponding application in the data network. Therefore, QoS streams are associated with service requirements such as data throughput, application or packet latency, admission success rate, and session drop rate, and these requirements must be met across all streams. Summary of the Invention
[0003] The techniques disclosed herein enable optimization of the performance of QoS flows within network slices of fifth-generation (5G) networks. In a specific example, one method includes creating a network slice in a 5G network. The network slice comprises logically separate networks operating on the 5G network. The method also includes retrieving network information indicating whether the Quality of Service (QoS) level of a flow within the network slice is satisfied, and determining, based on that network information, that the QoS level of the flow is not satisfied. In response to determining that the QoS level of the flow is not satisfied, the method includes directing network control functions of the 5G network to reconfigure the resource usage of the slice to achieve the QoS level of the flow.
[0004] In other examples, an apparatus performs the above-described method, and program instructions stored on a computer-readable storage medium instruct a processing system to perform the above-described method. Attached Figure Description
[0005] Figure 1 The illustration shows an implementation method for optimizing QoS flows in network slices of 5G networks.
[0006] Figure 2 The illustration shows an implementation method for optimizing QoS flows in network slices of 5G networks.
[0007] Figure 3 The diagram illustrates the operation of optimizing QoS flows in network slices of a 5G network.
[0008] Figure 4 The diagram illustrates the control loop used to optimize QoS flows in a network slice for 5G networks.
[0009] Figure 5 The diagram illustrates the operation of optimizing QoS flows in network slices of a 5G network.
[0010] Figure 6 The diagram illustrates the operation of optimizing QoS flows in network slices of a 5G network.
[0011] Figure 7 The diagram illustrates the operation of optimizing QoS flows in network slices of a 5G network.
[0012] Figure 8 The diagram illustrates the operation of optimizing QoS flows in network slices of a 5G network.
[0013] Figure 9 The diagram illustrates a computational system for optimizing QoS flows in network slices of a 5G network. Detailed Implementation
[0014] The 5G network described below employs a mechanism referred to herein as slice breathing to ensure that the service requirements of QoS flows are met. In order to track, control, and optimize the performance metrics of one or more slices as a whole and the individual QoS flows within them, the network considers different aspects of the network when determining whether to take action. One aspect is admission control. When a UE makes a new request to access a slice, or makes a request to establish a new PDU session or QoS flow, the network determines whether the slice can handle the new request while maintaining the service requirements of the existing session / flow. The second aspect considered is session path (re)routing. According to the access procedure specified in 3GPP TS 23.502 [3], when a UE is admitted to a slice, the path of the QoS flow is also assigned. The path is defined by a set including the “initial” or “intermediate” User Plane Function (UPF) (also known as the PDU session anchor or PA in 3GPP terminology), the serving gNodeB, and the radio bands on the gNodeB to which the UE in the slice is attached. In later stages, it may be appropriate to migrate the UE to a different path within the same slice due to dynamically changing conditions. For example, moving the UE to a different radio band or moving a data session to a different UPF can be beneficial. This migration can be viewed as admission control over the target path.
[0015] The third aspect is session control, which determines how an ongoing session can be manipulated (via some combination of queuing, scheduling, and rate control) to reduce the probability of service level requirements (e.g., those defined by the SLA) being violated. Path analysis and control is another aspect under consideration. Path analysis and control can be a continuous process that tracks the load on each path and aggregate performance metrics for that path. If possible, resources allocated to paths can be adjusted to ensure service level requirements are met. Similarly, slice resource control is another aspect. When necessary, it may be necessary to rebalance resources allocated to slices (e.g., radio and IP network bandwidth) to ensure satisfactory service for all slices.
[0016] Figure 1 The illustration depicts an implementation 100 for optimizing QoS flows in a network slice of a 5G network. Implementation 100 is an example logical hierarchy of a 5G network. Implementation 100 includes user equipment 101, gNodeB 102, UPF 103, data network 104, and data network 105. User equipment 101 can be a wireless phone, tablet, computer, hotspot, network card, or other type of wireless system capable of wirelessly connecting to the gNodeB. gNodeB 102 is a radio access node that provides wireless connectivity for user equipment 101 to access the 5G network. UPF 103 is a network function responsible for packet routing and forwarding between gNodeB 102 and data networks 104 and 105. Data networks 104 and 105 are data networks that provide services such as the Internet, voice communication services, gaming, or some other type of application service that can be supplied to user equipment 101.
[0017] In this example, the 5G network of Implementation 100 is partitioned into slices 111-113. Each of slices 111-113 includes one or more PDU sessions, and each PDU session includes one or more QoS flows. Specifically, slice 113 includes PDU session 121 with QoS flow 131, and PDU session 122 with QoS flows 132 and 133. QoS flow 132 is shown as slightly coarser than QoS flow 133 to indicate that QoS flow 132 may have higher service level requirements (e.g., greater bandwidth, lower latency, etc.) than QoS flow 133. However, different QoS flows do not necessarily have different service level requirements.
[0018] Figure 2The illustration depicts an implementation 200 for optimizing QoS flows in network slices of a 5G network. Implementation 200 builds upon implementation 100 to illustrate network functions in the control plane 211 of a 5G network that control communications occurring in the user plane 212 of the 5G network, including elements of implementation 100. A slice breather 201 is a network function that handles the slice / flow optimization described herein. Network functions also include a policy control function (PCF) 202, a network slice selection function (NSSF) 203, a network slice admission control function (NSACF) 204, an access and mobility management function (AMF) 205, a session management function (SMF) 206, and may include one or more additional network functions (NF) 207. Network functions 202-206 are commonly used functions within a 5G network. Additional network functions 207 may include additional network functions 202-206 that share the load with network functions 202-206. Although slice respirator 201 is shown as a separate function, some of the functions described for slice respirator 201 may be included in or distributed among network functions 202-207. In some examples, slice respirator 201 may be part of the network slice controller of a 5G network. Functions 201-207 are implemented in one or more network-connected computing systems.
[0019] Figure 3 The illustration depicts operation 300, which optimizes QoS flows within a network slice of a 5G network. In operation 300, the 5G network creates network slices 111-113 (step 301). Slice respirator 201 can create slices, or another network slice controller can create slices. Slices 111-113 can be created simultaneously or at different times. For example, each slice can be created when a user equipment requesting the slice connects to the 5G network.
[0020] Although slices 111-113 exist, slice breather 201 retrieves network information indicating whether the Quality of Service (QoS) levels of the slices within the network slices are met (step 302). Slice breather 201 may focus on a single QoS flow, such as QoS flow 131, or may perform operation 300 for all QoS flows to better ensure they all meet their QoS requirements. This information is retrieved from one or more of network functions 202-207. This information may include an indication from AMF 205 regarding the number of User Equipment 101 registered in each of slices 111-113, an indication from SMF 206 regarding the number of PDU sessions in each of slices 111-113, an indication from UPF 103 regarding the number of QoS flows in each of slices 111-113, and the User Equipment Identifier of User Equipment 101. At least a portion of the above information may also be retrieved from NSACF 204, which is a centralized entity for collecting information.
[0021] This information may also include throughput and latency measurements, such as slice-level average, standard deviation, and specified percentile of throughput on both downlink and uplink during the measurement period; slice-level average, standard deviation, and specified percentile of one-way and round-trip delays on both downlink and uplink during the measurement period; average, standard deviation, and specified percentile of throughput on both downlink and uplink during the measurement period for each specific user equipment 101; and average, standard deviation, and specified percentile of one-way and round-trip delays on both downlink and uplink during the measurement period for each specific user equipment 101. The measurement period for the above statistics can be configurable based on the results. Statistics can be provided by UPF 103 or the application function, or based on measurements from UPF 103 or the application function. One-way delay can be measured between UPF 103 / application function and gNodeB 102 in each direction (i.e., downlink and uplink). Round-trip delay can be measured by UPF 103 or the application function using packet tagging to associate response and transmission packets. In some networks or situations, UPF 103 and / or application functions may not expose an interface for directly querying and retrieving desired statistics. Instead, they may report to the Operations, Administration and Maintenance (OAM) module, which in turn can serve as a source of information.
[0022] This information may also include radio resource and performance measurements for each PDU session within the slice, such as the average Channel Quality Indicator (CQI) and corresponding data rate calculated using modulation and coding schemes for each user equipment 101; the slice-level distribution of Physical Radio Blocks (PRBs) on both the downlink and uplink during the measurement period; and the slice-level distribution of Modulation and Coding Schemes (MCSs) on both the downlink and uplink during the measurement period. This information can be received from the gNodeB 102 or the OAM module, or based on information provided by the gNodeB 102 or the OAM module. In some networks or situations, as with the statistics above, the gNodeB 102 may not expose an interface for directly querying and retrieving the desired statistics. Instead, the gNodeB 102 may report to the OAM module, which can then act as a source.
[0023] Based on the retrieved information, slice respirator 201 determines whether the service level of the QoS flow is met (step 303). The service level can be defined by an SLA signed between the equipment operator and the 5G network provider, can be based on the type of slice (e.g., for emergency services, web browsing, gaming, etc.), or can be based on some other factor. The service level can indicate a maximum latency requirement, a minimum bandwidth requirement, or some other parameter indicating the expected quality of service for the flow. In some examples, an event can trigger slice respirator 201 to determine when the service level is met. This event can be anything that can happen in the network that might affect the service level of the QoS flow. For example, the event could be a new user equipment connecting to the network, a new session request from user equipment 101, or a measurement result in the aforementioned information exceeding a threshold. The event could also be the result of a previous decision made by slice respirator 201, such as user equipment 101's request being admitted / denied, modification of a PDU session or QoS flow, user equipment 101 releasing a PDU session, a call or session being dropped or interrupted, load or loss on UPF 103, or an error in gNodeB 102.
[0024] If all QoS flows meet their service level requirements, slice respirator 201 returns to step 302 to continue collecting updated information. For each QoS flow that does not meet its service level requirements (as indicated by the information), slice respirator 201 instructs the relevant network functions in network functions 202-207 to reconfigure the resources used by the slice of that QoS flow to meet the service level requirements (step 304). Reconfiguration may include instructing AMF 205 to change the configuration of the radio link between user equipment 101 and gNodeB 102. For example, gNodeB 102 may be instructed to use a different radio channel or a different gNodeB (if one is available) to better meet the service level requirements. In some examples, SMF 206 may be instructed to switch the QoS flow to a different path (e.g., a different one in UPF 103). In some examples, instead of directly instructing the AMF or SMF, slice respirator 201 may provide instructions to PCF 202. PCF 202 may participate in all decisions regarding new sessions and flows to indicate whether the session / flow complies with the rules and policies managed by PCF 202. Therefore, due to the control capabilities of PCF 202, slice respirator 201 can indirectly control slice resources by guiding PCF 202 (e.g., using PCF 202's application programming interface (API)). PCF 202 can fully comply with the guidance from slice respirator 201, or PCF 202 can use the guidance from slice respirator 201 as a recommendation on how to reconfigure resources. For example, PCF 202 can (e.g., by communicating with AMF 205 and / or SMF 206) change the throughput of a QoS flow by a smaller amount than requested by slice respirator 201. If this smaller amount does not meet the service level change expected by slice respirator 201, then slice respirator 201 can continue to request a larger change, and PCF 202 can change the throughput more in line with the continuous request. In some cases, reconfiguration may affect other QoS flows or slices. For example, the radio channel that user equipment 101 may be guided to switch to may be used by another user equipment, which will also need to be reassigned to a different radio channel. The following section discusses other ways to reconfigure the network.
[0025] Figure 4The diagram illustrates a control loop 400 for optimizing QoS flows in network slices of a 5G network. Control loop 400 is an example of the logic that slice breather 201 can use to perform slice breathing in operation 300. In control loop 400, analysis algorithm 401 receives network information 411 from network functions 202-207. This is part of the analysis layer 421 used by slice breather 201. Network information 411 includes information indicating the measurements and events discussed above. Analysis algorithm 401 analyzes network information 411 to determine the network capacity (e.g., bandwidth amount) consumed by various QoS flows, PDU sessions, and slices. Analysis output 412 from analysis algorithm 401 indicates the capacity determination results. The capacity determination results may include: average data rate and / or session latency metrics for all sessions exceeding their service class requirements; and average data rate and / or session latency metrics for all sessions performing below their service class requirements.
[0026] Decision algorithm 402 in decision layer 422 receives analysis output 412 to predict how different control actions in the 5G network can affect the 5G network. For example, decision algorithm 402 can predict whether a control action will cause a poorly performing session to meet its service level requirements, and how the control action will affect other sessions (e.g., whether it will cause different sessions to start performing poorly). Once decision algorithm 402 identifies one or more predicted control actions for implementation, the control actions are passed to instruction generator 403 in decision output 413. Instruction generator 403 generates instructions 414 for network functions 202-207 to implement the control instructions and passes instructions 414 to network functions 202-207. As mentioned above, instructions 414 may only instruct PCF 202, but may directly instruct other functions in network functions 202-207. After network functions 202-207 comply with instructions 414, control loop 400 then repeats, where analysis algorithm 401 receives network information 411 again. The next iteration of control loop 400 enables decision algorithm 402 to continue ensuring that the service level is met after instruction 414 is implemented. The continuous iteration of control loop 400 provides feedback on the impact of decisions on the network and allows slice respirator 201 to continuously adjust.
[0027] Figure 5The illustration depicts operation 500, which optimizes QoS flows within a network slice of a 5G network. Operation 500 is an example top-level decision algorithm that can be included in decision algorithm 402. In operation 500, slice breather 201 identifies external events or other triggering inputs (e.g., inputs from analysis algorithm 401) from decision algorithm 402 (step 501). External events are events that occur outside of currently established QoS flows, PDU sessions, and slices in the 5G network. For example, an event could be a request from user equipment 101 to establish a new QoS flow or PDU session. Inputs from analysis algorithm 401 indicating established QoS flows, PDU sessions, or slices (e.g., analysis output 412) may require adjustments from decision algorithm 402. In response to identifying the event or input, slice breather 201 classifies ongoing PDU sessions and QoS flows based on CQI data rate or CQI latency (step 502).
[0028] When performing classification, indicators for both downlink and uplink quality may be required because the radio channels differ between the uplink and downlink. During classification, it may be particularly important to identify sessions where SLA satisfaction is simply impossible to achieve regardless of the amount of radio resources allocated due to radio conditions that impose fundamental limitations on the service level (i.e., radio connectivity may be too poor).
[0029] CQI data rate is a radio link quality indicator for data rate. All user equipment 101 returns the downlink CQI, while gNodeB 102 measures the uplink channel quality. Both indicators are measured over a radio frame timescale (typically 1 ms or less) and converted by gNodeB 102 into the corresponding maximum possible data rate. This information is averaged over a larger timescale (potentially hundreds of milliseconds or even seconds) and can be used for Radio Access Network (RAN) OAM. This provides a time series of radio channel quality (for each user equipment 101) over the timescale used by decision algorithm 402, enabling good quality trend analysis and prediction. In cases where uplink CQI is unavailable, downlink CQI can be used as an indicator of uplink channel quality due to the long averaging period.
[0030] CQI delay is a radio link quality indicator of delay. While CQI is a direct indicator of the maximum possible data rate, no such indicator is available for the smallest achievable delay. Therefore, slice respirator 201 uses the concept of "CQI delay". Slice respirator 201 can calculate CQI delay by estimating it from the CQI data rate. To do this, slice respirator 201 can calculate the shortest time required to successfully transmit a typical application message as the ratio of the message size to the maximum data rate indicated by the CQI. If the SLA provides a typical message size, then that size can be used. If not, then slice respirator 201 can assume it from knowledge of the application or calculate it from observations of all user equipment with similar SLAs. Slice respirator 201 can also estimate CQI delay from observations of those user equipment 101 with similar CQIs. The slice respirator 201 obtains the latency experienced by all user equipment 101 with similar CQI, calculates the distribution, extracts, for example, the 90th percentile value from the distribution, and uses the extracted percentile as the achievable latency for this user equipment 101.
[0031] In this example, the slice respirator 201 can use three potential classifications at step 502. Other examples can use different classifications. In this example, a session can be classified as unachievable, needs uplift, or top heavy. Regarding CQI data rate, an unachievable session is one where the CQI data rate is below the throughput defined by its corresponding SLA. These sessions cannot be served with satisfactory throughput because radio conditions do not allow it. A session needing uplift is one where the CQI data rate exceeds the throughput defined by its corresponding SLA, but the measured throughput is below the throughput defined by the corresponding SLA. A top heavy session is one where both the CQI data rate and the measured throughput exceed the throughput defined by its corresponding SLA.
[0032] Regarding CQI latency, unachievable sessions are those where the CQI latency exceeds the latency defined in their corresponding SLA. These sessions cannot be served with satisfactory low latency because radio conditions do not allow it. Sessions requiring improvement are those where the CQI latency is less than the latency defined in their corresponding SLA, but the measured latency metric exceeds the SLA latency. Top-weighted sessions are those where both the CQI latency and the measured latency metric are less than their corresponding SLA latency.
[0033] If an external event is identified, slice respirator 201 jumps to step 504. Otherwise, slice respirator 201 determines whether the input received from decision algorithm 402 exceeds a threshold (step 503). The threshold can be provided by predefined parameters for managing the operation of slice respirator 201. For example, the analysis output 412 from analysis algorithm 401 can predict the performance of a session, and this performance may exceed a threshold level, making it necessary for slice respirator 201 to use decision algorithm 402 to adjust the session to change the predicted performance. Specifically, slice respirator 201 selects a decision algorithm from decision algorithms 402 that is associated with the specific event identified or the specific input exceeding the threshold (step 504).
[0034] Decision algorithm 402 may include an admission control algorithm that determines whether external events such as new user equipment, PDU sessions, or QoS flows should be admitted or denied. Decision algorithm 402 may also include a session pathing algorithm that determines paths for those external events listed above, or determines new paths for the current session based on its performance relative to its service level requirements. A slice aggregation control algorithm may also be included in decision algorithm 402. The slice aggregation control algorithm determines whether the service level of a slice as a whole exceeds a threshold, and if so, adjusts aggregated slice parameters such as data rate, average or percentile latency, and resources consumed. Session throughput balancing is another algorithm that may be included in decision algorithm 402 and adjusts the throughput of identified sessions. Identified sessions may be those identified because their performance exceeds a threshold, or they may be the arrival of a new user equipment, a new PDU session, or the establishment of a QoS flow. Slice aggregation control may occur after (or within) admission control and session placement algorithms. Decision algorithm 402 may also include a session latency balancing algorithm. For sessions identified as requiring both, latency balancing may have higher priority than throughput balancing. Sessions requiring latency balancing (i.e., adjusting latency within a specific session) can be new sessions as well as those whose performance exceeds a threshold (e.g., in the case of session throughput balancing). Decision algorithm 402 may also include a cross-slice balancing algorithm that adjusts aggregate slice parameters, such as data rate and resource consumption, for the identified sessions. The identified sessions are those identified based on slice-level performance exceeding a threshold or RAN uplink congestion.
[0035] Figure 6The illustration depicts operation 600, which optimizes QoS flows within a network slice of a 5G network. Operation 600 is an example of the admission control algorithm in decision algorithm 402 used by slice breather 201. In a 5G network, AMF 205 controls access to the radio link with gNodeB 102, and then SMF 206 establishes a session. When slicing is involved, a session or flow from user equipment 101 requesting access to the slice is admitted only if the radio channel in gNodeB 102 has sufficient capacity, the slice itself has sufficient capacity, and the path through gNodeB 102 also has sufficient capacity. Therefore, operation 600 is performed to make these determinations.
[0036] In operation 600, slice breather 201 identifies a request from new user equipment 101 to access a slice or a request from existing user equipment 101 to establish a new PDU session or QoS flow (step 601). For new user equipment 101, AMF 205 performs its usual (5G-defined) assessment of whether to admit the network. Slice breather 201 assesses whether the available slice capacity or the predicted capacity calculated by analysis algorithm 401 can meet the requested service level requirements (step 602). If the predicted capacity is available, it is used instead, as it may be a better measure of the future conditions the new request will experience. If slice breather 201 determines that there is not sufficient capacity, then slice breather 201 guides AMF 205 (directly or via a recommendation to PCF 202) to reject the request (step 606). In some examples, slice breather 201 may use a session rebalancing algorithm to determine whether resources can be adjusted to create capacity on the slice to accommodate the request, rather than immediately rejecting the request.
[0037] If slice respirator 201 determines that capacity is available, then slice respirator 201 performs session path placement to find a path that can accommodate the request (step 603). If no path is found, then slice respirator 201 instructs AMF 205 to reject the request (step 606). If the request can be accommodated on a path, then slice respirator 201 notifies the relevant network functions 202-207 of acceptance of the request and which path has been identified (step 605). For example, slice respirator 201 may coordinate decisions with the policies indicated in PCF 202 and NSACF 204 before instructing AMF 205 and SMF 206 to initiate the process of establishing the requested session, or it may rely on PCF 202 to control AMF 205 and SMF 206 based on the determination of slice respirator 201.
[0038] Figure 7The illustration depicts operation 700, which optimizes QoS flows in a network slice of a 5G network. Operation 700 is an example session path arrangement algorithm in decision algorithm 402 used by slice respirator 201. Operation 700 is primarily invoked by slice respirator 201 when a new session or QoS flow request is accepted during step 603 of operation 600. Thus, operation 700 can be a specific algorithm used for step 604 of operation 600.
[0039] Once operation 700 is invoked, slice respirator 201 retrieves information about the session path and radio bands of the gNodeB 102 to which user equipment 101 is connected (step 701). The retrieved information may include indications of all network paths including gNodeB 102 and the associated capacity of those paths, all radio bands operating within gNodeB 102 and serving the slice, and any radio bands that gNodeB 102 can support but is not operating.
[0040] Based on this information, slice respirator 201 determines whether one or more paths have the capacity to accommodate the request (step 702). If at least one path is determined to have the capacity, slice respirator 201 selects one of the determined paths. The path selection can be based on load balancing considerations among the determined paths. Slice respirator 201 can select the path with the most available capacity, use a round-robin approach for path selection, use a weighted selection rule, select a path randomly, or use some other selection convention. Once selected, slice respirator 201 notifies the relevant network functions 202-207 of the path, enabling the establishment of the requested session or QoS flow on the selected path (step 703). For example, slice respirator 201 can coordinate the path decision with the policy indicated in PCF 202 before initiating the process of AMF 205, SMF 206, and UPF 103 to establish the requested session on the selected path.
[0041] If slice respirator 201 cannot identify a path with sufficient capacity, it can reject the request by proceeding directly to step 705. However, in this example, slice respirator 201 determines whether it is possible to instantiate a new radio band supported but not operated by gNodeB 102 and user equipment 101. For example, the channel may be unused due to power-saving requirements. If such a channel exists, slice respirator 201 adds a new path including that channel to the path list. Slice respirator 201 then notifies the relevant network functions 202-207 of the new path, enabling the establishment of the requested session or QoS flow on that path (step 703). If the new path cannot be instantiated, slice respirator 201 rejects the request and notifies the relevant functions in network functions 202-207 (step 705).
[0042] Figure 8 The illustration depicts operation 800, which optimizes QoS flows within a network slice of a 5G network. Operation 800 is an example session control algorithm for throughput and / or latency balancing. In operation 800, the slice respirator 201 identifies triggering events, such as new requests as discussed above or exceeding a threshold (step 801). In some examples, when the slice respirator 201 determines that no path currently has sufficient capacity available, operation 800 may be performed between steps 704 and 705 of operation 700 to attempt to free up capacity on the path. If sessions have not yet been classified, the slice respirator 201 also classifies sessions based on CQI data rate and CQI latency (step 802). For each of CQI data rate and CQI latency (or, if only one classification is considered, only one of them), sessions are classified as unachievable, require boosting, and top-heavy.
[0043] Based on the CQI data rate classification for each session, slice respirator 201 determines whether adjustments can be made to free up resources on other sessions (step 803). One algorithm that slice respirator 201 can use is Weighted Fair Scheduling (WFS), which is also commonly implemented on IP routers that include UPF. While other algorithms can be used, WFS is well-suited because it adapts to the flow and applies control actions to each session based on how well or poorly each session performs. The result of applying WFS is a gradual increase / decrease in queuing buffers and the frequency of flow scheduling, preventing the network protocol from becoming overwhelmed. For sessions classified as unachievable, slice respirator 201 takes no action because unachievable sessions have radio conditions that lead to insurmountable problems (step 803A). For sessions that need to be promoted, slice respirator 201 can increase the queuing buffer size of the session (and, if necessary, increase its priority) (step 803B). For top-overloaded sessions, the slice respirator 201 can reduce the queuing buffer size for all sessions or specific sessions (e.g., only a sufficient number of top-overloaded sessions needed to obtain sufficient capacity on the path) (priority can be reduced if necessary) (step 803C).
[0044] Similarly, based on the CQI latency classification for each session, slice respirator 201 also determines whether adjustments can be made to free up resources on other sessions (step 803). WFS can also be used for CQI latency, but other algorithms may also be used. No action is taken for sessions classified as unachievable (step 803A). For sessions classified as requiring promotion, slice respirator 201 can reduce the queuing time of the session (and increase its priority if necessary) (step 803B). For sessions classified as top-heavy, slice respirator 201 can increase the queuing time for all sessions or a specific session (and decrease its priority if necessary) (step 803C).
[0045] To achieve the determination in step 803, the slice respirator 201 can communicate with the PCF 202 to coordinate the determination and placement strategy, and can communicate with the SMF 206 and UPF 103 to enforce delay control and queuing changes.
[0046] The slice respirator 201 can also invoke algorithms for slice aggregation control to ensure that aggregation level requirements in slice service level requirements are not exceeded during operation, thus harming other slices. For example, the slice template can provide a value of 100 Mbps for the "downlink throughput per network slice" (aggregated downlink data rate of all UEs in the slice) and "uplink throughput per network slice" (aggregated uplink data rate of all UEs in the slice), or specify that 90% of sessions should experience latency of less than 50 ms. If one slice exceeds these performance metrics while another slice performs poorly, slice aggregation control can be applied to correct the imbalance.
[0047] To perform slice aggregation control, slice respirator 201 can limit top-heavy sessions. Alternatively, applying control uniformly to all sessions may move slice aggregation parameters toward the desired goal, but could also adversely affect other sessions. If slice service level requirements specify both latency and throughput, latency takes precedence when performing slice aggregation control. The control to be applied to these sessions is flow throttling for desired throughput control and increased queuing time for desired latency control. Slice respirator 201 applies appropriate control to "top-heavy" sessions; the increase in throttling or queuing time should be relatively small to avoid overloading the network protocol.
[0048] Figure 9 The illustration depicts computing system 900, which represents any system or collection of systems that can implement the various processes, systems, programs, services, and scenarios disclosed herein. Examples of computing system 900 include, but are not limited to, desktop computers, laptop computers, server computers, routers, web servers, cloud computing platforms and data center equipment, distributed computing systems, and any other type of physical or virtual server machine, physical or virtual router, container, and any variation or combination thereof. It should be understood that virtualization components execute on physical hardware, such as the physical hardware of computing system 900.
[0049] The computing system 900 can be implemented as a single device, system, or apparatus, or it can be implemented in a distributed manner as multiple devices, systems, or apparatuses. The computing system 900 may include, but is not limited to, a processing system 915, a storage system 905, software 925, a communication interface system 910, and a user interface system 920. The processing system 915 can be operatively coupled to the storage system 905, the communication interface system 910, and the user interface system 920.
[0050] Processing system 915 can load and execute software 925 from storage system 905. Software 925 may include and implement respirator processing 930, which may represent any operation (e.g., operation 300) for optimizing flow performance in a network slice of a 5G network. Therefore, computing system 900 may be slice respirator 201, or may be a host system of a virtualized example of slice respirator 201. Computing system 900 may also represent computing systems for network functions 202-207—including combinations thereof. When executed by processing system 915, software 925 may instruct processing system 915 to operate as described herein to at least implement the various processes, operation scenarios, and sequences discussed in the foregoing embodiments. For brevity, computing system 900 may optionally include additional devices, features, or functions not discussed.
[0051] In some embodiments, the processing system 915 may include a microprocessor and other circuitry that retrieves and executes software 925 from the storage system 905. The processing system 915 may be implemented within a single processing device, but may also be distributed across multiple processing devices or subsystems that collaboratively execute program instructions. Examples of the processing system 915 may include a general-purpose central processing unit, a graphics processing unit, a dedicated processor and logic device, and any other type of processing device, combination thereof, or variation thereof.
[0052] Storage system 905 may include any storage device or computer-readable storage medium that can be read by processing system 915 and is capable of storing software 925. Storage system 905 may include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Examples of storage media include random access memory, read-only memory, magnetic disks, optical disks, optical media, flash memory, virtual and non-virtual memory, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, or any other suitable storage medium. In any case, the computer-readable storage medium is not a transient form of signal transmission (often referred to as the "signal itself"), such as a propagating electrical or electromagnetic signal or carrier wave.
[0053] In addition to a computer-readable storage medium, in some embodiments, the storage system 905 may also include a computer-readable communication medium through which at least a portion of the software 925 can communicate internally or externally. The storage system 905 may be implemented as a single storage device, but may also be implemented across multiple storage devices or subsystems co-located or distributed relative to each other. The storage system 905 may include additional elements, such as a controller, capable of communicating with the processing system 915 or potentially other systems.
[0054] Software 925 (which includes processing 930 among other functions) can be implemented in program instructions that, when executed by processing system 915, direct processing system 915 to operate in accordance with the descriptions of various operating scenarios, sequences, and processes shown herein. For example, software 925 may include program instructions for creating network slices in a 5G network, retrieving network information indicating whether the QoS level of a slice's flow within the network slice is satisfied, determining, based on the network information, that the QoS level of a flow is not satisfied, and, in response to determining that the QoS level of a flow is not satisfied, directing the network control functions of the 5G network to reconfigure the resource usage of the slice to achieve the QoS level of the flow.
[0055] Specifically, program instructions may include various components or modules that cooperate or otherwise interact to perform the various processing and operational scenarios described herein. These components or modules may be implemented in compiled or interpreted instructions, or in some other variation or combination of instructions. These components or modules may execute synchronously or asynchronously, serially or in parallel, in a single-threaded environment or in multiple threads, or according to any other suitable execution paradigm, variation, or combination thereof. Software 925 may include additional processing, programs, or components, such as operating system software, virtualization software, or other application software. Software 925 may also include firmware or some other form of machine-readable processing instructions executable by processing system 915.
[0056] Generally, when software 925 is loaded into and executed by processing system 915, it can transform a suitable device, system, or apparatus (represented by computing system 900) from a general-purpose computing system into a specialized computing system tailored to, for example, function as a slice respirator as described herein. In practice, encoding software 925 on storage system 905 can transform the physical structure of storage system 905. In different embodiments of this specification, the specific transformation of the physical structure may depend on various factors. Examples of such factors may include, but are not limited to, the technology of the storage medium used to implement storage system 905, whether the computer storage medium is characterized as a primary or secondary storage device, and other factors.
[0057] For example, if the computer-readable storage medium is implemented as a semiconductor-based memory, then software 925 can, when program instructions are encoded therein, transform the physical state of the semiconductor memory, such as by changing the state of the transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. Similar transformations may occur with respect to magnetic or optical media. Other transformations of the physical medium are also possible without departing from the scope of this description; the foregoing examples are provided only for the convenience of this discussion.
[0058] The communication interface system 910 may include communication connections and devices that allow communication with other computing systems (not shown) via a communication network (not shown). Examples of communication connections and devices that commonly allow inter-system communication may include network interface cards, antennas, power amplifiers, radio frequency (RF) circuitry systems, transceivers, and other communication circuitry systems. The communication connections and devices may communicate via a communication medium to exchange communication with other computing systems or networks of systems (such as metal, glass, air, or any other suitable communication medium).
[0059] Communication between computing system 900 and other computing systems (not shown) can occur through one or more communication networks and according to various communication protocols, combinations of protocols, or variations thereof. Examples include intranets, the Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software-defined networks, data center buses and backplanes, or any other type of network, combination of networks, or variations thereof.
[0060] As those skilled in the art will recognize, aspects of the present invention can be implemented as systems, methods, computer program products, and other configurable systems. Accordingly, aspects of the present invention can take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, which are generally referred to herein collectively as “circuit,” “module,” or “system.” Furthermore, aspects of the present invention can take the form of computer program products implemented on one or more memory devices or (one or more) computer-readable media having computer-readable program code embodied thereon.
[0061] Unless the context explicitly requires otherwise, throughout the specification and claims, the words “comprising,” “including,” etc., shall be interpreted in a encompassing sense, rather than an exclusive or exhaustive sense; that is, in the sense of “including but not limited to.” As used herein, the terms “connection,” “coupling,” or any variation thereof refer to any connection or coupling between two or more elements, whether direct or indirect; the coupling or connection between elements may be physical, logical, or a combination thereof. Furthermore, the words “this article,” “above,” “below,” and similar terms, when used in this application, refer to the application as a whole, and not any particular part of the application. Where the context permits, singular or plural terms used in the above specific embodiments may also include either the plural or the singular, respectively. When referring to a list of two or more items, the word “or” covers all of the following interpretations of the word: any item in the list, all items in the list, and any combination of items in the list.
[0062] The phrases “in some embodiments,” “according to some embodiments,” “in the illustrated embodiments,” “in other embodiments,” etc., generally mean that the specific feature, structure, or characteristic following the phrase is included in at least one embodiment of the present technology, and may be included in more than one embodiment. Furthermore, such phrases do not necessarily refer to the same embodiment or different embodiments.
[0063] The specific embodiments of this technology described above are not intended to be exhaustive or to limit the technology to the precise forms disclosed above. While specific examples of the technology have been described above for illustrative purposes, various equivalent modifications can be made within the scope of this technology, as will be recognized by those skilled in the art. For example, although processes or blocks are presented in a given order, alternative implementations may execute routines with steps, or employ systems with blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and / or modified to provide alternatives or sub-combinations. Each of these processes or blocks can be implemented in various different ways. Moreover, although processes or blocks are sometimes shown as being executed serially, these processes or blocks may alternatively be executed or implemented in parallel, or may be executed at different times. Additionally, any specific numbers mentioned herein are merely examples: alternative implementations may employ different values or ranges.
[0064] The teachings of the techniques provided herein can be applied to other systems, not just those described above. Elements and actions from the various examples described above can be combined to provide further implementations of the technique. Some alternative implementations of the technique may include not only additional elements of those implementations described above, but may also include fewer elements.
[0065] Based on the specific embodiments described above, these and other modifications can be made to the technology. While the above description depicts certain examples of the technology and describes the expected best mode, the technology can be practiced in many ways, however detailed it may appear in the text above. The details of the system can vary considerably in its specific embodiments, but are still covered by the technology disclosed herein. As stated above, specific terms used in describing certain features or aspects of the technology should not be construed as implying that the term is redefined herein as limited to any specific feature, characteristic, or aspect of the technology associated with that term. Generally, the terms used in the following claims should not be construed as limiting the technology to the specific examples disclosed in the specification, unless such terms are expressly defined in the Detailed Description section above. Accordingly, the actual scope of this technology covers not only the disclosed examples but also all equivalent ways of practicing or implementing the technology under the claims.
[0066] To reduce the number of claims, certain aspects of the present technology are presented below in certain claim forms, but the applicant contemplates any number of aspects of the present technology in any number of claim forms. For example, while only one aspect of the present technology is described as a computer-readable medium claim, other aspects may equally be implemented as computer-readable medium claims, or in other forms, such as being implemented as means-plus-function claims. Any claim intended to be treated under 35 USC § 112(f) will begin with the phrase “meansfor,” but the use of the term “for” in any other context is not intended to invoke treatment under 35 USC § 112(f). Accordingly, the applicant reserves the right to pursue appended claims after the filing of this application in order to pursue such appended claim forms in this application or a continuation thereof.
[0067] The aspects of the subject matter described herein are set forth in the following numbered clauses:
[0068] 1. A method for optimizing flow performance in network slices of a fifth-generation (5G) network, the method comprising:
[0069] Create network slices in 5G networks, where network slices include logically separate networks running on 5G networks;
[0070] Retrieve network information indicating whether the Quality of Service (QoS) level of traffic in a network slice is met;
[0071] The service level of the QoS flow determined based on network information was not met; and
[0072] In response to the determination that the service level of a QoS flow is not met, the network control function of the 5G network is guided to reconfigure the resource usage of the slice to achieve the service level of the QoS flow.
[0073] 2. The method as described in Clause 1, wherein retrieving network information includes:
[0074] Receive network information from network functions and network elements of the 5G network that serve the QoS flow of the slice.
[0075] 3. The method as described in Clause 1, wherein determining that the service level of a QoS flow is not satisfied includes:
[0076] Network information is input into one or more analysis algorithms, which track service level parameters of service levels and indicate whether service level requirements are met.
[0077] 4. The method as described in Clause 3, wherein guiding the network control function to reconfigure resource usage includes:
[0078] The first output of the one or more analysis algorithms is input into one or more decision algorithms; and
[0079] The second output of the one or more decision algorithms indicates network control functions, wherein the second output indicates configuration parameters that conform to service level parameters.
[0080] 5. The method as described in Clause 1, comprising:
[0081] Identify external events and include event information about those external events in the network information.
[0082] 6. The method as described in Clause 5, wherein the external event includes a request to increase the streaming load on the slice, and wherein guiding the network control function to reconfigure resource usage includes:
[0083] The request is rejected when the QoS level of the flow cannot be maintained in any other way.
[0084] 7. The method as described in Clause 6, wherein the request includes a slice access request for a user equipment that is not yet connected to the slice.
[0085] 8. The method as described in Clause 1, wherein guiding the network control function to reconfigure resource usage includes:
[0086] The sessions are classified based on at least one of the data rate and latency of the radio link, relative to the service level agreement of the sessions on the slice; and
[0087] The reassignment of its classification indicates that radio link quality is limiting the resources reserved for those sessions that comply with the service level agreement.
[0088] 9. The method as described in Clause 1, wherein determining that the service level of a QoS flow is not satisfied includes:
[0089] It has been determined that the threshold has been exceeded in the network information.
[0090] 10. As described in Clause 1, guiding network control functions to reconfigure resource usage includes:
[0091] The sessions are classified based on at least one of the data rate and latency of the radio link, relative to the service level agreement of the sessions on the slice; and
[0092] For sessions other than those whose classification indicates that radio link quality is limiting compliance with service level agreements, adjust at least one of the buffer size and priority within the buffer.
[0093] 11. An apparatus for optimizing flow performance in a network slice of a fifth-generation (5G) network, the apparatus comprising:
[0094] One or more computer-readable storage media;
[0095] A processing system operatively coupled to the one or more computer-readable storage media; and
[0096] Program instructions stored on the one or more computer-readable storage media, which, when read and executed by the processing system, direct the apparatus:
[0097] Create network slices in 5G networks, where network slices include logically separate networks running on 5G networks;
[0098] Retrieve network information indicating whether the Quality of Service (QoS) level of traffic in a network slice is met;
[0099] The service level of the QoS flow determined based on network information was not met; and
[0100] In response to the determination that the service level of a QoS flow is not met, the network control function of the 5G network is guided to reconfigure the resource usage of the slice to achieve the service level of the QoS flow.
[0101] 12. The apparatus as described in Clause 11, wherein the program instructions direct the processing system in order to retrieve network information:
[0102] Receive network information from network functions and network elements of the 5G network that serve the QoS flow of the slice.
[0103] 13. The apparatus as described in Clause 11, wherein, in order to determine that the service level of a QoS flow is not satisfied, the program instructions direct the processing system to:
[0104] Network information is input into one or more analysis algorithms, which track service level parameters of service levels and indicate whether service level requirements are met.
[0105] 14. The apparatus as described in Clause 13, wherein the program instructions direct the processing system in order to direct the network control function to reconfigure resource usage:
[0106] The first output of the one or more analysis algorithms is input into one or more decision algorithms; and
[0107] The second output of the one or more decision algorithms indicates network control functions, wherein the second output indicates configuration parameters that conform to service level parameters.
[0108] 15. The apparatus as described in Clause 11, wherein the program instructions direct the processing system:
[0109] Identify external events and include event information about those external events in the network information.
[0110] 16. The apparatus as described in Clause 15, wherein the external event includes a request to increase the streaming load on the slice, and wherein the program instructions direct the processing system in order to direct network control functions to reconfigure resource usage:
[0111] The request is rejected when the QoS level of the flow cannot be maintained in any other way.
[0112] 17. The apparatus as described in Clause 16, wherein the request includes a slice access request for a user equipment that is not yet connected to the slice.
[0113] 18. The apparatus as described in Clause 11, wherein the program instructions direct the processing system in order to direct the network control function to reconfigure resource usage:
[0114] Relative to the service level agreement (SLA) of sessions on the slice, sessions on the slice are classified based on at least one of the data rate and latency of the radio link; and
[0115] The reassignment of its classification indicates that radio link quality is limiting the resources reserved for those sessions that comply with the service level agreement.
[0116] 19. The apparatus as described in Clause 11, wherein, in order to determine that the service level of a QoS flow is not satisfied, the program instructions direct the processing system to:
[0117] It has been determined that the threshold has been exceeded in the network information.
[0118] 20. One or more computer-readable storage media storing program instructions thereon for optimizing streaming performance in a network slice of a fifth-generation (5G) network, the program instructions, when read and executed by a processing system, instructing the processing system to:
[0119] Create network slices in 5G networks, where network slices include logically separate networks running on 5G networks;
[0120] Retrieve network information indicating whether the Quality of Service (QoS) level of traffic in a network slice is met;
[0121] The service level of the QoS flow determined based on network information was not met; and
[0122] In response to the determination that the service level of a QoS flow is not met, the network control function of the 5G network is guided to reconfigure the resource usage of the slice to achieve the service level of the QoS flow.
Claims
1. A method for optimizing flow performance in network slices of a fifth-generation 5G network, the method comprising: Create network slices in 5G networks, where network slices include logically separate networks running on 5G networks; Retrieve network information indicating whether the Quality of Service (QoS) level of a slice in a network slice is met; The service level of the QoS flow determined based on network information was not met; as well as In response to the determination that the service level of a QoS flow is not met, the network control function of the 5G network is guided to reconfigure the resource usage of the slice to achieve the service level of the QoS flow.
2. The method of claim 1, wherein retrieving network information includes: Network information is received from network functions and network elements of the 5G network serving the QoS flow of the slice.
3. The method of claim 1 or claim 2, wherein determining that the service level of the QoS flow is not satisfied includes: Network information is input into one or more analysis algorithms, which track service level parameters of service levels and indicate whether service level requirements are met.
4. The method of claim 3, wherein guiding the network control function to reconfigure resource usage includes: The first output of the one or more analysis algorithms is input into one or more decision algorithms; as well as The second output of the one or more decision algorithms indicates network control functions, wherein the second output indicates configuration parameters that conform to service level parameters.
5. The method as described in any one of claims 1 to 4, comprising: Identify external events and include event information about those external events in the network information.
6. The method of claim 5, wherein the external event includes a request to increase the streaming load on the slice, and wherein guiding the network control function to reconfigure resource usage includes: The request is rejected if the QoS level of the flow cannot be maintained otherwise.
7. The method of claim 6, wherein the request includes a slice access request for a user equipment that is not yet connected to the slice.
8. The method of any one of claims 1 to 7, wherein reconfiguring resource usage for the network control function comprises: The sessions are classified based on at least one of the data rate and latency of the radio link, relative to the service level agreement of the sessions on the slice; as well as The reassignment is a classification indicator that radio link quality is limiting resources reserved for sessions conforming to service level agreements.
9. The method of any one of claims 1 to 8, wherein determining that the service level of the QoS flow is not satisfied includes: It has been determined that the threshold has been exceeded in the network information.
10. The method of any one of claims 1 to 9, wherein guiding the network control function to reconfigure resource usage comprises: The sessions are classified based on at least one of the data rate and latency of the radio link, relative to the service level agreement of the sessions on the slice; as well as For sessions other than those whose classification indicates that radio link quality is limiting service level agreement compliance, adjust at least one of the buffer size and priority within the buffer.
11. An apparatus for optimizing streaming performance in a network slice of a fifth-generation (5G) network, the apparatus comprising: One or more computer-readable storage media; A processing system operatively coupled to the one or more computer-readable storage media; as well as Program instructions stored on the one or more computer-readable storage media, which, when read and executed by the processing system, direct the apparatus to perform the method as described in any one of claims 1 to 10.
12. One or more computer-readable storage media storing program instructions for optimizing streaming performance in network slices of a fifth-generation 5G network, the program instructions, when read and executed by a processing system, instructing the processing system to perform the method as described in any one of claims 1 to 10.
13. A computer program product comprising a program that, when executed, performs the method of any one of claims 1 to 10.