Delay Bounded Multi-Source Multicast in Software-Deﬁned Networking

.


Introduction
As a promising centralized control architecture, Software-defined networking (SDN) enabled by OpenFlow protocol, allows the control plane to be programmable for effective optimization of the network resources and support various network dynamics [1][2][3].This is made possible by separating the control plane and data plane in a network into two main components; controllers (SDN-Cs) and forwarding elements (SDN-FEs) [4][5][6][7].Forwarding elements in switches are flexible to support various forwarding rules for different traffic.One or more controllers are responsible for taking control plane from the switches and installs the corresponding forwarding policies through secured interfaces.Figure 1 illustrate the basic architecture of SDN.The separation of the application logic from the forwarding substrate greatly facilitates the deployment and operation of new services and enables SDN to react gracefully to changing network demands and modifications to the substrate topology [8].OpenFlow is the most common protocol used in SDN networks.It enables the controller to communicate with all the Network Elements.Multicast benefits in saving the bandwidth consumption and reducing the load on the source by avoiding unnecessary duplication of transmissions among a group of independent unicast paths towards destinations, after multiplexing a shared multicast tree.Despite such bandwidth superiority, multicast has not been optimally utilized by the Internet during the past decades.Recently, it has achieved some successful network-level deployments in datacenter networks [9], enterprise networks and IPTV networks [10][11][12][13].Research proposals dealing with the construction of multicasting trees that satisfy various constraints under single source scenario are abundant in the literature.For example, the problem of constructing a single source serving a single multimedia stream wherein minimum delay is desired can be solved efficiently by constructing a single source shortest path tree and pruning subtrees that do not have a destination node.In cases where the delay bound, delay variation bound, node degree bound, and others are desired the multicasting tree construction problems have been shown to be NP-hard [14,15].
One of the existing multicast routing standard protocols is Protocol Independent Multicast Spare Mode (PIM-SM) [16], which connects the source and destination nodes through a shortest-path tree.PIM-SM presented a solution to the problem of routing multicast packets in large, wide-area internets.This approach uses constrained, receiver-initiated, membership advertisement for sparsely distributed multicast groups.In most multicast techniques, however, the characteristics of a multicast group, like a source node is known in advance.This case is referred to as a deterministic multicast.In many cases, however, the characteristics of a multicast transfer are not known in advance.It is not always necessary for the source of a multicast transfer to be in a specific location, as long as certain constraints are met.A major reason is the widely used content replica design for improving the robustness and efficiency in various networks, such as the content distribution network [17,18], IPTV networks and datacenter networks.In those networks, any node with a replica content can act as a potential source.When delivering a content file to multiple destinations, the source of such a multicast transfer can be any of the replica.This causes multi-source multicast due to the source flexibility.The SDN controller is able to determine which nodes have the replica as it constantly gets updated information regarding the network.
In this paper, we focus on the multicast tranfer, the delay bounded multi-source multicast, which aims to provide and demonstrate the effectiveness of utilizing more than one source node in an SDN environment.Given a network topology, a set of potential source nodes, a set of destination nodes and a delay bound, the DBMS scheme build minimum delay cost trees with a delay constraint from each potential source node to each destination node, which eventually forms a DBMS-Forest.Minimum delay cost tree in this paper refers to a tree that consists of minimum delay cost links from the source node to its multicast nodes.Combining the processes of tree building with a delay bound constraint and potential source node selection is novel and difficult to solve as these processes are closely related and impact each other.
We prove that DBMS problem is NP-Hard.A simple approach would be to divide DBMS as a set of single-source multicasts, each with a different source node.The SMT with the least delay cost among such multicasts just acts as the DBMS of the multi-source multicast.This way, however, suffers from the complexity of solving a set of NP-hard SMT problems.Moreover, the DBMS under non-single sources may may have a total cost less than the picked best SMT with a single source.Thus, prior approaches, relying on traditional multicast, remain inapplicable to the DBMS proposed in this paper.To solve the DBMS problem efficiently, we propose a DBMS algorithm which consists of two sub algorithms.The algorithm selects one of the sources to establish routing paths towards its destination nodes.DBMS algorithm seeks shared nodes among such paths to enhance the possibility of aggregating more links.Thus, it can reduce the number of employed links while ensuring that the delivered content reaches each destination within an acceptable delay.Having multiple potential source nodes ensures that the congestion at the sources will be greatly reduced, on the other hand, the delay bound constraint is an important factor that ensures the quality of service.Our contribution in this work can be summarized as follows:

•
The DBMS problem is formulated as a mixed integer linear programming (MILP) problem, and the problem is found to be an NP-hard problem.

•
To solve the problem, we propose a DBMS algorithm to ensure that a destination node connect to the potential source node through a minimum delay cost path.Out of the source nodes set, the DBMS algorithm selects a particular potential source based on the total delay cost from the destination node.It ensures that a destination node connects to only one source.By selecting the source with less delay cost, our algorithm ensures that the overall delay cost of the DBMS-Forest is minimized.Based on the formulated MILP, our algorithm bound the end-to-end delay cost path from each source to its multicast nodes.

•
We conducted extensive simulations to evaluate the proposed technique feasibility and usefulness and also compared the performance of our technique with the previous work in literature.
The simulation results demonstrate the effectiveness of our solution.
The rest of this paper is organized as follows; In Section 2 the related work is reviewed and discussed.Section 3 presents the system architecture; other corresponding aspects, including Traffic Delay Cost Measurement, Topology Discovery and Multicast Routing Model, are also described.We present the problem description in Section 4. The DBMS algorithm is designed in Section 5. We present the performance evaluation and results of our experiments in Section 6, and finally concluding remarks are given in Section 7.

Related Work
In recent years, a lot of research has been devoted to the development of multicast routing algorithms to construct a delay constrained Steiner tree.S. Li et al. [19] considered an algorithm for constructing delay bounded minimum cost multicast trees.This idea and several other solutions were proposed in the literature.Based on their design objectives, the proposed solutions can be viewed as members of one of two possible classes.The first class solutions include algorithms which are designed to accommodate Internet environments.The second class is more based on algorithms which aim at reducing the cost of the multicast tree, while bounding the end-to-end delay.
Kompella et al. [20] gave the first heuristic for delay constrained minimum Steiner tree problem, normally referred to as KPP.This heuristic computes a constrained closure graph which takes approximation time of O U|V| 3 .When the link delays and the user specified delay bound (U) takes non-integer values, KPP multiplies out fractional values to get integer and V is the set of vertices.Following this approach, KPP is guaranteed to construct a constrained tree if one exists.The bounded shortest multicast algorithm (BSMA) is another delay-constrained minimum Steiner tree algorithm that is considered the best in terms of tree cost [21].This algorithm iteratively replaces the edges in the tree until the tree cost cannot be further reduced.BSMA used k-shortest path algorithm to find lower cost edges.The time complexity for BSMA is O K|V| 3 log|V| , where K may be very large in cases of large, densely connected networks and it may be difficult to achieve acceptable running time.The approaches of the above mentioned algorithms are limited to a single source on a normal network as opposed to multiple sources in SDN that we have considered in this paper.The utilization of the SDN controller and traffic engineering can make the above algorithms more effective as they are based on the traditional networks.A fast and effective algorithm which approximates the SMT problem using a minimum spanning tree (MST) was presented in [22].
Other algoritms based on greedy strategies achieve better approximation ratio of about 1.693 in [23] and 1.55 in [24].These methods can incur considerably high time complexity than the MST approximation algorithm.Although the fast SMT algorithm does not achieve the optimal approximation ratio, it significantly saves more computation time than other algorithms.Therefore, it is more suitable for large multicast groups and large-scale networks than other algorithms.Such SMT algorithms, however, remain inapplicable to the DBMS problem proposed by this paper as they are based on a single source multicast.Fortunately, the emergence of SDN makes it possible to realize novel multicast protocols.A new SDN based reliable multicast routing algorithm by S. Shen et al. [24], called RAERA is a typical example.Given any multicast group, RAERA constructs a shortest-path and reliable multicast tree.It enables each destination to retrieve content from at least one reliable recovery node along the path towards the source if necessary.
Table 1 lists some papers in literature based on multicast routing on SDN and their major contributions.Authors in [3] studied the relationship between cost and coverage in the partially deployed SDNs.They deduced that after such partial deployment, the benefits of SDN potentially extend over the whole network through the SDN-enabled nodes.The most related research work involving routing with multi-source was done by Z. Hu et al. [25].This work involved utilizing the aspect of uncertain source nodes, however it leaves out the important factor of traffic delay constraint that we study in this paper.× Delay-bound single source multicast RAERA [24] × Recover-aware Steiner Tree MUcPF [3] × × Partially deployed SDNs P-MCF [25] × Multicast with uncertain sources This paper Delay-bound multi-source multicast Another closely related work was done on multi-source multicast in [26], which deals with delivering a stream from multiple sources to a group of destinations.For each multicast stream, the MMForest algorithm can establish a multicast forest to span all destinations and sources under the constraint of achieving the maximal residual bandwidth.The MMForest is designed based on the existing Widest-Path Forest algorithm, which prefers to select those links with higher residual capacity.This simply means that different multicast streams have to design their MMForests cooperatively.However, most multicast streams are usually independent.The MMForest method focuses on the design constraint of optimizing the residual bandwidth under a set of multicast streams.The MMForest basic idea does not deviate much from the most straightforward multicast trees.The destination selects one path with the largest residual bandwidth towards all sources, and then merges those selected paths from all destinations.This method is highly probable to loose non-trivial opportunities to maximize the number of shared links among the individual paths.

