You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Refer Intelligent Slicing flow for complete closed loop sequence. Existing ML MS (not officially exposed to ONAP) requires certain enhancements to satisfy the intent guarantee.

Overview


Functionality of ML block is divided into three parts. 

  1. Model Training (Offline) and validation
  2. Prediction

Step1: ML Offline Training

This step requires a huge amount of historical data for the analysis. It requires both the input (PM metrics) and output data (intent). 

Configure E2E Slice (shared or non-shared) that need to be trained.

Training is performed by first acquiring the data. The data are acquired from following topics.

  • The training modules trigger PM data generation for slices using the below RAN Simulator API topics
  • The process typically waits for more data to be generated. Currently it waits for 2 hours.
curl -X POST -H "Content-Type:  text/plain" http://localhost:8081/ransim/api/GenerateIntelligentSlicingPmData -i
  • After the time elapse, the training modules perform stop PM data generated for slices using following topic.
curl -X POST -H "Content-Type:  text/plain" http://localhost:8081/ransim/api/stopIntelligentSlicingPmData -i 
  • The Training module start to get the acquired data for all the slices and cells using topic
curl -X POST -H "Content-Type:  text/plain" https://localhost:8081/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS/mlms-cg/mlms-cid 
  • While acquiring each slice and cell data, the training module also acquire the intent configuration for each cell and slices. using following topic.
curl -X POST -H "Content-Type:  text/plain" https://localhost:8081/api/sdnc-config-db/v4/nrcellcu-configdata/1/snssai/01-B989BD
  • Once the all the training data are acquired, the training module performs preprocessing to convert the data from json format into Dictionary format
  • In Preprocessing the training Data is normalised and Transformed.
  • The preprocessed data (PM data Parameters data content) for all slices and cells which are in time series are converted into forcast series.
    • The forecast series is cells PM data parameters for current time instance, Plus the previous past or last four time instance data.
    • Similar forecast series data is prepared for all the cells in the slice.
  • Data are split into training and validation datasets
  • The expected results for each time instance cell data are synthetically generated based on rule conditions and the cell intends.
  • The training module perform Training against an LSTM model.
  • The Training model file are archived.
  • The results are manually verified .


PM file format

