Patent Description:
In wireless communications networks, machine learning algorithms can be executed by a consumer node and/or a producer node, for example at a radio access network (RAN) side, for example, at a network node or a base station, and at a user node side, for example, at a user equipment (UE). For example, the user equipment may have functionalities needed to provide machine learning based assistance to the RAN. These functionalities may consist of, for example, predictions (forecasts) of certain events such as a handover (HO), crossing reference symbol received power (RSRP) thresholds, quality of service (QoS) variations, mobility state change, etc. This forecast information then needs to be reported back to the serving gNB(s) to be used as input in radio resource management (RRM) algorithms and RRM actions.

In general, there is a need for a solution that would enable efficient configuration of the machine learning based assistance while at the same time keeping the signalling overhead at a low level between the consumer node and the producer node.

Document <CIT> discloses an expanded implementation of enhanced broadcast multicast services for broadcast multicast content selection and service.

There is provided an example embodiment of a method as detailed according to claim <NUM>. Further, there is provided an example embodiment of a method as detailed according to claim <NUM>. In addition, there is provided an example embodiment of a method according to claim <NUM>. Moreover, there is provided an example embodiment of a method according to claim <NUM>.

There is provided an example embodiment of a network node as detailed according to claim <NUM>. Further, there is provided an example embodiment of a network node as detailed according to claim <NUM>. In addition, there is provided an example embodiment of a user node according to claim <NUM>. Moreover, there is provided an example embodiment of a user node according to claim <NUM>.

An example embodiment of a computer program comprises instructions for causing an apparatus to perform the method of any of the above example embodiments.

Further advantageous developments are defined in the respective dependent claims <NUM>, <NUM> to <NUM>, <NUM> and <NUM>.

The accompanying drawings, which are included to provide a further understanding of the embodiments and constitute a part of this specification, illustrate embodiments and together with the description help to explain the principles of the embodiments. In the drawings:.

The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.

As discussed herein, the term "producer node machine learning based assistance", "user node machine learning based assistance" or "machine learning based assistance" is used widely to refer to functionalities at the producer node, for example, a user node or any other network node, to provide machine learning (ML) based assistance associated with a network, for example, radio access network, cognitive radio and software defined radio solutions. Even if the example embodiments discussed herein may relate to a scenario in which the user node has the functionalities needed to provide ML-based assistance to the radio access network and where the functionalities may consist of, for example, predictions (forecasts) of certain events such as handover (HO), crossing reference symbol received power (RSRP) thresholds, quality of service variations, mobility state change, etc., these are only non-restrictive examples. Further, the employed ML algorithms providing/generating the user node machine learning based assistance information (for example, prediction of RSRP values, CSI, HO events) may have been optimized (trained and tested) under a comprehensive set of operating modes (input data) and may have the capability of delivering at least one of the typical ML/deep learning (DL)/artificial intelligence (AI) algorithm performance measures.

Further, as used herein, the labels "producer" and "consumer" may relate to machine learning prediction/inference.

<FIG> illustrates an example embodiment of the subject matter described herein illustrating a consumer node <NUM>.

The consumer node <NUM> comprises one or more processors <NUM>, and one or more memories <NUM> that comprise computer program code. The consumer node <NUM> may also include a transceiver <NUM>, as well as other elements, such as an input/output module (not shown in <FIG>), and/or a communication interface (not shown in <FIG>).

Although the consumer node <NUM> is depicted to include only one processor <NUM>, the consumer node <NUM> may include more than one processor. In an example embodiment, the memory <NUM> is capable of storing instructions, such as an operating system and/or various applications.

Furthermore, the processor <NUM> is capable of executing the stored instructions. In an embodiment, the processor <NUM> may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core processors. For example, the processor <NUM> may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip (for example, a machine learning specific processor, for example, a tensor processing unit (TPU) etc.), or the like. In an embodiment, the processor <NUM> may be configured to execute hard-coded functionality. In an example embodiment, the processor <NUM> is embodied as an executor of software instructions, wherein the instructions may specifically configure the processor <NUM> to perform the algorithms and/or operations described herein when the instructions are executed.

