Coordinated node and link mapping VNE using a new paths algebra strategy

The main resource allocation research challenge in network virtualization is the Virtual Network Em-bedding (VNE) Problem. It consists of two stages, usually performed separately: node mapping and link mapping. A new mathematical multi-constraint routing framework for linear and non-linear metrics called “ paths algebra ” has already been proposed to solve the second stage, providing good results thanks to its ﬂ exibility. Unlike existing approaches, paths algebra is able to include any kind of network parameters (linear and non-linear) to solve VNE in reasonable runtime. While paths algebra had only been used to solve one stage (link mapping) of the VNE, this paper suggests an improvement to solve VNE using the paths algebra-based strategy by coordinating, in a single stage, the mapping of nodes and links based on a ranking made of the bi-directional pair of nodes of the substrate network, ordered by their available resources. Simulation results show that the New Paths Algebra-based strategy shows signi ﬁ cant performance improvements when compared against the uncoordinated paths Algebra-based link mapping approach.


Introduction
Network virtualization (NV) was proposed as an enabling technology for the future Internet architecture as the deployment of new Internet services is increasingly difficult due to the lack of cooperation among stakeholders.NV allows multiple heterogeneous, logical networks to cohabit on a shared substrate network (SN).On top of the SN, several virtual networks run and offer end-to-end customized quality of service (QoS) to the end users (EUs).
NV needs a sustainable economic model to be implemented.Infrastructure as a service (IaaS) (Bhardwaj et al., 2010) is a business model where the hardware and associated software operating systems are delivered as a service.The introduction of the IaaS paradigm is changing the current infrastructure service providers (ISPs)-based Internet business model (Feamster et al., 2007).This new business model is well suited for the future dynamics in networking service requests as NV will be a fundamental enabler to provide end-to-end QoS guarantees in an IaaS based network architecture.It will be not just a technology to implement IaaS, but a component of the architecture itself (Botero Vega, 2013).
Fig. 1 shows a typical network virtualization environment.One of the main challenges of NV is the efficient allocation of virtual network elements on top of SN elements, commonly known as the virtual network embedding/mapping (VNE) problem (Fischer et al., 2013;Botero and Hesselbach, 2009;Haider et al., 2009).This can be divided into two stages: virtual node mapping (VNoM) and virtual link mapping (VLiM).In the VNoM stage virtual nodes have to be allocated in physical nodes; in the VLiM stage, virtual links connecting virtual nodes have to be mapped to paths connecting the corresponding nodes in the substrate network.The two stages of the VNE problem can be solved either in an uncoordinated or in a coordinated way.
This problem has been recently addressed in the works from Zhu and Wang (2014) using a different view.It was focused on processing multiple VN requests simultaneously, proposing a modified ant colony optimization (ACO) algorithm, where a set of candidate physical networks are first found for each VN request, and the VNE problem is converted to a multiple-choice knapsack problem.In this work, the optimization goal is to maximize revenue and to achieve optimal load-balancing characteristics, expecting to support more virtual network requests in the same substrate network.However, in our work, cost/revenue is considered as a primary target, and a different virtual network request (VNR) generation model is used.Therefore, only qualitative comparisons are possible between both works.
To solve the virtual link mapping stage of the VNE problem a novel paths algebra-based strategy was proposed in Botero et al. (2013a).This strategy introduces an unlimited number of linear and non-linear constraints and metrics to the VNE providing the necessary flexibility for better embeddings.
This new strategy can be improved by solving the mappings of nodes and links in a new coordinated way.It is proved in this paper that coordinated mapping provides excellent results by ranking the nodes in the node mapping stage.This new paths algebra-based strategy is called New Paths Algebra (NPA).This work will present the improvements and better results provided by this NPA for scenarios of several sizes and loads.
The main contributions of this paper are: 1. Analyze the advantages of the coordinated link and node mapping strategy.2. Define a paths algebra based strategy for the coordinated link and node mapping for linear and non-linear parameters.3. Analyze and compare the performance of the New Paths Algebra algorithm simulating small and big scenarios.
Section 2 details the previous work in VNE and paths algebra, and highlights the shortcomings that motivate the introduction of the NPA VNE approach.Section 3 details the NPA VNE approach.Section 4 evaluates by simulation the proposed approach highlighting its improvements in acceptance ratio and revenue when compared with existing solutions.Section 5 presents the conclusions and future work.

Related work
This section presents the main approaches to solve the VNE problem and shows their inability to provide solutions when nonlinear constraints are involved.It also describes the previous work in the "paths algebra" mathematical framework and how it can be used to solve the VNE problem.

