Patent Description:
In particular, at least some embodiments relate to Cognitive Autonomous Networks (CAN) in <NUM> (radio access) networks and other (future) generations of wireless/mobile networks and specifically, the use of intents in managing networks.

Owing to the complexity of networks, there is always push for more automation and abstraction. One recent solution for the abstraction is through the use of intents in what may be termed Intent-Based Networking (IBN). Therein, the network should be able to respond to user's or operator's intents without the user/operator specifying the technical details of how his intended outcome may be realized. Although the IBN concept is widely discussed, it remains open how an intent may be fulfilled.

Reference [<NUM>] proposes an intent refinement process with a chatbot that is trained using machine learning to capture intents from Google® assistant to assist non-expert users to configure their home networks. Mobile communication networks are however very complex to use a simple chatbot. A more comprehensive intent capture platform is required.

"<NPL>) identifes several use cases in the context of industrial networks that can potentially benefit from IBN.

<CIT> discloses a system including multiple artificial intelligence skill agents that have each been trained to perform different actions in a telecommunications system. The system also includes an orchestrator agent that interacts with each of the artificial intelligence skill agents and coordinates which of the artificial intelligence agents performs actions in response to user inputs. The orchestrator agent receives a user input and determines an intent expressed by the user input. The orchestrator agent transmits an instruction to an artificial intelligence skill agent to perform an action that provides a response to the intent. In response to receiving the instruction from the orchestrator agent, the artificial intelligence skill agent performs the action when the artificial intelligence skill agent is capable of carrying out the action.

At least some embodiments aim at overcoming the above drawbacks.

According to at least some embodiments, an apparatus and a method for fulfilling user or operator specified intents within automated control of communication networks are provided according to independent claims.

In the following, example embodiments and example implementations will be described with reference to the accompanying drawings.

In the following, example embodiments and example implementations of an intent fulfillment system, an intent fulfillment apparatus and an intent fulfillment method will be described.

As mentioned above, in Intent-Based Networking (IBN), the network should be able to respond to user's or operator's intents without the user/operator specifying the technical details of how the intended outcome may be realized.

From an operator's perspective there can be very many kinds of intents, from simple intents that can be fulfilled with a single command sent to a specific network object to very complex intents that include multiple network nodes and several commands on several network objects. Example intents for example include:.

As stated above, in a typical communication network, there can be many kinds of intents. For an intent system, a means is required to fulfill an intent that is specified by an operator or system user.

In general, and as illustrated in <FIG>, a user has access to an intent specification platform (ISP) <NUM> of a high-level intent system. Using the ISP <NUM>, the user specifies an intent to be executed.

The intent which regards control of communication networks is specified using a syntax which comprises at least a control object of the communication networks and a verb which indicates what action to do with the control object. For example, the syntax further comprises at least one of: a context and one or more parameters, wherein the context and the one or more parameters indicate with what parameters and under what conditions the action is to be done. For example, the syntax for specifying network control intents (e.g. network management intents) captures what needs to be done, where, with what parameters and under what conditions it should be done.

For example, the ISP <NUM> comprises interfaces <NUM> and mechanisms for submitting intents, e.g. GUI <NUM>, CLI <NUM>, means for inputting a text string <NUM> and/or means for inputting an audio command <NUM>.

For example, the ISP <NUM> provides for mechanisms (e.g. parsers) <NUM> for recognizing and parsing user input for implicit intents into a network management intent, i.e. identifying the different fields in the input string/audio in line with the defined syntax. According to at least some embodiments, the input is received from different user interfaces <NUM> and mechanisms including CLI <NUM>, GUI <NUM> (e.g. drop downs). The parsers <NUM> parse the input to identify the different intent-related fields therein that match the defined syntax.

For example, the ISP <NUM> comprises a mechanism <NUM> for enforcing syntax rules and checking for correctness and completeness of the specified intent, and an authenticator <NUM> to authenticate a user for the right to execute a specific intent.

For example, an intent specification interface <NUM> is used for exchanging information with an intent fulfillment system <NUM> e.g. to send an intent for execution to the intent fulfillment system <NUM> or to receive reports on the success of the execution from the intent fulfillment system <NUM>. The intent fulfillment system <NUM> is connected to network functions and processes <NUM>.