The memory <NUM> may be embodied as one or more volatile memory devices, one or more non-volatile memory devices, and/or a combination of one or more volatile memory devices and non-volatile memory devices. For example, the memory <NUM> may be embodied as semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.).

The consumer node <NUM> may be, for example, a network node, a base station or any other network side node or apparatus providing wireless communication, for example, Long-Term Evolution (LTE) or <NUM> wireless communication.

The at least one memory <NUM> and the computer program code are configured to, with the at least one processor <NUM>, cause the consumer node <NUM> to at least perform receiving, from a user node, user node capabilities comprising a machine learning based assistance capability, the machine learning based assistance capability comprising machine learning based functionalities, each machine learning based functionality comprising a machine learning entity and at least one machine learning mode associated with the machine learning entity.

Further, any combination of the illustrated components disclosed in <FIG>, for example, at least one of the processor <NUM>, the memory <NUM> and the transceiver <NUM> may constitute means for receiving, from a user node, user node capabilities comprising a machine learning based assistance capability, the machine learning based assistance capability comprising machine learning based functionalities, each machine learning based functionality comprising a machine learning entity and at least one machine learning mode associated with the machine learning entity.

<FIG> illustrates an example embodiment of the subject matter described herein illustrating a producer node <NUM>.

The producer node <NUM> comprises one or more processors <NUM>, and one or more memories <NUM> that comprise computer program code. The producer node <NUM> may also include a transceiver <NUM>, as well as other elements, such as an input/output module (not shown in <FIG>), and/or a communication interface (not shown in <FIG>).

Although the producer node <NUM> is depicted to include only one processor <NUM>, the producer node <NUM> may include more than one processor. In an example embodiment, the memory <NUM> is capable of storing instructions, such as an operating system and/or various applications.

Furthermore, the processor <NUM> is capable of executing the stored instructions. In an embodiment, the processor <NUM> may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core processors. For example, the processor <NUM> may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In an embodiment, the processor <NUM> may be configured to execute hard-coded functionality. In an example embodiment, the processor <NUM> is embodied as an executor of software instructions, wherein the instructions may specifically configure the processor <NUM> to perform the algorithms and/or operations described herein when the instructions are executed.

The producer node <NUM> may be, for example, a user node or a user equipment or any other type of devices used by an end user and capable of communication in a wireless network. Such devices include but are not limited to smartphones, tablet computers, smart watches, laptop computers, Internet-of-Things (IoT) devices, hand-held or portable devices etc..

The at least one memory <NUM> and the computer program code are configured to, with the at least one processor <NUM>, cause the producer node <NUM> to at least perform identifying user node capabilities comprising a machine learning based assistance capability, the machine learning based assistance capability comprising machine learning based functionalities, each machine learning based functionality comprising a machine learning entity and at least one machine learning mode associated with the machine learning entity; and causing transmission of the user node capabilities to a network node.

Further, any combination of the illustrated components disclosed in <FIG>, for example, at least one of the processor <NUM>, the memory <NUM> and the transceiver <NUM> may constitute means for identifying user node capabilities comprising a machine learning based assistance capability, the machine learning based assistance capability comprising machine learning based functionalities, each machine learning based functionality comprising a machine learning entity and at least one machine learning mode associated with the machine learning entity; and means for causing transmission of the user node capabilities to a network node.

<FIG> illustrates an example embodiment of a structure of a producer node machine learning based assistance capability <NUM>. In an example embodiment, the producer node may be configured to provide machine learning based assistance to a consumer node and expose its machine learning based assistance capability to the consumer node by using the producer node machine learning based assistance capability <NUM>. The producer node machine learning based assistance capability <NUM> may be stored in a memory <NUM> of the producer node.

The producer node machine learning based assistance capability <NUM> comprises machine learning based functionalities 302A, 302B, 302C. Each machine learning based functionality 302A, 302B, 302C comprises a machine learning entity 304A, 304B, 304C and at least one machine learning mode 306A, 306B, 306C, 306D, 306E associated with the machine learning entity 304A, 304B, 304C.

