# A Survey on Open Radio Access Networks: Challenges, Research Directions, and Open Source Approaches
## 5 O-RAN Alliance Architecture
### Near-RT RIC  
The Near-RT RIC is a logical function that allows near-real-time control and optimization over the RAN elements and resources through data collection and actions over its interface [58; 60]. In short, Near-RT RIC will receive the policy from Non-RT RIC, follow the policy, and adjust the RAN parameters based on the given policy. To do this, Near-RT RIC has A1, O1, and E2 interfaces. Data collection and actions are performed by Near-RT RIC through the E2 interface connected to E2 nodes. The controlling actions over the E2 nodes are directed by the policies and enrichment data that the Near-RT RIC receives from the Non-RT RIC via A1 interface, as we have explained before. In addition, the O1 interface enables FCAPS from the SMO to Near-RT RIC. Near-RT RIC's architecture can be seen in Figure 12.  
An E2 node is a general term for a logical node terminating the E2 interface [58]. Specifically, the E2 node could be an O-CU, O-DU, or O-eNB. From the Near-RT RIC perspective, the E2 interface is a one-to-many connection [5]. Only CP protocols are performed in the E2 interface. The E2 functions include two category groups: Near-RT RIC Services and Near-RT RIC support functions. Near-RT RIC services contain report, insert, control, and policy. On the other hand, Near-RT RIC support functions cover E2 management and Near-RT RIC service update.  
In Figure 12, we can see that the Near-RT RIC has several components. These components can be divided into two major groups: the RIC platform and the xApps. The RIC platform includes all the supporting termination and management components. The database stores and provides data from or to xApp applications and from E2 nodes. The xApps subscription management combines all subscription and data distribution operations. Conflicting interactions from different xApps are resolved by the conflict mitigation function. Security function protects the Near-RT RIC from hazards coming through the third-party xApps. Management services cover FCAPS and life cycle management for xApps. Messaging infrastructure provides a common message distribution system for different components of the Near-RT RIC.  
Figure 12: Near-RT RIC internal architecture.  
Conversely, the xApps component is the main component of the Near-RT RIC. xApps is a set of applications where each xAPP provides specific RAN functions for the corresponding E2 node. Examples of these functions are RAN data analysis and RAN control [6]. xApps are considered as third-party applications and can be implemented by multiple microservices [5]. The xApps component is used to enhance the RRM capabilities of the O-RAN architecture. xApps can also provide basic info such as configuration data, metrics, and controls.  
Currently, RIC platform development is led by Nokia. HCL leads the development of xApps. There are eight xApps that available in the project: Anomaly Detection xApp, Bouncer xApp, HelloWorld xApps, Load Prediction xApp, Measurement Campaign xApp, QoE Prediction xApp, Traffic Steering(TS) xApp and KPI Monitor xApp. In H release, RICAPP also have a new HW-Rust xApp to support RUST framework. In [61], it demonstrates Near-RT RIC via E2 interface in OSC F release to modify RAN parameters in the E2 node. It shows E2 capability to do report and indication service.