Network virtualization and virtual network embedding
According to Botero et al. (2013a), Chowdhury (2009), Chowdhury and Boutaba (2010), and Fischer et al. (2013) one of the main challenges of network virtualization is the virtual network embedding problem (VNE), consisting on mapping virtual network demands in physical network resources.
Virtual networks (VNs) must be optimally allocated over the physical/substrate network (SN).A scenario will contain an SN and a group of VNs, called virtual network requests (VNRs), each one containing a set of resources required by the demanded service.The main problem of the VNE consists of the optimal allocation of this VNRs on top of the SN according to some predefined objective.In the virtual node mapping stage each virtual node of a VNR is mapped to one substrate node with enough capacity to meet the virtual node resource demand; in the virtual link mapping stage each virtual link is mapped to a directed path in the SN with enough resource capacity to meet the virtual link demand.
VNRs consume physical resources: CPU processing power on nodes and BW capacity on links of the substrate network.Physical resources are finite and represent the limit of VN assignments.Hidden hops must also be considered in the link mapping stage.Hidden hops, first introduced in Botero et al. (2013b), are the intermediate nodes of a directed path in the SN that is mapping a specific virtual link of a VNR.Hidden hops entail a resource demand for forwarding the traffic that will pass through it and will consume CPU resources of the SN.Fig. 2 illustrates the embedding of two VNRs on an SN.Both virtual nodes and virtual links share resources of the SN.
To solve this problem, we propose a new coordinated approach that solves VLiM in a coordinated way with VNoM using the paths algebra framework.

Paths algebra
Paths algebra is a powerful and elegant mathematical framework for solving the multi-constraint routing problem using linear metrics as bandwidth, number of hops and delay, or non-linear metrics as availability and package loss rate; or even a combination of both.However, the main important metrics for the optimization of the VNE problem may be cost and revenue, as network virtualization is mainly a business strategy.These metrics can also be taken into account by the paths algebra framework.
Depending on the optimization goal of the link mapping stage, the metrics can be divided in terms of Quality of Service (QoS) (usage, throughput, delay, jitter, etc.), Quality of Network Economics (QoNE) (cost, revenue), Quality of Resilience (QoR) (number of backups, path redundancy, etc.) or others (runtime, number of messages, etc.).We will evaluate the performance of the resources assignment strategy based on the cost and revenue, and two other metrics derived from these two: Cost/Revenue and acceptance ratio.
Cost/Revenue describes the relationship between spent substrate resources and demanded virtual resources, while the acceptance ratio measures the number of virtual network requests that could be completely embedded by the embedding algorithm, divided by the total number of virtual network requests.
The paths algebra multi-constraint routing algorithm is implemented by the Loop Avoidance by the Destination Node -LADN software (de Paula Herman and de Almeida Amazonas, 2007) that finds all possible paths between each pair of nodes in the SN and orders them based on an unlimited number of constraints.The LADN consists of four stages: SEARCHPATH: discovers all paths between each pair of SN nodes; SORTPATH: selects only cycle-free paths; EVALUATEPATH: characterizes each path based on the defined link parameters; ORDERPATH: orders the paths according to the defined metrics and priorities.
The first stage (SEARCHPATH) can be an expensive procedure for highly connected networks, but it can be performed offline and the computing time can be neglected.The processing time can also be reduced using a filter that finds the minimum set of paths that ensure full network's connectivity (Botero et al., 2013a).
The VLiM stage can be performed in different ways to allocate as many VN requests to the SN as possible: FIFO, that is the procedure that emulates the online VNE; non-decreasing, or non-increasing, BW order; non-decreasing, or non-increasing, CPU order; non-decreasing, or non-increasing, (BWþ CPU)1 order, etc. Depending on the optimization criterion, the policy that provides the best results may change, so it is not possible to say what is the best policy in advance.In this paper, the policy used in the simulations was non-increasing (BWþ CPU) order.
Once the VLiM stage is performed, a virtual link is assigned to the best path of the SN and its resources are updated according to the actual values consumed by the VNR.This procedure is repeated until all virtual links have been assigned to the SN.
If there are no available resources to map a virtual link to the SN, different strategies can be adopted: (i) the VN request can be dropped out; (ii) it can be tried to accommodate it with less resources than originally demanded; (iii) it may be possible to perform backtrack (re-assign a previous virtual link in order to accommodate another one).In the simulations done in this paper, VN requests were dropped out if they could not be mapped and the other possibilities will be analyzed in future work.

