Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HANDLING SEQUENTIAL AGENTS IN A COGNITIVE FRAMEWORK
Document Type and Number:
WIPO Patent Application WO/2024/075129
Kind Code:
A1
Abstract:
A first entity can be configured to provide a proposing agent. The first entity can receive (910) an indication of a goal associated with a target system from a second entity. The first entity can determine (930) a proposal including a recommended action to be taken by the target system based on the goal. The first entity can determine (940) information associated with the proposal. The first entity can transmit (950) an indication of the proposal and an indication of the information to the second entity.

Inventors:
MOHALIK SWARUP KUMAR (IN)
DEY KAUSHIK (IN)
Application Number:
PCT/IN2022/050896
Publication Date:
April 11, 2024
Filing Date:
October 07, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
MOHALIK SWARUP KUMAR (IN)
International Classes:
G06Q10/04; G06Q10/06
Attorney, Agent or Firm:
DJ, Solomon et al. (IN)
Download PDF:
Claims:
CLAIMS

What is Claimed is:

1 . A method of operating a first entity configured to provide a proposing agent (510), the method comprising: receiving (910) an indication of a goal associated with a target system from a second entity; determining (930) a proposal including a recommended action to be taken by the target system based on the goal; determining (940) information associated with the proposal; and transmitting (950) an indication of the proposal and an indication of the information to the second entity.

2. The method of Claim 1 , wherein the information associated with the proposal comprises an estimate of when the goal will be achieved if the proposal is implemented.

3. The method of any of Claims 1 -2, wherein the information associated with the proposal comprises an estimate of a probability of the goal being achieved if the proposal is implemented.

4. The method of any of Claims 1 -3, wherein the information associated with the proposal comprises a condition as part of the proposal.

5. The method of Claim 4, wherein the condition comprises at least one of: a time window during which the proposal is to be implemented; and a maximum number of times the proposal can be interrupted.

6. The method of any of Claims 1 -5, wherein the information associated with the proposal comprises a type of the proposal, the type of the proposal being either functional or sequential.

7. The method of any of Claims 1 -6, wherein the information associated with the proposal comprises a temporary effect on a characteristic of the target network, the temporary effect expected to occur after initialization of the proposal and prior to completion of the proposal.

8. The method of any of Claim 1 -7, further comprising: receiving (920) an indication of a constraint associated with the goal and/or the target system, wherein determining the proposal comprises determining a proposal based on the goal and the constraint.

9. The method of Claim 8, wherein the constraint is a service level agreement constraint associated with the target system.

10. The method of any of Claims 8-9, wherein the information associated with the proposal comprises an estimate of whether the constraint will be maintained if the proposal is implemented.

11. The method of any of Claims 1-10, wherein the proposing agent is a functional proposing agent, and wherein the proposal is a functional proposal.

12. The method of any of Claims 1-10, wherein the proposing agent is a sequential proposing agent, and wherein the proposal is a sequential proposal.

13. The method of any of Claims 1-12, wherein the first entity is a network node, and wherein the target system is a communications network.

14. A method of operating a second entity configured to provide a proposal collection module (520), the method comprising: transmitting (1010) an indication of a goal associated with a target system to a first entity; and subsequent to transmitting the indication of the goal, receiving (1030) an indication of a proposal and an indication of information associated with the proposal from the first entity.

15. The method of Claim 14, wherein the indication of the information comprises at least one of: an indication of an estimate of when the goal will be achieved if the proposal is implemented; an indication of a probability of the goal being achieved if the proposal is implemented; an indication of a condition associated with the proposal; an indication of a type of the proposal, the type of the proposal being either functional or sequential; and an indication of a temporary effect on a characteristic of the target network that is expected to occur after initialization of the proposal and prior to completion of the proposal.

16. The method of Claim 15, wherein the condition comprises at least one of: a time window during which the proposal is to be implemented; and a maximum number of times the proposal can be interrupted.

17. The method of any of Claims 14-16, further comprising: transmitting (1020) an indication of a constraint associated with the goal and/or the target system.

18. The method of Claim 17, wherein the constraint is a service level agreement constraint associated with the target system.

19. The method of any of Claims 17-18, wherein the information associated with the proposal comprises an estimate of whether the constraint will be maintained if the proposal is implemented.

20. The method of any of Claims 14-19, wherein the target system is a communications network.

21. The method of any of Claims 14-20, wherein transmitting the indication of the goal comprises transmitting the indication of the goal to one or more entities including the first entity that are each configured to provide one or more proposing agents, and wherein receiving the indication of the proposal comprises receiving an indication of a proposal from each of the one or more proposing agents, the method further comprising: transmitting (1040) an indication of each of the proposals to a third entity configured to provide a recommendation to the target system.

22. A method of operating a third entity configured to determine a recommended action to be taken by a target system, the method comprising: selecting (11 10) a proposal from a plurality of proposals associated with a goal based on information associated with the proposal; determining (1 120) the recommended action to be taken by the target system based on the proposal; and transmitting (1130) an indication of the recommended action to the target system.

23. The method of Claim 22, wherein the information comprises at least one of: an indication of an estimate of when the goal will be achieved if the proposal is implemented; an indication of a probability of the goal being achieved if the proposal is implemented; an indication of a condition associated with the proposal; an indication of a type of the proposal, the type of the proposal being either functional or sequential; an indication of a temporary effect on a characteristic of the target network that is expected to occur after initialization of the proposal and prior to completion of the proposal; and an indication of a reliability of a proposing agent that generated the proposal.

24. The method of any of Claims 22-23, wherein selecting the proposal comprises selecting the proposal based on the proposal being a sequential proposal that has already been initiated.

25. The method of any of Claims 22-23, wherein selecting the proposal comprises selecting the proposal based on the proposal being different than a current proposal, the current proposal currently being a sequential proposal that has been initiated and based on at least one of: a constraint associated with the goal being violated; and an assurance associated with the current proposal being violated.

26. A method of operating a fourth entity configured to monitor implementation of a proposal with a target system, the method comprising: receiving (1210) an indication of a proposing agent associated with the proposal; determining (1220) whether implementation of the proposal achieved a goal associated with the target system; adjusting (1230) a reliability value associated with the proposing agent based on whether implementation of the proposal achieved the goal.

27. A method of operating a system configured to provide a cognitive layer for intent handling, the method comprising any operations of Claims 1 -26.

28. An entity (510, 520, 530, 540, 1400, 1500) adapted to perform any operations of Claims 1 -26.

