Network configurable user equipment machine learning processing utilization reporting

By determining and managing compute utilization parameters and sending instruction messages to user equipment, the inefficiencies in assigning machine learning tasks in wireless telecommunication systems are addressed, leading to improved resource management and network performance.

WO2025026599A1PCT designated stage expired Publication Date: 2025-02-06NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/064547
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-03
Filing Date
2024-05-27
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

In mobile or wireless telecommunication systems, network elements often inefficiently assign machine learning tasks to user equipment due to unpredictable resource demands and lack of comprehensive control over user equipment operations.

Method used

The proposed solution involves determining compute utilization parameters for user equipment implementing machine learning features, transmitting these parameters to the user equipment, and sending instruction messages to activate, deactivate, or modify machine learning features based on compute utilization indications received from the user equipment.

Benefits of technology

This approach enables more efficient management of machine learning tasks on user equipment, optimizing resource utilization and preventing overloading, thereby enhancing the overall performance and efficiency of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024064547_06022025_PF_FP_ABST
    Figure EP2024064547_06022025_PF_FP_ABST
Patent Text Reader

Abstract

Systems, methods, apparatuses, and computer program products for network configurable user equipment machine learning processing utilization reporting. The method may include determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] TITLE:

[0002] NETWORK CONFIGURABLE USER EQUIPMENT MACHINE LEARNING PROCESSING UTILIZATION REPORTING

[0003] CROSS-REFERENCE TO RELATED APPLICATION

[0004] This application claims the benefit of IN Provisional Application No. 202341052313, filed August 3, 2023. The entire content of the above-referenced application is hereby incorporated by reference.

[0005] FIELD:

[0006] Some example embodiments may generally relate to mobile or wireless telecommunication systems, such as Long Term Evolution (LTE) or fifth generation (5G) radio access technology or new radio (NR) access technology, sixth generation (6G) radio access technology and seventh generation (7G) radio access technology, etc., wireless local area network (WLAN), or other communications systems. For example, certain example embodiments may relate to apparatuses, systems, and / or methods for network configurable user equipment machine learning processing utilization reporting.

[0007] BACKGROUND:

[0008] Examples of mobile or wireless telecommunication systems may include the Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (UTRAN), LTE Evolved UTRAN (E-UTRAN), LTE-Advanced (LTE-A), MulteFire, LTE-A Pro, fifth generation (5G) radio access technology or NR access technology, and / or 5G- Advanced. 5G wireless systems refer to the next generation (NG) of radio systems and network architecture. 5G network technology is mostly based on NR technology, but the 5G (or NG) network can also build on E-UTRAN radio. It is estimated that NR may provide bitrates on the order of 10-20 Gbit / s or higher, and may support at least enhanced mobile broadband (eMBB) and ultra-reliable low-latency communication (URLLC) as well as massive machine-type communication (mMTC). NR is expected to deliver extreme broadband and ultra-robust, low-latency connectivity and massive networking to support the loT. In a network that includes network elements connected to user equipment, the network element may assign machine learning tasks or functions to the user equipment. Machine learning tasks and functions can be very demanding on the user equipment resources (e.g., processing and memory). The user equipment may also have other tasks, functions and operations not assigned by the network element. However, because the network element does not control all of the operations of the user equipment and the resource needs of machine learning functions are not completely consistent over time, the network element may unknowingly assign machine learning tasks or functions to the user equipment in an inefficient manner.

[0009] SUMMARY:

[0010] An example embodiment may be directed to an apparatus. The apparatus may include at least one processor and at least one memory storing instructions. The instructions stored in the at least memory, when executed by the at least one processor may cause the apparatus at least to perform determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0011] Another example embodiment may be directed to an apparatus. The apparatus may include at least one processor and at least one memory storing instructions. The instructions stored in the at least memory, when executed by the at least one processor may cause the apparatus at least to perform determining a compute utilization indication based on compute utilization parameters received from a network element, reporting the compute utilization indication to the network element, and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

[0012] An example embodiment may be directed to a method. The method may also include determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment. Another example embodiment may be directed to a method. The method can include determining a compute utilization indication based on compute utilization parameters received from a network element, reporting the compute utilization indication to the network element, and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

[0013] Another example embodiment may be direct to an apparatus. The apparatus may include means for determining compute utilization parameters for a user equipment implementing machine learning features, means for transmitting the compute utilization parameters to the user equipment, and means for transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0014] Another example embodiment may be direct to an apparatus. The apparatus may include means for determining a compute utilization indication based on compute utilization parameters received from a network element, means for reporting the compute utilization indication to the network element, and means for activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

[0015] Another example embodiment may be directed to an apparatus including circuitry configured to perform a method. The method can include determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0016] Another example embodiment may be directed to an apparatus including circuitry configured to perform a method. The method can include determining a compute utilization indication based on compute utilization parameters received from a network element, reporting the compute utilization indication to the network element, and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element. Another example embodiment may be directed to a non-transitory computer readable medium including program instructions stored thereon that, when executed by an apparatus, cause the apparatus to perform at least a method. The method can include determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0017] Another example embodiment may be directed to a non-transitory computer readable medium including program instructions stored thereon that, when executed by an apparatus, cause the apparatus to perform a method. The method can include determining a compute utilization indication based on compute utilization parameters received from a network element, reporting the compute utilization indication to the network element, and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