Paths characterization
A network is represented by a directed graph = ( ) G V A , , where V is the set of vertices and A the set of arcs.Consider the simple path represented in Fig. 3.a.The set of vertices is given by 1, 2, 3, 4 and the set of arcs is given by = { } A a b c , , .The source and destination nodes are ( ) = ( ) s d , 1 ,4.This path can be represented either as a succession of vertices p 1,4 or as a succes- sion of arcs p a c , .Each arc in this example is characterized by a triple are the values of metrics m 1 and m 2 on the arc ∈ In general, the paths algebra uses M as the set of m adopted routing metrics and F as the set of k metrics combination functions.
The set of combined-metrics of all edges is given by: S is a set of binary operations applied on the values of the links combined-metrics along a path to obtain a resulting value that characterizes this path as far as the constraint imposed by the combined-metric is concerned.So far, the syntheses are restricted to the following set: {add(), mult(), max(),min ()}).
If the routing algorithm is mono-constraint, only one value is .The weightword has as many letters as the path's number of arcs.The first letter corresponds to resulting value of the synthesis applied to the whole path; the second letter corresponds to resulting value of the synthesis applied to the subpath obtained by dropping out the last arc; the last letter corresponds to the resulting value of the synthesis applied to the subpath made of only the first arc.Any number of letters can be retained as the synthesis result and this is called an abbreviation: ( ) represents no abbreviation, i. e., all letters are taken into account.

Paths ordering
Consider the network represented in Fig. 3b where two paths connect the source node 1 to the destination node 4.These paths , where [ ( ) . The syntheses to be used in this example are given by The result of the synthesis is shown in Table 1.A path α is worse or less optimized than a path β, , where ⪯ ML stands for multidimensional lexical ordering.In the example

ML
, that is translated by the following ordering relations: .
Different syntheses also have different priorities.In the example, S 1 , S 2 and S 3 priorities go from the highest to the lowest.
Table 2 summarizes the results obtained for three different ordering criteria.It is important to realize that the syntheses letters are examined from the highest priority to the lowest priority synthesis.When the paths are considered equivalent, then we will examine either the next letter of the same synthesis or will move to the next synthesis.This is determined by the adopted abbreviation.

New paths algebra proposal
The paths algebra has been introduced in Botero et al. (2013a) to solve the link mapping stage of the VNE.In that work the VNoM stage is performed first using the algorithms available in the ALEVIN framework.The obtained results show that the paths algebra approach was never worse than the results reported in the literature and were almost always significantly better.However, performing node and link mapping in two separate stages may not make the best use of CPU and BW available resources and leaves room for further improvement.
In the past, node and link mapping have been done in 2 stages: First node mapping, next link mapping.This paper proposes a coordinated mapping of nodes and links at the same time.Since decisions are taken altogether for nodes and links, it is expected a better acceptance ratio and a reduction in the cost/revenue.The algorithm to carry out the node mapping stage together with the already mentioned paths algebra strategy for the link mapping stage is called New Paths Algebra (NPA).The New Paths Algebra study is based on a rank metrics based on the total resources of a paths scenario: the highest ranked nodes will be the destination of the mapped nodes from the VNRs.Resources from both the SN and the VNRs include nodes CPU and links bandwidth (BW).In this section, the proposal will be presented, and an example will numerically illustrate the mechanism in Section 3.1.
This development started with a basic idea that was implemented but, against our expectations, did not produce the expected results.To achieve the final results, we improved the original idea introducing modifications, evaluating the results and identifying the weaknesses.This cycle had to be repeated several times.This section will show the proposal and then introduce the improvements that were necessary to achieve good results.In this way, the interested reader that may want to provide further modifications to the algorithm may avoid the pitfalls that have already been faced.It has been a learning process worth to be described.
The algorithm is based on a rank metrics related to the total resources of a paths scenario.Using this metrics, the highest ranked nodes would be the destination of the mapping of nodes from the VNRs.Resources from both the SN and the VNRs include nodes CPU and links BW.
The algorithm also borrows the concept of availability of a communication channel.Availability is defined as the amount of , 4, 16)  (3, 4, 12)  (2, 5, 10)   (5, 3, 15)  (2, 5, 10) (b) 1st letters are equal X. Hesselbach et al. / Journal of Network and Computer Applications 69 (2016) 14-26 time a channel is available for transmission or, alternatively, as the probability that a channel is available in a certain instant of time.
In this work, the availability for a path k between a pair of nodes (s,d) is a measure of the path's available resources, i.e., a measure of the probability that the path has enough resources to be used by the VNR.This measure is defined in: where: ( ) is the weighting factor to be applied to path k between the pair of nodes ( ) s d , to penalize the longer paths as they increase the cost of the embedding solution.
Eq. ( 1) has a multiplicative form because the probability of having enough resources to accommodate a VNR depends on the probability of having CPU and BW enough resources.As these resources are independent, the total probability is given by the multiplication of their respective probabilities.
The weighting factor is defined by Eq. ( 2): where: is the length of path k, measured in the number of links, between the pair of nodes ( ) s d , ; ( ) is the length of the shortest path sh, measured in number of links, between the pair of nodes ( ) s d , ; ≥ b 1 represents the intensity of the penalty.For b ¼1, longer paths are not penalized.In this paper, we set b¼2.
For the shortest path sh between any pair of nodes ( ) , independently of its length.Then, the availability between a pair of nodes (s,d) is obtained summing all availabilities for all existing paths K between the pair of nodes (s,d): The last step is to sum both availabilities of the pair of nodes (s, d) and (d,s) to get the equivalent of the one-way availability of a transmission channel.It is designated as bi-directional availability.: Therefore, the first proposed algorithm is: 1. Given an SN, using the paths algebra, enumerate all paths between all pairs of nodes.In this step filtering can be used to guarantee connectivity and limit the size of the problem (Botero et al., 2013a).2. Evaluate the availability of each pair of nodes using the availability equations ( 1), ( 3) and (4).3. Rank all pairs of nodes according to their decreasing order of availability.4. Given a VNR, order the virtual demands according to the decreasing minimum required availability evaluated by Eq. ( 5): where: ( ) CPU v s and ( ) CPU v d are the required normalized CPU2 by the source and destination virtual nodes; is the required normalized BW3 between the virtual nodes. 5. Select the first pair of virtual nodes and check the minimum and maximum demanded CPU resource.6. Create a new list of ranked pair of nodes by: deleting the pair of nodes that have nodes with available CPU less than the minimum required by the VNR; deleting the pair of nodes in which neither of them has available CPU at least equal to the maximum required by the VNR. 7. Map the first pair of virtual nodes to the highest ranked pair of nodes in the SN; 8. Map the virtual link to a SN path selected by the paths algebra ordering using a chosen set of combined metrics.
In the case of a tie at point 3, they should be ranked according to their associated BWs.Given a node n, it can be associated to . A decision will be made based on a voting criterion, for instance, a node n 1 will be considered to have more BW than a node n 2 if, at least, two of its associated BWs are greater than those associated to the other node.If the three BW values are the same, then the nodes are equivalent.