The outcome of the intent specification platform <NUM> will be a hash function that describes the intent to be fulfilled, similar to the hash function for specifying an intent indicated by Expression (<NUM>) below:
<IMG>.

Such a hash function specifies the verb to be executed and the object on which it should be executed. For example, the hash function also includes the context and parameters as optional information. For example, for the intents <NUM>-<NUM> listed above, the intent specifications are similar to the entries in Table <NUM> as shown below, illustrating an example specification of network management intents.

According to at least some example embodiments, an apparatus and a method for fulfilling user or operator intents using Intent Logic Units (ILU) are provided. For example, the ILUs are stored in an Intent Logic Library (ILL).

<FIG> shows a flowchart illustrating an intent fulfillment method according to at least some example embodiments.

At S201 of <FIG>, for an intent to be executed, at least one intent logic unit (ILU) is acquired out of a plurality of intent logic units. For example, the plurality of ILUs is stored in an ILL. The intent regards control of communication networks. The intent logic units comprise logic or command sequences to be executed for achieving intents regarding control of the communication networks.

At S203, execution of the at least one intent logic unit is scheduled in order to activate actions according to the at least one intent logic unit on the communication networks. Then, the intent fulfillment method of <FIG> ends.

<FIG> illustrates an intent system comprising an intent fulfillment system which includes an intent-logic library (ILL) <NUM> and an intent-logic execution platform <NUM> according to at least some example embodiments.

According to at least some example embodiments, an apparatus for fulfilling user or operator intents comprises or is part of the intent-logic execution platform <NUM> which is connected to the ILL <NUM> via an interface <NUM>.

According to an example implementation, the apparatus comprises the ILL. According to another example implementation, the ILL is provided separately from the apparatus.

The intent-logic execution platform <NUM> is connected to an ISP (e.g. the ISP shown in <FIG>) <NUM> via interface <NUM>, and with user interfaces <NUM> via an interface <NUM>. For example, the user interfaces <NUM> comprise interfaces <NUM>-<NUM> shown in <FIG>.

Further, the intent-logic execution platform <NUM> is connected to network functions and processes <NUM> of communication networks.

According to at least some example embodiments, an intent logic unit of the plurality of intent logic units is a wrapper around logic or command sequences required to be executed for achieving a specific intent regarding control of the communication networks (e.g. the network functions and processes <NUM>). For example, each ILU is a wrapper around the logic or command sequences that need to be executed to achieve a specific intent.

According to at least some example embodiments, the intent logic unit comprises the logic or command sequences to be executed and further comprises at least one of an identifier, a name and a description which is understandable by a user. For example, each ILU is mandatorily characterized by: an identifier; a name and the logic or command sequences to be executed. For example, each ILU further has a description intended for human users who may either want to revise, reuse or remove the ILU.

According to at least some example embodiments, the scheduling execution at S203 in <FIG> comprises immediately executing the at least one intent logic unit, or executing the at least one intent logic unit at a later time.

According to at least some example embodiments, the acquiring at S201 in <FIG> comprises searching the above-mentioned intent logic library <NUM> storing the plurality of intent logic units to find the at least one intent logic unit comprising logic or command sequences to be executed for achieving the intent. For example, the ILL <NUM> is a database/catalogue of ILUs that can be searched to find the appropriate ILU for a given intent.

According to at least some example embodiments, the method illustrated in <FIG> further comprises, following S203, checking if the intent has been fulfilled by its execution. In case the intent has not been fulfilled, the at least one intent logic unit is deleted from the intent logic library <NUM>.

According to at least some example embodiments, at S201 in <FIG>, for the intent to be executed, two or more intent logic units are acquired out of the plurality of intent logic units, and the two or more intent logic units are combined into another intent logic unit comprising logic or command sequences to be executed for achieving the intent. Then, at S203, execution of the other intent logic unit is scheduled for activating the other intent logic unit on the communication networks.

According to at least some example embodiments, the method illustrated in <FIG> further comprises, following S203, checking if the intent has been fulfilled by its execution. In case the intent has been fulfilled, the other intent logic unit is added to the intent logic library <NUM>.