[0018] Another example embodiment may be directed to a computer program including instructions, which, when executed by an apparatus, cause the apparatus to perform a method. The method can include determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0019] Another example embodiment may be directed to a computer program including instructions, which, when executed by an apparatus, cause the apparatus to perform a method. The method can include determining a compute utilization indication based on compute utilization parameters received from a network element, reporting the compute utilization indication to the network element, and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element. BRIEF DESCRIPTION OF THE DRAWINGS:

[0020] For proper understanding of example embodiments, reference should be made to the accompanying drawings, wherein:

[0021] FIG. 1 illustrates an example flow diagram of communications between a user equipment and a network element, according to certain example embodiments.

[0022] FIG. 2 illustrates another example flow diagram of communications between the user equipment and the network element, according to certain example embodiments.

[0023] FIG. 3 illustrates another example flow diagram of communications between the user equipment and the network element, according to certain example embodiments.

[0024] FIG. 4 illustrates an example flow chart for a method of controlling a network element, according to certain example embodiments.

[0025] FIG. 5 illustrates an example flow chart for a method of controlling a user equipment, according to certain example embodiments.

[0026] FIG. 6 illustrates an example graph of LI compute utilization vs L2 compute utilization, according to certain example embodiments.

[0027] FIG. 7 illustrates an example illustration of layers of a protocol stack, according to certain example embodiments.

[0028] FIG. 8A illustrates example layer assignments to a system on chip, according to certain example embodiments.

[0029] FIG. 8B illustrates example layer assignment to two systems on chip, according to certain example embodiments.

[0030] FIG. 8C illustrates example layer assignment to three systems on chip, according to certain example embodiments.

[0031] FIG. 9 illustrates a set of apparatuses, according to certain example embodiments. DETAILED DESCRIPTION:

[0032] It will be readily understood that the components of certain example embodiments, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. The following is a detailed description of some example embodiments of systems, methods, apparatuses, and computer program products for network configurable user equipment machine learning processing utilization reporting.

[0033] The features, structures, or characteristics of example embodiments described throughout this specification may be combined in any suitable manner in one or more example embodiments. For example, the usage of the phrases “certain embodiments,” “an example embodiment,” “some embodiments,” or other similar language, throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment. Thus, appearances of the phrases “in certain embodiments,” “an example embodiment,” “in some embodiments,” “in other embodiments,” or other similar language, throughout this specification do not necessarily refer to the same group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more example embodiments. Further, the terms “base station”, “cell”, “node”, “gNB”, “network” or other similar language throughout this specification may be used interchangeably.

[0034] As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or,” mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.

[0035] FIG. 1 illustrates an example flow diagram of communications between a user equipment (UE) 100 and a network 200, according to certain example embodiments. The network 200 and the UE 100 may communicate electronically wirelessly, through wires, through fiber optic cables, or a combination of these and / or other methods of electronic communication. The wireless communication may be in a 5G network. The UE 100 may communicate directly or indirectly with the network 200. The UE 100 may communicate with a single network element in the network 200 or with multiple network elements. At SI 10, the UE 100 and the network 200 may communicate to establish a connection and the UE 100 may send its machine learning capabilities to the network 200. The network 200 may also send information or queries related to the machine learning capabilities of the UE 100. In some example embodiments, the UE 100 and network 200 may participate in a UE machine learning capabilities exchange where the network 200 may be informed of the machine learning and artificial intelligence capabilities of the UE 100. The network 200 may send and the UE 100 may receive a request for a capability indication indicating that the user equipment supports reporting a compute utilization indication. The UE 100 may respond by sending the indication indicating that the UE 100 supports reporting a compute utilization indication. The compute utilization indication may be a compute utilization category, compute utilization value, etc.

[0036] At SI 20, the UE 100 and the network 200 may communicate with each other to configure and activate one or more machine learning features on the UE 100. The machine learning features may be related to network traffic, network security, radio access, mobility management, CSI compression, etc. For example, the UE machine learning features of channel state information compression may be assigned, configured, and activated at the UE 100.

[0037] At SI 30, the network 200 may determine to activate a new machine learning enabled feature. For example, when a device had been performing machine learning enabled CSI compression, the network may determine that it also requires an additional machine learning enabled beam selection feature to be enabled.

