1 Introduction

The current network infrastructures are facing great challenges in the attempt to satisfy the ever increasing user demands for higher data rates. The network operators aim to enlarge the network capacity in order to respond to these demands satisfying the requirements for novel heterogeneous traffic types and ubiquitous access.

The usual method to extend the network capacity is to increase the number of network nodes decreasing the size of the cells [1]. This approach only temporarily solves the problem, leading to significantly higher costs. Moreover, the demand for resources fluctuates swiftly making the fixed resource allocation highly inefficient. Since the extension and the adaptation of the network infrastructure is extremely expensive and time-consuming, the contemporary network architectures are unable to efficiently satisfy those demands. Therefore, the future networks have to exhaustively search for innovative solutions to make flexible, adaptable and easily scalable architecture.

Novel approaches such as Software Defined Networking (SDN) and Network Function Virtualization (NFV) will enable decoupling of the network infrastructure from the service layer. Logical segmentation of the physical network, virtualized network capabilities and centralized management of the hardware resources will allow easier implementation of the new services. The virtualization of network functionalities will stimulate an increased utilization of the hardware resources, depending on the fluctuations in network demands, providing high spectral and energy efficiency.

A promising solution is to move parts of the radio access network (RAN) into the cloud, a concept referred to as C-RAN (Cloud-RAN), [2]. C-RAN separates the RAN functionalities from the hardware and transfers them to software, introducing virtualization of the network resources to enable a centralized radio resource management (RRM). As a result, different network nodes may utilize different parts of the available resources, i.e. the baseband processing unit (BBU) pool, allowing an efficient network adaptation to heterogeneous traffic types and loads. New BBUs can be easily added, improving the scalability and easing the network maintenance. C-RAN introduces cost-efficient solution to improve the overall power consumption and energy efficiency. The C-RAN is scalable and can be easily enriched with new capabilities and services.

This paper introduces a cloud platform based on OpenStack Newton, an open-source cloud operating system [3]. Different Radio Access Technologies (RATs) are implemented through the use of Software Defined Radios (SDRs) and open-source software tools. The platform deploys a multi-RAT cloud-based heterogeneous network, comprising fully virtualized GSM and LTE capabilities. The main idea is to evaluate the behavior of multi RATs and computational resources allocation, depending on the various network scenarios. Resource allocation is based on an adaptable utilization algorithm, with dynamic reallocation of compute resources between the different network nodes. Consequently, the achieved optimal resource utilization can satisfy the user demands without the requirement for network resources expansion.

The paper is organized as follows. Section 2 elaborates on the most recent advancements in the field and presents the related work. Section 3 presents the proposed system setup. Section 4 describes the various deployment scenarios of our multi-RAT heterogeneous model. Also, it provides the performance analysis of the presented system and proposed dynamic resource allocation algorithm. Section 5 concludes the paper.

2 Related Work

The novelty of software-defined and virtualization techniques in cellular networks imposes additional challenges addressed in many research works that focus on C-RAN. However, the majority of these research works are mainly based on theoretical analysis, with limited practical validation. The C-RAN concept implies that an extensive amount of traffic must be exchanged between the centralized BBU pool and the Remote Radio Units (RRUs), located on distributed sites. The fronthaul transport network must provide strict guarantees for latency and jitter, as well as high availability. A possible solution to facilitate the fronthaul traffic congestion is proposed by Qi et al. [4].

The utilization of dynamic resource allocation in C-RAN provides increased spectral and energy efficiency, which are crucial in the minimization of operational costs. Accordingly, a lot of research work is focused on creating frameworks for intelligent BBU resource allocation, as well as BBU cooperation, interconnection and clustering. The case study conducted in [5] proposes dynamic resource allocation in C-RAN with real-time BBU-RRH assignment. The paper presents a resource allocation algorithm to optimize the number of allocated RRHs (Radio Resource Heads) for incoming UEs. Based on the calculated power and SINR constraints, an optimal number of BBUs is assigned to the RRHs to handle the traffic load. The hybrid model of the baseband pool resource allocation presented in [6], divides the BBU pool into shared and fixed resources. When the traffic load is low, the fixed resources are sufficient to provide service for users. In high traffic load scenarios, the control center allocates additional dynamically clustered shared resources, depending on the network configuration and user demands.