Example scenario
The scenario shown in Fig. 4 is used to illustrate how the NPA algorithm works.In the figure we see the SN and the VNRs.
After step 3, the initial bi-directional rank for the initial state of the SN can be seen in Table 3. Table 4 shows the bi-directional rank for the VNR #1 at the conclusion of step 4.
Steps 5 and 6 check the minimum and maximum demanded CPU of the first pair of virtual nodes and create a new list of ranked pair of substrate nodes deleting those pairs that do not fulfill the required demands.As the minimum CPU of the pair of nodes (cd, dc) is 20 (from node c) and the maximum CPU is 70 (from node d), and all CPU resources of the SN nodes are 100, the list of ranked pair of SN nodes remains exactly the same.
As the VNR #1 (cd, dc) demand requires more resources than the (ac, ca) demand, it will be mapped to the first ranked pair of SN nodes (BD, DB).
The indication that node (c) is less demanding than node (d) is expressed by ⪯ c d.In the same way, ⪯ B D indicates that B offers less resources than D. In fact, both nodes offer the same amount of CPU, but, as it will be seen, ( )⪯ ( ) BW B BW D according to the voting criterion.
Table 5 shows the BW resources of all substrate nodes while Table 6 shows the nodes ordering according to the offered BW resources and for the three criteria: inbound, outbound and total. Then: according to the BW in (n): according to the BW out (n): according to the BW total (n): Then, the virtual nodes (a) and (c) have to be mapped to highest ranked pair of substrate nodes where one of the nodes is B (c was already mapped to B).The second pair shown in Table 3, (BC, CB) satisfies the condition and the result of the node and link mapping is: The resources consumed for the mapping of VNR #1 can be seen in Table 7.
After the mapping of the VNR #1, nodes C and D had their Resources consumed after the VNR #1 mapping.resources drastically reduced (and, to a lesser extent, node B).In the new rank, shown on Table 8, all pairs of nodes with one of these nodes are ranked after the pairs of nodes in which they do not appear.This fact suggests that the proposed metrics is reflecting well the available resources.