[0038] At SI 40, the network 200 may determine compute utilization weights and an applicable time period. The compute utilization weights and the applicable time period may be applied to a function to determine the compute utilization state of the UE 100. In the case where the network 200 is connected to 10 UEs, the compute utilization weights and applicable time periods may be intended for each of the UEs. At S160-S190 communication with the UE 100 are discussed. However, in other example embodiments, these steps may be performed by the network 200 concurrently with a plurality of UEs. As will be described in greater detail below, the UE 100 may have machine learning activated features divided across, for example, a first layer (LI), a second layer (L2), and a third layer (L3) of a protocol stack. As another example, UE 100 may have machine learning activated features divided across LI and L2 only, or L2 and L3 only. According to certain example embodiments, compute utilization weights wl, w2, and w3 may be assigned to each of LI, L2, and L3, respectively, as a multiplicative factor for each layer, wl, w2, and w3 may sum to 1; each of wl, w2 and w3 being between 0 and 1, inclusive. The weights are used to allow the network 200 to prioritize the contributions of each layer in the compute utilization value. In certain example embodiments, the compute utilization weights may be determined based on the machine learning enabled feature to be activated. For example, for a security feature, which is normally managed in the second or third layers of the protocol stack of the UE 100, the values of the weights w2 and w3 may be greater than the weight wl . As another example, for physical layer tasks, such as channel state information compression, the value of the weight wl may be greater than the weights w2 and w3. Alternatively, the weights wl, w2, w3 can be changed to be thresholding functions instead of absolute values. Thresholding functions are functions that act based on a threshold limit between a pre-configured upper bound and a lower bound. The function acts only if the threshold crosses a limit. For example, the function reports the memory utilization as a value only when the memory utilization for the functionality is between 10% and 90%. If the memory utilization is below 10% it instead reports as low, when the memory utilization is above 90% it instead reports as high.

[0039] In certain example embodiments, the applicable time period may be determined based on the machine learning enabled feature to be activated and also based on other machine learning features already activated at the UE 100. For example, if the UE 100 already has machine learning features activated which have a cycle of about 100 ms (e.g., a machine learning feature for channel state information compression where the estimated channel state information is sent to the network 200 every 100 ms), the applicable time period may be determined to be 100 ms or some multiple of 100 ms to allow for multiple samples to be included in the compute utilization estimation. The formula used by the UE to determine a compute utilization value may also be taken into account when determining the applicable time period. For example, if the formula includes peak processor usage in the applicable time period and the machine learning features activated have a cycle of about 100 ms, then the applicable time period may be 100 ms or longer such that the peak processor usage in at least one cycle will be within the window of the applicable time period. In some embodiments, multiple sets of compute utilization weights and applicable time periods may be determined. At SI 50, the network 200 may transmit and the UE 100 may receive the configuration of the compute utilization weights and applicable time period.

[0040] At SI 60 the UE 100 may calculate the compute utilization of the UE 100 using the compute utilization weights and compute utilization functions during the applicable time period. The compute utilization may be calculated based on formula 1 :

[0041] In formula 1 CU(t) is the compute utilization to be reported by the UE 100, wl is the weight of LI compute utilization, w2 is the weight of L2 compute utilization, w3 is the weight ofL3 compute utilization, Llf(t) is the function for calculating the compute utilization of LI, L2f(t) is the function for calculating the compute utilization of L2, And L3f(t) is the function for calculating the compute utilization of L3. Llf(t), L2f(t), and L3f(t) are not provided by the network and are specific implementations at the UE. For example, Llf(t), L2f(t), and L3f(t) may be the peak processor usage (as a percentage of assigned processor time) in the applicable time period for LI, L2, and L3 respectively. Other examples of Llf(t), L2f(t), and L3f(t) metrics may include average processor usage, memory read time, peak processor speed, average processor speed, power consumption, tera-operations per second or tera-multiply accumulate operations per second or other metric related to the usage of computational resources in the UE 100. These metrics may be used in combination or alone in Llf(t), L2f(t), and L3f(t). The solution to Llf(t), L2f(t), and L3f(t) may be a value between 0 and 1, inclusive. The solutions to Llf(t), L2f(t), and L3f(t) may be multiplied by their respective weights wl, w2, and w3 and then summed to obtain CU(t). The UE can include not only explicit resource utilization but also more subjective UE factors during the estimation of Llf(t), L2f(t) and L3f(t) in equation 1.

[0042] At SI 70, the UE 100 may report the compute utilization value to the network 200. Restated, the UE 100 may send and the network 200 may receive the compute utilization value of UE 100.

[0043] At SI 80, the network 200 may determine to activate the newUE machine learning enabled feature based on the received compute utilization value. For example, if the compute utilization value is below a threshold, such as .5 (or another value between 0 and 1), the network 200 may determine that a UE 100 has the available computational resources to take on the machine learning enabled feature and will determine to activate the new UE machine learning enabled feature at the UE 100. The value of the threshold may be determined based on the computational requirements for the new UE machine learning enabled feature (e.g., for a new UE machine learning enabled feature with greater computational requirements the threshold may be lower). As another example, the network may receive compute utilization values for a plurality of devices, and may determine to activate the new UE machine learning enabled feature on the device with the lowest compute utilization value (e.g., in case of federating learning). If the compute utilization value for UE 100 is above a threshold, such as .9 (or another value between 0 and 1), the network 200 may determine to not activate the new UE machine learning enabled feature on the UE 100.

[0044] In some example embodiments, several iterations of S 140-S 170 may be performed simultaneously, or contemporaneously such that different metrics can be analyzed at the same time when determining to activate the new UE machine learning enabled feature. For example, several sets of weights wl, w2, and w3 may be sent, different applicable time periods. The different functions may be sent or indications to use different functions may be sent. In this way the determination to activate the new UE machine learning enabled feature can be based on multiple compute utilization values.