Architecture
The design of the DBMS SDN system is illustrated in Figure 2. Four modules are designed for the DBMS scheme in the control plane.

Traffic Delay Cost Measurement Module:
This module is tasked with implementing traffic delay cost on network links using tracking, and reports each link delay cost as defined in Section 4 every time a routing calculation is performed.Traffic delay cost is implemented through periodic polling of all switches in the network with OpenFlow queries (as defined in the OpenFlow v1.0 specification [27]), similar to the approaches presented in [28,29].The controller reads the counters from all flows on all switches at a fixed measurement interval, analyzes the counters, and generates statistics to report to the network operators.The controller also dynamically adapts the rules based on the counter values from previous measurement intervals.In practice, this interval is limited by how quickly the controller can read the counters from the flows and generate the rules for the next interval.In our experiments, the interval ranges from seconds to minutes.Query times for each switch are randomly staggered, based on the time at which the switch first connected to the controller.This approach has known drawbacks, as continually polling the network introduces potentially unnecessary overhead in the control plane.This implementation could be improved by adopting a passive utilization tracking approach, such as the approach presented in [30].This module maintains a map of least delay cost links keyed by switch DPID and port number, which the module queries when calculating total delay cost.When calculating link delay cost, it is assumed that all tracked links in the network have a uniform maximum bandwidth since there is no mechanism for querying the maximum bandwidth supported by a particular port in OpenFlow 1.0.This mechanism is provided in later versions of the OpenFlow specification.
Topology Discovery Module: This module implements topology discovery through Link Layer Discovery Protocol (LLDP) polling.By using the information obtained from the topology discovery module we can construct the network topology graph G(V, E), where the node set V corresponds to the switches and the link set E corresponds to the links.Then, the data that is relative to the topology graph G would be sent to the tree construction module to build up the tree.
Source Node Selection Module: This module work closely with the Tree Construction module since for a tree to be constructed the information about its root is very vital.This module is responsible for selecting a potential source node from the potential source nodes set |S|.After the topology has been discovered, this module will get the information about the destination nodes set |D| and the potential source nodes set |S|.This information is then used to select the potential source node for each multicast nodes based on the MILP presented in Section 4 using Algorithm 3.
Multicast Routing Model Module: This module implements detection of multicast potential sources, multicast tree calculation, and installation/removal of OpenFlow rules to direct multicast traffic.Least delay path tree calculation is performed for each combination of multicast potential source IP address and destination IP address using DBMS-DelayPath Algorithm 1. Whenever a multicast receiver joins or leaves a multicast group for which a potential source has been identified, the multicast tree calculation and flow installation is performed.Routing is considered separately for each multicast group, and no flow aggregation between separate multicast groups is implemented.