As an example, the machine learning entity 304A may be associated with handover (HO) prediction. Two machine-learning modes 306A, 306B have been associated with the machine learning entity 304A. The first machine-learning mode 306A may be associated with, for example, <NUM> ahead HO prediction with <NUM>% accuracy. The second machine-learning mode 306B may be a fallback operating mode which can be applied is case the first machine-learning mode 306A is not available. In this example, the second machine-learning mode 306B, i.e. the fallback operating mode, is associated with <NUM> ahead HO predictions with <NUM>% accuracy.

As an example, the machine learning entity 304B may be associated with quality of service (QoS) prediction. Two machine-learning modes 306C, 306D have been associated with the machine learning entity 304B. At least one machine learning mode 306C, 306D may be associated with the machine learning entity 304B. The machine-learning mode 306D may be a fallback operating mode which can be applied is case the machine-learning mode 306C is not available or cannot otherwise be used.

As another example, the producer node machine learning based assistance capability <NUM> may comprise also a machine learning based functionality 302A comprising a machine learning mode 306E associated only with one machine learning entity 302C.

Relating generally to fallback operating modes, at least one fallback operating mode may be configured to be used when none of the configured user node machine learning based primary modes can be used. This may happen, for example, when they are not available, no input available/deactivated, there are measurement or connectivity errors etc. The at least one fallback operating mode may comprise, for example, one of the following:.

<FIG> illustrates an example embodiment of a machine learning functional architecture. <FIG> illustrates a simplified example where both the Radio Access Network (RAN), for example, a gNB <NUM> and a user equipment (UE) <NUM> have machine learning based functionalities, i.e. training <NUM>, <NUM> and inference <NUM>, <NUM>. The training <NUM>, <NUM> and inference <NUM>, <NUM> functionalities are separated to illustrate that these can be generally decoupled and be active either in parallel or at different time instances. In this context, training may mean, for example, that the (hyper) parameters of the machine learning algorithm are being learned, tested and validated. Inference implies that data-driven predictions or decisions are taking place.

The control-feedback message loop illustrated in <FIG> comprises delivering configuration of the machine learning based functionality(ies) and reporting of inference results. In an example embodiment, this may be a generic and minimum set of information which needs to be exchanged between the gNB <NUM> and the UE <NUM>. The configuration of the machine learning based functionality(ies) may comprise, for example, selection of the machine learning model and layers architecture, potentially initializing weights, (hyper) parameters, selecting activation functions etc.). The gNB <NUM> and UE <NUM> can both be a source and a target of such messages.

<FIG> illustrates an example embodiment of signaling where a consumer node <NUM> activates a specific machine learning based functionality in a producer node <NUM>. The producer node <NUM> may be configured to provide machine learning based assistance to the consumer node <NUM>. In this example embodiment, the consumer node <NUM> is a network node, for example, a gNB and the producer node <NUM> is a user node, for example, a user equipment. It is evident that in other environments the actual nodes may be different.

At <NUM> the user node <NUM> exposes its machine learning based assistance capability to the network node <NUM>. The machine learning based assistance capability may comprise machine learning based functionalities where each machine learning based functionality comprises a machine learning entity and at least one machine learning mode associated with the machine learning entity. The machine learning based functionalities, machine learning entities and machine learning modes have been discussed in more detail in relation to <FIG>.

At <NUM> an initial exploration and tuning of the machine learning based functionalities within the machine learning based assistance capability may be performed. In this phase some of the machine learning entities can be directly or indirectly provided by the network in the form of generic description, such as containerized implementation, etc. In an example embodiment, control signaling to perform this phase can be partly specific to the exact definition of the machine learning based assistance capability and machine learning based functionalities within the assistance capability.

At <NUM> the network node <NUM> may be configured to select an available machine learning based functionality. In the selecting, the network node <NUM> may make use of the knowledge about the machine learning based assistance capability information received from the user node <NUM>.

At <NUM> the network node <NUM> may send an activation request to the user node <NUM> to activate one or more of the machine learning based functionalities among the machine learning based functionalities (machine learning entity - machine learning mode) received from the user node <NUM> according to is radio resource management (RRM) needs.

At <NUM> the user node <NUM> is configured to determine whether the requested machine learning based functionality is available.