[0045] The network 200 may also determine to adjust the machine learning computation load of the UE 100. For example, if the compute utilization value is above a threshold (such as .5) and one of the machine learning features activated on the UE has a less computationally demanding counterpart, the network may determine to deactivate the more demanding machine learning feature and activate the less demanding machine learning feature along with activating the new machine learning feature. For example, if there are two different channel state information compression functionalities available and one is less compute demanding, and the other is currently activated, the network may determine to activate the less demanding feature and deactivate the more demanding feature. Accordingly, the network may determine to adjust the machine learning features of the UE 100 when determining to activate the new UE machine learning enabled feature on the UE 100.

[0046] At S 190, the network 200 and the UE 100 may activate the new UE machine learning enabled feature on the UE 100. The network 200 may send an instruction message to the UE 100, and the UE 100 may activate the new UE machine learning enabled feature based on the instruction message. The instruction message may include a command to activate a ML enabled feature or functionality if the network 200 knows that the feature exists on the UE 100. Alternatively, the network 200 may send the feature to the UE 100 with the instructions to activate the feature if the network 200 knows that the UE 100 does not have the ML enabled feature or functionality to execute the feature stored on the UE 100. The UE 100 and the network 200 may established this knowledge at S110-S120 or may establish this knowledge as part of SI 90 through additional communications for e.g., additional model transfers from the network 200 to the UE 100. The instruction message may also include instructions to deactivate an ML enabled feature, or modify an ML enabled feature.

[0047] If the network 200 determined to adjust the machine learning features of the UE 100, the activation message may also include an indication of the adjustment s).

[0048] FIG. 2 illustrates another example flow diagram of communications between the UE and the network element, according to certain example embodiments. Some of the operations of FIG. 2 may be substantially similar to the operations describe with relation to FIG. 1. Description of similar operations may be omitted or described in less detail.

[0049] At S210, the UE 100 and the network 200 may perform UE machine learning capability exchange including support for configurable compute utilization reporting. The network 200 may query the UE 100 on the configuration of the compute utilization reporting of the UE 100 and may send commands to implement a certain computer utilization reporting protocol. The network 200 may also send instructions regarding whether to report a compute utilization value or a compute utilization category. The compute utilization value and compute utilization category may be examples of compute utilization metrics.

[0050] At S220, UE 100 and the network 200 may communicate to configure and activate one or more machine learning features on the UE 100.

[0051] At S230, the network 200 may determine compute utilization weights, at least one threshold value, and the applicable time period. The at least one threshold value may be determined based on the machine learning capabilities of the UE 100. For example, a UE with higher computational power and, thus, greater machine learning capabilities may have threshold values which are higher than threshold values for a UE with lower machine learning capabilities. The applicable time period may be determined based on the enabled machine learning features of the UE 100 or a normal or standard time period if the machine learning enabled feature to be activated is not known. An example of a normal period may be 10ms, 100 ms, 1 second, or another value.

[0052] At S240, the network 200 may transmit and the UE 100 may receive the configuration of the computer utilization weights, at least one threshold, and applicable time period.

[0053] At S250, the UE 100 may calculate the compute utilization category using the compute utilization weights at least one threshold value, and compute utilization functions during the applicable time period. The UE 100 may first calculate the compute utilization value using equation 1, and then use the at least one threshold to determine the compute utilization category. For example, if the compute utilization value is over an upper threshold (e.g., .9), the compute utilization category may be “critical” meaning no further machine enabled features / functionality can be added and reconfiguration of current functionalities is suggested. If the compute utilization value is between the upper threshold and a lower threshold (e.g., .5), the compute utilization category may be “normal” meaning operations is in the ordinary range. If the compute utilization value is below the lower compute value, the compute utilization category may be “low”, meaning new machine learning features / functionalities can be added, reconfiguration to of active machine learning enabled functionalities to maximize resource utilization is possible. The upper and lower threshold values are only examples and the network 200 may set the threshold values statically or dynamically. In some example embodiments, a single threshold value may be used. In other example embodiments, 3 or more threshold values may be used.

[0054] At S260, the UE 100 may send and the network 200 may receive the compute utilization category or an indication of the compute utilization category. In some example embodiments, the UE 100 may perform steps S250 and S260 periodically or when triggered or a combination thereof. For example, the UE 100 may perform S250 every 100 ms and may be triggered to report the compute utilization category if the category is either “critical” or “low.” At S270, the network 200 determines to activate a new UE machine learning enabled feature at the UE 100 based on the received compute utilization category. The network 200 may determine to activate a new UE machine learning enabled feature. The network 200 may then determine to activate the new UE machine learning enabled feature at the UE 100 based on the reported compute utilization category. In some example embodiments, steps S230-S260 may be performed several times simultaneously or contemporaneously such that the determining to activate the new UE machine learning enabled feature is based on several received compute utilization categories.

[0055] At S280, the network 200 and the UE 100 may activate the new UE machine learning enabled feature at the UE 100.

[0056] FIG. 3 illustrates another example flow diagram of communications between the user equipment and the network element, according to certain example embodiments. Some of the operations of FIG. 3 may be substantially similar to the operations describe with relation to FIGs. 1 and 2. Description of similar operations may be omitted or described in less detail.

