Skip to content

Simulations and datasets related to the paper "Dynamic resources allocation in non-3GPP IoT networks involving UAVs."

Notifications You must be signed in to change notification settings

rogerio-silva/non3GPP_IoT_simulations

Repository files navigation

Dynamic resources allocation in non-3GPP IoT networks involving UAVs

Rogério S. Silva1,2, William P. Junior1, Sand L. Correa1, Kleber V. Cardoso1, Antonio Oliveira-JR1

1Instituto de Informática, Universidade Federal de Goiás

E-mail: {williamtpjunior, sand, kleber, antonio}@inf.ufg.br

2NumbERS, Instituto Federal de Goiás-Inhumas-GO

E-mail: {rogerio.sousa}@ifg.edu.br

Table of Contents

Abstract

In this work, we investigate how to minimize the number of gateways deployed in Unmanned Aerial Vehicles (UAVs) needed to meet the demand for non-3GPP Internet of Things (IoT) devices, seeking to improve the Quality of Service (QoS), keeping a balance between delay and data rate. Gateways deployed in UAVs add the mobility flexibility of UAVs, which paves the way for meeting emergency demand increments. The 5th Generation Networks (5G) and Beyond 5th Generation Networks (B5G) systems incorporated access to IoT devices via non-3GPP access, opening up new integration possibilities. Furthermore, Low Power Wide Area Network (LPWAN) networks, especially Long Range Wide Area Network (LoRaWAN), allow access over long distances with reduced energy consumption. In this scenario, our work proposes a Mixed Integer Linear Programming (MILP) optimization model to minimize the number of UAVs that meet the increment of emergency demand, comply with limits of QoS, and maintain the compromise between delay and data rate. Simulation results show that the proposed model significantly reduces the number of UAVs, maintains optimal levels of QoS, and maintains the compromise between delay and data rate compared to the baselines.

Baselines

Two methods are defined as baselines for our proposal: the Density-oriented (DO) and the Equidistant (EQ) UAV placement models.

{Equidistant UAVs placement algorithm (EQ)}

EQ was developed to distribute the UAVs across the area and maintain the equidistance between them. The input data contains the placement area $\mathcal{A}{(MxN)}$ and the lower bound QoS to be reached. The algorithm iterates by incrementing the number of UAVs to find how many satisfy the $QoS{bound}$. The inter-UAV distance is computed for each UAV added, and the UAVs are distributed, ensuring equidistance. This algorithm places the UAVs in the perspective of the coverage area and does not consider the positions of the EDs.

{Density-oriented UAVs placement algorithm (DO)}

DO was developed to place UAVs in the most populated areas, following the EDs density map. The input data contains the map with the coordinates of EDs $\beta_{(MxN)}$. Initially, the area density information is calculated, then $\beta_{(MxN)}$ is linearized, sorted in descending order, and assigned to $\rho_{(L)}$. The algorithm iterates until it reaches the target bound $QoS_{bound}$. In each iteration, a new UAV is added and placed in the corresponding position $\rho{(l)}$ of a matrix of $\alpha_{(m,n)}$, where $l$ represents the linear index that corresponds to a $(m,n)$. The DO outputs a UAV placement map $\alpha_{(m,n)}$.

Proposed placement algorithm

The OP algorithm presents our approach for positioning UAVs-based gateways following the optimization model in section 2. The algorithm receives as input the area for positioning devices ($\mathcal{A}{(MxN)}$), the UAV placement area ($\mathcal{V}{(XxYxZ)}$), and the expected QoS limit ($\rho^{QoS}_l$). In line 1, the devices are distributed following a realistic spatial distribution (here). In lines 2 and 3, the set of communication parameters between the devices and each virtual position, in addition to the association of the devices to the respective slices. In line 4, the optimization algorithm is executed. The OP results in the UAVs positions set $\mathcal{P}$, the SF (spreading factor) and TP (transmission power) configurations set $\mathcal{C}$, and the slices associations set $\mathcal{S}$. Finally, the resulting data are modeled in the NS-3, and the simulation is performed. Back to TOC

Results

The results were obtained from 50 executions for 40, 50, and 60 devices. In each execution, a group of devices and the UAVs are deployed according to the algorithms EQ, DO, and OP presented earlier.

UAVs placement

Fig. 1. UAV placement.

Fig. 1 shows the area for UAV placement in a scenario with 60 EDs. Colored symbols represent UAVs for each placement method, and black circles represent devices.

Number of UAV needed to serve the devices, ensuring the QoS level.

Fig. 2. Devices serviced and number of UAVs required.

Figure 2 presents the number of UAVs needed to meet the QoS threshold determined as a target. For a Qbound = 0.9, OP presents the best results, e.g., to meet an average above 50 EDs, with a standard deviation near the other algorithms, four UAVs were deployed with OP, while DO and EQ need more. The DO and EQ have a less pronounced growth curve for serving the EDs, which impacts a higher number of deployed UAVs. Another critical point to evaluate is the number of effective runs to obtain each point. In a universe of 50 runs, for each set of EDs, we consider effective those that resulted in a Qbound ≥ 0.9; the highlights of the numerical annotations in the graph denote these effective rounds.

