Professional Documents
Culture Documents
Routing Algorithms For Network Function Virtualization Enabled Multicast Topology On SDN
Routing Algorithms For Network Function Virtualization Enabled Multicast Topology On SDN
4, DECEMBER 2015
Abstract—Many multicast services such as live multimedia Software defined networking (SDN) presents an excellent
distribution and real-time event monitoring require multicast opportunity for addressing these limitations. SDN is a network
mechanisms that involve network functions (e.g., firewall and paradigm that separates the data plane from the control plane.
video transcoding). Network function virtualization (NFV) is a
concept that proposes using virtualization to implement network In a SDN-based network, a logically-centralized controller has
functions on infrastructure building block (such as high volume the capability to enforce the network management policies and
servers and virtual machines), where software provides the func- configure each SDN switch. SDN allows the control plane to
tionality of existing purpose-built network equipment. We present communicate with the network elements in the data plane. It
an approach for building the multicast mechanism whereby mul- also provides an open protocol to program the flow tables in
ticast flows are processed by NFV before reaching their end users.
We propose a routing algorithm and a method for building an different switches and routers [3].
appropriate multicast topology. Essentially, SDN converts the distributed route control prob-
lem into a centralized problem, so that each router/switch just
Index Terms—Network function virtualization, software de-
fined networking, traffic engineering. needs to forward the traffic according to the rules dictated from
the control plane, and they themselves do not need to perform
any routing decisions. Moreover, all the security policies can
I. I NTRODUCTION also be implemented on the centralized controller thereby alle-
viating security issues in distribution.
M ULTICAST is a fundamental communication style in
which packets are sent to multiple destinations simulta-
neously. In a multicast session, packets are replicated in each
While SDN provides flexible yet efficient implementation of
multicast mechanisms, many multicast services today involve
router and forwarded to multiple output ports based on the intermediary network functions such as NAT, proxy server,
multicast topology. In comparison to unicast communications, video transcoding, DPI, etc. In this context, Network Func-
where a single path is set up for each source destination pair, tion Virtualization (NFV) enables efficient implementation of
multicast communication can save a huge amount of band- multicast services that involve intermediary processing steps.
width. For this reason, multicast communication is becoming Specifically, NFV is a concept that proposes using virtualiza-
increasingly popular. Many web-based applications, for ex- tion technologies to implement network node functions in the
ample, multimedia distribution, video conferencing, software network infrastructure [4]. In a NFV-enabled network, virtual
updates, and IPTV, rely on multicast communication to function machines which run on server can be used for implementing
correctly. network functions. Moreover, NFV provides significant flexi-
Traditional IP multicast suffers from a number of limitations. bility for implementing the multicast mechanisms that involve
First, creating and maintaining multicast trees require a high the network functions. For example, in a video streaming ses-
number of message exchanges between routers for updating sion, the video stream may require transcoding before reaching
multicast trees. In the worst case, flooding must be used for end users. In this case, transcoding can be implemented as a
neighbour discovery. Second, there is lack of efficient support NFV component placed in one of a variety of servers, switches
for group management and membership access control [1], or routers to minimize communication overhead.
[2]. Third, security is a major issue since no authentication is Designing NFV-enabled multicast mechanisms is still a rel-
needed when a user joins or leaves a multicast group. Finally, it atively new research area. A key challenge that needs to be
is difficult to add network functions (e.g. deep packet inspection addressed in this area is the efficient computation of multicast
(DPI), video transcoding) in the multicast mechanism. topologies that involve NFV components. This problem is chal-
lenging because it involves jointly determining the placement
of NFV nodes as well as constructing a multicast topology that
connects the source and destination through the NFV node.
In this paper we study a simple yet important case where a
Manuscript received November 15, 2014; revised February 27, 2015 and single NFV processing step is involved. This scenario is already
July 6, 2015; accepted July 27, 2015. Date of publication August 6, 2015; date
of current version December 17, 2015. The associate editor coordinating the applicable to many scenarios such as video transcoding, packet
review of this paper and approving it for publication was F. De Turck. filtering and intrusion detection. We propose an algorithm
The authors are with the Department of Electrical and Computer Engi- for building an NFV-enabled multicast mechanism on SDN
neering, University of Toronto, Toronto, ON MSS 3G4, Canada (e-mail:
sai.zhang@mail.utoronto.ca). for both dynamic and static scenarios. We also propose the
Digital Object Identifier 10.1109/TNSM.2015.2465371 algorithms to jointly schedule multiple multicast topologies to
1932-4537 © 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 581
achieve load balancing. To evaluate the effectiveness of our minimizing the total cost. However, all of the paper is focused
algorithms, we have implemented our multicast mechanism on on generating the multicast tree with minimum cost, none
ViNO [21], a SDN launcher that uses VXLAN tunneling proto- of these paper has considered the joint NFV placement and
col alongside a software switch (Open vSwitch) to dynamically multicast tree construction.
create network topologies specified by the user. Experiments NFV is a newly proposed topic therefore the research on it is
show our algorithms incur low computational complexity, and still in the early stage, offering great opportunity for the further
produce near optimal multicast topologies. research and exploration. Some previous research has focused
The rest of the paper is organized as follows, in Section II on NFV-As-A-Service. For example, [18] offers a framework
we present the related work. In Section III we provide our to transfer the traditional network to SDN by virtualizing the
problem formulation. In Sections IV and V we present the static network functionality of the gateways, while [19] presents a
algorithms for the problems. In Section VI, we consider the framework called OpenANFV which acts as an accelerator to
dynamic scenario and give the dynamic algorithms for this case. decrease the gap between the software-based network function
In Section VII, we consider the routing for multiple multicast and the hardware, and [20] presents a software middlebox
topologies. In Section VIII, we evaluate the algorithms and give platform which can quickly boot up virtual machines to run the
numerical results. We describe our implementation details in middlebox functions. Meanwhile, NFV has been deployed to
Section IX and draw a conclusion in Section X. facilitate the operations on content delivery network [21]. [18]
presents analysis and design of the routing function virtualiza-
tion. [22] presents a control plane which allows the jointly con-
II. R ELATED W ORK
trol of network topology and NFV placement. And [23] offers a
Multicast has received much attention in the modern commu- testbed called EmPOWER for research on NFV. However, none
nication networks because of the popularity of group commu- of these studies has focused on the traffic engineering problem
nication and its advantage in saving bandwidth. As mentioned involving NFV.
before, traditional IP multicast suffers from the problem of
security, reliability and scalability. The advent of SDN helps
III. P ROBLEM S TATEMENT
relieve these concerns by separating the control plane from the
data plane. SDN-based multicast framework has been widely Mathematically, we model the network as a graph G =
used and deployed in the datacenter networks. In Avalanche, a (V, E), which consists of a set of nodes V and undirected links
SDN based system for the datacenter network is proposed that E. We define H ⊆ V as a set of candidate nodes on which NFV
enables multicast in commodity switches [5]. In [6], an SDN- may be deployed. Each multicast session involves a source host
based multicast clean-slate scheme aiming to improve security s ∈ V and a set of destinations D ⊆ V. In this context, we
and controllability of multicast network is developed. And in define a multicast topology as a subgraph G ⊆ G. For each
[7], a SDN-based scalable IP multicast in datacenter network G , there exists a mapping function fG : D → H , that maps
is proposed and evaluated. [8] proposes an routing algorithm to each destination d ∈ D to a NFV node h ∈ H , where H ⊆ H
construct multicast tree with high reliability. However, None of denotes the set of NFV nodes used by G . Therefore, G delivers
these work has included NFV functionality with the multicast the multicast content to every d ∈ D using two paths, one from
mechanism. s to a NFV node fG (d), the other from fG (d) to d.
Several basic multicast routing techniques have been devel- In our model, the multicast topology may use multiple in-
oped for constructing the multicast trees. Finding the optimal stances of the NFV. For example, a multicast video session may
tree with the minimum cost can be formulated as a Stein tree uses two transcoders for different regions of the network. The
problem, which has been proven N P-hard. In the literature, a bandwidth usage before and after NFV processing are bbefore
number of algorithms have been developed to solve the Steiner and bafter , respectively.
tree problem. In [9], an algorithm with an approximation factor To define the cost of a multicast topology, we assume there
of 2 has been proposed. This approximation factor was later is non-negative cost w(e) for using each edge e ∈ E, and w(e)
improved to 1.598 in [10]. In [11], a heuristic algorithm to is an increasing convex function of bandwidth consumption on
build a Steiner tree with delay bound was proposed. And a e. An example includes the piecewise linear increasing convex
heuristic algorithm for finding a directed multicast tree with function using in [24]. Because the bandwidth consumption
minimum cost is proposed in [12]. Some other multicast tree may change after the flow traverse through the NFV node, the
building techniques include the shared tree algorithm, which cost for using each edge will also be different. Let wbefore (e)
builds a single tree to be used by all the multicast sessions. denote the cost of e with bandwidth consumption bbefore and
The tree contains a single point called core or rendezvous point wafter (e) denote the cost of e with bandwidth consumption
(RP) so that all the packets will be forwarded to RP before bafter . Moreover, we assume running a NFV node on each ma-
reaching the destinations [13], [14]. However, the selection of chine h ∈ H incurs an activation cost c(h) in terms of resource
the optimal RP is also an NP-hard problem [15]. The authors usage and performance overhead. let xh ∈ {0, 1} denote whether
of [16] propose a heuristic algorithm to choose a rendezvous an instance of NFV is placed in h. Let ye ∈ {0, 1} and ze ∈ {0, 1}
point while minimizing the total weighted cost of routing paths. denote whether link e is used for carrying flows before and
In [17] a novel rendezvous point based algorithm is proposed after NFV processing. Our goal is to find a multicast topology
to build a multicast tree which satisfies several constraints, G that ensures each multicast flow traverses through the NFV
including delay constraint, link utilization constraint, while node(s) before reaching the destination, while minimizing the
582 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
TABLE I
D EFINITIONS OF PARAMETERS
Where “ ” in (11) means Q is elementwisely less than MX1 , traverse through selected NFV node and then multicast to
which is elementwisely less than S. Specifically, equation (4) is each end user using the MST it constructs. We now prove its
the object function that computes the total cost of the multicast approximation guarantee.
topology, which includes the cost for each used link and the
activation cost of the NFV nodes. Equation (5) and (11) ensure
a single path set up between the source s and each end user Algorithm 1 Approximation algorithm
d. Specifically, X1 represents the links used from source to
the NFV nodes in each session, (11) ensures the path between 1: Cbest = ∞
the source and NFV node of each session consists of a set 2: for each (h, d) pair ∈ H × D do
of connected links. With the premise of (11), (5) ensures that 3: Construct a shortest path graph P by connecting s to h,
for each session, there are two simple paths, one connects h to d.
source and NFV node, the other connects NFV node and the 4: Construct a complete subgraph Gc for D, where the
destination. Z indicates the node used as NFV node by making cost of each edge (di , dj ) in Gc is set equal to the
the corresponding binary variable to 1. Equations (6) and (7) distance of shortest path from di to dj in G
ensure the multicast flow pass at least one NFV node before 5: Find the minimum spanning tree T from Gc and calcu-
reaching each end user. Equations (8) and (9) ensure that the late Cl (T)
multicast topology is comprised of all the single paths between 6: Connect P with T, call the combined graph Gw (since
source s and each end user di . Equation (10) ensures that only d exists in both P and T, we can connect them to-
the nodes in H can be used for NFV node. gether). Calculate C(Gw ) using eq. (3)
We now analyze the complexity of the problem: 7: if C(Gw ) ≤ Cbest then
Theorem 1: NFV-MTC is N P-hard. 8: Cbest ← C(Gw ), Gbest ← Gw
Proof: We show that this problem can be reduced from 9: end if
the Steiner tree problem. The Steiner tree problem aims at 10: end for
finding a minimum cost multicast tree that connects the source 11: Construct the graph Tbest from Gbest by replacing every
to each of the destinations. Given a Steiner tree problem, edge in Gbest with the shortest path in G, if there are
we can build a NFV-MTC by limiting the only candidate several shortest paths, randomly select one.
location for placing the NFV at the source node. It is easy to 12: Remove any unnecessary edges in Tbest to get final
see that the optimal solution of the NFV-MTC is exactly the output TH
solution for the original Steiner tree problem. Since Steiner tree
problem is N P-hard, we conclude that NFV-MTC is N P-hard
as well. Theorem 2: Given that there exists an optimal multicast
Since the problem is N P-hard, our main objective is to find topology for the UMF, the total cost of TH is no more than
the polynomial time algorithms that yields good approximation two times that of the optimal multicast topology.
guarantee. In the following sections, we shall divide NFV- To prove this theorem, we first states two lemmas:
MTC into three separate cases. In the first case, we assume Lemma 1: Let Gopt be the optimal multicast topology of
bbefore = bafter , namely the bandwidth usage before after the UMF, there exists a multicast tree Topt such that each root-leaf
process by NFV components are the same. We call this problem path in Topt is exactly a walk1 from source to an end user in
the Unchanged Multicast Flow Bandwidth problem (UMF). Gopt , and the total cost of the Topt equals that of Gopt .
The second case is when bbefore > bafter . We call this problem Proof: For each destination d, there must exist a walk
Reduced Multicast Flow Bandwidth problem (RMF). Finally, W which connects source s to d in Gopt . We construct Topt
we consider the case where bbefore < bafter . We call this prob- iteratively. In the first iteration, we select a destination node d
lem the Increased Multicast Flow Bandwidth problem (IMF). at random. Let the walk between s and d in Gopt to be the first
While these three problems are similar, the approximation root-leaf path of Topt . In each of the subsequent iterations, we
algorithms developed for these problems differ in subtle as- first select a remaining destination d from D. Let W denote the
pects. In the following subsections, we will study each problem walk from s to d in Gopt . Among all existing root-leaf path P in
separately. Topt , we find the P which contains the largest subset W1 ⊆ W
from the source s. That is, P contains the longest subpath of
W among all the root-leaf path. Let n be the end point of W1
IV. A PPROXIMATION A LGORITHMS and define W2 = W \ W1 , we then add a W2 as a new branch
A. Algorithm for UMF to Topt . Repeat this for every end user in Gopt until all the end
users have been added. Since all the links and nodes are copied
In this section, we propose an approximation algorithm from the walks in Gopt to Topt , the total of Topt (include the
for solving the UMF. In UMF, the bandwidth does not activation cost of NFV nodes and total cost of the links) equals
change after traversing through the NFV, therefore wbefore(e) = that of Gopt .
wafter (e)(∀ e ∈ E). Algorithm 1 is our approximation algorithm
for UMF, it first searches for a single NFV node which is used
by all the destination users and then it constructs a minimum 1 In graph theory, a walk is a sequences of links and nodes, where each link’s
spanning tree among the end users. The traffic flow will first endpoints are preceding and following nodes in the sequence.
584 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
Fig. 3. An example of approximation algorithm. Panel (a) shows a network topology G(V, E) with 9 nodes and 12 links, suppose s = 9, H = {5, 7}, D =
{2, 3, 4, 6}, and pick node 7 to be h and node 4 to be d. Panel (b) is the path graph P. Panel (c) is the complete graph Gc . Assume panel (d) is the minimum
spanning tree T of Gc . Connecting P with T gives Gw in panel (e). Assume this combination gives the least total cost, panel (f) shows Tbest and panel (g) is TH .
We now analyze the complexity of Algorithm 1. In line 1 solution TH . Therefore C(TH ) ≤ C(Tbest ) ≤ C(M1) + Cl (M2) ≤
and 2, for each fixed h and d, we need to find the shortest C(M1) + C(M2) ≤ C(L) = 2C(Topt ) = 2C(Gopt ).
path between s to h, h to d. In line 3, to calculate the cost The complexity of the above algorithm is the same as that of
of edge in Gc , we need to find the shortest paths for each approximation algorithm for UMF.
pair of destination users. Therefore, The overall complexity is
O((n2 + n|H|)(|V| + |E| log |E|)), where n is number of end
users, |H| is the size of H, |V| is number of nodes in the network C. Algorithm for IMF
and |E| is number of edges in the network.
In IMF, the bandwidth consumption increases after passing
through the NFV nodes, result in a higher link cost.
B. Algorithm for RMF We propose a 2-approximation algorithm (Algorithm 2) for
IMF below. It can be seen that the main difference between
In RMF, the bandwidth of multicast flow decreases after Algorithm 2 and Algorithm 1 is line 3 and 4, the cost of edge of
traversing through NFV, the reduction on bandwidth consump- P and Gc is calculated differently. The rationale of Algorithm 2
tion will cause the reduction on the link cost. This problem can is similar to Algorithm 1. Similarly, we have two link weight
be solved by almost the same approximation algorithm as the metrics before and increased .
UMF. The only difference is that the bandwidth requirement of
the flow reduced after traversing through the NFV, resulting two
link weight metrics before and reduced . So the approximation Algorithm 2 Approximation algorithm for IMF
algorithm of RMF is the same except that in line 3 of Algorithm 1,
before is used to calculate the distance from source s to NFV 1: Cbest = ∞
node h and reduced is used to calculate the distance from NFV 2: for each (h, d) pair ∈ H × D do
to end user d. By using link metric , we mean the link weight 3: Construct a shortest path graph P by connecting s to h,
used to calculate the distance between two nodes is defined by h to d. Calculate the cost of P, C(P) = Cshortest (s, h,
. In line 4 of algorithm 1, reduced is used to calculate the cost before) + Cshortest(h, d, increased ) + c(h)
of the edge of Gc . This approximation algorithm also keeps a 4: Construct a complete subgraph Gc for D, where the
approximation factor of 2, which can be proven as follows: cost of each edge (di , dj ) in Gc is set equal to
First, let Gopt denote the optimal solution. From Lemma 1, min{min(h1,h2 )∈H (Cshortest (vi , h1 , increased )+ Cshortest
we can derive a tree Topt with the same cost. To facilitate the (h1 , h2 , before)+Cshortest(h2 , vj , increased )+c(h1)+
statement of the algorithm, define: c(h2 )), Cshortest (vi , vj , increased)} in G
Copt (v1 , v2 , ): Cost of the path connecting v1 and v2 in Topt 5: Find the minimum spanning tree T from Gc and calcu-
under link weight metric . late Cl (T)
Cshortest(v1 , v2 , ): Minimum cost of the path connecting v1 6: Connect P with T, call the combined graph Gw (since
and v2 in G under link weight metric . d exists in both P and T, we can connect them to-
Proof: From Lemma 2, there also exists a loop L in Topt gether). Calculate C(Gw ) using eq. (3)
such that every edge in Topt is traversed exactly twice and every 7: if C(Gw ) ≤ Cbest then
leaf in Topt is visited exactly once. L can be decomposed into 8: Cbest ← C(Gw ), Gbest ← Gw
three paths: 9: end if
1) A simple path M1 that connects source s to the first 10: end for
leaf l1 . 11: Construct the graph Tbest from Gbest by replacing every
2) A path M2 that connects first leaf l1 to next leaf l2 , and edge in Gbest with the shortest path in G, if there are
from l2 to the next leaf l3 until to the last leaf ln . several shortest paths, randomly select one.
3) A path M3 that connects ln back to source s. 12: Remove any unnecessary edges in Tbest to get final out-
put TH
The simple path M1 must pass through at least one
NFV node, call this NFV node hopt , the total cost
of M1 equals Copt (s, hopt , before) + Copt (hopt , l1 , reduced ) + Proof: Let Topt denote the optimal tree derived from Gopt .
c(hopt ). Ignoring the activation cost of all the NFV nodes There also exists a loop L in Topt such that every edge in Topt is
that M2 traverses, M2 can be viewed as a graph that con- traversed exactly twice and every leaf in Topt is visited exactly
tains all the end users, so the total cost of M2 equals once. Like previous case, L can be decomposed into three paths
n−1 M1, M2 and M3. The simple path M1 must pass through at
Copt (li , li+1 , ), where is may be before or reduced
i=1
least one NFV node, call this NFV node hopt , the total cost
depending on whether the flow travels through the NFV of M1 equals Copt (s, hopt , before) + Copt (hopt , l1 , increased) +
node. And the sum cost of M1 and M2 must be greater c(hopt ). M2 consists of paths which connect first leaf l1 to next
than or equal to that of Tbest = min (Cshortset(s, h, before) + leaf l2 until the last leaf ln . Call the path which connects node li
h∈H,d∈D
and node li+1 in L Qi , there are two categories for Qi :
Cshortest (h, d, reduced ) + c(h) + Cl (T)). Thus the total cost of
the loop L must be greater than or equal to the total cost of 1) Qi does not pass through any NFV node, in this case the
Tbest , whose total cost is greater than or equal to the cost of the total cost of Qi = Copt (li , li+1 , increased ).
586 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
2) Qi passes through two NFV nodes, h1 and h2 . In this case we have a multicast tree whose activation cost of NFV nodes is
the total cost of Qi = Copt (li , h1 , increased) + Copt (h1 , greater than cmax , then its total cost must be greater than that of
h2 , before) + Copt (h2 , li+1 , increased ) + c(h1 ) + c(h2 ). Tlink and it must not be the optimal solution. Using this fact, the
steps for pruning the search space are shown below:
n−1
The total cost of M2 equals Qi . According to the defi-
i=1 • We change the objective function of the previous prob-
nition of Tbest above, the sum cost of M1 and M2 must be lem, ignore the cost of NFV nodes, so the new object
or equal to that of Tbest = min (C(P) + C(T)). Thus the function becomes:
h∈H,d∈D
total cost of the loop L must be greater than or equal to the
total cost of Tbest , whose total cost is greater than or equal to min PT1 (Y1 + Y2 ).
the cost of the solution TH , hence C(TH ) ≤ C(Tbest ) ≤ C(L) =
2C(Topt ) = 2C(Gopt ).
We now analyze the complexity of the Algorithm 2. In line 3 • Activate every NFV node in H by setting Zi = 1 iff node
of Algorithm 2, we need to find the shortest path between s to h, i∈ H and Zi = 0 otherwise.
h to d for each h and d pair. Moreover, in line 2, to calculate the • Solve the new linear integer programming problem by
cost of edge in Gc , we need to try every combination of h1 and using Branch and bound.
h2 and the shortest paths between them. Therefore, The overall • Record the actual NFV nodes used by the solution since
complexity is O(n2 |H|2 (|V| + |E| log |E|)), where n is number some of the NFV nodes may not be used by the multicast
of end users, |V| is number of nodes in the network and |E| is topology. Calculate the total activation cost of these used
number of edges in the network. NFV node, cmax .
A limitation of Algorithm 2 is that, in line 4 of Algorithm 2, • Select one combination of the NFV nodes, before solv-
the multicast flow sent between two end users may be first re- ing the linear integer programming problem, calculate
versely processed by one NFV node to decrease bandwidth then the total activation cost of this NFV node combination,
forward processed by another NFV node before reaching the denoted as c, if c > cmax , then this combination is pruned
next destination user. Therefore Algorithm 2 assumes that NFV and there is no need to test it.
node can perform both forward and reverse processing. Since
bandwidth consumption of the flow increases when traversing 2) Prune the Search Space of Links: When solving the linear
through the NFV, there should be hardly any loss of original integer programming problem given the activated NFV node,
information when the flow is first forward and then reverse we can use the following facts of the multicast topology to
processed by the NFV node. Example may include lossless prune the search space:
video compression which allows the original video stream to
be perfectly recovered from the compressed stream [25]. • Links directed to the source s can never carry flow from
the source to the NFV node deployed.
V. S OLUTION A LGORITHMS BASED • Links originating from the destination can never carry
ON B RANCH AND B OUND
flow from NFV node to that destination.
In the previous sections, we presented approximation al- Therefore, multicast topologies that satisfy either of these two
gorithms for UMF, RMF and IMF. Since the problem can conditions will not be considered in our Branch and bound
be formulated as an quadratic integer programming problem algorithm.
represented by equation (4)–(11), we now provide an algorithm We will evaluate the performance of our Branch and bound
for solving the integer programming problem using Branch technique and compare it with the approximation algorithms in
and bound. Compared to Algorithm 1 and Algorithm 2, our Section VIII.
Branch and bound algorithm is able to compute the exact
optimal solution of NFV-MTC with the drawback of higher
computational overhead. The key challenge is that, since this
VI. DYNAMIC H EURISTICS
is a quadratic integer program, it is hard to apply traditional
algorithms to solve it. Instead, we can make the problem linear So far, all of our proposed algorithms focus on the static cases
by trying every combination of NFV node and solve the linear where individual users never leave the system until the session
integer programming problem (given the known NFV node) ends. In reality, end users may dynamically join and leave
using Branch and bound. The key features of our algorithm the existing multicast topology. The static algorithms are not
is that we can prune the search space in the following two suited for this case because it is not reasonable to run the static
dimensions: algorithms every time a user joins or leaves the system due
1) Prune the Search Space of NFV Nodes: We can search for to the high computation overhead. Moreover, static algorithm
the best NFV enabled multicast topology without concerning may return a completely different multicast topology as one
on the activation cost of NFV nodes, call this topology Tlink . user joining/leaving the multicast topology, and all the existing
In other words, Tlink is the cheapest multicast topology we can multicast trees need to be reconfigured, which produces a
build if we neglect the activation cost of NFV nodes. Denote high reconfiguration overhead. Therefore, we propose dynamic
by cmax the cost of deployed NFV nodes in Tlink . Therefore if heuristics to deal with this situation. Algorithms 3 and 4 are
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 587
our heuristics for handling user joining and leaving for both the
UMF and RMF problem. Essentially, when a new user joins
the system and its not part of the existing multicast topology,
the algorithm tries to find a user that is closest to the new
user, and find a path from the user in the multicast tree to the
new user. The complexity of algorithm 3 and 4 are O(n(|V| +
|E| log |E|)) and O(|E|) respectively, where n is number of end Fig. 6. Example of load balancing.
users, |V| is number of nodes in the network and |E| is number
of edges in the network. Compared with the complexity of static
algorithm (Algorithm 1) given in the previous sections, which is
Algorithm 5 Dynamic heuristics for IMF (entering)
O((n2 + n|H|)(|V| + |E| log |E|)), the complexity of dynamic
heuristics is lower.
1: For each coming end user d:
2: For each end user v:
Algorithm 3 Dynamic heuristic for UMF (entering) 3: vmin ← arg min(m(v, d, Cincreased ))
v
4: c1min ← min(m(v, d, Cincreased ))
1: for each coming end user d ∈ D do v
2: if new user connects to a node in multicast topology 5: End
then 6: For each node h in Hinactivated:
3: Send the flow to that user directly. 7: hmin ← arg min(m(s, h, Cbefore ) +
h
4: end if m(h, d, Cincreased ))
5: if new user connects to a new node outside existing 8: c2min ← min(m(s, h, Cbefore) +
multicast topology then h
m(h, d, Cincreased ) + ch ))
6: dmin ← user in the multicast group who has the
9: End
shortest distance to d. If there are more than one
10: If c1min ≤ c2min
existing users satisfy this, randomly choose one.
11: add the new user to the group by connecting user d
7: Connecting d to dmin with shortest path.
with dmin
8: end if
12: End
9: end for
13: If c1min > c2min
14: Hinactivated.remove(hmin )
15: add the new user to the group by connecting
Algorithm 4 Dynamic heuristic for UMF (leaving) (s, hmin, d)
16: End
17: End
1: for each leaving end user d ∈ D do
2: for each link e in path to d do
3: if e does not carry any multicast traffic then
4: remove e from the existing multicast topology VII. S CHEDULING OF M ULTIPLE M ULTICAST S ESSIONS
5: end if In the previous sections, we consider the multicast topology
6: end for construction for a single multicast session. However, in reality,
7: end for multiple multicast sessions may coexist to deliver their own
information to different end user groups. Without loss of gener-
ality, we assume each multicast session has a priority level.
However, for the case of IMF, as the bandwidth increases For the scenario of multiple multicast sessions, applying
after processing by NFV, finding the closest user and connect the approximation algorithms over each session may cause
may result in a high bandwidth usage. Therefore we design a imbalance in resource utilization. For example, as it is shown
new algorithm for user entering for IMF (Algorithm 5). When in Fig. 6(a), two multicast trees (shown in green and red arrow)
the new end user joins, this dynamic algorithm first finds the carry traffic from source 1 to their own end users, result in
shortest distances between every existing end user to the new double traffic load on link (1, 3), (3, 5), (3, 6) since they carry
user and it takes the shortest distance c1min . Then it calculates the traffic of both sessions. To solve this problem, we can
the smallest cost of activating a new NFV node and setting up reroute one of the multicast tree to distribute the traffic load
the flow path, c2min. If c1min ≤ c2min , it connects the new end over some other underutilized links to achieve load balancing,
user to that existing end user, otherwise it activates a new NFV one possible solution is shown in Fig. 6(b).
node and sets up new path. The complexity of Algorithm 5 is We now present the formulation of the problem. Suppose
O((n + |H|)(|V| + |E| log |E|)), which is still much lower than there is a set of multicast sessions T, each session has its own
that of Algorithm 2 (O(n2 |H|2 (|V| + |E| log |E|))). Finally, source node st , a set of candidate locations H t to place NFV
Algorithm 4 can still be used to handle the case of user leaving nodes, and destinations Dt (t ∈ T). The goal is to minimize the
for IMF. sum of the maximum link utilization rate u. This problem can be
588 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
TABLE II
D EFINITIONS OF PARAMETERS
has a NFV activation cost and each link has a link cost, the
algorithm is presented as Algorithm 6.
represented as the following integer linear problem (the variable To update the cost of link j, we use the function which is
definitions are given in Table II): reversely proportional to the remaining bandwidth on that node
ρj
or link = 1−m (where ρj is a constant, and m is the current
minimize u (12) utilization rate of the node or link). Hence the link with lower
load is more likely to be used in the next round of scheduling.
subject to M X1t + X2t =A t
(∀ t) (13)
One limitation of the above algorithm is that it assumes there
Z t MX1t = −W t
(∀ t) (14) all multicast sessions have unique priority levels. However,
Z t
= W (∀ t)
MX2t t
(15) when there are multiple multicast sessions with the same pri-
t
X1jk ≤ Y1j
t
≤ 1 (∀ k, j, t) (16) ority, we need to ensure each session is fairly treated while not
exceed the capacity of resources. That is, the total bandwidth
t t
X2jk ≤ Y2j ≤1 (∀ k, j, t) (17) consumption does not exceed the link capacity.
t t
R Z = 0 (∀t) (18) For instance, in Fig. 7, two multicast sessions are built by
using the approximation algorithm proposed above. Session 1
Qt MX1t St (∀ t) (19)
shown in red arrow has s = 9, h = 5, D = {3, 4}. Session 2
Lt1 Y1j
t
+ Lt2 Y2j
t
≤ uCj (∀ j, t) (20) shown in blue dash arrow has s = 9, h = {5, 7}, D = {4, 6}.
t Both the trees consume the resources on link (9, 5) and (5, 4).
X1 , X2t , Y1t , Y2t , Z t
t
are binary Suppose the sum of bandwidth requirement of session 1 and
session 2 exceeds the capacity of link (9, 5), one of the multicast
In this formulation, equations (12)–(19) are the same as tree has to be rerouted to satisfy the capacity constraint.
the case for the single multicast topology construction. (20) Fig. 7 shows an alternative path (in green arrow), and one of
calculates the total load on each link and makes sure that the the session may take this alternative path to release the load on
total bandwidth usage on that link is less than the utilization link (9, 5). However, since the original multicast topology has
rate times capacity of that link. been changed, the new multicast topology may has a different
Our heuristic algorithm for this problem works as follows. cost than the original multicast topology. That is, rerouting a
Assume that we have a set of multicast sessions t ∈ V with its flow may incur a reconfiguration cost.
own priority, one of the methods to achieve load balancing is For each overloaded link, suppose we have a set of paths {pn },
first scheduling the multicast sessions with the highest priority, (n = 0, 1, . . . , N) which contains the original path p0 (which is
then updating the link cost based on their remaining resource, the link) as well as N alternative paths. Define the total number
all the sessions are scheduled. Assume that initially each node of flows of multicast sessions that the overloaded link carries as
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 589
c pn , {fm } − c p0 , {fm } if n = 0, 1 ≤ m ≤ M
Cpn = min Cl
l∈pn
And we need to make sure that the total bandwidth usage does
not exceed the capacity of each path:
TABLE VII
C OST E VALUATION FOR N ETWORK I (RMF)
M
Bm xmn ≤ Cpn ∀ n ∈ N. (23)
m=1
This problem is a special case of the generalized assignment Proof: Proof is given in [27].
problem (GAP) which is APX-hard. For this problem, [26]
presents a solution algorithm for a similar problem running VIII. E XPERIMENTS
in polynomial time with relaxation on the capacity constraint.
We revise the solution in [26] to solve our problem. The We evaluate our multicast algorithms from both the static and
algorithm works as follows. First, we need to convert it to linear dynamic scenarios on the real WAN model. We will demon-
programming problem by relaxing the integer constraint (24) to strate the accuracy of the algorithms by comparing the result
of the Approximation algorithm with the multicast topology
xmn ≥ 0. (25) generated by our Branch and bound method over three network
models generated by GT-ITM [28], the network settings are
Moreover, we can add another constraint presented in Table III. In [27], more simulations on different
xmn = 0 if Bm > Cpn (26) network topologies are provided.
For each network topology, we randomly generate a set of
which states that pn will be not used by fm if fm consumes more nodes H and a set of end users. We schedule all the users at
bandwidth than the capacity of pn . Similar to the result given the same time. Each scenario is evaluated 100 times and the
by [26], we have the following theorem: average results are presented.
Theorem 3: Providing that there is a feasible solution for the
linear programming problem (21), (22), (23), (25), (26) with
A. Cost Analysis
cost φ, we can find the optimal integer solution with total cost
no more than 2φ in polynomial time, with each path pn carries From Tables IV–XII, we compare the total cost of multi-
at most 2Cpn . cast topology generated by approximation algorithm with the
590 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
TABLE VIII 1) UMF: Fig. 8 shows the running time of Algorithm 1 and
C OST E VALUATION FOR N ETWORK II (RMF)
Branch and bound over three different networks. We can see
the running time of both methods increases as the number of
destination users increases, and the running time of Approxi-
mation algorithm is much lower than that of Branch and Bound.
Besides, the network size has a great effect on the running time
for both methods, with a higher impact on Branch and bound.
Fig. 9 shows the relationships between total number of end
TABLE IX
C OST E VALUATION FOR N ETWORK III (RMF) users entering and the average time taken to process each
entering user for the dynamic algorithm for UMF. We first build
a multicast topology with 5 users by using the Algorithm 1
proposed above. Then the new incoming users are dynamic
entering the current multicast topology and we record the
average processing time for each new user. We can see that
the average processing time increases as more users join the
TABLE X multicast group, a possible reason is that as the number of
C OST E VALUATION FOR N ETWORK I (IMF) users in the group increases, there are more options for the new
end users to connect. Furthermore, the average processing time
grows gently as the network size increases, which demonstrates
the algorithm is scalable. Lastly, we present the simulations of
the dynamic removal algorithm for UMF in [27].
2) IMF: Fig. 10 shows the running time of Approximation
algorithm and Branch and bound for IMF over three network
TABLE XI topologies. We make the same observations as that of UMF.
C OST E VALUATION FOR N ETWORK II (IMF)
Besides from this, we notice that for the same number of end
users and the same network topology, the running time of the
approximation algorithm (Algorithm 2) is higher than that of
Algorithm 1 due to its higher complexity. Fig. 11 shows the
relationship between total number of end users entering and
the average time taken to process each end user for IMF over
three network topologies. We find that the average processing
TABLE XII
C OST E VALUATION FOR N ETWORK III (IMF) time increases as number of user increases, and we think the
reason is the same as that for dynamic algorithm of UMF: as
the number of user increases, there are more options for the
new users to connect. Besides, we present the simulations of
the dynamic removal algorithm for IMF in [27].
Fig. 12. Traffic load of links in networks (a) I, (b) II, and (c) III.
In the Fig. 12, we can tell that by deploying the load balancing
algorithm, the traffic on the links are distributed more evenly
than the traffic without implementing load balancing algorithm.
From h1 to h3: (h1, s1, NFV, s6, s10, h3) [12] J. E. Klinker, “Multicast tree construction in directed networks,” in Proc.
From h1 to h4: (h1, s1, NFV, s1, s2, s4, s7, h4) IEEE MILCON, 1996, pp. 496–500.
[13] R. Mukherjee and J. W. Atwood, “Rendezvous point relocation in pro-
We run a simple python code on the NFV node. This code tocol independent multicast—Sparse mode,” in Proc. 10th Int. Conf.
will intercept every packet received from the UDP port 5005, Telecommun., 2003, pp. 469–475.
turn the text message inside into upper case. To send text from [14] M. Castro, A.-M. Kermarrec, and A. I. T. Rowstron, “Scribe: A large-scale
and decentralized application-level multicast infrastructure,” IEEE J. Sel.
h1 to h2 and h3, we use netcat command in Linux to send Areas Commun., vol. 20, no. 8, pp. 1489–1499, Oct. 2002.
UDP packet through port 5005. We use the IP address of h3 [15] W. Ralph and Z. Martina, Multicast Communications: Protocol and
as destination IP address of the multicast packets. Applications. San Mateo, CA, USA: Morgan Kaufmann, 2000.
[16] J.-F. Macq, L. A. Wolsey, and B. Macq, “A rendezvous point selection
First, we seek to validate the functionality of the multicast algorithm for videoconferencing applications,” in Proc. IEEE Int. Conf.
mechanism by sending the text messages from the host h1. The Multimedia Expo., 2002, pp. 689–692.
text message will first sent to the NFV node and processed by [17] K. Stachowiak and P. Zwierzykowski, “Rendezvous point based approach
to the multi-constrained multicast routing problem,” Int. J. Electron.
h2. And h2 will send the texts in upper case to the end users h3 Commun., vol. 68, no. 6, pp. 561–564, Jun. 2014.
and h4. [18] J. Batalle, J. Ferrer Riera, E. Escalona, and J. A. Garcia-Espin, “On
the implementation of NFV over an OpenFlow infrastructure: Routing
function virtualization,” in Proc. IEEE SDN4FNS, 2013, pp. 1–22.
[19] G. Xiongzi and L. Yi, “OpenANFV: accelerating network function vir-
B. Evaluation Result tualization with a consolidated framework in openstack,” in Proc. ACM
SIGCOMM, 2014, pp. 353–354.
The total set up time is 57.79 seconds, average bandwidth [20] M. Joao et al., “ClickOS and the art of network function virtualization,”
used by each link is 47.6 bytes/second and there is no packet in Proc. Uesnix NSDI, 2014, pp. 459–473.
drop. Assuming the overlay network is ready for use, the total [21] M. Michele, M. Fabio, and C. Antonio, “Stochastic planning for content
delivery: Unveiling the benefits of network functions virtualization,” in
setup time is the time from sending the user input to Routing Proc. IEEE ICNP, 2014, pp. 1–6.
Calculator until all the forwarding rules have been implemented [22] T. Wood, K. K. Ramakrishnan, J. Hwang, G. Liu, and W. Zhang, “Toward
on each switch. The total time used is less than 1 minute. Most a software-based network: Integrating software defined networking and
network function virtualization,” in Proc. IEEE Netw., 2015, pp. 36–41.
of time is spent on communication between virtual machines. [23] R. Riggio, T. Rasheed, and F. Granelli, “EmPOWER: A testbed for net-
work function virtualization research and experimentation,” in Proc. IEEE
SDN4FNS, 2013, pp. 1–5.
X. S UMMARY [24] B. Fortz and M. Thorup, “Internet traffic engineering by optimizing OSPF
weights,” in Proc. Infocom, 2000, pp. 519–528.
[25] K. Sayood, Introduction to Data Compression. San Francisco, CA,
In this work, we present the routing algorithms for building USA: Morgan Kaufmann, 2005.
the NFV-enabled multicast topology on SDN. We consider both [26] D. Williamson and B. Shmoys, The Design of Approximation Algorithms.
the static and dynamic scenario. Then we further studied the Cambridge, U.K.: Cambridge Univ. Press, 2010.
joint scheduling of multiple multicast sessions. We evaluated [27] “Appendix.”[Online].Available:https://docs.google.com/a/savinetwork.ca/
viewer?a=v&pid=sites&srcid=c2F2aW5ldHdvcmsuY2F8c2FpLXMtaG
the all the algorithms, and implemented the NFV-enabled mul- 9tZXBhZ2V8Z3g6NmQ2NTQ4MWE4Njc3M2UwNA
ticast mechanism on ViNO, an SDN launcher built on the SAVI [28] “Modeling topology of large internetworks.” [Online]. Available: http://
testbed. Experiments show that our algorithms produce near www.cc.gatech.edu/projects/gtitm/
[29] J.-M. Kang, H. Bannazadeh, and A. Leon-Garcia, “SAVI testbed: Control
optimal multicast topologies. and management of converged virtual ICT resources,” in Proc. IFIP/IEEE
IM, 2013, pp. 664–667.
[30] S. Bemby, H. Lu, K. Zadeh, H. Bannazadeh, and A. Leon-Garcia, “ViNO:
R EFERENCES SDN overlay to allow seamless migration across heterogeneous infras-
tructure,” in Proc. IEEE IM, 2015, pp. 782–785.
[1] C. Diot, B. N. Levine, B. Lyles, H. Kassem, and D. Balensiefen, “Deploy-
ment issues for the IP multicast service and architecture,” IEEE Netw.
vol. 14, no. 1, pp. 78–88, Jan./Feb. 2000.
[2] T. Hardjono and G. Tsudik, “IP multicast security: Issues and directions,”
Annales des télécommun., vol. 55, no. 7/8, pp. 324–340, 2000. Sai Qian Zhang received the B.A.Sc. degree from
[3] N. McKeown et al., “OpenFlow: Enabling innocation in campus net- the University of Toronto, Toronto, ON, Canada, in
works,” ACM SIGCOMM Comput. Commun. Rev. Archive, vol. 38, no. 2, 2013, where he is currently pursuing the Master’s
pp. 69–74, Apr. 2008. degree. His research interest includes traffic engi-
[4] “Network function virtualization—Introductory white paper.” [Online]. neering, routing algorithms, software defined net-
Available: https://portal.etsi.org/nfv/nfv_white_paper.pdf working, and network function virtualization.
[5] A. Iyer, P. Kumar, and V. Mann, “Avalanche: Data center multicast using
software defined networking,” in Proc. IEEE COMSNETS, 2014, pp. 1–8.
[6] J. Wen-Kang and L. Chun Wang, “A unified unicast and multicast routing
and forwarding algorithm for software-defined datacenter networks,” IEEE
J. Sel. Areas Commun., vol. 31, no. 12, pp. 2646–2657, Dec. 2013.
[7] X. Li and M. Freedman, “Scaling IP multicast on datacenter topologies,”
in Proc. ACM CoNext, 2013, pp. 61–72. Qi Zhang received the B.A.Sc., M.Sc., and Ph.D.
[8] S. Shen, L. Huang, D. Yang, and W. Chen, “Reliable multicast routing for degrees from University of Ottawa, Ottawa, ON,
software-defined networks,” in Proc. IEEE INFOCOM, 2015, pp. 1–9. Canada, Queen’s University, Kingston, ON, Canada,
[9] L. Kou, G. Markowsky, and L. Berman, “A fast algorithm for Steiner and University of Waterloo, Waterloo, ON, Canada
trees,” Acta Informatica, vol. 15, no. 2, pp. 141–145, 1981. respectively. He is currently a Postdoctoral Fellow
[10] S. Hougardy and H. Prömel, “A 1.598 approximation algorithm for the in the Department of Electrical and Computer Engi-
Steiner problem in graphs,” in Proc. 10th Ann. ACM-SIAM Symp. Discrete neering, University of Toronto. His research focuses
Algorithms, Soda, 1999, pp. 448–453. on resource management for cloud data centers and
[11] G. Rouskas and I. Baldine, “Multicast routing with end-to-end delay and applications. He is also interested in related research
delay variation constraints,” IEEE J. Sel. Areas Commun., vol. 15, no. 3, areas including network and enterprise service
pp. 346–356, Apr. 1997. management.
594 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015
Hadi Bannazadeh received the Ph.D. degree from Alberto Leon-Garcia (F’99) is Distinguished Pro-
the Department of Electrical & Computer Engineer- fessor in electrical and computer engineering at the
ing, University of Toronto, Toronto, ON, Canada. University of Toronto, Toronto, ON, Canada. He is a
After graduating, he worked at Cisco Systems as Fellow of the Institute of Electronics and Electrical
a Senior Network Software Engineer. In 2011, he Engineering “for contributions to multiplexing and
returned to the University of Toronto to lead the switching of integrated services traffic.” He is also a
efforts toward the creation of Canadian national test- Fellow of the Engineering Institute of Canada and the
bed as part of the Smart Applications on Virtual American Association for the Advancement of Sci-
Infrastructure (SAVI) research project. Since then, he ence. He has received the 2006 Thomas Eadie Medal
has been the Chief Testbed Architect for the SAVI from the Royal Society of Canada and the 2010
project. His main research interest is in the field of IEEE Canada A. G. L. McNaughton Gold Medal for
software defined infrastructure (SDI) including software defined networking his contributions to the area of communications. He is author of the leading
(SDN), and cloud computing. textbooks: Probability and Random Processes for Electrical Engineering, and
Communication Networks: Fundamental Concepts and Key Architecture. He
is currently Scientific Director of the NSERC Strategic Network for Smart
Applications on Virtual Infrastructures.