29. An entity (510, 520, 530, 540, 1400, 1500) comprising: processing circuitry (1402, 1502); and memory (1410, 1504) coupled to the processing circuitry and having instructions stored therein that are executable by the processing circuitry to cause the entity to perform operations comprising any operations of Claims 1 -26.

30. A computer program comprising program code to be executed by processing circuitry (1402, 1502) of an entity (510, 520, 530, 540, 1400, 1500), whereby execution of the program code causes the entity to perform operations comprising any operations of Claims 1 -26.

31 . A computer program product comprising a non-transitory storage medium (1410, 1504) including program code to be executed by processing circuitry (1402, 1502) of an entity (510, 520, 530, 540, 1400, 1500), whereby execution of the program code causes the entity to perform operations comprising any operations of Claims 1 -26.

32. A non-transitory computer-readable medium having instructions stored therein that are executable by processing circuitry (1402, 1502) of an entity (510, 520, 530, 540, 1400, 1500) to cause the entity to perform operations comprising any of the operations of Claims 1 -26.

33. A system (1300) adapted to perform the operations Claim 27.

34. A system (500, 1300) comprising: processing circuitry (1402, 1502); and memory (1410, 1504) coupled to the processing circuitry and having instructions stored therein that are executable by the processing circuitry to cause the system to perform operations comprising any of the operations of Claim 27.

35. A computer program comprising program code to be executed by processing circuitry (1402, 1502) of a system (500, 1300), whereby execution of the program code causes the system to perform operations comprising any operations of Claim 27.

36. A computer program product comprising a non-transitory storage medium (1410, 1504) including program code to be executed by processing circuitry (1402, 1502) of a system (500, 1300), whereby execution of the program code causes the system to perform operations comprising any operations of Claim 27.

37. A non-transitory computer-readable medium having instructions stored therein that are executable by processing circuitry (1402, 1502) of a system (500, 1300) to cause the system to perform operations comprising any of the operations of Claim 27.

Description:
HANDLING SEQUENTIAL AGENTS IN A COGNITIVE FRAMEWORK

TECHNICAL FIELD

[0001] The present disclosure is related to wireless communication systems and more particularly to handling sequential agents in a cognitive framework.

BACKGROUND

[0002] FIG. 1 illustrates an example of a new radio (“NR”) network (e.g., a 5th Generation (“5G”) network) including a 5G core (“5GC”) network 130, network nodes 120a-b (e.g., 5G base station (“gNB”)), multiple communication devices 110 (also referred to as user equipment (“UE”)).

[0003] In a cognitive framework for intent handling, different issues such as fulfillment and assurance, can be tackled automatically by a number of agents assigned to different phases as shown in FIG. 2.

[0004] In some examples, the issues are handled by generating one or more goals to be achieved. These goals are submitted to the solution pipeline. Solution proposing agents propose possible solutions. Multiple solutions are then evaluated and the best solution is recommended for actuation. The proposing agents can be external to the cognitive framework. They can employ any algorithm to propose a solution such as constraint solving or state space search.

[0005] Some proposing agents employ sequential algorithms such as artificial intelligence (“Al”) planning and Reinforcement learning which can produce a sequence of actions as a solution to a goal as opposed to functional agents that produce a single action as a solution.

SUMMARY

[0006] According to some embodiments, a method of operating a first entity configured to provide a proposing agent is provided. The method includes receiving an indication of a goal associated with a target system from a second entity. The method further includes determining a proposal including a recommended action to be taken by the target system based on the goal. The method further includes determining information associated with the proposal. The method further includes transmitting an indication of the proposal and an indication of the information to the second entity. [0007] According to other embodiments, a method of operating a second entity configured to provide a proposal collection module is provided. The method includes transmitting an indication of a goal associated with a target system to a first entity. The method further includes, subsequent to transmitting the indication of the goal, receiving an indication of a proposal and an indication of information associated with the proposal from the first entity.

[0008] According to other embodiments, a method of operating a third entity configured to determine a recommended action to be taken by a target system is provided. The method includes selecting a proposal from a plurality of proposals associated with a goal based on information associated with the proposal. The method further includes determining the recommended action to be taken by the target system based on the proposal. The method further includes transmitting an indication of the recommended action to the target system.

[0009] According to other embodiments, a method of operating a fourth entity configured to monitor implementation of a proposal with a target system is provided. The method includes receiving an indication of a proposing agent associated with the proposal. The method further includes determining whether implementation of the proposal achieved a goal associated with the target system. The method further includes adjusting a reliability value associated with the proposing agent based on whether implementation of the proposal achieved the goal.

[0010] According to other embodiments, a system, first entity, second entity, third entity, fourth entity, computer program, computer program product, or non-transitory computer-readable medium is provided to perform one of the methods above.

[0011] Various embodiments described herein can allow the benefits of a sequential proposing agent to be used in a system that includes both sequential proposing agents and functions proposing agents.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of inventive concepts. In the drawings:

[0013] FIG. 1 is a schematic diagram illustrating an example of a 5 th generation (“5G”) network; [0014] FIG. 2 is a schematic diagram illustrating an example of an overview of a cognitive process;

[0015] FIG. 3 is a block diagram illustrating an example of a proposals being selected from both a sequential agent and functional agents;

[0016] FIGS. 4A-D are schematic diagrams illustrating examples of traffic through a network in response to different policies;

[0017] FIG. 5 is a block diagram illustrating an example of a system for handling both sequential agents and functional agents in accordance with some embodiments;

[0018] FIG. 6 is a block diagram illustrating an example of a sequential processing agent handling both a goal and constraints in accordance with some embodiments;

[0019] FIG. 7 is a block diagram illustrating an example of a stat machine for goal state management in accordance with some embodiments;

[0020] FIG. 8 is a signal flow diagram illustrating an example of a signals communicated as part of handling proposals in accordance with some embodiments;

[0021] FIG. 9 is a flow chart illustrating an example of operations performed by an entity configured to provide a proposing agent in accordance with some embodiments;

[0022] FIG. 10 is a flow chart illustrating an example of operations performed by an entity configured to provide a proposal collection module in accordance with some embodiments;

[0023] FIG. 11 is a flow chart illustrating an example of operations performed by a recommendation module in accordance with some embodiments;

[0024] FIG. 12 is a flow chart illustrating an example of operations performed by a runtime monitoring module in accordance with some embodiments;

[0025] FIG. 13 is a block diagram of a communication system in accordance with some embodiments;