QoS

Fig. 3. QoS.

Figure 3 displays results relative to QoS. The large areas in light colors for OP demonstrate the excellent efficiency of the proposed algorithm. Furthermore, it is possible to observe that the number of unanswered EDs is more minor than DO and EQ, denoted by the black dots. Another highlight about DO and EQ is that in addition to presenting the highest rates of EDs not met, the rates of QoS reached are much worse than in OP, denoted by the red and purple dots on the respective figures. Back to TOC

Replicating The Experiment

Requirements

Back to TOC

Preparing Environment

Start by cloning this repository.

git clone https://github.com/LABORA-INF-UFG/non3GPP_IoT_simulations.git iot-sim
cd iot-sim

The first step is to build the version 3.36 of NS3.

git clone https://github.com/nsnam/ns-3-dev-git ns-3
cd ns-3
git checkout ns-3.36

cp -r ../contrib/* ./contrib
cp -r ../scratch/* ./scratch

./ns3 configure --enable-examples
./ns3 build

Then, compile the source code from the ns-3 scratch files. The error messages presented at this step occur because we have not yet sent the appropriate execution parameters; ignore them.

./ns3 run scratch/ed-do-placement.cc
./ns3 run scratch/gw-do-placement.cc
./ns3 run scratch/op-prepare.cc
./ns3 run scratch/do-experiment.cc
./ns3 run scratch/eq-experiment.cc
./ns3 run scratch/op-experiment.cc

The following Python packages are needed to execute the experiment.

pip install pyomo pandas matplotlib blob

We can then start the experimentation process; after every step, you can check the generated files inside data/ folder.

Run Experiments

Generating Input Data

a. Generate the files with the virtual positions for UAV placement. You must configure the verbose parameter to 1 to print the positions on the screen during execution or 0 otherwise. In any case, the name of each file is printed.

cd iot-sim
python eq-placement.py 1

The generated file names will follow the pattern equidistantPlacement_xx.dat, where xx is the number of virtual positions for UAV deployment.

b. Generate the files with LoRa-ED positions using the NS3 script; you can modify the number of devices with the option --nDevices=x and the seed for the pseudo-random distribution of the devices with the option --seed=y.

./ns-3/build/scratch/ns3.36-ed-do-placement-debug --nDevices=30 --seed=1

The generated file names will follow the pattern endDevices_LNM_Placement_1s+30d.dat, where 1s and 30d follow the adopted parameters for seed and devices.

c. Generate the files with UAV positions to the baseline Density-Oriented UAVs experiment.

./ns-3/build/scratch/ns3.36-gw-do-placement-debug --nDevices=30 --seed=1 --nGateways=4

The generated file names will follow the pattern densityOrientedPlacement_1s+30d+4g.dat, where 1s, 30d and 4d follow the adopted parameters for seed, devices and gateways(UAVs).

d. To finalize this step, generate the files with slice association of the devices and other optimization model input parameters.

./ns-3/build/scratch/ns3.36-op-prepare-debug --nDevices=30 --nGateways=25 --seed=1 --nPlanes=1

The files containing the input settings for the optimization model are generated in the ./data/model/ folder. Back to TOC

Optimization Model

To execute the optimization model, we need to pass in order the number of virtual positions (25), number of height levels (1), number of devices (30), device distribution seed (1) and QoS lower bound (0.9).

cd iot-sim
python model.py 25 1 30 1 0.9

Back to TOC

Simulations

This step simulates the data obtained in the previous steps. The EQ, DO, and OP simulations are executed based on the same input file with the device distribution, which is ensured by running the experiments with the same seed. The EQ and DO experiments are the baselines. The EQ distributes the UAVs to maintain equidistance between their positions. The DO distributes the UAVs following the density of the device distribution. In the OP experiment, positioning is based on the optimization results, which indicate the optimal positions for positioning.

./ns-3/build/scratch/ns3.36-eq-experiment-debug --nDevices=30 --seed=1 --nGateways=25
./ns-3/build/scratch/ns3.36-do-experiment-debug --nDevices=30 --seed=1 --nGateways=25
./ns-3/build/scratch/ns3.36-op-experiment-debug --nDevices=30 --seed=1 --nGateways=25

The simulation output can be found in the directory ./data/results/. Back to TOC

How to cite

It is a pleasure to share our knowledge, and you are free to use it! Please cite our work so we can continue contributing. Thank you!

@INPROCEEDINGS{silva2023-dyn-res-non3gpp-iot-uav,
    author={Silva, Rogério S. and Pires, William and Correa, Sand L. and Oliveira, Antonio and Cardoso, Kleber V.},
    booktitle={{2023 IEEE 97th Vehicular Technology Conference (VTC2023-Spring)}},
    title={{Dynamic resources allocation in non-3GPP IoT networks involving UAVs}},
    year={2023}, volume={}, number={}, pages={1-5},
    doi={10.1109/VTC2023-Spring57618.2023.10199941}
}

Back to TOC

About

Simulations and datasets related to the paper "Dynamic resources allocation in non-3GPP IoT networks involving UAVs."

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published