A RAN intelligent controller (RIC) is a software-defined component in the Open Radio Access Network (Open RAN) architecture. The RIC, in this architecture, is responsible for controlling and optimizing RAN functions, and is an important piece of the Open RAN disaggregation strategy for multivendor interoperability. The RIC offers users a chance to onboard third-party applications that automate and optimize RAN operations while supporting use cases that can lower mobile operators' cost of ownership and help better user experience.
With 5G deployments increasing, and the need for low latency in those experiences, 5G specifications like Control and User Plane Separation, functional RAN splits and network slicing, require advanced virtualization combined with SDN. This is why the RAN Intelligent Controller was developed, to enable the eNB/gNB functionalities as X-Apps on northbound interfaces. RIC is built to offer better control functionality with increased efficiency and better radio resource management.
The RIC incorporates artificial intelligence and machine learning into decision-making functionalities and comes in two forms: near-real time and non-real time, which can be adapted to specific latency or control loop requirements. The non-real time RIC are often used to manage resources with a response time of one second or more, while the near-real time RIC manages events and resources that require a response time down to 10 milliseconds. The non-real time RIC is deployed centrally, while the near-real time RIC can be deployed centrally or on the network edge.
The non-real time RIC uses specialized applications called rApps to enable the less than 1 second control of RAN elements and resources. It also provides network data, performance metrics, subscriber data, and recommendations for network optimization and policy guidance to xApps, which run on the near-real time RIC, which provides feedback to the non-real time RIC.

RIC architecture as defined by O-Ran Alliance.
Further specifications for the design of the RIC have been released in the 3GPP Release 15 and by the O-Ran Alliance, which offers technical workgroups for shaping elements of the Open RAN specification.
The RIC enables interoperability across different hardware and software in an O-RAN architecture. It features a standardized interface, the E2, from the O-CU and O-DU to the RIC. Along that interface, the RIC receives measurements from the RAN about network performance. This then is where the RIC makes intelligent decisions to improve network performance characteristics, such as subscriber positioning, handover to a cell, and changing to a different frequency. Further, it works to adapt to any variables to further optimize the experience and performance of the network. In order to understand if the changes made have improved network performance, they are sent back across the interface to the RAN, where a measurement is assessed to understand if there has been an improvement.