According to at least some example embodiments, the method illustrated in <FIG> is implemented in the intent-logic execution platform <NUM>. For example, intent execution is fulfilled via the Intent-Logic Execution Platform (ILEP) <NUM> that identifies the appropriate logic and executes it onto the network or its objects.

According to at least some example embodiments, at least some of the plurality of intent logic units are manually written intent logic units. For example, ILUs are written manually by a system manufacturer and operators.

According to at least some example embodiments, at least some of the plurality of intent logic units are learned intent logic units. For example, ILUs are learned by the system illustrated in <FIG>.

According to at least some example embodiments, S201 of <FIG> comprises sending at least one message towards a user.

According to at least some example embodiments, S203 of <FIG> comprises sending at least one message to the communication networks.

According to at least some example embodiments, the method of <FIG> further comprises receiving at least one message from the communication networks.

According to at least some example embodiments, the at least one message sent towards the user indicates that the intent to be executed is incomplete or incorrect.

According to at least some example embodiments, the at least one message sent towards the user indicates success or failure of the execution of the intent.

According to at least some example embodiments, the at least one message sent towards the user indicates failure of the execution of the intent including a reason for the failure.

According to at least some example embodiments, the at least one message sent to the communication networks causes execution of the actions according to the at least one intent logic unit on the communication networks.

According to at least some example embodiments, the at least one message received from the communication networks indicates success or failure of the execution of the intent.

According to at least some example embodiments, the at least one message received from the communication networks indicates failure of the execution of the intent including a reason for the failure.

For example, messages are sent by the ILEP <NUM> to fulfil different aspects of the intent fulfillment method. Among these are messages sent to the network functions <NUM>, e.g. to execute the intent, and to the user e.g. via interface <NUM>, e.g. for response regarding syntax problems, or responses on success /failure of the intent execution with a respective reason where applicable.

For example, messages are received by the ILEP <NUM> to fulfil the aspects of the intent fulfillment method. Among these are messages received from the network functions regarding the success /failure of intent execution with the respective reason where applicable.

<FIG> shows a signaling diagram illustrating an intent fulfillment process according to at least some example embodiments.

Signaling in <FIG> is performed between ISP <NUM>, ILEP <NUM>, ILL <NUM> and network functions and processes <NUM>, such as depicted in <FIG>, for example.

At S00, the ILEP <NUM> receives a message from the ISP <NUM> e.g. via interface <NUM>, the message indicating that an intent x shall be executed. The intent x is specified as hash function as indicated by Expression (<NUM>) above.

At S01, the ILEP <NUM> checks completeness and correctness of the specification of intent x. For example, the ILEP confirms that for a verb stated in the specification of intent x applicable context and parameters are supplied.

At S02a, in case an inconsistence is found at S01, the ILEP <NUM> informs the ISP <NUM> by returning a message to the ISP <NUM> e.g. via interface <NUM>, which indicates an error. Otherwise, at S02b, the ILEP <NUM>, in a message sent to the ILL <NUM> via interface <NUM>, requests an ILU for intent x from the ILL <NUM>.

At S03, the ILL <NUM> searches for an ILU that matches the specification of intent x.

At S04, if an ILU matching the specification of intent x is found in the ILL <NUM>, in a message sent via interface <NUM>, the ILL <NUM> returns this ILU to the ILEP <NUM>. Otherwise, at S04, in a message sent via interface <NUM>, the ILL <NUM> returns a failure event to the ILEP <NUM>.

At S05a, if the ILU matching the specification of intent x is found in the ILL <NUM>, the ILEP <NUM> schedules execution of the ILU for activating actions according to the ILU on the network functions and processes <NUM>. For example, the ILEP <NUM> checks if the ILU can be immediately executed or if it has to wait and must be scheduled at a different time. The ILEP <NUM> schedules execution of the ILU by sending a message to the network functions and processes <NUM>.

At S06 following S05a, the ILU found in the ILL <NUM> is activated on the network functions and processes <NUM>.

At S07, the ILEP <NUM> evaluates the outcome of the ILU activation to confirm that the intent is achieved.