[0057] At S310, the UE 100 and network 200 may exchange UE machine learning capabilities.

[0058] At S320, the UE 100 and network 200 may perform machine learning feature(s) configuration and activation.

[0059] At S330, the network 200 may determine compute utilization weights and applicable time period based on the machine learning capabilities of the UE 100 and the machine learning features configuration and activation of the UE 100.

[0060] At S340, the network 200 may transmit and the UE 100 may receive configuration of the compute utilization weights and applicable time periods.

[0061] At S350, the UE 100 may calculate compute utilization value using the compute utilization weights and compute utilization functions during the applicable time period. The compute utilization value may be computed using equation 1. At S360, the UE 100 may report the compute utilization value to the network 200. Restated, the UE 100 may send and the network may receive the compute utilization value or an indication of the compute utilization value.

[0062] At S370, the network 200 may determine compute utilization threshold values. The one or more compute utilization threshold values may be determined based on the received compute utilization value at S360. The network 200 may also determine new values for the compute utilization weights and the applicable time period. According to certain example embodiments, the changes in the compute utilization weights and applicable time period may also be made based on the received compute utilization value at S360. For example, if the compute utilization value is higher than would ordinarily be expected with the UE machine learning features configuration and activation of the UE 100, the weights may be changed to determine if a certain layer of the protocol stack is overloaded.

[0063] At S380, the network 200 may transmit and the UE 200 may receive the reconfiguration of the compute utilization weights, compute utilization threshold values, and the applicable time period.

[0064] At S390, the UE 100 may determine the compute utilization category using the compute utilization weights, compute utilization values, and the applicable time period.

[0065] At S400, the UE 100 may report the compute utilization category to the network 200. Restated, the UE 100 may send and the network 200 may receive the compute utilization category or an indication of the compute utilization category.

[0066] At S410, the network 200 may determine to activate a new UE machine learning enabled feature at the UE 100 based on the received compute utilization category. In some example embodiments, steps S330-S410 may be performed several times simultaneously or contemporaneously such that the determining to activate the new UE machine learning enabled feature is based on several received compute utilization categories.

[0067] At S420, the network 200 and the UE 100 may activate the new UE machine learning enabled feature on the UE 100. FIG. 4 illustrates an example flow chart for a method of controlling a network element, according to certain example embodiments. In an example embodiment, the method of FIG. 4 may be performed by a network entity, or a group of multiple network elements in a 3 GPP system, such as LTE or 5G-NR, 6G, 7G, etc. For instance, in an example embodiment, the method of FIG. 4 may be performed by a UE or computer implementing an application and / or AF, the UE and computer being similar to one of apparatuses 10 or 20 illustrated in FIG. 9.

[0068] According to certain example embodiments, the method of FIG. 4 may include, at S4010, determining a compute utilization indication based on compute utilization parameters received from a network element, at S4020, reporting the compute utilization indication to the network element, and at S4030, activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

[0069] FIG. 5 illustrates an example flow chart for a method of controlling a user equipment, according to certain example embodiments. In an example embodiment, the method of FIG. 5 may be performed by a network entity, or a group of multiple network elements in a 3 GPP system, such as LTE or 5G-NR. For instance, in an example embodiment, the method of FIG. 5 may be performed by the network (e.g., gNB, 5G core, or 5GRAN) similar to one of apparatuses 10 or 20 illustrated in FIG. 9.

[0070] According to certain example embodiments, the method of FIG. 5 may include, at S5010, determining compute utilization parameters for a user equipment implementing machine learning features, at S5020, transmitting the compute utilization parameters to the user equipment, and at S5030, transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0071] FIG. 6 illustrates an example graph of LI compute utilization vs L2 compute utilization, according to certain example embodiments. The graph is a simplified 2 dimensional visualization for use of CU(t) with the LI and L2 related functions, Llf(t) and L2f(t). The graph assumes shared hardware and software resources between LI and L2. The graph includes 4 example values Exl, Ex2, Ex3 and Ex4 on a curve. The shape of the curve (and the operational area under the curve) depends on UE implementation for the software / hardware resources shared between LI and L2 processing. The maximum compute utilization for each layer depends on UE implementation, and may be capped at lower than 100%.

[0072] Four different cases at the UE 100 will now be discussed. For simplicity, only LI and L2 will be considered for these example cases (e.g., w3 is set to 0 in these cases). A similar analysis can be used for cases where each of Llf(t), L2f(t), and L3f(t) are considered. In case 1, Llf(t) is at 95% and may soon run out of resources, L2 f(t) is at 20% and can take on a new functionality / feature. In case 2, Llf(t) is at 70% and in most circumstances should not take on new functionality / feature, L2f(t) is at 20% and can take on a new functionality / feature. In case 3, Llf(t) is at 50% and L2f(t) is at 60% and either can take on new functionality / features. In case 4, Llf(t) is 20% and can take on new functionality / features, L2f(t) is 80% and a new functionality / feature cannot be taken on without adjustments to the current functionalities / features.

