Energy-Driven Virtual Network Embedding Algorithm Based on Enhanced Bacterial Foraging Optimization

One of the core challenges facing network virtualization is how to manage the underlying resources to host more virtual networks (VNs) with less energy. With the goal of reducing the energy consumption of virtual network embedding (VNE) and ensuring the VNE solution validity, this paper presents a new approach based on the bacterial foraging optimization (BFO) algorithm devoted to using the underlying resources more effectively and reasonably. In particular, by mimicking the information interaction between bacteria in the process of foraging, we devise a topology-aware mapping strategy, known as SBR_E, to build the candidate set of the VNE solutions. Then, we leverage SBR_E to design the energy manager of the optimization process and develop an energy-driven VNE algorithm based on BFO identified as EBFO to search for the optimal solution. Experimental results show that our method is superior to the existing algorithms in terms of reducing energy consumption and improving the VN request acceptance rate and revenue-cost ratio.


I. INTRODUCTION
Network virtualization is a promising technology that helps overcome shortcomings, such as network ossification of the current Internet architecture, and can realize efficient and dynamic network service deployment and management. Network virtualization has played an important role in the development of the 5G network. This technology separates the classic ISP (Internet Service Provider) into two new actors: the Service Provider (SP) and the Infrastructure Provider (InP) [1]. Based on this, the virtual network embedding (VNE) problem can be presented as an SP ''renting'' some resources of the substrate network (SN) from an InP and providing services to the end user. It can be further described as embedding virtual nodes and links in a sequence of VNs to the shared SN, and this has been extensively studied [2]. However, since the resources of SN are limited, to increase revenues, InPs must reasonably and effectively utilize the The associate editor coordinating the review of this manuscript and approving it for publication was Haipeng Yao . substrate resources to process each online virtual network request (VNR) on demand. Therefore, building virtual networks (VNs) and allocating the underlying resources for VNRs of different topologies, resource requirements, and lifetimes is an issue of great concern for InPs and is the current research hotspot [6].
VNE has proven to be an NP-hard problem. Finding an exact optimal solution for this type of problem usually incurs exponential running time, large complexity, and requires many restrictions on the problem space, not scalable for large scenarios [10]. Therefore, currently, inspired by the wisdom of nature and based on the functions, characteristics, and mechanisms of organisms, some scholars employ a class of models and algorithms with adaptive, self-organizing, and self-learning abilities to solve various complex problems that are difficult to solve using traditional computing methods. For example, imitating the foraging behavior of natural organisms led to the creation of the particle swarm optimization algorithm [15], artificial bee colony algorithm [16], and ant colony algorithm [17]. These methods tend to find feasible VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ solutions that approximate the best options and that have been widely applied in solving the VNE problems (see our previous work [18], [19] and the related work [20]- [24]). However, the swarm intelligence algorithms in the previous studies did not completely consider the communication between the individuals in the period of individual foraging. As such, these algorithms have the disadvantages of easily falling into a local optimal solution and having a slower convergence speed. Moreover, in the VNE problem, to use the underlying resources reasonably and effectively, a strategy must be developed to monitor the energy consumption throughout the whole process to realize the goal of reducing the energy consumption while ensuring a high request acceptance rate and revenue-cost ratio. In previous studies on both exact and approximate algorithms [25]- [31], most energy-saving algorithms solve the VNE problem by focusing on the network topology. Although some related studies [25]- [27] are topology-aware, they focus on the availability of substrate resources or accessibility of resources, not on their connection or the structure of the network topology. The nodes selected in this manner may have a scattered location, which will result in the use of more substrate resources.
With the substrate resources powered up and links segmented, the number of active nodes and links rises, the utilization rate of resources decreases, and the mapping success rate decreases, as well. Most researchers set the energy manager only in the mapping phase [28]- [31]. In fact, in most twostage VNE algorithms, they set the manager in the node mapping phase only, often overlooking the optimization phase. As shown in Fig. 1-(a) (where E-A represents energy-aware), in the iterative optimization phase, researchers do not anticipate resource constraints and set every update to be energydriven to monitor energy consumption. This approach can result in the following phenomenon -with iterative updates, the topology of the VN's physical host network, which was originally proposed under its energy manager, would be constantly changing. In this situation, it is difficult to guarantee both at the same time -the two contradictory metrics of energy efficiency and the high mapping success rate. Therefore, the most energy-efficient solution can only be proposed at the expense of the solution's quality because as the node position and the situation of substrate network change all the time, in the pursuit of an energy-saving solution, the connectivity between nodes will be difficult to guarantee at the same time. Therefore, a new VNE method with an integrated structure is required to complete the whole embedding process with greater energy awareness ( Fig. 1-(b)) to find the optimal solution for the VNE problem. Compared with other traditional optimization algorithms, bacterial foraging optimization (BFO) [32] has an integrated structure and a low coupling between the modules. As a clear and simple meta-heuristic algorithm, BFO has been proven to be an effective method for finding approximate optimal solutions for NP hard problems [33], [34]. BFO not only has the computing ability of swarm intelligence but also has the ability to break away from the local optimum. Therefore, this paper aims to reduce the energy consumption of VNE while ensuring the validity of the solution. By mimicking the information interaction scenario of BFO, we first designed a topology-aware mapping strategy identified as SBR_E to build the candidate set of the VNE solutions. Then, we leverage SBR_E to design an energy-driven VNE algorithm based on BFO identified as EBFO to approximate the optimal solution.
The main contributions of this paper are as follows: 1. A novel energy-driven VNE method based on the enhanced BFO is proposed, devoted to making the underlying resources be used effectively and reasonably.
2. By mimicking the information interaction between bacteria in the process of foraging, we designed a topology-aware mapping strategy SBR_E. It selects high priority underlying resources in the order of socialite → backbone network → remaining links to host the virtual network requests and build the candidate set of the VNE solutions.
3. To find the optimal solution, we designed a VNE algorithm identified as EBFO. It leverages SBR_E to design the energy manager, which is used to guide this optimization process through each step of energy-driven execution to monitor the overall energy consumption. Moreover, to increase the convergence speed, we improve the search direction under the guidance of swarm intelligence rather randomly. 4. Simulation results showed that the VNE algorithm we propose is better than what was offered in prior research in terms of reducing energy consumption and improving the request acceptance ratio and revenue-cost rate.
The remainder of this paper is organized as follows: in Section 2, we revisit the related works; the network model and performance metrics are presented in Section 3; in Section 4, we provide details of our proposed VNE algorithm; in Section 5, we compare our EBFO algorithm to other stateof-the-art algorithms; and the conclusions of the study are presented in the last section.

