Model
Figure 1 presents the hierarchy for the management of virtual radio resources, consisting of a VRRM entity on the top of the usual radio resource management (RRM) entities of heterogeneous access networks [24], i.e., common RRM (CRRM) and local RRMs (for each of the physical networks), the latter managing different RATs (Radio Access Technologies)
VNOs, placed at the top of the hierarchy, require wireless connectivity to be offered to their subscribers, not owning any radio access infrastructure [8, 9]. VNOs ask for RANasaservice (RANaaS) from the RAN provider with physical infrastructure [25]. VNOs do not have to deal with the management of virtual RANs; they just define requirements, such as contracted capacity, in their SLAs with RAN providers. The role of VRRM is to translate VNOs’ requirements and SLAs into a set of policies for the lower levels [8]. These policies contain data rates for different services, in addition to their priorities. Although VRRM optimises the usage of virtual radio resources, it does not deal with physical ones. However, VRRM has to consider practical issues, as the effect of the collision rate in WLANs on network data rate, in order to have an effective management of virtual radio resources. Reports and monitoring information provided by CRRM enables VRRM to improve policies. Load balancing among RANs, controlling the offloading procedure, is the duty of CRRM also known as Join RRM. Finally, the local RRMs are in charge of managing the physical resources based on the policies of VRRM and CRRM.
The VNOs’ SLAs can generally be categorised into three main groups:

Guaranteed bitrate (GB), in which the RAN provider guarantees the VNO a minimum and a maximum level of data rates, regardless of the network status. Allocating the maximum guaranteed data rate to the VNO leads to its full satisfaction. The upper boundary in this type of SLA enables VNOs to have full control on their networks. For instance, a VNO offering VoIP (voice over IP) to its subscribers may foresee to offer this service to only 30 up 50% of its subscribers simultaneously, hence, the VNO can put this policy into practice by choosing a guaranteed SLA for its VoIP service. It is expected that subscribers always experience a good quality of service (QoS) in return of relatively more expensive services.

Best effort with minimum guaranteed (BG), where the VNO is guaranteed with a minimum level of service. The request for data rates higher than the guaranteed level is served in the best effort manner, hence, the minimum guaranteed data rate is the one received during busy hours. In this case, although VNOs do not invest as much as former ones, they can still guarantee the minimum QoS to their subscribers. From the subscribers’ viewpoint, the acceptable service (not as good as the previous ones) is offered with a relatively lower cost.

Best effort (BE), in which the VNO is served in the pure best effort approach. In this case, operators and their subscribers may suffer from low QoS and resource starvation during busy hours, but the associated cost will be lower as well.
VRRM can be considered as a decisionmaking problem, under uncertainty for a dynamic environment; the decision is on the allocation of resources to the different services of VNOs, by considering the set of available radio resources. In what follows, the VRRM problem is discussed in detail.
The first step is forming the set of radio resources containing the number of available radio resource units (RRUs) per RAT (e.g., timeslots in GSM, codes in UMTS, resourceblocks in LTE and channels in WiFi), as follows:
$$ {s}_{\mathrm{t}}^{\mathrm{RRU}}=\left\{{N}_{\mathrm{SRRU}}^{\mathrm{RA}{\mathrm{T}}_1},\ {N}_{\mathrm{SRRU}}^{\mathrm{RA}{\mathrm{T}}_2}, \dots,\ {N}_{\mathrm{SRRU}}^{\mathrm{RA}{\mathrm{T}}_{{\mathrm{N}}_{\mathrm{RA}\mathrm{T}}}}\right\} $$
(1)
where:

\( {s}_{\mathrm{t}}^{\mathrm{RRU}} \): the set of radio resources at t,