Pair(s) of nodes
Table 9 shows the bi-directional rank for the VNR #2.Following the same procedure as before, VNR #2 (ae, ea) demand requires more resources than the (be, eb) demand.Node (a) is less demanding than node (e) and, consequently, ⪯ a e. ⪯ E A as E offers less resources than A. In fact, both nodes offer the same amount of CPU, but, as it will be seen, ( )⪯ ( ) BW E BW A according to the voting criterion, which can be observed in Tables 10 and 11.Then: according to the BW in (n): according to the BW out (n): according to the BW total (n): Virtual nodes (b) and (e) have to be mapped to the highest ranked pair of substrate nodes where one of the nodes is A (e was already mapped to A).The second pair shown in Table 8, (AB, BA) satisfies the condition and the result of the node and link mapping is: The resources consumed for the mapping of VNR #2 can be seen in Table 12.
It is important to check if the mappings have been successful by observing the available resources of the SN after the last VNR has been assigned.In this example, neither any of the nodes have finished with negative CPU resources nor any of the links with negative BW resources.The mapping has been completely successful.

Improvements introduced to the new paths algebra algorithm
Despite the good result obtained in the example scenario described in Section 3.1, the New Paths Algebra algorithm has not always produced the expected results.Many times, even for small examples, the algorithm was able to map a first VNR and to be without resources to map a second VNR.In these cases, it was easy to verify that a different mapping of the first VNR would leave enough resources for the second one.For this reason, a series of improvements were developed and they are described in this section.

Degree penalty
Let d in and d out represent the in-degree and out-degree, re- spectively, of an SN node.The idea is to introduce a penalty for those nodes with ≠ d d in out because they can easily produce bottlenecks.The penalty should be larger as the difference increases.Given a substrate network with n nodes, let represent a SN node.The degree penalty P i is given by: ) is the penalty to be applied to the nodes with The penalty to be applied to a pair of nodes ( ) s d , is finally given by: The hardest part of this modification is the choice of a suitable P min value.It has to be a value that penalizes the difficult nodes just enough to achieve good values for both Cost/Revenue and acceptance ratio.Although each scenario may require an optimal value of P min it was observed that in most of the cases = P 0.5 min and/or = P 0.4 min produce good results.

Last ranked pair
The new idea consists of selecting the last ranked pair of nodes with enough available resources to assign a pair of nodes of a virtual network to a pair of nodes of the substrate network, instead of selecting the pair of nodes with the most available resources.The rationale behind this idea is to use the minimum required resources in order to save resources for the next mappings.
To know if a pair of SN nodes has enough available resources to host the virtual nodes, the concept of availability is used: the value of required availability of the pair of nodes of the VNR ( ) ( ) VNR req v v , av i j and the availability of the pair of SN nodes ( ) av i j .

Two-way availability
Eq. ( 4) is the equivalent of the one-way availability of a transmission channel.However, in general, a VNR demand consists of asking for resources in both directions of an SN link.To have a measure of resources in both directions it is necessary to use the concept of two-way availability, to indicate the probability of having enough resources from source to destination and from destination to source.Considering that a resource in one direction is independent from the resource in the other direction, the twoway availability is given by Equation ( 8):

BW penalty
The idea is to introduce a penalty for the nodes having lower outbound than inbound BW because they may not be able to forward all the traffic they receive.This penalty is given by:

Single path availability
So far the availability of a pair of nodes has been evaluated by Eq. ( 3).This equation is a good measure of availability in the case of multi-path routing for which the total BW demand can be split among several paths.For the single path routing case the pair of nodes should be ranked based on their minimum availability as given by Eq. ( 10):

Ranking evaluation
Taking into account all the proposed improvements the final ranking is obtained applying Eq. ( 11): is static as it depends only on the SN topology.

BW checking
The availability concept proposed in Section 3.2.2along with Eq. ( 11) are useful to rank the SN nodes according to their available resources but it does not guarantee that the SN node has in fact enough resources to receive the mapping of a VNR demand.This happens because the proposed availability concept is based on the combination of CPU and BW resources, and a penalty imposed to the longer paths by the weight x(k).
It may happen to have high ranked pairs of SN nodes with low BW resources but high CPU resources.This distortion is enhanced after the first VNR mapping when low connected nodes have their BW resources used and continue to be in a high ranked position.
To avoid the selection of high ranked pair of nodes without enough available resources it has been introduced a specific check of BW: the total required BW of the VNR demand must be less than both the maximum outbound and inbound BW of the selected SN node.
Fig. 5 shows a virtual node v with VNR BW input and output demands designated respectively as . This virtual node is mapped to the SN node s and all input/output virtual links are mapped to a single input / output physical link with available BW resources _ ( ) BW s in i and _ ( ) BW s out j . This mapping is possible if and only if: Being v the node from the VNR, s the node from the SN, v in /v out the input/output links to/from node v, s in /s out the input/output links to/from node s, and V in /V out the total set of input/output links of node v and S in /S out the total set of input/output links of node s, the BW checking consists in verifying both Eqs. ( 14) and ( 15):

Evaluation scenarios and experimental results
This section describes the network topology generation, simulations scenarios and presents the experimental results.

