Mock QoE xApp that sends a constant prediction
[ric-app/qp.git] / docs / overview.rst
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644 (file)
index 0000000..736fffe
--- /dev/null
@@ -0,0 +1,109 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 AT&T Intellectual Property
+
+QoE Predictor Overview
+======================
+
+QoE Predictor (QP) is an Xapp in the Traffic Steering O-RAN use case,
+which uses the following Xapps:
+
+#. Traffic Steering, which sends prediction requests to QP Driver.
+#. QP Driver, which fetches data from SDL on behalf of traffic steering,
+   both UE Data and Cell Data, merges that data together, then sends off 
+   the data to the QoE Predictor.
+#. QoE Predictor, which predicts and sends that prediction back to Traffic Steering
+#. KPIMONN, which populates SDL in the first place.
+
+Expected Input
+--------------
+
+The QP Xapp expects a prediction-request JSON message via RMR with the following structure::
+
+  {
+    "predictionUE": "UEId1",
+    "ueMeasurements" :
+      { "servingCellId" : "CID2",
+        "measTimestampUePrbUsage" : TS1,
+        "measPeriodUePrbUsage" : Int,
+        "uePrbUsageDL" : Int,
+        "uePrbUsageUL" : Int,
+        "measTimestampUePdcpBytes" : TS2,
+        "measPeriodUePdcpByes" : Int,
+        "uePdcpBytesDL": Int,
+        "uePdcpBytesUL" : Int
+      },
+    "cellMeasurements" : [
+      {
+        "cellId" : "CID2",
+        "measTimestampPrbAvailable" : TS,
+        "measPeriodPrbAvailable" : Int,
+        "prbAvailableDL" : Int,
+        "prbAvailableUL" : Int,
+        "measTimestampPdcpBytes" : TS,
+        "measPeriodPdcpBytes" : Int,
+        "pdcpBytesDL" : 30000000,
+        "pdcpBytesUL" : 5000000,
+        "measTimestampRf" : TS,
+        "measPeriodRf" : Int,
+        "rfMeasurements" : {
+          "rsrp": Int,
+          "rsrq": Int,
+          "rsSinr": Int
+       }
+     },
+     {
+       "cellId" : "CID1",
+       "measTimestampPrbAvailable" : TS,
+       "measPeriodPrbAvailable" : Int,
+       "prbAvailableDL" : Int,
+       "prbAvailableUL" : Int,
+       "measTimestampPdcpBytes" : TS,
+       "measPeriodPdcpBytes" : Int,
+       "pdcpBytesDL" : 10000000,
+       "pdcpBytesUL" : 2000000,
+       "measTimestampRf" : TS,
+       "measPeriodRf" : Int,
+       "rfMeasurements" : {
+         "rsrp": Int,
+         "rsrq": Int,
+         "rsSinr": Int
+       }
+     },
+     {
+       "cellId" : "CID3",
+       "measTimestampPrbAvailable" : TS,
+       "measPeriodPrbAvailable" : Int,
+       "prbAvailableDL" : Int,
+       "prbAvailableUL" : Int,
+       "measTimestampPdcpBytes" : TS,
+       "measPeriodPdcpBytes" : Int,
+       "pdcpBytesDL" : 50000000,
+       "pdcpBytesUL" : 4000000,
+       "measTimestampRf" : TS,
+       "measPeriodRf" : Int,
+       "rfMeasurements" : {
+         "rsrp": Int,
+         "rsrq": Int,
+         "rsSinr": Int
+       }
+     }
+    ]
+  }
+
+
+Expected Output
+---------------
+
+The QP Xapp should send a prediction for both downlink and uplink throughput
+as a JSON message via RMR with the following structure::
+
+  {
+    "UEId1": {
+      "CID1" : [10000000,2000000],
+      "CID2" : [30000000,5000000],
+      "CID3" : [50000000,4000000]
+    }
+  }
+
+