At <NUM> the user node <NUM> is configured to transmit an activation reply to the network node <NUM>. The user node <NUM> replies to the network node <NUM>, for example, based on machine learning processing resources availability or radio measurement/conditions detection, indicating whether it is possible to make use of the requested machine learning based functionalities. If it is not possible to make use of the requested machine learning based functionalities, the user node <NUM> may indicate a cause for this in the activation reply <NUM>. For example, the user node <NUM> may indicate an alternative preferred machine learning based functionality to be considered. As another example, the user node <NUM> may indicate that a fallback operating mode included in the machine learning based functionalities is to be used. As another example, the user node <NUM> may indicate that is does not have enough battery power to run the assistance algorithm. As another example, the user node <NUM> may indicate that is has detected a significant change in the channel radio conditions, i.e. the channel conditions have significantly changed from the trained model and the accuracy of the machine learning based assistance/inference is not within a target range.

If the user node <NUM> acknowledges the activation request in the activation reply, the network node <NUM> enables the corresponding (specific) inference reporting scheme. The network node <NUM> may also provide the user node <NUM> with additional configuration information in a machine learning inference reporting configuration message <NUM>, for example, one or more of the following:.

At <NUM>, the user node <NUM> may send periodic user node inference reports to the network node <NUM> in accordance with the requested or set machine learning based functionality <NUM>. At <NUM> the network node <NUM> may continuously monitor the quality of the inference reports from each activated machine learning based functionality.

<FIG> illustrates an example embodiment of signaling where the producer node <NUM> requests activation of a machine learning based functionality. The producer node <NUM> may be configured to provide machine learning based assistance to the consumer node <NUM>. In this example embodiment, the consumer node <NUM> is a network node, for example, a gNB and the producer node <NUM> is a user node, for example, a user equipment. It is evident that in other environments the actual nodes may be different.

A box <NUM> indicates that at a specific period of time, the network node <NUM> does not need the available machine learning based functionalities.

At <NUM> the user node detects that machine learning based assistance is needed.

At <NUM> the user node <NUM> is configured to send a machine learning based assistance activation request to the network node <NUM>. The request may request activation of one or more of the machine learning based functionalities among the exposed machine learning based functionalities at <NUM>. The machine learning based assistance activation request <NUM> may or may not comprise an explicit cause indication.

At <NUM> the network node <NUM> may be configured to send a machine learning based functionality activation reply to the user node <NUM>. The reply acts as an acknowledgement for the activation request <NUM>. It may also comprise inference reporting configuration information for the user node <NUM>.

<FIG> illustrates an example embodiment of signaling where the producer node <NUM> requests deactivation of a currently used machine learning based functionality. The producer node <NUM> may be configured to provide machine learning based assistance to the consumer node <NUM>. In this example embodiment, the consumer node <NUM> is a network node, for example, a gNB and the producer node <NUM> is a user node, for example, a user equipment. It is evident that in other environments the actual nodes may be different.

In case the user node detects that the machine learning based assistance should be changed at <NUM>, the user node <NUM> may be configured to send a change request <NUM> to the network node to deactivate or switch the inference reporting. The change request <NUM> may also provide an indication about the cause of the deactivation. The indicated cause may comprise, for example, one of the following:.

The network node <NUM> may be configured to send, in response to the change request <NUM>, a machine learning functionality deactivation reply <NUM> to the user node <NUM>. The machine learning functionality deactivation reply <NUM> provides to the user node <NUM> a confirmation of the deactivated machine learning based assistance and reporting. In an example embodiment, the state of the deactivated inference reports may be valid for a given time period/window or until enabled again by the network node <NUM>.

At <NUM> the network node de-configures/de-allocates the user node inference reporting resources.

<FIG> illustrates an example embodiment of signaling where the consumer node <NUM> requests deactivation of a currently used machine learning based functionality in the producer node (UE). The producer node <NUM> may be configured to provide machine learning based assistance to the consumer node <NUM>. In this example embodiment, the consumer node <NUM> is a network node, for example, a gNB and the producer node <NUM> is a user node, for example, a user equipment. It is evident that in other environments the actual nodes may be different.

At <NUM> the network node <NUM> is configured to detect that the machine learning based assistance should be stopped. In an example embodiment, the machine learning assistance might not be needed (i.e. it can be stopped), for example, when:.