Network topology generation
The following network generators were studied and the characteristics of the produced topologies were compared: Barabási-Albert: this model generates a random scale-free network, whose degree distribution follows a power law.It incorporates two important general concepts: growth (the number of nodes in the network increases over time) and preferential attachment (the more connected a node is, the more likely it is to receive new links).
Erdős-Rényi: in this model every possible edge is created with the same constant probability p.
Random regular: this network topology generator creates a random graph where each vertex has the same degree k.
Scale-free: this model generates a scale-free, non-growing random graph with an expected power-law degree distribution.
Watts-Strogatz: is a random graph generation model that pro- duces graphs with small-world properties, including short average path lengths and high clustering.
Waxman: this random network topology generator is a geo- graphic model where the nodes are uniformly distributed in the plane and edges are added according to probabilities that depend on the distances between the nodes.
Table 13 summarizes the characteristics of the studied topologies.
The Waxman generator is one of the most used topology generators in the VNE literature (Yu et al., 2008;Lischka and Karl, 2009;Chowdhury et al., 2009Chowdhury et al., , 2012;;Cheng et al., 2011;Till Beck et al., 2013;Botero et al., 2013a;Beck et al., 2015).Therefore, to implement a comparable VNE approach and taking advantage of its availability in the ALEVIN framework (Fischer et al., 2011) and our previous experience with it Botero et al. (2013a), Waxman topology generator was chosen to be used in this work.
The algorithm presented in this paper will be tested with the remaining studied topologies in future work.

Simulation environment and scenarios
To deal with the computational complexity of the paths algebra-based multi-constraint routing algorithm, we use the filtering pre-processing strategy SEARCHPATH and SORTPATH that comes from our previous work (Botero et al., 2013a).
For the comparison of former VNE algorithms (Botero et al., 2013a) with the paths algebra algorithm, the following methodology is used (this methodology has been previously used and described by the authors in Botero et al., 2012Botero et al., , 2013a;;Botero and Hesselbach, 2013).The scenarios are parameterized by: topology creation; resource and demand deployment; simulation conditions.

Topology creation
For creating both the substrate networks and the virtual networks as well, we use the Waxman algorithm.To that end, we uniformly distribute the coordinates of the nodes in an area.The Waxman generator takes two parameters, α and β that determine the probability of an edge connecting two nodes, as given by Eq. ( 16): , 1 , d is the Euclidean distance between nodes u and v, and L is the maximum Euclidean distance between any two nodes.An increase in the parameter α increases the probability of edges between any nodes in the graph.An increase in the parameter β yields a larger ratio of long edges to short edges.This topology generation procedure is used for the substrate network as well as for all k max virtual networks.

Resource and demand deployment
A load targeted resource and demand deployment is available in ALEVIN and consists of two steps: 1.The substrate network will be equipped with resources by uniformly distributing each node resource X in a given interval ( ) 0, NR X max for every substrate node (the interval for CPU resources is (0,100]) as well as each link resource Y in a given interval ( ) 0, NR Y max for every substrate link (the interval for BW resources is (0,100]), as usually done in literature (Yu et al., 2008;Lischka and Karl, 2009;Chowdhury et al., 2009Chowdhury et al., , 2012)).2. Consider the generation of demands in all virtual networks and the goal is to achieve a certain average load of every resource.
The creation of node demands and link demands that fulfill these load requirements comprises different challenges.As the number of nodes is fixed in the Waxman topology generation, we can easily calculate the mean resource on a substrate node as as well as the mean demand on a virtual node for a given overall load ρ as k ¼number of virtual networks; and | | V k ¼number of virtual nodes per virtual network.
Eq. ( 17) results in a maximum resources demand due to the uniform distribution of demands within ( ] 0, ND X max .As the Waxman topology generation is probabilistic regarding link creation, the number of links in a Waxman-network is not fixed but can only be given by probabilities.To achieve the targeted load ρ of link resource as well, we consider the average number of edges in a Waxman-network by estimating the mean probability [ ] E p of creating an edge between any two nodes.Thus, the average number of edges [| |] E A in a directed graph is given by Therefore, the average link resource in a network is calculated by and the average link demand is given by 22) holds for ρ ≤ ≤ 0 1.To that end, we have to enforce the constraint If the constraint in Eq. ( 24) is violated, the approximation provided above will achieve a higher load value than the targeted load ρ for the link resources and even result in which can never be fulfilled.