At S08a, if the ILU obtained from the ILL <NUM> does not fulfill the intent x, the ILEP <NUM> deletes this ILU from the ILL <NUM> or marks it as ineffective, by sending a message via interface <NUM>.

Above described procedures S05a, S06, S07 and S08a form a process flow A.

At S05b, if an ILU matching the specification of intent x is not found in the ILL <NUM>, the ILEP <NUM> determines which ILUs (e.g. ILUs stored in the ILL <NUM>) can be combined to achieve intent x.

At S05b1, if such combined ILU cannot be constructed the ILEP <NUM> returns an execution failure to the ISP <NUM> by sending a message via interface <NUM>. Otherwise, if such combined ILU can be constructed, at S05b2, the ILEP <NUM> schedules its execution by sending a message to the network functions and processes <NUM>.

At S06 following S05b2, the combined ILU is activated on the network functions and processes <NUM>.

At S07, the ILEP <NUM> evaluates the outcome of the combined ILU activation to confirm that the intent is achieved.

At S08b, if the combined ILU is applied and intent x is achieved, the ILEP <NUM> adds the combined ILU to the ILL <NUM> as new ILU for intent x, by sending a message via interface <NUM>.

Above described procedures S05b, S05b1, S05b2, S06, S07 and S08b form a process flow B.

As example application of an intent fulfillment system <NUM> according to at least some example embodiments, as illustrated in <FIG> to be described later on, the operator wishes to adjust Traffic Steering (TS) characteristics and/ or behavior (see reference [<NUM>] for a discussion on TS). This example assumes that there are other automation functions alongside TS, including energy saving, carrier aggregation, etc., as indicated by block <NUM> in <FIG>.

The traffic steering feature, as summarized by <FIG>, is very complicated, so it is a good candidate for intent based network control operations. The operator may wish to readjust the traffic steering behavior without looking into the specific details and options of the traffic steering feature(s). The configuration options are too many and complicated, so the intent-based control should abstract the complexity and simplify the operator actions through the intent system comprising an ISP <NUM> and the intent fulfillment system <NUM> according to at least some example embodiments. For example, the intent fulfillment system <NUM> shown in <FIG> comprises the ILEP <NUM> and the ILL <NUM> of <FIG>.

In general, traffic steering related intents rely on multiple automation/SON or network functions as represented by <FIG>. It is noted that in <FIG> similar reference signs are used to refer to elements similar to those shown in <FIG>. In particular, the intent fulfillment system <NUM> comprises traffic steering intent execution logic. Network functions and processes <NUM> comprise energy savings, carrier aggregation, traffic steering, load balancing and handover optimization.

For example, three traffic steering-related intents are defined and utilized:.

For example, the corresponding TS related intents, respectively called Urban_TS, ESM_TS and Flexible_TS, then are described as follows:.

Given the above description, example specifications according to the vocabulary of the ISP <NUM> for the three intents are as described by Table <NUM> which indicates elements of intent instances in intent catalogue <NUM>:.

As shown in Table <NUM>, as "action", the intents "Urban_TS", "ESM_TS" and "Flexible_TS" are declared as specifications according to the vocabulary of the ISP <NUM>.

The contents of these specifications are then the ILUs which are stored in the ILL <NUM>, and are to be executed when called by the ILEP <NUM>. For example, the ILUs are described as shown in Table <NUM> illustrating example ILUs for the three TS regimes:.

According to Table <NUM>, the ILUs to be executed for the intents "Urban_TS" and "ESM_TS" are called by the ILEP <NUM> in case a TS cell x is changed to urban to ensure that for the TS cell x the TS setting matches an urban cell.

Further, the ILU to be executed for the intent "Urban_TS" is called by the ILEP <NUM> in case a cell x is set to an urban cell. With x set as an urban cell, the traffic steering characteristics should match those of an urban cell, so Urban_TS should be executed on cell x.

The ILU to be executed for the intent "ESM_TS" is called by the ILEP <NUM> in case a TS cell x is changed to rural to set TS to prioritize ESM against overload for cell x.

The ILU to be executed for the intent "Flexible_TS" is called by the ILEP <NUM> in case a TS cell x is changed to urban.

