Optimal Dynamic Positioning of LoRa Gateways Considering Channel Modeling to Assure QoS for IoT Network Slices
William T. P. Junior, Daniel C. da Silva
Instituto de Informática, Universidade Federal de Goiás
E-mail: {williamtpjunior, dante_campos}@discente.ufg.br
In wireless communication, the air channel which will propagate the message have a lot less guarantees of how it will work in comparison with wired channels. Between a transmitter and a receptor there may be static objects (e.g. buildings) and dynamic objects (e.g. cars), which will absorb or reflect part of the signal. The Earth surface itself works as a reflector, possibly causing interference, alongside other transmitters that can be signaling simultaneously at the same frequency.
The physical models to determine how a signal is degraded are complex. Because of this, we rely on an approximation called Log-Distance Path Loss (LDPL) [1], a log function that aggregates deterministic and stochastic attenuation to provide the loss of a signal, in decibels, through a distance
This work considers a scenario where LoRa End Devices (LoRa-EDs) are randomly scattered and stationary, and LoRa Gateways (LoRa-GWs) are mounted on UAVs. We also assume that each gateway connects to a 5G BS with unlimited capacity. The main goal, as in [2], is to reduce the number of LoRa-GWs required to satisfy the QoS constraints, however, this time we model the path loss of the signal. To achieve this, we minimize the number of discrete locations assigned to LoRa-GW UAVs, while granting that every LoRa-ED can connect to a LoRa-GW able to receive its signal above the minimum sensitivity.
Let
Finally, we define the objective function as,
where
To ensure that for each device
To guarantee that the bandwidth
Where
The lower bound QoS
Lastly, given the signal attenuation of the wireless channel, every device
Where
In which
Our methodology in evaluating the updated model can be divided in three steps:
-
Input data generation: The data needed to execute the optimization includes the virtual positions where a LoRa-GW UAV can be placed and the position of the LoRa-EDs and their slice association. For the previous model, we also simulate the LoRa-EDs and LoRa-GWs transmission to generate the data about signal reach.
-
Optimal solution: We then implement the model described previously using Pyomo in order to find an optimal solution through SCIP Optimization Suite, an open source solver for integer programming models.
-
Solution simulation: Finally, in order to validate the quality of the solution, we simulate it in the Network Simulator 3 (NS3), in order to collect data related to package delivery when subject to an environment with more parameters, e.g. inter LoRa-GW signal interference.
We consider a varying number of virtual positions, as depicted in Fig. 1, equally distributed over the space at the same height level. For the LoRa-EDs, we consider 30 devices positioned in a pseudo randomly way given ten different seeds and equally distributed between three slices.
Fig. 1. Example of virtual positions.
For the QoS lower bound, we consider
After generating the input data, we execute the optimization algorithm and start by comparing the solution of the updated model (i.e. the model with the path loss constraint) against the solution given by the previous model. As illustrated in Fig. 2, the updated model solved all the instances with 2 UAVs, while the previous model varied in a mean between 2.5 and 3.4. It happens because the previous model only allowed the devices to connect to a gateway with the best configuration available, while the updated model allow that the devices set a worst configuration allowing it to connect to more distant gateways and reducing the number of positioned UAVs.
Fig. 2. Mean of positioned UAVs by number of virtual position.
As a result of using fewer UAVs, we increase the interference between devices and the number of delivered packages is reduced, as shown in Fig. 3. Another point of interest is that the number of virtual positions does not impact in the delivery rate achieved by the solution, because the interference is not considered in the model formulation.
Fig. 3. Package reception rate obtained through NS3 simulation.
The main difference of this work with the previous one, is the changing of the integer constraint, that limited the solutions allowing only the best configuration for each device, to a linear constraint over path loss that allow the choice of the worst configuration that still grant the QoS restriction. Another impact of this modification, is reflected in the time that the solver takes to find the optimal solution, as shown in Fig. 4.
Fig. 4. Time for the solver to find the optimal solution by number of virtual positions in the input data.
The previous model takes more time to solve a problem of the same size, but also is more unstable, the position of the LoRa-EDs have a greater impact over the solution time in the previous model, than in the updated one. This impact can be seen more clearly in Fig. 5.
Fig. 5. Impact of the device distribution seed in the solution time.
In this work we have updated the LoRa-GW UAV positioning model developed in [2] to consider the path loss for the signal between the LoRa-GW and the LoRa-ED. This modification makes the model more flexible, enabling further developments of the model, e.g. the consideration of a non-discretized space for LoRa-GW UAV positions. Another observed result of the modification, was the reduction in the solution time and improvement over the stability of the model. As future work, we can include in the model the impact of the interference between LoRa-EDs in the QoS, the formulation of the problem as a bi-objective model, minimizing the number of LoRa-GW UAVs while maximizing the QoS. Once that representing interference is characterized by high complexity, one possibility is trying to solve the problem with different techniques, like stochastic optimization or machine learning algorithms.
- GNU (>=8.0.0)
- CMAKE (>=3.24)
- python (3.11.4)
- SCIP Optimization Suite (8.0.3)
Start by cloning this repository.
git clone https://github.com/DanteCampos/Lora-UAV-Positioning-Model lora_uav_experiment
cd lora_uav_experiment
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 ../contrib/* ./contrib/
ln -s ~/lora_uav_experiment/scratch/optimal-distrib-experiment.cc ~/lora_uav_experiment/ns-3/scratch/optimal-distrib-experiment.cc
ln -s ~/lora_uav_experiment/scratch/thesis-experiment.cc ~/lora_uav_experiment/ns-3/scratch/thesis-experiment.cc
ln -s ~/lora_uav_experiment/scratch/devices-density-oriented-distrib.cc ~/lora_uav_experiment/ns-3/scratch/devices-density-oriented-distrib.cc
./ns3 configure --enable-examples
./ns3 build
You can then compile the NS3 scripts that we will use in experimentation, remember to go back to the root folder of the project.
./ns3 run scratch/devices-density-oriented-distrib.cc
./ns3 run scratch/optimal-distrib-experiment.cc
./ns3 run scratch/thesis-experiments.cc
cd ..
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.
use the notebook equidistantPlacement.ipynb
to generate the files with the virtual positions for LoRa-GWs.
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-devices-density-oriented-distrib-default --nDevices=30 --seed=1
To finalize, generate the files with slice association of the devices.
./ns-3/build/scratch/ns3.36-thesis-experiments-default --nDevices=30 --seed=1 --nGateways=25 --nPlanes=1 --verbose
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).
python biobj_model.py 25 1 30 1 0.9
We are ready to execute the simulation with the solution obtained in the last step.
./ns-3/build/scratch/ns3.36-optimal-distrib-experiment-default --nDevices=30 --seed=1 --nGateways=25 --optFilePrefix=biobj
The simulation output can be found in the directory ./data/results/.
[1] M. Rademacher, H. Linka, T. Horstmann, e M. Henze, “Path Loss in Urban LoRa Networks: A Large-Scale Measurement Study”, em 2021 IEEE 94th Vehicular Technology Conference (VTC2021-Fall), Norman, OK, USA: IEEE, set. 2021, p. 1–6. doi: 10.1109/VTC2021-Fall52928.2021.9625531.
[2] S. Silva Rogério, P. J. William, L. C. Sand, O. J. Antonio and C. V. Kleber, "Dynamic resource allocation in non-3GPP IoT networks involving UAVs" 2023 IEEE 97th Vehicular Technology Conference (VTC2023-Spring), 2023.