Problem Formulation
In this section, we firstly look at the important observations about our DBMS scheme, thereafter we present the problem formulation and prove its NP-hardness.Lastly, we present a mixed integer linear programming model for the DBMS scheme.
Multicast is a natural approach of routing content from a source to a set of destination nodes.Unlike the unicast, it benefits in efficiently saving the bandwidth consumption and reducing the load on the source.The total cost of a multicast tree, which spans the single source and all destinations is widely used as the performance metric of a multicast.In most cases, the cost of multicast tree depends on the amount of links occupied without considering the diversity that exists among the network links.To minimize tree delay cost, given a multicast group, many approximation methods like in [19] have been proposed to construct the SMT.Given the same set of destinations, the delay of a multicast group is sensitive to the selection of the source.In many situations, the content replica design [18] can be used to ensure that the source of a multicast transfer does not necessarily have to be located in a specific location.
A simple method for exploiting such opportunities is to calculate the SMTs for multicast groups with same set of destinations but different sources.When multiple sources participate simultaneously, a more efficient multicast can be formed.The best picked SMT with a single source may not be the optimal selection when using multiple sources.Such a preferred design of having multiple sources participating simultaneously, however, cannot be achieved by the approaches in the literature, which are relying on a traditional single-source multicast.Those approaches remain inapplicable to the DBMS problem we are proposing in this paper.Since we focus on the delay bounded multi-source problem in the data forwarding plane, we assume that each switch connects to the controller with a direct link in this paper.
The topology of the network without the controller is modeled as a di-graph G(V, E), where V denotes the set of nodes (switches), and E denotes the set of edges (links) among the nodes.Each link e ∈ E is associated with a delay cost δ (u,v) i.e., for link (u,v).Given a destination set D ∈ V and a potential source set S ∈ V, DBMS tries to deliver the content to the whole set of destinations in D from partial or even all potential sources in set S. There is a constraint that each destination in set D must just reach to one and only one potential source in set S. This simply means that when set S contains only one source, then the DBMS is actually equivalent to the deterministic multicast.This does not impose any constraint on the selection of used sources for each destination d ∈ D. Therefore, DBMS will still be a deterministic if all destinations access any s ∈ S as their common source even if |S| > 1.The transmission delay cost of DBMS is basically dominated by the strategies of using such sources, hence, in the following paragraphs we explain the process of constructing a DBMS-Forest.DBMS-Forest in this case is a product of minimum delay cost trees formed by the DBMS scheme.The DBMS scheme creates DBMS-Forest from trees spanning each destination d ∈ D with only one source, such that the total delay of utilized links in each tree is minimized.Any pair of source nodes s 1 and s 2 appearing in a multicast tree must be isolated into different trees.
Isolating the source nodes ensures that no destination node can be reached by more than one source node, as this can increase the delay cost of the resultant DBMS-Forest.This will also reduce the congestion at each source.Thus, if there are k potential sources in S, then the DBMS-Forest will consists of k isolated trees, each of which roots at one of those k sources.The DBMS becomes the deterministic multicast when the source set contains only one element.Thus the process of constructing the DBMS-Forest is more similar to constructing a SMT, which is NP-hard problem in a general graph.However, the construction of DBMS-Forest is more challenging than the SMT problem in general setting, because it involves using multiple potential source nodes and also enforce the delay bound constraint to ensures the quality of service.

Theorem 1.
Given a DBMS problem with potential source set |S| and a destination set |D| in a network G(V, E), the challenge of finding the paths for each source-destination pair such that the total delay cost among the links is a minimum is NP-Hard [31].
Proof.We prove the NP-hardness of constructing our DBMS-Forest by giving a polynomial time reduction from SMT, which is an NP-hard problem.To solve this, the SMT problem for DBMS must be considered first, meaning we have to find an SMT for spanning all the destination nodes and source nodes of that DBMS.Clearly, the optimal solution of this SMT problem cannot be found within polynomial time.Note that |S| 2 source pairs exist in the optimal SMT and each source pair are connected by only one path.The path between any two sources contains at least one redundant link.A link is considered to be redundant only if each destination node can still reach at least one source node even after the removal of that link.Therefore, the SMT problem of a DBMS would be reduced to the DBMS-Forest by removing all the redundant links in the optimal SMT.The process of removing potential redundant links can be completed within polynomial time.Then, the remaining links in the original optimal SMT form a DBMS-Forest, where each destination connects to only one source.Therefore, the process of constructing the DBMS-Forest using our DBMS scheme is also NP-Hard.Note that the network flow techniques that was used to find heuristic solutions in [31] cannot be applied to our DBMS scheme as our scheme requires multicasting as explained in the coming sections.

