maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. SPDX-License-Identifier: CC-BY-4.0 |
elinuxhenrik | 0a4c38b | 2020-04-14 10:59:36 +0200 | [diff] [blame^] | 3 | .. Copyright (C) 2020 Nordix |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 4 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 5 | Requirements for the Non-RT RIC project |
| 6 | ========================================== |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 7 | |
| 8 | Find detailed description of what Non-RT RIC is on this `page`_. |
| 9 | |
| 10 | .. _page: https://wiki.o-ran-sc.org/display/RICNR/ |
| 11 | |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 12 | There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following: |
| 13 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 14 | #. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for different use cases). |
| 15 | #. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case. |
| 16 | #. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case. |
| 17 | #. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications. |
| 18 | #. Non-RT RIC shall support performance monitoring and evaluation. |
| 19 | #. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration. |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 20 | |
| 21 | The non-functional requirements are the following ones: |
| 22 | |
maximesson | f217fff | 2020-04-09 15:16:04 +0200 | [diff] [blame] | 23 | #. Non-RT RIC shall not update the same policy or configuration parameter for a given Near-RT RIC or RAN function more often than once per second. |
| 24 | #. Non-RT RIC shall be able to update policies in several Near-RT RICs. |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 25 | |
| 26 | Moreover, there are functional requirements regarding the A1 interface: |
| 27 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 28 | #. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC. |
| 29 | #. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC. |
| 30 | #. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC. |
| 31 | #. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance. |
| 32 | #. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC. |
maximesson | 780b2bf | 2019-11-12 16:09:02 +0100 | [diff] [blame] | 33 | |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 34 | A1 policy procedure |
| 35 | ------------------- |
| 36 | |
| 37 | As for A-release, the methods are as follows: |
| 38 | |
| 39 | +---------------------+--------------------------+--------------------------+ |
| 40 | | A1 policy procedure | Single policy method | Multiple policies method | |
| 41 | +---------------------+--------------------------+--------------------------+ |
| 42 | | Create policy | PUT | | |
| 43 | +---------------------+--------------------------+--------------------------+ |
| 44 | | Query policy | GET | GET (sequence of \*) | |
| 45 | +---------------------+--------------------------+--------------------------+ |
| 46 | | Update policy | PUT | | |
| 47 | +---------------------+--------------------------+--------------------------+ |
| 48 | | Delete policy | DELETE | | |
| 49 | +---------------------+--------------------------+--------------------------+ |
| 50 | | Notify policy | POST | POST | |
maximesson | 780b2bf | 2019-11-12 16:09:02 +0100 | [diff] [blame] | 51 | +---------------------+--------------------------+--------------------------+ |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 52 | |
| 53 | Policy Agent Overview |
| 54 | ======================= |
| 55 | |
maximesson | eaaee91 | 2020-03-26 16:43:27 +0100 | [diff] [blame] | 56 | The Policy Agent maintains a transient repository of the following items to support R-Apps: |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 57 | |
maximesson | eaaee91 | 2020-03-26 16:43:27 +0100 | [diff] [blame] | 58 | * All Near-RT RICs in the network. This information is configured using the ONAP CDS database (which is using the Cloudify Consul database). |
maximesson | f217fff | 2020-04-09 15:16:04 +0200 | [diff] [blame] | 59 | * All Policy types for all Near-RT RICs |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 60 | * All configured Policy instances in the network |
| 61 | |
maximesson | f217fff | 2020-04-09 15:16:04 +0200 | [diff] [blame] | 62 | It provides an NBI for the R-Apps (and for the Control Panel) for policy management. This is a REST API. |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 63 | As an option, policy management can also be done via asynchronous messages through ONAP/Dmaap. |
maximesson | f217fff | 2020-04-09 15:16:04 +0200 | [diff] [blame] | 64 | The NBI provides support for an R-APP to locate the correct Near-RT RIC based on identifiers as defined in O1. |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 65 | |
| 66 | The agent monitors all Near-RT RICs and recovers from data inconsistencies, which may happen when (for instance) an Near-RT RIC restarts. |
| 67 | |
| 68 | The R-Apps can be monitored so that their Policies can be automatically removed when an R-App is stopped/removed. |
| 69 | |
| 70 | On its southbound side the agent can connect to a number of different A1 providers: |
| 71 | |
maximesson | eaaee91 | 2020-03-26 16:43:27 +0100 | [diff] [blame] | 72 | * Directly to the Non-RT RIC: |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 73 | |
| 74 | - OSC API, which is influenced by the A1 standard |
maximesson | eaaee91 | 2020-03-26 16:43:27 +0100 | [diff] [blame] | 75 | - The Non-RT RIC simulator, which supports the A1 standard with a number of not yet CRs included. |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 76 | * To an ONAP style controller. |
| 77 | |
| 78 | Amber release Policy Agent architecture |
| 79 | ----------------------------------------- |
| 80 | |
| 81 | .. image:: ./images/NonRtRicComponents.png |
| 82 | :scale: 50 % |
| 83 | |
maximesson | f217fff | 2020-04-09 15:16:04 +0200 | [diff] [blame] | 84 | Non-RT RIC components: |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 85 | |
maximesson | eaaee91 | 2020-03-26 16:43:27 +0100 | [diff] [blame] | 86 | #. Policy Agent |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 87 | #. SDNC A1 Controller |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 88 | |