Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Functionality of ML block is divided into two three parts. 

  1. Model Training (Offline)
  2. Validation
  3. Prediction

...

draw.io Diagram
bordertrue
diagramNameOffline Training
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth811
revision23


PM file format

Expand
titlePM file format for Training

<?xml version="1.0" encoding="UTF-8"?>
<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
    <fileHeader dnPrefix="Prefix" fileFormatVersion="32.435 V10.0" vendorName="Acme Ltd">
        <fileSender localDn="cucpserver1"/>
        <measCollec beginTime="2020-10-14T14:39:20.469"/>
    </fileHeader>
    <measData>
        <managedElement localDn="cucpserver1" swVersion="r0.1"/>
        <measInfo measInfoId="measInfoIsVal">
            <job jobId="1118"/>
            <granPeriod duration="PT900S" endTime="2020-10-14T14:39:20.473"/>
            <repPeriod duration="PT900S"/>
            <measType p="1">SM.PDUSessionSetupReq.0011-0010</measType>
            <measType p="2">SM.PDUSessionSetupSucc.0011-0010</measType>
            <measType p="3">SM.PDUSessionSetupFail.0</measType>
            <measType p="4">SM.PDUSessionSetupReq.0010-1110</measType>
            <measType p="5">SM.PDUSessionSetupSucc.0010-1110</measType> 
            <measValue measObjLdn="113025289">
                <r p="4">4364.0</r>
                <r p="5">2739.0</r>
                <r p="3">1517.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="113025290">
                <r p="4">4742.0</r>
                <r p="5">3184.0</r>
                <r p="3">1459.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="113025296">
                <r p="4">5264.0</r>
                <r p="5">3545.0</r>
                <r p="3">1629.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="82268687">
                <r p="4">6952.0</r>
                <r p="5">4337.0</r>
                <r p="3">2363</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="82268689">
                <r p="4">4229.0</r>
                <r p="5">3021.0</r>
                <r p="3">1135.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="95697155">
                <r p="4">4364.0</r>
                <r p="5">3201.0</r>
                <r p="3">1054.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="95697174">
                <r p="4">7041.0</r>
                <r p="5">4229.0</r>
                <r p="3">2599.0</r>
                <suspect>false</suspect>
            </measValue> 
            <measValue measObjLdn="95697175">
                <r p="1">3502.0</r>
                <r p="2">2598.0</r>
                <r p="3">851.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="95697176">
                <r p="1">4858.0</r>
                <r p="2">3430.0</r>
                <r p="3">1295.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="103597825">
                <r p="1">5134.0</r>
                <r p="2">3135.0</r>
                <r p="3">1847.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="103597826">
                <r p="1">4773.0</r>
                <r p="2">3007.0</r>
                <r p="3">1650.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="84327425">
                <r p="1">4573.0</r>
                <r p="2">3347.0</r>
                <r p="3">1111.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="84327426">
                <r p="1">4316.0</r>
                <r p="2">3126.0</r>
                <r p="3">1102.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="103593999">
                <r p="1">5314.0</r>
                <r p="2">3271.0</r>
                <r p="3">1860.0</r>
                <suspect>false</suspect>
            </measValue>
            <measValue measObjLdn="103594000">
                <r p="1">5037.0</r>
                <r p="2">3732.0</r>
                <r p="3">1193.0</r>
                <suspect>false</suspect>
            </measValue>
        </measInfo>
    </measData>
    <fileFooter>
        <measCollec endTime="2020-10-14T14:39:20.474"/>
    </fileFooter>
</measCollecFile>

Impacts:

RAN Simulator:

PM data generation API should include the capability to store it in mongo DB. 

...

Training data 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\"}]}]}]}}}}"
]


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

}

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


Step2: Validation

Trained ML model can be validated against the dynamic data in the E2E Slicing set up.

  1. Configure four E2E Slices (shared or non-shared)
  2. Trigger PM data generation for those slices using the below RAN Simulator API

   


Code Block
curl -X POST -H "Content-Type:  text/plain" http://localhost:8081/ransim/api/GenerateIntelligentSlicingPmData -i


 

   3. Run the ML model against the generated PM data and check whether it works as expected

       4. When it is not required, stop the pm data generation as it produces huge amount of data that consumes more space.


Code Block
curl -X POST -H "Content-Type:  text/plain" http://localhost:8081/ransim/api/stopIntelligentSlicingPmData -i 


Step3: Prediction


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