millicar-oran-integration

The e2e integration and setup of millicar with oran

https://github.com/fgjeci/millicar-oran-integration

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: ieee.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

The e2e integration and setup of millicar with oran

Basic Info
  • Host: GitHub
  • Owner: fgjeci
  • Language: Python
  • Default Branch: main
  • Size: 31.3 KB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 2 years ago · Last pushed 12 months ago
Metadata Files
Readme Citation

README.md

Millicar O-Ran Integration: Relay functionality in V2X networks

This project includes an e2e setup and integration of Millicar ns3 module with OpenRAN architecture. It contains the deployment of OpenRAN ns3 module architecture, the adopted Millicar ns3 module to be interfaced with OpenRAN and the simulation script.

If you use this module in your research, please cite:

F. Linsalata, E. Moro, F. Gjeci, M. Magarini, U. Spagnolini and A. Capone, "Addressing Control Challenges in Vehicular Networks Through O-RAN: A Novel Architecture and Simulation Framework," in IEEE Transactions on Vehicular Technology, vol. 73, no. 7, pp. 9344-9355, July 2024, doi: 10.1109/TVT.2024.3355202. bibtex available here

To run the project: - Install the ns3 packages needed to run ns3. - Configure & build ns3-mmwave-millicar cd ../ns3-mmwave-millicar ./ns3 configure --build-profile=debug --disable-werror --enable-examples ./ns3 build - Import docker images and setup docker containers of OpenRAN RIC basing on OpenRAN GYM cd ../colosseum-near-rt-ric-2/setup-scripts ./setup-ric-bronze.sh - Create & install the shared library e2sim (E2-interface connecting ns3-module with OpenRAN-RIC via SCTP/IP) cd ../oran-e2sim/e2sim ./build_e2sim.sh - Setup the xApp container ``` cd ../millicar-xapp/setup-scripts ./setup-xapp-base.sh # Downloads & install the base image with the updated needed libraries. The base image shall have the e2 interface installed, thus by default enabling the connection with e2term and the exchange of E2 messages ./start-millicar-xapp-ns-o-ran.sh # Creates a secondary image with the python scripts of the xapp logic

if outside the xapp container, access bash mode of the container -> docker exec -it millicar-xapp-24 bash

Once inside the xapp container, go to /home/xapp-sm-connector directory

``` Following the aforementioned steps, the xApp is configured to receive E2 messages, decode the xml format of the these messages and send back E2-Ric encoded messages.

Simulation steps

The simulation involves these steps: 1. Starting the xApp Agent in the xApp container: It starts the SCTP/IP server and binds to local address and accepts connection from the RIC 2. Starting the ns3 simulation instances: Inside the ns3 it is started the ns3-E2-Termination endpoint, which connects ns3 to RIC via SCTP/IP. This simulation instance waits for Subscription Requests coming from RIC to start sending reports to the xApp. 3. Starting RIC-E2-endpoint: The end point responsible to decode the incoming E2 messages, route them to the appropriate xApp and maintain the Service Model paradigm.

It is crucial to execute the steps as shown above: ns3 simulation instances (2) before the RIC-E2-endpoint(3), so that the ns3-E2-Termination endpoint can received and decode the Subscribe Requests generated by the RIC-E2-endpoint; start xApp-Agent (1) before the RIC-E2-endpoint, as the last opens a TCP/IP socket connection to the xApp and if xApp has not started and bind to the receiving address, the RIC won't be able to forward the incoming control messages

Commands

  1. Start xApp-Aggent # Enter inside xApp container docker exec -it millicar-xapp-24 bash cd /home/millicar-xapp python3 run_xapp_multi_sim.py
  2. Starting ns3 simulation instances cd ../millicar-oran-integration python millicar_load.py # Launches multiple processes in parallel, one per each simulation scenario
  3. Starting RIC-E2-endpoint docker exec -it millicar-xapp-24 bash cd /home/xapp-sm-connector ./run_xapp.sh

Owner

  • Name: Franci Gjeci
  • Login: fgjeci
  • Kind: user
  • Location: Milan, Italy

Citation (citation.cff)

cff-version: 1.2.0
authors:
  - family-names: "Gjeci"
    given-names: "Franci"
    orcid: "https://orcid.org/0009-0007-2255-6543"
version: 1.0.0
url: "https://github.com/fgjeci/millicar-oran-integration.git"
message: "If you use this software, please cite it as below."
preferred-citation:
  type: article
  authors:
  - family-names: "Gjeci"
    given-names: "Franci"
    orcid: "https://orcid.org/0009-0007-2255-6543"
  - family-names: "Moro"
    given-names: "Eugenio"
  - family-names: "Linsalata"
    given-names: "Francesco"
  - family-names: "Spagnolini"
    given-names: "Umberto"
  - family-names: "Spagnolini"
    given-names: "Umberto"
  - family-names: "Magarini"
    given-names: "Maurizio"
  - family-names: "Antonio"
    given-names: "Capone"
  journal: "IEEE Transactions on Vehicular Technology"
  title: "Towards Smarter Vehicular Communications: Leveraging Open RAN for Enhanced Vehicle-to-Vehicle Resources Management"
  doi: 10.1109/TVT.2024.3355202
  year: 2024
  month: 01
  start: 9344
  end: 9355
  volume: 73

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2