[0026] FIG. 14 is a block diagram of a user equipment in accordance with some embodiments;

[0027] FIG. 15 is a block diagram of a network node in accordance with some embodiments;

[0028] FIG. 16 is a block diagram of a host computer communicating with a user equipment in accordance with some embodiments; [0029] FIG. 17 is a block diagram of a virtualization environment in accordance with some embodiments; and

[0030] FIG. 18 is a block diagram of a host computer communicating via a base station with a user equipment over a partially wireless connection in accordance with some embodiments in accordance with some embodiments.

DETAILED DESCRIPTION

[0031] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, in which examples of embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present/used in another embodiment.

[0032] There is a qualitative difference between a sequential agent and a functional agent. Sequential agents necessarily construct a model of an environment (either implicitly or explicitly) and their proposals are not “greedy.” For example, an intermediate action proposal from a sequential agent may result in a lower key performance indicator (“KPI”) value than a functional agent because the sequential agent is able to predict that in the long term such a solution will provide higher rewards.

[0033] FIG. 3 illustrates an example of the qualitative difference between a sequential agent and a functional agent. In this example, there are 2 functional agents Ag1 and Ag2) and a sequential agent (RL). Initially, a system may accept a proposal “a” from Ag1 . At a later time the system may accept a proposal from RL that requires actions “A1” and “A2.” The action “A1” may be performed, however, prior to “A2” being performed, the system may switch to proposal “b” by Ag2. Proposal “b” may be selected because it results in immediate betterment of performance, even though following the action sequence proposed by RL may have resulted in a better performance in the end. [0034] Thus, without any knowledge about the nature of the agents and the proposals, the cognitive framework may not make an informed decision about whether to recommend the action from the sequential agent or an action from a functional agent - the latter giving a better result immediately but may result in degradation of performance later.

[0035] FIGS. 4A-D illustrate examples of different routes through a network that includes seven nodes. As illustrated in FIG. 4A, two traffic flows (one indicated by a long-dashed line 410 and one indicated by a short-dashed line 420) initially take two different routes. First traffic 410 travels along the long-dashed line from node 1 to 2 to 3 to 7. Second traffic 420 travels along the short-dashed line from node 1 to 6 to 7.

[0036] A goal may be set that includes the first traffic 410 achieving lower latency. As illustrated in FIG. 4B, in order to achieve a low latency for the first traffic, a functional agent may suggest path 1 -4-5-7 which may have better latency than 1 -2- 3-7 but worse than 1-6-7.

[0037] By contrast, a sequential agent can suggest two actions. First, (as illustrated in FIG. 4C ) the sequential agent may suggest moving the first traffic to 1 - 6-7 which has existing traffic, hence leading to temporary congestion, which goes away when (as illustrated in FIG. 4D) the second traffic is moved to the path 1 -2-3-7. [0038] In some embodiments, a cognitive layer collects a type of the proposing agents (e.g., whether they are functional or sequential) through a protocol, either during or immediately after the registration of the agents with the cognitive layer.

[0039] In additional or alternative embodiments, the proposals of the agents are augmented with estimations of a goal resolution time. In some examples, the proposals also guarantee that they satisfy additional constraints imposed through service level agreements (“SLAs”). The best proposal can be selected by the cognitive layer depending upon the projected performance improvement but also based on whether the goal is already being handled by a sequential agent.

[0040] In additional or alternative embodiments, once a sequential agent starts handling a goal, it continues to propose actions in a sequence till the resolution of the goal, unless there is a violation of the SLA constraints. This can be implemented through a priority table attached to a goal_type [agent, priority] and by raising the priority of a sequential agent for a specific goal when its proposal is recommended at the first time. [0041] In some embodiments, new attributes for agents are used to inform the cognitive layer about the nature of the agents, and new information elements are used to compare solutions from functional agents and sequential agents.

[0042] In additional or alternative embodiments, a protocol is provided to allow the cognitive layer to collect these new attributes for agents.

[0043] In additional or alternative embodiments, a capability on the part of an agent (e.g., exposed through an application protocol interface (“API”)) to estimate a number of steps (horizon) by which a goal can be achieved is provided by the agent. In some examples, the agent further indicates whether constraints imposed by the cognitive layer can be complied to in the proposed sequence of actions.

[0044] In additional or alternative embodiments, a state machine can be provided for goals and goal handling taking into account whether a goal is being handled by a sequential agent or not.

[0045] In additional or alternative embodiments, a control flow for goal handling c can be provided, which can monitor and handle the progress of a sequential agent in solving the goal.

[0046] In additional or alternative embodiments, the true benefit from sequential agents that comes from their modeling of the system behavior and more finegrained proposals through action sequences can be leveraged. Otherwise, proposals of sequential agents would, more often than not, overridden by greedy proposals from functional agents and the system may not be able to achieve optimal performance over long durations.

[0047] FIG. 5 illustrates an example of a system 500 and components for intent handling in the cognitive layer. In this example, some mechanisms have been added or are modified to accommodate sequential agents.

[0048] The system 500 can include an intents repository 502, goal generation module 504, goal state knowledge 506, proposing agent 510, proposal collection 520, recommendation module 530, runtime monitoring module 540, and actuation module 550. The system 500 can include or be communicatively coupled with a target system 560. In some examples, the target system includes a communications network (e.g., the communication network illustrated in FIGS. 1 or 4A-D). In other examples, the target system includes an unmanned or self-driving vehicle. In additional or alternative examples, the target system includes any system suitable for using intent handling. [0049] In some examples, an intents repository 502 holds the intents specified by the stakeholder which includes the specifications on the KPIs of the target system 560 and constraints on the behavior. For example, consider the following constraint:

{

“id” : xyz ;

“type” : BehaviourConstraint ;

“template” : Temporal Invariant;

“predicate” : {“KPI” : Latency; “Operator” : LE, “Limit” : 15, “Unit”: ms}

}

This constraint specifies that the latency of the target system 560 may never be less than 15. This is different from specifications and sets the constraint that in order to achieve the final objective (say, latency < 10), the actuations may temporarily increase the latency. However, in no case, should it go beyond 15 ms. [0050] More complicated behavior constraints can be specified extending the intent metamodel. For example, consider the following constraint:

{

“id” : xyz ;

“type” : BehaviourConstraint ;

“template” : Temporal Invariant;

“predicate” : {“KPI” : Latency; “Window” : 1 ; “Trend” : LE; “Unit” : min]

}

This constraint specifies that while the actuations may result in increasing latency, the situation should not persist for any window of 1 min duration.