II. RELATED WORK
Given that VNE is an NP-hard problem, many scholars have performed meaningful research while focusing on finding an approximate optimal solution combined with nature-inspired 76070 VOLUME 8, 2020 computations. For example, our previous work [18] proposed an improved particle swarm optimization algorithm, which addressed random factors, operated along the original direction, and changed the introduction of history factors to the search process. Furthermore, Zhang et al. [20], who improved three aspects of the classic genetic algorithm -population initialization strategy, mutation operation, and improvement operation -proposed a VNE algorithm based on a modified genetic algorithm. Liu et al. [21] leveraged the iterations and intelligence of artificial bee colonies to achieve an optimal solution for VNE. Zhang et al. [22] leveraged the niche particle swarm optimization technique to design a metaheuristic algorithm to solve this problem. Cao et al. [23] developed an ant colony optimization algorithm of virtual network embedding. However, in terms of the algorithm structure, the swarm intelligence algorithms do not fully take into account the communication between the organisms in the process of foraging resulting from the limited food supply. In terms of algorithm realization, the strategies proposed by the algorithm to improve convergence speed or jump out of the local optimization promote the algorithm itself, rather than focus on VNE. These strategies do not consider the necessary energy-saving factors, such as the connections between networks and the underlying resource utilization. This drawback can be harmful in managing energy consumption and cannot guarantee the InPs' long-term revenue.
Therefore, to reduce energy consumption and improve the long-term benefits of InPs, an increasing number of researchers have focused on the network topology because the management of network topology can make the utilization of underlying resources more effective. Bianchi and Presti [25] presented a two-stage VNE algorithm that focuses on the availability of physical resources and proposes a node-ranking algorithm based on a Markov chain. First, this algorithm maps virtual nodes to substrate nodes based on the node-ranking algorithm and then maps links along the shortest paths among the nodes. Cheng et al. [26] devised a topology-aware measure to rank nodes based on random walks and then devised a greedy algorithm that matches nodes in the VN to nodes in the substrate network according to node ranks. In addition, to approximate this problem, it devised a fast-convergent discrete particle swarm optimization. Gong et al. [27] devised a metric called global resource capacity to quantify the embedding potential of each substrate node and proposed an efficient heuristic VNE algorithm. However, these algorithms focused on substrate resource availability (i.e., using nodes with high available capacity first), not on their connection or the network topology structure, which would make the position of the mapped nodes scattered, and in this situation lead to the use of unnecessary substrate resources. Furthermore, at the beginning, these resources might obtain a higher request acceptance rate. However, as the substrate resources become occupied and links become segmented, when a VNR that requests a large resource arrives, they may not find an appropriate physical network to fit it, leading to a lower request acceptance rate and decreased resource utilization.
Many researchers set the corresponding energy-saving manager based on controlling the network topology to make more reasonable use of the underlying resources. For example, our previous work [19] considered the problem of scattered node mapping and hops of link mapping in traditional VNE embedding and proposed an energy-saving VNE algorithm based on a sliding region particle swarm. Reference [28] proposed a VNE algorithm employing Q-learning and curiosity-driven mechanism in considering other nondeterministic factors of avoiding falling into a local optimum. Zhu and Wang [29] modeled the VNE problem based on VN topology invariance and designed a modified ant colony optimization algorithm based on network topology decomposition. Jahani and Mohammad [30] modeled VNE as a multiobjective optimization problem and solved it by a nondominated sorting genetic algorithm. Konglin and Zhihan [31] proposed a restricted differential evolution topology virtualization algorithm to achieve efficient mapping of a virtual network to a physical network in full virtualization. However, all this research sets the energy manager only in the mapping phase, leaving the optimization process to be executed without being energy-driven. As they work through the iterations, the topology of the VN's physical hosted network, originally proposed under its energy manager, constantly changes along with the position of the nodes, which may cause the final optimal solution not to guarantee both energy efficiency and mapping success rate.
Therefore, keeping the VNE solution's validity and energy savings in mind, this paper proposes an energy-driven enhanced BFO algorithm to solve the VNE problem.

