X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=README.txt;h=624ded5e0429d950bec05ff2c6777d617dde08d6;hb=16f8a7bd1bcc93d5de0db1ea0bc7e866853413b4;hp=2e5535079b2da8bb1d88211c1b9368b84acdafac;hpb=297dbd6245ec69571c8ad7091a18cbe9c7ba2488;p=ric-app%2Fad.git diff --git a/README.txt b/README.txt index 2e55350..624ded5 100644 --- a/README.txt +++ b/README.txt @@ -15,31 +15,40 @@ # ================================================================================== Usage of all the programs and files have been mentioned below for the reference. -Need to update this file each time when there is any modifications in the following components. +For AD xapp we require UEReport (UE related dataset) -main.py: -* Initiates xapp api and runs the entry() using xapp.run() -* If RF model is not present in the path, run train() to train the model for the prediction. - Call predict function for every 1 second(for now as we are using simulated data). -* Read the input csv file that has both normal and anomalous data. -* Simulate diff UEIDs that participate in the anomaly by randomly selecting records from this scoring data set -* Send the UEID and timestamp for the anomalous entries to the Traffic Steering (rmr with the message type as 30003) -* Get the acknowledgement message from the traffic steering. +AD xApp expect UE data from influxDB database in following structure: + * There exists database with name "RIC-Test" + * Inside "RIC-Test" database we have measurments namely "UEReports" + +Note: *We need to update ad_config.ini with influxdb configuration. +Update host as one of the following: + 1. influxdb service ruuning in RIC platform (host = .) + OR IP of influxdb pod + 2. Update user and password for influxDB instance -ad_train.py - Read all the csv files in the current path and create trained model(RF) +To polpulate influxdb with static data provided in .csv (ue.csv). + 1. Run "python3 insert.py" + 2. Wait for few minutes before deploying AD xApp + Note: This will be depreciated in next release when there will be data coming from KPIMON + -processing.py: -It performs the following activities: -* Columns that are not useful for the prediction will be dropped(UEID, Category, & Timestamp) -* Convert integer and float type into numeric data type. -* verify and drop the highly correlated parameters. -* returns UEID, timestamp and category for the anamolous entries. +AD xApp performs following: -ad_model.py: -* Extract all the unique UEID and filters only the randomly selected UEID(this step will be removed when we implement in sdl way of getting the UEID). -* Call Predict method to get the final data for the randomly selected UEID. - -tb_format.py: -* start the preprocessing, processing steps using the keycolumns -* populate current timestamp value for MeasTimestampRF +* Initiates xapp api, make connection with influxDB and runs the entry() using xapp.run() +* If Model is not present in the current path, + a) Read history data from InfluxDB + b) apply pre-processing steps + c) trigger Training of ML model. + d) after model validation, save transformation, model artifacts +* Detect anomalous user in real-time. + a) Read live data from influxDB every 0.5 second + b) Detect anomalous records on given input + c) Investigate degradation type for anomalous users +* Listens to RMR port for A1 policy (message type 20011) in a format given below. Which consists throughput threshold parameter (default: 70%) for an degradataion event to qualify for a handover + {'operation': 'CREATE', 'payload': '{\"thp_threshold\":74}', 'policy_instance_id': 'demo-1', 'policy_type_id': '9997'}"} +* Send the ue-id, DU-ID, Degradation type and timestamp for the qualified anomalous records to the Traffic Steering (via rmr with the message type as 30003) +* Get the acknowledgement message from the traffic steering +* store xApp result in "AD" measurement of influxDB +Note: Need to implement the logic if we do not get the acknowledgment from the TS. (How xapp api handle this?)