[0051] The goal generation module 504 can, when a target system specification intent is violated by a system state, generate goals to reconfigure the target system 504 so that specifications are re-achieved

[0052] The proposal collection module 520 is described below. Proposing agents 510 can be registered with the cognitive layer to handle different goal types. When a goal is generated and prioritized by the goal generation process, solution proposals are collected. Some embodiments herein propose extending the proposal metamodels to include information associated with the proposals (e.g., assurance estimates and horizons). [0053] In some examples, a functional proposing agent can estimate that a goal would be resolved within a time interval, and a confidence measure in [0..1 ]. This estimate can be indicated in the form:

[solution, {"horizon" : [0, 30]; "Unit" : second; "confidence":0.8}], which indicates that the proposed solution will take effect within 30 seconds and that it will resolve the goal with a confidence of 0.8 (e.g., .8 out of 1 or 80%). Either or both attributes may be empty, which can indicate that it is a “best effort” proposal and that the final recommendation by the cognitive layer (“CL”) depends upon how the CL estimates the effect of the proposal. There may be constraints on the time interval and confidence measures imposed through intents in which case an agent returns proposals only when the estimates satisfy the constraints.

[0054] In additional or alternative examples, a sequential agent may model an environment using a Markov Decision Process (“MDP”). FIG. 6 illustrates an example of a sequential agent capable of handling constraints and outputting a goal horizon. Given a goal, and constraints, the agent translates the constraints to a linear temporal logic (“LTL”) formula and invoke a model checker to calculate the horizon within which the goal can be reached satisfying the goal. The output is a confidence distribution function: cLength of horizon <= n, probability:*, Which can be interpreted as the confidence of reaching the goal with <= n time. [0055] In additional or alternative embodiments, the policy can be conditional. For example, the policy can ensure the resolution of a goal within a time constraint of A only if the CL invokes the policy at least once in an interval of [5 1; 5 2 ], If the policy estimate satisfies the constraints, the sequential proposing agent returns success with the proposal (for example):

[policy, [{"horizon" : 10 ; "Unit" : second; "confidence":0.8}]].

[0056] During the execution of the sequence of operations suggested by the policy from a sequential agent, a runtime monitoring module 540 can monitor the state of the target system 560 for possible violation of the SLA constraints. Even though the sequential agent has provided assurance that the policy satisfies the constraints, it can be monitored for actual results.

[0057] The recommendation module 530 can compare proposals using at least one of: augmented proposals; penalty intents; and reputation scores of agents. [0058] The reputation scores denote how many times the solution/policies proposed by the agents have led to goal resolution. The reputation scores can be stored as

{“id” : XYZ; “isA“ : ReputationScore ; agent” : a1 , “goal-type” : GT, “reputation” : 0.8} [0059] Goal state knowledge 506 is described below. In some embodiments, the state of the goals can be controlled though a state machine as illustrated in FIG. 7.

Once the goal is prioritized for solving, its state can be updated to “Processing” where proposals are collected from functional and sequential agents. If a functional agent’s proposal is selected and the goal is resolved, then the goal moves to resolved state where all artifacts related to the goal may be cleared from the KB or specific knowledge may be stored for archival and further analysis.

[0060] In the processing state, recommendation component recommends a proposal. If it is from a sequential agent, the goal moves to Sequential processing. In this state, the policy selected continues to be invoked to suggest proposals till either the goal is resolved or the SLA constraints are violated. In these cases, the reputation scores are respectively incremented or decremented.

[0061] In case the SLA constraints are violated, the goal moves back to the Processing state to obtain proposals from other agents. Note that the commendation component may still choose the earlier policy that was violated, but the probability of continuous selection of the same policy decreases because of the recrement of the reputation score.

[0062] Returning to FIG. 5, the actuation module 550 can be responsible for scheduling and dispatching the recommended actions. The actions might have come from functional or sequential agents, but the actions may not be differentiated based on their source (functional or sequential).

[0063] FIG. 8 illustrates an example of a sequence of internal and external messages of the CL components and agents. The sequence of messages exchanged between CL components and external proposing agents include the stakeholder who specifies the intents (e.g., KPI specifications, constraints ,and penalty) to the cognitive layer.

[0064] At block 810, the sequence starts when a goal and/or constraints are generated and prioritized for solving. The CL sends the goal and SLA constraints to the proposing agents 510 that are registered to handle the goal-type. [0065] At block 820, the proposing agents 510 can compute a proposal (also referred to as a solution) and determine information associated with the solution and send the augmented proposals to the CL.

[0066] At block 830, 840, and 850, the CL sends the collected proposal set, penalty intents, and reputation scores to the recommendation module 530 (via the proposal collection module 520) which calculates (at block 860) the final recommendation. The term “send” is used herein in a generic sense. All the inputs are actually available in the KB. Hence, if the recommendation component is implemented in the cognitive layer as rules, these knowledge items are directly available. If the recommendation is to be obtained by an external agent, the knowledge is packaged and sent to the agent through registered APIs.

[0067] At block 870, the final recommendation is sent to the actuation module 550 for scheduling and dispatch (at block 880) to the target system 560. Simultaneously, a monitoring module 540 is initiated with the recommendation and the SLA constraints.

[0068] The state of the target system 560 is continuously monitored by the runtime monitoring module 540 (at block 885), and either goal resolution (at block 892) and/or SLA violation events (at block 890)are sent to CL.

[0069] At block 894, the CL updates the reputation score knowledge items and also does the necessary book-keeping (e.g., clearing the goal related objects, archiving necessary items, sending reports to the stakeholders about the status of the goal (at block 896), and the status of the issue for which the goal was created). [0070] In the description that follows, while the first entity may be any of the system 500, 1300, the communication device 1312C, 1312D, 1400, 1806, core network node 1308, network node 1310A, 1310B, 1500, 1804, hardware 1704, virtual machine 1708A, 1708B, or any entity configured to provide a proposing agent, the network node 1500 shall be used to describe the functionality of the operations of the first entity. Operations of the network node 1500 (implemented using the structure of FIG. 15) will now be discussed with reference to the flow chart of FIG. 9 according to some embodiments of inventive concepts. For example, modules may be stored in memory 1504 of FIG. 15, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1502, processing circuitry 1502 performs respective operations of the flow chart. [0071] FIG. 9 illustrates an example of operations performed by a first entity configured to provide a proposing agent (e.g., the proposing agent 510 of FIG. 5). [0072] At block 910, processing circuitry 1502 receives, via communication interface 1506, an indication of a goal associated with a target system. In some embodiments, the first entity is a network node and the target system is a communications network.