A. THE INTRODUCTION OF NETWORK MODEL 1) SUBSTRATE NETWORK
We model the substrate network as an undirected graph G s = (N s , E s , S s , G sm , E se ), where N s is the set of nodes, every node n s (n sc , n so ) with two attributes: n sc (capacity of CPU) and n so (turn on or off); E s is the set of links, where the link e s (e sb , e so ) also has two attributes: e sb (capacity of bandwidth) and e so (turn on or off). S s is the socialite of the SN, representing the most interactive node in the physical network (the details are described in section IV-B). G sm is the backbone network, and E sm is the remaining links of the network.

Each virtual network is designated by a quintuplet
where N v and E v are the set of nodes and set of links, respectively. Each virtual node or link is associated with the constraint of the requested capacity: CPU and bandwidth. S v is the socialite of the VN; G vm is the backbone network; and E vm is the remaining links of the network. Furthermore, VNR can be described as VNR(ta, td), where ta stands for the request arrival time and td stands for the duration of the VN request hosting in the SN.

B. THE PERFORMANCE METRICS
The goal of this paper was to reduce energy consumption while ensuring the request acceptance rate and the revenuecost ratio, i.e., to propose an energy-saving VNE strategy while ensuring the validity of the proposed solution.
Energy The energy spent by allocating VNR to physical resources can be defined as follows: where E(Nv) and E(Ev) represent the energy consumption of the physical nodes and links, as defined in Eqs. (2) and (3), respectively.
where n s.base is the basic power consumption of physical node, n s. max is the full-load power consumption of physical node, τ represents the CPU load rate of substrate node, and e s.base indicates the link energy consumption, which is generally constant. Acceptance The success mapping rate, i.e., the ratio between the number of virtual networks successfully mapped and the total number of virtual network requests within a certain period of time, can be defined as follows: where n ∂ (T ) indicates the number of requests reached VNRs during a T period, σ (VNRi) indicates whether the ith VNRi is mapping successfully. If yes, the value is 1; for others it is 0.

Revenue-cost
The revenue-cost ratio represents the revenue generated by consuming unit resources, and it can be defined as follows: where R represents revenue (similar to most prior work, we take the CPU capacity revenue and bandwidth capacity of VNR as its revenue): C represents energy cost for mapping the ith VNR, and it can be defined as follows: where ∂ and β represent the linear parameters, n v and e v represent the virtual node and link, respectively, and N stands for how many substrate nodes have been powered up.

IV. AN ENERGY-DRIVEN VNE ALGORITHM BASED ON ENHANCED BFO
BFO is a novel bionic optimization algorithm inspired by the social foraging behavior of E. coli. This algorithm was first proposed by Passion in 2002 [33]. BFO is mainly governed by four processes: swarming, chemotaxis, reproduction, and elimination/dispersal. The originality of our work is in the leveraging of the enhanced BFO to develop an energy-driven VNE solution. However, first, we will provide a brief introduction to the BFO basics.

