Skip to content

RIMEDO-Labs/rimedo-ts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

   

Overview

Traffic Steering (TS) xApplication (xApp) for µONOS RIC - associates the users with the eNB/gNB taking into account user radio conditions, cell types, and service type/QoS profile. It can be controlled by policies from non-RT RIC (A1 interface).

Key features:

  • Suitable for heterogeneous scenarios
  • Per-user association decision taking into account radio conditions (e.g. RSRP), service type (e.g. 5QI), cell type
  • Optimizes user-throughput and cell-outage

An example of xApp operation

Example of an policy influence on single UE. The traffic sterring is realized by direct indication of user as the policy scope contains ueId. It is worth paying attention to UE association at different point of time. Demo

List of events during the demo:

12:58:32 - start of xApp
there is no TS policy applied
13:00:00 - put policy with ID 1 to A1T endpoint
{
   "scope":{
      "ueId":"0000000003064635"
   },
   "tspResources":[
      {
         "cellIdList":[
            {
               "plmnId":{
                  "mcc":"314",
                  "mnc":"628"
               },
               "cId":{
                  "ncI":470106432
               }
            }
         ],
         "preference":"PREFER"
      }
   ]
}
13:01:47 - delete policy with ID 1 at A1T endpoint
there is no TS policy applied
13:02:47 - put policy with ID 2 at A1T endpoint
{
   "scope":{
      "ueId":"0000000003064635"
   },
   "tspResources":[
      {
         "cellIdList":[
            {
               "plmnId":{
                  "mcc":"314",
                  "mnc":"628"
               },
               "cId":{
                  "ncI":470106432
               }
            }
         ],
         "preference":"AVOID"
      }
   ]
}
13:04:07 - put policy with ID 2 at A1T endpoint (update)
{
   "scope":{
      "ueId":"0000000003064635"
   },
   "tspResources":[
      {
         "cellIdList":[
            {
               "plmnId":{
                  "mcc":"314",
                  "mnc":"628"
               },
               "cId":{
                  "ncI":470106432
               }
            }
         ],
         "preference":"FORBID"
      }
   ]
}
13:05:07 - delete policy with ID 2 at A1T endpoint
there is no TS policy applied

Extra example of xApp operation

Click to show demo

Example of an policy influence on single UE or group of UEs. The traffic sterring is realized by indication of user's service type as the policy scope contains qosId - in this case 5qI value is used. It is assumed that only one slice exists. The values of 5QI are changing randomly according to the data generated by the simulator. It is worth paying attention to UE association at different point of time.

Demo

List of events during the demo:

13:55:00 - start of xApp
there is no TS policy applied
13:56:23 - put policy with ID 1 to A1T endpoint
{
   "scope":{
      "sliceId":{
         "sst":1,
         "sd":"456DEF",
         "plmnId":{
            "mcc":"314",
            "mnc":"628"
         }
      },
      "qosId":{
         "5qI":1
      }
   },
   "tspResources":[
      {
         "cellIdList":[
            {
               "plmnId":{
                  "mcc":"314",
                  "mnc":"628"
               },
               "cId":{
                  "ncI":470106432
               }
            }
         ],
         "preference":"SHALL"
      }
   ]
}

Installation

To use TS xApp there should be kubernetes, docker, helm and sdran (by ONOS) installed and deployed. You can use SDRAN-in-a-Box project to install everything at once, or install requirements manually and deploy sdran from SDRAN Helm charts repository.

Requirements

TS xApp was tested under this version of SD-RAN modules. Tested under ran-simulator model two-cell-two-node-model.yaml.

Module Version
onos-a1t v0.1.4
onos-cli v0.9.8
onos-config v0.10.19
onos-e2t v0.10.5
onos-topo v0.9.2
ran-simulator v0.9.2

Deployment

To deploy TS xApp firstly build docker image, and then use helm to install xApp.

    make docker
    make install-xapp

Installation

Useful tips

  • <ip_address>:31963/policytypes/ORAN_TrafficSteeringPreference_2.0.0/policies/<policy_id> - the policies are send to A1 interface on address
  • kubectl logs -n riab rimedo-ts-<id> rimedo-ts - observe logs of TS xApp
  • watch onos uenib get ues -v - observe RSRP of UE (type in onos-cli)

Packages

No packages published

Languages

  • Go 96.9%
  • Makefile 1.9%
  • Dockerfile 1.2%