Parameter configuration of a resource in a communication network based on whether a conflict exists
The system addresses conflicts in configuring resource parameters in communication networks by using a network node with a message bus and database to detect and manage conflicts, thereby stabilizing network operations and reducing resource oscillations.
Patent Information
- Application Number
- PCT/EP2023/086731
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-05
- Filing Date
- 2023-12-19
- Publication Date
- 2025-03-13
AI Technical Summary
In communication networks, particularly in O-RAN architectures, conflicts arise when multiple rApps attempt to configure the same parameter of a resource, leading to instability and challenges in orchestration and merging of network functions.
A system is implemented with a network node, multiple network functions, a message bus, and a database that detects conflicts between requests to configure a resource parameter. It determines whether a second request conflicts with a first request within a specified time period and performs actions such as permitting, filtering, or prioritizing requests to resolve conflicts.
This approach mitigates instability in network nodes by filtering out conflicting requests, allowing network functions to communicate while preventing oscillations in resource configurations, thus enhancing system stability and maintainability.
Smart Images

Figure EP2023086731_13032025_PF_FP_ABST
Abstract
Description
PARAMETER CONFIGURATION OF A RESOURCE IN A COMMUNICATION NETWORK BASED ON WHETHER A CONFLICT EXISTSTECHNICAL FIELD
[0001] The present disclosure is related to wireless communication systems and more particularly to configuring a parameter of a resource in a communication network based on whether a conflict exists between a plurality of requests to configure the parameter of the resource.BACKGROUND
[0002] An open radio access network (O-RAN) architecture may include network functions, such as two types of automation applications known as xApps and rApps, for example. An rApp may be designed to run on a Non- Real-Time radio access network (RAN) intelligent controller (RIC) to realize different RAN automation and management use cases, with control loops on a time scale of one second and longer. To the contrary, an xApp may be designed to work on a Real-Time RIC and, as such, may handle controls loops ranging between 10 ms to 1 second.
[0003] Types of rApps can include, for example: (1) Network evolution, which can enhance network planning with more efficient radio frequency (RF) planning, site selection, and capacity management, for example. Further, a network evolution rAPP may improve network and service performance and may enable new revenue by data driven and intent-based insights and recommendations; (2) Network deployment, which can handle provisioning and life cycle management of complex networks with optimal costs and speed to market, for example; (3) Network optimization, which can offer, e.g., intelligent autonomous functions to optimize customer experience and return on investments, such as RF shaping, traffic and mobility management, energy efficiency, etc.; and / or (4) Network healing, which can ensure or improve service continuity and resolution of basic and / or complex incidents, and deliver high availability while keeping operation costs at a minimum, for example.
[0004] In addition to different types of rApps, there may be different vendors of rAPPs, which may not only increase the number / volume of rAPPs and / or their vendors but also may generate potential conflicts in a communication network when different rApps operate on a same configuration management (CM) parameter(s). For example, Figure 1 is a schematic drawing illustrating an example where three different rApps 100a, 100b, 100c are each tasked to control remote electrical tilt (RET) of a RAN antenna 102. As shown in this example, rApp 100a controls the RET by up tilting if there is a coverage problem; rApp 100b controls RET by down tilting if there is a quality problem; while rApp 100c controls RET by down tilting if there is a capacity problem.
[0005] As illustrated in Figure 1, each of rApps 100a, 100b, 100c control the same parameter (RET in this example) of RAN antenna 102. The rApps 100a, 100b, 100c, however, may set different values for the angle of antenna 102 depending on a different objective (coverage, quality, or capacity, respectively). In the absence of orchestration, for example, two or more of rApps 100a, 100b, 100c may have a conflict by simultaneously (or sequentially) changing the same parameter to achieve a different objective.SUMMARY
[0006] Some approaches may try to orchestrate network functions that control the same parameter of a resource, while other approaches may try to merge the network functions. Challenges with such approaches may include: (1) Orchestration of a plurality of network functions (e.g., several rApps) may be expensive to implement, and may need additional effort and standardization among different vendors. Further, as a consequence, development of such network functions may be hindered; and (2) Merging a plurality of network functions (e.g., rApps 100a, 100b, 100c in Figure 1) may be problematic as a software engineering practice since such merging can generate monolithic network functions (e.g., rApps), which may be difficult to maintain in the long term.
[0007] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. In some embodiments, a system is provided that includes a network node, a plurality of network functions, a message bus for the plurality of network functions, and a database, for configuring a parameter of a resource in a communication network based on whether a conflict exists between a plurality of requests to configure the parameter. The system is configured to detect an event including a second request to configure the parameter of the resource within a specified time period after a first request to configure the parameter of the resource. The system is further configured to determine whether the second request to configure the parameter of the resource is in conflict with the first request to configure the parameter of the resource. The system is further configured to perform at least one of (I) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (ill) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
[0008] According to some embodiments, a computer-implemented method for method for managing a plurality of network functions in a system is provided. The method includes determining whether there is a conflict between a first request and a second request to configure a parameter of a resource within a specified time period after the first request. The method further includes performing at least one of (I) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (ill) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
[0009] According to other embodiments, a network node, computer program, computer program product, or non-transitory readable medium is provided to perform the above method.
[0010] Certain embodiments may provide one or more of the following technical advantages. In some embodiments, instability may be mitigated in a network node (such as an service management and orchestration (SMO) component of an O-RAN) or system tasked to interact with a plurality of network functions (such as rApps or xApps) that respectively can configure a parameter of a common resource. Instability mitigation may be achieved based on a filtering operation that permits network functions to communicate while filtering out a request(s) to configure the parameter of the common resource that may make the network node or system unstable.BRIEF DESCRIPTION OF THE DRAWINGS
[0011] 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:
[0012] Figure 1 is a schematic drawing illustrating an example where three different rApps are each tasked to control RET of a RAN antenna in accordance with some embodiments;
[0013] Figure 2 is a schematic diagram illustrating an overview of an example system in accordance with some embodiments;
[0014] Figure 3 is a sequence diagram illustrating an example for generating a safety shield for a negative case for one or several rApps in accordance with some embodiments;
[0015] Figure 4 is a sequence diagram illustrating an example for enabling / enforcing the safety shield generated in Figure 3 in accordance with some embodiments;
[0016] Figure 5 is a schematic drawing of a setup of an example in accordance with some embodiments;
[0017] Figure 6 is schematic diagram of an example O-RAN architecture;
[0018] Figure 7 is a flow chart illustrating an example of operations performed by a network node in accordance with some embodiments;
[0019] Figure 8 is a block diagram of a communication system in accordance with some embodiments;
[0020] Figure 9 is a block diagram of a network node in accordance with some embodiments; and
[0021] Figure 10 is a block diagram of a virtualization environment in accordance with some embodiments.DETAILED DESCRIPTION
[0022] 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 the present disclosure are shown. The present disclosure 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.
[0023] There currently exist certain challenges. Network functions (such as rApps or xApps) that can respectively configure a parameter of a common resource may result in instability based on different / varying configurations of the parameter. As previously indicated, orchestration of such network functions may be difficult to implement, standardize, and / or develop; and merging such network functions may be problematic as a software engineering practice because merging can result in monolithic network functions that may be difficult to maintain.
[0024] Other approaches may seek to lock the parameter. For example, some approaches may lock the parameter via a locking operation, such as locking mechanisms from parallel or distributed systems such as mutexes or semaphores. However, locking approaches may have at least the following problems:(1) A network function that forces a lock may forget to release the lock and, as such, other network functions may be excluded from accessing the parameter. This may occur because network functions (such as rApps) that are developed by third parties may have problematic or incomplete implementation. While a key value store may implement an operation that can release all locks after a given time out period, this is also problematic as it may be hard to estimate the length of the time out period, which may leave the network functions unable to affect the parameter.(2) A lock may prohibit all network functions from accessing the parameter, which may be restrictive as some network functions may need to access the parameter in a way that does not cause a frequent change, for example.(3) Additional knowledge may need to be implemented in respective network functions to handle their behavior if there is a lock, which may increase the codebase of the network functions.(4) Locks may cause additional signaling in a communication network. For example, a network function that has the lock may not necessarily disclose that to the other network function(s). As such, other network functions still may try to make a request / call (or send a signal), which would be rejected.
[0025] Some embodiments of the present disclosure include identifying a parameter (for a common resource) that may change frequently in a time (e.g., 2 seconds). When multiple network functions, for example, request frequent changes to a parameter of a common resource, a network function need not be aware of additional knowledge to handle behavior of the network function (in contrast to, e.g., approaches using a lock). Rather, other calls / requests (referred to herein as "requests”) to a network function that do not lead to a frequent change to the parameter can still take place, and the network function can still perform other operations. For example, an autoencoder can discriminate between requests that do and do not lead to a frequent change to the parameter. The frequency of a change to the parameter depends on the particular network functions (such as rApps and / or xApps). For example, in one non-limiting example discussed further herein, two different rApps change a remote electrical tilt (RET) value for the angle of an antenna within about 2 seconds.
[0026] Some embodiments lack central orchestration and / or merging network functions, and mediate or resolve conflicts by way of safety shields. While safety shields may be present in some reinforcement learning (RL) approaches, see e.g. https: / / arxiv.org / abs / 1708.08611 , such safety shields primarily may be used to restrict a state, action, reward that a RL agent can access / perform / reward in order to avoid entering states which are potentially unsafe (e.g., may cause unexpected results in live deployments). As a consequence, applying safety shields in such scenarios may be difficult because potential conflicts and overall behavior of a system in such a scenario may not be known during design-time and / or potential conflicts can change over time.
[0027] Other approaches may include a mechanism for dynamically learning safety shields for an agent. See e.g., https: / / arxiv.org / pdf / 2207.13446.pdf. However, such an approach may include the creation of a state machine that represents admissible versus inadmissible states. The construction of such a state machine may use a variant of a regular positive and negative inference (RPNI) process that needs both positive and negative cases.
[0028] In contrast, some embodiments include a framework for developing safety shields in a network function context (e.g., in an rApp context), where a safety shield(s) can be generated by knowing only one class (either positive or negative), which may simplify processes and / or the need for data collection.
[0029] Embodiments of some examples may offer greater flexibility, and less complexity, for a network function(s) compared to use of a lock operation based on the network function(s) omitting soft lock logic. Additionally, some embodiments may provide more flexibility than locks that can eliminate access to a resource. Moreover, safety shields of some embodiments can be re-used and may be updated when a new version of the network function is created, in contrast to more frequent updating for example.
[0030] Some embodiments may overcome limitations of a lock that effectively limits access to a given resource. Rather, in some embodiments, cases are identified where a certain resource may need a "lock” (e.g., due to multiple participants / rApps attempting frequent updates), but rather than including a lock, that behavior is limited (in other words, such requests are reduced). As a consequence, oscillations in the resource of interest may be reduced / limited.
[0031] Some embodiments include monitoring requests / updates for a resource(s), identifying the resource(s) that may be impacted by the requests, and recording the action that causes the impact. Consequently, some embodiments include an autoencoder that learns to distinguish such requests from requests that do not cause an oscillation and deployment of the autoencoder to filter out request(s) when a case of high oscillation occurs.
[0032] As previously indicated, some embodiments may mitigate instability in a network node / system (e.g., O-RAN SMO) tasked to interact with several third party network functions (e.g., rApps / xApps). Instability may occur due to lack of co-ordination between network functions, for example. In contrast to deploying a lock which may allow only a single network function to interact with the system and also for the same network function to release the lock when it is not needed, some embodiments include a filtering operation (e.g., based on autoencoder) that can permit network functions to communicate while leaving out requests that may make the system unstable.
[0033] While some examples herein are discussed in the non-limiting context of network functions that include rApps, embodiments of the present disclosure are not so limited. Rather, network functions can include other network functions, such as xApps for example.
[0034] In some embodiments, a system is provided. The system includes a network node, a plurality of network functions, a message bus for the plurality of network functions, and a database, for configuring a parameter of a resource in a communication network based on whether a conflict exists between a plurality of requests to configure the parameter of the resource. In 5G and beyond, the type of architecture of the system may be referred to as a Software Based Architecture (SBA). The system is configured to detect an event including a second request to configure the parameter of the resource within a specified time period after a first request to configure the parameter of the resource. The system is further configured to determine whether the second request to configure the parameter of the resource is in conflict with the first request to configure the parameter of the resource; and to perform at least one of (i) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (iii) when the second request is in conflict with the firstrequest, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
[0035] In some embodiments, the database comprises a key value store or a distributed ledger.
[0036] In some embodiments, the plurality of network functions comprise a plurality of rApps and / or xApps.
[0037] Figure 2 is a schematic diagram illustrating an overview of an example system 200 in accordance with some embodiments. In this example, system 200 includes rApps 204a, 204b, . . . 204n; message bus 206 that rApps 204a, 204b, . . . 204n subscribe to; key value store 208 that can handle global information about a state of different parameters in a RAN; CM plugin 210 tasked to enforce changes in CM parameters directly to the network; and a safety shield manager 202 that handles generated safety shields to reduce, minimize, or eliminate conflicts between rApps.
[0038] Figures 3 and 4 are sequence diagrams of example operations in the example system 200 of Figure 2. In particular, Figure 3 is a sequence diagram illustrating an example for generating a safety shield for a negative case for one or several rApps; and Figure 4 is a sequence diagram illustrating an example for enabling / enforcing the safety shield generated in Figure 3.
[0039] In the example illustrated in Figure 3, in operation 1, safety shield manager 202 initializes a process for generating a safety shield for rApps 204a, 204b having rApp identifiers (IDs).
[0040] Message bus 206, in operation 2, sends a first topic update (also referred to herein as a first request) to rApp 204a. The first topic update may include a first value for a topic that rApp 204a (and rApp 204b) subscribes to via message bus 206. In the example shown in Figure 3, the subscribed topic includes a parameter for controlling a RET angle of an antenna, and the parameter includes a parameter name (which is Cell Name in Figure 3) and a value (which is a value for the RET angle of the antenna in Figure 3).
[0041] In operation 3, rApp 204a sends the received first topic update, which in this example is a first request to set the RET angle to 30 degrees, to key value store 208.
[0042] In operation 4, message bus 206 sends a second topic update to rApp 204b.
[0043] In operation 5, rApp 204b sends the received second topic update, which is this example is a second request to set the RET angle to 25 degrees, to key value store 208.
[0044] In operation 6, message bus 206 sends a third topic update to rApp204a.
[0045] In operation 7, rApp 204a sends the received third topic update, which in this example is a third request to set the RET angle to 30 degrees, to key value store 208.
[0046] In operation 8, message bus 206 sends a fourth topic update to rApp 204b.
[0047] In operation 9, rApp 204b sends the received fourth topic update, which is this example is a fourth request to set the RET angle to 25 degrees, to key value store 208.
[0048] In operation 10, key value store 208 sends a message to safety shield manager 202 regarding a frequent change event that the key value store 208 observed in operations 3, 7, and 9 for the value for the RET angle. The message can include the IDs of rApps 204a, 204b, the parameter name (Cell Name in this example) and a frequency of the change to the value of the RET angle between operations 3, 7, and 9 (which is 2 seconds in this example).
[0049] In this example, operation 10 is a main trigger for the construction of the safety shield which effectively arose when key value store 208 observed the oscillation for the parameter and value pairs in operations 3, 7, and 9 that the set of rApps 204a, 204b are actively modifying for the value for the RET angle. In other words, rApps 204a, 204b are competing to change the value of RET angle of an antenna to achieve different objectives. Thus, in this case, the process proceeds to operation 11 to build a dataset that contains an association between the input to a given rApp, the output, and whether that output contributes to the oscillation (that is, changes a parameter that another rApp(s) is changing as well) or not. If the output contributes, then this information is added to negative samples in this example. Optionally, if the output does not contribute, it is added to positive samples. Once the information is collected, in this example, an autoencoder is generated as a safety shield.
[0050] An autoencoder is a type of machine learning (ML) that learns an identity function or, in other words, the output of the autoencoder should match its input. In some embodiments, the autoencoder is a binary classifier. An autoencoder as a binary classifier works by training the autoencoder with one set of samples, positive or negative, as shown in operation 12 in Figure 3. When an unseen example comes into the autoencoder (AE) as a binary classifier, the AE will try to reproduce it. If the AE was trained on positive samples and the unseen sample matches the positive case, the reconstruction loss of the AE is small, otherwise it is high. The reconstruction loss may be quantified by way of mean squared error (MSE), mean absolute error (MAE), or Kullback-Leibler (KL) divergence, for example. Using this information, the AE powered safety shield learns to discriminate between positive samples and negative samples.
[0051] In some embodiments, once the safety shield is trained, the safety shield can be used as shown, for example, in Figure 4. Operations 1-10 in Figure 4 are the same operations 1-10 in Figure 3, and for brevity, are not repeated.
[0052] In operation 11 in Figure 4, because oscillations were observed in operations 3, 7, and 9, the safety shield manager 202 enables the safety shield (shown as rAppSafety Shield (rApp SS 400) in Figure 4) for the rApps IDs for a specified time duration. The safety shield 400 is placed between rApp204a and a topic update / request of operation 12 originating from the message bus 206 to the safety shield 400. In operations 13 to 15, if the topic update / request is permitted by the safety shield 400, then the topic update / request will be sent to rApp 204a in operation 13. rApp 204a will use the topic update / request in operation 14 to set the value of the RET angle to 30 degrees and, in operation 15, the safety shield 400 sends conflict feedback to rApp 204a. Otherwise, the topic update / request will not be sent to rApp 204a and, as such, rApp 204a will not act on it and, thus, rApp 204a will not attempt to change the parameter / value pair that was previously detected as oscillating.
[0053] In some embodiments, every rApp has the same priority, and to mitigate frequent changes to a given parameter by different rApps, either each rApp can be placed in the safety shield iteratively as illustrated in Error! Reference source not found., starting with rApp 204a and then proceeding with the next rApp (rApp 204b in this example) if a frequent change is still taking place.
[0054] As shown in operation 16 in Figure 4, safety shield manager 202 indicates to key value store 208 whether a frequent change event persists. If yes, in operations 17 and 18, the topic update / request is not permitted by safety shield 400; and the safety shield 400 provides conflict feedback to rApp 204b in operation 19.
[0055] When the duration for enablement of the safety shield 400 elapses, in operation 20, safety shield manager 202 disables safety shield 400.
[0056] In some embodiments, if there is an association between an rApp and a priority, rApps with low priority can be added in the safety shield 400 first and then more rApps can be introduced following their priority. In the same fashion, following priority safety shields 400 can be disabled once the system (e.g., key value store 208) starts to notice a reduction in the oscillation in the value of a certain parameter(s).
[0057] In another embodiment, an oscillation for a given parameter is detected in key value store 208 which triggers dynamically generating a safety shield 400 to be applied at the key value store 208 for a specific parameter(s). A technical advantage of this embodiment may be that the condition is not rApp specific. A condition that is rApp specific may be prone to errors (e.g., if an rApp forgets to release a lock) since it is controlled by the system. Moreover, in this embodiment, this lock can be used until the safety shield 400 is obtained.
[0058] In another embodiment, instead of collecting negative samples, positive samples are collected that do not yield a conflict to train an autoencoder. In the event of a conflict, the positive autoencoder (as opposed to the negative autoencoder built in Figure 3) is used to exclude negative samples that the positive autoencoder cannot recreate accurately.
[0059] An evaluation of an example was performed in the context of a game of mountain car where the goal is to train an agent that learns which action to take to drive a fictional car up a hill. Given the steepness of the hill, as the car is moving upwards, more effort is expected from the car, but that effort (e.g., acceleration) needs to commence before the car begins to ascend. To illustrate a case of a conflict, a second agent is introduced that is responsible for making sure that a car does not drive into a forbidden area. In this example, the two agents do not know about each other (e.g., like other examples discussed herein where network functions developed by different third parties and are unaware of each other), and that these agents control the same artifact (or set of variables) which will enter a state of oscillation as both agents compete to achieve their goal. The first agent will force the car up the hill since its goal is for the car to reach its destination, while the second agent will force the car to stay away from its original goal as there is a roadblock. As such, an oscillation is expected in the variable hosted by a key value store that tracks the location of the car. Similarly, in examples discussed herein regarding antenna tilt, an oscillation is expected in the variable that captures the tilt of the antenna when two competing agents are tuning that parameter to achieve different goals.
[0060] Figure 5 is a schematic drawing of the setup of this example, including the first agent (Agent 1), the second agent (Agent 2), the car, the hill, the roadblock, and the destination (shown by the flag).
[0061] In this example, if the variable related to the location of the car (or the access to the control of the car for both Agent 1 or Agent 2) was simply locked, then the car would not be able to move and as such remain in a state that may be unwanted. If access to that variable is forbidden for Agent 2, then the car would enter the forbidden space which is not wanted. Conversely, if access for Agent 1 is blocked, the car would never try to go near the optimal state since the goal of the second agent is simply to stop the car from entering the blocked area.
[0062] Thus, in this example, the input that causes Agent 1 to drive to the forbidden area is removed which means that neither agent is blocked, which allows Agent 1 to approximate its goal without trespassing over what Agent 2 considers a forbidden area.
[0063] Table 1 summarizes results of this example:
[0064] As shown in Table 1, when locks were used, the final distance from the goal (that is, the distance between the car and the wanted position which is 0.5) is c - which is a constant value depending on when the lock was enforced / removed. As such, this is a static value and Agent 1 has no effect since the variables are locked.
[0065] As further shown in Table 1, when using an agent without a safety shield, in this example there were 2115 infringements where Agent 1 instructed the car to go beyond what Agent 2 considered as the area where there is a roadblock (point 0.3). Thus, in this example, the trained agent tended to be about 0.03 points away from its goal (which is location 0.5).
[0066] As further shown in Table 1, when a safety shield was used, Agent 1 is no longer trapped in constant value but, instead, approximates its goal (0.5) without breaching point 0.3 and instead hovers at a distance of about 0.19 points away from 0.5 (in other words, around 0.31).
[0067] Figure 6 is schematic diagram of an example O-RAN architecture. This example O-RAN architecture includes:(1) SMO framework 600 comprises a component that oversees orchestration, management, and automation of RAN elements, and supports the 01, A1, and 02 interfaces;(2) Near-RT RIO 604 comprises a logical function that enables near-real-time control and optimization of O-RAN elements and resources via fine-grained data collection and actions over an E2 interface;(3) Non-RT RIO 602 comprises a logical function that enables non-real-time control and optimization of RAN elements and resources, artificial intelligence (AI) / ML workflow including model training and updates, and policy-based guidance of applications / features in near-RT RIO;(4) O-RAN Central Unit (O-CU) 614 comprises a logical node hosting radio resource controls (RRC), service data adaptation protocol (SDAP) and packet data convergence protocol (PDCP) protocols;(5) O-RAN Central Unit - Control Plane (O-CU-CP) 608 comprises a logical node hosting the RRC and the control plane part of the PDCP protocol;(6) O-RAN Central Unit - User Plane (O-CU-UP) 610 comprises a logical node hosting the user plane part of the PDCP protocol and the SDAP protocol;(7) O-RAN Distributed Unit (O-DU) 612 comprises a logical node hosting radio link control (RLC) / medium access control (M AC) / High-physical (PHY) layers based on a lower layer functional split;(8) O-RAN Radio Unit (O-RU) 614 comprises a logical node hosting Low-PHY layer and radio frequency (RF) processing based on a lower layer functional split. This is similar, for example, to the Third Generation Partnership Project (3GPP's) transmission / reception points (“TRP”) or remote radio head (“RRH”) but more specific in including the Low-PHY layer (fast Fourier transform (FFT)Zinverse FFT (IFFT), physical random access channel (PRACH) extraction);(9) xAPP (not depicted) comprises a network function which, for example, can be an independent software plug-in to the Near-RT RIG 604 platform to provide functional extensibility to a RAN by third parties;(10) rAPP (not depicted) comprises a network function which, for example, can be an independent software plug-in to the Non-RT RIG 602 platform to provide functional extensibility to the RAN by third parties;(11) Network node 606 comprises, for example, an open evolved nodeB (O-eNB); and(12) O-Cloud 616 comprises hardware and / or software components that can provide cloud computing capabilities to execute RAN network functions
[0068] Operations of a network node 800 (implemented using the structure of Figure 8) will now be discussed with reference to the flow chart of Figure 7 according to some embodiments of the present disclosure. For example, modules may be stored in memory 806 or network function manager component 808 of Figure 8, and these modules may provide instructions so that when the instructions of a module are executed by respective network node processing circuitry 804, network node 800 performs respective operations of the flow chart.
[0069] In some embodiments, a computer-implemented method is provided for managing a plurality of network functions in a system. The method includes determining (operation 708 in Figure 7) whether there is a conflict between a first request and a second request to configure a parameter of a resource within a specified time period after the first request. The method further includes performing (operation 710 in Figure 7) at least one of (I) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (ill) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
[0070] In some embodiments, the method further includes detecting (operation 704 in Figure 7) an event including that the second request to configure the parameter of the resource within the specified time period after a first request to configure the parameter of the resource.
[0071] In some embodiments, the method further includes receiving (operation 706 in Figure 7), via a database that is common for the plurality of network functions, notification of the event.
[0072] The first request can include a first request of a first network function and the determining (operation 708 in Figure 7) can include (I) building a dataset that includes an association between (a) a first input to the first network function that results in the first network function making the first request to configure the parameter and (b) a second input to a second network function that results in the second network function making the second request toconfigure the parameter; and (ii) classifying the association as one of (a) a negative sample when the second request from the second network function to configure the parameter is in conflict with the first request, and (b) a positive sample when the second request from the second network function to configure the parameter is not in conflict with the first request.
[0073] In some embodiments, the method further includes building (operation 700 in Figure 7) a ML classification model to discriminate positive samples from negative samples.
[0074] The ML classification model can be located in a communication path between respective requests from respective network functions from the plurality of network functions to configure the parameter.
[0075] The ML classification model can (I) permit the second request from the second network function to configure the parameter when the second request is not in conflict with the first request, and (ii) filter out the second request from the second network function to configure the parameter when the second request is in conflict with the first request.
[0076] In some embodiments, the ML classification model comprises an autoencoder.
[0077] In some embodiments, the method further comprises training (operation 702 of Figure 7) the ML classification model to discriminate positive samples from negative samples, and the training includes training on positive samples to filter out a negative sample based on a low reconstruction loss of the ML classification model for a positive sample and a high reconstruction loss of the ML classification model for the negative sample.
[0078] In some embodiments, the method further comprises training (operation 702 of Figure 7) the ML classification model to discriminate positive samples from negative samples, and the training includes training on negative samples to permit a positive sample based on a low reconstruction loss of the ML classification model for a negative sample and a high reconstruction loss of the ML classification model for the positive sample.
[0079] Performing (operation 710 in Figure 7) can be based on an output of the ML classification model that discriminates positive samples from negative samples.
[0080] Detecting (operation 704 in Figure 7) the event can be based on detection of the event by a database that is common to the plurality of network functions.
[0081] Respective network functions in the plurality of network functions can have a same priority level and the performing (operation 710 in Figure 7) proceeds iteratively for respective network functions while there is a conflict with the configuration of the parameters between two respective network functions.
[0082] Respective network functions in the plurality of network functions can have a respective priority level and the performing (operation 710 in Figure 7) first proceeds for at least one network function having a lowest priority level and subsequently proceeds for at least one network function having a higher priority level.
[0083] In some embodiments, the performing (operation 710 in Figure 7) includes to filter out the second request, and the method further includes disabling the performing (operation 714 in Figure 7) when there is not a conflict between the first request and the second request.
[0084] Detecting (operation 704 in Figure 7) the second request can be based on detection of the second request from a database that is common to the plurality of network functions, and performing (operation 710 in Figure 7) can include applying the ML classification model to the parameter in the database that is common to the plurality of network functions.
[0085] In some embodiments, performing (operation 710 in Figure 7) includes to permit the second request, and the method further includes initiating (operation 712 in Figure 7) transmission of a message including permission to configure the parameter according to the second request.
[0086] In some embodiments, the system comprises an O-RAN.
[0087] Various operations from the flow chart of Figure 7 may be optional with respect to some embodiments of network nodes configured to manage a plurality of network functions in a system and related methods. For example, the operations of blocks 700-706 and / or 712-714 may be optional in some embodiments.
[0088] Figure 8 shows a network node 800 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 system (including, without limitation, 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, eNBs, NR NodeBs (gNBs)), O-RAN nodes, or components of an O-RAN node (e.g., intelligent controller, O-RU, O-DU, O-CU).
[0089] 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).
[0090] 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, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).
[0091] The network node 800 includes a processing circuitry 804, a memory 806, a communication interface 802, a network function manager component 808, and a power source (not shown). The network node 800 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 800 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 800 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 806 for different RATs) and some components may be reused (e.g., a same antenna may be shared by different RATs). The network node 800 may also include multiple sets of the variousillustrated components for different wireless technologies integrated into network node 800, 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 800.
[0092] The processing circuitry 804 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 800 components, such as the memory 806 and / or network function manager component 808, to provide network node 800 functionality.
[0093] In some embodiments, the processing circuitry 804 includes a system on a chip (SOC). In some embodiments, the processing circuitry 804 includes one or more of radio frequency (RF) transceiver circuitry and baseband processing circuitry. In some embodiments, the radio frequency (RF) transceiver circuitry and the baseband processing circuitry 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 and baseband processing circuitry may be on the same chip or set of chips, boards, or units.
[0094] The memory 806 and / or network function manager component 808 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 non-volatile, 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 804. The memory 806 and / or network function manager component 808 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 804 and utilized by the network node 800. The memory 806 and / or network function manager component 808 may be used to store any calculations made by the processing circuitry 804 and / or any data received via the communication interface 802. In some embodiments, the processing circuitry 804, memory 806 and / or network function manager component 808 are integrated.
[0095] The communication interface 802 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. The communication interface 802 can comprise port(s) / termi nal (s) to send and receive data, for example to and from a network over a wired connection. The communication interface 802 also can include radio front-end circuitry that may be coupled to, or in certain embodiments a part of, an antenna. A radio signal may then be transmitted via the antenna. Similarly, when receiving data, the antenna may collect radio signals which are then converted into digital data by the radio frontend circuitry. The digital data may be passed to the processing circuitry 804. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0096] In certain alternative embodiments, the network node 800 does not include separate radio front-end circuitry, instead, the processing circuitry 804 includes radio front-end circuitry and is connected to an antenna. Similarly, in some embodiments, all or some of the RF transceiver circuitry is part of the communication interface 802. In still other embodiments, the communication interface 802 includes one or more ports or terminals, the radio front-end circuitry, and the RF transceiver circuitry, as part of a radio unit (not shown), and the communication interface 802 communicates with baseband processing circuitry, which is part of a digital unit (not shown).
[0097] The antenna may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna may be coupled to the radio front-end circuitry and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna is separate from the network node 800 and connectable to the network node 800 through an interface or port.
[0098] The antenna, communication interface 802, and / or the processing circuitry 804 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, the communication interface 802, and / or the processing circuitry 804 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.
[0099] The power source provides power to the various components of network node 800 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source may further comprise, or be coupled to, power management circuitry to supply the components of the network node 800 with power for performing the functionality described herein. For example, the network node 800 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. As a further example, the power source 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.
[0100] Embodiments of the network node 800 may include additional components beyond those shown in Figure 8 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 800 may include user interface equipment to allow input of information into the network node 800 and to allow output of information from the network node 800. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 800.
[0101] Figure 9 shows an example of a communication system 9100 in accordance with some embodiments.
[0102] In the example, the communication system 9100 includes a telecommunication network 9102 that includes an access network 9104, such as a RAN, and a core network 9106, which includes one or more core network nodes 9108. The access network 9104 includes one or more access network nodes, such as network nodes 9110a and 9110b (one or more of which may be generally referred to as network nodes 9110), or any other similar 3GPP access node or non-3GPP access point. Moreover, as will be appreciated by those of skill in the art, thenetwork nodes 9110 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 9110 may include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 9102 includes one or more ORAN network nodes. An ORAN network node is a node in the telecommunication network 9102 that supports an ORAN specification (e.g., a specification published by the 0- 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 9102, including one or more network nodes 9110 and / or core network nodes 9108.
[0103] Examples of an ORAN network node include an O-RU, an O-DU, an O-CU, including an O-CU-CP or an 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 SMO Framework via an O-2 interface defined by the O-RAN Alliance. The network nodes 9110 facilitate direct or indirect connection of user equipment (UE), such as by connecting wireless devices 9112a, 9112b, 9112c, and 9112d (one or more of which may be generally referred to as UEs 9112) to the core network 9106 over one or more wireless connections. The network nodes 9110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 9112a, 9112b, 9112c, and 9112d (one or more of which may be generally referred to as UEs 9112) to the core network 9106 over one or more wireless connections.
[0104] 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 9100 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 9100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0105] The UEs 9112 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 9110 and other communication devices. Similarly, the network nodes 9110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 9112 and / or with other network nodes or equipment in thetelecommunication network 9102 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 9102.
[0106] In the depicted example, the core network 9106 connects the network nodes 9110 to one or more hosts, such as host 9116. 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 9106 includes one more core network nodes (e.g., core network node 9108) 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 9108. 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).
[0107] The host 9116 may be under the ownership or control of a service provider other than an operator or provider of the access network 9104 and / or the telecommunication network 9102, and may be operated by the service provider or on behalf of the service provider. The host 9116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded 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.
[0108] As a whole, the communication system 9100 of Figure 9 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, Li Fl, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0109] In some examples, the telecommunication network 9102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 9102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 9102. For example, the telecommunications network 9102 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.
[0110] In some examples, the UEs 9112 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 9104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the accessnetwork 9104. 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).
[0111] In the example, the hub 9114 communicates with the access network 9104 to facilitate indirect communication between one or more UEs (e.g., UE 9112c and / or 9112d) and network nodes (e.g., network node 9110b). In some examples, the hub 9114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 9114 may be a broadband router enabling access to the core network 9106 for the UEs. As another example, the hub 9114 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 9110, or by executable code, script, process, or other instructions in the hub 9114. As another example, the hub 9114 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 9114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 9114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 9114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 9114 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.
[0112] The hub 9114 may have a constant / persistent or intermittent connection to the network node 9110b. The hub 9114 may also allow for a different communication scheme and / or schedule between the hub 9114 and UEs (e.g., UE 9112c and / or 9112d), and between the hub 9114 and the core network 9106. In other examples, the hub 9114 is connected to the core network 9106 and / or one or more UEs via a wired connection. Moreover, the hub 9114 may be configured to connect to an M2M service provider over the access network 9104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 9110 while still connected via the hub 9114 via a wired or wireless connection. In some embodiments, the hub 9114 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 9110b. In other embodiments, the hub 9114 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 9110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0113] Figure 10 is a block diagram illustrating a virtualization environment 10500 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 10500 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., acore network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 10500 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.
[0114] Applications 10502 (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.
[0115] Hardware 10504 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 10506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 10508a and 10508b (one or more of which may be generally referred to as VMs 10508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 10506 may present a virtual operating platform that appears like networking hardware to the VMs 10508.
[0116] The VMs 10508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 10506. Different embodiments of the instance of a virtual appliance 10502 may be implemented on one or more of VMs 10508, 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.
[0117] In the context of NFV, a VM 10508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 10508, and that part of hardware 10504 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 10508 on top of the hardware 10504 and corresponds to the application 10502.
[0118] Hardware 10504 may be implemented in a standalone network node with generic or specific components. Hardware 10504 may implement some functions via virtualization. Alternatively, hardware 10504 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 10510, which, among others, oversees lifecycle management of applications 10502. In some embodiments, hardware 10504 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 10512 which may alternatively be used for communication between hardware nodes and radio units.
[0119] Although 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.
[0120] 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.
[0121] 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.
Claims
CLAIMSWhat is Claimed is:1 . A system comprising a network node, a plurality of network functions, a message bus for the plurality of network functions, and a database, for configuring a parameter of a resource in a communication network based on whether a conflict exists between a plurality of requests to configure the parameter of the resource, the system configured to: detect an event comprising a second request to configure the parameter of the resource within a specified time period after a first request to configure the parameter of the resource; determine whether the second request to configure the parameter of the resource is in conflict with the first request to configure the parameter of the resource; and perform at least one of (i) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (iii) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
2. The system of Claim 1 , wherein the database comprises a key value store or a distributed ledger.
3. The system of any one of Claims 1 to 2, wherein the plurality of network functions comprise a plurality of rApps and / or xApps.
4. A computer-implemented method for managing a plurality of network functions in a system, the method comprising: determining (708) whether there is a conflict between a first request and a second request to configure a parameter of a resource within a specified time period after the first request; and performing (710) at least one of (i) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (iii) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
5. The method of Claim 4, further comprising: detecting (704) an event comprising the second request to configure the parameter of the resource within the specified time period after a first request to configure the parameter of the resource.
6. The method of Claim 5, further comprising:receiving (706), via a database that is common for the plurality of network functions, notification of the event.
7. The method of any one of Claims 5 to 6, wherein the first request comprises a first request of a first network function and the determining (708) comprises(i) building a dataset that includes an association between (a) a first input to the first network function that results in the first network function making the first request to configure the parameter and (b) a second input to a second network function that results in the second network function making the second request to configure the parameter, and(ii) classifying the association as one of (a) a negative sample when the second request from the second network function to configure the parameter is in conflict with the first request, and (b) a positive sample when the second request from the second network function to configure the parameter is not in conflict with the first request.
8. The method of Claim 7, further comprising: building (700) a machine learning, ML, classification model to discriminate positive samples from negative samples.
9. The method of Claim 8, wherein the ML classification model is located in a communication path between respective requests from respective network functions from the plurality of network functions to configure the parameter.
10. The method of any one of Claims 8 to 9, wherein the ML classification model (I) permits the second request from the second network function to configure the parameter when the second request is not in conflict with the first request, and (ii) filters out the second request from the second network function to configure the parameter when the second request is in conflict with the first request.
11. The method of any one of Claims 8 to 10, wherein the ML classification model comprises an autoencoder.
12. The method of any one of Claims 8 to 11, further comprising: training (702) the ML classification model to discriminate positive samples from negative samples, wherein the training comprises training on positive samples to filter out a negative sample based on a low reconstruction loss of the ML classification model for a positive sample and a high reconstruction loss of the ML classification model for the negative sample.
13. The method of any one of Claims 8 to 11, further comprising: training (702) the ML classification model to discriminate positive samples from negative samples, wherein the training comprises training on negative samples to permit a positive sample based on a low reconstruction loss of the ML classification model for a negative sample and a high reconstruction loss of the ML classification model forthe positive sample.
14. The method of any one of Claims 8 to 13, wherein the performing (710) is based on an output of the ML classification model that discriminates positive samples from negative samples.
15. The method of any one of Claims 5 to 14, wherein the detecting (704) the event is based on detection of the event by a database that is common to the plurality of network functions.
16. The method of any one of Claims 4 to 15, wherein respective network functions in the plurality of network functions have a same priority level and the performing (710) proceeds iteratively for respective network functions while there is a conflict with the configuration of the parameters between two respective network functions.
17. The method of any one of Claims 4 to 15, wherein respective network functions in the plurality of network functions have a respective priority level and the performing (710) first proceeds for at least one network function having a lowest priority level and subsequently proceeds for at least one network function having a higher priority level.
18. The method of any one of Claim 17, wherein when the performing (710) comprises to filter out the second request , the method further comprising: disabling (714) the performing (710)when there is not a conflict between the first request and the second request.
19. The method of any one of Claims 5 to 18, wherein the detecting (704) the second request is based on detection of the second request from a database that is common to the plurality of network functions, and the performing (710) comprises applying the ML classification model to the parameter in the database that is common to the plurality of network functions.
20. The method of any one of Claims 4 to 19, wherein when the performing (710) comprises to permit the second request, the method further comprising: initiating (712) transmission of a message comprising permission to configure the parameter according to the second request.21 . The method of any one of Claims 4 to 20, wherein the system comprises an open radio access network, ORAN.
22. The method of any one of Claims 4 to 21 , wherein the database comprises a key value store or a distributed ledger.
23. The system of any one of Claims 4 to 22, wherein the plurality of network functions comprise aplurality of rApps and / or xApps.
24. A network node (600, 604, 606, 608, 610, 612, 614, 800, 9108) comprising: processing circuitry (804); memory (806, 808) coupled with the processing circuitry, wherein the memory includes instructions that when executed by the processing circuitry causes the network node to perform operations comprising: determine whether there is a conflict between a second request to configure a parameter of a resource within a specified time period from a time of a first request to configure the parameter of the resource; and perform at least one of (i) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (iii) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
25. The network node of Claim 24, wherein the operations further comprise any of the operations of Claims 5 to 23.
26. A non-transitory computer readable medium (806, 808) including program code to be executed by processing circuitry (804) of a network node (600, 604, 606, 608, 610, 612, 614, 800, 9108), whereby execution of the program code causes the program code to perform operations comprising: determine whether there is a conflict between a second request to configure a parameter of a resource within a specified time period from a time of a first request to configure the parameter of the resource; and perform at least one of (i) permit the second request to configure the parameter when the second request is not in conflict with the first request, (ii) filter out the second request when the second request is in conflict with the first request and send a notification regarding the conflict, and (iii) when the second request is in conflict with the first request, determine that the second request overrides the configuration of the parameter of the resource of the first request based on a specified prioritization.
27. The non-transitory computer readable medium (806, 808) of Claim 26, the operations further comprising any of the operations of Claims 5 to 23.
Citation Information
Patent Citations
Use of crds as descriptors for applications, application components, deployments, clouds, ai / ML models, and RTE in an o-ran system
US20230069604A1
Radio access network intelligent application manager
WO2023091664A1
Cited By
Land space planning conflict detection and intelligent auxiliary correction method and system
CN121258286A
A land space planning conflict detection and intelligent auxiliary correction method and system
CN121258286B