## 2 Related Works  
Several studies were proposed to select a path to route flows to destination based on certain routing metrics as summarized in Table 1. Deploying a Distributed Routing Fabric was among the state of art routing techniques [17]. Other schemes are [18; 19; 20]. A Quagga [18] scheme provides an implementation of TCP/IP routing protocols. Similarly, RouteFlow [19] is another technique that implements an IP level control plane on top of an OpenFlow network, allowing the underlying devices to act as IP routers under different possible arrangements. However, the proliferation of IoT devices increases the arrival of flows and flows tend to have different Quality of Service (QoS) requirements. Thus, meeting the QoS demand for different flows may be quite a challenging task [21]. Although the restoration approach has more flexibility in managing real-time flows. Hence, it cannot meet carrier-grade requirements in a large-scale network serving many flows [22]. In contrast, protection may have better forwarding performance, but at the cost of flowtable space. As such, it is challenging to find the best routing path considering the trade-off between flow table operation cost and path cost [23]. [PERSON] et al. [24; 25] presented a local restoration scheme with a minimal number of flow operations for disaster scenarios. The scheme minimizes the cost of flow table update operations and also the number of hops based on a threshold value. [PERSON] et al. [12] proposed the selection of the best path by examining the existence of shared links between candidate paths since shared links demonstrate the ability to reduce flow table rule consumption. The path with a maximum number of shared links is chosen. However, the chance of overflow and imbalance of network load increases when the utilization ratio of switches becomes high. To balance the network load, [PERSON] et al. [26] presented a path selection method based on significant nodes, and flow prediction using Deep Neural Networks (DNNs) and Q-learning techniques. The use of DNN is quite effective for searching optimal path-based constraints. However, it requires statistical history data which may be ineffective in SDN due to memory constraints [9]. [PERSON] et al. [15] considered latency and packet loss to design path selection. Delay-sensitive flows are routed through a path with minimal delay, other flows are routed via a path with lower packet loss. Similarly, [PERSON] and [PERSON] [27] presented a QoS-aware path selection algorithm to speed up rerouting of time-sensitive flows for real-time applications, which spare the bottleneck links causing the infeasible scheduling. However, the work in [15; 27] did not consider the switch load during the path selection decision. Link latency and the ratio of the link delivery should also be considered to guarantee the quality of the link selected. Thus, QoS-driven and SDN-assisted MPTCP path selection scheme (QSMPS) for high-quality transmission service was proposed in [28]. QSMPS utilizes a scalable SDN-assisted approach to monitor and analyze network status information. QSMPS calculates the optimal number of sub-flows and distributes them to the least differential delay paths accordingly. However, an optimal path based on residual bandwidth may not always guarantee the requirements of different flows. Other flows may prefer minimal setup latency and link quality that reduces frequent link changes due to topology changes. Consequently, [PERSON] et al. [29] presented a greedy heuristic scheme based on [PERSON]'s k-shortest path algorithm to compute optimal routing paths while considering QoS requirements for each flow. Multiple metrics are jointly considered (packet loss, delay, and bandwidth). An integer linear programming is utilized to solve the multi-constrains optimal QoS-aware route. However, an ILP based solution may lead to slow convergence in large-scale networks with frequent topology changes. [9]. [PERSON] et al. [16] introduced Video Path Selection Algorithm (VPSA) for multimedia flows.