Another significant area of interest in C-RAN deployments is the virtualization of RAN functionalities and physical resources. The main goal in [7] is to maximize the multiplexing gain by pooling multiple virtual base stations (VBSs) and consolidating their stochastic computational tasks. The statistical multiplexing gain is analyzed by using a multi-dimensional Markov model for the VBS pools. The authors in [8] propose a framework for Wireless Resource Virtualization (WRV) where the problem is formulated as a binary integer programming (BIP) problem, which is solved by a low complexity iterative algorithm. Another relevant work by Gebremariam et al. in [9], proposes an abstraction of the radio resources in heterogeneous cellular networks, into a centralized virtual radio resource pool (VRRP). The VRRP is a 3D pool of resources, consisting of time, frequency and space dimensions. A dynamic spectrum-level slicing algorithm allocates the radio resources according to the traffic load and service agreements between the mobile network operators.

This paper implements the concept of C-RAN in a realistic demo platform, thus analyzing its performance on real hardware, instead of numerical analysis and simulations. The proposed demo platform presents an extension to the solution in [10], and proposes several key enhancements. It utilizes the newest release of the open-source cloud operating system OpenStack-Newton [3], to evaluate the performance of a fully-virtualized multi-RAT heterogeneous cellular network. In addition, the proposed dynamic resource allocation algorithm achieves optimal utilization of the virtualized physical resources, depending on the network load scenarios.

In the following section, we introduce our system setup that utilizes a software-defined radio approach for multi-RAT heterogeneous network deployment, implemented in a cloud platform.

3 System Setup

Our goal is to create an agile and flexible software-defined multi-RAT cellular network with centralized cloud-based resource management. The cloud platform is based on OpenStack, an open-source software platform for cloud-computing architecture design, developed by Rackspace and NASA [3]. OpenStack is defined as a cloud operating system that manages pools of compute, storage and networking resources. It is simple for implementation and does not have high hardware requirements. Its modular architecture, based on core and optional projects, enables flexibility and scalability in terms of services and components. The basic functioning is enabled through software-defined networking links, with a centralized controller that coordinates the available resource pools through software-defined network functions. The usage of compute resources is enabled though the implementation of virtual servers (instances) that can be booted and managed using a user-friendly web-based dashboard or command-line interface. The virtual servers are very flexible and scalable, in terms of resources and availability, and can be migrated through different compute nodes, depending on the network configuration. The platform storage capabilities easily extended through the introduction of additional storage volumes, both physical and/or virtualized can be attached to different nodes and servers.

The RAN nodes, i.e. base stations, are implemented using software defined radios (SDRs). SDRs enable implementation of hardware capabilities using software tools/applications, on a personal computer. In our setup, we use Universal Software Radio Peripheral (USRP) devices, developed by National Instruments, the NI USRP 2953R (also known as USRP x310 by Ettus) [11] and the NI USRP 2920 (also known as USRP N210 by Ettus) [12]. The USRPs are quite affordable, with high flexibility, and are commonly used for prototyping and demo setups in the wireless community. They can be easily reconfigured, allowing implementation of different radio access technologies such as GSM, UMTS, LTE and etc. The OpenStack-based platform allows a dynamic creation of virtual servers to manage the USRP devices. Virtual servers can be booted with a variety of different configuration options such as flavor (compute resources such as vCPU and vRAM), networking parameters, security, storage etc. Thus, only the signal processing needs to be done on the USRPs.

