1. Introduction
For network operators, the management of network resources is a severe task. In daily life, network traffic provided by operators will pass through multiple different network functions in turn to meet customer needs. However, the network traffic changes dynamically. Traditional network functions need to meet the demand of traffic peaks, and the management flexibility is poor, resulting in low resource utilization. The emergence of virtual network functions (VNF) enables operators to flexibly operate network functions and dynamically scale VNF, thereby realizing the dynamic deployment of service function chains (SFC) to improve the utilization of network resources.
The dynamic scaling of VNF mainly includes horizontal scaling (creating or deleting VNF) and vertical scaling (increasing or reducing VNF processing capacity). This paper only considers the horizontal scaling of VNFs. After the scaling is completed, the obtained results are used as the constraints. The SFC deployment problem is modeled as an integer linear programming model. Then we find the shortest path and complete the mapping of the virtual link, which can realize the deployment of SFC in dynamic scenarios. Different from the offline SFC deployment problem [
1,
2], the dynamic deployment of SFC considers the dynamic change of traffic in dynamic scenarios so that the VNF instance can change according to the change in network traffic. It can realize the dynamic management of network virtual resources. So, achieving effective dynamic scaling of VNF and dynamically deploying SFC has become a major challenge for network resource management [
3].
Aiming at the dynamic scaling of VNFs, reference [
4] proposes a traffic prediction method based on the traffic characteristics of the operator′s network and designs a VNF deployment algorithm based on the prediction results to realize the dynamic scaling of VNFs. However, the prediction will produce errors. For the problem of inaccurate prediction, reference [
5] adopts an online learning method to reduce the error of service chain demand prediction. Moreover, when deploying new VNFs according to the prediction results, it adopts an adaptive scaling strategy to achieve the goal of saving resources and reducing deployment costs. Reference [
6] proposes a VNF lifecycle management and online deployment method for the dynamic scaling of VNF and dynamic deployment of SFC, according to the prediction results of network traffic. As a result, the scaling overhead of VNFs and the deployment bandwidth of SFCs in dynamic scenarios are reduced. Reference [
7] proposes a traffic-aware algorithm to predict future load states. It proposes a dynamic VNF deployment method based on the prediction results to improve resource utilization. To sum up, network traffic prediction is the primary issue in the study of dynamic scaling of VNFs and the dynamic deployment of SFCs.
Aiming at the problem of network traffic prediction, reference [
6] adopts a method based on the GRU neural network to predict network traffic. Reference [
7] adopts an algorithm based on the LSTM network to realize traffic awareness. However, these methods based on the neural network often require a large number of data samples and are prone to fall into local optimum, resulting in unstable training results. Relatively speaking, machine learning methods such as the support vector machine (SVM) algorithm have strong generalization ability and global optimality. It can collect and analyze the dependencies of network traffic to achieve the effect of predicting the future network [
8]. It works for small samples. References [
9,
10] use genetic algorithms (GA) and particle swarm optimization (PSO) to optimize the network traffic prediction model based on SVM and realize the chaotic prediction of network traffic. However, traditional GA and PSO algorithms are prone to falling into local optimums. When dealing with high-dimensional problems, the convergence speed is slow, and it is easy to diverge. Reference [
11] combined the beetle antennae search (BAS) algorithm with the PSO algorithm and proposed the beetle swarm optimization (BSO) algorithm. The group optimization performance is improved through the principle of beetle foraging, to realize the processing of high-dimensional, complex optimization problems. The experimental results show that the performance of the BSO algorithm is better than that of the PSO and GA algorithms. Moreover, the BSO algorithm is widely used. For example, reference [
12] uses the BSO algorithm to improve the convergence speed of the BP neural network. Reference [
13] applies the BSO algorithm to the path planning problem. Reference [
14] applies the improved BSO algorithm to the personal credit evaluation based on SVM, which effectively improved the classification performance of SVM. Reference [
15] proposes an adaptive mutation BSO algorithm, which effectively improved the optimization effect and convergence speed.
It can be seen from the above analysis that the BSO algorithm is widely used in optimization problems, which can effectively improve the convergence speed and optimization accuracy of the algorithm. This provides a new idea for optimizing the parameters of SVM [
12]. In this paper, the BSO algorithm is applied to the SVM parameter optimization problem in network traffic prediction. We propose a network traffic chaos prediction model based on the BSO algorithm optimized SVM. However, if the predicted traffic is applied to the dynamic scaling of VNF, the underestimated predicted traffic should be reduced to improve the availability of network services. At the same time, the predicted traffic should not be overestimated to save resource consumption. Therefore, how to predict the upper bound of network traffic is also one of the issues that we need to consider when conducting VNF adaptive scaling [
4].
In addition, new problems will arise when scaling the VNF instance. When the number of VNFs required in the future is greater than the number of working VNFs, more VNF instances need to be deployed. This operation consumes a lot of resources and time, resulting in a lot of overhead [
5]. When the number of VNFs required in the future is less than the number of working VNFs, if the VNF instance is not deleted in time, a large amount of running overhead will be incurred. Therefore, the design of an appropriate VNF scaling method to achieve the purpose of reducing operational overhead is another issue that we need to consider.
In summary, this paper proposes an SFC deployment method based on traffic prediction and VNF scaling in the scenario of dynamic traffic changes. Firstly, to achieve adaptive scaling of VNF, we need to predict the upcoming traffic demand. In this regard, we propose a network traffic chaos prediction model based on the improved BSO algorithm optimized for the SVM. It can improve the accuracy of network traffic prediction. Secondly, to apply the predicted traffic to VNF dynamic scaling, we need to minimize the traffic upper limit on the predicted traffic data. This processing can ensure that the traffic data is as high as possible compared to the actual traffic. Thus, we can improve the availability of network services to facilitate the adaptive scaling of VNFs. Then we design a VNF adaptive scaling method based on the processed traffic data. It can flexibly create and delete VNFs to dynamically adjust the number of VNF instances. Therefore, we can realize dynamic management of virtual resources and reduce network operation overhead. Finally, according to the results of the adaptive scaling VNF, we use the k-shortest path algorithm to calculate the service function path. We complete the mapping of virtual links and implement SFC deployment in dynamic scenarios.
The specific contributions are as follows:
We propose a network traffic chaos prediction model based on the improved BSO algorithm optimized for the SVM.
We process the predicted traffic data to minimize the traffic cap.
We design an adaptive VNF scaling method.
The rest of the paper is organized as follows.
Section 2 provides a brief description of the problem studied in this paper. In
Section 3, we build the corresponding models. In
Section 4, we describe the corresponding algorithms.
Section 5 is the analysis of the corresponding experimental results. Finally, conclusions are drawn in
Section 6.
4. Algorithm Design
The dynamic deployment of SFC in this paper is mainly divided into four steps: traffic prediction, data processing, adaptive VNF scaling, and path configuration. We use sets , and to represent the existing active VNF instance set, the existing idle VNF instance set, and the existing VNF instance set, respectively. The number of VNF instances in the set is represented by , , and , respectively. At the time , then . We express the predicted number of required VNF instances as . At the time ( final time ), we use the network traffic prediction model to predict the required number of VNF instances at the next time. Then according to the existing VNF instance numbers , and , we adaptively adjust the VNF instances. Finally, we configure the path of the adjusted VNF instance according to the network status and then complete the dynamic deployment of SFC to realize the flexible configuration of virtual resources. The specific process is shown in Algorithm 1.
Algorithms 1: SFC dynamic deployment algorithm based on traffic prediction and VNF scaling. |
Input: physical network , SFC request , network traffic . Output: SFC dynamic deployment scheme. |
Initialization time ; Use Algorithms 2 to predict network traffic; Use Equation (30) to process the predicted traffic data; According to the processed predicted traffic, use Equation (31) to estimate the number of VNF instances required at the next moment ; each VNF in each SFC Use Algorithms 3 to adaptively scale the VNFs; Configure the path for the adjusted VNF instance to complete the SFC deployment; Detect the load of the VNF instance in ; it exceeds the rated load of the VNF there are redundant VNF instances in Adjust the idle VNF instance with the heavy load to the active state; Deploy a new VNF instance; |
4.1. Traffic Forecast
In this paper, we use SVM to predict network traffic and optimize it with an improved BSO algorithm. The specific idea is as follows: Firstly, we input the traffic data training set. We use the SVM algorithm to calculate its corresponding fitness value and select its individual best fitness value and group best fitness value. Then we perform an iterative operation to update the inertia weight and step size. In each iteration, the search behavior, displacement, speed, position, and fitness value of each beetle are updated. We then update the individual optimal and group optimal in the beetle swarm. Finally, through continuous iteration, the optimal value of the beetle swarm is what we want. The specific process is shown in Algorithm 2.
Algorithms 2: Network traffic prediction algorithm based on improved BSO optimized SVM. |
Input: traffic data Output: individual optimal, group optimal flow data |
Initialize population and population velocity ; Set parameters: step size , upper and lower speed limits , , population size , the maximum number of iterations ; Calculate the fitness value of the traffic data with the SVM training set; Calculate the best fitness value of the individual and the best fitness value of the group; each iteration in the range Set the inertia weight according to Equation (3); Update the step size according to Equation (9); every beetle within Calculate the search behavior of beetles according to Equations (5) and (6); Calculate the displacement of the beetle according to Equations (4); Calculate the speed of the beetle according to Equation (2); According to Equation (10), update the position change of the beetle; Update the fitness value of beetles; Record the fitness value of each beetle; every beetle within individual optimal Update individual optimal; group optimal Update group optimal; Record the optimal value of the beetle population; Update with Equation (7); |
In the BSO algorithm used in this paper, the inertia weight and step size decrease with the increase of the iteration number. This prevents the algorithm from converging to the target point too quickly, thus reducing the occurrence of the phenomenon that the group falls into a local optimum. At the same time, the linear combination of the search and the speed of the beetle swarm can speed up the iteration speed. This reduces local optima and improves stability when dealing with high-dimensional problems [
11]. We improved the original BSO algorithm. We adjusted the calculation method of the step size to improve the convergence rate and effectiveness of the algorithm. After the traffic prediction is completed, the predicted traffic needs to be processed accordingly.
4.2. Traffic Data Processing
In this paper, we take the approach of minimizing the upper limit of traffic. That is, we should try to reduce occurrences where the predicted traffic is smaller than the actual traffic, to improve the availability of network services. We should also ensure that the processed traffic is not much higher than the actual traffic to reduce network resource consumption. The specific implementation method is to reserve appropriate redundant capacity. When the actual traffic is higher than the predicted traffic, we should ensure that there are enough network resources to deal with it.
There are many ways to reserve redundant traffic. The most common method is to reserve based on the
principle. That is, we reserve enough resources to serve the network traffic in the range of
, where
is the mean value of the network traffic and
is the standard deviation of the network traffic. The distribution range of the network traffic rate is large enough that the value of
is large. This method will waste a lot of network resources, although it can provide good service for network traffic. In this regard, we only consider reducing the reserved redundancy according to the variance of the relative prediction error to save network resource consumption.
Equation (26) represents the relative traffic prediction error at the time
, where
is the actual traffic at the time
and
is the predicted traffic at the time
. Equation (27) represents the average prediction error at the time
, where
is a parameter in the range of
. The larger the value of
is, the more dependent the traffic prediction is on historical data. Therefore, we take the value of
closer to
. Equation (28) represents the traffic variance at the time
. Equation (29) is its standard deviation. We can express the upper bound of the predicted traffic at the time
as:
In this way, we can minimize the number of moments when the predicted traffic is smaller than the actual traffic, so as to cope with the changing network traffic and improve network availability. Then, according to Equation (31), the processed predicted traffic is converted into the number of demanded VNF instances at the time
according to the throughput of the VNF instance:
where
is the predicted number of VNF instances at the time
. In order to ensure sufficient resources, we take the upper limit.
is the throughput of VNF. The throughput and computing resource requirements of different VNF instances are shown in
Table 2 [
21].
4.3. Adaptive VNF Deployment Algorithm
Firstly, we design a VNF dynamic adjustment method based on the demand data of the VNF instance at the current moment in this section. According to the required number of VNFs and the number of existing VNFs, we dynamically create or delete VNF instances to achieve the purpose of dynamically adjusting virtual resources. Then, according to the network status, we configure the path of the adjusted VNF instance to complete the dynamic deployment of the SFC.
In daily life, the dynamic creation and deletion of VNF instances will affect the operational overhead of network operators. For example, when the network traffic decreases, the required number of VNF instances will also decrease. At this time, if the original number of VNFs continues to run, it will bring additional VNFs running overhead. However, if the VNF instance is deleted immediately, and if the network traffic increases at the next moment, new VNF instances need to be created, which will result in a large amount of VNF deployment overhead. However, if the VNF instance is not deleted in time, and if the network traffic continues to drop at the next moment, these redundant idle VNF instances will also generate a large amount of VNF running overhead. Therefore, the overhead contradiction we need to deal with is how to reduce the VNF deployment overhead while maintaining a low VNF running overhead, so as to minimize the operator′s operating overhead. The specific idea of VNF adaptive scaling is as follows:
Firstly, at the time , if , we set all idle VNF instances into the active state, and deploy new VNF instances at the same time to cope with the increase in network traffic. If , we sort the VNF instances in ascending order according to the load size, and set the first VNF instances in the sequence to the idle state. This is to minimize the number of SFCs that need to change the path when deleting VNFs. If , we sort the idle VNF instances in descending order according to the load size, and set the first VNF instances as active. In this way, the load of idle VNF instances can be minimized, and the number of SFCs that need to be changed during the deletion of VNFs can be reduced. Finally, in order to optimize the cost of adaptive scaling, we limit the number of VNF instances in the idle state. We use to denote the maximum number of the idle state VNF instances allowed in the network system. If , we delete the VNF instance with less load. The specific process is shown in Algorithm 3.
Algorithms 3: Adaptive VNF scaling algorithm. |
Input: physical network , set , , , , , , the number of VNF instances required at the next moment Output: Set of the next moment , |
Newly deploy VNF instances and set them to active state; Update node remaining resources and sets , , ; Sort VNF instances in ascending order according to the load; Set the first VNF instances in the sequence to idle state; update sets , , ;
Sort the idle VNF instances in descending order according to the load; Set the first VNF instances to active state; update sets , , ;
Sort the idle VNF instances in ascending order according to the load; the first VNF instances VNF instances carry traffic Use the k-shortest path algorithm to recalculate the service path and migrate the traffic; Delete the first VNF instances;
Obtain , ; |
Finally, under the conditions of satisfying Equations (20), (24), and (25), we use the k-shortest path algorithm to calculate the routing paths between service function instances. We map the virtual link to the underlying physical link to forward data traffic and complete the dynamic deployment of SFC.