The intent fulfillment system <NUM>, in particular the ILEP <NUM>, allows network operators to run their intents without having to specify the details on how those intents should be fulfilled. The intent fulfillment system <NUM>, in particular the ILEP <NUM>, allows intents specified on one vendor's system to be executed or fulfilled on another vendor's system using a simple interface between the two systems.

Now reference is made to <FIG>, illustrating a simplified block diagram of a control unit <NUM> that is suitable for use in practicing at least some of the example embodiments.

According to at least some example embodiments, the control unit <NUM> implements at least one of hardware, software and firmware of the above-described intent fulfillment apparatus, e.g. the ILEP <NUM>, and intent fulfillment method, e.g. the method shown in <FIG>.

The control unit <NUM> comprises processing resources (e.g. processing circuitry) <NUM>, memory resources (e.g. memory circuitry) <NUM> and interfaces (e.g. interface circuitry) <NUM>, connected via a link <NUM>. At least some embodiments are implemented by the memory resources <NUM> storing a program which is executable by the processing resources <NUM>.

The terms "connected," "coupled," or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and, according to at least some embodiments, encompass the presence of one or more intermediate elements between two elements that are "connected" or "coupled" together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements are considered to be "connected" or "coupled" together by the use of one or more wires, cables and printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as non-limiting examples.

Further, as used in this application, the term "circuitry" refers to one or more or all of the following:.

According to at least some example embodiments, an apparatus is provided which comprises, for an intent to be executed, means for acquiring at least one intent logic unit out of a plurality of intent logic units, wherein the intent regards control of communication networks, and wherein the intent logic units comprise logic or command sequences to be executed for achieving intents regarding control of the communication networks, and means for scheduling execution of the at least one intent logic unit for activating actions according to the at least one intent logic unit on the communication networks.

According to an example implementation, the apparatus executed the method illustrated in <FIG>. Alternatively or in addition, the apparatus comprises and/or uses the control unit shown in <FIG>.

According to at least some example embodiments, the means for scheduling execution comprises means for immediately executing the at least one intent logic unit, or means for executing the at least one intent logic unit at a later time.

According to at least some example embodiments, the means for acquiring comprises means for searching an intent logic library storing the plurality of intent logic units to find the at least one intent logic unit comprising logic or command sequences to be executed for achieving the intent.

According to at least some example embodiments, the apparatus further comprises means for checking if the intent has been fulfilled by its execution, and means for, in case the intent has not been fulfilled, deleting the at least one intent logic unit from the intent logic library.

According to at least some example embodiments, the apparatus further comprises means for, for the intent to be executed, acquiring two or more intent logic units out of the plurality of intent logic units, and means for combining the two or more intent logic units into another intent logic unit comprising logic or command sequences to be executed for achieving the intent, wherein the means for scheduling execution comprises means for scheduling execution of the other intent logic unit for activating the other intent logic unit on the communication networks.

According to at least some example embodiments, the apparatus further comprises means for checking if the intent has been fulfilled by its execution, and means for, in case the intent has been fulfilled, adding the other intent logic unit to the intent logic library.

According to at least some example embodiments, the apparatus comprises an intent-logic execution platform.

According to at least some example embodiments, the means for acquiring comprises means for sending at least one message towards a user.

Claim 1:
An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to perform:
for an intent to be executed, acquiring at least one intent logic unit out of a plurality of intent logic units, wherein the intent regards control of communication networks, and wherein the intent logic units comprise logic or command sequences to be executed for achieving intents regarding control of the communication networks;
scheduling execution of the at least one intent logic unit for activating actions according to the at least one intent logic unit on the communication networks, and
the apparatus being characterized in that: wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to further perform:
for the intent to be executed, acquiring two or more intent logic units out of the plurality of intent logic units, and combining the two or more intent logic units into another intent logic unit comprising logic or command sequences to be executed for achieving the intent;
wherein the scheduling execution comprises:
scheduling execution of the other intent logic unit for activating the other intent logic unit on the communication networks;
checking if the intent has been fulfilled by its execution; and
in case the intent has been fulfilled, adding the other intent logic unit to an intent logic library (<NUM>).