The virtualization of the radio access nodes, for both GSM and LTE, is done through the usage of open-source software tools, such as OpenBTS and srsLTE:

  • OpenBTS is an open-source software tool that enables substitution of legacy protocols and proprietary hardware systems through software-defined architectures, utilizing SDRs and standard networking protocols such as the IP, developed by Range Networks [13]. OpenBTS utilizes SDR devices for implementation of standard 3GPP air interface, through software implemented base station, for GSM network scenarios. The core network software parts are based on open protocols such as Asterisk (for voice calls), SIP (for authentication) and IP enabled transport links. Commercial mobile phones can be used as user devices, presented as SIP endpoints in a standard Voice over IP (VOIP) networks. They are capable of establishing standard communications, such as voice calls, SMS messaging and data usage via GPRS. Basically, OpenBTS allows us to implement a complete ”network-in-a-box” solution, through the use of a single USRP device and a personal computer. The creators of OpenBTS are eager to establish a commercial product that can be used to expand coverage to underserved cellular markets, including support for emerging low-rate Internet of Things deployments. Furthermore, OpenBTS-UMTS presents an open-source software tool for implementation of software-defined UMTS network nodes on standard SRDs, built upon the same framework as OpenBTS [13].

  • SrsLTE is an open-source software tool for virtualization of LTE RAN node capabilities (eNodeB) and LTE UE capabilities, developed by SRS [14]. The application is based on a C-written library, with additional support for acceleration libraries such as VOLK [15]. It features 3GPP Release 8 FDD-LTE, with 1.4 MHz to 20 MHz bandwidth, for SISO (1×1) and MISO (2×1) downlink transmissions. The PHY LTE in srsLTE supports all DL channels, for both the eNodeB and the UE. There is an additional open-source software tool based on srsLTE, srsUE, with full stack implementation for LTE UE [14]. SrsLTE supports a range of SDR devices, including the previously mentioned USRP ×310, based on inherent support for LTE sampling rates (30.72 MHz for 20 MHz bandwidth). It includes all 28 modulation and coding schemes (MCS) for downlink transmission, which can be dynamically changed, based on the radio link conditions. The capabilities of the srsLTE software tool are addressed in details, by the developers in [16].

The proposed cloud-based system is implemented in a demo setup, based on OpenStack Newton, the newest release of OpenStack [3]. The implementation of OpenStack cloud platform makes it easier to manage the whole infrastructure, through a highly-configurable integration engine, with a set of core projects and usage of consistent APIs. Additionally, we implement the orchestration service, Heat, which represents a powerful automation tool for virtual servers and resource management in separate stacks [2].

The whole platform is based on several logical entities. The OpenStack nodes are installed on separate computers:

  • The controller enables a centralized control and management of network functionalities and resources. It is installed on a virtual machine, using the software tool VirtualBox, with 8 GB RAM and 100 GB of storage, on an Ubuntu Server 16.04 LTS operating system.

  • The compute nodes represent the available compute resource pool that can be dynamically allocated to different virtual servers. They are installed on separate laptops, Lenovo ThinkPad with Intel i7 processors, 4 GB RAM and 100 GB of disk memory with Ubuntu Server 16.04 LTS installed. The compute nodes storage is shared among the running virtual servers.

  • The Block memory node facilitates an easy expansion of the storage resource pool, with volume blocks that can be attached to the virtual servers.

  • Two virtual instances are created to represent the RAN nodes, with Ubuntu Cloud Server 14.04.5 LTS installed. The GSM BTS is implemented using OpenBTS, which utilizes the N210 USRP device. The LTE eNodeB is implemented using srsLTE, which utilizes the ×310 USRP device. The RRU resource pool depends on the radio capabilities of the corresponding USRP devices. The overall BBU pool depends on the flavors of the virtual servers that are hosting the software tools. Virtual servers can be dynamically resized, through the use of different flavors, depending on the network configuration parameters.

The performance of the multi-RAT cloud-based heterogeneous network, with centralized resource allocation implemented in the controller, is analyzed in the following section, through a set of different network scenarios.

