Evaluation as a service for network automation
The evaluation-as-a-service mechanism automates the validation of 5G and 6G network resources by translating intent-based strategies into executable rules, reducing manual intervention and enhancing the efficiency of network orchestration through automated resource readiness assessments.
Patent Information
- Application Number
- PCT/CN2024/089420
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-23
- Publication Date
- 2025-10-30
AI Technical Summary
Current 5G virtual RAN (vRAN) operations require significant manual efforts and human intervention for evaluating computing, network, and infrastructure resources, especially in public and private cloud environments, due to the complexity of cloud management logic and diverse application interfaces, which complicates end-to-end automation.
An evaluation-as-a-service mechanism is introduced, where an evaluation controller obtains a request for a strategy associated with RAN operations, determines an executable strategy based on operating data, and provides an evaluation result to network service nodes, utilizing Common Expression Language (CEL) or Python for strategy translation and Abstract Syntax Tree (AST) compilation to automate the validation process.
This approach reduces manual efforts, simplifies validation processes, allows parallel processing of evaluations, and ensures efficient resource readiness assessments for 5G and future 6G network automation, enhancing the automation and efficiency of network orchestration.
Smart Images

Figure CN2024089420_30102025_PF_FP_ABST
Abstract
Description
EVALUATION AS A SERVICE FOR NETWORK AUTOMATION
[0001] FIELDS
[0002] Various example embodiments of the present disclosure generally relate to the field of telecommunication and in particular, to methods, devices, apparatuses and computer readable storage medium for evaluation as a service for a network automation, especially for an intent-based 5G or 6G network automation.BACKGROUND
[0003] Intent-based networking (IBN) is a form of network administration that incorporates artificial intelligence (AI) , network orchestration to automate administrative tasks across a network. The goal of IBN is to reduce the complexity of creating, managing and enforcing network policies and reduce the manual labor associated with traditional configuration management.SUMMARY
[0004] In a first aspect of the present disclosure, there is provided an apparatus. The first apparatus comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to:obtain a request at least of an evaluation on at least one first strategy associated with one or more radio access network (RAN) operations; and determine at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy; perform, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; and provide, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.
[0005] In a second aspect of the present disclosure, there is provided a method. The method comprises: obtaining a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations; and determining at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy; performing, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; and providing, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.
[0006] In a third aspect of the present disclosure, there is provided an apparatus. The first apparatus comprises means for obtaining a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations; and means for determining at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy; means for performing, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; and means for providing, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.
[0007] In a fourth aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the second aspect.
[0008] It is to be understood that the Summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Some example embodiments will now be described with reference to the accompanying drawings, where:
[0010] FIG. 1 illustrates an example communication environment in which example embodiments of the present disclosure can be implemented;
[0011] FIG. 2 illustrate a signaling chart of communication according to some example embodiments of the present disclosure;
[0012] FIG. 3 illustrates an example of the evaluation service work procedure according to some example embodiments of the present disclosure;
[0013] FIG. 4 illustrates an example of offload evaluation from business program to a service according to some example embodiments of the present disclosure;
[0014] FIG. 5 illustrates a flowchart of a method implemented at an apparatus in accordance with some example embodiments of the present disclosure;
[0015] FIG. 6 illustrates a simplified block diagram of a device that is suitable for implementing example embodiments of the present disclosure; and
[0016] FIG. 7 illustrates a block diagram of an example computer readable medium in accordance with some example embodiments of the present disclosure.
[0017] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION
[0018] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. Embodiments described herein can be implemented in various manners other than the ones described below.
[0019] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0020] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0021] It shall be understood that although the terms “first, ” “second, ” …, etc. in front of noun (s) and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another and they do not limit the order of the noun (s) . For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0022] As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0023] As used herein, unless stated explicitly, performing a step “in response to A” does not indicate that the step is performed immediately after “A” occurs and one or more intervening steps may be included.
[0024] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.
[0025] As used in this application, the term “circuitry” may refer to one or more or all of the following:
[0026] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and
[0027] (b) combinations of hardware circuits and software, such as (as applicable) :
[0028] (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and
[0029] (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and
[0030] (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.
[0031] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network node, or other computing or network node.
[0032] As used herein, the term “communication network” refers to a network following any suitable communication standards, such as New Radio (NR) , Long Term Evolution (LTE) , LTE-Advanced (LTE-A) , Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , Narrow Band Internet of Things (NB-IoT) and so on. Furthermore, the communications between a terminal device and a network node in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the first generation (1G) , the second generation (2G) , 2.5G, 2.75G, the third generation (3G) , the fourth generation (4G) , 4.5G, the fifth generation (5G) , 5.5G, the sixth generation (6G) communication protocols, and / or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.
[0033] As used herein, the term “network node” refers to a node in a communication network via which a terminal device accesses the network and receives services therefrom. The network node may refer to a base station (BS) or an access point (AP) , for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , an NR NB (also referred to as a gNB) , a Remote Radio Unit (RRU) , a radio header (RH) , a remote radio head (RRH) , a relay, an Integrated Access and Backhaul (IAB) node, a low power node such as a femto, a pico, a non-terrestrial network (NTN) or non-ground network node such as a satellite network node, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, an aircraft network node, and so forth, depending on the applied terminology and technology. In some example embodiments, radio access network (RAN) split architecture comprises a Centralized Unit (CU) and a Distributed Unit (DU) at an IAB donor node. An IAB node comprises a Mobile Terminal (IAB-MT) part that behaves like a UE toward the parent node, and a DU part of an IAB node behaves like a base station toward the next-hop IAB node. The network node hereinafter may refer to a network node in core network, such as 5G core network.
[0034] As described above, intent-based networking (IBN) is a form of network administration that incorporates artificial intelligence (AI) , network orchestration to automate administrative tasks across a network. Every intent-based networking system (IBNS) incorporates the following key characteristics:
[0035] · Translation and validation: The system can translate commands or business intent from network engineers into actions that software can perform. In addition, the intent-based network system shall be able to verify that the intent can be executed successfully in the network system.
[0036] · Automated implementation: once the intent or desired state is defined, the system will allocate network resources and enforce policies to meet the goal.
[0037] · Awareness of state: the system will continuously gather and monitor data to reflect the current state of the network.
[0038] · Assurance and dynamic optimization / remediation: the system will implement and maintain the desired state of the network, applying automated corrective action if necessary. AI / ML gives the network the ability to analyze, extract and learn from data dynamically.
[0039] In these key characteristics, evaluation is one of the key actions to perform. For example, validation defines the rules which need to be evaluated with the data from network system, automation need to be triggered from some evaluation result, and ensure the goal have been achieved and verified properly, dynamic optimization / remediation need to evaluate the desired state of network with the real key performance indicator (KPI) data of network.
[0040] FIG. 1 illustrates an example communication environment 100 in which example embodiments of the present disclosure can be implemented. The communication environment 100 comprises an evaluation controller 110, which may, for example, be deployed in any network node, such as a RAN network node or a core network node. It is to be understood that the evaluation controller 110 may also be considered as a separated entity / device.
[0041] The evaluation controller 110 may provide an evaluation service, e.g., as a micro service and evaluate whether computing, network, timing and infra resources are prepared well for virtual RAN (vRAN) deployment on public clouds or private cloud environment.
[0042] For example, the evaluation controller 110 may communicate with a RAN orchestrator 120. The evaluation request or query item may be transmitted from the RAN orchestrator 120 to the evaluation controller 110. A “CustomResource” application interface (API) may be created for the evaluation controller 110 to obtain the evaluation request or query item from the RAN orchestrator 120.
[0043] During the evaluation, the evaluation controller 110 may obtain network operating data from the data provider 140. The evaluation result may be provided the evaluation controller 110 to one or more service nodes 130 or corresponding service function (s) .
[0044] It is to be understood that the number of devices and their connections shown in FIG. 1 are only for the purpose of illustration without suggesting any limitation. The communication environment 100 may include any suitable number of devices configured to implementing example embodiments of the present disclosure.
[0045] Communications in the communication environment 100 may be implemented according to any proper communication protocol (s) , comprising, but not limited to, cellular communication protocols of the first generation (1G) , the second generation (2G) , the third generation (3G) , the fourth generation (4G) , the fifth generation (5G) , 5.5G, the sixth generation (6G) , and the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.
[0046] For 5G or future 6G intent-based network operation, validation is one vital step and work to do. As while the business intents were translated into declarative policies, the IBN system need to verify if the policies were feasible or not to execute, usually to verify hardware, networks resources, or Container as a Service (CaaS) / Platform as a Service (PaaS) states are ready or matched for policy enforcement.
[0047] Currently for 5G virtual RAN (vRAN) operation, the first major problem is a lot of manual efforts and human intervention are necessary to do evaluations if computing, network, timing and infra resources are prepared well for vRAN deployment on public clouds or a private cloud environment.
[0048] One behind reason is, public clouds all have their own cloud management logic and application interfaces (APIs) , for 5G vRAN end-to-end automation, the validation program becomes too complex, if to consider both validation scenes and multiplex with different public clouds.
[0049] In addition, 5G vRAN belongs to the most complex types of software systems in the world, consist of many sub-workloads and have complex requirements on computing and network resources, for example need specific hardware accelerator for 5G NR processing, network interface card’s strong capability with high throughput for fronthaul transport, and computing nodes with <100 us level timing sync accuracy etc.
[0050] Currently, the handling of validations is mostly embedded in network orchestration software, how to build one common pipeline to do 5G vRAN validations for variants of public cloud environments have been become one big software engineering challenge.
[0051] In accordance with some example embodiments of the present disclosure, there is provided a solution for evaluation as a service for a network automation, especially for an intent-based 5G or 6G network automation. In this solution, a request at least of an evaluation on at least one first strategy associated with one or more RAN operations is obtained by the evaluation controller 110 from the RAN orchestrator 120. The evaluation controller 110 then determines at least one second strategy executable for an evaluation service provided by the evaluation controller 110 based on the at least one first strategy and performs, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy. After obtaining the evaluation result the at least one first strategy generated based on the evaluation on the at least one second strategy, the evaluation controller 110 may provide it to at least one network service node 130 associated with the one or more RAN operations.
[0052] Example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0053] The reference now is made to FIG. 2, which illustrates a signaling flow 200 of communication in accordance with some embodiments of the present disclosure. For the purposes of discussion, the signaling flow 200 will be discussed with reference to FIG. 1, for example, by using the evaluation controller 110, the RAN orchestrator 120, one or more service nodes 130 and the data provider 140.
[0054] The custom resource (CR) 201 may be created as an API between the evaluation controller 110 and the RAN orchestrator 120. For example, the RAN orchestrator 120 may create the CR 201 for an evaluation and automatically trigger it based on the process shown in FIG. 2. The evaluation controller may watch and reconciles any Evaluation CR created in the cluster.
[0055] As shown in FIG. 2, the RAN orchestrator 120 may provide (205) a request of an evaluation on at least one first strategy associated with one or more RAN operations to the evaluation controller 110, for example, via a CR 201.
[0056] For example, the at least one first strategy may comprise a description of the at least one first strategy in intent-based nature language, which may represent that a network performance or a network deployment is to be evaluated based on one or more specific polices / rules. The first strategy in intent-based nature language may be first at least partially represented by Common Expression Language (CEL) semantics. As another option, besides the CEL, the first strategy in intent-based nature language may also be represented by Python language.
[0057] An example of a first strategy is listed as below:
[0058] Table 1
[0059] As shown in Table 1, the field “evalPolicy” may represent that an evaluation is to be performed and may be associated with a mode for the evaluation. For example, two modes of evaluation may be supported, i.e., evaluation to do in period or by counts. If to do evaluation in period, the interval period (in unit of milliseconds) is to be provided (e.g., by the field “period” ) ; in case of by counts, besides the period value, the counts value may also need to be provided (e.g., by the field “counts” ) . The validations will stop while the counts value decreased to zero. In addition, ‘dataDateAfter’ field allows user to specify the time effectiveness of data, which should be produced later than value of ‘dataDateAfter’ .
[0060] That is, if the evaluation controller 110 determines that the request comprises an indication of a period for performing the evaluation, the evaluation controller 110 may perform the evaluation based on the period. If the evaluation controller 110 determines that the number of performing times of the evaluation reaches the count value, the evaluation controller 110 may stop performing the evaluation.
[0061] Furthermore, the field ‘dataIndicators’ may be used to indicate which data source (e.g., an address or an identifier of the data provider 140) may be read by evaluation controller 110 to evaluate the under rules. For example, it could be ‘cpu’ , so that evaluation controller 130 may go to fetch the CPU related statistic data.
[0062] In Table 1, two action fields ‘evaluate’ and ‘query’ are offered, though more actions can be extended. Action ‘evaluate’ will indicate evaluation controller 110 to parse the rules under it.
[0063] Upon receiving the request, the evaluation controller 110 may parse (210) the at least one first strategy to determine the at least one second strategy, which may be based on computer-readable language and may be executable for an evaluation service provided by the evaluation controller 110. For example, the evaluation controller 110 may translate the at least one first strategy to the at least one second strategy based on an Abstract Syntax Tree (AST) . Hereinafter the first strategy may also be referred to as rules.
[0064] These rules under field “evaluate” listed in the Table 1 may be written by using Common Expression Language (CEL) semantics, which may be used to implement semantics for expression evaluation and has a straightforward syntax that is similar to the expressions in C, C++, Java, JavaScript and Go, so that evaluation controller 110 may compile the rules into AST at the first time this evaluation. As described above, these rules may also be represented by Python script.
[0065] Furthermore, the evaluation controller 110 may retrieve data associated with the evaluation from the data resource indicated in the at least one first strategy, e.g., by the field ‘dataIndicators’ in Table 1. As shown in FIG. 2, the evaluation controller 110 may retrieve / fetch (215) data from the data provider 140 and perform (220) the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy, which is fetched from the data provider 140.
[0066] The CR 201 may be created or once some rule has been updated. Then in each reconcile loop, the evaluation controller 110 may bind the fetched data and the compiled AST, do evaluations. For action ‘query’ , evaluation controller 110 may go to fetch the specified data items from available data sources and return the values, update into CR 201 status field.
[0067] For the evaluation action, for example, the evaluation controller 110 may validate the at least one second strategy based on the fetched operating data. If the at least one second strategy is valid, the evaluation controller 110 may determine that the at least one first strategy corresponding to the at least one second strategy is valid. The evaluation result of the at least one first strategy may indicate respective validities of the at least one first strategy. A validity of a first strategy may indicate whether the first strategy is valid or failed.
[0068] Upon generating the evaluation / query result of the at least one first strategy based on the evaluation on the at least one second strategy, the results may be updated into a status filed of CR 201. An example of the result is listed as below:
[0069] Table 2
[0070] As shown in Table 2, the field “evalutatedList” may print each rule content followed by its evaluation result as ‘Pass’ , ‘Failed’ , or ‘Error’ . Also, the time consumed for each rule’s evaluation will be suffixed.
[0071] The field “evaluatedResult” may be a string binary values, and each bit mapped with a rule. ‘1’ indicates the rule is evaluated as ‘Failed’ or ‘Error’ , ‘0’ indicates the corresponding rule evaluation is successful.
[0072] The field “queryResult” may return the values of each query items specified in spec. The field “timestamp” may be the latest timestamp at which the results were updated by evaluation controller 110, and the field “totalEvaluationTime” may be the total time consumed by evaluation controller to finish this round of evaluation and query actions.
[0073] The evaluation / query result may be provided (225) from the evaluation controller 110 to the RAN orchestrator 120 and further forward (230) to one or more service node 140.
[0074] For the query action, the RAN orchestrator 120 may add (235) query of data in CR 201. The evaluation controller 110 may and perform (240) the query by reading data from the data provider 140. After the query result is determined by the evaluation controller 110, the RAN orchestrator 120 may read (245) the query result from the evaluation controller 110. Other actions may be similar with the evaluation action which will be omitted here.
[0075] FIG. 3 illustrates an example of the evaluation service work procedure according to some example embodiments of the present disclosure. Hereinafter, the solution of the present disclosure may be further described with reference to FIG. 3 in detail.
[0076] As shown in FIG. 3, a CR 201 is created for evaluation rules or query items. As described above, the RAN orchestration 120 may create the CR 201. As an example, the RAN orchestration 120 may be program / function deployed at a certain entity. As another example, the RAN orchestration 120 may be a user or a network operator. The evaluation rules or query items may be parsed in the evaluation controller 110. The evaluation rules or query items may be translated to machine executable rules.
[0077] As described, the CEL based rules or expressions may be compiled to AST before execution. This is expected to happen in control plane which is not time critical. The compiled AST then can be executed repeatedly without recompilation. The execution of compiled AST typically happens in user plane which is time critical.
[0078] As shown in FIG. 3, it is also possible that the Python script based rules or expressions may be compiled to AST before execution.
[0079] The first kind of source of rules is from evaluation CR for each data indicator. These rules are specified by users per their use cases and interest. Then rules are extracted from CR by the evaluation controller 110 and are compiled against corresponding environment (with right data structures, variable declarations, function declarations etc. ) . The rules will only be compiled when evaluation service first time see them. There is a cache inside evaluation controller 110 to store compiled ASTs for each rule. Once the AST for the specific rule is present, the compilation will be skipped, and the AST will be directly used for rule execution. This is the typical case for the CR with period evaluation policy or count policy when count is larger than 1. Compilation happens once, and compiled ASTs are used for all the following evaluations.
[0080] In this way, an association between first history strategies and second history strategies may be stored at the evaluation controller 110. If the evaluation controller 110 determines that the at least one first strategy, obtained from the request, is included in the first history strategies, the evaluation controller 110 determine the at least one second strategy based on the association without repeating the compilation of the at least one first strategy.
[0081] The second kind of source of rules is from startup configurations of the evaluation service. This is good for these common rules, which are likely to be used by different users. This is good also for scenarios when the evaluation service is dedicated used for some use case, where the rules are known beforehand. In this case, the rules are compiled early in startup phase of evaluation service, or the rules can also be implemented as functions inside evaluation controller and compiled into evaluation controller. This can avoid time for rule compilation during custom resource creation or updating phase.
[0082] An example of the first kind of rules in form of Evaluation CR is listed as below:
[0083] Table 3
[0084] For performing the evaluation, the evaluation controller 110 may fetch data from data provider 140.
[0085] Evaluation of rules are done against real data, being it as like CPU, Memory of specific container infrastructure, CNF runtime status, etc. The evaluation service need either gather all this data by itself or rely on other software to provide the data.
[0086] The design of evaluation service is to gather basic data by itself, while leave other data which may require area of expertise to the data providers, with a flexible cooperation mechanism. Data providers are independent software entities from the evaluation service. Software changes to data providers would not impact evaluation controller. The evaluation controller must support to configure and fetch data from data providers with different protocols, being it as gRPC, HTTP / HTTPS, Kubernetes CR (custom resources) , database, etc.
[0087] Information of data providers can be registered to the evaluation service at runtime using its provided CR “DataProvider” . The evaluation service may know the data structure which will be provided by the data providers. The data structure may be known also during compilation of the evaluation service. Protobuf is used as one of the interface standards between the evaluation controller and data providers.
[0088] Furthermore, the protobuf is used to build environment for CEL evaluation. With that, the data gathered from data provided can be evaluated then by evaluation controller.
[0089] As shown in FIG. 3, based on the fetched data and machine executable rules, the evaluation controller 110 may perform the evaluation and generate the evaluation results.
[0090] Then an example of the evaluation results for above CR 201 is listed as below. The evaluation controller 110 may follow the evaluation policy to update the results to a status filed of a CR 201, such as in period.
[0091] Table 4
[0092] As described above, the solution of the present disclosure proposes a mechanism for offering a flexible and standalone evaluation service which can take most of evaluation or query processing from 5G vRAN orchestrator program or human user at any runtime.
[0093] FIG. 4 illustrates an example of offload evaluation from business program to a service according to some example embodiments of the present disclosure. As shown in FIG. 4, the evaluation processing can be offloaded from the main business logic to evaluation service and an Evaluation-as-a-Service pattern may be created. That is, the evaluation processing can be provided by the evaluation controller 110 as a service. CR may be triggered for the evaluation service and the evaluation controller 110 may feedback the result to the main business logic.
[0094] Based on the solution of the present disclosure, human or program business intents can be translated into executable evaluation rules, with aid of CEL tool. The new service can offload complex validation processing from the program’s mainstream. Once the data is ready, validation jobs can be handled ahead of time compared with prior fixed phase of validation in main program. It will make the main program business logic be tidier and evaluations become more efficient.
[0095] Due to the evaluation offload feature, validations can be processed in parallel by evaluation controller. That is, the evaluations may be performed as early as possible, before 5G vRAN orchestrator program to execute heavy LCM actions, to avoid potential rollback cost. If same validation rules were required by multiple programs, then in new mode, the same validation result can be shared by multiple programs, to save computing cost.
[0096] Last but not least, evaluation service is not only required by validation, but also useful to serve ‘Filter’ , ‘Alter’ , ‘Schedule’ , ‘Automation’ and so on. So that this evaluation service can serve more business programs for different purposes.
[0097] FIG. 5 shows a flowchart of an example method 500 implemented at an apparatus in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 500 will be described from the perspective of the evaluation controller 110 in FIG. 1.
[0098] At block 510, the evaluation controller 110 obtains a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations.
[0099] At block 520, the evaluation controller 110 determines at least one second strategy executable for an evaluation service provided by the evaluation controller 110 based on the at least one first strategy.
[0100] At block 530, the evaluation controller 110 performs, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy.
[0101] At block 540, the evaluation controller 110 provides, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.
[0102] In some example embodiments, the at least one first strategy comprises a description of the at least one first strategy in intent-based nature language.
[0103] In some example embodiments, the at least one second strategy are based on computer-readable language.
[0104] In some example embodiments, the method 500 further comprises: translating the at least one first strategy to the at least one second strategy based on an Abstract Syntax Tree, AST.
[0105] In some example embodiments, the method 500 further comprises: storing an association between first history strategies and second history strategies; and in accordance with a determination that the at least one first strategy is included in the first history strategies, determining the at least one second strategy based on the association and the at least one first strategy.
[0106] In some example embodiments, the method 500 further comprises: determining, based on the request, a data source associated with the evaluation on the at least one first strategy; and fetching the operating data from the data source.
[0107] In some example embodiments, the method 500 further comprises: in accordance with a determination that the request comprises an indication of a period for performing the evaluation, performing the evaluation based on the period.
[0108] In some example embodiments, the method 500 further comprises: obtaining, from the request, a count value indicating the number of times of the evaluation to be performed; and in accordance with a determination that the number of performing times of the evaluation reaches the count value, stopping performing the evaluation.
[0109] In some example embodiments, the method 500 further comprises: validating the at least one second strategy based on the operating data; and in accordance with a determination that the at least one second strategy is valid, determining that the at least one first strategy corresponding to the at least one second strategy is valid.
[0110] In some example embodiments, the evaluation result of the at least one first strategy indicates respective validities of the at least one first strategy, and wherein a validity of a first strategy indicates whether the first strategy is valid or failed.
[0111] In some example embodiments, the method 500 further comprises: determining, based on the request, a query of at least one data item at a data source; fetching the at least one data item from the data source based on the query; and generating a query result based on at least one returned data item.
[0112] In some example embodiments, the evaluation controller 110 comprises an evaluation controller deployed at a RAN node or a core network node.
[0113] In some example embodiments, an apparatus capable of performing any of the method 500 (for example, the evaluation controller 110 in FIG. 1) may comprise means for performing the respective operations of the method 500. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The apparatus may be implemented as or included in the evaluation controller 110 in FIG. 1.
[0114] In some example embodiments, the apparatus comprises means for obtaining a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations; and means for determining at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy; means for performing, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; and means for providing, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.
[0115] In some example embodiments, the at least one first strategy comprises a description of the at least one first strategy in intent-based nature language.
[0116] In some example embodiments, the at least one second strategy are based on computer-readable language.
[0117] In some example embodiments, the apparatus further comprises: means for translating the at least one first strategy to the at least one second strategy based on an Abstract Syntax Tree, AST.
[0118] In some example embodiments, the apparatus further comprises: means for storing an association between first history strategies and second history strategies; and means for in accordance with a determination that the at least one first strategy is included in the first history strategies, determining the at least one second strategy based on the association and the at least one first strategy.
[0119] In some example embodiments, the apparatus further comprises: means for determining, based on the request, a data source associated with the evaluation on the at least one first strategy; and means for fetching the operating data from the data source.
[0120] In some example embodiments, the apparatus further comprises: means for in accordance with a determination that the request comprises an indication of a period for performing the evaluation, performing the evaluation based on the period.
[0121] In some example embodiments, the apparatus further comprises: means for obtaining, from the request, a count value indicating the number of times of the evaluation to be performed; and means for in accordance with a determination that the number of performing times of the evaluation reaches the count value, stopping performing the evaluation.
[0122] In some example embodiments, the apparatus is caused to: means for validating the at least one second strategy based on the operating data; and means for in accordance with a determination that the at least one second strategy is valid, determining that the at least one first strategy corresponding to the at least one second strategy is valid.
[0123] In some example embodiments, the evaluation result of the at least one first strategy indicates respective validities of the at least one first strategy, and wherein a validity of a first strategy indicates whether the first strategy is valid or failed.
[0124] In some example embodiments, the apparatus further comprises: means for determining, based on the request, a query of at least one data item at a data source; means for fetching the at least one data item from the data source based on the query; and means for generating a query result based on at least one returned data item.
[0125] In some example embodiments, the apparatus comprises an evaluation controller deployed at a RAN node or a core network node.
[0126] FIG. 6 is a simplified block diagram of a device 600 that is suitable for implementing example embodiments of the present disclosure. The device 600 may be provided to implement a communication device, for example, the evaluation controller 110 as shown in FIG. 1. As shown, the device 600 includes one or more processors 610, one or more memories 620 coupled to the processor 610, and one or more communication modules 640 coupled to the processor 610.
[0127] The communication module 640 is for bidirectional communications. The communication module 640 has one or more communication interfaces to facilitate communication with one or more other modules or devices. The communication interfaces may represent any interface that is necessary for communication with other network elements. In some example embodiments, the communication module 640 may include at least one antenna.
[0128] The processor 610 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 600 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
[0129] The memory 620 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 624, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , an optical disk, a laser disk, and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random-access memory (RAM) 622 and other volatile memories that will not last in the power-down duration.
[0130] A computer program 630 includes computer executable instructions that are executed by the associated processor 610. The instructions of the program 630 may include instructions for performing operations / acts of some example embodiments of the present disclosure. The program 630 may be stored in the memory, e.g., the ROM 624. The processor 610 may perform any suitable actions and processing by loading the program 630 into the RAM 622.
[0131] The example embodiments of the present disclosure may be implemented by means of the program 630 so that the device 600 may perform any process of the disclosure as discussed with reference to FIG. 2 to FIG. 5. The example embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0132] In some example embodiments, the program 630 may be tangibly contained in a computer readable medium which may be included in the device 600 (such as in the memory 620) or other storage devices that are accessible by the device 600. The device 600 may load the program 630 from the computer readable medium to the RAM 622 for execution. In some example embodiments, the computer readable medium may include any types of non-transitory storage medium, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .
[0133] FIG. 7 shows an example of the computer readable medium 700 which may be in form of CD, DVD or other optical storage disk. The computer readable medium 700 has the program 630 stored thereon.
[0134] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, and other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. Although various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0135] Some example embodiments of the present disclosure also provide at least one computer program product tangibly stored on a computer readable medium, such as a non-transitory computer readable medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target physical or virtual processor, to carry out any of the methods as described above. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0136] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0137] In the context of the present disclosure, the computer program code or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer readable medium, and the like.
[0138] The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0139] Further, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, although several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Unless explicitly stated, certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, unless explicitly stated, various features that are described in the context of a single embodiment may also be implemented in a plurality of embodiments separately or in any suitable sub-combination.
[0140] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.An apparatus comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to:obtain a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations;determine at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy;perform, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; andprovide, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.2.The apparatus of claim 1, wherein the at least one first strategy comprises a description of the at least one first strategy in intent-based nature language.3.The apparatus of claim 1 or 2, wherein the at least one second strategy are based on computer-readable language.4.The apparatus of any of claims 1-3, wherein the first apparatus is caused to:translate the at least one first strategy to the at least one second strategy based on an Abstract Syntax Tree, AST.5.The apparatus of any of claims 1-3, wherein the first apparatus is caused to:store an association between first history strategies and second history strategies; andin accordance with a determination that the at least one first strategy is included in the first history strategies, determine the at least one second strategy based on the association and the at least one first strategy.6.The apparatus of any of claims 1-5, wherein the first apparatus is caused to:determine, based on the request, a data source associated with the evaluation on the at least one first strategy; andfetch the operating data from the data source.7.The apparatus of any of claims 1-6, wherein the first apparatus is further caused to:in accordance with a determination that the request comprises an indication of a period for performing the evaluation, perform the evaluation based on the period.8.The apparatus of any of claims 1-7, wherein the first apparatus is further caused to:obtain, from the request, a count value indicating the number of times of the evaluation to be performed; andin accordance with a determination that the number of performing times of the evaluation reaches the count value, stop performing the evaluation.9.The apparatus of any of claims 1-8, wherein the apparatus is caused to:validate the at least one second strategy based on the operating data; andin accordance with a determination that the at least one second strategy is valid, determine that the at least one first strategy corresponding to the at least one second strategy is valid.10.The apparatus of claim 9, wherein the evaluation result of the at least one first strategy indicates respective validities of the at least one first strategy, and wherein a validity of a first strategy indicates whether the first strategy is valid or failed.11.The apparatus of any of claims 1-10, wherein the first apparatus is caused to:determine, based on the request, a query of at least one data item at a data source;fetch the at least one data item from the data source based on the query; andgenerate a query result based on at least one returned data item.12.The apparatus any of claims 1-10, wherein the apparatus comprises an evaluation controller deployed at a RAN node or a core network node.13.A method comprising:obtaining a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations;determining at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy;performing, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; andproviding, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.14.An apparatus comprising:means for obtaining a request at least of an evaluation on at least one first strategy associated with one or more radio access network, RAN, operations;means for determining at least one second strategy executable for an evaluation service provided by the apparatus based on the at least one first strategy;means for performing, based on the request, the evaluation on the at least one second strategy based on operating data associated with the one or more RAN operations corresponding to the at least one first strategy; andmeans for providing, to at least one network service node associated with the one or more RAN operations, an evaluation result of the at least one first strategy generated based on the evaluation on the at least one second strategy.15.A computer readable medium comprising instructions stored thereon for causing an apparatus at least to perform the method of claim 13.
Citation Information
Patent Citations
Method for managing target terminal and device thereof and storage medium
CN113904939A
Service evaluation method and device, electronic equipment and storage medium
CN116909863A
Methods and systems that use machine-learning to determine workloads and to evaluate deployment / configuration policies
US20230177345A1
Dynamic security policy generation
US9325739B1