Systems and methods for slice resource optimization
By employing QoS and QoE modeling with machine learning and linear programming, network slice configurations are optimized to adapt to dynamic traffic, ensuring QoS and maximizing QoE, addressing inefficiencies in existing network slicing technologies.
Patent Information
- Application Number
- PCT/EP2025/052630
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-02
- Filing Date
- 2025-02-03
- Publication Date
- 2025-08-07
AI Technical Summary
Existing network slicing technologies fail to optimize resource allocation efficiently, leading to suboptimal performance and inadequate Quality of Experience (QoE) due to static configurations that do not adapt to changing traffic loads and do not ensure QoE, especially in dynamic environments.
Utilizing Quality of Service (QoS) and Quality of Experience (QoE) modeling with machine learning models to dynamically optimize network slice configurations, incorporating real-time re-optimization and linear programming to distribute resources among slices based on QoS and QoE parameters, ensuring QoS and maximizing user satisfaction.
The solution ensures optimal resource utilization and QoE by dynamically reallocating resources among slices, meeting QoS and QoE targets, thereby supporting a larger number of subscribers and improving user experience.
Smart Images

Figure EP2025052630_07082025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR SLICE RESOURCE OPTIMIZATIONTECHNICAL FIELD
[0001] Disclosed are embodiments related to optimizing resources for network slices, and in particular, utilization of Quality of Service (QoS) and / or Quality of Experience (QoE) values and modeling for network slice configuration.INTRODUCTION
[0002] Network slicing is a key element of modern telecommunications. It can transform networks - including 5G and beyond - by partitioning aspects of the physical network infrastructure into virtual networks. Each slice may be individually configured to specific applications, services, or user groups, which provides a flexible and efficient way to allocate resources within a shared network environment.
[0003] One advantage of network slicing is the ability to create customized networks by allocating resources such as bandwidth, computing power, and / or storage in a dedicated way, thereby optimizing performance for different use cases. This adaptability allows network operators to address the different requirements of applications and provide a better Quality of Experience (QoE) for end-users across various services.
[0004] Bosk et al. (“Using 5g QoS Mechanisms to Achieve QoE-Aware Resource Allocation”) is directed to QoS-aware resource allocation in 5G networks, including QoS flows and network slicing. Wang et al. (“Enable Advanced QoS-Aware Network Slicing in 5G Networks for Slicebased Media Cse Cases”) is directed to migrating eHealth telemedicine services to 5G using the SliceNet framework, focusing on media-centric applications. Fendt et al. (“A Formal Optimization Model for 5G Mobile Network Slice Resource Allocation”) is directed to optimization for Network Slice Embedding (NSE), including for network function chaining and path splitting. Retal et al. (“Content Delivery Network Slicing: QoE and Cost Wwareness”) introduces a Content Delivery Network as a Service (CDNaaS) platform for efficient video management through virtualized caches, transcoders, and streamers.
[0005] There remains a need for improved optimization for network slices, including for the efficient allocation and management of network resources to provide optimal performance.SUMMARY
[0006] According to a first method aspect a method is provided. The method comprises receiving Quality of Service. The method further comprises estimating Quality of Experience(QoE) information based on the received QoS. The method further comprises generating one or more network slice configurations based at least in part on the received information. Generating the network slice configuration comprises performing a resource optimization for one or more of the network slices using at least the QoE information.
[0007] The method (e.g., according to the first method aspect) may further comprise receiving QoE information.
[0008] The method (e.g., according to the first method aspect) may further comprise providing the generated network slice configuration to a separate network entity.
[0009] The received QoE information (e.g., according to the first method aspect) may comprise:(i) estimated QoE from one or more machine learning (ML) models; and / or(ii) QoE information is received from one or more external sources.
[0010] The network slice configuration (e.g., according to the first method aspect) may be provided to an apparatus, system, or node in the Radio Access Network (RAN) domain of a network, and the configuration comprises one or more of slice ID, service identifier, traffic type, 5QI characteristics, allocation retention and priority information, guaranteed flow bit rate, or slice Physical Resource Block (PRB) share percentage. Alternatively or in addition, the network slice configuration may be provided to an apparatus, system, or node in the core domain of the network, and the configuration comprises one or more of slice ID, Session Management Function (SMF) identification, SMF memory percentage, SMF CPU percentage, User Plane Function (UPF) identification, UPF memory percentage, or UPF CPU percentage. Alternatively or in addition, the network slice configuration may be provided to an apparatus, system, or node in the transport domain of the network, and the configuration comprises one or more of slice ID, service identifier, traffic type, guaranteed flow bit rate, Differentiated Services Code Point (DSCP), or bandwidth share percentage.
[0011] The method (e.g., according to the first method aspect) may further comprise performing a re-optimization of a network slice.
[0012] The method (e.g., according to the first method aspect), wherein the reoptimization may be performed at a pre-defined interval.
[0013] The resource optimization (e.g., according to the first method aspect) may be based in least in part on a linear regression model.
[0014] The optimization (e.g., according to the first method aspect) may comprise maximizing a function that:(i) includes penalties if subscriber number, QoS, and / or QoE targets are not met; and / or(ii) increases in value when QoE is better or more subscribes can be supported than corresponding target values specified in a Service Level Agreement (SLA).
[0015] The optimization (e.g., according to the first method aspect) may be performed using a variable size time window.
[0016] The optimization (e.g., according to the first method aspect) may be based at least in part on QoS requirements of a given service type for the network slice.
[0017] The optimization (e.g., according to the first method aspect) may ensure a minimum number of subscribers per slice.
[0018] The optimization (e.g., according to the first method aspect) may ensure a minimum or maximum value of QoS for a service.
[0019] The optimization (e.g., according to the first method aspect) may ensure a QoE target.
[0020] The method (e.g., according to the first method aspect), wherein the minimum number of subscribers, or minimum / maximum value of QoS, and / or the QoE target may be specified in a corresponding SLA.
[0021] The resource optimization (e.g., according to the first method aspect) may comprise distribution of remaining network resources among a plurality of network slices.
[0022] The method (e.g., according to the first method aspect), wherein the distribution may be performed to support an increased number of subscribers or improve QoE.
[0023] The method (e.g., according to the first method aspect), wherein:(i) the configuration may be generated for one service per slice; or(ii) the configuration may be generated for more than one service per slice.
[0024] The QoS information (e.g., according to the first method aspect) may comprise one or more of QoS KPIs, per-user QoS information, and / or per-service QoS information.
[0025] The method (e.g., according to the first method aspect), wherein the QoS and / or QoE information may be provided by a network data analytics function (NWDAF).
[0026] The method (e.g., according to the first method aspect), wherein the configuration may be generated based at least in part on actual user count per slice or actual services used by one or more users.
[0027] The optimization (e.g., according to the first method aspect) may comprise modifying one or more of slice PRB share percentage, SMF or UPF memory percentage, UPF CPU percentage, and / or bandwidth share percentage of a network slice.
[0028] The network slice configuration (e.g., according to the first method aspect) may be generated based at least in part on Equation (1):where m, k, and t are a number of slices, features, and time steps, respectively; pj and ej are revenue and extra revenue values of a user of slice j, respectively; cjl is the user count of slice j in the 1 time step; qj is the target QoE of slice j; sj is the minimum user number of slice j; wnk is the coefficient for the k-th feature of the n-th linear model; zn is the intercept value of the n-th linear model; uj is a variable describing the number of users the j-th slice can serve with target QoE with the currently allocated resources; xjk is a variable representing the k-th feature allocated to the j-th slice to satisfy users; and yjk: is a variable representing the remaining free resources of the k-th feature of the j-th slice.
[0029] The generating (e.g., according to the first method aspect) may be performed by optimizing Equation (1) based on QoE, user count, and per-user service revenue.
[0030] The method (e.g., according to the first method aspect), wherein Equation (1) may be confined by Equations (2)-(8) :wherecoefxjixki is the coefficient of xki, approximating xji; corrxjixki is the margin of error for retaining correlation between xki and xji; and xljkmin and xljkmax are the lower and upper bound of the k-th resource descriptor of the j-th slice in the 1-th time step, respectively.
[0031] The method (e.g., according to the first method aspect) may comprise distributing shared resources among slices.
[0032] The generating the one or more network slice configurations (e.g., according to the first method aspect) may comprise configuring one or more shared parameters.
[0033] According to a first device aspect an apparatus is provided. The apparatus configured to receive Quality of Service (QoS). The apparatus further configured to estimate Quality of Experience (QoE) information based on the received QoS. The apparatus further configured to generate one or more network slice configurations based at least in part on the received information. Generating the network slice configuration comprises performing a resource optimization for one or more of the network slices using at least the QoE information.
[0034] The apparatus (e.g., according to the first device aspect) may be further configured to perform any steps of the first method aspect.
[0035] The apparatus (e.g., according to the first device aspect) may further comprise a slice configuration manager in the network management domain.
[0036] The apparatus (e.g., according to the first device aspect) may further comprise a slice optimization module.
[0037] According to a second method aspect a method is provided. The method comprises obtaining information regarding Quality of Service (QoS). The method further comprises generating Quality of Experience (QoE) information based on the QoS information using a machine learning model. The method further comprises providing the QoE information to a slice configuration manager.
[0038] The method (e.g., according to the second method aspect) may further comprise providing QoS information to the slice configuration manager.
[0039] The method (e.g., according to the second method aspect), wherein obtaining the QoS information may comprises generating or receiving QoS KPIs.
[0040] The method (e.g., according to the second method aspect), wherein the QoS KPIs may be based on User Plane Function (UPF) reports, traffic probe reports, and / or generated on a per-flow basis.
[0041] The obtaining the QoS information (e.g., according to the second method aspect) may comprise measuring one or more value.
[0042] The QoS metrics (e.g., according to the second method aspect) may be obtained from an external cloud or service and used to generate QoE information.
[0043] The QoE information (e.g., according to the second method aspect) may be derived using one or more service-specific linear regression models based on slice type.
[0044] According to the second device aspect an apparatus is provided. The apparatus configured to obtain information regarding Quality of Service (QoS). The apparatus further configured to generate Quality of Experience (QoE) information based on the QoS information using a machine learning model. The apparatus further configured to provide the QoE information to a slice configuration manager.
[0045] The apparatus (e.g., according to the second device aspect) may be further configured to perform any steps of the second method aspect.
[0046] The apparatus (e.g., according to the second device aspect) may comprise a network data analytics function (NWDAF) in the core domain.
[0047] According to a third method aspect a method is provided. The method comprises receiving an optimized network slice configuration generated according to any steps of the first method aspect or the second method aspect. The method further comprises applying the configuration.
[0048] According to the third device aspect an apparatus is provided. The apparatus configured to receive an optimized network slice configuration generated according to any steps of the first method aspect or the second method aspect. The apparatus further configured to apply the configuration.
[0049] The apparatus (e.g., according to the third device aspect) may be a eNodeB a gNodeB, or other radio device; comprises a core network function; or is a router, switch, or bridge in the transport domain.
[0050] According to another device aspect a computer program product is provided. The computer program product comprises a non-transitory computer readable medium storing instructions which when performed by processing circuitry of a device causes the device to perform any steps of the first method aspect or the second method aspect.BRIEF DESCRIPTION OF THE DRAWINGS
[0051] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0052] FIG. 1 illustrates a system according to some embodiments.
[0053] FIGs. 2A-2C illustrate network slice configurations according to embodiments.
[0054] FIG. 3 and FIG. 4 are flow charts illustrating processes according to embodiments.
[0055] FIG. 5A, FIG. 5B, and FIG. 6 illustrate experimental results.
[0056] FIGs. 7-12 illustrate networks, systems, and devices according to one or more embodiments.ADDITIONAL EXPLANATION
[0057] There currently exist certain challenges. As network slicing becomes more dominant, the focus will shift to the critical aspects of resource optimization within a multiservice, multi-application ecosystem. Efficient allocation and management of network resources will be essential to guarantee optimal performance of each slice, while maximizing the utilization of available resources. This optimization challenge becomes particularly complex in dynamic environments where service demands change rapidly.
[0058] For example, static slice and Quality of Service (QoS) configurations do not follow traffic load changes, can be suboptimal from a resource usage point of view, and / or do not guarantee QoS in resource contention cases. Moreover, cell load can vary significantly and a single, or a few different, slice configurations may not be suitable or optimum for different cells. Determining and configuring a large number of different slice configurations is a complex task. Finally, even if QoS is considered, existing slice configuration methods do not ensure QoE, which is typically more important for end user satisfaction. That is, methods that ensure the number of subscribers per slice are not optimized for QoE, and thus, the number of users that can be supported without QoE degradation is less than the optimum.
[0059] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges.
[0060] In contrast to previous technologies, embodiments utilize QoE modeling for network slice optimization, focusing on actual user experience rather than QoS parameters.
[0061] Aspects of the disclosure provide resource optimization for network slicing using machine learning (ML) models trained on empirical data, such as data available to network operators. Specifically, ML models are used for estimating the QoE based on network-widemeasurable QoS parameters of different services, for example video conferencing and cloud gaming. The estimated QoE are then used for finding the optimal configuration of network slices. According to embodiments, disclosed methods may be used for dynamically distributing, in an optimum way, network resources that are shared by multiple slices. Although QoE may be estimated based on QoS and / or modeling in some embodiments, it can also be received from external sources, such as QoE measured at the end client and sent to network management.
[0062] According to embodiments, the resource allocations to these slices are dynamically re-optimized in response to the changing needs of the network, for instance, at regular intervals. This real-time optimization, at the granularity defined by a given dataset, can require computational speed and scalability. To meet this requirement, embodiments use linear programming as an optimization tool, exploiting its efficiency in handling large-scale and dynamic optimization problems.
[0063] The method and the optimization algorithms can use a slice model having one or more of the following configuration parameters:• supported service types per slice, for example, with different slices defined for different services (although the method can be used for multiple services per slices as well);• minimum user number, such as the minimum number of users that the slice should satisfy at least on target QoE;• target QoE, such as the minimum QoE value that should be provided to at least the minimum number of users;• service revenue - the revenue related to a satisfied user for a given service;• extra revenue - the extra revenue per user that is received after satisfying the minimum number of users;• maximum / minimum values of QoS parameters, which can include the upper / lower limits for each transport parameters that the slice can receive, on a peruser basis;• penalties for violating a QoS target;• penalties for violating a QoE target (if there is one); and / or penalties for not supporting a minimum user number per slice and service.
[0064] In addition to these operator defined parameters, the algorithm can use one or more the following measured values in some embodiments:• actual user count per slices and used services by the users;• measured QoS parameters per users, per service; and / or• QoE parameters estimated by the QoE models based on the measured QoS parameters as input.According to some embodiments, the values may be measured or otherwise received by a network data analytics function (NWDAF).
[0065] In some embodiments, the optimization is done by maximizing a revenue function that allocates costs for achieving QoS values. It may also introduce penalties when minimum user numbers, QoS targets, and / or QoE target parameters are violated. In certain aspects, if the minimum requirements are fulfilled, the algorithm adds rewards for achieving better QoE or supporting more subscribers per slices.
[0066] The algorithm can be used for optimizing network resources where there is bottleneck, cell radio resources (such as physical resource blocks, PRBs), bandwidth in a transport link, and / or NF processing resources.
[0067] In some embodiments, a dynamic slice optimization method distributes the network resources among slices. This could include, for instance:• taking into account the QoS requirements of the different service types;• ensuring the minimum required number of subscriber per slices specified in a service level agreement (SLA);• ensuring the minimum and maximum values of QoS parameters for different services specified in the SLA;• estimating the QoE based on measured QoS parameters by ML models and ensuring QoE targets specified in SLAs (if there are any); and / or• after ensuring the QoS, minimum required subscribers number and QoE (if applicable) specified in the SLA, the algorithm can distribute the remaining network resources among the slices to support more subscribers and improve QoE.In certain aspects, the optimization is based on maximizing a revenue function that: (i) includes penalties when subscriber number, QoS, or QoE targets are not met; and / or (ii)increases the revenue when QoE is better and more subscribes can be supported than the target values specified in the SLA. Optimization is done for the network resources, where the bottleneck is, for instance, PRBs in the radio IF, processing capacity related to NFs, bandwidth in transport links, etc. In order to simplify the optimization, linear regression models are applied for estimating QoE in some embodiments.
[0068] Certain embodiments may provide one or more of the following technical advantages.
[0069] The method is fast, it can be run frequently for a large number of network entities (cells, links, NFs), and dynamically reallocate resources among slices. In this way QoS, QoE, and required subscriber numbers per slices are ensured in changing traffic and network conditions. Additionally, an algorithm can be run separately for large numbers of network entities; therefore, it can be applied per cell, per NE, per link, etc. while also supporting highly uneven traffic distributions.
[0070] Additionally, the optimization techniques of embodiments can provide efficient use of network resources. Beside ensuring QoS, QoE, and / or subscriber numbers, some embodiments distribute resources to improve QoE while supporting as many additional subscribers as possible. This ensures and maximizes QoE in addition to ensuring QoS or number of subscribers.
[0071] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0072] Referring now to FIG. 1, a system 100 is provided according to some embodiments.In certain aspects, FIG. 1 shows a network architecture where methods described herein may be applied during operation. The system may include, for instance, user equipment (UEs) 102 and access points or nodes 104, such as gNodeBs, with user plane traffic through radio IF.
[0073] In this example, the slice configuration management or orchestration function is part of the network management domain. In some embodiments, the slice optimization method and algorithm processing 110 are implemented either as part of the slice configuration manager 108, or in a separate management data analytics function (MDAF). In FIG. 1, QoS KPIs are calculated based on UPF reports, including for node events or probe reports, in the NWDAF 112. The NWDAF 112 can also include the QoE estimation ML models. In this example, and according to embodiments, NWDAF 112 is a per flow analytics system, which correlates realtime events from different network domains (typically radio core and transport). The primaryevents are session management events from the Session Management Function (SMF), mobility management events from the Accessibility & Mobility Management Function (AMF), user plane reports from the User Plane Function (UPF), and radio management. Optionally, radio resource measurement events from NBs (such as Call Trace Record (CTR) events), or real-time events from external systems, or other data sources may be correlated as well.
[0074] During operation, NWDAF 112 receives traffic probe reports per traffic flows from UPF NFs, typically with Is time granularity, which are used for calculating the QoS KPIs. The NWDAF may receive, for instance, node events and / or probe reports. Instead of UPF node reports, network probing solutions can also be used for obtaining these metrics. User plane traffic information may be provided from an external cloud network or server 106.
[0075] According to embodiments, QoS KPIs are calculated per flow for a time window, which can be 10 seconds to 5 minutes, for example. Other times may be used. In some applications, such as mobility scenarios, Is granularity may be applicable as well. In the example of FIG. 1, QoS KPIs serve as an input for QoE models, estimating service quality. Service quality of the services under SLA / SLSs are continuously monitored by NWDAF 112, which reports QoS and QoE values to NWDAF consumers, such as slice management or a slice orchestration function 108 / 110. According to embodiments, the slice optimization functionality 108 / 110 continuously receives network, traffic load info, QoS, and / or QoE KPIs from NWDAF 112. The slice optimization algorithm 110 is run periodically or based on an external trigger, according to some embodiments. If slice resources should be changed, the slice configuration function 110 and / or manager 108 update slice parameters in one or more of the radio, core, and transport domains. For instance, slice configurations 120(a), 120(b), and 120(c) may be generated and provided to the relevant domains and systems.
[0076] A configuration 120 may include, for instance, one or more of slice ID, service, traffic type, 5QI characteristics, allocation retention and priority, guaranteed flow bit rate, slice PRB share percentage, SMF identification, SMF memory percentage, SMF CPU percentage, UPF identification, UPF memory percentage, UPF CPU percentage, Differentiated Services Code Point (DSCP), and / or bandwidth share percentage. Examples are provided in FIG. 2A, which is an example of a RAN slice configuration, FIG. 2B, which is an example of a slice configuration in the core, and FIG. 2C, which is an example of a slice configuration in the transport domain. According to embodiments, one or more of slice PRB share percentage, SMF or UPF memory percentage, UPF CPU percentage, and / or bandwidth share percentage may be updated according to the optimization processes. Other configuration values orparameters may be used, and other values or parameters may be updated according to the optimization process. In certain aspects, the methods describe herein can comprise distributing shared resources among slices, including generating one or more network slice configurations by configuring one or more shared parameters
[0077] Aspects of an optimization method according to embodiments is described further below, and in connection with FIGs. 3 and 4.
[0078] In some embodiments, it is assumed that the operator monitors and can modify (within constraints) the transport parameters to increase or decrease QoS of all services assigned to different slices in the network. Additionally, the operator monitors the current number of users. In this case, slices are separated by service, and the QoS values are recorded in the SLA (Service Level Agreement) for each slice, specifying the minimum and maximum values for QoS per user. Meaning not only a QoE based network slice optimization is performed but simultaneously given “hard” SLA QoS parameter requirements are taken into account (ensured). To do so, besides the QoS requirements, each slice is assigned a target QoE value and a minimum user count that it should satisfy, at least at the level of the target QoE value. Failure to meet these criteria results in a penalty. The revenue per user for each slice, accessible to the operator, is also given.
[0079] After all the operator given inputs are defined, the following main steps are considered:1) Service-Specific Linear Regression Models - individual linear regression models are for each service type, and model the QoE based on the corresponding QoS values.2) MILP Model Generation from Linear Models - by extracting coefficients from the linear models, a Mixed-Integer Linear Programming (MILP) model is formulated to facilitate slicing optimization.3) Definition of Time Windows for MILP Model Usage - two model variants (Oracle and History) are defined by using a variable-size time window for the computation and application of the optimization.4) Test Case Development for Model Evaluation - the effectiveness of the models are evaluated on test sets, while the QoE and the profit is analyzed.
[0080] With respect to the slice model, one objective in certain embodiments is to optimize and dynamically allocate resources among individual slices while adhering to the defined SLAs, particularly concerning the maximum number of additional users the system can serveat any given moment. To achieve this, a comprehensive definition of the attributes characterizing a slice at a specific moment in time are established. In embodiments, the majority are operator-given; however, some may be specific to time period, such as current number of users. Attributes may include, for instance:• Type: the slice type, such as the categorization of the slice (examples can define slices service-wise, such as CSGO, Apex, Jitsi, Teams, or Google Meet).• minimum user number: the minimum number of users that the slice should satisfy at least on target QoE; failure to meet this criteria results in a penalty.• Target QoE: the minimum QoE value to be provided to at least the minimum number of users.• Service revenue: the revenue related to a satisfied user for a given service.• Extra revenue: the extra revenue per user that is received after satisfying the minimum number of users.• Maximum and / or minimum values of transport parameters: these are the upper / lower limits for each transport parameters that the slice can receive, on a peruser basis.• User count: the current number of users, which may not be operator-defined.
[0081] With respect to QoE estimation, in embodiments, service-specific linear regression models for QoE estimation are built based on slice type, using a dataset. The dataset, with one- second granularity and various degradations for example, can include 3 metrics (bytes received per second, current round-trip time, and current jitter) for both video and audio data streams (i.e. in total 6 metrics (excluding WebRTC parameters)). To ensure positive correlation with QoE, jitter and round-trip time values can be negated. In embodiments, QoE ranges are scaled using min-max normalization to fall within the same 0 to 1 range for both video conferencing and cloud gaming.
[0082] In certain aspects, linear regression models were re-trained on the 5 services (i.e., CSGO, Apex, Jitsi, Teams, or Google Meet) separately using the 6 input variables. The coefficients were extracted from the ElasticNet model (which is a linear regression with LI and L2 regularization). The resulting linear equations, describing current QoE per user for each service, have 6 input variables and 6+1 coefficients. These service-specific linearregression models can be used for optimization ,and in embodiments, non-negativity and similar order of magnitude of the coefficients for linear programming is ensured.
[0083] Certain aspects of optimization are now addressed.
[0084] In embodiments, one emphasis is to allocate resources among the slices in such a way that after satisfying the SLA, such as minimum expectations regarding the QoS values, the remaining resources can be allocated among the slices to maximize profit by satisfying users above the target QoE. To solve the problem, embodiments use a Mixed-Integer Linear Program (MILP). The MILP receives a t long time-series (describing a time window) of data and returns the configuration proposal and specifies the maximum number of users it can serve with the given settings and target QoE value. In some embodiments, the MILP receives the data regarding the past t seconds. For example, if t equals 5, then in any given timestamp the MILP gets as an input the data regarding the past 5 seconds. For the formulation of the MILP model, the coefficients of the linear regression models that are unique for each slice are used.
[0085] The variables and constants used to formulate the optimization are defined as follows:• number of slices, features, and time steps, respectively.• pj, ej : revenue and extra revenue values of a user of slice j, respectively.• Cj . user count of slice j in the 1 time step• qj : target QoE of slice j• sj : minimum user number of slice j• wnk : coefficient for the k-th feature of the n-th linear model (constant)• z„. intercept value of the n-th linear model• Uj : variable describing the number of users the j-th slice can serve with target QoE with the currently allocated resources• Xjk'. variable representing the k-th feature allocated to the j-th slice to satisfy users• yjk'. variable representing the remaining free resources of the k-th feature of the j- th slice• coefXjiXki : coefficient of xki. approximating xji corrXjixki : margin of error for retaining correlation between xki and xji• xljkmin, xljkmax'. the lower and upper bound of the k-th resource descriptor of the j-th slice in the l-th time stepThe formulated MILP optimization problem, given the constants defined for the slices, determines how many resource must be allocated to a given slice to achieve maximum profit. In the present formulation, the total amount of resources to be allocated to the j-th slice with respect to the k-th feature is xjk+ yjk. Of this amount, xjk is the amount needed to satisfy H, number of users, and j is the remaining free resource. In certain aspects, embodiments use terms such as “revenue,” “profit,” and “costs.” These terms are used in their mathematical sense to reflect optimization parameters or objectives to be, for instance, maximized, minimized, or otherwise adjusted. Although embodiments may be used to optimize monetary values, these terms are not so limited in this disclosure.
[0086] An MILP maximization formula is presented in Equations 1- 8Xji - coefXji Xkixki> -corrXji Xkiif 3corrjk(8)
[0087] According to embodiments, the profit (i.e. the objective function, described in Eq. 1) is primarily determined based on QoE, user count, and the per-user service revenue of the slices. However, it is influenced by extra revenue, the minimum user count specified in the SLA, target QoE, and the system’s ability to allocate additional extra resources. In certain aspects, it comprises three main components for the given time period t:1) PjClj ( Etc WjiXji + Zj^ : Scales QoE regression obtained from linear regression with the profit per user and user count in every second in the given time period.2) ejqj uj — Sj) Utilizes an alternative profit to maximize users above the target QoE. If the number of users that can be served alongside the target QoE is greater than the number mandated to be served based on the SLA, it increases the overall profit value with the extra profit, minimum QoE, and the surplus user count. Conversely, if it is lower, it similarly diminishes the profit.3) '^ i=owJiyp- Represents the remaining free resources.If a resource can no longer be used to enhance QoE in any slice but there is unused capacity in the network, the optimizer can allocate it there.In some embodiments, the constraints are the following:• Eqs. 2 and 3 ensure that the allocated and remaining free resources are nonnegative and between the given bounds. Among the maximum constraints at time window t, the lowest value will prevail, while among the minimum constraints, the highest value will apply.• Eq. 4 ensures that the QoE is a maximum of 1.• The condition of Eq. 5 serves to define Uj, specifying how many users one could serve if the QoE value were at its minimum given the current resource allocation.• Eq. 6 ensures the upper limit of the features network wide, across all slices.Upper limit could be the maximum network throughput or the average jitter x number of users, for example. The minimum maximum among the constraints at time t will prevail.• Eqs. 7 and 8 ensure that there are no large value differences between correlating resources.
[0088] In some embodiments, a number of model variants may be used.
[0089] For instance, to enhance the effectiveness of the MILP model, one can define two key time frames: t for optimization computation and T for the application of optimization. In this example, parameter t is the duration of the time window considered for optimization computation, serving as input data. Conversely, T determines how long optimization results are applied in the future, influencing network configuration before re-optimization. Models are categorized into History (when t precedes T) and Oracle (when t and T overlap, providing ability to foresee the future).
[0090] In certain aspects, the variant can indicate how adjusting window size and testing frequency impacts optimization efficiency. Oracle models may be useful to indicate the impact of increasing T on the network. In contrast, History models may be desirable due to their practicality and usability.
[0091] This disclosure investigates the following 11 combinations, where in the name of the models the first value is the analyzed window t and the second is the testing window Z:• Oracle Models (denoted as Oracle(t, T)): Oracle(l, 1), Oracle(5, 5), Oracle(10, 10), and Oracle(20, 20) cases. Oracle(l, 1) essentially reflects real-time optimization, examining and optimizing values for each subsequent second.• History Models (denoted as History(t, T)) : History(l, 5), History(5, 5), History(10, 5), History(20, 5), History(5, 1), History(10, 1), and Hi story (20, 1) cases.
[0092] Referring now to FIG. 3, a process 300 is provided according to some embodiments. The process 300 may be performed, for instance, in a slice configuration manager 108, including in a slice optimization module or algorithm 110, or in a separate management data analytics function (MDAF) or other entity of the network management domain. In embodiments, the process 300 may begin with step s310, in which QoS and / or QoE information is received. The information may be received, for example, as a result of the steps described with respect to process 400. In step s320, one or more optimized network slice configurations are generated based at least in part on the received information. This can include, for example, running an optimization for shared resources. In step s330, which may be optional in some embodiments, the generated network slice configuration is provided to a network entity, for instance, as illustrated in connection with FIG. 1. In step s340, in some cases, a network slice may be re-optimized.
[0093] Referring now to FIG. 4, a process 400 is provided according to some embodiments. The process 400 may be performed, for instance, in network data analytics function (NWDAF). However, in some embodiments, it may be performed in other entities of the core domain. The process 400 may begin, for instance, with obtaining information regarding QoS in step s410. In steps s420 and s430, QoE information is generated and provided to a slice configuration manager. In embodiments, the QoE information is generated based on the QoS information using a machine learning model. In other embodiments, the QoE information provided in step s430 may be received or otherwise measured, including without the use of a machine learning model as set forth in step s420. In step s440, which may be optional in embodiments, QoS information is also provided to the slice configuration manager.
[0094] Experimental Results
[0095] In certain aspects, the embodiments and experimental results described herein build on prior work described in Dobreff et al., “Data Collection Framework for End-to-end Radio and Transport Network Quality Monitoring,” proposing a standardized QoE monitoring data collection system for delay-critical services. The disclosure assesses service responses in diverse radio and network conditions, studying reactions to disruptions like packet loss and latency. The structured testbed approach introduces controlled degradations, capturing network traffic, radio metrics, screen recordings, and application-level data (e.g., WebRTC logs). Using this system, data was collected on video conferencing and cloud gaming, investigating user experience under different conditions. Machine learning algorithms, trained on this data and detailed in “Predicting QoE for Delay-critical Services in Mobile Networks: A Video Conferencing Case Study” and “Empowering ISPs with Cloud Gaming User Experience Modeling: A Nvidia GeForce NOW Use-case,” model user experience based on transport metrics.
[0096] Both studies aimed to comprehensively cover network disturbances, including scenarios without degradation. Video conferencing focused on Microsoft Teams, Jitsi, and Google Meets, while cloud gaming analyzed NVIDIA GeForce NOW with CS:GO and Apex Legends. User experience assessment differed: video conferencing used volunteer ratings on a 1-5 scale, while cloud gaming measured in-game performance on a 0-100 scale. Employing Gradient Boosting Machine and Linear Regression to estimate the user experience, video conferencing achieved accuracies of 0.36 RMSE / 0.78 R2and 0.44 RMSE / 0.68 R2. In cloud gaming, accuracies were 12.5 RMSE / 0.68 R2and 15.6 RMSE / 0.51 R2. With linear models, their interpretability and applicability in linear programming optimization make them useful.
[0097] Test scenarios are described herein, outlining their generation and assembly. Specifically, results are presented for a single test scenario (bandwidth degradation test) for clarity. The overall results are evaluated for 10 scenarios derived from real-life measurements. The solver ran on a WSL 2 Ubuntu system on Windows 11, utilizing a 13th Gen Intel (R) Core(TM) i5-13600K processor with 32 GB of 5600MHz CL36 DDR5 memory. Depending on the t window size (1, 5, 10, or 20), the average runtime and the number of MILP iterations were as follows: 15 ms and 50 iterations, 26 ms and 55 iterations, 46 ms and 74 iterations, and 76 ms and 79 iterations, respectively.
[0098] FIG. 5A illustrates, for Oracle (1,1) profit per user in each slice. FIG. 5B illustrates a comparison between Oracle (1,1), History (1,5), History (5,5), History 10,5), and History(20,5) in terms of profit per user. FIG. 6 illustrates the profit of all slices of all tests for each model.
[0099] To assess the performance of the different algorithms, 10 test scenarios were formulated. Each test lasted for 80 seconds, with a focus on analyzing the last 60 seconds to ensure the effective operation of individual models. For each test, 4 to 6 slices were created with randomly assigned slice types. The attributes of the slices were randomly assigned, with revenue margins falling between 1000 and 2000, extra revenue ranging from 0 to 1, the count of current users per second varying between 225 and 275, normalized target QoE set between 0.1 and 0.3, and the minimum user number stipulated between 50 and 500. The upper and lower bounds for the slice attributes were determined based on the values observed in the training dataset.
[0100] Resource limitations for the network were configured every second and each test scenario, guided by measurements extracted from the training dataset. In total 5 bandwidth degradation tests, 3 jitter degradation tests, and 2 tests without degradation were selected for the performance evaluation. Within each test, a unique measurement was assigned to each slice and it was scaled to the desired user count. The QoS values per second from the measurements determined the per-second values of our network.
[0101] Within these simulated test networks, the 11 distinct models were executed. In cases where, at a specific point in time within the T window, there are fewer resources available than the QoS values determined by the t window, the system uniformly degrades the parameter value for each user.
[0102] Bandwidth Degradation Test Scenario
[0103] This section illustrates the execution of a specific test by presenting the results of a Bandwidth Degradation Test 1. Four slices were created for this test: 2 serving MS Teams, 1 serving CS:GO, and 1 serving Jitsi. Table I displays the per-user revenue and extra revenue for individual slices within the test network. Additionally, it includes the normalized target QoE value and the minimum user count each slice must be capable of serving, with user count dynamics detailed in the previous section.D MEASUREMENT
[0104] Throughout the test, audio and video jitter, along with the current round-trip time values, fluctuate around constant levels. However, video throughput significantly drop twice in the first 10 seconds before increasing to approximately 1.5 times the initial value in the last 15 seconds. Simultaneously, audio throughput steadily increase from the beginning to the end of the test, reaching about 1.5 times the initial value with notable drops at the 21st, 32nd, and 52nd seconds.
[0105] In FIG. 5 A, one can observe the evolution of per-user profit (QoE x profit) for each slice using the Oracle(l,l) model. The Oracle(l,l) serves as a crucial benchmark, representing the ideal scenario where one has complete foresight into the next second, enabling instant adjustment of slicing. Given the current settings where user count has a relatively minor impact on overall profit, fluctuating only to a small extent (±10%) compared to the value for which the network capacity was designed, the model prioritizes reallocating resources from slices with lower per-user revenue. Consequently, surplus resources are allocated to more profitable slices. However, none of the slices achieve a QoE of 1.0 under these conditions.
[0106] The QoE values range for slices are as follows: TeamsO: 0.47 - 0.66, Teamsl : 0.22 - 0.61, CSGO2: 0.0 - 0.49 and Jitsi3 : 0.42 - 0.56. The system distributes resources to maximize overall profit across all slices, with revenue essentially corresponding to traffic priority. As TeamsO slice has the highest revenue per user, it remains unaffected by bandwidth limitations. When surplus resources are available, TeamsO receives priority, resulting in higher user QoE and greater profit per user. Additionally, profit can fluctuate significantly even within a 60-second evaluation. The average revenues per user for the slices are as follows: TeamsO: 809.56, Teamsl : 524.0, CSGO2: 403.17, and Jitsi3: 553.22.
[0107] In FIG. 5B, the average per-user profit is compared for all 4 slices (i.e. total profit per model in given second) in the context of the Oracle(l,l), History(l,5), History(5,5), History(10,5), and History(20,5) models, based on the execution of the same test. It can be observed that applying optimization created based on the values of the preceding second for every 5-second window i.e. History(l,5) closely follows real-time optimization i.e.Oracle(l,l). However, it has the drawback of not being able to handle local changes, requiring subsequent value adjustments. The algorithms created by utilizing the previous 5, 10, and 20 seconds become increasingly reliable in the network, requiring a more extended historical period for value growth to prompt the optimizer to set a higher value. However, this also results in lower profit achieved by the optimizer since it does not allocate all available resources. Therefore, increasing the window used for training represents a trade-off between maximizing profit and the frequency of how many times one will exceed the actual parameter values for each parameter.
[0108] In average revenues per user for the model, variants are as follows: Oracle(l,l): 572.49, History(l,5): 496.02, History(5,5): 460.56, History(10,5): 454.52 and History(20,5): 429.53.
[0109] Comprehensive Test Scenario Results
[0110] FIG. 6 shows the per-second profit (QoE * profit * user count) achieved by the3 11 models across the 10 tests. Oracle(l,l) exhibits the best performance with the highest maximum values and relatively low fluctuation in QoE values. Both Oracle and History models show diminishing variability in QoE values as the training window increases, but this reduction comes at the expense of decreased profit since not all available resources are allocated.[OHl] Given that Oracle models adjust the distribution of network resources based on future values, they outperform History models. The History(5,l), Hi story (10,1), and History(20,l) models perform worse than their counterparts with a 5-second application window, which is mainly due to significant fluctuations in variables and user count from second to second, requiring regular reductions in parameter values. However, these reductions occur on a per-user basis and do not consider profit or the importance of the parameter within the specific slice.
[0112] One disparity is identified between the Oracle(l,l) method and all others, emphasizing the critical role of reconfiguration speed in profit maximization. While the Oracle methods outperform the History method, the differences in performance margins are relatively narrow. Namely, while the average per-second revenue difference between Oracle(l,l) and Oracle(5,5) is 6.4%, the difference between Oracle(5,5) and History(5,5) is only 3.7%. Notably, the difference between the directly comparable History method’s (where T is the same) is small, the largest difference is between History(l,5) (worst) and History(10,5) (best) and is only 1.3%. The largest difference between the Oracle models is 9%, and the largestdifference between all models i.e., Oracle(l,l) and History(20,l) is 14.8%. In summary, in practice, applicable History models perform well compared to the Oracle models, i.e., the performance margins are relatively narrow even compared to Oracle(l,l).
[0113] FIG. 7 shows an example of a communication system 700 in accordance with some embodiments.
[0114] In the example, the communication system 700 includes a telecommunication network 702 that includes an access network 704, such as a radio access network (RAN), and a core network 706, which includes one or more core network nodes 708. The access network 704 includes one or more access network nodes, such as network nodes 710a and 710b (one or more of which may be generally referred to as network nodes 710), or any other similar 3rdGeneration Partnership Project (3 GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 702 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 702 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 702, including one or more network nodes 710 and / or core network nodes 708.
[0115] Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O- CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an Al, Fl, Wl, El, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include anO-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the 0-RAN Alliance or comparable technologies. The network nodes 710 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 712a, 712b, 712c, and 712d (one or more of which may be generally referred to as UEs 712) to the core network 706 over one or more wireless connections.
[0116] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 700 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 700 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0117] The UEs 712 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 710 and other communication devices. Similarly, the network nodes 710 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 712 and / or with other network nodes or equipment in the telecommunication network 702 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 702.
[0118] In the depicted example, the core network 706 connects the network nodes 710 to one or more hosts, such as host 716. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 706 includes one more core network nodes (e.g., core network node 708) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 708. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security EdgeProtection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0119] The host 716 may be under the ownership or control of a service provider other than an operator or provider of the access network 704 and / or the telecommunication network 702, and may be operated by the service provider or on behalf of the service provider. The host 716 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0120] As a whole, the communication system 700 of FIG. 7 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0121] In some examples, the telecommunication network 702 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 702 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 702. For example, the telecommunications network 702 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive loT services to yet further UEs.
[0122] In some examples, the UEs 712 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 704 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 704. Additionally,a UE may be configured for operating in single- or multi -RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi -radio dual connectivity (MR-DC), such as E-UTRAN (Evolved- UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0123] In the example, the hub 714 communicates with the access network 704 to facilitate indirect communication between one or more UEs (e.g., UE 712c and / or 712d) and network nodes (e.g., network node 710b). In some examples, the hub 714 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 714 may be a broadband router enabling access to the core network 706 for the UEs. As another example, the hub 714 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 710, or by executable code, script, process, or other instructions in the hub 714. As another example, the hub 714 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 714 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 714 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 714 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 714 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0124] The hub 714 may have a constant / persistent or intermittent connection to the network node 710b. The hub 714 may also allow for a different communication scheme and / or schedule between the hub 714 and UEs (e.g., UE 712c and / or 712d), and between the hub 714 and the core network 706. In other examples, the hub 714 is connected to the core network 706 and / or one or more UEs via a wired connection. Moreover, the hub 714 may be configured to connect to an M2M service provider over the access network 704 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 710 while still connected via the hub 714 via a wired or wireless connection. In some embodiments, the hub 714 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 710b. In other embodiments, the hub 714 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 710b, but which isadditionally capable of operating as a communication start and / or end point for certain data channels.
[0125] FIG. 8 shows a UE 800 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0126] A UE may support device-to-device (D2D) communication, for example by implementing a 3 GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), orvehicle- to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0127] The UE 800 includes processing circuitry 802 that is operatively coupled via a bus 804 to an input / output interface 806, a power source 808, a memory 810, a communication interface 812, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in FIG. 8. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0128] The processing circuitry 802 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructionsstored as machine-readable computer programs in the memory 810. The processing circuitry 802 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 802 may include multiple central processing units (CPUs).
[0129] In the example, the input / output interface 806 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 800. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0130] In some embodiments, the power source 808 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 808 may further include power circuitry for delivering power from the power source 808 itself, and / or an external power source, to the various parts of the UE 800 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 808. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 808 to make the power suitable for the respective components of the UE 800 to which power is supplied.
[0131] The memory 810 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 810 includes one or more application programs 814, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 816. The memory 810 may store, for use by the UE 800, any of a variety of various operating systems or combinations of operating systems.
[0132] The memory 810 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD- DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 810 may allow the UE 800 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 810, which may be or comprise a device-readable storage medium.
[0133] The processing circuitry 802 may be configured to communicate with an access network or other network using the communication interface 812. The communication interface 812 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 822. The communication interface 812 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 818 and / or a receiver 820 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 818 and receiver 820 may be coupled to one or more antennas (e.g., antenna 822) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0134] In the illustrated embodiment, communication functions of the communication interface 812 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0135] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 812, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0136] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.
[0137] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, aconnected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 800 shown in FIG. 8.
[0138] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3 GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0139] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.
[0140] FIG. 9 shows a network node 900 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O-RAN nodes or components of an O-RAN node (e.g, O-RU, O-DU, O-CU).
[0141] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0142] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).
[0143] The network node 900 includes a processing circuitry 902, a memory 904, a communication interface 906, and a power source 908. The network node 900 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 900 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeB s. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 900 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 904 for different RATs) and some components may be reused (e.g., a same antenna 910 may be shared by different RATs). The network node 900 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 900, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may beintegrated into the same or different chip or set of chips and other components within network node 900.
[0144] The processing circuitry 902 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 900 components, such as the memory 904, to provide network node 900 functionality.
[0145] In some embodiments, the processing circuitry 902 includes a system on a chip (SOC). In some embodiments, the processing circuitry 902 includes one or more of radio frequency (RF) transceiver circuitry 912 and baseband processing circuitry 914. In some embodiments, the radio frequency (RF) transceiver circuitry 912 and the baseband processing circuitry 914 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 912 and baseband processing circuitry 914 may be on the same chip or set of chips, boards, or units.
[0146] The memory 904 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computerexecutable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 902. The memory 904 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 902 and utilized by the network node 900. The memory 904 may be used to store any calculations made by the processing circuitry 902 and / or any data received via the communication interface 906. In some embodiments, the processing circuitry 902 and memory 904 is integrated.
[0147] The communication interface 906 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 906 comprises port(s) / terminal(s) 916 to send and receive data, for example to and from a network over a wired connection. The communication interface 906also includes radio front-end circuitry 918 that may be coupled to, or in certain embodiments a part of, the antenna 910. Radio front-end circuitry 918 comprises filters 920 and amplifiers 922. The radio front-end circuitry 918 may be connected to an antenna 910 and processing circuitry 902. The radio front-end circuitry may be configured to condition signals communicated between antenna 910 and processing circuitry 902. The radio front-end circuitry 918 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 918 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 920 and / or amplifiers 922. The radio signal may then be transmitted via the antenna 910. Similarly, when receiving data, the antenna 910 may collect radio signals which are then converted into digital data by the radio front-end circuitry 918. The digital data may be passed to the processing circuitry 902. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0148] In certain alternative embodiments, the network node 900 does not include separate radio front-end circuitry 918, instead, the processing circuitry 902 includes radio front-end circuitry and is connected to the antenna 910. Similarly, in some embodiments, all or some of the RF transceiver circuitry 912 is part of the communication interface 906. In still other embodiments, the communication interface 906 includes one or more ports or terminals 916, the radio front-end circuitry 918, and the RF transceiver circuitry 912, as part of a radio unit (not shown), and the communication interface 906 communicates with the baseband processing circuitry 914, which is part of a digital unit (not shown).
[0149] The antenna 910 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 910 may be coupled to the radio front-end circuitry 918 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 910 is separate from the network node 900 and connectable to the network node 900 through an interface or port.
[0150] The antenna 910, communication interface 906, and / or the processing circuitry 902 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 910, the communication interface 906, and / or the processing circuitry 902 may be configured to perform any transmitting operations described herein as beingperformed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0151] The power source 908 provides power to the various components of network node 900 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 908 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 900 with power for performing the functionality described herein. For example, the network node 900 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 908. As a further example, the power source 908 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0152] Embodiments of the network node 900 may include additional components beyond those shown in FIG. 9 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 900 may include user interface equipment to allow input of information into the network node 900 and to allow output of information from the network node 900. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 900.
[0153] FIG. 10 is a block diagram of a host 1000, which may be an embodiment of the host 716 of FIG. 7, in accordance with various aspects described herein. As used herein, the host 1000 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 1000 may provide one or more services to one or more UEs.
[0154] The host 1000 includes processing circuitry 1002 that is operatively coupled via a bus 1004 to an input / output interface 1006, a network interface 1008, a power source 1010, and a memory 1012. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as FIGs. 8 and 9, such that the descriptions thereof are generally applicable to the corresponding components of host 1000.
[0155] The memory 1012 may include one or more computer programs including one or more host application programs 1014 and data 1016, which may include user data, e.g., data generated by a UE for the host 1000 or data generated by the host 1000 for a UE. Embodiments of the host 1000 may utilize only a subset or all of the components shown. The host application programs 1014 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 1014 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 1000 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 1014 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.
[0156] FIG. 11 is a block diagram illustrating a virtualization environment 1100 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 1100 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 1100 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2 interface.
[0157] Applications 1102 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in thevirtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0158] Hardware 1104 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 1106 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1108a and 1108b (one or more of which may be generally referred to as VMs 1108), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 1106 may present a virtual operating platform that appears like networking hardware to the VMs 1108.
[0159] The VMs 1108 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1106. Different embodiments of the instance of a virtual appliance 1102 may be implemented on one or more of VMs 1108, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.
[0160] In the context of NFV, a VM 1108 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 1108, and that part of hardware 1104 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 1108 on top of the hardware 1104 and corresponds to the application 1102.
[0161] Hardware 1104 may be implemented in a standalone network node with generic or specific components. Hardware 1104 may implement some functions via virtualization. Alternatively, hardware 1104 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 1110, which, among others, oversees lifecycle management of applications 1102. In some embodiments, hardware 1104 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or moreantennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 1112 which may alternatively be used for communication between hardware nodes and radio units.
[0162] FIG. 12 shows a communication diagram of a host 1202 communicating via a network node 1204 with a UE 1206 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 712a of FIG. 7 and / or UE 800 of FIG. 8), network node (such as network node 710a of FIG. 7 and / or network node 900 of FIG. 9), and host (such as host 716 of FIG. 7 and / or host 1000 of FIG. 10) discussed in the preceding paragraphs will now be described with reference to FIG. 12.
[0163] Like host 1000, embodiments of host 1202 include hardware, such as a communication interface, processing circuitry, and memory. The host 1202 also includes software, which is stored in or accessible by the host 1202 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 1206 connecting via an over-the-top (OTT) connection 1250 extending between the UE 1206 and host 1202. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 1250.
[0164] The network node 1204 includes hardware enabling it to communicate with the host 1202 and UE 1206. The connection 1260 may be direct or pass through a core network (like core network 706 of FIG. 7) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0165] The UE 1206 includes hardware and software, which is stored in or accessible by UE 1206 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 1206 with the support of the host 1202. In the host 1202, an executing host application may communicate with the executing client application via the OTT connection 1250 terminating at the UE 1206 and host 1202. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 1250 may transfer both the request data and the user data. The UE's clientapplication may interact with the user to generate the user data that it provides to the host application through the OTT connection 1250.
[0166] The OTT connection 1250 may extend via a connection 1260 between the host 1202 and the network node 1204 and via a wireless connection 1270 between the network node 1204 and the UE 1206 to provide the connection between the host 1202 and the UE 1206. The connection 1260 and wireless connection 1270, over which the OTT connection 1250 may be provided, have been drawn abstractly to illustrate the communication between the host 1202 and the UE 1206 via the network node 1204, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0167] As an example of transmitting data via the OTT connection 1250, in step 1208, the host 1202 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 1206. In other embodiments, the user data is associated with a UE 1206 that shares data with the host 1202 without explicit human interaction. In step 1210, the host 1202 initiates a transmission carrying the user data towards the UE 1206. The host 1202 may initiate the transmission responsive to a request transmitted by the UE 1206. The request may be caused by human interaction with the UE 1206 or by operation of the client application executing on the UE 1206. The transmission may pass via the network node 1204, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 1212, the network node 1204 transmits to the UE 1206 the user data that was carried in the transmission that the host 1202 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 1214, the UE 1206 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 1206 associated with the host application executed by the host 1202.
[0168] In some examples, the UE 1206 executes a client application which provides user data to the host 1202. The user data may be provided in reaction or response to the data received from the host 1202. Accordingly, in step 1216, the UE 1206 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 1206. Regardless of the specific manner in which the user data was provided, the UE 1206 initiates, in step 1218, transmission of the user data towards the host 1202 via the network node 1204. In step 1220, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 1204 receives user data from the UE 1206 andinitiates transmission of the received user data towards the host 1202. In step 1222, the host 1202 receives the user data carried in the transmission initiated by the UE 1206.
[0169] One or more of the various embodiments improve the performance of OTT services provided to the UE 1206 using the OTT connection 1250, in which the wireless connection 1270 forms the last segment.
[0170] In an example scenario, factory status information may be collected and analyzed by the host 1202. As another example, the host 1202 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 1202 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 1202 may store surveillance video uploaded by a UE. As another example, the host 1202 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 1202 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.
[0171] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 1250 between the host 1202 and UE 1206, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 1202 and / or UE 1206. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 1250 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 1250 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 1204. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 1202. The measurements may be implemented in that software causes messages tobe transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 1250 while monitoring propagation times, errors, etc.
[0172] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0173] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer- readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
[0174] SUMMARY OF EMBODIMENTSAl. A method comprising: receiving Quality of Service (QoS) and / or Quality of Experience (QoE) information; and generating one or more network slice configurations based at least in part on the received information.A2. The method of Al, further comprising: providing the generated network slice configuration to a separate network entity.A3. The method of Al or A2, wherein the received QoE information comprises:(i) estimated QoE from one or more machine learning (ML) models; and / or(ii) QoE information is received from one or more external sources.A4. The method of A5, wherein the estimated QoE is based on measured QoS.A5. The method of any of A1-A4, wherein: the network slice configuration is provided to an apparatus, system, or node in the Radio Access Network (RAN) domain of a network, and the configuration comprises one or more of slice ID, service identifier, traffic type, 5QI characteristics, allocation retention and priority information, guaranteed flow bit rate, or slice Physical Resource Block (PRB) share percentage; the network slice configuration is provided to an apparatus, system, or node in the core domain of the network, and the configuration comprises one or more of slice ID, Session Management Function (SMF) identification, SMF memory percentage, SMF CPU percentage, User Plane Function (UPF) identification, UPF memory percentage, or UPF CPU percentage; and / or the network slice configuration is provided to an apparatus, system, or node in the transportdomain of the network, and the configuration comprises one or more of slice ID, service identifier, traffic type, guaranteed flow bit rate, Differentiated Services Code Point (DSCP), or bandwidth share percentage.A6. The method of any of Al -A5, wherein generating the network slice configuration comprises performing a resource optimization for one or more of the network slices using at least the QoE information.A7. The method of A6, further comprising: performing a re-optimization of a network slice.A8. The method of A7, wherein the re-optimization is performed at a pre-defined interval.A9. The method of any of A6-A8, wherein the resource optimization is based in least in part on a linear regression model.A10. The method of any of A6-A9, wherein the optimization comprises maximizing a function that:(i) includes penalties if subscriber number, QoS, and / or QoE targets are not met; and / or(ii) increases in value when QoE is better or more subscribes can be supported than corresponding target values specified in a Service Level Agreement (SLA).Al 1. The method of any of A6-A10, wherein the optimization is performed using a variable size time window.A12. The method of any of A6-A11, wherein the optimization is based at least in part on QoS requirements of a given service type for the network slice.A13. The method of any of A6-A12, wherein the optimization ensures a minimum number of subscribers per slice.A14. The method of any of A6-A13, wherein the optimization ensures a minimum or maximum value of QoS for a service.A15. The method of any of A6-A14, wherein the optimization ensures a QoE target.A16. The method of any of A13-A15, wherein the minimum number of subscribers, or minimum / maximum value of QoS, and / or the QoE target is specified in a corresponding SLA.Al 7. The method of any of A6-A16, wherein the resource optimization comprises distribution of remaining network resources among a plurality of network slices.A18. The method of A17, wherein the distribution is performed to support an increased number of subscribers or improve QoE.Al 9. The method of any of Al -Al 8, wherein:(i) the configuration is generated for one service per slice; or(ii) the configuration is generated for more than one service per slice.A20. The method of any of Al -Al 9, wherein the QoS information comprises one or more of QoS KPIs, per-user QoS information, and / or per-service QoS information.A21. The method of any of A1-A20, wherein the QoS and / or QoE information is providedby a network data analytics function (NWDAF).A22. The method of any of A1-A21, wherein the configuration is generated based at least in part on actual user count per slice or actual services used by one or more users.A23. The method of any of A6-A22, wherein optimization comprises modifying one or more of slice PRB share percentage, SMF or UPF memory percentage, UPF CPU percentage, and / or bandwidth share percentage of a network slice.A24. The method of any of A1-A23, wherein the network slice configuration is generated based at least in part on Equation (1):where m, k, and t are a number of slices, features, and time steps, respectively; pj and ej are revenue and extra revenue values of a user of slice j, respectively; c / 7 is the user count of slice j in the 1 time step; qj is the target QoE of slice j; sj is the minimum user number of slice j; wnk is the coefficient for the k-th feature of the n-th linear model; zn is the intercept value of the n-th linear model; uj is a variable describing the number of users the j-th slice can serve with target QoE with the currently allocated resources; xjk is a variable representing the k-th feature allocated to the j-th slice to satisfy users; and yjk'. is a variable representing the remaining free resources of the k-th feature of the j-th slice.A25. The method of A24, wherein the generating is performed by optimizing Equation (1)based on QoE, user count, and per-user service revenue.A26. The method of A24 or A25, wherein Equation (1) is confined by Equations (2)-(8):where coefXjiXki is the coefficient of xki, approximating xjr, corrXjixki is the margin of error for retaining correlation between xki and xjr, and xljkmin and xljkmax are the lower and upper bound of the k-th resource descriptor of the j-th slice in the l-th time step, respectively.A27. The method of any of A1-A26, wherein the method comprises distributing shared resources among slices.A28. The method of A27, wherein generating the one or more network slice configurations comprises configuring one or more shared parameters.Bl. An apparatus configured to: receive Quality of Service (QoS) and / or Quality of Experience (QoE) information; and generate one or more network slice configurations based at least in part on the receivedinformation.B2. The apparatus of Bl, further configured to perform any of A2-A28.B3. The apparatus of Bl or B2, wherein the apparatus comprises a slice configuration manager in the network management domain.B4. The apparatus of B3, wherein the apparatus comprises a slice optimization module.Cl. A method, comprising: obtaining information regarding Quality of Service (QoS); generating Quality of Experience (QoE) information based on the QoS information using a machine learning model; and providing the QoE information to a slice configuration manager.C2. The method of Cl, further comprising: providing QoS information to the slice configuration manager.C3. The method of Cl or C2, wherein obtaining the QoS information comprises generating or receiving QoS KPIs.C4. The method of C3, wherein the QoS KPIs are based on User Plane Function (UPF) reports, traffic probe reports, and / or generated on a per-flow basis.C5. The method of any of C1-C4, wherein obtaining the QoS information comprises measuring one or more value.C6. The method of any of C1-C5, wherein QoS metrics are obtained from an external cloud or service and used to generate QoE information.C7. The method of any of C1-C6, wherein the QoE information is derived using one or more service-specific linear regression models based on slice type.DI . A apparatus configured to: obtain information regarding Quality of Service (QoS); generate Quality of Experience (QoE) information based on the QoS information using a machine learning model; and provide the QoE information to a slice configuration manager.D2. The apparatus of DI, further configured to perform any of C2-C7.D3. The apparatus of DI or D2, wherein the apparatus comprises a network data analytics function (NWDAF) in the core domain.El. A method, comprising: receiving an optimized network slice configuration generated according to any of A1-A28 or C1-C7; and applying the configuration.Fl. An apparatus configured to: receive an optimized network slice configuration generated according to any of A1-A28 orC1-C7; and apply the configuration.F2. The apparatus of Fl, wherein the apparatus is a eNodeB a gNodeB, or other radio device; comprises a core network function; or is a router, switch, or bridge in the transport domain.Gl. A computer program product comprising a non-transitory computer readable medium storing instructions which when performed by processing circuitry of a device causes the device to perform any of A1-A28 or C1-C7.
[0175] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above described exemplary embodiments.Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0176] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.REFERENCES[1] M. Bosk, M. Gajic, S. Schwarzmann, S. Lange, R. Trivisonno, C. Marquezan, and T. Zinner, “Using 5g qos mechanisms to achieve qoe-aware resource allocation,” in 2021 17th International Conference on Network and Service Management (CNSM). IEEE, 2021, pp. 283-291.[2] Q. Wang, J. Alcaraz-Calero, R. Ri cart- Sanchez, M. B. Weiss, A. Gavras, N. Nikaein, X. Vasilakos, B. Giacomo, G. Pietro, M. Roddy et al., “Enable advanced qos-aware network slicing in 5g networks for slicebased media use cases,” IEEE transactions on broadcasting, vol. 65, no. 2, pp. 444-453, 2019.[3] A. Fendt, C. Mannweiler, L. C. Schmelz, and B. Bauer, “A formal optimization model for 5g mobile network slice resource allocation,” in 2018 IEEE 9th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON). IEEE, 2018, pp. 101-106.[4] S. Retal, M. Bagaa, T. Taleb, and H. Flinck, “Content delivery network slicing: Qoe and cost awareness,” in 2017 IEEE international conference on communications (ICC). IEEE, 2017, pp. 1-6.[5] G. Dobreff et al., “Data collection framework for end-to-end radio and transport network quality monitoring,” in 15th International Conference on Quality of Multimedia Experience (QoMEX). IEEE, 2023.[6] G. Dobreff, M. Szalay, M. Molnar, L. Varga, B. Ladoczki, A. Bader, and A. Pasic, “Predicting qoe for delay-critical services in mobile networks: A video conferencing case study,” in 2023 30th International Conference on Systems, Signals and Image Processing (IWSSIP). IEEE, 2023, pp. 1-5.[7] G. Dobreff, F. Daniel, A. Bader, and A. Pasic, “Empowering ISPs with cloud gaming user experience modeling: A nvidia geforce now use-case” 2023.[8] “Video Conferencing, Meetings, Calling — Microsoft Teams,” https: / / www.microsoft.com / en-gb / microsoft-teams.[9] “ Jitsi meet,” https: / / meet.jit.si / .
[0010] “Google Meet,” https: / / meet.google.com / .
[0011] NVIDIA Corporation. (2023) GeForce NOW — The Next Generation in Cloud Gaming— NVIDIA, https: / / www.nvidia.com / en-eu / geforce-now.
Claims
CLAIMS1. A method (300) comprising: receiving (s310) Quality of Service (QoS); estimating Quality of Experience (QoE) information based on the received QoS; and generating (s320) one or more network slice configurations based at least in part on the received (s310) information, wherein generating (s320) the network slice configuration comprises performing a resource optimization for one or more of the network slices using at least the QoE information.
2. The method (300) of claim 1, further comprising: receiving (s310) QoE information.
3. The method (300) of claim 1 or 2, further comprising: providing (s330) the generated network slice configuration to a separate network entity.
4. The method (300) of any one of claims 1 to 3, wherein the received QoE information comprises:(iii) estimated QoE from one or more machine learning (ML) models; and / or(iv) QoE information is received from one or more external sources.
5. The method of any of claims 1 to 4, wherein: the network slice configuration is provided to an apparatus, system, or node in the Radio Access Network (RAN) domain of a network, and the configuration comprises one or more of slice ID, service identifier, traffic type, 5QI characteristics, allocation retention and priority information, guaranteed flow bit rate, or slice Physical Resource Block (PRB) share percentage;the network slice configuration is provided to an apparatus, system, or node in the core domain of the network, and the configuration comprises one or more of slice ID, Session Management Function (SMF) identification, SMF memory percentage, SMF CPU percentage, User Plane Function (UPF) identification, UPF memory percentage, or UPF CPU percentage; and / or the network slice configuration is provided to an apparatus, system, or node in the transport domain of the network, and the configuration comprises one or more of slice ID, service identifier, traffic type, guaranteed flow bit rate, Differentiated Services Code Point (DSCP), or bandwidth share percentage.
6. The method (300) of any one of claims 1 to 5, further comprising: performing (s340) a re-optimization of a network slice.
7. The method (300) of claim 6, wherein the re-optimization is performed at a pre-defined interval.
8. The method (300) of any one of claims 1 to 7, wherein the resource optimization is based in least in part on a linear regression model.
9. The method (300) of any one of claims 1 to 8, wherein the optimization comprises maximizing a function that:(iii) includes penalties if subscriber number, QoS, and / or QoE targets are not met; and / or(iv) increases in value when QoE is better or more subscribes can be supported than corresponding target values specified in a Service Level Agreement (SLA).
10. The method of any one of claims 1 to 9, wherein the optimization is performed using a variable size time window.
11. The method (300) of any one of claims 1 to 10, wherein the optimization is based at least in part on QoS requirements of a given service type for the network slice.
12. The method (300) of any one of claims 1 to 11, wherein the optimization ensures a minimum number of subscribers per slice.
13. The method (300) of any one of claims 1 to 12, wherein the optimization ensures a minimum or maximum value of QoS for a service.
14. The method (300) of any one of claims 1 to 13, wherein the optimization ensures a QoE target.
15. The method (300) of any one of claims 12 to 14, wherein the minimum number of subscribers, or minimum / maximum value of QoS, and / or the QoE target is specified in a corresponding SLA.
16. The method (300) of any one of claims 1 to 15, wherein the resource optimization comprises distribution of remaining network resources among a plurality of network slices.
17. The method (300) of claim 16, wherein the distribution is performed to support an increased number of subscribers or improve QoE.
18. The method (300) of any one of claims 1 to 17, wherein:(iii) the configuration is generated for one service per slice; or(iv) the configuration is generated for more than one service per slice.
19. The method (300) of any one of claims 1 to 18, wherein the QoS information comprises one or more of QoS KPIs, per-user QoS information, and / or per-service QoS information.
20. The method (300) of any one of claims 1 to 19, wherein the QoS and / or QoE information is provided by a network data analytics function (NWDAF).
21. The method (300) of any one of claims 1 to 20, wherein the configuration is generated based at least in part on actual user count per slice or actual services used by one or more users.
22. The method (300) of any one of claims 1 to 21, wherein optimization comprises modifying one or more of slice PRB share percentage, SMF or UPF memory percentage, UPF CPU percentage, and / or bandwidth share percentage of a network slice.
23. The method (300) of any one of claims 1 to 22, wherein the network slice configuration is generated based at least in part on Equation (1):where m, k, and t are a number of slices, features, and time steps, respectively; pj and ej are revenue and extra revenue values of a user of slice j, respectively; c / 7 is the user count of slice j in the 1 time step; qj is the target QoE of slice j; sj is the minimum user number of slice j; wnk is the coefficient for the k-th feature of the n-th linear model; zn is the intercept value of the n-th linear model; uj is a variable describing the number of users the j-th slice can serve with target QoE with the currently allocated resources; xjk is a variable representing the k-th feature allocated to the j-th slice to satisfy users; andyjk'. is a variable representing the remaining free resources of the k-th feature of the j-th slice.
24. The method (300) of claim 23, wherein the generating is performed by optimizing Equation (1) based on QoE, user count, and per-user service revenue.
25. The method (300) of claim 23 or 24, wherein Equation (1) is confined by Equations (2)- (8):where coefgixki is the coefficient of xki, approximating xjr, corrXjiXki is the margin of error for retaining correlation between xki and xjr, and xljkmin and xljkmax are the lower and upper bound of the k-th resource descriptor of the j-th slice in the l-th time step, respectively.
26. The method (300) of any one of claims 1 to 25, wherein the method comprises distributing shared resources among slices.
27. The method (300) of claim 26, wherein generating the one or more network slice configurations comprises configuring one or more shared parameters.
28. An apparatus configured to: receive Quality of Service (QoS); estimating Quality of Experience (QoE) information based on the received QoS; and generate one or more network slice configurations based at least in part on the received information, wherein generating the network slice configuration comprises performing a resource optimization for one or more of the network slices using at least the QoE information, wherein the optimization is performed using a variable size time window.
29. The apparatus of claim 28, further configured to perform any one of claims 2 to 27.
30. The apparatus of claim 28 or 29, wherein the apparatus comprises a slice configuration manager in the network management domain.
31. The apparatus of claim 30, wherein the apparatus comprises a slice optimization module.
32. A method (400), comprising: obtaining (s410) information regarding Quality of Service (QoS); generating (s420) Quality of Experience (QoE) information based on the QoS information using a machine learning model; and providing (s430) the QoE information to a slice configuration manager.
33. The method (400) of claim 32, further comprising: providing (s440) QoS information to the slice configuration manager.
34. The method (400) of claim 32 or 33, wherein obtaining the QoS information comprisesgenerating or receiving QoS KPIs.
35. The method (400) of claim 34, wherein the QoS KPIs are based on User Plane Function (UPF) reports, traffic probe reports, and / or generated on a per-flow basis.
36. The method (400) of any one of claims 32 to 35, wherein obtaining the QoS information comprises measuring one or more value.
37. The method (400) of any one of claims 32 to 36, wherein QoS metrics are obtained from an external cloud or service and used to generate QoE information.
38. The method (400) of any one of claims 32 to 37, wherein the QoE information is derived using one or more service-specific linear regression models based on slice type.
39. An apparatus configured to: obtain information regarding Quality of Service (QoS); generate Quality of Experience (QoE) information based on the QoS information using a machine learning model; and provide the QoE information to a slice configuration manager.
40. The apparatus of claim 38, further configured to perform any one of claims 33 to 38.
41. The apparatus of claim 39 or 40, wherein the apparatus comprises a network data analytics function (NWDAF) in the core domain.
42. A method, comprising: receiving an optimized network slice configuration generated according to any one of claims1 to 27 or claims 32 to 38; and applying the configuration.
43. An apparatus configured to: receive an optimized network slice configuration generated according to any one of claims 1 to 37 or claims 32 to 38; and apply the configuration.
44. The apparatus of claim 43, wherein the apparatus is a eNodeB a gNodeB, or other radio device; comprises a core network function; or is a router, switch, or bridge in the transport domain.
45. A computer program product comprising a non-transitory computer readable medium storing instructions which when performed by processing circuitry of a device causes the device to perform any one of claims 1 to 27 or claims 32 to 38.
Citation Information
Patent Citations
Adaptive systems and methods enhancing service Quality of Experience
US20190222491A1
Adapting a managed entity for an application
US20230403543A1
Cross-network-slice cooperation method and apparatus, and network slice capability enablement server
WO2023246730A1