Mixed Integer Linear Programming
We design a Mixed Integer Linear Programming (MILP) formulation for the DBMS problem.Let Nv denote the set of all neighbor nodes of node v in G, and u is in Nv if (u,v) is a link from u to v. Let |S| denote the potential source set of the DBMS scheme, and |D| denote the destination set.The DBMS scheme needs to ensure that there is only one path in each tree from every destination node d ∈ D to only one source node s ∈ S in output DBMS-Forest.Assuming that path P from the multicast source node s ∈ S to the destination node d ∈ D satisfy the delay bound δ.Given G(V, E), S, D and δ, the DBMS scheme's task is to construct a DBMS-Forest, consisting of trees T (V`, E`), such that V`⊆ V, E`⊆ E, and (i) δ(T) is minimum, (ii) ∀d ∈ D∃P such that P is a path from s to d in T, and δ(P) ≤ δ.
To achieve this goal, our DBMS scheme includes the following binary decision variables.All other major notations used in this paper are listed in Table 2.
Let binary variable (d,s) denote whether a destination node d selects a source node s as the root node.Meaning, there is a path from d to s if (d,s) = 1.In this setting, let binary variable π (d,u,v) denote whether link (u,v) is in the path P from the destination node d to the source node s.Let binary variable ε (u,v) denote whether link (u,v) is in the output tree T. Intuitively, we should find the path from each destination d to just one source node s with (d,s) = 1.Thus, every link (u,v) in the path has π (d,u,v) = 1.
Let binary variable δ (u,v) denote a delay that a packet experiences across link (u,v).Given the above notation, the delay experienced by a packet traversing a path P is defined as δ The routing of the resultant DBMS-Forest with ε (u,v) = 1 for every link (u,v) in the DBMS-Forest can be achieved by the union of the paths from all the destination nodes in D to at least one source node in S. Our goal is to find trees with minimum delay cost as defined in Equation (1) under the delay constraint defined in Equation ( 2).This means that, we need to solve the following problems; Denote whether a destination node d selects source node s as the root node where the weight δ (u,v) denote the delay of link (u,v), and ∀d ∈ D where, P (s,d) is a path on tree T from s to d and (u,v) is a link on P (s,d) .The bounded delay requirement is additive over individual paths from every s to its destinations d on the tree T. To ensure the existence of such a tree which satisfies Equation ( 2), the following condition must hold, where SDP (s, d) is the Shortest Delay Path from source s to destination d: Otherwise, a routing tree which can meet the delay bound δ does not exist.

Constraints
To find ε (u,v) , our MILP formulation include the following constraints, which explicitly describe the routing principles for DBMS tree creations; For every destination node d ∈ D, the first constraint (4) ensures that there exist only one source node s ∈ S such that there exists at least one path from d to s in the output tree T. Equations ( 5)-( 7) impose constraints on finding the path from every destination d in D to its source s.More precisely, given any destination node d, s is the source of the path towards d.
Constraint ( 5) implies that only one link (s,v) from s to any neighbor node v needs to be selected with π (d,s,v) = 1.At the same time, it ensures that there exists only one path from s to d, and any pair of source nodes in the output tree T is isolated.On the other hand, every destination node d is the flow destination.
Constraint ( 6) ensures that only one link (u,d) from any neighbor node u to d must be selected with For any other node u in graph G, we can infer from constraint (7) that it is either located in the path P from s to d or not.If u is located in the path P, then u has one incoming flow in the path with one binary variable π (d,v,u) = 1 and one outgoing flow in the path with one binary variable π (d,u,v) = 1.
Otherwise, π (d,v,u) = 0 and π (d,u,v) = 0.It is important to note that, according to the objective function, π (d,v,u) = 1 is set for just one neighbor node v so as to minimize the delay cost of outgoing tree T.
The last 2 constraints (8) and ( 9) desires to find the routing of the outgoing tree, i.e., ε (u,v) .More specifically, ε (u,v) must be 1 if link (u,v) is in the path between at least one pair of source node s and destination node d, i.e., π (d,u,v) = 1.The output DBMS-Forest is the union of all the trees created.

DBMS Routing Algorithm
The DBMS problem is an NP-hard and cannot be solved in polynomial time.Therefore, in this section, we designed DBMS algorithm to solve the problem.The focus is on designing an efficient method to select a potential source node from the source node set S for the multicast nodes, then construct minimum delay cost trees within a certain delay bound constraint for the DBMS-Forest.The quality of service for the tree construction is enforced by the delay bound constraint.