4 Scenarios and Dynamic Virtual Resource Allocation

This section elaborates on two C-RAN scenarios. The first scenario focuses on the performance evaluation of the developed platform, in a homogeneous wireless system setup, where the platform virtualizes either the GSM or the LTE system. The second scenario focuses on the proposed dynamic virtual resource allocation algorithm. It is based on a heterogeneous wireless system setup, where the platform virtualizes and runs both GSM and LTE systems in parallel. Moreover, the second scenario incorporates two use cases, where the platform utilizes either a fixed resource allocation or the proposed dynamic virtual resource allocation, respectively.

4.1 Homogeneous Platform Scenario

The scenario for the platform evaluation is presented in Fig. 1. It focuses on scrutinizing the behavior of the GSM/GPRS and LTE systems with respect to their virtual resource utilization (CPU and RAM). Specifically, the scenario evaluates the achieved system throughput (for both GSM and LTE) in the downlink (DL) direction for a given combination of CPU and RAM. In the remainder of the paper, the virtual CPU and RAM resources will be denoted as vCPU and vRAM. The platform evaluation is conducted separately for the GSM and LTE systems. Table 1 presents the performance evaluation parameters and their respective values. It must be noted that the provided results for both systems are generated only using one terminal equipment (see Table 1), due to hardware resource limitations.

Table 1 Performance evaluation parameters
Fig. 1
figure 1

Performance evaluation scenario setup

Figure 2 depicts the achieved system throughput of the GSM system versus the respective vCPU and vRAM utilization. The figure clearly shows that the virtual resources have significant effect on the achieved system throughput. It is evident that the GSM system utilizes higher number of vCPUs and more vRAM in order to achieve higher system throughput. It is also clear that the number of vCPUs has larger impact on the system throughput, compared to the vRAM. Moreover, the vRAM’s influence on the system throughput diminishes for higher number of active vCPUs.

Fig. 2
figure 2

Performance evaluation for the GSM system

Figure 3 depicts the achieved system throughput of the LTE system versus the respective vCPU and vRAM utilization. Similarly to Fig. 2, the presented results show that the virtual resources have significant effect on the achieved system throughput. However, for the case of LTE, the vRAM has almost no impact on the system throughput. This is a result of the more complex system design. Since LTE is based on OFDM, it requires significant computational power for the baseband signal processing such as FFT calculations, equalization, encoding, modulation, etc. This poses high load on the processing capabilities of the underlying communication hardware, which acts as the bottleneck in the communication process.

Fig. 3
figure 3

Performance evaluation for the LTE system

The comparison of Figs. 2 and 3 shows that the LTE system achieves significantly higher system throughput compared to GSM for the same virtual resource utilization. This is an expected result as LTE is designed to provide high data rates to the end users at relatively short distances. However, GSM can be used as an umbrella technology that provides long distance coverage and fills the LTE coverage wholes. The remainder of the section as well as the performance analysis, will specifically focus on this heterogeneous scenario.

4.2 Heterogeneous Platform Scenario

In order to exploit the full potential of the synergy between the C-RAN technology and the heterogeneous scenario of interest, the underlying virtual resources should be dynamically allocated. As seen from both Figs. 2 and 3, the system (i.e. network) load, with respect to the system throughput, heavily depends on the dedicated virtual resources. Commonly, in heterogeneous C-RAN scenarios, the network load experiences frequent spatio-temporal fluctuations. Dedicating fixed resources per system will inevitably lead to overall decreased system performance and user experience.

This paper proposes a novel dynamic virtual resource allocation algorithm that facilitates the overall optimal system performances. The proposed algorithm takes into consideration the underlying network load and computes the optimal virtual resources (i.e. vCPU and vRAM) per technology (system), resulting in optimal performance. Moreover, the proposed algorithm utilizes the system performance curves presented in Figs. 2 and 3 (i.e. utility functions) in the optimization process. The dynamic virtual resource allocation algorithm is defined as:

$$\begin{aligned} \begin{array}{l} \arg \mathop {\min }\limits _{\left\{ {{c_i},{r_i}} \right\} _{i = 1}^N} \left\{ {\sum \limits _{i = 1}^N {{R_i} - {{\hat{R}}_i}\left( {{c_i},{r_i}} \right) } } \right\} \\ \mathrm{{s.t.}}\quad {c_i} \le {c_P},\\ \quad \quad {r_i} \le {r_P},\\ \quad \quad \sum \limits _i^N {{c_i} \le {c_{\max }}} ,\\ \quad \quad \sum \limits _i^N {{r_i} \le {r_{\max }}} \end{array} \end{aligned}$$
(1)

where N denotes the number of different systems, \(c_i\) and \(r_i\) denote the allocated vCPU and vRAM of the \(i-th\) system, \(c_P\) is the maximal number of vCPUs per compute node, \(r_P\) is the maximal amount of vRAM per compute node, \(c_{max}\) denotes the total number of vCPUs in the cloud and \(r_{max}\) denotes the total amount of vRAM in the cloud system. The parameter \(R_i\) denotes the underlying throughput load, i.e. offered data rate, in the \(i-th\) system and \({\hat{R}}_i\) denotes the achieved system throughput, i.e. served data rate, for a specific number of vCPUs and vRAM, based on Figs. 2 and 3.

Fig. 4
figure 4

Scenario setup for the heterogeneous C-RAN

In order to evaluate the advantages of the proposed dynamic virtual resource allocation, the paper focuses on a heterogeneous C-RAN scenario and two use cases. The scenario setup for both use cases is presented in Fig. 4. Both GSM and LTE systems are operating at the same time streaming data in the DL direction, i.e. towards the mobile devices. The first use case assumes that there is only a fixed allocation of the virtual resources per system and that both systems equally divide the virtual resources between each other. The second use case exploits the dynamic virtual resource allocation presented in this section.

4.2.1 Performance Analysis

This subsection evaluates the performances of the proposed dynamic virtual resource allocation algorithm based on the scenario presented in Fig. 4. The analysis is performed in terms of the throughput probability, as well as the number of vCPUs and memory (i.e. vRAM). The analysis is conducted on the demo platform presented in Sect. 3. The system setup is the same with the one presented in Table 1.

With respect to the cloud platform, OpenStack provides the possibility to dynamically change the virtual resources of the active instances i.e. the active wireless systems. In OpenStack, this resource adaptation is known as resizing and requires predefined virtual resource flavors. For the purpose of the performance analysis, Table 2 presents the underlying virtual resource flavors used in the experiment.

Table 2 Virtual resource flavors

Figure 5 depicts the throughput probability versus the system utilization, for a total network load \(L=50\%\).The throughput probability is defined as:

$$\begin{aligned} S = \frac{1}{N}\sum \limits _{i = 1}^N {\frac{{{{\hat{R}}_i}}}{{{R_i}}}} . \end{aligned}$$
(2)

It provides a quantitative assessment of the heterogeneous network capability to address the underlying data rate demand, i.e. it denotes the serving efficiency of the heterogeneous network. The system utilization is defined as:

$$\begin{aligned} {U_i} = \frac{{{R_i}}}{{R_{\max }^i}} , \end{aligned}$$
(3)

where \(R_{\max }^i\) denotes the maximal achievable throughput of the underling system, i.e. GSM or LTE, see Figs. 2 and 3. The total network load represents the aggregate load of the heterogeneous network and can be calculated as:

$$\begin{aligned} L = \frac{1}{N}\sum \limits _{i = 1}^N {{U_i}} , \end{aligned}$$
(4)
Fig. 5
figure 5

Throughput probability vs system utilization: a GSM utilization as reference b LTE utilization as reference (\(L=50\%\))

