Computer Networks 55 (2011) 1011–1023
Contents lists available at ScienceDirect
Computer Networks journal homepage: www.elsevier.com/locate/comnet
Virtual network provisioning across multiple substrate networks Ines Houidi, Wajdi Louati ⇑, Walid Ben Ameur, Djamal Zeghlache Telecom SudParis, 9 rue Charles Fourier, 91011 Evry, France
a r t i c l e
i n f o
Article history: Available online 19 December 2010 Keywords: Future internet Network virtualization Virtual network provisioning Request splitting and embedding
a b s t r a c t This paper addresses the provisioning of virtual resources in future networks relying on the Infrastructure as a service principle. Exact and heuristics optimization algorithms for the provisioning of virtual networks involving multiple infrastructure providers are presented. The study assumes the emergence of new actors such as virtual network providers acting as brokers requesting virtual resources on behalf of users. Resource matching, splitting, embedding and binding steps required for virtual network provisioning are proposed and evaluated. Splitting of the virtual network provisioning request across multiple infrastructure providers is solved using both max-flow min-cut algorithms and linear programming techniques. Virtual network embedding is formulated and solved as a mixed integer program with the aim of decreasing embedding cost for infrastructure providers while increasing the acceptance ratio of requests. Performance of the splitting and embedding algorithms is reported. Ó 2010 Elsevier B.V. All rights reserved.
1. Introduction Network virtualization has recently been considered as an enabler for a polymorphic future Internet that can ensure sharing of resources, coexistence of heterogeneous network architectures on the same substrate and diversification of the networks themselves [1–9]. Network virtualization provides separate logical networking environments, called virtual networks, over a shared substrate network. Each virtual network (VN) is seen as a group of virtual nodes (e.g. virtual routers) interconnected via dedicated virtual links (e.g. Layers 2 or 3 tunnels). Virtualization has also the advantage of allowing the emergence of new actors and business roles. This work assumes the existence of users requesting VNs from VN providers [10,8] (known also as connectivity providers [11]) acting as brokers seeking and aggregating resources offered by infrastructure providers (InfPs) [7]. The VN providers and InfPs are responsible for provisioning and ⇑ Corresponding author. E-mail addresses:
[email protected] (I. Houidi), wajdi.louati@ it-sudparis.eu (W. Louati),
[email protected] (W. Ben Ameur),
[email protected] (D. Zeghlache). 1389-1286/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2010.12.011
offering wide-area VNs for users (e.g. service providers). VN provisioning occurs in three main phases: resource matching, embedding and binding. Existing proposals [3,4,12–18] focus only on the VN embedding step and do so in rather generic scenarios where only one InfP is involved. To date, there are no known research studies in the literature that address the overall VN provisioning process across multiple infrastructure providers. Efficient methods to create VNs that span multiple substrate networks can enable coalitions and cooperation of providers and enable for instance deployment of multimedia services (like Voice over IP, Online Gaming and IPTV services) over multiple network domains. One solution is to run the multimedia services on virtual networks with dedicated resources (processing, bandwidth and storage) spanning multiple network infrastructures while ensuring end-to-end control, routing, QoS and security in order to benefit from virtual resources originating from cooperating providers or coalitions. This work extends the VN provisioning to the multiple InfPs case. The scenario of one VN provider trading with multiple InfPs to acquire virtual resources and compose them into the desired VN is presented. The contribution of this paper is twofold. First, exact and heuristic
1012
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
algorithms are proposed and evaluated to efficiently split VN requests over multiple InfPs while reducing the cost. In the case where two InfPs are involved, the VN request splitting problem, shown to be NP hard, is exactly solved using a max-flow/min-cut approach under some reasonable assumptions. In the multiple (more than two) InfPs case, the splitting problem is solved using two approaches: heuristic algorithm (recursive max-flow min-cut) and exact solution (using linear programming techniques [27]). Second, an exact embedding algorithm is developed and evaluated to ensure simultaneous node and link mappings. In contrast to the heuristic embedding algorithms proposed in [12–18], our exact algorithm provides exact and optimal embedding while reducing the cost for InfPs. The proposed embedding solution is formulated as a mixed integer program [27]. A mathematical model for VN provisioning is provided in Section 2. Section 3 explores the resource matching phase of the VN provisioning process. Conceptual clustering techniques combined with exact and heuristic methods are proposed to find the optimal request splitting across multiple InfPs. Section 4 addresses the VN embedding phase and provides an exact embedding solution to simultaneously assign virtual nodes and links to substrate resources. In each section performance results are reported in terms of time delay and cost. 2. VN provisioning model Upon receiving VN requests from users, the VN providers in co-operation with the InfPs are responsible for provisioning the VNs through matching, embedding and allocating available substrate resources to set up the required VNs. This section describes the general VN provisioning problem in the presence of multiple InfPs. 2.1. Substrate network model A substrate network can be represented by a weighted undirected graph Gs = (Ns, Ls), where Ns is the set of substrate nodes and Ls is the set of substrate links. GInfP is used s to denote a substrate Gs owned and managed by the InfP. The InfPs should describe their substrate nodes ns 2 Ns and substrate links ls 2 Ls to inform VN providers on available resources properties and constraints. Substrate resources are described in terms of functional and non-functional attributes: Functional attributes: define characteristics and properties of the substrate resources ns and ls including static parameters like node type (e.g. router, switch), node processor type and capacity (e.g. CPU, network processor), link/path type (e.g. VLAN, L3/L2 VPN), network interface type and number, geographic location, cost and so on. Non-functional attributes: specify criteria and constraints related to the substrate resources including dynamic (real-time) parameters like available node capacity (CPU), available link capacity (bandwidth), actual QoS parameters, geographic coordinates, etc.
Let Ans denote the available capacity of the node ns and let Als denote the available bandwidth capacity associated to the link ls. u is used to denote a substrate path between two substrate nodes. The available bandwidth capacity Au associated with a substrate path u can be evaluated as the minimal residual bandwidth of the links along the substrate path so that Au ¼ minls 2u Als . 2.2. VN request model This section models the VN requests expressed by VN users and sent to VN providers. The VN request is a set of virtual nodes interconnected via virtual links. The VN request topology is represented by a weighted undirected graph Gv = (Nv, Lv), where Nv is the set of required virtual nodes and Lv is the set of required virtual links. Each virtual node nv 2 Nv is associated with a minimum required capacity denoted by tnv as well as a set of node requirements (e.g. node type, location). Each virtual link lv 2 Lv is associated with a minimum required bandwidth capacity denoted by tlv as well as a set of link requirements (e.g. link type, QoS). 2.3. VN provisioning problem formulation The VN provider and InfPs are responsible for provisioning VNs at different levels of abstractions according to their roles. The InfPs should first publish the static (or functional) attributes of their available resources to the VN providers. The non-functional attributes will not be advertised since such dynamic attributes require real-time monitoring and should be kept up to date by the InfPs. Upon receiving a VN request Gv, the VN provider relies on the advertised static attributes to identify candidate substrate resources able to match the request at a high level of abstraction. In the multiple InfPs case, the VN provider must also split the VN request over the InfPs. Each InfP is responsible for embedding (or assigning) the nodes nv and links lv specified in the VN request Gv to the most appropriate substrate nodes ns and substrate paths u identified by the VN provider during the matching process. The VN embedding considers the dynamic attributes of substrate resources maintained by the InfPs. The VN provisioning steps including matching, splitting and embedding are modeled as follows: Resource matching: achieved by the VN provider, is based on similarity relationships between VN request descriptions and substrate resource descriptions. Since each node description includes key attributes of the links directly connected to the node, the matching only occurs between virtual nodes and substrate nodes descriptions. The matching only considers the functional attributes (except the attribute ‘‘cost’’ which is only considered during the request splitting). Let Match(nv) denote the set of substrate nodes ns capable of supporting a virtual node nv 2 Nv. The aim of the VN provider is to determine for each nv the Match(nv) set such that: Matchðnv Þ ¼ fns 2 GInfP s ; InfP 2 INFPg,
1013
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
where INFP represents the set of InfPs. This work investigates how the matching process can restrict the search space to speed up the VN embedding. VN request splitting: as a result of the matching phase, the VN provider can find for each virtual node nv several candidates ns duplicated in multiple InfPs. The VN provider should decide to which InfP each virtual node should be sent. Consequently, the VN provider splits the VN request graph into sub-graphs that will compose the requests for each target InfP. Fig. 1(a) provides an example of request splitting among two InfPs (InfPa and InfPb). The virtual nodes i and j specified in the VN request Gv find candidate substrate nodes i0 and j0 a dispersed in two substrate networks GInfP and GInfPb . s s The goal is to determine to which subgraph request, sent to InfPa and InfPb, the virtual nodes i and j should be assigned. The splitting problem considers the functional attribute ‘‘cost’’ defined by the InfP. The aim of the VN provider is to find the best and optimal VN request splitting among multiple InfPs that minimizes the VN provisioning cost. The provisioning cost of a VN request is equal to the sum of the costs of allocating its virtual nodes and links from the InfPs. As depicted in Fig. 1(a), let C ai denote the cost of allocating a virtual node i from InfPa. C aijb denotes the cost of allocating a virtual link between virtual nodes i, j 2 Nv from an inter-provider substrate path (i.e. peering path) where i is allocated from InfP a and j is allocated from InfP b. Likewise, C aa ij denotes the cost of allocating a virtual link between virtual nodes i, j 2 Nv from InfP a. In Section 3.2, the VN splitting cost is defined. Exact and heuristic algorithms are proposed, developed and evaluated to enable efficient and optimal VN splitting while reducing the cost. VN embedding: as a result of the splitting process, the InfP is responsible for embedding the received VN sub-graph to its substrate network. VN embedding consists in selecting for each virtual node nv and virtual link lv the best substrate node ns 2 Match(nv) and substrate paths u that ensure optimal VN embedding. The example provided in Fig. 1(b) shows the embedding of two
subgraphs G0v (virtual nodes j and k) and G00v (virtual node i) into two substrate networks. Finding the optimal VN embedding with multiple objectives and constraints is NP hard [19]. The goal of our work is to reduce the embedding cost for InfPs. Authors in [12–18] proposed heuristic embedding algorithms to find near optimal solutions where the node mapping and the link mapping phases are achieved subsequently (even for the coordinated node and link mapping algorithms proposed in [18]). The goal of our work is to propose an exact embedding algorithm where node and link mapping phases are simultaneously executed at one stage. The aim is to decrease embedding cost and increase the acceptance ratio of VN requests (i.e. accept as many VN requests as possible). Similar to previous work in [12–14,18], we define the Cost of embedding a VN request C(Gv) as the sum of costs of the substrate resources allocated to the VN request:
CðGv Þ ¼
X e2Ls
X
we
i;j2N v
feij þ
X
wi0 ti ;
ð1Þ
i2Nv
where feij denotes the amount of bandwidth allocated from the substrate link e to support the virtual link established between virtual nodes i and j. we and wi0 represent, recursively, the unit costs of the substrate link e and substrate node i0 supporting the virtual node i. Since our objective is to minimize the embedding cost, Eq. (1) will be used as the objective function of our mathematical formulation provided in Section 4. To handle multiple VN requests on line, two VN embedding formulations are proposed and evaluated in this paper related to the request processing aspects: sequential request processing (SRP) and parallel request processing (PRP). These two approaches are compared in terms of time delay and embedding cost. Resource binding: executed by the InfP, consists in reserving and allocating the selected substrate resources to set up the graph Gv. Binding relies on ‘‘on line’’ virtualization tools and automatic control and
Fig. 1. VN splitting and embedding problems.
1014
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
management to instantiate VNs at run time. Work concerning end-hosts/end-users attachment to the instantiated and running VNs has been the object of for instance [3,31] that can be used to achieve dynamic instantiation of VNs and secure end user attachment. To provide a better understanding of the splitting and embedding problems, a step-by-step scenario describing the overall VN provisioning process is provided. Fig. 2 depicts a scenario where one VN provider deals with two InfPs to provision VNs. The VN provisioning phases are shown in the scenario and detailed in the next sections. 3. Resource matching and VN request splitting This section addresses the matching process and proposes exact and heuristic VN request splitting algorithms.
framework (Fig. 2 – step 1). The dynamic attributes are registered into local repositories (step 10 ). Previous work [20] organized and classified the resource descriptions registered in the discovery framework using conceptual clustering techniques. This groups resources with similar concepts, descriptions and properties into clusters (i.e. Similarity based clustering). Such clustering generates a hierarchy of clusters, called dendrogram (or tree), along with conceptual descriptions of each cluster (step 2). Upon receiving a VN request Gv from users (step 3), the VN provider queries the discovery framework (step 4) and collects dendrograms from repositories. The VN provider uses a similarity based matching algorithm [20] to associate the required virtual nodes nv with the most similar cluster in the dendrogram (steps 5 and 6). The set of candidate substrate nodes forming this cluster will constitute the Match(nv) set.
3.1. Resource matching
3.2. VN request splitting
InfPs describe and advertise the static (functional) attributes of their available resources to a resource discovery
As introduced in Section 2.3, the Match(nv) set (nv 2 Nv) may include candidate substrate nodes belonging to different
Fig. 2. A VN provisioning scenario where one vn provider offers wide area VNs across two InfPs.
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
1015
InfPs. The aim of the VN provider is to efficiently split the VN graph across multiple InfPs while minimizing the provisioning cost of VN request. Two scenarios are discussed for the VN graph splitting problem. The first scenario addresses the case where only two InfPs are involved, and the second one focuses on the case of more than two InfPs.
not satisfied. It is clear that (zi _ zj) is false if and only if (:zi ^ :z j) is true. We build an instance of the VN graph splitting problem by considering a virtual node i for each variable zi. All costs C 1i and C 2i are equal to 0. We also consider that all the others costs are null, except the following:
3.2.1. Case 1: VN graph splitting across two InfPs As shown in Fig. 3, the virtual nodes i and j specified in the VN request find candidate virtual nodes dispersed in the two InfPs (InfP1 and InfP2). The VN request splitting problem is represented by a graph G = (V, E), where V = {1, . . . , n} is the set of virtual nodes and their associated candidate substrate nodes, and E is a set of edges representing their matching associations. The cost annotations 11 like C 1i ; C 2j ; C 12 ij and C ij associated to the edges are already introduced in the provisioning model in Section 2.3. The objective is to efficiently split the VN request among the two InfPs (i.e. InfP1 and InfP2). Finding the optimal VN request splitting, that satisfies the VN requirements with a minimum cost can be modeled using a 0–1 quadratic program where a variable xi is considered for each virtual node i. Variable xi equals to 1 (or 0) if i is allocated by InfP1 (or InfP2). The quadratic program for VN graph splitting is expressed as:
1. 2. 3. 4.
8 P P 22 > min xi C 1i þ ð1 xi ÞC 2i þ xi xj C 11 > ij þ ð1 xi Þð1 xj ÞC ij > < i2V i ij þ ð1 xi Þxj C ij ; > > : xi 2 f0; 1g; 8i 2 V:
Proposition. The VN graph splitting problem is NP-hard.
if if if if
If we solve the VN graph splitting problem using these costs, then we can get a solution of MAX-2-SAT by taking zi = 1 (or 0) if i is allocated by InfP1 (or InfP2). The cost of the VN graph splitting solution is clearly equal to the number of unsatisfied clauses. This ends the proof. h Despite NP-hardness, the VN graph splitting problem is easy to solve in practical situations. In fact, it is quite natural to assume that the cost of allocating a virtual link from a peering link (i.e. between two InfPs) is higher than the cost of allocating a virtual link from the same InfP. This 11 assumption can be formulated as follows: C 12 ij P C ij and 22 C 21 P C for any pair of nodes i and j. ij ij Proposition. Based on the assumption mentioned above, determining the VN request splitting that minimizes the cost corresponds to a classical max-flow/min-cut problem.
Proof. We build a directed graph G0 = (V0 , E0 ) where V0 = V [ {s, t}. We consider an arc from s to i 2 V with a non-negative weight equal to:
C 2i þ Proof. We use a reduction from a well known NP-hard problem: MAX-2-SAT [25]. An instance of MAX-2-SAT is defined by a collection of binary variables z1, z2, . . . , zn with constraints on pairs of variables. The goal is to find an assignment of these variables maximizing the number of constraints (clauses) that are satisfied. 2-SAT instances are normally presented in conjunctive normal form: (z1 _ z3) ^ (z3 _ :z2) ^ ^ (zi _ zj) ^ (zi _ :zk) ^ . Maximizing the number of constraints that are satisfied is equivalent to minimizing the number of those the are
(zi _ zj) is one of the clauses, then C 22 ij ¼ 1, (:zi _ :zj) is one of the clauses, then C 11 ij ¼ 1, (:zi _ zj) is one of the clauses, then C 12 ij ¼ 1, (zi _ :zj) is one of the clauses, then C 21 ij ¼ 1.
X
C 22 ik ;
ð2Þ
k P P j j P P jj0 jj0 > > C i xi þ C ii0 yii0 ; min > > > i2V j2INFP > i > > 0 > < P yjj0 ¼ xj ; 8i; i0 2 V; 8j 2 INFP; i ii j0
> > 0 0 > > > xji þ xji0 yjjii0 6 1; > > > P j > j jj0 > > : xi ¼ 1; 8i 2 V; xi 2 f0; 1g; yii0 2 f0; 1g: j
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
1017
Fig. 4. Modeling the VN splitting problem in the multiple InfPs case based on the max-flow/min-cut principle.
This linear integer program can be solved using the branch and bound algorithm [27] to provide exact solutions for the graph splitting problem. Note that using the branch and bound method to solve the graph splitting problem in the two InfPs case produces the same results as using the max-flow/min-cut method presented above. The next subsection evaluates and compares the proposed heuristic and exact methods in terms of time delay and cost required to split VN requests between multiple InfPs. 3.2.3. Performance evaluation The objective is to evaluate the graph splitting algorithm performance in terms of cost and computing time required to split a VN graph request between two or multiple InfPs. In the case of two InfPs, the VN graph splitting algorithm has been developed using the Ford–Fulkerson algorithm to solve the max-flow/min-cut problem. In the case of multiple InfPs, the proposed heuristic VN splitting method combines a modified Cluster3 algorithm [21] (used to create dendrograms) with the Ford–Fulkerson algorithm (used to solve the max-flow/min-cut problem between two logical InfPs). Two kinds of VN request topologies are evaluated: full mesh (FM) and partial mesh (PM). For VN requests with PM topology, virtual nodes are randomly connected with probability 50%. The cost of virtual nodes and links are real numbers uniformly distributed between 1 and 10 cost units. The cost of peering links are chosen uniformly in the range from 1 to 15 cost units. To assess the VN graph splitting algorithms, a 2.4 GHz mono-processor PC with 2 GBytes of available RAM has been used for this evaluation. A first simulation evaluates and compares the computing time needed to split a VN request (with PM topology) between two InfPs using both the min-cut method and the exact (branch and bound) method [28]. Fig. 5(a) shows that the computing time in both cases is in the order of a few hundreds of milliseconds which is fast enough to provide an exact optimal solution. The branch and bound method is slightly faster (about 20 ms) than the min-cut method when the number of virtual nodes does not exceed
50. Results show that beyond 50 nodes, the min-cut method is faster and more scalable than the branch and bound method. A second simulation evaluates the computing time required to split a VN request between 5 InfPs using both the heuristic method (using both Clustering and Ford– Fulkerson algorithms) and the exact method. Fig. 5(b) shows that the time needed to solve the VN graph splitting problem using the heuristic method is much lower compared to the branch and bound method when the size of the VN request (PM topology) increases. Fig. 5(c) (a zoom-in of Fig. 5(b)) indicates that the time required by the branch and bound algorithm to find an exact optimal solution is less than that of the heuristic method when the number of nodes is in the range 0–30 nodes. Beyond 30 nodes, this result is completely reversed. The upper curve representing the exact method grows exponentially, whereas the lower curve referring to the heuristic method increases linearly. For small networks the exact method is more appropriate while the heuristic method offers robustness and only linear degradation for large networks and thus scales much better. Few seconds are required to find near optimal solution for large and complex VN graph requests. Fig. 5(d) corroborates this observation and shows that, for full mesh graph topologies, the upper curve representing the exact method increases exponentially (even more quickly than in the PM topology case). As an example, which is not depicted in Fig. 5(d), the computing time required to find an exact optimal solution exceeds 15 min for VN requests (with full mesh topology) with 20 VN nodes compared to 1 s when using the heuristic method. The third simulation shows that the heuristic method is able to converge to a near optimal VN splitting solution provided by the exact (branch and bound) method. Fig. 5(e) and (f) depict the extra cost between the heuristic and exact methods where 5 and 10 InfPs, respectively, are involved in VN graph (with PM topology) splitting. The extra cost does not exceed 2% in the case of 5 InfPs and remains below 5% in the case of 10 InfPs. This proves that our heuristic algorithm can provide a near optimal solution
1018
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
Fig. 5. (a) Comparison between the branch and bound method and max-flow/min-cut in terms of required time to split a VN request (partial mesh topology – PM in figure) between two InfPs; (b) same as (a) with 5 InfPs; (c) zoom-in of figure (b) with PM and 5 InfPs; (d) comparison as in (b) and (c) but with full mesh (FM in figure) and 5 InfPs; (e) extra cost (95% confidence intervals) between the heuristic and exact methods when 5 InfPs are involved in the splitting problem; (f) same as (e) with 10 InfPs.
1019
I. Houidi et al. / Computer Networks 55 (2011) 1011–1023
of requests improves acceptance ratio and reduces cost compared to the SRP approach.
compared to the exact one that incurs more delay for graph splitting.
4. VN embedding Once candidate resources have been identified and the VN request graph is split into sub-graphs by the VN provider, each VN sub-graph is sent to the appropriate InfP (Fig. 2 – steps 7–9). Next, each InfP uses an embedding algorithm to assign the VN sub-graph request to its substrate network. 4.1. Related work and contribution Embedding VN graphs in shared substrate networks is known to be an NP-hard problem [19]. Existing work proposed heuristic embedding algorithms to find near optimal mapping between the VN graphs and the substrate networks [12–18]. To solve the VN embedding problem, authors in [12–16] proposed heuristic greedy algorithms where node and link mappings are achieved separately. In previous work [17], a distributed embedding algorithm is proposed to simultaneously assign virtual nodes and links to a shared substrate without any centralized coordinator. This distributed greedy algorithm is developed for large scale networks to deal with substrate node failures as a special case of dynamic variation to which VN embedding must react while VNs are active and running. The substrate nodes integrate autonomous agents that collaborate and interact with each other to plan collective VN embedding decisions. In [18], authors aim at ensuring coordinated node and link mappings by formulating the VN embedding problem as a mixed integer program (MIP). The node mapping is achieved in a way that facilitates the link mapping in the subsequent phase. They also mentioned that solving simultaneous node and link embedding (in one phase) using a MIP formulation is practically infeasible and proposed to relax the integer constraints to obtain a linear program. Deterministic and randomized rounding techniques are used to ensure better correlation between node and link mapping phases. The objective of this paper is to propose an exact embedding algorithm that enables optimal and simultaneous node and link mapping. The goal is to increase the acceptance ratio of VN requests while decreasing the provisioning cost for InfPs. To our knowledge, this is the first work that solves the on line VN embedding problem using an exact mathematical formulation to simultaneously assign nodes and links in one phase. Our proposed embedding algorithm handles on line VN requests, i.e. VN requests arrival is dynamic and unpredictable over time. Two approaches are addressed in this work related to the processing of multiple VN requests:
4.2. VN embedding formulation Each InfP receives a VN subgraph GNv ;Lv to be embedded in the substrate Gs. For simplicity, we still use N rv and Lrv to denote the set of virtual nodes and links, respectively, of the VN subgraph Grv related to the request r. In this work, the VN embedding problem introduced in the Section 2.3 is formulated as a mixed integer program (MIP). In contrast to the work cited in [18], we propose to solve the mixed integer program without any relaxation. The MIP formulation of the embedding problem to process one VN request is given as follows: 4.2.1. MIP formulation 0 Let xii r denote a binary variable equal to 1 (resp. 0) if the virtual node i of the request r 2 R is allocated (resp. not allocated) from the substrate node i0 . R denotes the set of VN requests handled in parallel. R is equal to 1 (resp. R > 1) for the SRP (resp. PRP) approach. When substrate node i0 (resp. substrate node j0 ) is selected to support the virtual node i (resp. virtual node j), tri0 j0 will express the amount of bandwidth allocated from substrate node i0 to substrate node j0 that will support the required bandwidth trij of the request r 2 R: 0
t ri0 j ¼
X
0
0
trij xii r xjj r
8i0 ; j0 2 Ns ; 8r 2 R:
ð6Þ
i;j2Nv ;i