In this section, we introduce RELIABLE’s mechanism to maximize the usability of MEC resources available on a 5G network. RELIABLE is designed to handle resource management and allocation for a 5G network to serve a higher number of requested services, minimizing the unnecessary reallocations caused by user mobility. To this end, RELIABLE takes into account the bandwidth, mobility prediction, and service time as input parameters for the allocation decision mechanism. In the following, we introduce the 5G network scenario considering MEC, and we also describe the RELIABLE mechanism in detail.
3.1. Network Scenario
We consider a 5G scenario composed of a set of mobile users (e.g., vehicles, mobile users and other devices)
with an individual identity
, where
w is the maximum number of users. At any moment, a given mobile user
could need to run a service, but their computational resources would not support the processing of such a service [
14]. In this sense, the device sends a request message to a controller node
deployed at the 5G network infrastructure to process the service in MEC. We consider MEC
(
, where
o is the maximum number of MEC) composed of a group of mobile devices sharing the same preferences that could lend their resources to create a pool of resources that could be made available to 5G network mobile nodes [
42]. Specifically, a given mobile node
might have idle computational resources, such as processing or storage, which can be aggregated and managed by a controller node
[
43].
In this context, a given mobile node
could increase its capabilities by using the available resources of MEC
, while other entities lend their resources to MEC
[
44,
45]. Therefore, MEC
could provide services
(
where m is the maximum of the number of services) up to
mobile users at the network edge.
Figure 1 shows the scenario in which the RELIABLE can be deployed in the controller node to manage the resources coming from the urban environment composed of mobile nodes connected through the 5G network infrastructure. The controller node is a centralized entity that has a global view of each MEC iteration and all users to allow better allocation.
In this scenario, a given mobile node that may be moving around the urban perimeter may request a given service —e.g., traffic monitoring or entertainment, among others—from the controller node . This service requires computational resources, such as processing, storage and runtime, to efficiently serve the user request. In this context, the controller node receives the request and takes all decisions regarding when and where to allocate the service on a given MEC based on the RELIABLE resource allocation mechanism. It is essential to highlight that the controller node has an overview of each service and node status to decide which MEC has the required resources to allocate a given service .
Resources made available by MEC can be used to allocate a service as requested by users. To solve the problem of resource allocation for a given service , we consider that each MEC can manage up to services, and each MEC supports up to users. Finally, the controller node may need to migrate a given service to another MEC device to continue to efficiently meet the user’s request. This is due to user mobility and resource availability, or even the need to provide load balance.
3.2. Allocation Decision
RELIABLE decides whether or not to allocate resources for a given service and which MEC such a service will be allocated to in order to meet the needs of the service. To this end, RELIABLE considers an allocation decision step, which takes the decision based on the mobility prediction , service time and bandwidth .
In this way, the controller node
monitors the network traffic flows to predict mobility flow between regions; i.e., anticipating the resource utilization in a given place. According to Bui et al. [
46], the user network flow follows a continuous distribution in time, and we can use a Gaussian method to predict the user flow among different MECs. This prediction method aims to anticipate the use of resources. For this purpose, Bayesian and the regression of the Gaussian process are used to perform the forecast, and it is necessary to monitor the flows in which they reflect the historical resource allocations used in MEC. Therefore, to carry out this forecasting method efficiently, a particular terminology us defined: the monitoring window, which describes a fixed workload collection period.
Table 2 describes the important notations.
Assuming the input data are a collection of locations based on a limited time slot
, where
is the location of the flow in the time slot
t, a finite set of random variables
represents the corresponding joint Gaussian distribution of historical flow monitoring statistics regarding the time order. This set, over time, forms the Gaussian process
, as we can see in Equations (
1)–(
3), where the prediction function
is composed of a kernel function
[
47]. This kernel function is used to define the prior underlying relationship knowledge through a positive–definite function that comprises some special parameters that specify its shape.
is the mean function used to evaluate the time location
x. Thus, the controller node
can compute the probability that a given flow from a mobile user
migrates from one location
x to another
based on Equation (
3).
RELIABLE also considers the available bandwidth as an input parameter for the selection of the best MEC to allocate a given service . The bandwidth is used to check the impact it would have if a given MEC allocates the service ; i.e., it evaluates the impact (bandwidth consumption) on the network that the flow exchange would cause, considering that it is necessary to carry out the allocated service. In this way, the controller node captures the bandwidth , allowing the controller node to compute the network impact in case it needs to migrate or allocate a given service to another MEC .
Finally, RELIABLE considers the service length that requires resources to be allocated to fulfill the user request. In this sense, the service time enables us to estimate the start and end time of a given service requested through the sum of the services allocated execution times in MEC . Thus, the service time is used to compute the duration for which the resources used to serve a given service will be allocated.
RELIABLE calculates different importance degrees for decision making based on the Analytic Hierarchy Process (AHP) method. AHP provides the influence factor for each parameter. It assigns weights to the parameters used; that is, the parameter with the greatest importance over the others will have a greater weight at the end of AHP processing. We consider five importance levels for the comparison between each parameter pair, which indicates the importance of one parameter over the others, as shown in
Table 3.
To model the AHP, we consider a weight matrix of
, in which the mobility prediction
has a higher priority over the other parameters because RELIABLE minimizes the number of unnecessary exchanges caused by user mobility. We also consider that the bandwidth
has a higher priority over the service time
because if the service needs to be transferred, this transfer will not impact the performance of the system. Therefore, the matrix
indicates what influence parameter
i will have on the other parameters
z.
Table 4 shows the weight assignments used in our AHP. Therefore, these values will be used as a weight to establish the decision matrix, as we can see in Equation (
4).
The influence factor
of a given parameter
i is computed by the sum of the current value multiplication of a metric
; i.e.,
,
and
, with the relative importance of the other metrics
, as we can see in Equation (
4). Therefore, each metric value
and metric importance
parameter is calculated by MEC through the applied computational resource monitoring, the service execution time and the bandwidth used.
In an urban environment, a given mobile user
can request different services with different requirements; i.e., a service related to public or driver safety must have a higher priority than services related to advertising a restaurant close to the user. In this way, we divide services into three classes based on [
48], where the safety class has priority 1 (
), the comfort class has priority 2 (
) and the entertainment class has priority 3 (
). This priority value for each service is multiplied with the influence factor
to obtain the values of the decision matrix (Equation (
5)). The matrix values will be used to choose the best MEC
, in which the resources will be allocated depending on the service importance.
However, the values of this matrix have a high variation due to the characteristics of each parameter. In this way, we performed a simple normalization of these values to find a more accurate choice, as shown in Equation (
6).
where
is the matrix value for MEC K and
is the all-value arithmetic average contained in column
j of the matrix.
Once data are normalized, we perform a simple calculation of parameter differentiation for each MEC, and the results are stored in a vector as follows.
where
represents the current MEC normalized data and the MEC device to which the resources are allocated, and
represents the candidate MEC device’s normalized data to allocate the resource. Therefore,
contains the values of each MEC device, where the chosen MEC device corresponds to the one with the highest final value (Equation (
8)).
3.3. RELIABLE Operations
Algorithm 1 shows a decision phase overview of the RELIABLE mechanism. RELIABLE must be aware of the available resources at each MEC
, which is provided by communication between MEC devices with the controller node
, allowing a MEC
to inform the controller node
about its idle resources. In this way, these resources become available resource pool parts (lines 1–3). A given MEC
allocates resources for a given service
, where those resources must be reallocated in another MEC
before the user
disconnects from MEC
. It is important to mention that the resource and service migration is beyond the scope of this work, since we focus on the choice of MEC
to allocate resources for a service
.
Algorithm 1 Abstraction of RELIABLE |
- 1:
if () then - 2:
- 3:
end if - 4:
if (request) then - 5:
probMEC = Func_choose_MEC - 6:
whiledo - 7:
ifthen - 8:
service_allocated - 9:
else - 10:
service_blocked - 11:
end if - 12:
end while - 13:
service_droped - 14:
end if
|
Once a mobile user is connected to the controller node via the 5G network, it can request a particular service. At each service request, the controller node checks which is the best MEC to allocate resources to provide such a service. To do this, the controller node performs the MEC select function (lines 4–6), which uses AHP and which is also performed when a mobile user leaves one MEC device network and connects to another due to mobility. If the selected MEC does not have the necessary resources to allocate the service, the next MEC generated by the function will be selected; i.e., the service is blocked until the controller node finds a valid MEC (lines 7–11). If no MEC is selected, the requested service is discarded.