[0073] At block 920, processing circuitry 1502 receives, via communication interface 1506, an indication of a constraint associated with the goal and/or the target system.

[0074] At block 930, processing circuitry 1502 determines a proposal to be taken by the target system based on goal. In some embodiments, determining the proposal includes determining a proposal based on the goal and the constraint. In some examples, the constraint is a service level agreement constraint associated with the target system.

[0075] In additional or alternative embodiments, the proposing agent is a functional proposing agent and the proposal is a functional proposal.

[0076] In additional or alternative embodiments, the proposing agent is a sequential proposing agent and the proposal is a sequential proposal.

[0077] At block 940, processing circuitry 1502 determines information associated with the proposal. In some embodiments, the information associated with the proposal includes an estimate of when the goal will be achieved if the proposal is implemented. In additional or alternative embodiments, the information associated with the proposal includes an estimate of a probability of the goal being achieved if the proposal is implemented.

[0078] In additional or alternative embodiments, the information associated with the proposal includes a condition as part of the proposal. In some examples, the condition includes at least one of: a time window during which the proposal is to be implemented; and a maximum number of times the proposal can be interrupted.

[0079] In additional or alternative embodiments, the information associated with the proposal includes a type of the proposal. In some examples, the type of the proposal is either functional or sequential.

[0080] In additional or alternative embodiments, the information associated with the proposal includes a temporary effect on a characteristic of the target network. The temporary effect can be expected to occur after initialization of the proposal and prior to completion of the proposal.

[0081] In additional or alternative embodiments, the information associated with the proposal includes an estimate of whether the constraint will be maintained if the proposal is implemented.

[0082] At block 950, processing circuitry 1502 transmits, via communication interface 1506, an indication of the proposal and an indication of the information. [0083] Various operations illustrated in FIG. 9 may be optional in respect to some embodiments. In some examples, block 920 may be optional.

[0084] In the description that follows, while the second entity may be any of the system 500, 1300, the communication device 1312C, 1312D, 1400, 1806, core network node 1308, network node 1310A, 1310B, 1500, 1804, hardware 1704, virtual machine 1708A, 1708B, or any entity configured to provide a proposal collection module, the network node 1500 shall be used to describe the functionality of the operations of the second entity. Operations of the network node 1500 (implemented using the structure of FIG. 15) will now be discussed with reference to the flow chart of FIG. 10 according to some embodiments of inventive concepts. For example, modules may be stored in memory 1504 of FIG. 15, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1502, processing circuitry 1502 performs respective operations of the flow chart.

[0085] FIG. 10 illustrates an example of operations performed by a second entity configured to provide a proposal collection module (e.g., collection module 520 of FIG. 5).

[0086] At block 1010, processing circuitry 1502 transmits, via communication interface 1506, an indication of a constraint associated with the goal and/or the target system. In some embodiments, the target system is a communications network.

[0087] At block 1020, processing circuitry 1502 transmits, via communication interface 1506, an indication of a constraint associated with the goal and/or the target system. In some embodiments, the constraint is a service level agreement constraint associated with the target system.

[0088] At block 1030, processing circuitry 1502 receives, via communication interface 1506, an indication of a proposal for achieving the goal and an indication of information associated with the proposal. In some embodiments, the indication of the information includes at least one of: an indication of an estimate of when the goal will be achieved if the proposal is implemented; an indication of a probability of the goal being achieved if the proposal is implemented; an indication of a condition associated with the proposal; an indication of a type of the proposal, the type of the proposal being either functional or sequential; and an indication of a temporary effect on a characteristic of the target network that is expected to occur after initialization of the proposal and prior to completion of the proposal. In some examples, the condition includes at least one of: a time window during which the proposal is to be implemented; and a maximum number of times the proposal can be interrupted. [0089] In additional or alternative embodiments, the information associated with the proposal includes an estimate of whether the constraint will be maintained if the proposal is implemented.

[0090] In additional or alternative embodiments, transmitting the indication of the goal includes transmitting the indication of the goal to one or more entities including the first entity that are each configured to provide one or more proposing agents. Receiving the indication of the proposal includes receiving an indication of a proposal from each of the one or more proposing agents,.

[0091 ] At block 1040, processing circuitry 1502 transmits, via communication interface 1506, an indication of one or more proposals.

[0092] Various operations illustrated in FIG. 10 may be optional in respect to some embodiments. In some examples, blocks 1020 and 1040 may be optional. [0093] In the description that follows, while the third entity may be any of the system 500, 1300, the communication device 1312C, 1312D, 1400, 1806, core network node 1308, network node 1310A, 1310B, 1500, 1804, hardware 1704, virtual machine 1708A, 1708B, or any entity configured to provide a recommendation module, the network node 1500 shall be used to describe the functionality of the operations of the third entity. Operations of the network node 1500 (implemented using the structure of FIG. 15) will now be discussed with reference to the flow chart of FIG. 11 according to some embodiments of inventive concepts. For example, modules may be stored in memory 1504 of FIG. 15, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1502, processing circuitry 1502 performs respective operations of the flow chart. [0094] FIG. 11 illustrates an example of operations performed by a third entity configured to determine a recommended action to be taken by a target system. In some embodiments, the third entity is configured to provide a recommendation module (e.g., recommendation module 530 in FIG. 5).

[0095] At block 1110, processing circuitry 1502 selects a proposal from a plurality of proposals associated with a goal based on information associated with the proposal. In some embodiments, the information includes at least one of: an indication of an estimate of when the goal will be achieved if the proposal is implemented; an indication of a probability of the goal being achieved if the proposal is implemented; an indication of a condition associated with the proposal; an indication of a type of the proposal, the type of the proposal being either functional or sequential; an indication of a temporary effect on a characteristic of the target network that is expected to occur after initialization of the proposal and prior to completion of the proposal; and an indication of a reliability of a proposing agent that generated the proposal.

[0096] In additional or alternative embodiments, selecting the proposal includes selecting the proposal based on the proposal being a sequential proposal that has already been initiated.

[0097] In additional or alternative embodiments, selecting the proposal includes selecting the proposal based on the proposal being different than a current proposal. In some examples, the current proposal is a sequential proposal that has been initiated based on at least one of: a constraint associated with the goal being violated; and an assurance associated with the current proposal being violated. [0098] At block 1120, processing circuitry 1502 determine the recommended action to be taken by the target system based on the proposal.