A. BFO BASICS
In the BFO algorithm, the objective is to find the optimum value of the nutrient gradient (J (θ )), where θ stands for the position. The virtual bacteria in the group are actually one trial solution (which may be called a search agent) that moves on the functional surface to locate the global optimum, and the bacteria are made up of individual bacteria (cells). Here, we identify the cell as the bacterial position vector. The details are as follows: Swarming A group of E. coli cells arrange themselves in a traveling ring to move up the nutrient gradient by sending signals (including cell-to-cell and bacteria-to-bacteria) to form several intricate and stable spatiotemporal patterns (swarms). Chemotaxis is a foraging behavior that implements a type of optimization where bacteria try to climb up the nutrient concentration. Biologically, a cell can move in two different ways: swimming (Fig. 2-(a)) and tumbling ( Fig. 2-(b)) via flagella.
Reproduction The least healthy bacteria eventually die while the healthier bacteria asexually split into two bacteria, which are then placed in the same location. This approach keeps the swarm size constant.
Elimination/dispersal events can take place in such a fashion that all the bacteria in a region are killed or a group is dispersed into a new location. To simulate this phenomenon in EBFO, some bacteria are liquidated at random with a very small probability, while the new replacements are randomly initialized within the search space.
Based on the above information, it is known that BFO has a complete structure and low coupling between modules. However, its initial position and direction of chemotaxis are chosen randomly, which can slow the algorithm's convergence speed. In addition, if it is employed to approximate the optimal solution of the VNE problem, an energy manager is needed to monitor the energy consumption throughout the whole optimization process to use the underlying resources rationally. With the goal of addressing these challenges, a mapping strategy was designed mimicking the interaction between bacteria, identified as SBR_E, which was then leveraged to design an energy manager for the optimization process. This approach enhanced the BFO, allowing the development of an energy-driven VNE algorithm identified as EBFO.

B. A MAPPING STRATEGY BY MIMICKING THE INTERACTION BETWEEN BACTERIA: SBR_E
This section focuses on the connection between networks and applies the cell-to-cell signaling behavior to the process of finding the SN to host the VN, leading toward the development of a mapping strategy SBR_E, which is used to build the candidate set of the VNE solutions. First, the topology information of VN is extracted and then the VN is mapped to the SN following the extracted topology information. To facilitate the description, we prioritize the physical nodes and links as follows:

1) EXTRACT THE SBR
First, the main information of the virtual network is extracted. The value of the link's bandwidth is taken as the weight (in this instance, we set the weight as the inverse rate with the value), and the Prim algorithm is employed to construct a minimum spanning tree aiming to extract the VN's backbone network. In Fig. 3, the light blue square represents the virtual node, the line between them represents the link, and the value represents its bandwidth capacity. The extracted backbone network is presented on the right of the diagram marked by (b), termed G vm , which consists of the blue solid lines and  the nodes. The red dotted lines represent the remaining links, termed E ve . In this way, we separate the main topology information (backbone network) from the secondary information (remaining links) of the virtual network and use different mapping methods to map them.
Then, by mimicking the cell-to-cell interaction, a socialite is selected from the bacteria, from which we can obtain the fastest convergence speed to spread the information over the bacteria. In the virtualization environment, a node should be selected from the backbone network to be the socialite that has the shortest distance from other nodes. As shown in Fig. 4-(a), the yellow node in the center is the socialite of this VN, termed S v . Therefore, socialite is always the node with the greatest number of degrees.
After extracting the main topology information, and selecting the socialite. We map the G v onto the G s in the order of socialite → backbone network → remaining links. In this topology-aware mapping method, the virtual nodes and links of the backbone network are mapped in the same period and considered as a whole structure, which will reduce the hops of link mapping, further saving the energy and using different mapping methods for the main and secondary information of the network can effectively improve link utilization and mapping success rate. The mapping process is described below. For further details, see algorithm 1.

2) MAP SBR (G v ) ONTO THE G s a: MAP S v ONTO S s
The node with the strongest communication ability is calculated as the socialite. Then, the physical nodes meeting VOLUME 8, 2020 Algorithm 1 SBR_E Mapping Algorithm input: the socialite of the bacteria-S s , G v , G s output: the position of bacteria (mapping solution) (1)while the quantity of unmapped nodes in G vm ! = 0 (2)do:// mapping G vm onto G sm (3) take the S s as root node: (4) reorder the S v and S s 's adjacent links by their bandwidth in a descending order, (5) if S s 's degree > S v 's (6) Employ L2S2 principle to map these links, (7) if the available resources of the nodes on the link's other side may satisfy the resource constraint, (8) map these nodes on them; (9) else keep extending outward to the next hop, (10) pick the node with the largest weight to allocate this nodes (11) end if (12) else (13) merge these links and map them on the S s 's adjacent links (14) extend to the node on the other end of the merged link, and from its neighbors, pick the node with the largest weight to allocate this node (15) if the out-degree of S s 's neighbor node N 2 i ! = 0: (16) for N 2 i do: (17) take the N 2 i as root node: (18) return (4) (19) end for (20)end do (21)employ the Dijkstra's Shortest Path Algorithm to map the remaining links.//mapping E ve onto E se the CPU resource constraints with the highest priority were selected as the candidate set.

