Due to the highly dynamic nature of Wireless Sensor Networks (WSN), Software-Defined Network (SDN) is a promising technology to ease network management by providing a logically centralized control plane. It is a common approach to employ multiple SDN controllers to form a physically distributed SDN to achieve better fault tolerance, boost scalability, and enhance performance. Despite physical distribution, since the notion behind SDN is to logically centralize network management, it is essential to provide a consistent view of the network’s state for all controllers. Deploying multiple controllers result in higher synchronization and deployment cost. Since network performance and inter-controller synchronization cost seem to be contradicting objectives, it is a research challenge to choose the best placement of SDN controllers to optimize both the performance and synchronization cost of an SDN-enabled WSN simultaneously.In this paper, we first formulate the controller placement problem as a multi-objective optimization problem. In this regard, multiple constraints are considered, including reliability, fault tolerance, performance in terms of latency, synchronization overhead, and deployment cost. Moreover, we leverage the Cuckoo optimization algorithm, a nature-inspired population-based meta-heuristic algorithm to solve the optimization problem. This algorithm seeks to find the global optimum by imitating brood parasitism of some cuckoo species. Finally, to evaluate our proposed method, we compare it against several existing methods in the literature. The experiments reveal that our proposed method considerably outperforms existing methods, namely Simulated Annealing (SA) and Quantum Annealing (QA), in terms of both performance and synchronization cost. Additionally, our proposed algorithm, in contrast to Integer Linear Programming (ILP), is considerably more scalable, which makes it applicable for large-scale WSNs.
Read full abstract