My friend: Hi Ibrahim, I have a question for you.
- Me: Please, go ahead.
My friend: I was wondering what is meant by rApp and xApp in Open RAN?
- Me: rApp and xApp are simply applications that are installed on the non-RT RIC and the near-RT RIC respectively. So, simply they are just software used on the RIC to add more functionality and what is fantastic here is that these apps can be from any third-party company and not necessarily be made by the vendor who will implement the RIC as we are in the open RAN world
My friend: Could you give some examples for these apps?
- Me: Let’s start with the rApp and it is designed to run on the non-RT RIC, so we can say that it handles the non-RT functions that need more than 1 sec to be executed which may take minutes or hours. The below figure is showing three rApps, so rApp X is an RF signal predictor which takes the input of the actual radio measurement done by the UE for the serving and neighboring cells and the current UE location and then using AI/ML gives us the output of the prediction of the UE location in future (e.g., after 10 sec) and the expected radio measurements of the serving and neighboring cells at the expected UE location. Also, rApp Y is a cell utilization predictor which takes the input of the actual cell utilization and using AI/ML provides the expected cell utilization in future (e.g., after 60 minutes).
My friend: So, what about the rApp Z?
- Me: rApp Z is a UE QoE (Quality of Experience) predictor, which takes all the inputs and outputs of rApps X and Y as an input for it and using AI/ML to provide the current QoE of this UE at the current serving cell and the expected QoE for the UE if the UE is connected to a neighbor cell instead of the current serving cell, also it predicts the QoE for that UE in future when it is still connected to the same serving cell and also the QoE of the UE in future if it is connected to a neighbor cell.
My friend: Then, what xApp do?
- Me: xApp are designed to run on the near-RT RIC and so it should handle functions that run between 10 ms and 1 sec. So, for example one xApp can take the output of rApp X and decides to do handover for that UE assuming its predicted RF measurements will decrease in future, so we can avoid the performance degradation for that UE. Also, another xApp can take the output of rApp Z to enhance the QoE of a certain UE if it is going to degrade at the serving cell in future by enabling carrier aggregation for that UE to enhance its QoE and so on.
My friend: Thank you so much. You made it very clear.
- Me: You are most welcome.