[0073] Four different cases at the network 200 will now be discussed. For simplicity only wl and w2 will be considered for these example cases (e.g., w3 is set to 0 in these cases). In case 1, LI is allowed the highest compute utilization (which is applicable when no changes are expected in the LI machine learning enabled features) and more adaptations are accommodated at the higher levels. Thus, w2 is set to a very high value (e.g., .9), and wl is set to very low level (e.g., .1). In case 2, LI is allowed higher compute utilization (which is applicable when small changes are expected in the LI machine learning enabled features), and more adaptations are accommodated at the higher levels. Thus, w2 is set to a high value (e.g., .8), and wl is set to a low level (e.g., .2). In case 3, LI and L2 are allowed about equal compute utilization (which is applicable when small changes are expected in the LI and L2 machine learning enabled features). Thus, wl and w2 are set to middle values (e.g., .5). In case 4, LI is allowed more accommodations and adaptations, and L2 is expected to have only small or no changes. Thus, w2 is set to a low value (e.g., .3), and wl is set to a high value (e.g., .7). In some example embodiments, specific values of the weights wl, w2 and w3 may be set by a vendor specific algorithm and may be configured in the network 200 statically or dynamically.

[0074] FIG. 7 illustrates an example illustration of layers of a protocol stack, according to certain example embodiments. The layers of the protocol stack may include LI, L2, and L3. LI may include artificial intelligence / machine learning (AIML) functionalities 1 , 2 and 3, L2 may include AIML functionalities 1 and 2, and L3 may include AIML functionality 1. AIML functionality 1 may be supporting a security function. AIML functionality 2 may be supporting a beam management function, AIML functionality 3 may be supporting a physical layer function such as channel state information compression, change state information estimation, channel state information feedback, etc. These AIML functionalities are only examples. LI, L2, and L3 may be implemented on compute infrastructure such as cores, memory, storage, etc. Other hardware may also be connected such as transceivers, amplifiers, antennas, etc.

[0075] FIGs. 8A-C illustrate example layer assignments to systems on chip, according to certain example embodiments. Each of the example layer assignments include layers LI, L2, and L3 implementations using different distribution across systems on chip (SoC). FIG. 8A illustrates a single SoC (SoC-common) with each of LI, L2, and L3 implemented on single SoC. FIG. 8B illustrates three SoCs (SoC-1, SoC-2, and SoC-3) with each having a respective layer LI, L2, and L3 implemented thereon. FIG. 8C illustrates two SoCs (SoC-1 and SoC-2) with SoC-1 having LI and part of L2 implemented thereon and SoC-2 having L3 and part of L2 implemented thereon. Each SoC may include one or more memories, processors, transceivers, etc.

[0076] FIG. 9 illustrates a set of apparatuses 10 and 20. according to certain example embodiments. In certain example embodiments, apparatuses 10 and 20 may be elements in a communications network or associated with such a network. For example, apparatus 10 may be a UE, and apparatus 20 may be a network (e.g., gNB, 5GS, 5G Core, 5G RAN, etc.).

[0077] In some example embodiments, apparatuses 10 and 20 may include one or more processors, one or more computer-readable storage medium (for example, memory, storage, or the like), one or more radio access components (for example, a modem, a transceiver, or the like), and / or a user interface. In some example embodiments, apparatuses 10 and 20 may be configured to operate using one or more radio access technologies, such as GSM, LIE, LIE- A, NR, 5G, 6G, 7G, WLAN, WiFi, NB-IoT, Bluetooth, NFC, MulteFire, and / or any other radio access technologies. It should be noted that one of ordinary skill in the art would understand that apparatuses 10 and 20 may include components or features not shown in FIG. 9. As illustrated in the example of FIG. 9, apparatuses 10 and 20 may include or be coupled to a processors 12 and 22 for processing information and executing instructions or operations. Processors 12 and 22 may be any type of general or specific purpose processor. In fact, processors 12 and 22 may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), and processors based on a multi-core processor architecture, as examples. While a single processor 12, 22 is shown in FIG. 9, multiple processors may be utilized according to other example embodiments. For example, it should be understood that, in certain example embodiments, apparatuses 10 and 20 may include two or more processors that may form a multiprocessor system (e.g., in this case processors 12 may represent a multiprocessor) that may support multiprocessing. According to certain example embodiments, the multiprocessor system may be tightly coupled or loosely coupled (e.g., to form a computer cluster).

[0078] Processors 12 and 22 may perform functions associated with the operation of apparatuses 10 and 20 including, as some examples, precoding of antenna gain / phase parameters, encoding and decoding of individual bits forming a communication message, formatting of information, and overall control of the apparatuses 10 and 20, including processes and examples illustrated in FIGs. 1-8C.