The figure clearly shows that the dynamic virtual resource allocation algorithm offers improved performances, compared to the static one. This is especially evident for use cases where the underlying systems have significantly uneven utilization. For example, for GSM utilization of 90% the respective LTE utilization will be only 10%, based on Eq.(4) and assuming total network load L = 50% This use case can be mapped to the situation where most of the users are utilizing the umbrella system and only a small portion of the users are utilizing the high-date rate small cell system. This is a typical example in rush-hours when most of the users are traversing to or back from work. As seen in Fig. 5a in this case the throughput probability for the static allocation falls dramatically and it is not able to serve all users. The dynamic allocation reallocates a portion of LTE’s virtual resources to the GSM system in order to address the increased demand.

A similar conclusion holds for the performance analysis in Fig. 5b. In this case, LTE is significantly more loaded than GSM. This can commonly occur during working or evening hours, i.e. when the users are indoors and able to use the high-date rate small cell system (i.e. the LTE system). Figure 5b clearly shows that in this case the throughput probability for the static allocation again decreases significantly and it is not able to serve all users. The dynamic allocation reallocates a portion of GSM’s virtual resources to the LTE system in order to address the increased demand.

Fig. 6
figure 6

Virtual resource allocation: a GSM system b LTE system

Figure 6 depicts the virtual resource allocation (vCPUs and vRAM) for both system with respect to the underlying system utilization. It is evident that the GSM system requires equal or less virtual resources compared to the LTE system, for the same network utilization. This is mainly a result of the underlying physical and MAC layer technology of both systems. The LTE physical layer requires significant processing (due to the utilization of OFDM), compared to the GSM system that utilizes GMSK. From the figure it is also evident that the GSM system can adapt to the increased data traffic demands only by using more vRAM. The LTE system mainly exploits the vCPUs as the primary virtual resource for addressing the increased data traffic demands. Additionally, the virtual resource allocation (vCPUs and vRAM) depends on the constraints of the proposed dynamic virtual resource allocation algorithm (see Sec. 4.2 (1)). Both system can be treated as orthogonal in terms of the dynamic virtual resource allocation (GSM favours vRAM and LTE favours vCPU), resulting in a significant improvement of the network capacity and accessibility compared to conventional i.e. static deployments.

The analysed results, in Figs. 5 and 6 are influenced by the underlying capabilities, (i.e. computational power of the compute nodes and active mobile users.). It is expected that the performance gain of the proposed dynamic virtual resource allocation algorithm would be even higher in real world scenarios or scenarios with more computationally capable compute nodes and multiple mobile subscribers.

5 Summary

C-RAN represents a flexible radio technology that centralizes and virtualizes the baseband processing resources in a cloud environment. The C-RAN technology addresses the issues common to legacy wireless system such as static deployment and inability to adapt to fluctuating data traffic demands. The undergoing research works in this area are limited to theoretical analysis and estimations with little to no practical usability. Moreover, the development of practical platforms is very scarce and solely focused on lab prototypes based on proprietary hardware and software solutions.

This paper presented a novel C-RAN platform that efficiently virtualizes fully standardized GSM and LTE wireless systems. The presented platform exploits off the shelf and open-source solutions and provides an easy and low cost implementation. Due to off the shelf and open-source design, the platform is easily scalable and can be used in different practical deployments. The paper also presents a novel approach for optimal communication performance of the C-RAN, achieving the best user experience. The proposed approach dynamically re-allocates the virtual resources, with respect to CPU and memory to the active radio system, efficiently adapting to the underlying variations of the user’s data traffic demands. The results of the performance analysis prove the practical usability of the developed C-RAN platform and clearly demonstrate the advantages of the proposed dynamic virtual resource allocation algorithm.

Future work will focus on extending the platform scope by introducing other wireless systems such as, UMTS and TETRA, as well as incorporate large scale trials. The future work will also concentrate on extending the proposed dynamic virtual resource allocation algorithm for multi-objective system optimization, introducing additional communication related parameters in the optimization loop, like delay, error rate, energy efficiency, etc.