\( {N}_{\mathrm{SRRU}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \): number of spare RRUs in the ith RAT,

N
_{RAT}: number of RATs.
Mapping the set of radio resources onto the total network data rate is the next step. Since radio resources’ performance is not deterministic, it is not possible to have a precise prediction of capacity, requiring the estimation of the total network data rate via a probability distribution, as a function of the available RRUs for further decisions,
$$ {s}_{\mathrm{t}}^{\mathrm{RRU}}\overset{\mathrm{mapping}}{\to }\ {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}(t) $$
(2)
where:
The third step is the allocation of the available resources to the services of VNOs. Sets of policies are designed in this step, in order to assign a portion of the total network capacity to each service of each VNO. Meeting the guaranteed service levels and increasing the resources’ usage efficiency are the primary objectives, but other goals, such as fairness, may be considered. The resource allocation mapping of the total network capacity onto different services’ data rates is given by:
$$ {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}(t)\overset{\mathrm{map}}{\to }\ \left\{{R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}(t)\Big j=1, \dots,\ {N}_{\mathrm{VNO}},\ i=1, \dots,\ {N}_{\mathrm{srv}}\right\} $$
(3)
where:

\( {R}_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Srv}} \): serving (allocated) data rate for service j of VNO i;

N
_{VNO}: number of VNOs;

N
_{srv}: number of services.
Finally, monitoring the used resources and updating their status is the observation part of this decisionmaking problem. It enables the manager to evaluate the accuracy of its decisions and to modify former ones. Updating changes in the set of radio resources helps the manager to cope with dynamic changes in the environment and in VNOs requirements. In summary, it can be claimed that resource management solutions generally have two main components; estimation of available resources and optimisation of their allocation, which are addressed next.
Estimation of available resources
The estimation of available resources, and their allocation to the different services, are the two key steps in VRRM procedures. Obtaining a probabilistic relationship in the form of a probability density function (PDF), between the set of available RRUs and network capacity is the goal in a first step, then, by having an estimation of network capacity, VRRM allocates a portion of this capacity to each service of each VNO.
Depending on various parameters, such as RAT, modulation and coding, the allocation of an RRU can provide different data rates to mobile terminals. However, the data rate of an RRU is generally a function of the signaltointerferenceplusnoiseratio (SINR), [8, 9]. Since SINR is a random variable, given the channel characteristics from path loss, fading and mobility, among other things, one needs to express the data rate also as a random variable:
$$ {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}\left[\mathrm{Mbps}\right]}\left({\rho}_{\mathrm{i}\mathrm{n}}\right)\in \left[0,\ {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}\left[\mathrm{Mbps}\right]}^{\max}\right] $$
(4)
where:

\( {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \): data rate of an RRU from the ith RAT,

ρ
_{in}:SINR,

\( {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}}^{\max } \):maximum data rate of an RRU from the ith RAT.
Based on [8], the PDF of \( {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \) can be given as:
$$ {p}_{{\mathrm{R}}_{\mathrm{b}}}\left({R_{\mathrm{b}}}_{\mathrm{R}\mathrm{A}{\mathrm{T}}_{\mathrm{i}}\left[\mathrm{Mbps}\right]}\right)=\frac{\frac{0.46}{\alpha_p}\left({\displaystyle {\sum}_{k=1}^5} k\ {a}_k\ {\left({R_{\mathrm{b}}}_{\mathrm{R}\mathrm{A}{\mathrm{T}}_{\mathrm{i}}}\right)}^{k1}\right) \exp \left(\frac{0.46}{\alpha_p}{\displaystyle {\sum}_{k=0}^5}{a}_k\ {\left({R_{\mathrm{b}}}_{\mathrm{R}\mathrm{A}{\mathrm{T}}_{\mathrm{i}}}\right)}^k\right)}{ \exp \left(\frac{0.46}{\alpha_p}{a}_0\right) \exp \left(\frac{0.46}{\alpha_p}{\displaystyle {\sum}_{k=0}^5}{a}_k\ {\left({R_{\mathrm{b}}}_{\mathrm{R}\mathrm{A}{\mathrm{T}}_{\mathrm{i}}}^{\max}\right)}^k\right)} $$
(5)
where:

α
_{
p
} ≥ 2: path loss exponent,

a
_{
k
}: coefficients in a polynomial approximation of SINR, as a function of data rate in each RAT (presented in [8] for cellular networks, and in [10] for WiFi).
The total data rate for a single RAT pool is
$$ {R}_{{\mathrm{b}}_{\mathrm{tot}}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}}={\displaystyle \sum_{n=1}^{N_{\mathrm{RRU}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}}}}{R}_{{\mathrm{b}}_{\mathrm{n}}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} $$
(6)
where:

\( {N}_{\mathrm{RRU}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \): number of RRUs of the ith RAT,

\( {R}_{{\mathrm{b}}_{\mathrm{tot}}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \): data rate from the ith RAT pool,

\( {R}_{{\mathrm{b}}_{\mathrm{n}}}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} \): data rate from the nth RRU of the ith RAT.
The PDF of a RAT’s data rate is equal to the convolution of all RRUs’ PDFs when the channels, and consequently, the data rates’ random variables (R
_{bi}) are independent [26]. In the deployment of heterogeneous access networks, the resource pools of the different RATs can be aggregated under the supervision of CRRM. The total data rate aggregated from all RATs is then the summation of the total data rate from each individual:
$$ {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}={\displaystyle \sum_{i=1}^{N_{\mathrm{RA}\mathrm{T}}}}{R}_{{\mathrm{b}}_{\mathrm{tot}}\left[\mathrm{Mbps}\right]}^{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}} $$
(7)
By having the number of available resources mapped onto probability functions, the VRRM has an estimation of the total network capacity. In the estimation procedure, the total network data rate is highly dependent on the channel quality at the mobile terminal, to which the radio resources are allocated. A higher network data rate can be achieved when the RRUs are allocated to mobile terminals with a high SINR. Thus, the allocation of the radio resources to mobile terminals with a low SINR leads to a lower network data rate. In a very low network capacity, VRRM may not be able to meet the minimum guaranteed requirements. The aforementioned estimation approach does not consider any assumption on the channel quality of the mobile terminals, this approach being referred to as the general (G) one. By adding assumptions about the mobile terminals’ channel quality, three additional approaches for the estimation of network capacity are considered:

Optimistic approach (OP): all RRUs are assigned to users with very good channel quality (i.e., high SINR), therefore, it is assumed that the data rate of each RRU satisfies:
$$ 0.5\kern0.5em {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max}\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max } $$
(8)
$$ 0\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}<0.5\ {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max}\kern0.5em \mathrm{Low}\ \mathrm{SINR}\ \mathrm{Group} $$
(9)
$$ 0.5\ {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max}\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}<{R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max}\kern0.5em \mathrm{High}\ \mathrm{SINR}\ \mathrm{Group} $$
(10)
$$ 0\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}\le 0.5\kern0.5em {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max } $$
(11)
Equation (5) can be further developed for these special case studies, where data rate is bounded between high and low values, the conditional PDF of a single RRU in this case being calculated as follows [26]:
$$ {p}_{\mathrm{Rb}}\left({R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}\left[\mathrm{Mbps}\right]}\Big{R}_{\mathrm{b}\mathrm{Low}\left[\mathrm{Mbps}\right]}\le {R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}\left[\mathrm{Mbps}\right]}\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max}\right)=\frac{\frac{0.46}{\alpha_p}\left({\displaystyle {\sum}_{k=1}^5} k\ {a}_k{\left({R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}}\right)}^{k1}\right)\ \exp \left(\frac{0.46}{\alpha_p}{\displaystyle {\sum}_{k=0}^5}{a}_k\ {\left({R_{\mathrm{b}}}_{\mathrm{RA}{\mathrm{T}}_{\mathrm{i}}}\right)}^k\right)}{ \exp \left(\frac{0.46}{\alpha}{\displaystyle {\sum}_{k=0}^5}{a}_k{\left({R}_{\mathrm{b}\mathrm{Low}}\right)}^k\right) \exp \left(\frac{0.46}{\alpha}{\displaystyle {\sum}_{k=0}^5}{a}_{k\ }{a}_k{\left({R}_{\mathrm{b}\mathrm{High}}\right)}^k\right)} $$
(12)
where:
One should note that there is a relationship in between the various parameters related to the data rate:
$$ 0\le {R}_{\mathrm{b}\mathrm{Low}\left[\mathrm{Mbps}\right]}\le {R}_{\mathrm{b}\mathrm{High}\left[\mathrm{Mbps}\right]}\le {R}_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max } $$
(13)
Furthermore, one should note that this approach is not scenariodependent, i.e., it can be applied to any network/system fitting into the general network architecture previously presented, which encompasses all current cellular networks and WLANs, as well as to other approaches for the estimation of network capacity (just by considering the corresponding conditions).
Allocation of resources in cellular networks
In the next step, the services of the VNOs have to be granted with a portion of the network capacity. The allocation of resources has to be based on services’ priority and SLAs, e.g., the services from conversation (e.g., VoIP) and streaming (e.g., video) classes are delaysensitive, but they have almost constant data rates, thus, the allocation of data rates higher than the ones contracted for these services does not increase the QoS, in contrast to interactive (e.g., FTP) and background (e.g., email) classes; as a consequence, operators offering the former set of services are not interested in allocating higher data rates.
The primary goal in the allocation procedure is to increase the total network data rate, while considering the priority of different services, subject to the constraints. On the ground of this fact, the objective function for VRRM is the total weighted network data rate, being expressed for cellular RATs as:
$$ {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{cell}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{cell}}\right) = {\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}}{W}_{\mathrm{ji}}^{\mathrm{Srv}}\ {R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{cell}} $$
(14)
where:

\( {\mathbf{R}}_{\mathbf{b}}^{\mathbf{cell}} \): vector of serving data rates from cellular networks,

N
_{VNO}: number of served VNOs by this VRRM,

N
_{srv}: number of services for each VNO,

\( {W}_{\mathrm{ji}}^{\mathrm{Srv}} \): weight of serving unit of data rate for service j of VNO i by VRRM, where \( {W}_{\mathrm{ji}}^{\mathrm{Srv}}\in \left[0,1\right] \).
The weights in (14) are used to prioritise the allocation of data rates to services, being a common practice to have the summation of all them equal to unit. The choice of these weights is based on the SLAs between VNOs and VRRM, and they can be modified depending on the agreed KPIs (key performance indicators) during runtime.
Allocation of resources in WLAN
It is desirable that the services with the higher serving weights receive data rates higher than the ones with the lower serving weights. The equivalent function for WLANs is
$$ {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{WLAN}}\left({\mathbf{R}}_{\mathbf{b}\left[\mathrm{Mbps}\right]}^{\mathbf{WLAN}}\right)={\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{s\mathrm{rv}}}\left({W}_{\mathrm{j}\mathrm{i}}^{\mathrm{Srv}}\ {R}_{{\mathrm{b}}_{\mathrm{j}\mathrm{i}}\left[\mathrm{Mbps}\right]}^{\mathrm{WLAN}} + {W}^{\mathrm{SRb}}\ \frac{\overline{R_{{\mathrm{b}}_{\mathrm{j}}}}}{\overline{R_{\mathrm{b}}^{\max }}}\kern0.5em {R}_{{\mathrm{b}}_{\mathrm{j}\mathrm{i}}\left[\mathrm{Mbps}\right]}^{\mathrm{WLAN}}\right)}} $$
(15)
where:

\( {\mathbf{R}}_{\mathbf{b}}^{\mathbf{WLAN}} \): vector of serving data rates from APs,