Transformation of the Problem
In other for us to solve our problem, we transform the multi-source multicast problem into an ordinary flow network with only one source node.Given a network G(V, E), potential source nodes set S and a destination nodes set D, we introduce a virtual source node to which all the potential source nodes set S members connect to.The potential source nodes are all directly connected to the virtual source node with a delay cost δ(u, v) = ∞.This will ensure that a minimum delay cost path P, from the virtual source node to any destination node d, passes through one of the potential source node s.That particular potential source node s on the minimum delay cost path P, becomes the source node of that particular destination node d.
Example 1.Consider Figure 3 as an illustration of how our DBMS-Forest in a small scale network of undirected graph is formed.Let G(V,E) be the SDN network, where V denotes the set of nodes (switches), E denotes the set of links among the nodes and the virtual source node v.The potential source node set |S| = (s 1 , s 2 , s 3 , s 4 ) and destination node set |D| = (a, b, ...l).Each link is weighted with a delay cost.Since SDN can coexist with any topology that is listed below it, in our example topology we only show SDN nodes (switches) without the controller for simplicity.The introduction of a virtual source node v on this topology enables us to convert the problem of multiple sources into an ordinary flow network with only one source node.All the potential source nodes are directly connected to the virtual source node v with a delay cost δ(u, v) = ∞.All minimum delay cost paths from the virtual source node v to any of the destination nodes have to pass through one of the potential source nodes.That potential source node will then be the ultimate source for that destination node.When our DBMS algorithm is implemented using this topology, the SDN-Controller is able to find the minimum delay cost path for each destination node that satisfy the delay bound δ.In Figure 3b the DBMS-Forest of topology in Figure 3a is displayed and each source node is isolated from other source nodes in the tree.The assumption is that the delay cost is symmetric, i.e., the values are equal for both directions of a link.The source node of each multicast tree becomes the root node.Our Algorithm 3 is able to construct the DBMS-Forest for any kind of topology that satisfy our routing constraints as long as all the necessary inputs are provided.
The main idea of DBMS-DelayPath algorithm (Algorithm 1) is to calculate the minimum delay cost as well as finding the minimum delay path between any two nodes.DBMS-DelayPath is based on the well known Floyd Algorithm.The algorithm firstly create a delay table and then iteratively find the delay cost between the adjacent nodes (lines 1-9).The sequence table is then created with all the delay paths between any two nodes and the minimum delay (lines 11-18).In Algorithm 1, the complexity of all the iterations is O ).Thus the complexity of Algorithm 1 is O(|V| 4 ).DBMS-MST Algorithm 2 is tasked with creating the minimum spanning tree.In Algorithm 2, the complexity of lines (5-10) is O((|D| + 1) 2 ).Thus the complexity of Algorithm 2 is O((|D| + 1) 2 ).Fill each cell C[i, j] in D k using the following conditions  As we suggested in Section 1, the DBMS scheme can be treated as a set of deterministic multicasts, each with a different source.Accordingly, we select the SMTs with the least delay cost to form the DBMS-Forest of the DBMS scheme.This method suffers the complexity of solving a set of NP-hard SMT problems.The DBMS scheme involving multiple sources may cost less total delay cost than the picked best SMT; hence, the prior approaches for traditional multicast remain inapplicable to the proposed DBMS scheme.
For this reason, we propose the DBMS algorithm.Algorithm 3 summarizes the procedure of solving our MILP for Equations ( 1) and (2).In line 2, Algorithm 3 will creates a set Q, then add the virtual source to that set.In line 5, Algorithm 3 will compare the delay cost of path P from the virtual source to each destination node with the input delay bound δ.The algorithm will add to set Q (lines 6-11) all the nodes that satisfy the delay bound, then use Algorithm 2 to find in set Q, the minimum delay cost from each potential source node s ∈ S to each destination node d ∈ D according to our MILP presented in Section 4.
Result: A DBMS-Forest, formed by the minimum delay cost trees rooting at each potential |S|, the |D| that do not satisfy the δ.The path to the destination node does not satisfy the delay bound.

