The objective of the described protocol is twofold: to configure a network functions virtualization environment using unmanned aerial vehicles as computational entities providing the underlying structure to execute virtualized network functions and to use this environment to support the automated deployment of a functional internet protocol telephony service over the aerial vehicles.
The Network Function Virtualization (NFV) paradigm is one of the key enabling technologies in the development of the 5th generation of mobile networks. This technology aims to lessen the dependence on hardware in the provision of network functions and services by using virtualization techniques that allow the softwarization of those functionalities over an abstraction layer. In this context, there is increasing interest in exploring the potential of unmanned aerial vehicles (UAVs) to offer a flexible platform capable of enabling cost-effective NFV operations over delimited geographic areas.
To demonstrate the practical feasibility of utilizing NFV technologies in UAV platforms, a protocol is presented to set up a functional NFV environment based on open source technologies, in which a set of small UAVs supply the computational resources that support the deployment of moderately complex network services. Then, the protocol details the different steps needed to support the automated deployment of an internet protocol (IP) telephony service over a network of interconnected UAVs, leveraging the capacities of the configured NFV environment. Experimentation results demonstrate the proper operation of the service after its deployment. Although the protocol focuses on a specific type of network service (i.e., IP telephony), the described steps may serve as a general guide to deploy other type of network services. On the other hand, the protocol description considers concrete equipment and software to set up the NFV environment (e.g., specific single board computers and open source software). The utilization of other hardware and software platforms may be feasible, although the specific configuration aspect of the NFV environment and the service deployment may present variations with respect to those described in the protocol.
One of the most coveted goals within the new era of the mobile communications (most commonly known as the 5th mobile generation or 5G) is to be able to provide robust information technology services in situations where the primary telecommunications infrastructure may not be available (e.g., due to an emergency). In this context, the UAVs are receiving increasing attention from the research community due to their inherent versatility. There are numerous works that use these devices as a cornerstone for the provision of a large variety of services. For instance, the literature has analyzed the capacity of these devices to build an aerial communication infrastructure to accommodate multimedia services1,2,3. Furthermore, prior research has shown how the cooperation among several UAVs can extend the functionality of different communication services such as surveillance4, collaborative search and rescue5,6,7,8, or agribusiness9.
On the other hand, the NFV technology has acquired great significance within the telecom operators as one of the 5G key enablers. NFV represents a paradigmatic change regarding the telecommunications infrastructure by alleviating the current dependency of network appliances on specialized hardware through the softwarization of the network functionalities. This enables a flexible and agile deployment of new types of communication services. To this purpose, the European Telecommunications Standards Institute (ETSI) formed a specification group to define the NFV architectural framework10. Additionally, the ETSI currently hosts the Open Source Mano (OSM) group11, which is in charge of developing an NFV Management and Orchestration (MANO) software stack aligned with the definition of the ETSI NFV architectural framework.
Given all the aforementioned considerations, the synergic convergence between UAVs and NFV technologies is currently being studied in the development of novel network applications and services. This is illustrated by several research works in the literature that point out the advantages of these types of systems14,15,16, identify the challenges of this convergence and its missing aspects, highlight future research lines on this topic17, and present pioneer solutions based on open source technologies.
In particular, the integration of NFV technologies into the UAV arena enables the rapid and flexible deployment of network services and applications over delimited geographic areas (e.g., an IP telephony service). Following this approach, a number of UAVs can be deployed over a specific location, transporting compute platforms as payload (e.g., small-size single board computers). These compute platforms would provide a programmable network infrastructure (i.e., an NFV infrastructure) over the deployment area, supporting the instantiation of network services and applications under the control of a MANO platform.
Notwithstanding the benefits, the realization of this view presents a set of fundamental challenges that needs to be carefully addressed, such as the appropriate integration of these compute platforms as an NFV infrastructure, using an existing NFV software stack, so that an NFV orchestration service can deploy virtual functions on the UAVs; the constraints in terms of the computational resources provided by the compute platforms, as the UAVs transporting them may typically present limitations in terms of size, weight, and computing capacity of payload equipment; the proper placement of the virtual functions onto UAVs (i.e., selecting the best UAV candidate to deploy a particular virtual function); the maintenance of the control communications with the UAVs in order to manage the lifecycle of the VNFs in spite of the potentially intermittent availability of network communications with them (e.g., caused by mobility and battery constraints); the limited operation time of the UAVs due to their battery consumption; and the migration of the virtual functions when a UAV needs to be replaced due to its battery exhaustion. These benefits and challenges are detailed in previous work18,19 that includes the design of an NFV system capable of supporting the automated deployment of network functions and services on UAV platforms, as well as the validation of the practical feasibility of this design.
In this context, this paper focuses on describing a protocol to enable the automated deployment of moderately complex network services over a network of UAVs using the NFV standards and open source technologies. To illustrate the different steps of the protocol, a re-elaboration of an experiment presented in Nogales et al.19 is presented, consisting of the deployment of an IP telephony service. To aid the reproducibility of this work, real flight is considered as optional in the presented procedure, and performance results are obtained with the UAV devices on the ground. Interested readers should be able to replicate and validate the execution of the protocol, even in a controlled laboratory environment.
Figure 1 illustrates the network service designed for this procedure. This network service is built as a composition of specific softwarization units (categorized within the NFV paradigm as Virtual Network Functions, or VNFs) and provides the functionality of an IP telephony service to users in the vicinity of the UAVs. The VNF composing the service are defined as follows:
Moreover, Figure 1 presents the physical devices used for the experiment, how they are interconnected, and the specific allocation of VNFs to devices.
1. Prior requisites for the experiment
2. Validating the functionality of the softwarization units via emulation
NOTE: To prove the appropriate operation of the network service of the experiment (see Figure 1) under realistic deployment conditions, a purpose-specific emulation platform based on Linux containers26 and ns-327 was used. This platform allows emulating multi-hop aerial links and defining the characteristics of those links (e.g., length of the wireless communication links, pattern of data packet losses, the radio technology used in the wireless communications, etc.). Thus, this section of the protocol describes the steps to be followed to verify the appropriate operation of the IP telephony service under realistic wireless communication link conditions through the emulation platform.
3. UAVs cloud platform construction
4. Configuring the experiment
5. Executing the experiment
6. Procedure to gather experimental results
Based on the data obtained during the execution of the experiment, in which a real VoIP call is executed and following the steps indicated by the protocol to gather this information, Figure 2 depicts the cumulative distribution function of the end-to-end delay measured between two end-user equipment items (i.e., a commodity laptop and an IP telephone). This user equipment represents two devices that are interconnected through the AP VNFs of the deployed network service. More than 80% of the end-to-end delay measurements were below 60 ms, and none of them were higher than 150 ms, which guarantees appropriate delay metrics for the execution of a voice call.
Figure 3 illustrates the exchange of DNS and SIP signaling messages. These messages correspond to the registration of one of the users in the IP telephony server (i.e., the user whose IP phone is connected to the AP VNF where the "tcpdump" tool is running) and to the establishment of the voice call.
Finally, Figure 4 and Figure 5 show the data traffic captured during the call. In particular, the first one represents the constant stream of voice packets transmitted and received by one of the wireless phones during the call, whereas the latter illustrates the jitter in the forward direction with an average value lower than 1 ms.
The results that were obtained in the experiment for the delay figures (end-to-end delay and jitter) satisfy the recommendations specified by the International Telecommunication Union – Telecommunication Standardization Sector (ITU-T)35. Accordingly, the voice call progressed with no glitches and good sound quality. This experiment validated the practical feasibility of using NFV technologies and UAVs to deploy a functional IP telephony service.
Figure 1: Overview of the network service, depicting the VNFs, the entities in which they are executed, and the virtual networks needed for the provision of the IP telephony service. Please click here to view a larger version of this figure.
Figure 2: End-to-end delay. Representation of the end-to-end delay offered to the end-user equipment connected to the AP VNFs. For this purpose, the cumulative distribution function of the end-to-end delay has been computed from the measured RTT samples obtained with the "ping" command line tool. Please click here to view a larger version of this figure.
Figure 3: User registration and call signaling messages. Illustration of the signaling traffic (DNS and SIP) exchanged to register a user in the IP telephony server and to create and terminate the multimedia session that supports the execution of the voice call. Please click here to view a larger version of this figure.
Figure 4: Stream of voice packets. Representation of the voice traffic exchanged during the call, measured at one of the AP VNFs. (Abbreviations: RX = receive, RX = transmit, RTP = real-time transport protocol). Please click here to view a larger version of this figure.
Figure 5: Evolution of the network jitter during the call. Representation of the jitter experienced by the transmitted voice packets in the forward direction from one phone to the other. Please click here to view a larger version of this figure.
One of the most important aspects of this experiment is the use of virtualization technologies and NFV standards with UAV platforms. NFV presents a new paradigm aiming to decouple the hardware dependency of the network functionalities, thus enabling the provision of these functionalities through softwarization. Accordingly, the experiment does not depend on the use of the hardware equipment specified in the protocol. Alternatively, different models of single board computers can be selected, as long as they are in line with the dimensions and the transport capacity of the UAVs and they support Linux containers.
Notwithstanding this flexibility in terms of hardware selection, all the content provided for the reproducibility of the experiment is oriented towards the use of open source technologies. In this context, the configuration aspects and the software tools are conditioned to the use of Linux as the operating system.
On the other hand, the experiment considers the interoperation of two different computational platforms (i.e., the UAV cloud platform and the core cloud platform) to provide a moderately complex network service. However, this is not strictly needed, and the protocol could be followed to support scenarios in which only the UAV cloud platform is involved.
In addition, the solution presented could potentially be used in other environments, where resource-constrained hardware platforms might be available with the needed capacity to execute virtualization containers (e.g., the Internet of Things, or IoT, environments). In any case, the applicability of this solution to different environments and its potential adaptations will require a careful study in a case-by-case basis.
Finally, it should be noted that the results presented have been obtained in a laboratory environment and with the UAV devices grounded or following a limited and well-defined flight plan. Other scenarios involving outdoor deployments may introduce conditions affecting the stability of the flight of the UAVs, and hence the performance of the IP telephony service.
The authors have nothing to disclose.
This work was partially supported by the European H2020 5GRANGE project (grant agreement 777137), and by the 5GCIty project (TEC2016-76795-C6-3-R) funded by the Spanish Ministry of Economy and Competitiveness. The work of Luis F. Gonzalez was partially supported by the European H2020 5GinFIRE project (grant agreement 732497).
AR. Drone 2.0 – Elite edition | Parrot | UAV used in the experiment to transport the RPis and thus, provide mobility to the compute units of the UAV cloud platform. | |
Bebop 2 | Parrot | UAV used in the experiment to transport the RPis and thus, provide mobility to the compute units of the UAV cloud platform. | |
Commercial Intel Core Mini-ITX Computer | Logic Suppy | Computer server which hosts the OpenStack controller node (being executed as a VM) of the experiment's UAV cloud platform. In addition, another unit of this equipment (along with the RPis) conforms the computational resources of the UAV cloud platform. | |
Linux Containers (LXC) | Canonical Ltd. | (Software) Virtualization technology that enables the supply of the Virtual Network Functions detailed in the experiment. Source-code available online: https://linuxcontainers.org | |
Lithium Battery Pack Expansion Board. Model KY68C-UK | Kuman | Battery-power supply HAT (Hardware Attached on Top) for the computation units of the UAV cloud platform (i.e., the Raspberry Pis). In addition, this equipment encompasses the case used to attach the compute units (i.e., the Raspberry PIs or RPis) to the UAVs. | |
MacBook Pro | Apple | Commodity laptop utilized during the experiment to obtain and gather the results as described in the manuscript. | |
ns-3 Network Simulator | nsnam | (Software) A discrete-event simulator network simulator which provides the underlying communication substrate to the emulation station explained in the "Protocol" section (more specifically in the step "2. Validate the functionality of the softwarization units via Emulation"). Source-code available online: https://www.nsnam.org | |
Open Source MANO (OSM) – Release FOUR | ETSI OSM – Open source community | (Software) Management and Orchestration (MANO) software stack of the NFV system configured in the experiment. Source-code available online: https://osm.etsi.org/wikipub/index.php/OSM_Release_FOUR | |
OpenStack – Release Ocata | OpenStack – Open source community | (Software) Open source software used for setting up both the UAV cloud platform and the core cloud within the experiment. Source-code available online: https://docs.openstack.org/ocata/install-guide-ubuntu | |
Ping | Open source tool | (Software) An open source test tool, which verifies the connectivity between two devices connected through a communications network. In addition, this tool allows to assess the network performance since it calculates the Round Trip Time (i.e., the time taken to send and received a data packet from the network). Source-code available online: https://packages.debian.org/es/sid/iputils-ping | |
Power Edge R430 | Dell | High-profile computer server which provides the computational capacity within the core cloud platform presented in the experiment. | |
Power Edge R630 | Dell | Equipment used for hosting the virtual machine (VM) on charge of executing the MANO stack. In addition, the OpenStack controller node is also executed as a VM in this device. Note that the use of this device is not strictly needed. The operations carried out by this device could be done by a lower performance equipment due to the non-high resource specifications of the before mentioned VMs. | |
Prestige 2000W | ZyXEL | Voice over IP Wi-FI phone, compatible with the IEEE 802.11b wireless communications standard. This device is utilized to carry out the VoIP call through the network service hosted by platform described for the execution of the experiment. | |
Raspberry PI. Model 3b | Raspberry Pi Foundation | Selected model of Single Board Computer (SBC) used for providing the computational capacity to the experiment's UAV cloud platform. | |
SIPp | Open source tool | (Software) An open source test tool, which generates SIP protocol traffic. This tool allows to verify the proper support of the signalling traffic required in an IP telephony service such as the one deployed in the experiment. Source-code available online: http://sipp.sourceforge.net | |
Tcpdump | Open source tool | (Software) An open source tool that enables the capture and analysis of the network traffic. Source-code available online: https://www.tcpdump.org | |
Trafic | Open source tool | (Software) An open souce flow scheduler that is used for validating the capacity of the network service deployed to process data traffic generated during an IP telephony call. Source-code available online at: https://github.com/5GinFIRE/trafic |