Method to facilitate joint optimization of goals in autonomous systems
The method addresses instability in autonomous systems by predicting and prioritizing conflicting goals within autonomous systems, enabling joint optimization and stabilizing network performance.
Patent Information
- Application Number
- PCT/EP2023/077908
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-11
- Filing Date
- 2023-10-09
- Publication Date
- 2025-02-20
AI Technical Summary
In complex autonomous systems, multiple closed loops can lead to instability and sub-optimal performance due to conflicting actions across different loops, which are not effectively managed by existing technologies.
A method that predicts potentially conflicting goals by analyzing conflict scores and grouping them for prioritization, allowing proposing agents to jointly optimize subsets of goals and reduce conflicts.
This approach stabilizes the network state by merging conflicting loops, leading to globally optimal solutions and preventing ping-pong effects, while also addressing scalability issues.
Smart Images

Figure EP2023077908_20022025_PF_FP_ABST
Abstract
Description
METHOD TO FACILITATE JOINT OPTIMIZATION OF GOALS IN AUTONOMOUSSYSTEMSTECHNICAL FIELD
[0001] Disclosed are embodiments related to cognitive systems, closed loop design, conflict detection and resolution, and intent management.BACKGROUND
[0002] In complex autonomous systems, different closed loops are designed to detect and control different requirements of the same underlying system, such as key performance indicators (“KPIs”). In this scenario, an action proposed by one closed loop to satisfy a requirement might adversely affect the requirement managed by another closed loop, leading to instability or catastrophe in the system. Therefore, resolving and preventing inconsistent and conflicting actions of multiple closed loops is an important research challenge.
[0003] A typical closed loop is implemented using a variety of agents orchestrated through an intent manager framework, as shown in FIG. 1. FIG. 1 illustrates architecture for an intent manager framework 103 and closed loops agents 109, 111, 113, 115, and 117.
[0004] Closed loops are instantiated upon the reception of new intents 101. For each expectation of an intent 101, the intent manager 100 transforms the expectation into a KPI that must be fulfilled. Each KPI derived from an expectation has a closed loop responsible for its fulfillment. Each closed loop is composed of the following agents.
[0005] Data grounding agents 109 are responsible for querying the network environment 102, processing data, and storing the collected data into the knowledge base 107.
[0006] Goal generation agents detect or predict the violation of the KPI expectation associated with the loop and generate the goals to be achieved (this agent can be internal to the intent manager framework 103, and it is not shown in FIG. 1).
[0007] Proposal agents 111 recognize the issue to be solved and assign themselves to produce action proposals.
[0008] Prediction agents 113 estimate the effect of proposals before the proposed actions are potentially executed in the managed environment 102.
[0009] Evaluation agents 115 select which action is best to approve.
[0010] Actuator agents 117 enact actions previously approved in the environment 102.
[0011] FIG. 2 illustrates a multiple closed loops architecture with loops 201, 203, 205, and 207. Because expectations are specified for multiple KPIs, it is possible to instantiate multiple closed loops, each loop managing one or more KPIs (called local KPIs). In such a scenario, different loops may actuate different actions that are proposed to optimize the local KPIs. Note that because the set of local KPIs is small (maybe just a singleton), the implementation flow is very simple. It is also natural to expect that the problem is computationally more efficient than when there are a greater number of KPIs.
[0012] There are benefits as well as problems arising from multiple closed loops, such as shown in FIG. 2. On one hand, having multiple closed loops may be less complex, both conceptually and computationally. On the other hand, there are several problems arising from the fact that the underlying system for multiple loops is the same and the actions from a loop may affect the KPIs managed by another loop. For example, the action selection (i.e., resolution) at the evaluation stage is non-optimal. In fact, having multiple, egoistic proposals will lead the system toward only one of the globally sub-optimal proposed states. Having sub-optimal proposed actions may lead to ping-pong effects. In fact, the system might bounce between sub-optimal states and exhibit instability. Moreover, unless the proposal agents propose multiple solutions, it is not possible to address multiple issues at the same time. However, this may lead to a lot of combinations (with the hope of finding an optimal overall state) of local actions that might overload the system at the evaluation stage, causing scalability problems.
[0013] The problems with multiple loops as mentioned above and shown in FIG. 2 can be tackled in different ways. The first way is to ensure that negative side effects of actions cannot happen by designing a system such that requirements do not interfere. A second approach is to detect adverse effects at deployment time. This technique can be implemented by analyzing each requirement in the system and discarding those that may interfere with existing requirements. Both approaches can be implemented by modeling, at design time, all possible conflicts between different closed loops. However, while design time techniques, primarily proposed for self-organizing networks are feasible, they have the disadvantage of putting the burden on the system designer of being aware of all the relations between requirements.
[0014] One way of solving this problem can be to have a single loop managing all the KPIs of the system. FIG. 3 illustrates a single closed loop architecture with one loop 301. Whenever there areissues (i.e., violation of an expectation) with one or more KPIs, corresponding goals are presented as a single set so that a proposing agent can jointly optimize the set of KPIs. Such a joint optimization would lead the system to an optimal state (trade-off between requirements), provide a global solution at a time, avoid ping pong effects, and multiple issues can be handled with one solution.
[0015] The downside of joint optimization is that there may not be agents who can jointly optimize the KPIs and that the algorithms may turn out to be more complex, both conceptually and computationally. Also, if the single loops or issues are not leading to conflict, joint optimization turns out to be redundant and hence unnecessary overhead.
[0016] FIG. 4 illustrates suboptimal action proposals with multiple closed loops as compared to an action proposal with merged loops.SUMMARY
[0017] Aspects of the present disclosure provide a solution to the problems with the two static architectures shown in FIGs. 2-3. If a set of goals are presented to the proposing agents 111, the agents can automatically select subsets of goals according to their capability to propose actions that address the joint goals.
[0018] However, if there is no feedback on the impact of the proposed actions, the unilateral selection by proposing agents may not be effective in preventing or reducing the impact of conflicts. Therefore, if it can be predicted that a subset of goals can lead to actions that have more probability of conflict, then these goals can be jointly presented and prioritized for the proposing agents. Co-pending International Application PCT / TR2022 / 050335, filed on April 14, 2023 and which is hereby incorporated by reference, tackles the challenge of conflict detection between proposed actions in an intent-based system between multiple closed loops at run-time. In some embodiments, such conflict detection may be leveraged to predict possible conflict between goals in order to prioritize the subsets of goals for proposing agents.
[0019] Aspects of the present disclosure relate to prediction of possibly conflicting goals, which may be inferred from conflicting actions and traceability knowledge of “goals to actions." Aspects of the present disclosure further relate to grouping and prioritization of goals using conflict-scores between goals.
[0020] According to one aspect, a method performed by a node in a communications network to facilitate optimization of goals in the communications network is provided. The method includes obtaining a set of goals, wherein each goal corresponds to one or more actions to support an intent for a service in the communications network. The method includes obtaining conflict information, the conflict information comprising one or more conflict scores representing a degree of conflict between each pair of goals in the set of goals. The method includes grouping the set of goals into one or more groups based on the conflict feedback. The method includes outputting the one or more groups to one or more proposing agents, wherein each proposing agent proposes, based on the grouping, one or more actions to perform in the communications network to satisfy the intent.
[0021] In some embodiments, each goal in the set of goals corresponds to one or more key performance indicator, KPI, targets.
[0022] In some embodiments, the conflict information comprises a dependency graph, wherein each vertex in the dependency graph corresponds to a goal in the communications network and each edge between a respective first vertex and a respective second vertex in the dependency graph has a weight corresponding to a degree of conflict between the first vertex and the second vertex. In some embodiments, the dependency graph is a complete graph. In some embodiments, the dependency graph comprises a vertex for each possible goal in the communications network.
[0023] In some embodiments, the grouping is performed using hierarchical agglomerative clustering. In some embodiments, the method further includes determining a distance between each vertex in the dependency graph based on the weight of each edge in the dependency graph; generating a grouping tree based on the determined distance between each vertex; determining all candidate groups of one or more vertices using the grouping tree; and selecting a candidate group. In some embodiments, the selecting the candidate group is further based on a capability of the one or more proposing agents.
[0024] In some embodiments, the grouping comprises clustering the set of goals based on a capability of the one or more proposing agents.
[0025] In some embodiments, the method further includes obtaining a plurality of proposed actions from the one or more proposing agents; for each pair of proposed actions, detecting a probability of a conflict between a first action in the pair and a second action in the pair; and updating one or more of the conflict scores based on the probability of a conflict. In someembodiments, the method further includes adding the pair of proposed actions to the conflict information.
[0026] In some embodiments, the method further includes obtaining the conflict information from a second node.
[0027] In some embodiments, a first set of one or more goals in the set of goals corresponds to an intent for at least one of: Enhanced Mobile Broadband, eMBB, ultra-reliable low-latency communication, URLLC, massive machine-type communication, critical machine-type communication, extended and mixed reality, or energy efficiency.
[0028] In some embodiments, the method further includes: obtaining a second set of one or more conflict scores representing a degree of conflict between each pair of goals in the set of goals based on execution of the one or more actions; and updating the conflict information based on the second set of one or more conflict scores.
[0029] In some embodiments, the one or more proposing agents determine the one or more actions to perform by optimizing each goal in a respective group jointly or by optimizing each goal in the respective group sequentially.
[0030] In another aspect there is provided a node with processing circuitry adapted to perform the methods described above. In another aspect there is provided a computer program comprising instructions which when executed by processing circuity of a node causes the node to perform the methods described above. In another aspect there is provided a carrier containing the computer program, where the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.BRIEF DESCRIPTION OF THE DRAWINGS
[0031] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0032] FIG. 1 illustrates architecture for an intent manager framework.
[0033] FIG. 2 illustrates a multiple closed loops architecture.
[0034] FIG. 3 illustrates a single closed loop architecture.
[0035] FIG. 4 illustrates actions in the multiple loops and single closed loop architectures shown in FIGs. 2-3.
[0036] FIG. 5 illustrates grouping together goals that have more probability of conflicting with each other, according to some embodiments.
[0037] FIG. 6 illustrates a potential ping-pong effect for conflicting closed loops, one loop per goal, according to some embodiments.
[0038] FIG. 7 illustrates merged goals stabilizing the network state, according to some embodiments.
[0039] FIG. 8 illustrates architecture for an intent manager framework, according to some embodiments.
[0040] FIG. 9 illustrates a dependency graph, according to some embodiments.
[0041] FIG. 10 illustrates a high-level structure of a grouping agent and its information flow, according to some embodiments.
[0042] FIG. 11 illustrates a grouping tree of goals, according to some embodiments.
[0043] FIG. 12 illustrates a method for issue selection, according to some embodiments.
[0044] FIG. 13 illustrates a signaling diagram, according to some embodiments.
[0045] FIG. 14 illustrates a method, according to some embodiments.
[0046] FIG. 15 a block diagram of a node, according to some embodiments.DETAILED DESCRIPTION
[0047] FIG. 5 illustrates grouping together goals that have more probability of conflicting with each other, according to some embodiments. Aspects of the present disclosure propose an agent to group multiple goals into one or more groups, such as groups 504A and 504B. The agent can be integrated with the intent manager to provide inputs to the proposal phase. As shown in FIG. 5, in some embodiments, goals that have a higher probability of conflict need to be optimized jointly. These groups of goals can change during runtime because the conflicts depend upon the system state. According to some embodiments, the “grouping agent,” described in further detail below, performs the following steps.
[0048] 1. Use previous knowledge of conflicting actions to update conflict-score between goals. This is done using traceability knowledge “goals->actions” in the knowledge base 107. Conflictscores may be maintained as a conflict-graph among vertices where each vertex denotes a subset of goals
[0049] 2. Use a dependency graph (alternatively called a conflict graph) to group goals together using a, e.g., clustering technique (in one embodiment), simultaneously considering the capability of available proposing agents for prioritizing group of goals.
[0050] When multiple issues coming from different closed loops have a large probability of conflict, the solutions addressing them separately may lead to non-optimal solutions and instability. Aspects of the present disclosure include grouping multiple goals at runtime. The resulting grouping may lead to the maximum benefit and is subject to the availability of the right (in terms of capability) proposal agents 11.
[0051] According to one example, as illustrated in FIGs. 6 and 7, there may be a scenario with two service instances: a conversational service instance and an ultra-reliable and low-latency communications (“URLLC”) service instance. In some embodiments, the URLLC services comprises one or more of a public safety service, remote diagnostic / surgery service, emergency response service, autonomous driving service, industrial automation service, or a smart energy service. FIGs. 6 and 7 illustrate one scenario, and additional scenarios may encompass, for example, one or more services relating to Enhanced Mobile Broadband, eMBB, ultra-reliable low- latency communication, URLLC, massive machine-type communication, critical machine-type communication, extended and mixed reality, or energy efficiency.
[0052] FIG. 6 illustrates a potential ping-pong effect for conflicting closed loops, one loop per goal. In FIG. 6, two distinct closed loops will compete and conflict for the same network resources for the proposed scenario. At t=0, the intent for the conversational video is inserted. Because no conversational video service was running previously, the intent manager 100 initiates the deployment. The priority of the conversational video is 50 and the observed quality of experience (“QoE”) values are above the target expressed in the video intent (>4.4). Around t=50, the intent for the URLLC service instance is inserted, with the same priority (50) as the conversational video service. After traffic ramps up around t=50, the QoE for the conversational video users drops due to sharing the same limited resources with URLLC. As the measured QoE is below the target QoE, the closed-loop associated with the QoE proposes an action to solve this issue: increase priority for conversational video (to 40 - where lower number means higher priority).
[0053] After prediction, this proposal is accepted by the evaluation agent 115 and gets actuated. Later, as the issue is still not solved, the intent manager 100 proposes again to increase the priority of the conversational video (to 30, and then to 20). After the proposal to change the priority to 20is suggested (see t=l 10 in FIG. 6), the intent manager predicts that the QoE will most likely be above the target, however the packet loss KPI for the URLLC will be not met as will increase above 1% (value specified in the intent). The latter is an indication that the loops are conflicting.
[0054] From time t=140 the system is then in a state where a harmful ping pong effect might be generated. The KPI for the video is now met (above 4.4), but the KPI for the URLLC is not (packet loss above 1%). In the next rounds, the closed loop for the packet loss could try to steer the system in a state where packet loss is again met but video QoE is not (this state will result in performance similar to t=100). If knowledge about this conflict could have been made available to a joint proposal agent, this conflict could have been resolved in advance. Indeed, this is one of the scenarios where our invention brings benefits.
[0055] To avoid this ping-pong effect the merging apparatus enters into action, as shown in FIG. 7. FIG. 7 illustrates merged goals stabilizing the network state, according to some embodiments. Conflicts between closed loops are identified (t=120) and the two conflicting loops are merged (t= 130). When the two loops are merged the two sub-optimal states (generating a ping-pong effect) can be harmonized by a single proposal agent 111 and the system can stabilize in a state that is globally optimal (from t=140 ahead). When the loops are merged, the joint proposal decides to do not submit any action after time t=l 30.
[0056] FIG. 8 illustrates architecture for an intent manager framework, according to some embodiments. FIG. 8 includes an intent manager 100 with a goal generating agent 819 and a grouping agent 821.
[0057] In the intent manager 100, a goal may be represented as a predicate (e.g., latency < 10). It could be an expectation, but also could be a goal derived using root-cause analysis. The set U of all goals may be a finite set that is derived from the KPI expectations of all the intents in the system. At any point in time, depending upon the current network state, and goal generating agents 819, there may be a smaller set of goals P £ u to be resolved.
[0058] Referring to FIG. 8, the grouping agent 821 takes the set P as input, together with the conflict feedback, and outputs a set of groups of goals. Some of the groups may contain only a single goal. In the trivial case, it can produce only singleton groups which may be the base case according to some embodiments.
[0059] Note that the conflict feedback might come, in another embodiment, from a separate “conflict detection agent.” If the feedback comes from predictors 113, like in FIG. 8, the conflictscore may be updated faster but it is, potentially less accurate. If the conflict score is updated after action execution, such as from an external agent, the conflict score may update in a more accurate way but slower.
[0060] Note also that goal-generating agents 819 may be represented as agents outside of the intent manager framework 103 or as implemented within it.
[0061] In one example: Suppose there are issues A, B, C, D, E, and F. In the most trivial case, the output of the grouping agent 821 may be {{A}, {B}, {C}, {D}, {E}, {F}}. In the best case, the output may be {{A, B, C, D, E, F}}. In general, the output may be a set of groups, for example, {{A, B}, {C, D, E}, {F}}.
[0062] In some embodiments, the core data structure used to capture the conflict between goals is a complete graph on U, the set of all goals, where each vertex denotes a group of goals, and the edge weights denote a conflict-score. The higher the weight of the edge between two groups of goals, A and B, the more chance of them conflicting. This is called CG(U) - conflict graph on U - in this disclosure, see FIG. 9. The conflict graph can be part of the grouping agent, as in FIG. 8, or be part of the knowledge base of the intent manager framework.
[0063] FIG. 9 illustrates a dependency graph, according to some embodiments. FIG. 9 illustrates a CG(U) conflict graph, or dependency graph, on six singleton goals. Dashed or lighter lines for each edge imply a conflict score of 0 (no conflict). The thickness of each edge shows the degree of conflict (min - 0, max - 1).
[0064] FIG. 10 illustrates a high-level structure of a grouping agent and its information flow, according to some embodiments. As shown in FIG. 10, grouping agent 1021 may include a knowledgebase 1023 comprising a conflict graph and / or the conflict scores comprising the conflict graph, and issue selection module 1024.
[0065] According to some embodiments, the conflict graph of issues CG(P) is computed as follows.
[0066] 1. Prioritized groups of goals from the grouping agent 1021 are presented to the proposing agents 1011 and action proposals are collected for each group
[0067] 2. For each pair of action proposals, prediction agents 1013 detect the probability of conflict P(a,b) among the action proposals a and b (using for example, online reinforcement learning, see [2] and an example application in [3]).
[0068] 3. The edge weights w(A, B) in the conflict graph are updated as follows.
[0069] a. Let a and b be the action proposals for issue groups A and B, respectively.
[0070] b. Let P(a, b) be the probability of conflict as per the predicting agent.
[0071] c. Then, add A and B as vertices in the conflict graph if not present already.
[0072] d. Set C(A,B)=(l-a)C(A,B) +a*P(a,b), where a is a hyperparameter that determines how much importance is attached to the current detection of conflict than to the past conflicts. The parameter can be configured via domain knowledge.
[0073] Leveraging the conflict-score, which may be constantly updated in the conflict graph CG(U) as described above, aspects of the present disclosure use one or more techniques to propose the best grouping strategy for goals. In an embodiment, the strategy is implemented through Hierarchical Agglomerative Clustering (HAC)[1], Given a set of elements, HAC initially considers each element as a separate cluster. Then, HAC incrementally identifies and joins the two closest (in some metric) elements.
[0074] In some embodiments, the HAC metric for grouping goals is instantiated by leveraging the conflict-score. In some embodiments, two sets of goals A and B should be joined when there is a greater probability of them conflicting, and the distance between A and B (D(A, B)) may be defined as follows: D(A, B) = 1 - CG(A, B). That is, the distance between two groups A and B is “small” if they conflict a “lot” (i.e., they are good candidates for grouping).
[0075] Once D(A, B) is calculated over CG(U), HAC can generate a grouping tree.
[0076] FIG.l 1 illustrates an example grouping tree of six goals, according to some embodiments. As an example, if six goals (a, b, c, d, e, f, g) are considered, the resulting of HAC can be as presented in FIG. 11.
[0077] FIG. 11 illustrates a grouping tree of goals, according to some embodiments. In the example, all of the following possible groups of goals are candidates.
[0078] 1. A, B, C, D, E, F
[0079] 2. A, BC, DE, F
[0080] 3. A, BC, DEF
[0081] 4. A, BCDEF
[0082] 5. ABCDEF
[0083] For example, if the third 3rd possibility is selected, goals B and C are joined, and goals D, E and F are joined.
[0084] Note that given enough resources, joint optimization of all the KPIs together may give the most optimized solution. This could even be suggested as one of the possibilities by the HAC procedure. However, such possibilities may not be practical due to, inter alia, (1) unavailability of agents for such large joint optimization, (2) prohibitive cost of computation.
[0085] Therefore, the available agents (registered within the intent manager) and feedback from earlier agent executions may be used to trim the depths of clustering in the HAC. In the example in FIG. 11, assuming there are no agents that can handle more than 4 goals, the only possibilities include.
[0086] 1. A, B, C, D, E, F
[0087] 2. A, BC, DE, F
[0088] 3. A, BC, DEF
[0089] Final algorithm
[0090] With the Conflict graph as input, the issue selection algorithm outputs goal groups as shown in Figure 10.
[0091] FIG. 12 illustrates a method for issue selection, according to some embodiments. At step 1201, G = generated goals. At step 1203, a tree is constructed, HAC(CG, G). At step 1205, for proposing agents PA, compute G’ = {vertex n in Tree | n can be handled by a proposing agent in PA within time T}. At step 2017, the minimum number of Tree vertices T’ that cover G are selected, and T’ is output for solution proposal. At step 1209, if proposing agent for tree vertex n fails (e.g., due to timeout or other reasons), n is deleted and step 207 is repeated.
[0092] FIG. 13 is a sequence diagram, according to some embodiments. Grouping and prioritization is triggered by the generation of a set of goals. At 1302, a goal generating agent 819 provides a set of goals to a grouping agent 821. At 1304, the goal grouping agent 821 generates the groups of goals based on the conflict scores. In some embodiments, the groups are generating using HAC and from the knowledge of conflict scores between goal groups. At 1306, the prioritized groups are presented to proposing agents 111.
[0093] In case the proposed actions are actuated, the detected conflicts are used to update the conflict graph to be used in future cycles. At 1308, action proposals are provided from the proposal agent 111 to the predicting agent 113. At 1310, prediction agent 113 provides conflict details to evaluation agent 115. At 1312, evaluation agent 115 provides conflict scores to grouping agent821. At 1314, final actions are provided from the evaluation agent 115 to the actuator agent 117. The conflict graph is updated at 1316.
[0094] At 1316, it is determined that the proposed actions cannot be actuated. For example, some proposing agent may reject a requested goal group. In this case, the goal group is marked invalid by the grouping agent 821 at 1318. New groups are computed and suggested by the grouping agent, which may result in smaller groups of goals being presented (splitting).
[0095] Note that the conflict feedback might come, in another embodiment, directly from the prediction agents 113. If the feedback comes from predictors, the conflict score may be updated faster but it is, potentially less accurate. If the conflict score is updated after action execution, thanks to an external agent, the conflict score will update in a more accurate way but slower.
[0096] Co-pending International Application PCT / TR2022 / 050335, filed on April 14, 2023 and which is hereby incorporated by reference, tackles the challenge of conflict detection between proposed actions in an intent-based system between multiple closed loops at run-time. Detecting conflicts may generally comprise two steps: (1) Predict the impact of a certain action on the state of the environment under control. In other words: suppose a certain action is taken on the environment, how will the results of that action show in the raw data; and (2) Predict how the new state of the environment under control impacts all KPIs in the intent manager. In other words: given the effect of the action to the raw data (previous step), how will that change the KPIs? These steps may generally be performed using machine reasoning rules. Thus, in this way, conflicts can be identified upfront, before an action is taken and this information can be used to select the most appropriate action in response to an issue.
[0097] In some embodiments, a penalty-based mechanism can be used. Namely, intents may specify their penalty, which is the “cost” of partially satisfying or not satisfying a specific intent. The penalty may be specified in the intent as a formula. The penalty could also be specified separately from the intent, but be submitted with it. In addition, another formula for calculating the overall penalty within the intent manager (the so-called system penalty) as a function of the individual intent penalties can be provided. The system calculates at runtime the current penalty of every active intent and the total system penalty. These knowledge objects are used to perform reasoning and provide a mechanism to prioritize between intents with respect to their relative importance when executing actions aimed at reconfiguring the network.
[0098] In some embodiments, an intent further comprises penalties to be applied if the expectations in the first intent are not satisfied (e.g. not met / achieved). The penalties may quantify an impact of the KPI targets for the expectations not being satisfied. Each penalty may be expressed as a score. There may be one penalty associated with each expectation. Penalties may be relative, e.g. set on a relative scale, to indicate the relative importance of each expectation compared to other expectations in the first intent and / or other expectations in other intents. As such, the penalty values may be normalised.
[0099] A system penalty may be calculated for the whole system. The system penalty may be an aggregation of the individual penalties associated with the expectations set in all of the intents for the system. In this sense, an aggregation refers to a mathematical combination of the penalties, such as, for example, a summation of the penalties, an average of the penalties, a mean of the penalties, a max of the penalties, or any other mathematical combination of the penalties.
[0100] FIG. 14 illustrates a method, according to some embodiments. In some embodiments, method 1400 is performed by a node in a communications network to facilitate optimization of goals in the communications network. In some embodiments, the node comprises an intent manager 100.
[0101] Step si 401 of the method includes obtaining a set of goals, wherein each goal corresponds to one or more actions to support an intent for a service in the communications network.
[0102] Step si 403 of the method includes obtaining conflict information, the conflict information comprising one or more conflict scores representing a degree of conflict between each pair of goals in the set of goals. In some embodiments, the conflict information comprise the dependency graph described above.
[0103] Step sl405 of the method includes grouping the set of goals into one or more groups based on the conflict feedback.
[0104] Step si 407 of the method includes outputting the one or more groups to one or more proposing agents, wherein each proposing agent proposes, based on the grouping, one or more actions to perform in the communications network to satisfy the intent.
[0105] FIG. 15 is a block diagram of a node 1500 according to some embodiments. As shown in FIG. 15, the node may comprise: processing circuitry (PC) 1502, which may include one or more processors (P) 1055 (e.g., one or more general purpose microprocessors and / or one ormore other processors, such as an application specific integrated circuit (ASIC), field- programmable gate arrays (FPGAs), and the like); communication circuitry 1548, comprising a transmitter (Tx) 1545 and a receiver (Rx) 1547 for enabling the device to transmit data and receive data (e.g., wirelessly transmit / receive data) over network 1510; and a local storage unit (a.k.a., “data storage system”) 1508, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 1502 includes a programmable processor, a computer program product (CPP) 1541 may be provided. CPP 1541 includes a computer readable medium (CRM) 1542 storing a computer program (CP) 1543 comprising computer readable instructions (CRI) 1544. CRM 1542 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 1544 of computer program 1543 is configured such that when executed by PC 1502, the CRI causes the apparatus to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, the apparatus may be configured to perform steps described herein without the need for code. That is, for example, PC 1502 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.
[0106] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above described embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0107] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.
[0108] ABBREVIATIONS
[0109] HAC Hierarchical agglomerative clustering
[0110] REFERENCES
[0111] [1] A. Lukasov, “Hierarchical agglomerative clustering procedure,” PatternRecognition, vol. 11, no. 5, pp. 365 - 381, 1979.
[0112] [2] R. S. Sutton and A. G. Barto. Reinforcement Learning: An Introduction. MITPress, 1998.
[0113] [3] M. D’Angelo, M. Caporuscio, V. Grassi and R. Mirandola. Decentralized learning for self-adaptive QoS-aware service assembly. Future Generation Computer Systems. February 2020.
Claims
CLAIMS1. A method (1400) performed by a node (1500) in a communications network to facilitate optimization of goals in the communications network, the method comprising: obtaining (sl401) a set of goals, wherein each goal corresponds to one or more actions to support an intent for a service in the communications network; obtaining (sl403) conflict information, the conflict information comprising one or more conflict scores representing a degree of conflict between each pair of goals in the set of goals; grouping (sl405) the set of goals into one or more groups based on the conflict feedback; and outputting (si 407) the one or more groups to one or more proposing agents, wherein each proposing agent proposes, based on the grouping, one or more actions to perform in the communications network to satisfy the intent.
2. The method of claim 1, wherein each goal in the set of goals corresponds to one or more key performance indicator, KPI, targets.
3. The method of claim 1 or 2, wherein the conflict information comprises a dependency graph, wherein each vertex in the dependency graph corresponds to a goal in the communications network and each edge between a respective first vertex and a respective second vertex in the dependency graph has a weight corresponding to a degree of conflict between the first vertex and the second vertex.
4. The method of claim 3, wherein the dependency graph is a complete graph.
5. The method of claim 3 or 4, wherein the dependency graph comprises a vertex for each possible goal in the communications network.
6. The method of any one of claims 3-5, wherein the grouping is performed using hierarchical agglomerative clustering.
7. The method of claim 6, further comprising:determining a distance between each vertex in the dependency graph based on the weight of each edge in the dependency graph; generating a grouping tree based on the determined distance between each vertex; determining all candidate groups of one or more vertices using the grouping tree; and selecting a candidate group.
8. The method of claim 7, wherein the selecting the candidate group is further based on a capability of the one or more proposing agents.
9. The method of any one of claims 1-5, wherein the grouping comprises clustering the set of goals based on a capability of the one or more proposing agents.
10. The method of any one of claims 1-9, further comprising: obtaining a plurality of proposed actions from the one or more proposing agents; for each pair of proposed actions, detecting a probability of a conflict between a first action in the pair and a second action in the pair; and updating one or more of the conflict scores based on the probability of a conflict.
11. The method of claim 10, further comprising: adding the pair of proposed actions to the conflict information.
12. The method of any one of claims 1-11, further comprising: obtaining the conflict information from a second node.
13. The method of any one of claims 1-12, wherein a first set of one or more goals in the set of goals corresponds to an intent for at least one of: Enhanced Mobile Broadband, eMBB, ultra-reliable low-latency communication, URLLC, massive machine-type communication, critical machine-type communication, extended and mixed reality, or energy efficiency.
14. The method of any one of claims 1-13, further comprising:obtaining a second set of one or more conflict scores representing a degree of conflict between each pair of goals in the set of goals based on execution of the one or more actions; and updating the conflict information based on the second set of one or more conflict scores.
15. The method of any one of claims 1-14, wherein the one or more proposing agents determine the one or more actions to perform by optimizing each goal in a respective group jointly or by optimizing each goal in the respective group sequentially.
16. A node (1500) adapted to perform the method of any one of claims 1-13.
17. A computer program (1543) comprising instructions (1544) which when executed by processing circuity (1502) of a node (1500) causes the node to perform the method of any one of claims 1-13.
18. A carrier containing the computer program of claim 17, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium (1542).
Citation Information
Patent Citations
Intent handling
WO2023200412A1
Determining conflicts between KPI targets in a communications network
WO2022069036A1