b: MAP G vm ONTO G sm
After selecting S v , we set S v as the root, and the link's bandwidth is taken as the weight (here, we set the weight in direct ratio with the bandwidth) and borrow the idea of the breadth-first search algorithm to reorder the backbone network tree (marked as G vm ) by hierarchy. That's to say, the reordering process must be the first to select the node closer (the one with fewer hops) to the socialite. In addition, As shown in Fig. 4-(a), the number in the square (node) is the order in which the node is reordered, i.e., socialite is the first selected node, the neighbor node with the largest bandwidth of S v is the second and so on. To make the representation easier to understand, we redrawn Fig. 4-(b) to show the reordered G vm .
Then, according to G vm 's new order, we find the physical network G sm to allocate it. In this phase, we expand the mapping around the selected physical node S s , which hosts S v , and consider the nodes and links mapping at the same time by hierarchy. As shown in Fig. 4-(b), the reordered G vm is divided into three parts based on the number of hops from socialite. We place these nodes and links around S v from near to far. For mapping S s 's neighbor nodes and links between them (in y), we allocate these adjacent links first: if S s 's degree > S v 's degree, the available bandwidth of S s 's adjacent links can satisfy the resource constraint of S v 's adjacent links. We follow the large-to-large and small-to-small (L2S2) principle [34] to map S v 's adjacent links. Then, we further determine whether the selected node at the other end of the link satisfies the CPU resource constraint of the virtual node; if yes, map them; otherwise, extends outward to the next hop and picks the resources with the largest weight to allocate the node that failed to match. Then, the next hop's nodes and links (in z) should be mapped by setting the S s 's adjacent node as the new root and repeating the above operation until all the nodes and links are mapped. In this phase, the links and the nodes with high priority (in the powered state and satisfy the constraint) will be selected first; moreover, after such processing, the selected physical hosted network will be as compact as possible, which will greatly reduce unnecessary energy consumption.

c: MAP E ve ONTO E se
The remaining links seem to be secondary information of the network. The number of links is relatively small, and the information interaction between a few nodes at the edge is carried. Therefore, we simply employ Dijkstra's Shortest Path Algorithm to find the physical links (E se ) and place the remaining links E ve .

C. ENERGY-DRIVEN VNE ALGORITHM BASED ON BFO: EBFO
Based on the above, we know that to reduce the energy consumption of VNE, prior research has put forward many strategies, but most of them focused on physical resource availability or just set the energy-saving manager on the mapping phase. In this section, to approximate the optimal VNE solution, we synthetically consider the information interaction among the bacterial flora to design the optimization process, leverage the SBR_E algorithm to monitor this process's energy consumption, and present an optimal solution for the VNE problem.
When seeking a higher concentration of nutrients, the bacterial flora has two kinds of information interactions: x cellto-cell signaling and y bacteria-to-bacteria signaling. Considering the latter, EBFO added a corrected value for the objective function according to the cell aggregation. In this section, we provide a comprehensive review of these two signaling processes and design an energy manager to control energy consumption globally. In addition, to perfect the algorithm's execution process, we enhance the BFO algorithm using the characteristics of the network, such as chemotaxis, reproduction, and elimination/dispersal, so the optimal embedding solution can be found. In the following subsections, we will describe the details of EBFO.

1) SWARMING AND NUTRIENT GRADIENTS
The goal of this paper was to find an effective and energysaving embedding scheme for the VNE problem. Therefore, we first define the objective function (to be minimized) as energy saving: However, in the natural world, the nutrient concentration is not static. It is influenced by bacteria-to-bacteria signaling, including attractant and repellant signaling here, we identify it as the corrected value (J ) to dynamically control the aggregation of the bacterial flora. Similarly, in the solution space of VNE, if the proposed solutions are too aggregate (/similar), the VNE solution will be vulnerable to premature convergence. Therefore, we add on the cell-to-cell attractantrepellant profile (J ) to the objective function and renew it with the help of the following equation: J represents the effect of bacteria-to-bacteria signaling on the nutrient gradient in the current position, which is added to the actual objective function to present a time varying. objective function. S is the total number of bacteria in the flora, d is the number of variables to be optimized, which are present in each bacterium, and θ i = (θ i s , θ i 2 , · · ·θ i n ) T is a point in the d-dimensional search domain. represents a command instructing to return a value of 0 if both sides are equal, or return 1 if they are not. ρ represents the height of the repellent effect (magnitude of its effect) and ω represents the width of the repellent effect. In addition, we set J as a negative number because in chemotaxis, the iterative update is under the guidance of swarm intelligence, and the bacteria already have the ability to gather. Thus, a corrected value is needed to realize the exclusion of bacteria and let the highly aggregated bacteria secrete the repellant signal to avoid premature convergence.