[0099] At block 1130, processing circuitry 1502 transmits, via communication interface 1506, an indication of the recommended action to the target system.

[0100] Various operations illustrated in FIG. 11 may be optional in respect to some embodiments.

[0101] In the description that follows, while the fourth entity may be any of the system 500, 1300, the communication device 1312C, 1312D, 1400, 1806, core network node 1308, network node 1310A, 1310B, 1500, 1804, hardware 1704, virtual machine 1708A, 1708B, or any entity configured to provide a runtime monitoring module, the network node 1500 shall be used to describe the functionality of the operations of the fourth entity. Operations of the network node 1500 (implemented using the structure of FIG. 15) will now be discussed with reference to the flow chart of FIG. 12 according to some embodiments of inventive concepts. For example, modules may be stored in memory 1504 of FIG. 15, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 1502, processing circuitry 1502 performs respective operations of the flow chart.

[0102] FIG. 12 illustrates an example of operations performed by a fourth entity configured to monitor implementation of a proposal with a target system. In some embodiments, the fourth entity is configured to provide a runtime monitoring module (e.g., runtime monitoring module 540 of FIG. 5).

[0103] At block 1210, processing circuitry 1502 receives, via communication interface 1506, an indication of a proposing agent associated with a proposal.

[0104] At block 1220, processing circuitry 1502 determines whether implementation of the proposal achieved a goal associated with the target system. [0105] At block 1230, processing circuitry 1502 adjusts a reliability value associated with the proposing agent based on whether implementation of the proposal achieved the goal.

[0106] Various operations illustrated in FIG. 12 may be optional in respect to some embodiments.

[0107] In some embodiments, a combination of one or more of the operations illustrated in FIGS. 9-12 can be performed by a system (e.g., the system 500 of FIG. 5) that is configured to provide a cognitive layer for intent handling.

[0108] FIG. 13 shows an example of a communication system 1300 in accordance with some embodiments.

[0109] In the example, the communication system 1300 includes a telecommunication network 1302 that includes an access network 1304, such as a radio access network (RAN), and a core network 1306, which includes one or more core network nodes 1308. The access network 1304 includes one or more access network nodes, such as network nodes 1310a and 1310b (one or more of which may be generally referred to as network nodes 1310), or any other similar 3 rd Generation Partnership Project (3GPP) access node or non-3GPP access point. Moreover, as will be appreciated by those of skill in the art, the network nodes 1310 are not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that the network nodes 1310 may include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 1302 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 1302 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 1302, including one or more network nodes 1310 and/or core network nodes 1308.

[0110] Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O-CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time RAN control application (e.g., xApp) or a non-real time RAN automation application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1 , F1 , W1 , E1 , E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Intents and content-aware notifications described herein may be communicated from a 3GPP network node or an ORAN network node over 3GPP-defined interfaces (e.g., N2, N3) and/or ORAN Alliance-defined interfaces (e.g., A1 , 01). Moreover, an ORAN network node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance. The network nodes 1310 facilitate direct or indirect connection of user equipment (UE), such as by connecting wireless devices 1312a, 1312b, 1312c, and 1312d (one or more of which may be generally referred to as UEs 1312) to the core network 1306 over one or more wireless connections. The network nodes 1310 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 1312a, 1312b, 1312c, and 1312d (one or more of which may be generally referred to as UEs 1312) to the core network 1306 over one or more wireless connections.

[01 11] Example wireless communications over a wireless connection include transmitting and/or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and/or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 1300 may include any number of wired or wireless networks, network nodes, UEs, and/or any other components or systems that may facilitate or participate in the communication of data and/or signals whether via wired or wireless connections. The communication system 1300 may include and/or interface with any type of communication, telecommunication, data, cellular, radio network, and/or other similar type of system.

[01 12] The UEs 1312 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and/or operable to communicate wirelessly with the network nodes 1310 and other communication devices. Similarly, the network nodes 1310 are arranged, capable, configured, and/or operable to communicate directly or indirectly with the UEs 1312 and/or with other network nodes or equipment in the telecommunication network 1302 to enable and/or provide network access, such as wireless network access, and/or to perform other functions, such as administration in the telecommunication network 1302.

[01 13] In the depicted example, the core network 1306 connects the network nodes 1310 to one or more hosts, such as host 1316. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 1306 includes one more core network nodes (e.g., core network node 1308) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and/or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 1308. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and/or a User Plane Function (UPF). [0114] The host 1316 may be under the ownership or control of a service provider other than an operator or provider of the access network 1304 and/or the telecommunication network 1302, and may be operated by the service provider or on behalf of the service provider. The host 1316 may host a variety of applications to provide one or more service. Examples of such applications include live and prerecorded audio/video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0115] As a whole, the communication system 1300 of FIG. 13 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and/or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and/or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and/or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0116] In some examples, the telecommunication network 1302 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 1302 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 1302. For example, the telecommunications network 1302 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and/or Massive Machine Type Communication (mMTC)/Massive loT services to yet further UEs. [01 17] In some examples, the UEs 1312 are configured to transmit and/or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 1304 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 1304. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).

[01 18] In the example, the hub 1314 communicates with the access network 1304 to facilitate indirect communication between one or more UEs (e.g., UE 1312c and/or 1312d) and network nodes (e.g., network node 1310b). In some examples, the hub 1314 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 1314 may be a broadband router enabling access to the core network 1306 for the UEs. As another example, the hub 1314 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 1310, or by executable code, script, process, or other instructions in the hub 1314. As another example, the hub 1314 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 1314 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 1314 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 1314 then provides to the UE either directly, after performing local processing, and/or after adding additional local content. In still another example, the hub 1314 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy loT devices.

[01 19] The hub 1314 may have a constant/persistent or intermittent connection to the network node 1310b. The hub 1314 may also allow for a different communication scheme and/or schedule between the hub 1314 and UEs (e.g., UE 1312c and/or 1312d), and between the hub 1314 and the core network 1306. In other examples, the hub 1314 is connected to the core network 1306 and/or one or more UEs via a wired connection. Moreover, the hub 1314 may be configured to connect to an M2M service provider over the access network 1304 and/or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 1310 while still connected via the hub 1314 via a wired or wireless connection. In some embodiments, the hub 1314 may be a dedicated hub - that is, a hub whose primary function is to route communications to/from the UEs from/to the network node 1310b. In other embodiments, the hub 1314 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 1310b, but which is additionally capable of operating as a communication start and/or end point for certain data channels.

