RAN-Simulator Impacts

1. Architecture

The updated architecture of the RAN-Simulator for ONAP Dublin is illustrated below.

The following sections provide the overview and functionality of the various components in RAN-Sim. For completeness, the entire functionality available in Dublin is summarized below (including the implementation done for Casablanca).

2. Netconf server

2.1. Introduction

  • Honeycomb simulator shall be used to simulate the Netconf server. Necessary extensions have been made for it to communicate with the RAN-Sim Controller.

  • Each Netconf server will run as standalone process or in a Docker container.

  • The Netconf servers will be spawned by RAN-Sim Controller based on the topology specified.

  • Python scripts and client will seed the initial configuration for each Node.

  • Each Netconf server can send a mount request to SDN-R when it is spawned.

  • Maximum number of cells connected to a Netconf server is configurable (currently configured as 16).

2.2. Handle inputs from RAN-Sim controller

  • Netconf server sends a nbrlist-change notification to SDN-R based on the trigger from RAN-Sim Controller, when a cell's neighbor list is updated.

  • Netconf server sends a netconf-config-change notification to SDN-R when triggered by RAN-Sim Controller, when a cell's PCI value is updated.

  • Netconf server sends an alarm message to VES Collector for collision/confusion (and clearing) when triggered by the RAN-Sim Controller.

  • Netconf server sends PM data to VES Collector when triggered by the RAN-Sim Controller.

  • FM and PM data formats are provided below.
           

2.3. Handle inputs from SDN-R

  • Netconf server accepts phy-cell-id update trigger from SDN-R and forwards itto RAN-Sim Controller.

  • Netconf server accepts neighbor list (HO allowed) update trigger from SDN-R and forwards it to RAN-Sim Controller.

3. RAN-Sim Controller

  • This is a Springboot based micro-service.

  • RAN topology of ~2000 cells to be simulated is defined into a configuration DB.

  • RAN Simulator spawns the netconf servers based on this topology.

  • Exposes following rest APIs for GUI to:

    1. Retrieve the current topology

    2. Update phy-cell-id of a cell to simulate collision or confusion (this will also result in an alarm being sent to SDN-R via Netconf server).

    3. Update neighbor list to simulate collision or confusion (in the table view) (this will also result in an alarm being sent to SDN-R via Netconf server).

    4. Receive the new phy-cell-id set by SDN-R (after PCI optimization, or otherwise)

    5. Start/Stop the network simulation

    6. Start/stop generation of PM data for the network. Flexibility to specify which cell(s) should have poor/bad performance.

  • MariaDB will be used as the configuration DB to store the topology.

  • RAN-Sim Controller shall also send a alarm clear notification upon collision/confusion getting resolved due to PCI update(s) and/or ANR update(s) from SDN-R (received from Netconf server).

  • Web GUI will show the current topology, phy-cell-id collision/confusions (using different color codes), ran-neighbor-list.

  • Basic pictorial representation will be provided, improvements will be a stretch goal.

4. RAN-Sim GUI

4.1. Assumptions

  • For initial setup, an input file containing foll. info shall be used

    •  Cell Id

    • PNF name (though this has really no relevance to the GUI)

    • Cell position = {0,1,2,3} 0=>no sectors, 1-3 denotes sectors

    • PCI value

    • (x,y) = mapping to a co-ordinate on the canvas from (lat,long)

    • Neighbor list (ordered list of (cell id, PCI, HO allowed))

  • Canvas view and ‘on-click’ views possible

  • Editable contents: neighbor list (in graphical view), PCI value (in graphical view)

  • Maximum 3 cells in a single location

  • All cells are assumed to be of same size, i.e., path loss, etc. are not considered.

  • Option provided for user to pause before seeing the changed PCI values.

  • Only 1 iteration of PCI/neighbor list change will be performed.

4.2. Illustration of GUI

4.2.1. Canvas view when a neighbor list of a cell is updated


      

4.2.2. Canvas view when a neighbor list of a second cell is updated (OOF is not yet triggered)

   

 

4.2.3. Details of a particular cell (on click view)