2) INITIALIZATION
In this paper, we use an enhanced BFO algorithm to solve the optimization problem. Here, we take the position of a particle denoted by θ i = (θ i s , θ i 2 , ···θ i n ) as the solution of node mapping. θ i s can be assumed as the solution of S v mapping, and the ith position of θ i n can be assumed as the solution of the virtual node vi mapping.
The initial position of the bacteria in the BFO algorithm is randomly selected. However, in VNE, if we overuse the bottleneck resources of the substrate network, it may fragment the network resources and thus prevent the substrate network from accepting a larger VN network request. If the position is very disposal, the distance between nodes would be long and would require many bandwidth resources. Moreover, since the position vector of bacteria corresponds to a node mapping solution, if we randomly generate one or more dimensions of this vector, it may violate the capacity constraint or the connectivity constraint of virtual links in the linking mapping stage, which may slow down the convergence speed of our algorithm. Therefore, we mimicked the information interaction between the bacterial group and leveraged SBR_E to manage this process's energy. Based on this, we present an SBR preferred selection strategy for position initialization. This strategy employs network topology information (SBR) to guide the process of selecting the bacterial flora's initial position and prioritizes the substrate resources in the on state that meet the constraints. Such a strategy can prevent the final solution from having low validity or high energy consumption caused by the nodes' overuse or overdispersion. A detailed description is provided in algorithm 2. The SBR preferred selection strategy for initialization shares the same idea with SBR_E mapping presented in section IV-(B). First, N physical nodes are randomly selected from the substrate network as the socialite of different bacteria in the flora, which is the G S 's S s to allocate S v . Then, SBR_E is employed to arrange the other nodes and links.

3) CHEMOTAXIS
This section is similar to the initialization, where we leverage SBR_E to ensure that this iterative update process is energy driven and design an SBR preferred selection strategy for position update in algorithm 3. When the nutrient concentration of the living environment is changed, we set the socialite first aware of this change and update its position. Then, the message is transmitted to all bacteria according to the following order: socialite → main network → residual link, VOLUME 8, 2020 updating them in the process. This pushes all bacteria to move to the position with higher nutrient concentration. Such a strategy could control the energy consumption of the whole process, help simplify the optimization process of swarm intelligence, and reduce the complexity of the problem.
In computational chemotaxis, the movement of the bacterium may be represented by the following: where θ i (j, k, l) represents the position of each member in the population of the S bacteria at the jth chemotactic step, kth reproduction step, and lth elimination-dispersal event. C(i) is the size of the step taken in the random direction (ϕ(j)) specified by the tumble (run length unit). Such a strategy may clearly slow down the convergence speed. To address this challenge, we employ the swarm intelligence to guide the socialite's updating and change ϕ(j) under the guidance of θ i ps and θ gs . Here, θ i ps is the position with the highest nutrient gradient found so far for the ith bacteria, and θ gs is the best position in the swarm. Therefore, we renew the socialite's velocity (V new is ) and its position (θ new is ) with the help of the following equations: where r1 and r2 stand for the two random variables that are uniformly distributed in [0, 1], ω d stands for the inertia weight, c 1 stands for the cognition weight, and c 2 stands for the social weight. Generally, ω d , c 1 , and c 2 meet the following constraints: 0 <Pi ≤ Pc ≤ Ps < 1 and Pi + Pc + Ps = 1.
: θ 1 θ 2 return the difference of the two socialite mapping solutions, the resulting value is 1 if θ 1 and θ 2 have the same values, and 0 otherwise. ⊕ : v 1 ⊕ v 2 return the numerically superimposed direction of bacteria's socialite. If the result value is 1, tumble toward the direction of θ i ps or θ gs in the probability; otherwise, they keep running without changing the direction.
indicate updating the socialite's position. Its operation rule is this -if the value of V equals 1, the socialite guided by the swarm intelligence chooses the best direction, singles out the node closest to socialite, and meets the resource constraints with the highest priority; otherwise, it keeps running and selects a neighbor node of the socialite with the highest priority. As shown in the Fig. 5-(a), the pure yellow node represents the initial position of the socialite, and the yellow node with the aperture represents the updated position.
After the socialite's update, we continue to update the backbone network and the remanding links, as shown in the bottle of Fig. 5-(b). The bacteria's initial position is within the broken black circle. Substrate nodes in the off state are shown as transparent, and nodes in the on state are light blue. Dark blue represents the mapped nodes, the bold black

4) REPRODUCTION AND ELIMINATION/DISPERSAL
To improve the convergence speed of the algorithm, the algorithm enters the reproduction stage after the iteration and updates until it reaches the predetermined number of times. The corresponding VNE solution whose nutrient gradient is in the top 50% will be copied into two and continue iterative update driven by energy awareness. The last 50% will be eliminated.
To avoid the algorithm falling into local optimization and premature convergence, the algorithm enters the elimination/dispersal after jumping out of the cycle of reproduction. Some bacteria are liquidated at random, while the new VNE solutions are randomly initialized leveraging the SBR initialization method within the search space. Then the new floral bacteria return to the chemotaxis, continue iteration, and update constantly until the given number of times is reached, recording the current optimal solution, which is the VNE solution proposed by the EBFO for the VNR request.

D. ALGORITHM DESCRIPTION
The realization process of EBFO was introduced in the previous three sections. This section gives an overall description of it. The pseudocode as well as the flow-chart (Fig. 6) of the complete algorithm are presented below.