[0120] FIG. 14 shows a UE 1400 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and/or operable to communicate wirelessly with network nodes and/or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded/integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-loT) UE, a machine type communication (MTC) UE, and/or an enhanced MTC (eMTC) UE.

[0121] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and/or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter). [0122] The UE 1400 includes processing circuitry 1402 that is operatively coupled via a bus 1404 to an input/output interface 1406, a power source 1408, a memory 1410, a communication interface 1412, and/or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in FIG. 14. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0123] The processing circuitry 1402 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1410. The processing circuitry 1402 may be implemented as one or more hardware- implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general- purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 1402 may include multiple central processing units (CPUs). [0124] In the example, the input/output interface 1406 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and/or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 1400. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device. [0125] In some embodiments, the power source 1408 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 1408 may further include power circuitry for delivering power from the power source 1408 itself, and/or an external power source, to the various parts of the UE 1400 via input circuitry or an interface such as an electrical power cable.

Delivering power may be, for example, for charging of the power source 1408. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 1408 to make the power suitable for the respective components of the UE 1400 to which power is supplied.

[0126] The memory 1410 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1410 includes one or more application programs 1414, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 1416. The memory 1410 may store, for use by the UE 1400, any of a variety of various operating systems or combinations of operating systems.

[0127] The memory 1410 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high- density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu- Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and/or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUlCC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 1410 may allow the UE 1400 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 1410, which may be or comprise a device-readable storage medium. [0128] The processing circuitry 1402 may be configured to communicate with an access network or other network using the communication interface 1412. The communication interface 1412 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 1422. The communication interface 1412 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 1418 and/or a receiver 1420 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 1418 and receiver 1420 may be coupled to one or more antennas (e.g., antenna 1422) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0129] In the illustrated embodiment, communication functions of the communication interface 1412 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, nearfield communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and/or standards, such as IEEE 802.11 , Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol/internet protocol (TCP/IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0130] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 1412, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0131] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0132] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door/window sensor, a flood/moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and/or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 1400 shown in FIG. 14.

[0133] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and/or measurements, and transmits the results of such monitoring and/or measurements to another UE and/or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-loT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and/or reporting on its operational status or other functions associated with its operation.

[0134] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and/or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0135] FIG. 15 shows a network node 1500 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and/or operable to communicate directly or indirectly with a UE and/or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs), NR NodeBs (gNBs)), O-RAN nodes, or components of an O-RAN node (e.g., intelligent controller, O-RU, O-DU, O-CU).

[0136] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and/or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[0137] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell/multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, SelfOrganizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and/or Minimization of Drive Tests (MDTs).

[0138] The network node 1500 includes a processing circuitry 1502, a memory 1504, a communication interface 1506, and a power source 1508. The network node 1500 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 1500 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 1500 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 1504 for different RATs) and some components may be reused (e.g., a same antenna 1510 may be shared by different RATs). The network node 1500 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 1500, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 1500.

[0139] The processing circuitry 1502 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic operable to provide, either alone or in conjunction with other network node 1500 components, such as the memory 1504, to provide network node 1500 functionality.

[0140] In some embodiments, the processing circuitry 1502 includes a system on a chip (SOC). In some embodiments, the processing circuitry 1502 includes one or more of radio frequency (RF) transceiver circuitry 1512 and baseband processing circuitry 1514. In some embodiments, the radio frequency (RF) transceiver circuitry 1512 and the baseband processing circuitry 1514 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 1512 and baseband processing circuitry 1514 may be on the same chip or set of chips, boards, or units.

[0141] The memory 1504 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid- state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or any other volatile or nonvolatile, non-transitory device-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by the processing circuitry 1502. The memory 1504 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and/or other instructions capable of being executed by the processing circuitry 1502 and utilized by the network node 1500. The memory 1504 may be used to store any calculations made by the processing circuitry 1502 and/or any data received via the communication interface 1506. In some embodiments, the processing circuitry 1502 and memory 1504 is integrated. [0142] The communication interface 1506 is used in wired or wireless communication of signaling and/or data between a network node, access network, and/or UE. As illustrated, the communication interface 1506 comprises port(s)/terminal(s) 1516 to send and receive data, for example to and from a network over a wired connection. The communication interface 1506 also includes radio front-end circuitry 1518 that may be coupled to, or in certain embodiments a part of, the antenna 1510. Radio front-end circuitry 1518 comprises filters 1520 and amplifiers 1522. The radio front-end circuitry 1518 may be connected to an antenna 1510 and processing circuitry 1502. The radio front-end circuitry may be configured to condition signals communicated between antenna 1510 and processing circuitry 1502. The radio front-end circuitry 1518 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 1518 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 1520 and/or amplifiers 1522. The radio signal may then be transmitted via the antenna 1510. Similarly, when receiving data, the antenna 1510 may collect radio signals which are then converted into digital data by the radio front-end circuitry 1518. The digital data may be passed to the processing circuitry 1502. In other embodiments, the communication interface may comprise different components and/or different combinations of components.

[0143] In certain alternative embodiments, the network node 1500 does not include separate radio front-end circuitry 1518, instead, the processing circuitry 1502 includes radio front-end circuitry and is connected to the antenna 1510. Similarly, in some embodiments, all or some of the RF transceiver circuitry 1512 is part of the communication interface 1506. In still other embodiments, the communication interface 1506 includes one or more ports or terminals 1516, the radio front-end circuitry 1518, and the RF transceiver circuitry 1512, as part of a radio unit (not shown), and the communication interface 1506 communicates with the baseband processing circuitry 1514, which is part of a digital unit (not shown).

[0144] The antenna 1510 may include one or more antennas, or antenna arrays, configured to send and/or receive wireless signals. The antenna 1510 may be coupled to the radio front-end circuitry 1518 and may be any type of antenna capable of transmitting and receiving data and/or signals wirelessly. In certain embodiments, the antenna 1510 is separate from the network node 1500 and connectable to the network node 1500 through an interface or port.

[0145] The antenna 1510, communication interface 1506, and/or the processing circuitry 1502 may be configured to perform any receiving operations and/or certain obtaining operations described herein as being performed by the network node. Any information, data and/or signals may be received from a UE, another network node and/or any other network equipment. Similarly, the antenna 1510, the communication interface 1506, and/or the processing circuitry 1502 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and/or signals may be transmitted to a UE, another network node and/or any other network equipment.

