## 2 Related Work
### Software Defined Energy-Efficient Approaches  
[PERSON] et al. [12] used multiple adaptive hybrid approaches, which are considered better than a single algorithm. This work (which subsequently will be referred to as software defined wireless sensor network 1, or SD-WSN1, in this article) discusses the usage of policies to establish adaptive routing rules so that the WSN elements of a network can acquire more flexible and accessible development and maintenance tasks. The routing policy is either proactive or reactive. If the number of nodes in the network is less than a pre-defined threshold, then proactive routing is applied to determine the forwarding rules in order to save the cost of route discovery. However, if the number of nodes in the network crosses a pre-defined threshold, then proactive routing becomes impossible due to an abnormal rise in the size of the flow table. Reactive routing follows the behavior of ad hoc distance vector routing, or AODV. This applies flooding for route discovery. [PERSON] et al. [20] designed an energy-efficient SD-WSN (which subsequently will be referred to as SD-WSN2 in this article) to minimize the energy consumption of energy transmitters. This article is based on the energy that is transferred to sensor nodes through energy transmitters. It aims at the optimal placement of energy transmitters, which depends on the trade-off between the minimum energy charged in the network and a fair distribution of energy. This does not propose any energy-efficient routing protocol or sleeping strategy of nodes. [PERSON] et al. [21] studied an energy-efficient routing algorithm for SD-WSN (which subsequently will be referred to as SD-WSN3 in this article) by selecting the control nodes and assigning different tasks dynamically through control nodes. SD-WSN3 selects some control nodes out of all of the nodes in the network using the particle swarm optimization method. These nodes assign tasks to others depending upon their residual energy. However, it is very difficult to determine the exact number of required control nodes, and how many nodes will be under the control of one particular control node. [PERSON] et al. [10] proposed a software-defined WSN architecture to solve the rigidity of policies and the difficulty of management by addressing Sensor OpenFlow. [PERSON] and [PERSON] [11] adopted low-cost off-the-shelf hardware and an individual deployment method to flexibly reconfigure WSN networking and in-network processing functionality. Regarding the network management, [PERSON] et al. [13] presented a smart management in WSN by employing the OpenFlow protocol and modifying the forwarding rule in the controller, which can use the unified standard to communicate with all of the nodes. A networking solution called SDN-WISE was proposed by [PERSON] et al. [14] to simplify the management of the network. [PERSON] et al. [15] proposed a cluster-based architecture with multiple base stations used as hosts for the SDN control functions as well as cluster heads, and adopted a structured and hierarchical management. [PERSON] et al. [16] summarized the application challenges faced by WSNs for monitored environments and the opportunities that can be realized in applications of WSNs using SDN. [PERSON] et al. [19] proposed a framework for a software-defined wireless sensor network, where the sensor node only performed the forwarding. The controller was implemented as the base station in this framework, thus reducing the energy consumption. For packet loss probability and robustness, [PERSON] et al. [22] provided the Hopfield neural network to guarantee uniform packet loss probabilities for the nodes. [PERSON] et al. [23] presented modified correction codes based on a residual number system, high correction characteristics, and a simplified coding procedure to show the characteristics of these codes, which can improve the data transmission robustness in WSN. [PERSON] et al. [24] dealt with the packet loss by designing a hierarchical data transmission framework of a suitable industrial environment.