[0079] Apparatuses 10 and 20 may further include or be coupled to a memories 14 and 24 (internal or external), which may be respectively coupled to processors 12 and 24 for storing information and instructions that may be executed by processors 12 and 24. Memories 14 and 24 may be one or more memories and of any type suitable to the local application environment, and may be implemented using any suitable volatile or nonvolatile data storage technology such as a semiconductor-based memory device, a magnetic memory device and system, an optical memory device and system, fixed memory, and / or removable memory. For example, memories 14 and 24 can be comprised of any combination of random access memory (RAM), read only memory (ROM), static storage such as a magnetic or optical disk, hard disk drive (HDD), or any other type of non-transitory machine or computer readable media. The instructions stored in memories 14 and 24 may include program instructions or computer program code that, when executed by processors 12 and 22, enable the apparatuses 10 and 20 to perform tasks as described herein. In certain example embodiments, apparatuses 10 and 20 may further include or be coupled to (internal or external) a drive or port that is configured to accept and read an external computer readable storage medium, such as an optical disc, USB drive, flash drive, or any other storage medium. For example, the external computer readable storage medium may store a computer program or software for execution by processors 12 and 22 and / or apparatuses 10 and 20 to perform any of the methods and examples illustrated in FIGs. 1-8C.

[0080] In some example embodiments, apparatuses 10 and 20 may also include or be coupled to one or more antennas 15 and 25 for receiving a downlink signal and for transmitting via an UL from apparatuses 10 and 20. Apparatuses 10 and 20 may each further include a transceiver 18 and 28 configured to transmit and receive information. The transceivers 18 and 28 may also include a radio interface (e.g., a modem) coupled to the antennas 15 and 25. The radio interface may correspond to a plurality of radio access technologies including one or more of GSM, LTE, LTE- A, 5G, NR, WLAN, NB-IoT, Bluetooth, BT-LE, NFC, RFID, UWB, and the like. The radio interface may include other components, such as filters, converters (for example, digital-to-analog converters and the like), symbol demappers, signal shaping components, an Inverse Fast Fourier Transform (IFFT) module, and the like, to process symbols, such as OFDMA symbols, carried by a downlink or an UL.

[0081] For instance, transceivers 18 and 28 may be configured to modulate information on to a carrier waveform for transmission by the antennas 15 and 25 and demodulate information received via the antenna 15 and 25 for further processing by other elements of apparatuses 10 and 20. In other example embodiments, transceivers 18 and 28 may be capable of transmitting and receiving signals or data directly. Additionally or alternatively, in some example embodiments, apparatus 10 may include an input and / or output device (I / O device). In certain example embodiments, apparatuses 10 and 20 may further include a user interface, such as a graphical user interface or touchscreen.

[0082] In certain example embodiments, memories 14 and 34 store software modules that provide functionality when executed by processors 12 and 22. The modules may include, for example, an operating system that provides operating system functionality for apparatuses 10 and 20. The memory may also store one or more functional modules, such as an application or program, to provide additional functionality for apparatuses 10 and 20. The components of apparatuses 10 and 20 may be implemented in hardware, or as any suitable combination of hardware and software. According to certain example embodiments, apparatuses 10 and 20 may optionally be configured to communicate each other (in any combination) via a wireless or wired communication links 70 according to any radio access technology, such as NR.

[0083] According to certain example embodiments, processors 12 and 22 and memories 14 and 24 may be included in or may form a part of processing circuitry or control circuitry. In addition, in some example embodiments, transceivers 18 and 28 may be included in or may form a part of transceiver circuitry.

[0084] For instance, in certain example embodiments, apparatus 10 may be controlled by memory 14 and processor 12 to determine a compute utilization indication based on compute utilization parameters received from a network element, report the compute utilization indication to the network element, and activate, deactivate, or modify a machine learning feature on the apparatus based on an instruction message from the network element.

[0085] In other example embodiments, apparatus 20 may be controlled by memory 24 and processor 22 to determine compute utilization parameters for a user equipment implementing machine learning features, transmit the compute utilization parameters to the user equipment, and transmit an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0086] Certain example embodiments may be directed to an apparatus that includes means for determining compute utilization parameters for a user equipment implementing machine learning features, transmitting the compute utilization parameters to the user equipment, and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0087] Other example embodiments may be directed to an apparatus that includes means for determining compute utilization parameters for a user equipment implementing machine learning features, means for transmitting the compute utilization parameters to the user equipment, and means for transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

[0088] Certain example embodiments described herein provide several technical improvements, enhancements, and / or advantages. In some example embodiments, it may be possible to improve decision-making for activating new machine learning enabled feature on UEs. For example, if a network is seeking to implementing a new machine learning feature on one of the UEs connected to the network, the network can send compute utilization weights to the UEs and based on the responses select one UE on which to implement the new machine learning feature without overloading a UE with a feature it doesn’t have the compute capacity to effectively implement. Many machine learning features are time sensitive such as channel state information estimation. If the UE is overloaded the UE may not be able to give timely channel state information estimations to the network and the network may become more inefficient due to the lack of timely information on the channel state. Machine learning features can also be adjusted or based on the compute utilization metrics.

[0089] Another advantage is that the contribution of the different layers to the compute utilization value can be adjusted and even eliminated so the evaluation of the compute unitization can be customized to the machine learning functionality to be added. For example, for a machine learning functionality which is only on the LI the contribution of the L3 can be eliminated because it may have very little or no effect on the implementation of the machine learning functionality.

[0090] When several machine learning enabled features share the same available pool of machine learning computer resources, any computer overload for one of them could cause degradation of the performance at others. To mitigate this, the hardware / software platform running these machine learning enabled features might implement the operations described above.

