blob: 31c219cbe1fe3aa4d4f9cbcd1c74fac75d8c35ab [file] [log] [blame]
Alexandre Huffb86721b2021-05-28 13:32:02 -03001
2
3.. This work is licensed under a Creative Commons Attribution 4.0 International License.
4.. SPDX-License-Identifier: CC-BY-4.0
5..
6.. CAUTION: this document is generated from source in doc/src/*
7.. To make changes edit the source and recompile the document.
8.. Do NOT make changes directly to .rst or .md files.
9
10
E. Scott Danielsf7b96952020-04-29 10:07:53 -040011============
Alexandre Huffb86721b2021-05-28 13:32:02 -030012User's Guide
E. Scott Danielsf7b96952020-04-29 10:07:53 -040013============
14---------------------
15Traffic Steering xAPP
16---------------------
Alexandre Huffb86721b2021-05-28 13:32:02 -030017
18Introduction
E. Scott Danielsf7b96952020-04-29 10:07:53 -040019============
20
Alexandre Huffb86721b2021-05-28 13:32:02 -030021The Traffic Steering Use Case demonstrates intelligent inferences in the Near-RT RIC and E2 interaction in order to execute on the inferences.
Ron Shacham394029b2020-06-02 13:48:42 -040022
Alexandre Huffb86721b2021-05-28 13:32:02 -030023The current Use Case is comprised of five xApps:
24
25* KPI Monitoring xApp: Gathers the radio and system Key Performance Indicators (KPI) metrics from E2 Nodes and stores them in the Shared Data Layer (SDL).
26* Anomaly Detection (AD) xApp: Fetches UE data regularly from SDL, monitors UE metrics and sends the anomalous UEs to Traffic Steering xApp.
27* Traffic Steering xApp (*this one*): Consumes A1 Policy Intent, listens for badly performing UEs, sends prediction requests to QP Driver, and listens for messages that show UE throughput predictions in different cells to make a decision about UE Handover.
28* QoE Prediction Driver (QP Driver) xApp: Generates a feature set of metrics to input to QoE Prediction, based on SDL lookups in UE-Metric and Cell-Metric namespaces.
29* QoE Prediction (QP) xApp: Receives a feature set of metrics for a given UE, and output Throughput predictions on the Serving and any Neighbor cells to Traffic Steering xApp.
Ron Shacham394029b2020-06-02 13:48:42 -040030
31A1 Policy
32=========
33
34A1 Policy is sent to Traffic Steering xApp to define the Intent which will drive the Traffic Steering behavior.
35
36Policy Type ID is 20008.
37
Alexandre Huffb86721b2021-05-28 13:32:02 -030038Currently, there is only one parameter that can be provided in A1 Policy: *threshold*
Ron Shacham394029b2020-06-02 13:48:42 -040039
40An example Policy follows:
Alexandre Huffb86721b2021-05-28 13:32:02 -030041
42.. code-block::
43
44 { "threshold": 5 }
45
46.. FIXME Is the "Serving Cell RSRP" related to "Degradation" in AD message
Ron Shacham394029b2020-06-02 13:48:42 -040047
Alexandre Huff849717d2021-06-09 18:22:45 -030048This Policy instructs Traffic Steering xApp to request a QoE Prediction for any UE whose Serving Cell RSRP is less than 5.
49Traffic Steering logs each A1 Policy update.
Ron Shacham394029b2020-06-02 13:48:42 -040050
Alexandre Huffb86721b2021-05-28 13:32:02 -030051Receiving Anomaly Detection
52===========================
53
54Traffic Sterring xApp defines a callback to listen to Anomaly Detection messages received from AD xApp. The RMR message type is 30003.
55The following is an example message body:
56
57.. code-block::
58
59 [
60 {
61 "du-id":1010,
62 "ue-id":"Train passenger 2",
63 "measTimeStampRf":1620835470108,
64 "Degradation":"RSRP RSSINR"
65 }
66 ]
67
68.. ``[{"du-id": 1010, "ue-id": "Train passenger 2", "measTimeStampRf": 1620835470108, "Degradation": "RSRP RSSINR"}]``
69
Ron Shacham394029b2020-06-02 13:48:42 -040070Sending QoE Prediction Request
71==============================
72
Alexandre Huffb86721b2021-05-28 13:32:02 -030073Traffic Steering listens for badly performing UEs. When it identifies a UE whose RSRP is below the threshold, it generates
74a QoE Prediction Request message and sends it to the QP Driver xApp. The RMR Message Type is 30000.
75The following is an example message body:
Ron Shacham394029b2020-06-02 13:48:42 -040076
Alexandre Huffb86721b2021-05-28 13:32:02 -030077.. {"UEPredictionSet" : ["12345"]}
78
79.. code-block::
80
81 { "UEPredictionSet": ["Train passenger 2"] }
Ron Shacham394029b2020-06-02 13:48:42 -040082
Alexandre Huff849717d2021-06-09 18:22:45 -030083The current version of Traffic Steering xApp does not (yet) consider the A1 policy to generate QoE prediction requests.
84Each Anomaly Detection message received from AD xApp, results in a QoE Prediction Request to QP Driver xApp.
85
Ron Shacham394029b2020-06-02 13:48:42 -040086Receiving QoE Prediction
87========================
88
89Traffic Steering xApp defines a callback for QoE Prediction received from QP xApp. The RMR message type is 30002. The following is an example message body:
90
Alexandre Huffb86721b2021-05-28 13:32:02 -030091.. {"12345" : { "310-680-200-555001" : [ 2000000 , 1200000 ] , "310-680-200-555002" : [ 800000 , 400000 ] , "310-680-200-555003" : [ 800000 , 400000 ] } }
Ron Shacham394029b2020-06-02 13:48:42 -040092
Alexandre Huffb86721b2021-05-28 13:32:02 -030093.. code-block::
Ron Shacham394029b2020-06-02 13:48:42 -040094
Alexandre Huffb86721b2021-05-28 13:32:02 -030095 {
96 "Train passenger 2":{
97 "310-680-200-555001":[2000000, 1200000],
98 "310-680-200-555002":[1000000, 4000000],
99 "310-680-200-555003":[5000000, 4000000]
100 }
101 }
Ron Shacham394029b2020-06-02 13:48:42 -0400102
Alexandre Huffb86721b2021-05-28 13:32:02 -0300103This message provides predictions for UE ID "Train passenger 2". For its service cell and neighbor cells, it lists an array containing two elements: DL Throughput and UL Throughput predictions.
Ron Shacham394029b2020-06-02 13:48:42 -0400104
Alexandre Huffb86721b2021-05-28 13:32:02 -0300105Traffic Steering xApp checks for the Service Cell ID for UE ID, and determines whether the predicted throughput is higher in a neighbor cell.
106The first cell in this prediction message is assumed to be the serving cell.
107
108If predicted throughput is higher in a neighbor cell, Traffic Steering sends a CONTROL message through a REST call to E2 SIM. This message requests to hand-off the corresponding UE, and an example of its payload is as follows:
109
110.. code-block::
111
112 {
113 "command": "HandOff",
114 "seqNo": 1,
115 "ue": "Train passenger 2",
116 "fromCell": "310-680-200-555001",
117 "toCell": "310-680-200-555003",
118 "timestamp": "Sat May 22 10:35:33 2021",
119 "reason": "Hand-Off Control Request from TS xApp",
120 "ttl": 10
121 }
122
123Traffic Steering also logs the REST response, which shows whether or not the control operation has succeeded.