W
^{SRb}: weight for session average data rate, where W
^{S}Rb ? [0, 1],

\( \overline{R_b^{max}} \): maximum average data rate among all services,

\( \overline{R_{{\mathrm{b}}_{\mathrm{j}}}} \): average data rate for service j.
In (15), W
^{SRb} is introduced to give priority to services with a higher data rate per session. Assigning these services to a WiFi network reduces collision rates, leading to a higher network data rate. Obviously, assigning zero to this weight completely eliminates the average data rate effect (i.e., the effect of collision on network data rate) and converts the objective function of WLANs in (15) into the cellular one in (14). The aforementioned weight is chosen by the VRRM approach, based on the SLAs and the WiFi and LTE coverage maps, in addition to applied network planning and loadbalancing policies. It can also be subject to modifications during runtime, based on measurements and reports.
Fairness
In addition to increasing network data rate, a fair resource allocation is another objective in VRRM. On the one hand, the model is expected to allocate more resources to services with a higher serving weight, while on the other hand, services with a lower weight not being served at all or being served in very poor conditions are not acceptable. A fair allocation of resources is achieved when the deviation from the weighted average for all services is minimised:
$$ \underset{R_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Srv}}}{ \min }\ \left\{{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}}\left\frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{W_{\mathrm{ji}}^{\mathrm{Srv}}}\frac{1}{N_{\mathrm{VNO}}\kern0.5em {N}_{\mathrm{srv}}}{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}}\frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{W_{\mathrm{ji}}^{\mathrm{Srv}}}\right\right\} $$
(16)
This concept is addressed as a fairness function, being written as:
$$ {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{f}\mathrm{r}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{f}}\right) = {\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}}\left({R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}\right) $$
(17)
where:
$$ \left\{\begin{array}{c}\hfill \frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{W_{\mathrm{ji}}^{\mathrm{Srv}}}  {\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}\frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{N_{VNO}\kern0.5em {N}_{\mathrm{srv}}\kern0.5em {W}_{\mathrm{ji}}^{\mathrm{Srv}}}\le\ {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}}}\hfill \\ {}\hfill \frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{W_{\mathrm{ji}}^{\mathrm{Srv}}} + {\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}\frac{R_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}{N_{\mathrm{VNO}}\kern0.5em {N}_{\mathrm{srv}}\kern0.5em {W}_{\mathrm{ji}}^{\mathrm{Srv}}}\le {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}}}\hfill \end{array}\right. $$
(18)
In order to better discuss the balance between these two objectives, i.e., the fairness and the total weighted network data rate, the boundaries of these two objectives have to be compared. The highest resource efficiency (i.e., the highest weighted data rate) is obtained when all resources are allocated to the service(s) with the highest serving weight, hence, the maximum of the first objective can be written as:
$$ \underset{R_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Srv}}}{ \max}\left\{{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}{W}_{\mathrm{ji}}^{\mathrm{Srv}}\kern0.5em {R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}}}\right\}= \max \left\{{W}_{\mathrm{ji}}^{\mathrm{Srv}}\right\}{R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}} $$
(19)
This means that, as the network capacity increases, the summation of the weighted data rate in (14) increases as well. In the same situation, the fairness objective function also reaches its maximum:
$$ \underset{R_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Srv}}}{ \max}\left\{{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}}{R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}\right\}=\frac{R_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}}{ \max \left\{{W}_{\mathrm{ji}}^{\mathrm{Srv}}\right\}} $$
(20)
Based on (19) and (20), the complete objective function for the management of virtual radio resources is defined as:
$$ {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{v}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{Srv}}\right) = {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{cell}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{cell}}\right)+{f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{WLAN}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{WLAN}}\right)  {\alpha}_{\mathrm{f}}\left({W}_{\mathrm{f}}\right)\kern0.5em {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{f}}\left({\mathbf{R}}_{\mathbf{b}}^{\mathbf{f}}\right) $$
(21)
where:

\( {\mathbf{R}}_{\mathbf{b}}^{\mathbf{f}} \): vector of intermediate fairness variables,

\( {\mathbf{R}}_{\mathbf{b}}^{\mathbf{Srv}} \): vector of serving data rates,

α
_{
f
}: fairness coefficient as a function of fairness weight:
$$ {\alpha}_f\left({w}_f\right)=\frac{W_f\kern0.5em {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}}{\left(1{w}_f\right)\kern0.5em {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}\kern0.5em {N}^{\mathrm{SmaxRb}}+{W}_f\ \overline{R_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max }}} $$
(22)
where:
$$ {N}^{\mathrm{SmaxRb}}=\frac{R_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}}{\overline{R_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\max }}} $$
(23)
In (18) and (21), the allocated data rate for a specific service is defined as:
$$ {R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}} = {R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{cell}} + {R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{WLAN}} $$
(24)
Constraints
In addition, there are more constraints for VRRM to allocate data rates to various services, which should not be violated. The very fundamental constraint is the total network capacity estimated in the last section. The summation of all assigned data rates to all services cannot be higher than the total estimated capacity of the network:
$$ {\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}{R}_{{\mathrm{b}}_{\mathrm{ji}}\ \left[\mathrm{Mbps}\right]}^{\mathrm{Srv}}\le {R}_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}}} $$
(25)
The data rate offered to GB and BG services imposes the next constraints. The data rate allocated to these services has to be higher than a minimum guaranteed level (for both GB and BG) and lower than the maximum guaranteed one (for GB only):
$$ {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{Min}}\le {R}_{{\mathrm{b}}_{\mathrm{ji}\ \left[\mathrm{Mbps}\right]}}^{\mathrm{Srv}}\le {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{Max}} $$
(26)
where:

\( {R}_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Min}} \): minimum data rate for service j of VNO i,

\( {R}_{{\mathrm{b}}_{\mathrm{ji}}}^{\mathrm{Max}} \): maximum data rate for service j of VNO i.
Based on this model, the objective function presented in (21) has to be optimised subject to constraints addressed in (18), (24), (25) and (26).
Resource allocation with violation
In the allocation process, there are situations where resources are not enough to meet all guaranteed capacity, and the allocation optimisation is no longer feasible. A simple approach in these cases is introduced in [9], which is to relax the constraints by the introduction of violation (also known as slack) variables. In case of VRRM, the relaxed constraint is given by:
$$ {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{Min}}\le {R}_{{\mathrm{b}}_{\mathrm{ji}\ \left[\mathrm{Mbps}\right]}}^{\mathrm{Srv}}+\varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ \left[\mathrm{Mbps}\right]}}^{\mathrm{v}} $$
(27)
where:
By introducing the violation parameter, the former infeasible optimisation problem turns into a feasible one. The optimal solution maximises the objective function and minimises the weighted average constraints violations. The weighted average constraints violation is defined as follows:
$$ \varDelta {\overline{R_{\mathrm{b}}^{\mathrm{v}}}}_{\left[\mathrm{Mbps}\right]} = \frac{1}{N_{\mathrm{VNO}}\kern0.5em {N}_{\mathrm{srv}}}{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}{W}_{\mathrm{ji}}^{\mathrm{v}}\ \varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ \left[\mathrm{Mbps}\right]}}^{\mathrm{v}}}} $$
(28)
where:

\( \varDelta \overline{R_{\mathrm{b}}^{\mathrm{v}}} \): average constraint violation.