Algorithm 3 SBR Preferred Selection Strategy for Position
Update input: G V , G S output: the θ gs of flora (1) For Si in flora: (2) employ Formula (6) to calculate the updated direction V; updating toward θ i ps or θ gs in the probability (5) take Si as root node (6) if the root has the neighbor nodes that satisfy its constraint,; (5) calculate the sum of the node's available resource of CPU and the link's bandwidth between the node and the root as the weight. (7) select the node (S i ) with the largest weight to host S i (8) else extend to the root's neighbor node (N ei ), take N ei as the new root node, (9) return(6) (10) end if (11) else (12) S i keep running and select a neighbor node of the socialite with most available CPU resources; (13) end if (14) end for (15) employ Formula (9)  [a] For the given k and l, and for each i = 1, 2, . . . ,S, let, J (i, j, k, l) = J E + J (θ, P(j, k, l)). Sort their nutrition gradient in order of ascending cost J (Our target function).
[b] The S r bacteria with the highest J values die, and the remaining S r bacteria with the best values split.

[Step 8]
If N re < k, go to step 4.
[Step 9] Elimination-dispersal: For i = 1,2 . . ., S with probability P ed , employ SBR initialization to make up the bacteria which will be eliminated. If l < N ed , then go to step 3; otherwise end. [ Step 10] Record the current global optimal solution as the best mapping scheme of this VNR.

V. PERFORMANCE EVALUATION
In this section, we compare our proposed algorithm known as EBFO to the prior algorithms. In subsection A, we describe our simulation settings, and in subsection B we present our evaluation results.

A. A EVALUATION SETTINGS 1) NETWORK TOPOLOGY
Similar to our previous studies [28], we use the GT-ITM tool to generate the bacterial search topologies of the substrate network and virtual network. The number of substrate network nodes predesigned in this experiment is 50, and the probability of the nodes connecting to each other is assumed to be 0.5.
For the capacity settings, the CPU capacity is uniformly distributed between 50 and 100, and the bandwidth is also uniformly distributed between 50 and 100. Between each pair of substrate nodes, it has a probability of 0.5 to connect each other. The number of nodes in a VNR has a uniform distribution of U [2,10]. We follow the literature [28], and each virtual node's CPU and bandwidth capacity and requirement obeys the uniform distribution of U [0, 25]. The process of VNR arrival can be simulated as a Poisson process, and its average arrival rate is set to 5 VNRs per 100 time units. We run all of our simulations in 20 time windows and collect the experimental data after 5 time windows.

2) PARAMETER SETTINGS
The values of p max , p b , and p n are assigned 300, 150, and 1.5 W per CPU unit, respectively, following previous work [28] The initial number of bacteria in flora N is set to 12, and the threshold of maximum count of iteration N c , N s , N r are set to 5, 3, and 2. According to our experience, the initial values of ω d , c 1 and c 2 are set to 0.1, 0.2, and 0.7, respectively. d and ω are set to 0.05. Table 2 presents an evaluation of the three algorithms. We compare our algorithm (EBFO) to three prior algorithms -MO_NPSO [22], MCRR [25], EE_CTA [30], and the discrete BFO. Note that we assume that our proposed algorithm does not support path splitting, and the virtual nodes of different VN requests can be mapped onto the same substrate node, but the virtual nodes in the same VN request cannot share the same substrate node. VOLUME 8, 2020

B. EXPERIMENTAL RESULTS
We summarize our experimental results in terms of energy saving, request acceptance rate, revenue-cost ratio, and running time.

1) ENERGY
The energy comparison results are presented in Fig. 7. We can observe that while ensuring the effectiveness of the solution, EBFO still has more energy than MO_NPSO, MCRR, and EE_CTA. That difference is observed because although MO_NPSO sets the energy saving as the goal, it does not fully take into account the communication between the particles, i.e., . It ignores the necessary energy-saving factors -the connections between networks and the underlying resource utilization. Therefore, its energy saving effect is very limited. MCRR pays attention only to finding nodes that have more available resources. As the underlying resources are opened during the embedding process, this greedy algorithm will open increasingly more resources, resulting in the waste of resources. As a meta-heuristic algorithm, EE_CTA iteratively finds the optimal VNE solution with the goal of saving energy. However, as the situation of the substrate network changes over time, the node position will be increasingly scattered, and the number of link map hops will increase, which leads to a continuous increase in energy consumption. In contrast, EBFO sets energy savings as a global goal. It synthetically considers the information interaction among the bacterial flora to devise a topology-aware mapping strategy marked as SBR_E to build the candidate set of the VNE solutions. Then, it leverages SBR_E to manage the optimization process and approximates the optimal VNE solution. In this way, after the socialite finds a better location, we reanalyze the current underlying network environment and map VNR in the order of socialite → backbone network → remaining links. In this process, we preferentially select the underlying resources that have been opened for mapping, and the nodes and links of the backbone network are mapped as a whole structure tightly around the socialite. In this way, the distance between nodes can be controlled more strictly, and the number of link hops will be greatly reduced. From Fig. 8-11, we can note that EBFO uses fewer substrate nodes and links than other algorithms and has a higher utilization rate of substrate nodes and links. This helps demonstrate why EBFO achieves more energy-efficient VNE solutions. In addition, although the BFO algorithm has a lower energy consumption, it has a very low quality VNE solution and thus cannot be a stable VNE problem-solving strategy.

