# MPResiSDN: Multipath Resilient Routing Scheme for SDN-Enabled Smart Cities Networks
## 3 Related Work  
SDN is a revolutionary technology that provides advanced features to infrastructure networks. Opportunities to exploit SDN to improve smart city networks are endless. Researchers have investigated exploiting SDN to improve different aspects of smart city networks, such as network security, network performance, big data processing, load balancing, traffic management, and surveillance applications. For example, various studies [31; 32; 33; 34] have discussed how SDN can be utilized to improve network security in smart cities, in particular, to improve resilience to DDoS attacks. [PERSON] et al. [31] introduced an SDN-based attack defense framework to detect and mitigate application level DDoS attacks on smart city application servers. Then, to  
Figure 4: Resilience disciplines. achieve the same goal more effectively, they improved their work and introduced a secure and agile adaptive framework [32]. This framework protects smart city applications against DDoS attacks by leveraging the advantages of SDN, such as central management and global visuality. In addition, [PERSON] et al. [33] presented a lightweight approach to trace back DDoS attacks on SDN-based smart cities, based on an anomaly tree. This approach benefits from SDN's hierarchical control structure. [PERSON] et al. [34] proposed a defense strategy against DDoS attacks based on SDN and Network Function Virtualization (NFV). SDN has been also utilized to achieve different targets in smart city networks, such as to improve performance. In this regard, [PERSON] et al. [35] studied integrating SDN into smart city networks to improve 5G performance. They introduced a cell-less communications model and architecture to improve 5G network convergence. In addition, [PERSON] et al. [36], introduced a software-defined device-to-device communication architecture for public safety applications in 5G networks in smart cities. Furthermore, SDN has been utilized to develop mechanisms to transfer and process big data in smart cities. [PERSON] et al. [37] proposed a strategy to overcome time-constrained big data transfer scheduling (TBTS) problems based on SDN. The strategy uses an SDN controller to achieve dynamic flow control and implements fast multipath transfer scheduling to overcome the TBTS problem. The results show that the strategy reduces big data transfer delay and improves bandwidth utilization. SDN has also been used to investigate new ways to improve big data processing in smart cities. [PERSON] et al. [38] introduced three-tier architecture to implement IoT in smart cities. The architecture comprises data collection, data management, and application levels with two intermediate levels that work on SDN principles. The architecture was evaluated, and the evaluation results demonstrated that efficient transfer of big data for real-time applications had been achieved. Other studies also attempted to integrate SDN in WSNs in smart cities. Those studies exploited SDN capabilities to balance the load on the sensors. [PERSON] et al. [39] introduced a load balancing algorithm that was specifically designed to improve average bandwidth utilization and reduce network link load jitter; thus, the performance of the entire network was improved. Utilizing SDN has also been proposed for surveillance applications in smart cities. [PERSON] et al. [40] presented a smart video surveillance platform for smart cities based on SDN and NFV. [PERSON] et al. [41] attempted to improve network resource allocation in a heterogeneous video surveillance network in smart cities by exploiting the advantages of SDN. SDN has also been exploited to improve traffic management in smart cities. [PERSON] et al. [42] introduced an SDN-enabled traffic alert system for the Internet of Vehicles (IoV) in smart cities. The system uses SDN controllers to update vehicles about non-line-of-sight information by broadcasting alarms that are produced automatically, either by another vehicle or by roadside units.