[0146] The power source 1508 provides power to the various components of network node 1500 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 1508 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 1500 with power for performing the functionality described herein. For example, the network node 1500 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 1508. As a further example, the power source 1508 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0147] Embodiments of the network node 1500 may include additional components beyond those shown in FIG. 15 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and/or any functionality necessary to support the subject matter described herein. For example, the network node 1500 may include user interface equipment to allow input of information into the network node 1500 and to allow output of information from the network node 1500. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1500. [0148] FIG. 16 is a block diagram of a host 1600, which may be an embodiment of the host 1316 of FIG. 13, in accordance with various aspects described herein. As used herein, the host 1600 may be or comprise various combinations hardware and/or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 1600 may provide one or more services to one or more UEs. [0149] The host 1600 includes processing circuitry 1602 that is operatively coupled via a bus 1604 to an input/output interface 1606, a network interface 1608, a power source 1610, and a memory 1612. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 14 and 15, such that the descriptions thereof are generally applicable to the corresponding components of host 1600.

[0150] The memory 1612 may include one or more computer programs including one or more host application programs 1614 and data 1616, which may include user data, e.g., data generated by a UE for the host 1600 or data generated by the host 1600 for a UE. Embodiments of the host 1600 may utilize only a subset or all of the components shown. The host application programs 1614 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711 ), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 1614 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 1600 may select and/or indicate a different host for over-the-top services for a UE. The host application programs 1614 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.

[0151] FIG. 17 is a block diagram illustrating a virtualization environment 1700 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 1700 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 1700 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2 interface.

[0152] Applications 1702 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and/or benefits of some of the embodiments disclosed herein.

[0153] Hardware 1704 includes processing circuitry, memory that stores software and/or instructions executable by hardware processing circuitry, and/or other hardware devices as described herein, such as a network interface, input/output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 1706 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1708a and 1708b (one or more of which may be generally referred to as VMs 1708), and/or perform any of the functions, features and/or benefits described in relation with some embodiments described herein. The virtualization layer 1706 may present a virtual operating platform that appears like networking hardware to the VMs 1708.

[0154] The VMs 1708 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1706. Different embodiments of the instance of a virtual appliance 1702 may be implemented on one or more of VMs 1708, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0155] In the context of NFV, a VM 1708 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, nonvirtualized machine. Each of the VMs 1708, and that part of hardware 1704 that executes that VM, be it hardware dedicated to that VM and/or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 1708 on top of the hardware 1704 and corresponds to the application 1702.

[0156] Hardware 1704 may be implemented in a standalone network node with generic or specific components. Hardware 1704 may implement some functions via virtualization. Alternatively, hardware 1704 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 1710, which, among others, oversees lifecycle management of applications 1702. In some embodiments, hardware 1704 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 1712 which may alternatively be used for communication between hardware nodes and radio units.

[0157] FIG. 18 shows a communication diagram of a host 1802 communicating via a network node 1804 with a UE 1806 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 1312a of FIG. 13 and/or UE 1400 of FIG. 14), network node (such as network node 1310a of FIG. 13 and/or network node 1500 of FIG. 15), and host (such as host 1316 of FIG. 13 and/or host 1600 of FIG. 16) discussed in the preceding paragraphs will now be described with reference to FIG. 18.

[0158] Like host 1600, embodiments of host 1802 include hardware, such as a communication interface, processing circuitry, and memory. The host 1802 also includes software, which is stored in or accessible by the host 1802 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 1806 connecting via an over-the-top (OTT) connection 1850 extending between the UE 1806 and host 1802. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 1850.

[0159] The network node 1804 includes hardware enabling it to communicate with the host 1802 and UE 1806. The connection 1860 may be direct or pass through a core network (like core network 1306 of FIG. 13) and/or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0160] The UE 1806 includes hardware and software, which is stored in or accessible by UE 1806 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 1806 with the support of the host 1802. In the host 1802, an executing host application may communicate with the executing client application via the OTT connection 1850 terminating at the UE 1806 and host 1802. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 1850 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 1850.

[0161] The OTT connection 1850 may extend via a connection 1860 between the host 1802 and the network node 1804 and via a wireless connection 1870 between the network node 1804 and the UE 1806 to provide the connection between the host 1802 and the UE 1806. The connection 1860 and wireless connection 1870, over which the OTT connection 1850 may be provided, have been drawn abstractly to illustrate the communication between the host 1802 and the UE 1806 via the network node 1804, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0162] As an example of transmitting data via the OTT connection 1850, in step 1808, the host 1802 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 1806. In other embodiments, the user data is associated with a UE 1806 that shares data with the host 1802 without explicit human interaction. In step 1810, the host 1802 initiates a transmission carrying the user data towards the UE 1806. The host 1802 may initiate the transmission responsive to a request transmitted by the UE 1806. The request may be caused by human interaction with the UE 1806 or by operation of the client application executing on the UE 1806. The transmission may pass via the network node 1804, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 1812, the network node 1804 transmits to the UE 1806 the user data that was carried in the transmission that the host 1802 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 1814, the UE 1806 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 1806 associated with the host application executed by the host 1802. [0163] In some examples, the UE 1806 executes a client application which provides user data to the host 1802. The user data may be provided in reaction or response to the data received from the host 1802. Accordingly, in step 1816, the UE 1806 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input/output interface of the UE 1806. Regardless of the specific manner in which the user data was provided, the UE 1806 initiates, in step 1818, transmission of the user data towards the host 1802 via the network node 1804. In step 1820, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 1804 receives user data from the UE 1806 and initiates transmission of the received user data towards the host 1802. In step 1822, the host 1802 receives the user data carried in the transmission initiated by the UE 1806.

[0164] One or more of the various embodiments improve the performance of OTT services provided to the UE 1806 using the OTT connection 1850, in which the wireless connection 1870 forms the last segment. More precisely, the teachings of these embodiments may leverage the true benefit from sequential agents that comes from their modeling of the system behavior and more fine-grained proposals through action sequences.

[0165] In an example scenario, factory status information may be collected and analyzed by the host 1802. As another example, the host 1802 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 1802 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 1802 may store surveillance video uploaded by a UE. As another example, the host 1802 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 1802 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and/or transmitting data.

[0166] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 1850 between the host 1802 and UE 1806, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 1802 and/or UE 1806. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 1850 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 1850 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 1804. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 1802. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 1850 while monitoring propagation times, errors, etc.

[0167] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and/or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and/or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0168] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and/or by end users and a wireless network generally.