2) REQUEST ACCEPTANCE RATE COMPARISON
The results of the average revenue comparison are shown in Fig. 7. It is evident that from the point of view of the request acceptance rate, EBFO is much better than other algorithms.  From the results, we can see that the request acceptance rate of BFO is less than 65%; for MO_NPSO and MCRR, it is approximately 80%; for EE_CTA, it is approximately 85%; and for EBFO, it is 95%. That means that our algorithm can at least obtain up to a 10% higher request acceptance rate than other prior algorithms and can obtain up to a 35% higher request acceptance rate than the original BFO. This is because in the mapping process, EBFO insists on prejudging the selected physical network, guaranteeing that the capacity constraints of VNRs are satisfied. Although its solution continues to change with iteration, it leverages SBR_E to control the topology of the solution to ensure that nodes and links are available, further ensuring the validity of its solution. However, MCRR that maps the VNRs onto the substrate network focuses only on the underlying resources, which have more available resources, and the prophase undergoes a high request rate. As an increasing number of physical nodes are powered up, the corresponding physical links are divided, and when a VNR, which requires plenty of resources, is dynamically reached, it may not find the substrate network to host it, causing the request acceptance rate to decrease. MO_NPSO and EE_CTA, these meta-heuristic algorithms, have an independent optimization process without a resource manager. Therefore, guaranteeing the VNE solution that the algorithms calculated is the most energy-efficient. These algorithms have to sacrifice a certain solution's quality. Because the node position and the situation of the substrate network change all the time, in the pursuit of an energy-saving solution, the connectivity between nodes will be difficult to guarantee at the same time. This difficulty means that the most energyefficient solution may be proposed at the expense of the   solution's quality, Therefore, these solutions cannot be as good as EBFO in obtaining high request acceptance rate.

3) REVENUE-COST RATIO COMPARISON
The results of the average revenue comparison are shown in Fig. 8. We can observe that from the point view of revenuecost ratio, EBFO is much better than the other algorithms. From the results, we can see that the request acceptance rates of MO_NPSO, MCRR, EE_CTA, and BFO are 0.5, 0.6, 0.55, and 0.68, respectively. This means that EBFO can obtain between 10% and 30% higher revenue-cost ratios than the other algorithms. This is because the excitation process of EBFO is energy driven and has achieved an excellent energysaving effect, after chemotaxis, reproduction, and elimination dispersal find the optimal solution for the VNE problem. In the whole process, the distance between nodes is strictly controlled by the energy manager -SBR_E, which ensures the least number of hops between nodes when the virtual network is being mapped to the physical network, so the improvement effect of the revenue-cost ratio is remarkable.

4) RUNNING TIME COMPARISON
The average running times of the algorithms for mapping a VNR are shown in Fig. 12. From this figure, we see that BFO and EE_CTA (the two heuristic algorithms) consume more time than EBFO. The MCRR, which uses linear programming, has a running time that is less than EBFO. The running time of the EBFO algorithm is slightly more than that of the MO-NPSO algorithm, while it is worth achieving a higher request acceptance rate, revenue-cost ratio gain and energy savings. However, it is still a large improvement over the original heuristic algorithms. The reason lies in the following: (1) EBFO has the ability of swarm intelligence's parallel operation; (2) EBFO can significantly improve the convergence speed of the algorithm by adding swarm intelligence guidance to the chemotaxis; (3) EBFO leverages SBR_E to design SBR_E initialization and SBR_E chemotaxis methods, updating socialite first and then driving the whole bacteria to update, instead of updating all dimensions of the solution in the traditional group intelligence method, which reduces the complexity of the problem and significantly reduces running time.

VI. CONCLUSION
In this paper, we proposed an energy-driven algorithm based on BFO (EBFO) to solve the problem of VNE. Specifically, a mapping algorithm (SBR_E) based on an information interaction mechanism was designed to build the candidate set of the VNE solutions. Then, it leveraged it to manage the energy consumption of the optimization process. Finally, the optimal VNE solution is found. The comparative results prove that the proposed method can improve the performance of the system in terms of conflicting objectives by reducing energy consumption, improving the request acceptance rate, and improving the revenue-cost ratio. However, to ensure a high mapping success rate, the algorithm has to repeatedly examine the resource constraints, which affect the running time to some extent. This issue warrants further study.