At <NUM> the network node <NUM> is configured to send a machine learning assistance change request to the user node <NUM>. The change request <NUM> requests the user node to deactivate or change the currently user machine learning based functionality or functionalities and corresponding inference reporting. The change request <NUM> may also indicate a cause for the deactivation, for example, one of the following:.

At <NUM> the user node <NUM> may be configured to send a machine learning assistance activation reply <NUM> to the network node <NUM>. The reply may comprise, for example, an acknowledgement of the change request <NUM>. In an example embodiment, the acknowledgement can be used by the network node <NUM> to reconfigure its own algorithms, disable reporting, etc. In case of negative acknowledgement (NACK) (for example, the user node <NUM> cannot disable the specified machine learning assistance mode because of some reason), the network node <NUM> might still decide to disable/deconfigure the associated reporting, but in the same time use the information in future signaling with the same user node <NUM> (for example, when there is no need to activate the specific machine learning assistance mode anymore).

In case of a "switch to X" or "reset" signal indicated at <NUM>, at <NUM> the network node <NUM> may be configured to send a machine learning inference reporting configuration message to the user node <NUM>. The configuration message may instruct the user node <NUM> to reconfigure its inference reporting to the network node <NUM>. In response to the configuration message at <NUM>, the user node <NUM> is configured to again start sending periodic user node inference reports to the network node <NUM> in accordance with the requested or set machine learning based functionality <NUM>. At <NUM> the network node <NUM> may continuously monitor the quality of the inference reports from each activated machine learning based functionality.

<FIG> illustrates an example embodiment of signaling where the consumer node <NUM> deactivates with a pause command aa currently used machine learning based functionality in the producer node. The producer node <NUM> may be configured to provide machine learning based assistance to the consumer node <NUM>. In this example embodiment, the consumer node <NUM> is a network node, for example, a gNB and the producer node <NUM> is a user node, for example, a user equipment. It is evident that in other environments the actual nodes may be different.

At <NUM> the network node <NUM> is configured to detect that the machine learning based assistance should be stopped.

At <NUM> the network node <NUM> is configured to send a machine learning assistance change request comprising a pause indication to the user node <NUM>. The pause indication may comprise a time period value <NUM> during which the current machine learning based assistance is not needed.

When the time period <NUM> has expired, the user node <NUM> may be configured to again start sending periodic user node inference reports to the network node <NUM> in accordance with the earlier requested or set machine learning based functionality <NUM>. At <NUM> the network node <NUM> may continuously monitor the quality of the inference reports from each activated machine learning based functionality.

One or more of the illustrated example embodiments may enable a solution where combination of network node and user node inference is possible. Further, one or more of the illustrated example embodiments may enable a solution where part of the machine learning based control may be delegated to the user node. This may enable a better use of the available user node radio information. Further, user node quality monitoring of the inference results can be performed at both the user node and the network node, potentially with different time granularities and independent algorithms. Further, one or more of the illustrated example embodiments may enable a solution where the signaling load is reduced. The solution may enable a better use of the available user node machine learning capabilities without the need for explicit signaling for each machine learning based functionality configuration and/or change.

The example embodiments illustrated above may be performed by a user node, for example, a user equipment and/or a network node, for example, a base station. Further, a computer program comprising instructions for causing an apparatus to perform, may perform the illustrated example embodiments.

The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the embodiments described above may be combined with aspects of any of the other embodiments described to form further embodiments without losing the effect sought.

Claim 1:
A method comprising:
receiving at a radio access network, RAN, side at a network node (<NUM>), from a user node (<NUM>), user node capabilities comprising a machine learning based assistance capability (<NUM>), the machine learning based assistance capability (<NUM>) comprising machine learning based functionalities (302A, 302B, 302C), characterized by each machine learning based functionality (302A, 302B, 302C) comprising a machine learning entity (304A, 304B, 304C) and at least one machine learning mode (306A, 306B, 306C, 306D, 306E) associated with the machine learning entity (304A, 304B, 304C),
the method further comprising:
selecting at least one machine learning based functionality (302A, 302B, 302C) among the machine learning based functionalities (302A, 302B, 302C); and
causing transmission of an activation request to activate the selected at least one machine learning based functionality (302A, 302B, 302C) to the user node (<NUM>).