Scenarios
As described in Section 4.2.1, we use the Waxman topology generation.For evaluation, we used α β = = 0.5 and distributed the coordinates of the nodes uniformly in an 1 Â 1 square area.Empirical studies for these parameters have provided an average distance of any two nodes [ ] ≈ E d 0.5 and a maximum distance of = L 2 .Thus, according to Eq. (( 16) the average probability for creating a link between any two nodes is [ ] ≈ E p 1/4.In this work, we consider CPU cycles as a node resource, denoted by NR CPU , and bandwidth as a link resource, denoted by LR BW in the substrate network.For the uniform distribution of these values we have chosen the maxima = NR 1 0 0 max and = NR 1 0 0 max .The scenarios were generated using the ALEVIN environment.All of them consist of a substrate network (SN) with 20 nodes and 10 virtual networks (VN) with 10 nodes each.The substrate metrics BW and CPU are different in each scenario and the resources demands in the VNRs change according to the desired load ρ.
Table 14 summarizes the simulation scenarios parameters.
The results are the average values obtained for 5 simulations runs for each load ρ.
The cost (C) is calculated adding the resources consumed for the mapping of the VNRs, while the revenue (R) is the sum of the required resources of the mapped VNRs.Consider a VNR with v n nodes and v l links that is mapped to the SN using s n nodes and s l links.In the optimal case, i.e, all mapped virtual nodes are connected by direct links, v n ¼s n and v l ¼s l .In the general case, in which the virtual links are mapped onto substrate paths that traverse hidden nodes, ≤ v s n n and ≤ v s l l .Eqs. ( 25) and ( 26) are used to evaluate respectively the cost and revenue of a successful mapping.

∑ ∑
The VNRs were processed according to the most consuming first (MCF) ordering, while the metrics used by the paths algebra to order the paths was M¼ {Hops, BW, CPU}.The chosen metrics optimizes the cost of the mapping.

Experimental results
To evaluate the performance of the proposed algorithms, compared to previous published works, for each scenario the following simulations were done: Original paths algebra (OPA): refers to the original paths alge- bra-based VNE algorithm (Botero et al., 2013a) that performs the mapping in two uncoordinated stages-node mapping followed by link mapping.
New paths algebra (NPA): refers to the proposed algorithm in this paper that performs the mapping in two coordinated stages in which the rank is evaluated by Eq. ( 4).
Improved new paths algebra (I-NPA): refers to the proposed algorithm in this paper that performs the mapping in two coordinated stages in which the rank is evaluated by Eq. ( 11) followed by the BW checking.
In the OPA case, the ALEVIN environment is used to generate topology and VNRs, and node mapping.The paths algebra-based link mapping stage was implemented in MATLAB.
In the NPA and I-NPA cases, the ALEVIN environment is used to generate topology and VNRs, while the coordinated nodes and links mappings were implemented in MATLAB.
The algorithms are evaluated by means of the following metrics: Cost/revenue.Accepted VNR percentage, considering a VNR as a whole unit.Mapped revenue ratio, that is the ratio between the actual revenue provided by the successful mappings and the total possible revenue associated to the VNRs.
Table 15 shows the results obtained by the OPA algorithm.These results are taken as the reference to compare with the NPA and I-NPA algorithms.
Table 16 shows the results obtained with the NPA, while Figs.6 and 7 compare the accepted VNR percentage and the Cost/ Revenue obtained with the OPA and NPA algorithms.Figs. 8 and 9 compare the Cost and Revenue results for the same algorithms.
Figs. 6-9 show that the OPA and NPA algorithms have similar  behavior.This is an indication that the NPA algorithm was correctly implemented.However, its performance is worse than the OPA's.This is an unexpected result as the coordinated node and link mapping should provide better results.The reason for this is Eq. ( 4) that does not model adequately the SN available resources.
In spite of not being good results they were important to guide the introduction of the improvements described in Section 3.2 that led to the development of the I-NPA algorithm.
Table 17 shows the results obtained with the I-NPA algorithm while Fig. 10 compares the accepted VNR percentage between the OPA and the I-NPA algorithms for all simulation runs.The results shown in Fig. 10 are quite impressive: the I-NPA performance is never worse than the OPA's and produced up to 60% enhancement of the accepted VNR percentage.
Fig. 11 compares the mapped revenue ratio obtained by the OPA and I-NPA algorithms.The I-NPA performance is much better than the OPA's for all workloads.Fig. 12 shows that the Cost/ Revenue relationship is quite similar for both algorithms.As network virtualization is essentially a technique to implement a business model, the results provided by the I-NPA algorithm can be directly translated into an increase of the service provider's profit as a better mapped revenue ratio is obtained at a similar Cost/Revenue value.
Fig. 13 shows the mapping cost for the OPA and I-NPA algorithms.When the load is low both algorithms give the same result; when the load is in the mid-range the I-NPA cost is much higher than the OPA's; and when the load is high the costs are closer again.Fig. 14 shows the mapping revenue for the OPA and I-NPA algorithms and the observed behaviors are similar to the cost behavior.When the load is low the SN has enough resources to accommodate the mapping and both algorithms behave in a similar way looking for the shortest paths.When the load increases the OPA tends to revisit the same nodes and map the links to the possible shortest paths.The I-NPA penalizes the nodes that have already been used and distribute the traffic more evenly across the whole SN.This implies that longer paths are selected making the cost to increase but the VNR acceptance percentage also increases producing a higher revenue.When the load is high there are not enough resources to accommodate many VNRs and the revenue drops.Those that can be mapped can use shorter paths decreasing the cost for both algorithms.

System impact
The numerical results presented in Section 4.3 show that when the I-NPA is compared to the OPA the results are impressive.The average VNR acceptance percentage increased for all loads except for ρ = 0.2 for which both algorithms map all VNRs.The maximum improvement is of 26% for ρ = 0.4.For high loads, ρ = 0.7, the I-NPA is still slightly better showing an improvement of 2%.The mapped revenue ratio was also increased by the I-NPA showing an average improvement of 14.42% for a maximum of 24.27%.Last but not least, the OPA and the I-NPA provide similar Cost/Revenue values.This means that the increased VNR acceptance percentage of the I-NPA can translate directly into system performance and higher profits for the service provider.
The I-NPA can be used to implement differentiated services.The services provider's clients could be offered, for example, three different subscriptions: gold, silver and bronze.The better the subscription is, the SP could offer more resources charging a higher price.The target price can be easily incorporated as a metrics into the paths algebra framework and used along the other metrics to solve the VNE problem.

Conclusions and future work
The advantages of the coordinated link and node mapping were analyzed, defining an optimization strategy based in the paths algebra mathematical framework including linear and non-     linear parameters.Two new algorithms were proposed to solve the VNE problem in a coordinated way of the node and link mapping stages, as an enhancement from previous already published works.Both algorithms are also based on the paths algebra, originally developed to implement multi-constraint routing algorithms and that were successfully applied by the authors to solve the VNE problem in an uncoordinated way.This algorithm is designated as Original Paths Algebra-OPA.A metric to evaluate the resources available in the SN and rank its nodes was proposed Such a metric borrows the concept of availability of a transmission channel.
The first algorithm, designated as new paths algebra (NPA), was explained in detail and applied to a small scenario example providing good results.However, when applied to larger scenarios the results were initially quite disappointing but indicated the improvements to be introduced.
This second algorithm was designated improved new paths algebra (I-NPA).The I-NPA was compared to the OPA and the results are quite impressive.
As future works we intend to change the ranking equation.The current equation has factors that depend on the available resources and change after each successful mapping.It has only one static factor that depends on the topology and takes into account the input/output nodes' degrees.We conjecture that the results can be further improved if a more thorough characterization of the topology is considered.The closeness metrics measures the proximity of the nodes to each other, while the betweenness evaluates which nodes are more traversed by paths connecting pair of nodes.These metrics can be used to identify nodes more appropriate to be hubs or intermediate and which ones are more adequate to be terminals and host virtual nodes.

Fig. 3 .
Fig. 3. (a) Example of a simple path (b) Example of two paths to be ordered.

.
Voting decision: ⪯ B D. Therefore, the result of the node mapping for the nodes (c,d) of the VNR #1 (step 7) is: Node mapping: c -B; d -D.In step 8, the link mapping stage chooses the best path according to the metrics M¼{Hops, BW, CPU,} the corresponding syntheses [•]=[ () () ()] S add min min t , and ordering relation ⪯ = { ≥ ≤ ≤ } , , ML .From B to D, both B-A-D and B-C-D have 2 Both paths are equivalent and for this example the chosen path is B-C-D.From D to B, both D-A-B and D-C-B have 2 hops, but BW min (D-A-B)= < BW 50 min (D-C-B) =200, and, consequently, D-A-B ⪯D-C-B.So the chosen path is D
et al. / Journal of Network and Computer Applications 69 (2016) 14-26 Voting decision:⪯ E A.Proceeding in the same way as before: Node mapping: a -E; e -A; Link mapping: (a, e)-(E-C-A); (e, a)-(A-C-E).

Table 1
Synthesis result of the network given in Fig.3b.

Table 2
Paths ordering of the network given in Fig.3b.
CPU is the total network's available CPU resource; t BW is the total network's available BW resource; CPU(n) is the CPU associated to node n;

Table 3
Bi-directional rank for the initial state of the SN.

Table 14
Parameters chosen for the simulation scenarios.

Table 15
Results obtained with the OPA algorithm.

Table 16
Results obtained with the NPA algorithm.

Table 17
Results obtained with the I-NPA algorithm.