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.
View file name fm_data.json height 150 View file name pm_data.json height 150
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:
- Retrieve the current topology
- 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).
- 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).
- Receive the new phy-cell-id set by SDN-R (after PCI optimization, or otherwise)
- Start/Stop the network simulation
- 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)