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.
    fm_data.json       pm_data.json

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)


    


  • No labels