Complexity Analysis for Algorithm 3
We analyse the time complexity of Algorithm 3 in the following steps.Firstly, we have to calculate the least delay cost paths from all destination nodes to all potential source nodes and among the |D|.The number of the least delay cost paths will be (|S||D| + |D||D−1|

Performance Evaluations
In this section, we employed both small real networks and massive synthetic networks to evaluate our DBMS scheme by simulations.The implemented prototype was evaluated through network emulation of representative topologies and workloads using Mininet [33], which is popularly used for emulating OpenFlow network environments.All switches in the Mininet network are implemented using real instances of OpenVSwitch v1.4.6, and links are implemented as paired virtual interfaces.From the perspective of the network controller, a Mininet emulated network is indistinguishable from a physical SDN network.All results presented here were produced by parsing the output logs of the network controller, hence, the same evaluation techniques could be applied to a physical SDN Network.The software components of the experiment are installed on a Lenovo Ideapad Y50-70 laptop with the specifications illustrated in Table 3. Table 4 illustrate the tools and technologies used to carry out the experiment.A general-purpose programming language with a bias towards systems programming.

Simulation Setup
As we have shown in Sections 4 and 5, the efficacy of the proposed algorithms does not rely on specific network factors, such as system topologies, source or destination nodes placement and request patterns.IBM ILOG CPLEX Optimizer [37] is adopted to solve the MILP model presented in Section 4. We simulate the routing algorithms with randomized configurations.Through this experiment, we demonstrate the DBMS scheme routing with respect to total delay cost, execution time, multicast nodes and delay bound for each individual deployment of the network.We compared the performance of our DBMS scheme with the following algorithms: (1) slightly modified recover aware edge reduction algorithm (RAERA) [24], which we renamed to mRAERA, (2) the shortest-path tree algorithm (SPT), (3) a Steiner tree (ST) algorithm [38], (4) KPP and (5) Integer Programming solver CPLEX, which finds the optimal solution of the DBMS scheme by solving the MILP formulation presented in Section 4. RAERA was slightly modified by introducing multi-sources since it was mainly based on single source multicast.
The source nodes set |S|, destination node set |D| and delay bond (δ) will be given as a priority for SDN deployment [39].The destination and source nodes sets are selected randomly independent of traffic matrix similar to in [3].Table 5 shows the detail of the experiment parameters used in the simulated scenario for this paper.

Small Real Networks
Under this subsection, we implement our algorithm on real network called Biznet.In order to observe the performance of DBMS in total delay cost and execution time, we compare it with the solution of the MILP model which is solved using the IBM ILOG CPLEX Optimizer [37].CPLEX is able to find optimal solutions for small instances for our MILP problem.Biznet is available on the internet topology zoo at http://www.topology-zoo.org/dataset.html.The potential source nodes set |S| spans from 2 to 10 and destination nodes set |D| from 5 to 13.We also compare the performance of our DBMS scheme with that of mRAERA, SPT and ST.
Figure 4a shows that in general, as the number of source nodes increases from 2 to 6, the execution time decrease for all the algorithms.The execution time that the SDN controller will take to create the DBMS-Forest reduces because more source nodes enables more destination nodes to connect to the suitable sources faster.As the number of source nodes increases, the probability of more destination nodes being closer to those source nodes becomes higher as well, and hence less links from source to destination node.Our DBMS scheme performs much better than the mRAERA, ST and SPT.The execution time of DBMS is very closer to the optimal solution generated by CPLEX.
We can deduce from Figure 4b that increasing the number of destination nodes increases the total cost delay.As the number of destination nodes increases from 5 to 13, more links are being added to the multicast trees, meaning that the trees generated will be larger.DBMS scheme still manage to find better minimum total delay cost compared to mRAERA, SPT and ST.The total delay cost solution generated by DBMS is very closer to the optimal solution.On the other hand, the total delay cost can be reduced by increasing the number of source nodes as demonstrated by Figure 5. DBMS scheme utilizes the delay bound effect to insure that only the destination-source nodes pair with the minimum delay cost are connected.As the number of source nodes increases from 2 to 10, the total delay cost for mRAERA, SPT and ST decrease as well, but at a slower frequency compered to the DBMS.This demonstrate the positive effects of DBMS on SDN multicast as the number of source node increases.The DBMS solution is very similar to the optimal solution in this regard and reduces the total cost by about 34% when compared to mRAERA.

Large Synthetic Networks
In this subsection, we used Inet-3.0[36] to generate large synthetic networks with a mean degree of 4 by default.We then applied the involved algorithms to evaluate the delay cost between every pair of neighbor nodes, assuming one shortest path between every neighbor pair.Network |V| spans from 4000 to 10,000, potential source nodes set |S| from 20 to 60, destination nodes set |D| from 20 to 100 and delay bound (δ) from 20 ms to 9000 ms.All links are considered to be bi-directional with the capacity of 1Gbps for each direction.First, we randomly generate a number of matrices of variable size and select the edge nodes (source and destination nodes) randomly.The performance metrics include (1) total delay cost, (2) delay bound, (3) impact of the number of sources |S| nodes and (4) impact of the number of network size [number of multicast nodes].Figure 6a depict that the total delay cost for all the algorithms increases with the increase in the delay bound (δ).DBMS performs much better than mRAERA and other algorithms in this regard.A higher (δ) means that a destination node d is allowed to connect to a source node s along a path with many links.A very low (δ) will results in a very low total delay cost, but with the disadvantage of many source-destination pair path delay cost failing to satisfy the (δ).DBMS performs at about 25% better that mRAERA, SPT, ST and KPP since it pays particular interest on selecting a minimum delay cost path based on the (δ).As the network size |V| and the number of multicast node increases, so is the total delay cost as depicted by Figure 6b.As |V| increases, the expectation is that |S| and |D| will also increase, hence the increase on the total cost delay for all the algorithms is not that huge.The efficacy of DBMS is well demonstrated as it still outperform the other algorithms.Figure 7a clearly indicates that the number of links decreases with the introduction of more source nodes under the entire algorithms investigated.Generally, more source nodes on the network ensure that trees are required to span fewer nodes in a path from source to destination.This result shows the effectiveness of increasing the number of source node on an SDN multicast as compared to having the usual single source multicast.DBMS produces less number of links as it was designed with the intension to utilize the multiple source concept as compared to the other algorithms.As the sources are disconnected into various trees on DBMS, the number of links is greatly reduced as demonstrated by Figure 3 on Section 5.
In Figure 7b the effects of the delay bound (δ) is clearly visible on the number of link created by all the algorithms.Increasing the delay bond (δ) allows a situation where the source-destination pair can be far away from each other, and hence spanning more links.Unlike mRAERA, SPT, ST and KPP, DBMS is designed to accommodate and responds to limited delay bound (δ).DBMS is the best performer on this regard as expected, since the number of links is closely related to the total delay cost.

4 Figure 3 .
Figure 3.An example of how our DBMS scheme is able to create minimum delay cost trees that form the DBMS-Forest.

7 end 8 for every adjacent v of u, do 9 if v ∈ H, then 10 Update
key values of v in H if delay of link (u-v) < u.

13 Call
DBMS-MST on set Q to get the minimum spanning trees 14 Return the DBMS-Forest 15 end

Figure 4 .
Figure 4. Impact of (a) the number of source nodes |S|, and (b) the number of destination nodes |D| on Execution Time (in log-scale) and Total Cost (delay) respectively.

Figure 5 .
Figure 5. Impact of the number of source nodes |S| on Total Cost (delay).

Figure 6 .
Figure 6.Impact of (a) the delay bound δ, and (b) the network size |V| on the Total Cost (delay).

Table Result :
Minimum Delay and the delay path between any two nodes.Create a delay table D k and sequence table S k in k th iteration

end 15 else 16
table.At the end of the k th loop, we get the required table with the minimum delay paths.Insert all vertices into H such that key value of starting vertex is 0 and other vertices is set to ∞ 9Fill the cellC[i, j] in D k table with value d[i, j] of D k−1table.10 end 11 On the sequence table 12 if C[i, j] and C[j, i] in D k and D k−1 are the same, then 13 Fill C[i, j] and C[j, i] in S k table with S k−1 value.14 2 Create an array of size v and initialize it to NULL 3 Create a min Priority Queue H of size v 4 5 if H is not empty, then 6 u = extractmin(H).
Compare the total delay cost of the path P, from the virtual source node to |D| with the delay bound δ, according to equations (2) and (3) 1 begin 2 Create Graph G with a virtual source node 3 Create set Q which include the virtual source node 4 Connect all nodes in set |S| to the virtual source node, with δ(u, v) = ∞ 5 Call DBMS-DelayPath to get the minimum delay cost path between the virtual source node and |D| 6

Table 3 .
Hardware specification used for the experiment.

Table 4 .
Software Used in implementation of the experiment.