[
  "{\"event\": {\"commonEventHeader\": {\"domain\": \"perf3gpp\",\"eventId\": \"2ff40cb0-377b-49f6-acea-5c7893e53f07\",\"sequence\": 0,\"eventName\": \"perf3gpp_AcmeNode-Acme_pmMeasResult\",\"sourceName\": \"oteNB5309\",\"reportingEntityName\": \"\",\"priority\": \"Normal\",\"startEpochMicrosec\": 1602686360469,\"lastEpochMicrosec\": 1602686360474,\"version\": \"4.0\",\"vesEventListenerVersion\": \"7.1\",\"timeZoneOffset\": \"UTC+05:00\"},\"perf3gppFields\": {\"perf3gppFieldsVersion\": \"1.0\",\"measDataCollection\": {\"granularityPeriod\": 1602686360473,\"measuredEntityUserName\": \"\",\"measuredEntityDn\": \"cucpserver1\",\"measuredEntitySoftwareVersion\": \"r0.1\",\"measInfoList\": [{\"measInfoId\": {\"sMeasInfoId\": \"measInfoIsVal\"},\"measTypes\": {\"sMeasTypesList\":[\"SM.PDUSessionSetupReq.0011-0010\",\"SM.PDUSessionSetupSucc.0011-0010\",\"SM.PDUSessionSetupFail.0\",\"SM.PDUSessionSetupReq.0010-1110\",\"SM.PDUSessionSetupSucc.0010-1110\"]},\"measValuesList\": [{\"measObjInstId\": \"113025289\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"4364\"},{\"p\": 5,\"sValue\": \"2739\"},{\"p\": 3,\"sValue\": \"1517\"}]},{\"measObjInstId\": \"113025290\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"4742\"},{\"p\": 5,\"sValue\": \"3184\"},{\"p\": 3,\"sValue\": \"1459\"}]},{\"measObjInstId\": \"113025296\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"5264\"},{\"p\": 5,\"sValue\": \"3545\"},{\"p\": 3,\"sValue\": \"1629\"}]},{\"measObjInstId\": \"82268687\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"6952\"},{\"p\": 5,\"sValue\": \"4337\"},{\"p\": 3,\"sValue\": \"2363\"}]},{\"measObjInstId\": \"82268689\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"4229\"},{\"p\": 5,\"sValue\": \"3021\"},{\"p\": 3,\"sValue\": \"1135\"}]},{\"measObjInstId\": \"95697155\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"4364\"},{\"p\": 5,\"sValue\": \"3201\"},{\"p\": 3,\"sValue\": \"1054\"}]},{\"measObjInstId\": \"95697174\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 4,\"sValue\": \"7041\"},{\"p\": 5,\"sValue\": \"4229\"},{\"p\": 3,\"sValue\": \"2599\"}]},{\"measObjInstId\": \"95697175\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"3502\"},{\"p\": 2,\"sValue\": \"2598\"},{\"p\": 3,\"sValue\": \"851\"}]},{\"measObjInstId\": \"95697176\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"4858\"},{\"p\": 2,\"sValue\": \"3430\"},{\"p\": 3,\"sValue\": \"1295\"}]},{\"measObjInstId\": \"103597825\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"5134\"},{\"p\": 2,\"sValue\": \"3135\"},{\"p\": 3,\"sValue\": \"1847\"}]},{\"measObjInstId\": \"103597826\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"4773\"},{\"p\": 2,\"sValue\": \"3007\"},{\"p\": 3,\"sValue\": \"1650\"}]},{\"measObjInstId\": \"84327425\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"4573\"},{\"p\": 2,\"sValue\": \"3347\"},{\"p\": 3,\"sValue\": \"1111\"}]},{\"measObjInstId\": \"84327426\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"4316\"},{\"p\": 2,\"sValue\": \"3126\"},{\"p\": 3,\"sValue\": \"1102\"}]},{\"measObjInstId\": \"103593999\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"5314\"},{\"p\": 2,\"sValue\": \"3271\"},{\"p\": 3,\"sValue\": \"1860\"}]},{\"measObjInstId\": \"103594000\",\"suspectFlag\": \"false\",\"measResults\": [{\"p\": 1,\"sValue\": \"5037\"},{\"p\": 2,\"sValue\": \"3732\"},{\"p\": 3,\"sValue\": \"1193\"}]}]}]}}}}"
]

Step2: Prediction <update in progress>

To fetch the Slice Profile (intent) from config DB, below API can be used.

GET: http://localhost:8080/api/sdnc-config-db/v4/profile-config/{nSSAI}

The response will be in the form of:

{

    "dLThptPerSlice": 1,

    "uLThptPerSlice": 2,

    "maxNumberOfConns":300

}

Once the CPS integration for RAN slice allocation is completed, Config DB API needs to be replaced with the CPS API.

CPS API:

To be updated

Recommendation for each cell can be maximum of 5120 and the aggregation of maximumNoOfConnections recommended for a slice (sNSSAI) can be upto 110% (10 % buffer)  of the intent.


Trained ML model is now ready to predict and recommend suggestions for the cell level configurations (maxNumberOfConns)  for a slice.

A new micro service will be introduced to do the data processing and prediction for the dynamic data.

Suggested Configuration from the ML MS should be in the form of below format

{
    "snssai": "0001-0111",
    "data": [{
        "gNBCUName": "cucpName",
        "nearRTRICId": "NearRTRIC1",
        "cellCUList": [{
            "cellLocalId": 111,
            "configData": {
                "maxNumberofConns": "20",
                "predictedMaxNumberofConns": "25",
                "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss"
            }
        }, {
            "cellLocalId": 112,
            "configData": {
                "maxNumberofConns": "20",
                "predictedMaxNumberofConns": "25",
                "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss"
            }
        }]
    }, {
        "gNBCUName": "cucpName2",
        "nearRTRICId": "NearRTRIC2",
        "cellCUList": [{
            "cellLocalId": 113,
            "configData": {
                "maxNumberofConns": "20",
                "predictedMaxNumberofConns": "25",
                "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss"
            }
        }, {
            "cellLocalId": 114,
            "configData": {
                "maxNumberofConns": "20",
                "predictedMaxNumberofConns": "25",
                "lastUpdatedTS": "yyyy/MM/dd HH:mm:ss"
            }
        }]
    }]
}



  • No labels