The present disclosure relates generally to network virtualization.
Network infrastructure providers (InPs), such as data center network operators, Internet service providers, and transport network operators are leveraging Network Virtualization (NV) to offer slices of their networks to service providers (SPs). Virtualization of the network allows multiple virtual networks to be embedded onto a single underlying physical network infrastructure. The embedding of virtual networks onto a physical network can increase the resource management requirements of the physical network components. Typical objectives of virtual network embedding include maximizing the number of embedded virtual networks, minimizing the bandwidth provisioning cost on the physical network, etc. However, the benefits from network virtualization come with additional resource management challenges, such as efficiently mapping the virtual nodes and links of a virtual network request onto substrate nodes and paths, respectively.
Survivable virtual network embedding attempts to maintain the embedded virtual networks in the event of failures in the underlying physical network infrastructure. Providing survivable virtual network embedding may use a reactive approach that restores embedded virtual networks in response to failures in the underlying physical network infrastructure. Proactive survivable virtual network embedding approaches may proactively provision the virtual network, or portions of the virtual network, onto redundant or backup physical infrastructure. However, such proactive approaches typically rely on over provisioning of the physical network resources, which can result in increased capital expenditure.
According to an aspect of the application there is provided a method for use in network virtualization that involves jointly optimizing provisioning of backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to reduce consumption of substrate network resources, the backup bandwidth capacity allocated within the virtual network being used upon occurrence of a failure in the substrate network. The method further involves embedding the virtual network and the backup bandwidth capacity within the virtual network.
In some embodiments, jointly optimizing the provisioning of the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises formulating a joint optimization solution as a Quadratic Integer Program (QIP).
In some embodiments, formulating the joint optimization solution as the Quadratic Integer Program comprises formulating a solution to minimize:
wherein û and {circumflex over (v)} are first and second virtual nodes in the virtual network, u and v are first and second nodes in the substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Ê and E are the set of all virtual links in the virtual network and the set of all substrate links in the substrate network, respectively, Cuv is the cost of allocating unit bandwidth for a VLink in SLink (u,v), bû{circumflex over (v)} is a bandwidth between the first and second virtual nodes û and {circumflex over (v)} and Sû{circumflex over (v)} is a spare bandwidth capacity between first and second virtual nodes û and {circumflex over (v)}.
In some embodiments, the method further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
In some embodiments, formulating joint optimization the solution as the Quadratic Integer Program further comprises transforming the Quadratic Integer Program to an Integer Linear Program (ILP).
In some embodiments, transforming the Quadratic Integer Program to the Integer Linear Program comprises formulating the solution to minimize:
wherein û and {circumflex over (v)} are first and second virtual nodes in virtual network, u and v are first and second nodes in substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Ê and E are the set of all virtual links in the virtual network and the set of all substrate links in the substrate network, respectively, Cuv is the cost of allocating unit bandwidth for a VLink for SLink (u,v), bû{circumflex over (v)} is a bandwidth between the first and second virtual nodes û and {circumflex over (v)} and quvû{circumflex over (v)} is an integer variable related to a spare bandwidth capacity between the first and second virtual nodes û and {circumflex over (v)}.
In some embodiments, the method further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
In some embodiments, jointly optimizing the provisioning of the bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises optimizing by obtaining a solution to the joint optimization using a heuristic process.
In some embodiments, jointly optimizing the provisioning of the backup bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises:
for each virtual link between a pair of virtual nodes in the virtual network, allocating spare bandwidth capacity along a non-empty virtual path between the pair of nodes, wherein the back up virtual path is disjoint from a primary virtual link between the pair of nodes such that bandwidth is available between the pair of virtual nodes when the primary virtual link is affected by a substrate link failure in the substrate network;
embedding each virtual node to one substrate node in the substrate network, such that multiple virtual nodes from a same virtual network request are not mapped to a same substrate node;
embedding each virtual link onto a non-empty substrate path having sufficient bandwidth to accommodate a virtual link's primary bandwidth demand and backup spare capacity provisioned on the virtual link; and
disjointedly embedding the primary virtual link and backup virtual links on the backup virtual path to mitigate an effect of substrate link failure of a single link affecting the primary virtual link and the backup virtual links at a same time.
In some embodiments, jointly optimizing the provisioning of the backup bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises:
performing an initial embedding of the virtual network and finding estimated spare backup bandwidth capacity on virtual links in a virtual network for at least one primary virtual link by:
identifying paths consisting of the virtual links allocated for backup bandwidth capacity belonging to different shared risk groups;
re-determining the spare backup bandwidth capacity on the virtual links allocated for backup bandwidth capacity to further optimize the allocation of spare backup bandwidth capacity.
According to an aspect of the application there is provided an apparatus comprising a processor and a processor readable storage device. The processor readable storage device has stored thereon, processor executable instructions that when executed by the processor cause the processor to jointly optimize provisioning of backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to reduce consumption of substrate network resources, the backup bandwidth capacity allocated within the virtual network being used upon occurrence of a failure in the substrate network. The processor executable instructions further cause the processor to embed the virtual network and the backup bandwidth capacity within the virtual network.
According to an aspect of the application there is provided a processor readable storage device, having stored thereon, processor executable instructions that when executed by the processor cause the processor to jointly optimize provisioning of the backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to reduce consumption of substrate network resources, the backup bandwidth capacity allocated within the virtual network being used upon occurrence of a failure in the substrate network. The processor executable instructions further cause the processor to embed the virtual network and the backup bandwidth capacity within the virtual network.
Other aspects and features of embodiments of the present disclosure will become apparent to those ordinarily skilled in the art upon review of the following description.
Examples of embodiments of the disclosure will now be described in greater detail with reference to the accompanying drawings.
Problems related to mapping the virtual nodes and links of a virtual network request onto substrate nodes and paths, respectively, are known as the Virtual Network Embedding (VNE) problem. If a solution to the VNE problem does not take possible substrate failures into account, then substrate failures can result in degraded Quality of Service (QoS) for the VNs, leading to Service Level Agreement (SLA) violations. A VN embedding that can survive substrate failures is known as a Survivable VNE (SVNE).
Prior work on SVNE has focused primarily on proactively or reactively provisioning backup resources. The following are a few examples of such work.
SVNE with Protection at Substrate Network
Early work in the area by Rahman (M. R. Rahman, I. Aib, and R. Boutaba, “Survivable virtual network embedding,” in NETWORKING 2010. Springer, 2010, pp. 40-52) addressed the SVNE problem and formulated the problem as a Mixed Integer Linear Problem. Subsequent research works have addressed different aspects of SVNE such as substrate node (SNode) failure, leverage multi-path embedding, shared backup protection, and dedicated VN topology protection. However, these approaches address problems with the SVNE from an InP's perspective, i.e., the InP provisions backup resources in the SN, disjoint from the primary embedding. Heretofore approaches where the VN can be augmented or equipped with sufficient resources to survive substrate failures have not been explored.
SVNE with Protection at Virtual Network
More recently, an empirical study by Wang et al. (W. Wang et al., “First Demonstration of Virtual Transport Network Services With Multi-layer Protection Schemes over Flexi-grid Optical Networks,” IEEE Comm. Letters, vol. 20, no. 2, pp. 260-263, February 2016) compared different protection schemes for network virtualization (NV) in transport software defined networks (T-SDN). The results show that providing protection just at the VN level can increase VN acceptance ratio. Further work studied a weaker version of SVNE with VN level protection. It was proposed to augment the VN to ensure connectivity during multiple substrate link (SLink) failures. However, the result did not guarantee any bandwidth and allows the VNs to operate in a best effort manner.
Internet Protocol Over Wavelength Divisional Multiplexing (IP-Over-WDM) Network Survivability
While IP-over-WDM survivable routing has been studied, IP-over-WDM networks assume a fixed placement of IP routers in the network, whereas a VN embedding algorithm needs to determine both virtual node (VNode) and virtual link (VLink) mapping. Therefore, solutions from IP-over-WDM cannot be directly applied to issues being addressed in the present application.
The present application provides methods and apparatus for jointly optimizing spare backup capacity allocation in a virtual network and virtual network embedding. In some embodiments, the methods and apparatus may aid in pre-empting the effects of a single substrate link failure. A single link failure scenario is considered as a most probable occurrence. In some embodiments, the methods and apparatus may aid in minimizing a resource provisioning cost in the substrate network. Spare capacity allocation and virtual network embedding, when performed independently of each other, may lead to solutions that are extremely complex or simply not feasible for implementation.
In some embodiments, an optimal solution is obtained by formulating the joint optimization problem as a Quadratic Integer Program (QIP). In some embodiments, the QIP can be transformed to an Integer Linear Program (ILP). These optimal solution formulations can be computationally complex and thus difficult to implement under real-time constraints. In some embodiments, a heuristic solution is proposed that is computationally simpler than the optimal solution and has nominal degradations in comparison.
Network virtualization has evolved as a key enabling technology for offering the next generation of network services. With increasing deployments of virtualized networks in production networks using commodity hardware, virtual network embedding is expected to handle failures in the underlying substrate network. The virtual network embedding described further herein attempts to provide efficient techniques for protection of multiple virtual networks against a single node or link failure without relying on redundant substrate network resources for each of the individual virtual network elements.
In providing the virtual network embedding, the embedding policy of the virtual nodes must satisfy the location constraints of the virtual nodes. Further, each virtual node is mapped to a single physical node. No physical node is shared between multiple virtual nodes from the same virtual network that has been requested to be embedded on the physical network. Each virtual link should be mapped to a set of physical links that satisfy the virtual link's bandwidth requirement.
As depicted, the physical network 112 comprises a plurality of physical nodes A, B, C, D, E, F, G and a number of physical links, depicted as lines, connecting the nodes A, B, C, D, E, F, G. Each of the physical links has an associated bandwidth capacity, which may differ from link to link. In addition to the bandwidth capacity, each link may also have an associated cost for providing a unit of bandwidth.
The virtual network description 114 may describe the topology and constraints of the virtual network to be embedded onto the physical network 112. As depicted, the virtual network description 114 comprises three virtual nodes a, b, c connected by virtual links each having a bandwidth requirement. Additionally, the virtual network description includes location constraints for each of the virtual nodes. As depicted, the location constraint set for virtual node a is {A,B,C}, indicating that virtual node a must be provisioned on one of physical nodes A, B or C. Similarly, the virtual node b must be provisioned on physical node C or D, and virtual node c must be provisioned on physical node E, F or G.
In a particular example, the requested virtual network is embedded such that virtual node a is provisioned on physical node A, virtual node b is provisioned on physical node C, and virtual node c is provisioned on physical node G.
The joint backup and virtual network embedding functionality 110 generates a virtual network mapping 116 providing both primary bandwidth and backup bandwidth demands of the Virtual Network are met.
In the following description, a physical network is represented as an undirected graph G=(V,E) where V and E are the set of physical nodes and links, respectively. Each physical link l(u,v) between two physical nodes u and v has a bandwidth capacity buv and a cost Cuv for allocating unit bandwidth on the physical link when provisioning a virtual link. It is assumed that the SNodes are network nodes with sufficient capacity to switch traffic at peak rate between any pair of ports. Therefore, no node mapping cost or node capacity constraint is considered. The set of neighbors of each physical node is represented by N(u). A virtual network is represented by an undirected graph Ĝ=({circumflex over (V)},Ê), where {circumflex over (V)} and Ê are the set of virtual nodes and virtual links respectively. The set of neighbors of each physical node is represented by N({circumflex over (v)}). Each virtual link l(û,{circumflex over (v)}) between virtual nodes û and {circumflex over (v)} has a bandwidth requirement bû{circumflex over (v)}. Each virtual node û has a location constraint set L(û) of physical nodes such that a virtual node û can only be provisioned on a physical node u belonging to the set L(û). We assume the virtual networks are 2-edge connected, i.e., at least two disjoint paths exist between any two virtual nodes.
Given a substrate network G=(V,E), a virtual network VN Ĝ=({circumflex over (V)},Ê), and a set of location constraints L, it is possible to jointly optimize backup bandwidth capacity for a virtual network and embed the virtual network on a substrate network. Steps involved in the optimizing and embedding process may include, but are not limited to:
for each VLink (û,{circumflex over (v)})∈Ê, optimally allocate spare bandwidth along a non-empty path Pû,{circumflex over (v)} in the virtual network (VPath), disjoint from (û,{circumflex over (v)}) such that bû,{circumflex over (v)} bandwidth is available between VNodes û and {circumflex over (v)} even after (û,{circumflex over (v)}) is affected by a substrate link failure;
embed each VNode û∈{circumflex over (V)} to exactly one SNode, u∈V, multiple VNodes from the same VN request should not be mapped to the same SNode;
embed each VLink (û,{circumflex over (v)})∈Ê onto a non-empty substrate path (SPath) Pû,{circumflex over (v)} having sufficient bandwidth to accommodate the primary demand and backup spare capacity provisioned on (û,{circumflex over (v)}); and
disjointly embed a VLink (û,{circumflex over (v)})∈Ê and the VLinks on its backup VPath {circumflex over (P)}û,{circumflex over (v)} to mitigate the effect of a single SLink failure.
It is desired that the total cost of allocating bandwidth on the SN to embed the VN along with the spare capacity is minimized.
VLinks that share at least one SLink on their embedding share the risk of failure since all of the VLinks can fail if the shared SLink fails. A set of VLinks belong to the same Shared Risk Group (SRG) if and only if they share at least one SLink on their embedding. On the other hand, VLinks that do not share any SLink on their embedding belong to different SRGs. To represent SRG memberships, the VLinks are partitioned into a number of SRGs represented by the set D={d1, d2, d3, . . . , d|D|}, where |D|≤|Ê|. A VLink belongs to exactly one SRG di∈D and shares at least one SLink on the VLink's embedding with other VLinks in di. The following decision variable can be used to decide on a VLink's membership to an SRG:
Based on how the VLinks form different SRGs after embedding, the requirement for spare backup capacity on the VLinks can be different. This can be explained with a simple example. In
All Three Belong to the Same SRG
If all three VLinks are in the same SRG, then the three VLinks share at least one physical link between their substrate embedding path. This is shown in
All Three Belong to Different SRG
If all three VLinks belong to different SRGs, then they do not share any SLink between their substrate embedding paths. This is shown in
Two Belong to the Same SRG, the Third in a Different SRG
The substrate embedding can create multiple SRGs out of these three VLinks. An example of this is shown in
More formally, if a VLink (û,{circumflex over (v)})∈Ê, is present on the backup VPath for a set of VLinks û,{circumflex over (v)}⊆Ê, and VLinks in Ê form a set of D={d1, d2, d3, . . . d|D|} SRGs, the spare bandwidth allocation on (û,{circumflex over (v)}) can be generalized as:
Decision Variables
For each virtual link VLink (û,{circumflex over (v)})∈Ê, there is a VPath Pû,{circumflex over (v)} that provides protection to that VLink from single SLink failure. When any SLink on the VLink's embedding fails, the protection path provides the same bandwidth bû,{circumflex over (v)} between the VNodes û and {circumflex over (v)}. The following decision variable defines whether a VLink (û,{circumflex over (v)})∈Ê belongs to the VPath protecting a VLink ({circumflex over (x)},ŷ)∈Ê:
Note that, xû{circumflex over (v)}û{circumflex over (v)}=0, since a VLink's backup VPath has to be edge disjoint from itself.
The following decision variable indicates the mapping between a VLink (û,{circumflex over (v)})∈Ê and an SLink (u,v)∈E:
The following decision variable represents the virtual node mapping:
VLinks that share at least one SLink in their embedding belong to the same SRG. SRG membership is defined using the decision variable diû{circumflex over (v)} as defined above.
Constraints
Types of constraints involved in the optimization include virtual node mapping constraints, backup virtual path continuity constraints, virtual link mapping constraints and disjointedness constraints, each of which will be discussed in further detail below.
Virtual Node Mapping Constraints
Expressions (2) and (3) below ensure that VNodes from a single VN are provisioned on single SNodes satisfying provided location constraints. Moreover, expression (4) ensures that an SNode does not host more than one VNode from the same VN.
VNode embedding follows from the VLink embedding, since there is no cost associated with VNode embedding.
Backup VPath Continuity Constraints
A VLink in a VN is protected by a VPath in the VN to survive single SLink failure. The following constraint (expression (5))_ensures continuity of a backup VPath protecting a VLink ({circumflex over (x)},ŷ)∈Ê:
VLink Mapping Constraints
First, every VLink is mapped to a non-empty set of SLinks using expression (6). Then, the in-flow and out-flow of each SNode is set to be equal, except for the nodes where the endpoints of a VLink are mapped using expression (7). Expression (7) ensures that a non-empty set of SLinks corresponding to a VLink's mapping forms a single continuous SPath.
The binary nature of the VLink mapping decision variable and the flow constraint prevents any VLink from being mapped onto more than one SPaths, thus, restricting the VLink mapping to a Multi-commodity Unsplittable Flow Problem. To be able to provide adequate backup capacity the resources on the SLinks should not be over-committed. Therefore, the spare bandwidth allocated to a VLink(û,{circumflex over (v)})∈Ê that serves as a backup for other VLinks is computed. The spare bandwidth allocated to a VLink (û,{circumflex over (v)})∈Ê is represented by Sû{circumflex over (v)} and expression (1) is used to define Sû{circumflex over (v)} as follows in expression (8):
Then, the following constraint (expression (9)) prevents any over-commit of the bandwidth resource in the SLinks:
Expression (9) is a cubic constraint, since Sû{circumflex over (v)} is quadratic according to expression (8). The following steps are taken to linearize the definition of Sû{circumflex over (v)} to ensure that the constraint expression (9) remains quadratic. First, a new variable g{circumflex over (x)}ŷû{circumflex over (v)}(i) is defined as follows:
Essentially, for a given VLink (û,{circumflex over (v)})∈Ê, the zero values of g{circumflex over (x)}ŷû{circumflex over (v)}(i) induces a set of VLinks such that the VLinks belong to the same SRG and have virtual nodes (û,{circumflex over (v)}) on their backup virtual path. The value of g{circumflex over (x)}ŷû{circumflex over (v)}(i) is set using the following constraint as shown expression (10):
∀(û,{circumflex over (v)})∈{circumflex over (E)},∀({circumflex over (x)},ŷ)∈Ê,∀di∈D:z{circumflex over (x)}ŷû{circumflex over (v)}+di{circumflex over (x)}ŷ+g{circumflex over (x)}ŷû{circumflex over (v)}≤2 (10)
Now expression (8) can be rewritten in a linear form using the variable g{circumflex over (x)}ŷû{circumflex over (v)}(i) as follows in expression (11):
Since a resulting objective function is a minimization function, g{circumflex over (x)}ŷû{circumflex over (v)}(i) is defined so that setting g{circumflex over (x)}ŷû{circumflex over (v)}(i) to 1 minimizes the value of Sû{circumflex over (v)}, unless it is constrained to be 0 according to expression (10). This constrained case will only occur when both z{circumflex over (x)}ŷû{circumflex over (v)} and di{circumflex over (x)}ŷ are 1, as defined by expression (10).
Disjointedness Constraints
The mappings of the VLinks from an SRG di are disjoint from the mappings of the VLinks from a different SRG dj(∀j≠i). This is ensured by expression (12) below. Expression (13) ensures that two VLinks from the same SRG share at least one SLink in their mappings. Note that a VLink (û,{circumflex over (v)})∈Ê cannot be present in more than one SRG, which is ensured by expression (14).
To ensure survivability of the VN under single SLink failure, the mapping of a VLink cannot share any SLink with the mappings of the VLinks present on its backup VPath. The following constraint (expression (15)) ensures this disjointedness:
∀(u,v)∈E,∀((û,{circumflex over (v)}),({circumflex over (x)},ŷ))∈Ê×Ês.t.(û,{circumflex over (v)})≠({circumflex over (x)},ŷ);zû{circumflex over (v)}{circumflex over (x)}ŷ+xuvû{circumflex over (v)}+xvuû{circumflex over (v)}+xuv{circumflex over (x)}ŷ+xvu{circumflex over (x)}ŷ≤2 (15)
It is desired to minimize the cost of provisioning bandwidth on the physical links. Accordingly, the objective function of expression (15) will provide a solution for the embedding in the form of expression (16).
The formulation for the joint optimization problem has a quadratic constraint as shown in expression (9) and a quadratic objective function as shown in expression (16). Presented below is a manner of linearizing the QIP by transforming the QIP into an Integer Linear Program (ILP).
For the purpose of linearization, a bound is placed on the spare bandwidth of a VLink (û,{circumflex over (v)})∈Ê i.e., Sû{circumflex over (v)}: 0≤Sû{circumflex over (v)}≤λ where λ is a very large integer. A new integer variable quvû{circumflex over (v)}, is introduced that is defined in terms of xuvû{circumflex over (v)} as follows:
The following constraints (expressions (17) and (18)) enforce the relationship between quvû{circumflex over (v)} and xuvû{circumflex over (v)}:
∀(u,v)∈E,∀(û,{circumflex over (v)})∈Ê:quvû{circumflex over (v)}≥0 (17)
∀(u,v)∈E,∀(û,{circumflex over (v)})∈Ê:Sû{circumflex over (v)}−λ×(1−xuvû{circumflex over (v)})≤quvû{circumflex over (v)} (18)
To elaborate, when xuvû{circumflex over (v)}=0, constraint expressions (17) and (18) become quvû{circumflex over (v)}≥0 and Sû{circumflex over (v)}−λ≤quvû{circumflex over (v)}, respectively. Since λ is a very large number by definition, the constraints finally reduce to quvû{circumflex over (v)}≥0. On the other hand, when xuvû{circumflex over (v)}=1, constraint expressions (17) and (18) become quvû{circumflex over (v)}≥0 and Sû{circumflex over (v)}≤quvû{circumflex over (v)}, respectively. In this later case, constraint expression (18), i.e., Sû{circumflex over (v)}≤quvû{circumflex over (v)} dominates. Finally, quvû{circumflex over (v)} is included in the minimization objective function and the smallest possible value of quvû{circumflex over (v)} will be used to minimize the value of the objective function yielding quvû{circumflex over (v)}=Sû{circumflex over (v)}. The capacity constraint expression (9) can be re-written in the form of expression (19) as a linear constraint using quvû{circumflex over (v)}.
Similarly, the quadratic objective function can be written in a linearized form as expression (20):
There are several challenges in implementing a heuristic for the joint optimization of spare backup capacity allocation and embedding problem. Several non-limiting examples of such problems include selection of backup VPath, VNode embedding and disjoint SPath computation.
A first challenge in implementing the heuristic is the selection of a backup VPath from an exponential number of VPaths.
A further challenge comes from VNode embedding. The order of VNode embedding and the embedding itself have a profound impact on subsequent VLink embedding. Care must be taken while choosing an SNode for a VNode to avoid incurring a high cost embedding. Although no cost is being considered for VNode embedding, the VNode embedding directly influences the possible SPaths that can be chosen for the incident VLinks on the VNode, which subsequently impacts the cost of a solution. This makes the VNode embedding a combinatorial optimization problem. In some embodiments, the VNodes are embedded from the most constrained to the least constrained, to minimize chances of embedding failure at a later stage due to resource exhaustion. The constraint of a VNode may be measured by its nodal degree i.e., |N(û)|.
VLink embedding in an unsplittable SPath without the disjointedness constraints is at least as hard as solving a NP-Hard Multi-commodity Unsplittable Flow Problem. In some embodiments, the disjoint SPaths are iteratively computed using a modified version of Dijkstra's shortest path algorithm.
Initially, the estimated spare bandwidth of each VLink, Sû{circumflex over (v)}est is initialized to 0 and all of the VLinks are set to a single SRG d1. Then the VNodes are embedded from the most constrained to the least constrained ones, i.e., in decreasing order of the VNodes' degrees. For a VNode û, the algorithm of
After computing the estimated backup VPath backupû{circumflex over (v)}est, the algorithm of
The last phase of the heuristic solution includes the use of a further algorithm shown in
At step 540, a possible SNode (l) is selected from a set of SNodes. In step 545, a VLink (û,{circumflex over (v)}) is selected incident to VNode û. At step 550, the SLinks used by the mapping of the VLinks belonging to other SRGs are removed. Step 555 is another decision step. It is determined if VNode {circumflex over (v)}, which is a neighbor node of VNode û, is mapped to a substrate node x. If VNode {circumflex over (v)} is mapped to x (Y path), then the method advances to step 560. If VNode {circumflex over (v)} is not mapped to x (N path), then the method advances to step 565.
At step 560, the constrained weight shortest path (CWSP) is determined from SNode l to x. In step 565, the CWSP is determined from SNode l to all possible SNode y for VNode {circumflex over (v)} and from all of the determined CWSP that are determined, a CWSP having the minimum cost value is selected. Both of steps 560 and 565 lead to step 570. Step 570 is a further decision step. In step 570, it is determined if there are any additional VLinks incident to VNode û. If there are additional VLinks incident to VNode û (Y path), then the method advances to step 545. If there are no additional VLinks incident to VNode û (No path), then the method advances to step 575.
Step 575 is another decision step. In step 575 it is determined if there are any additional SNodes from the location set. If there are additional SNodes (Y path), then the method advances to step 540. If there are no additional SNodes (N path), the method advances to step 580.
In step 580, VNode û is mapped to the SNode with the least cost and VLink (û,{circumflex over (v)}) is mapped to a least cost path if VNode {circumflex over (v)} is already mapped.
Step 585 is another decision step. In step 585 it is determined if there are additional VNode û in the set V. If there are additional VNode û in the set V (Y path), then the method advances to step 515. If there are no additional VNode û in the set V (N path), then the method advances to step 590.
In step 590, the backup path and spare capacity allocation are updated. This substantially corresponds to the function in the pseudocode of
The examples of
The example method 600 is intended for illustrative purposes. Other embodiments could involve performing the illustrated operations in any of various ways, performing fewer or additional operations, and/or varying the order in which operations are performed. Other variations could be or become apparent to a skilled person based on the present disclosure.
The embodiments described with reference to
In some embodiments, the processor may be a component of a general-purpose computer hardware platform. In other embodiments, the processor may be a component of a special-purpose hardware platform. For example, the processor may be an embedded processor, and the instructions may be provided as firmware. Some embodiments may be implemented by using hardware only. In some embodiments, the instructions for execution by a processor may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be, for example, a compact disc read-only memory (CD-ROM), universal serial bus (USB) flash disk, or a removable hard disk.
The device in
The proposed solutions described above have been evaluated for the joint optimization problem through extensive simulations. The evaluation results focus on the following aspects: (i) impact of SN, (ii) impact of VN, and (iii) scalability of the solutions.
It is noted that an Optimized-ILP (Opt-ILP) solution may be unable to scale beyond very small problem instances. Therefore, a simpler variant of Opt-ILP solution, herein referred to as Max-ILP, was used as a baseline. Opt-ILP places the VLinks in û{circumflex over (v)} into separate SRGs whenever possible, thus preferring more sharing of the spare backup capacity.
û{circumflex over (v)} is the set of VLinks of the VN that contain VLink (û,{circumflex over (v)}) in their backup VPaths. Hence, any pair of VLinks in
û{circumflex over (v)} is constrained to be in separate SRGs during the embedding. In performing the simulation, this allowed the decision variable di{circumflex over (x)}ŷ from expression (8) to be excluded and reduce complexity. For Max-ILP, expression (8) was modified to take the maximum demand of the VLinks in
û{circumflex over (v)} as Sû{circumflex over (v)}.
The proposed solutions were evaluated for both small and large scale settings. For each simulation run, an SN and 5 random VNs were generated with the desired property, for example a number of nodes (size) and a pre-specified link to node ratio (LNR). In small scale, SN size was varied between 20 and 100 nodes, while VN size ranged from 3 to 11 nodes. In large scale, VN size ranged from 10 to 100 nodes on 500 and 1000 node SNs. The connectivity of both SNs and VNs was varied by varying the LNR from 1.0 to 3.0. The VLink demand was set to be 10% of the SLink bandwidth. For each SN, the performance metrics were measured by taking the mean over all 5 VNs. Simulations were performed on a machine with 2×8-core 2.0 Ghz Intel Xeon E5-2650 processors and 256 GB of RAM.
The performance metrics considered were as follows:
1) Cost: The cost of embedding a VN computed using expression (20). A unit cost was set for allocating bandwidth on an SLink, therefore, expression (20) directly represents resource consumption.
2) Execution Time: The time required for an algorithm to find an embedding of a VN.
3) Mean SPath Length: The mean length of the SPath used to embed a VLink of a VN.
4) Mean VPath Length: The mean length of the VPath used as a backup path for a VLink in a VN.
In a first example implementation, there is a method for use in network virtualization comprising: jointly optimizing provisioned backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to aid in reducing substrate network resources for backup bandwidth capacity during a failure in the substrate network, the backup bandwidth capacity being allocated within the virtual network; and embedding the virtual network and the backup bandwidth capacity within the virtual network.
According to an embodiment of the first example, optimizing the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises joint optimization by formulating a solution as a Quadratic Integer Program (QIP).
According to an embodiment of the first example, obtaining the jointly optimal solution as the Quadratic Integer Program comprises formulating a solution to minimize:
Σ∀(û,{circumflex over (v)})∈ÊΣ∀(u,v)∈Exuvû{circumflex over (v)}×Cuv×(bû{circumflex over (v)}+Sû{circumflex over (v)}).
wherein û and {circumflex over (v)} are virtual nodes in virtual network, u and v are nodes in substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Cuv is the cost of allocating unit bandwidth for a VLink in SLink (u,v), bû{circumflex over (v)} is bandwidth between virtual nodes û and {circumflex over (v)} and Sû{circumflex over (v)} is the spare bandwidth capacity between virtual nodes û and {circumflex over (v)}.
According to an embodiment of the first example, the method further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
∀(u,v)∈E:Σ∀(û,{circumflex over (v)})∈Êxuvû,{circumflex over (v)}×(bû{circumflex over (v)}+Sû{circumflex over (v)})≤buv.
According to an embodiment of the first example, formulating the solution as the Quadratic Integer Program further comprises transforming the Quadratic Integer Program to an Integer Linear Program (ILP).
According to an embodiment of the first example, transforming the Quadratic Integer Program to the Integer Linear Program comprises formulating the solution to minimize:
wherein û and {circumflex over (v)} are virtual nodes in virtual network, u and v are nodes in substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Cuv is the cost of allocating unit bandwidth for a VLink for SLink (u,v), bû{circumflex over (v)} is bandwidth between virtual nodes û and {circumflex over (v)} and quvû{circumflex over (v)} is an integer variable related to the spare bandwidth capacity between virtual nodes û and {circumflex over (v)}.
According to an embodiment of the first example, the method further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
∀(u,v)∈E:Σ∀(û,{circumflex over (v)})∈Êxuvû,{circumflex over (v)}×bû{circumflex over (v)}+quvû{circumflex over (v)}≤buv.
According to an embodiment of the first example, jointly optimizing the bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises optimizing by obtaining a solution to the joint optimization using a heuristic.
According to an embodiment of the first example, jointly optimizing the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises: for each virtual link between a pair of virtual nodes in the virtual network, allocating spare bandwidth capacity along a non-empty backup virtual path also between the pair of virtual nodes, wherein the backup virtual path that is disjoint from a primary virtual link between the pair of virtual nodes such that the spare bandwidth is available between the pair of virtual nodes when the primary virtual link is affected by a substrate link failure in the substrate network; embedding each virtual node to one substrate node in the substrate network, such that multiple virtual nodes from a same virtual network request are not mapped to a same substrate node; embedding each virtual link onto a non-empty substrate path having sufficient bandwidth to accommodate a virtual link's primary bandwidth demand and backup spare capacity provisioned on the virtual link; and disjointedly embedding the primary virtual link and backup virtual links on the backup virtual path to mitigate an effect of substrate link failure of a single link affecting the primary virtual link and the backup virtual links at a same time.
According to an embodiment of the first example, jointly optimizing the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises: performing an initial embedding of the virtual network and finding estimated spare backup bandwidth capacity on virtual links in the virtual network for at least one primary virtual link by: finding a backup virtual path for each primary virtual link incident to a virtual node û and estimating spare backup bandwidth capacity on the virtual link belonging to the path; determining disjointedness requirements based on the estimated spare backup bandwidth capacity; embedding the virtual node û to a substrate node incurring least cost of embedding for the virtual links incident to û; embedding the virtual links incident to the virtual node û on a substrate path having sufficient bandwidth to serve a primary bandwidth demand of the virtual link and estimated spare backup capacity; identifying paths consisting of the virtual links allocated for backup bandwidth capacity belonging to different shared risk groups; and re-computing the spare backup bandwidth capacity on the virtual links allocated for backup bandwidth capacity to further optimize the allocation of spare backup bandwidth capacity.
In a second example implementation, there is an apparatus comprising: a processor; and a processor readable storage device, having stored thereon, processor executable instructions that when executed by the processor cause the processor to: jointly optimize provisioned backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to aid in reducing substrate network resources for backup bandwidth capacity during a failure in the substrate network, the backup bandwidth capacity being allocated within the virtual network; embed the virtual network and the backup bandwidth capacity within the virtual network jointly optimizing backup bandwidth capacity for a virtual network and embedding the virtual network on a substrate network, the backup bandwidth capacity being allocated within the virtual network.
According to an embodiment of the second example, optimizing the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises joint optimization by formulating a solution as a Quadratic Integer Program (QIP).
According to an embodiment of the second example, obtaining the jointly optimal solution as a Quadratic Integer Program comprises formulating a solution to minimize the expression:
wherein û and {circumflex over (v)} are virtual nodes in virtual network, u and v are nodes in substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Cuv is the cost of allocating unit bandwidth for a VLink in SLink (u,v), bû{circumflex over (v)} is bandwidth between virtual nodes û and {circumflex over (v)} and Sû{circumflex over (v)} is the spare bandwidth capacity between virtual nodes û and {circumflex over (v)}.
According to an embodiment of the second example, the apparatus further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
∀(u,v)∈E:Σ∀(û,{circumflex over (v)})∈{right arrow over (E)}xuvû,{circumflex over (v)}×(bû,{circumflex over (v)}+Sû,{circumflex over (v)})≤buv.
According to an embodiment of the second example, formulating the solution as the Quadratic Integer Program further comprises transforming the Quadratic Integer Program to an Integer Linear Program (ILP).
According to an embodiment of the second example, transforming the Quadratic Integer Program to the Integer Linear Program comprises formulating the solution to minimize the expression:
Σ∀(û,{circumflex over (v)})∈ÊΣ∀(u,v)∈Exuvû{circumflex over (v)}×Cuv×bû{circumflex over (v)}+Cuv×quvû{circumflex over (v)}.
wherein û and {circumflex over (v)} are virtual nodes in virtual network, u and v are nodes in substrate network, xuvû{circumflex over (v)} is a mapping between a virtual link VLink(û,{circumflex over (v)})∈Ê and a substrate link SLink(u,v)∈E, Cuv is the cost of allocating unit bandwidth for a VLink in SLink(u,v), bû{circumflex over (v)} is bandwidth between virtual nodes û and {circumflex over (v)} and quvû{circumflex over (v)} is an integer variable related to the spare bandwidth capacity between virtual nodes û and {circumflex over (v)}.
According to an embodiment of the second example, the apparatus further comprises pre-empting over-commitment of the bandwidth by using a constraint defined by:
∀(u,v)∈E:Σ∀(û,{circumflex over (v)})∈Êxuvû,{circumflex over (v)}×bû,{circumflex over (v)}+quvû{circumflex over (v)}≤buv.
According to an embodiment of the second example, jointly optimizing the bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises jointly optimizing by formulating a solution to the joint optimization using a heuristic.
According to an embodiment of the second example, jointly optimizing the backup bandwidth capacity for the virtual network and embedding the virtual network on the substrate network comprises: for each virtual link between a pair of virtual nodes in the virtual network, allocating spare bandwidth capacity along a non-empty backup virtual path also between the pair of virtual nodes, wherein the backup virtual path is disjoint from a primary virtual link between the pair of virtual nodes such that the spare bandwidth is available between the pair of virtual nodes when the primary virtual link is affected by a substrate link failure in the substrate network; embedding each virtual node to one substrate node in the substrate network, such that multiple virtual nodes from a same virtual network request are not mapped to a same substrate node; embedding each virtual link onto a non-empty substrate path having sufficient bandwidth to accommodate a virtual link's primary bandwidth demand and backup spare capacity provisioned on the virtual link; and disjointedly embedding the primary virtual link and backup virtual links on the backup virtual path to mitigate an effect of substrate link failure of a single link affecting the primary virtual link and the backup virtual links at a same time.
According to an embodiment of the second example, jointly optimizing the backup bandwidth capacity for the virtual network and embedding of the virtual network on the substrate network comprises: performing an initial embedding of the virtual network and finding estimated spare backup bandwidth capacity on virtual links in the virtual network for at least one primary virtual link by: finding a backup virtual path for each primary virtual link incident to a virtual node û and estimating spare backup bandwidth capacity on the virtual link belonging to the path; determining disjointedness requirements based on the estimated spare backup bandwidth capacity; embedding the virtual node û to a substrate node incurring least cost of embedding for the virtual links incident to û; embedding the virtual links incident to the virtual node û on a substrate path having sufficient bandwidth to serve a primary bandwidth demand of the virtual link and estimated spare backup capacity; identifying paths consisting of the virtual links allocated for backup bandwidth capacity belonging to different shared risk groups; re-computing the spare backup bandwidth capacity on the virtual links allocated for backup bandwidth capacity to further optimize the allocation of spare backup bandwidth capacity.
According to an embodiment of the second example, the apparatus is further configured to receive virtual node descriptions constraints, and physical network descriptions.
In a third example implementation, there is a processor readable storage device, having stored thereon, processor executable instructions that when executed by the processor cause the processor to: jointly optimize provisioned backup bandwidth capacity for a virtual network and embedding of the virtual network on a substrate network to aid in reducing substrate network resources for backup bandwidth capacity during a failure in the substrate network, the backup bandwidth capacity being allocated within the virtual network; and embed the virtual network and the backup bandwidth capacity within the virtual network.
The previous description of some embodiments is provided to enable any person skilled in the art to make or use an apparatus, method, or processor readable medium according to the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles of the methods and devices described herein may be applied to other embodiments. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The present application claims priority to U.S. Provisional Patent Application No. 62/368,936, filed on Jul. 29, 2016, the entirety of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
20020187770 | Grover et al. | Dec 2002 | A1 |
20100157807 | Csaszar | Jun 2010 | A1 |
20110225277 | Freimuth et al. | Sep 2011 | A1 |
20110246647 | Marquezan | Oct 2011 | A1 |
20120014284 | Ranganathan et al. | Jan 2012 | A1 |
20170078152 | Ahmed | Mar 2017 | A1 |
Number | Date | Country |
---|---|---|
2480094 | Nov 2003 | CA |
2904634 | Oct 2014 | CA |
Entry |
---|
Burkard et al., The Quadratic Assignment Problem., 2013, Springer Science & Business Media. vol. 1, p. 1-71. (Year: 2013). |
P. Demeester, et al., “Resilience in Multilayer Networks,” IEEE Comm. Magazine, Aug. 1999, pp. 70-76, vol. 37, No. 8. |
R. Burkard, et al, The Quadratic Assignment Problem: Theory and Algorithms. Springer Science & Business Media, 2013, pp. 1-71, vol. 1. |
M. Oral, et al, “A Linearization Procedure for Quadratic and Cubic Mixed-Integer Problems,” Operations Research, Operations Research Society of America, Jan.-Feb. 1992, pp. S109-S116, vol. 40, No. 1—supplement-1, USA. |
R. Asthana, et al., “p-Cycles: An Overview,” IEEE Comm. Surveys & Tutorials, 2010, pp. 97-111, vol. 12, No. 1. |
E. W. Dijkstra, “A Note on Two Problems in Connexion with Graphs,” Numerische Mathematik, 1959, pp. 269-271, vol. 1, No. 1. |
N. Shahriar et al., “Joint Backup Capacity Allocation and Embedding for Survivable Virtual Networks,” In Proceedings of IFIP Networking 2017. |
W. Wang et al., “First Demonstration of Virtual Transport Network Services With Multi-layer Protection Schemes Over Flexi-Grid Optical Networks,” IEEE Communications Letters, Feb. 2016, pp. 260-263, vol. 20, No. 2. |
Number | Date | Country | |
---|---|---|---|
20180034696 A1 | Feb 2018 | US |
Number | Date | Country | |
---|---|---|---|
62368936 | Jul 2016 | US |