\( {W}_{\mathrm{ji}}^{\mathrm{v}} \): weight of violating minimum guaranteed data rate of service j of VNO i¸ where \( {W}_{\mathrm{ji}}^{\mathrm{v}}\in \left[0,1\right] \)
.
The objective function presented in (21) has also to be changed as follows:
$$ {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{v}}\left({\boldsymbol{R}}_{\boldsymbol{b}}\right)={f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{cell}}\left({\boldsymbol{R}}_{\mathbf{b}}^{\mathbf{cell}}\right)+{f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{WLAN}}\left({\boldsymbol{R}}_{\mathbf{b}}^{\mathbf{WLAN}}\right)  {\alpha}_{\mathrm{f}}\left({W}_{\mathrm{f}}\right)\kern0.5em {f}_{{\mathbf{R}}_{\mathbf{b}}}^{\mathrm{f}}\left({\boldsymbol{R}}_{\mathbf{b}}^{\mathbf{f}}\right){f}_{{\mathrm{R}}_{\mathrm{b}}^{\mathrm{v}}}^{\mathrm{v}\mathrm{i}}\left(\varDelta \overline{R_{\mathrm{b}}^{\mathrm{v}}}\right) $$
(29)
where \( {f}_{{\mathrm{R}}_{\mathrm{b}}^{\mathrm{v}}}^{\mathrm{v}\mathrm{i}} \) is the constraint violation function, given by:
$$ {f}_{{\mathrm{R}}_{\mathrm{b}}^{\mathrm{v}}}^{\mathrm{v}\mathrm{i}}\left(\varDelta \overline{R_{\mathrm{b}}^{\mathrm{v}}}\right) = \frac{R_{\mathrm{b}\ \left[\mathrm{Mbps}\right]}^{\mathrm{CRRM}}}{\overline{R_{\mathrm{b}\left[\mathrm{Mbps}\right]}^{\min }}}\kern0.5em \varDelta {\overline{R_{\mathrm{b}}^{\mathrm{v}}}}_{\left[\mathrm{Mbps}\right]} $$
(30)
However, the definition of fairness in a congestion situation is not the same, i.e., in this case, fairness is to make sure that the weighted violation of all services is the same. Fairness constraints are changed as follows:
$$ \left\{\begin{array}{c}\hfill {W}_{\mathrm{ji}}^{\mathrm{v}}\kern0.5em \varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ }\left[\mathrm{Mbps}\right]}^{\mathrm{v}}\frac{1}{N_{\mathrm{VNO}}\kern0.5em {N}_{\mathrm{srv}}}{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}{W}_{\mathrm{ji}}^{\mathrm{v}}\kern0.5em \varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ }\left[\mathrm{Mbps}\right]}^{\mathrm{v}}\le\ {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}}}\hfill \\ {}\hfill {W}_{\mathrm{ji}}^{\mathrm{v}}\kern0.5em \varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ }\left[\mathrm{Mbps}\right]}^{\mathrm{v}}+\frac{1}{N_{\mathrm{VNO}}\kern0.5em {N}_{\mathrm{srv}}}{\displaystyle \sum_{i=1}^{N_{\mathrm{VNO}}}{\displaystyle \sum_{j=1}^{N_{\mathrm{srv}}}\varDelta {R}_{{\mathrm{b}}_{\mathrm{ji}\ }\left[\mathrm{Mbps}\right]}^{\mathrm{v}}\le {R}_{{\mathrm{b}}_{\mathrm{ji}}\left[\mathrm{Mbps}\right]}^{\mathrm{f}}}}\hfill \end{array}\right. $$
(31)
The management of virtual radio resources is a complex optimisation problem, since network status and constraints vary in time. In [8, 9], it is proposed to divide the time axis into decision windows and to maximise the objective function in each of these intervals, independently. However, the output of partial VRRM may only be a local optimum and not the global one, since the effect of each decision on the network state and other dependencies are neglected. Nevertheless, partial VRRM is a simple solution, which can be used as the starting step and reference point.
The optimisation problem is solved by using MATLAB Linear Programming solver (i.e., the linprog function) [27], using the interiorpoint approach [28], which is a variant of Mehrotra’s predictorcorrector algorithm [29], a primaldual interiorpoint method. The termination tolerance on the function is chosen to be 10^{−8}.