[0091] A computer program product may include one or more computer-executable components which, when the program is run, are configured to carry out some example embodiments. The one or more computer-executable components may be at least one software code or portions of it. Modifications and configurations required for implementing functionality of certain example embodiments may be performed as routine(s), which may be implemented as added or updated software routine(s). Software routine(s) may be downloaded into the apparatus.

[0092] As an example, software or a computer program code or portions of it may be in a source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, distribution medium, or computer readable medium, which may be any entity or device capable of carrying the program. Such carriers may include a record medium, computer memory, read-only memory, photoelectrical and / or electrical carrier signal, telecommunications signal, and software distribution package, for example. Depending on the processing power needed, the computer program may be executed in a single electronic digital computer, or it may be distributed amongst a number of computers. The computer readable medium or computer readable storage medium may be a non-transitory medium.

[0093] In other example embodiments, the functionality may be performed by hardware or circuitry included in an apparatus (e.g., apparatus 10 or apparatus 20), for example through the use of an application specific integrated circuit (ASIC), a programmable gate array (PGA), a field programmable gate array (FPGA), or any other combination of hardware and software. In yet another example embodiment, the functionality may be implemented as a signal, a non-tangible means that can be carried by an electromagnetic signal downloaded from the Internet or other network.

[0094] According to certain example embodiments, an apparatus, such as a node, device, or a corresponding component, may be configured as circuitry, a computer or a microprocessor, such as single-chip computer element, or as a chipset, including at least a memory for providing storage capacity used for arithmetic operation and an operation processor for executing the arithmetic operation.

[0095] One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with procedures in a different order, and / or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these example embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of example embodiments. Although the above embodiments refer to 5G NR and LTE technology, the above embodiments may also apply to any other present or future 3 GPP technology, such as LTE -advanced, fourth generation (4G) technology, sixth generation (6G) technology, seventh generation (7G) technology, etc. Partial Glossary:

[0096] 3GPP 3rd Generation Partnership Project

[0097] 5G 5th Generation

[0098] 5GCN 5G Core Network

[0099] BS Base Station DL Downlink eNB Enhanced Node B gNB 5G or Next Generation NodeB

[0100] LTE Long Term Evolution

[0101] NR New Radio SoC System on Chip

[0102] UE User Equipment

Claims

CLAIMS:

1. A method comprising: determining compute utilization parameters for a user equipment implementing machine learning features; transmitting the compute utilization parameters to the user equipment; and transmitting an instruction message indicating to activate or deactivate or modify a machine learning feature on the user equipment based on a compute utilization indication received from the user equipment.

2. The method of claim 1, further comprising: receiving from the user equipment a capability indication indicating that the user equipment supports reporting the compute utilization indication.

3. The method of claims 1 or 2, further comprising: determining to activate, deactivate, or modify the machine learning feature, wherein the determining the compute utilization parameters is based on the determination to activate, deactivate, or modify the machine learning feature.

4. The method of any of claims 1-3, wherein the compute utilization parameters comprise at least one compute utilization weight, and a time period.

5. The method of claim 4, wherein the compute utilization parameters further comprise at least one compute utilization threshold.

6. The method of claim 5, wherein the compute utilization indication is a compute utilization category based on the at least one compute utilization threshold.

7. The method of any of claims 1-6, further comprising:determining at least one compute utilization threshold value based on the compute utilization indication received from the user equipment; and transmitting the at least one compute utilization threshold value to the user equipment.

8. A method comprising: determining a compute utilization indication based on compute utilization parameters received from a network element; reporting the compute utilization indication to the network element; and activating, deactivating, or modifying a machine learning feature on the apparatus based on an instruction message from the network element.

9. The method of claim 8, further comprising: transmitting a capability indication indicating that the apparatus supports reporting the compute utilization indication.

10. The method of claims 8 or 9, further comprising: calculating the compute utilization indication based on the compute utilization parameters received from a network element; and transmitting the compute utilization indication to the network element, wherein the compute utilization indication is further determined based on a at least one compute utilization threshold received from the network element.

11. The method of any of claims 8-10, wherein the compute utilization parameters comprise at least one compute utilization weight, and a time period.

12. The method of claim 11, wherein the compute utilization parameters further comprise at least one compute utilization threshold.

13. The method of claim 12, wherein the compute utilization indication is a compute utilization category based on the at least one compute utilization threshold.

14. The method of claim 13, further comprising: determine to report the compute utilization indication based on the at least one compute utilization threshold.

15. The method of any of claims 8-14, further comprising: determining a compute utilization indication and report the compute utilization indication periodically.

16. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform a method according to any of claims 1-15.

17. An apparatus comprising: means for performing a method according to any of claims 1-15.

18. A non-transitory computer readable medium comprising program instructions stored thereon that, when executed by an apparatus, cause the apparatus to perform at least a method according to any of claims 1-15.

19. A computer program comprising instructions, which, when executed by an apparatus, cause the apparatus to perform a method of any of claims 1-15.

Citation Information

Patent Citations

  • Enhanced collaboration between user equpiment and network to facilitate machine learning

    WO2022235525A1