Abstract
Energy efficiency in wireless sensor networks is an important concern of ‘green’ Internet of Things. The existing energy-saving routing protocols usually compute the route in isolation, which is disadvantageous to globally optimize the energy consumption. In this article, we propose a novel energy-saving route optimization solution based on the software-defined wireless sensor network. In our proposed solution, the controller obtains the overall information about the network topology and the existing routes. Based on the above information, this solution centrally optimizes the routes in a global manner. In contrast to the existing energy-saving routing protocols, the central route optimization better reduces the energy consumption from an overall perspective. The global route optimization tends to reduce the overall energy consumption using a small number of sensors, which can improve the effectiveness of the used sensors. However, using a small number of sensors leads to high energy consumption of related sensors. To solve the above problem, our proposed solution uses a routing evasion mechanism to balance the energy consumption between sensors.
Introduction
The wireless sensor network (WSN) plays a key role for the Internet of Things (IoT). A WSN consists of a lot of sensor nodes deployed over a geographical area for monitoring physical phenomena such as temperature, humidity, vibrations and seismic events. 1 The data sensed by sensors can be transmitted to an external base station, using a cooperative communication among sensors, and can further be transmitted to a remote node over the Internet if the base station can access the Internet. Because WSNs have been widely applied in the IoT, the energy efficiency in WSNs is an important concern of ‘green’ IoT.2,3 From the perspective of system lifetime, energy efficiency is also very important for WSNs because sensors are generally battery-powered devices.
Typically, a sensor node includes four basic components: a sensing subsystem, a data processing subsystem, a wireless communication subsystem and a power supply unit. 4 The wireless communication subsystem is the major component that consumes energy. In general, this subsystem is in the idle state most of the time, which wastes much energy. 2 Several sleep/wakeup schemes have been proposed to reduce unnecessary energy consumption in the idle state by putting the radio in the sleep state.5,6 Unfortunately, sleep/wakeup schemes usually suffer from sleep latency because a transmission must wait for the involved nodes to be awake. Determining a desired sleep period for a sensor node is a tricky issue because it needs to make a tradeoff between network performance and energy consumption. The situation becomes worse when a sensor is in the data transmission structure (i.e. a unicast path or a multicast tree) for an active data transmission session. Note that the data source periodically or aperiodically sends data to a destination or a group of destinations in the active data transmission session. To solve the above problem, a particular sleep/wakeup scheme, called radio frequency (RF) watchdog, is proposed. 7 In this scheme, a sensor listens to a particular signal but turns off its radio module when it does not need to transmit data. The above state is called half-sleep state in this article. The energy consumption in the half-sleep state is higher than that in the sleep state but is lower than that in the idle state. A sensor in an RF watchdog turns on its radio module when it receives a particular signal. In the above way, RF watchdog obtains a tradeoff between network performance and energy consumption.
In addition to the sleep/wakeup mechanism, energy-saving routing is also an effective method for reducing the energy consumption of a WSN. Consequently, it has attracted considerable research efforts.8–12 The existing energy-saving routing protocols usually compute the route for a designated data transmission session in isolation, which is disadvantageous to reduce energy consumption from an overall perspective. Global route orchestration can effectively reduce the number of involved sensors. The communication subsystems of the sensors, which are not in the route for any active data transmission session, can be put in the sleep state for as much time as possible. As a result, global route orchestration can significantly reduce energy consumption. However, it is difficult to implement global route orchestration in traditional WSNs mainly because of the lack of overall information about the network topology and the routes for the existing active data transmission sessions. Recently, several software-defined wireless sensor network (SD-WSN) schemes have been proposed.13–15 The SD-WSN has the capability of implementing global route orchestration. However, to our best knowledge, there has been no study that discusses global route orchestration for the purpose of energy saving in the SD-WSN environment.
In this article, we propose an energy-saving route optimization solution in the SD-WSN environment. In this solution, the SD-WSN controller obtains the overall information about the network topology and the routes for the existing active data transmission sessions. The existing energy-saving routing protocols usually do not change the existing routes, which limits the energy-saving capability to some extent. In contrast to the existing energy-saving routing protocols, our proposed solution globally improves the existing routes to reduce energy consumption. Because the sensors involved in active data transmission sessions may transmit data at any time, it is very difficult for a sleep/wakeup scheme to obtain a desired tradeoff between low delay and high energy-saving capability. Our proposed solution employs the method proposed by Lee et al. 7 to solve the above problem. The global route optimization tends to reduce the overall energy consumption using a small number of sensors, which can improve the effectiveness of the sensors involved in active data transmission sessions. However, using a small number of sensors leads to high energy consumption of the used sensors. Our proposed solution uses a routing evasion mechanism to balance the energy consumption between sensors. Because low energy saving and low latency are two different optimization objectives, our solution only improves the routes with relatively low latency sensitivity.
The main contributions of this article are as follows:
We discuss the system architecture for energy-saving route optimization in the SD-WSN. In this architecture, the controller obtains overall information about the network topology and the routes for the existing active data transmission sessions, and centrally optimizes routes based on the above information. The centralized route optimization can better reduce the energy consumption from an overall perspective.
We introduce a novel energy-saving route optimization problem, named minimum-energy route orchestration (MERO). The MERO aims to minimize the overall energy consumption caused by data transmissions under a constraint on maximum hop number. This problem describes a desirable route optimization for energy saving in the SD-WSN. We prove that the MERO problem is NP-hard.
We present an energy-saving route optimization algorithm. We define a model to evaluate the energy incensement caused by a route arrangement, a link routing weight and a weighted pair–path distance. Based on the above definitions and a heuristic method, the proposed algorithm approximately solves the MERO problem in polynomial time.
The remainder of this article is organized as follows. The next section introduces the related work. The network model, the energy model and the architecture of our proposed solution are described in section ‘Model and architecture’. We introduce the optimization problem in section ‘Problem description’ and the global route optimization algorithm in section ‘Algorithm’. The performance evaluation is shown in section ‘Experimental results’. Finally, we conclude our work in section ‘Conclusion’.
Related work
Energy-saving routing is an important method for improving the energy efficiency of the WSN. Energy-saving routing has been widely studied in the traditional WSN environment. Rault et al. 2 discussed four general energy-saving routing mechanisms, including cluster architecture, multipath routing, relay node placement and sink mobility. The cluster architecture organizes the network into clusters, where each cluster is managed by a cluster head. Clustering sensor nodes can reduce energy consumption by (1) reducing the communication range inside the cluster, (2) limiting the number of transmissions owing to fusion performed by the cluster head and (3) enabling to power-off some nodes inside the cluster while the cluster head takes forwarding responsibilities. 2 Examples of cluster-based routing protocols include RCC, 8 EEHC, 9 JCR 10 and QHCR. 11 Multipath routing solutions (e.g. EECA 12 ) reduce the energy consumption of individual sensor nodes by allocating traffic to multiple paths. Optimized relay node placement can improve energy balance between sensors and avoid sensor hot-spots. 3 Sink mobility can effectively avoid the heavy energy consumption of sensors close to the base station. 16 The existing energy-saving routing solutions do not discuss the global route orchestration that can better reduce the energy consumption, mainly because the design for traditional WSN hampers centralized route orchestration and deployment.
Duty cycling is another important method for improving the energy efficiency of the WSN. Duty cycling has been widely used in sleep/wakeup solutions for the WSN. Duty cycling schemes are usually divided into the following three categories: 17 on-demand,7,18 asynchronous5,19 and scheduled rendezvous.6,20 In on-demand schemes, a sensor is awaken just when it has to transmit packets, which reduces energy consumption in the monitoring state while ensuring a limited latency for transitioning to the transfer state. Asynchronous schemes allow each node to wake up independently of the others by guaranteeing that neighbours always have overlapped active periods within a specified number of cycles. Scheduled rendezvous schemes require that all the neighbours of a sensor wake up at the same time.
Recently, several SD-WSN schemes have been proposed. Bera et al. 14 proposed an SD-WSN architecture, named as Soft-WSN. Soft-WSN uses two management entities, that is, device manager and topology manager. The device manager is responsible for controlling device-specific tasks; the topology manager maintains the topology of the network. The devices in the network use the control logic defined by the controller in real time and change their activities according to the instructions from the controller. Galluccio et al. 15 proposed a software-defined networking (SDN) solution for WSNs. This solution pursues the following two objectives: (1) reducing the amount of information exchanged between sensor nodes and the controller and (2) making sensor nodes programmable so as to enable them to run operations that cannot be supported by stateless solutions. Zeng et al. 13 proposed an SD-WSN platform, in which each node is embedded with multiple sensors. Wu et al. 21 proposed a software-defined IoT system with ubiquitous flow control and mobility management for the IoT devices roaming from one partition to another. Luo et al. 22 proposed a southbound interface, Sensor OpenFlow, which defines flow table implementation rules in WSNs. Different from the popular southbound interface in a software-defined network, OpenFlow, 23 Sensor OpenFlow adopts a lightweight design to adapt to the WSN. Previous studies on the SD-WSN mainly focus on the architecture and basic function design. To the best of our knowledge, there have been no studies that discuss global route orchestration studied in this article.
Model and architecture
In this section, we introduce the network and energy models used in our proposed solution. We also introduce the system architecture of our proposed solution in this section.
Network model
In this article, we describe the SD-WSN topology as a directed graph
We make the following assumptions on the SD-WSN:
The network topology is relatively steady, which indicates that sensor nodes are stationary or occasionally changed after the initial deployment. Under this assumption, we say that the controller can effectively obtain the real network topology. The static or relatively steady WSN has wide application scenarios such as environmental monitoring and smart grid.
The distance between two sensor nodes is known. The distance can be obtained by GPS-based positioning or other positioning methods.
The data transmission rate of any sensor node is known. The rate can be directly obtained from the device parameters or be measured based on a test.
Energy model
As noted previously, a sensor node includes a sensing subsystem, a data processing subsystem, a wireless communication subsystem and a power supply unit. In this article, we only consider the energy consumption of the wireless communication subsystem, which is directly related to data transmission. Experimental measurements have shown that the data transmission is the major source of energy consumption in the WSN. 24
For the wireless communication subsystem, we consider the following four states: the transfer state, in which a sensor node is performing a communication task (i.e. receiving and/or transmitting data); the idle state, in which a sensor node has no communication task but it can receive and/or transmit data at any time; the half-sleep state, in which a sensor node listens to a special signal so as to transition to the transfer state, as introduced in section ‘Introduction’; and the sleep state, in which the wireless communication is turned off to markedly reduce the energy consumption. In this article, the transfer, idle and half-sleep states are collectively referred to as the active state. A sensor
The energy consumption in the transfer state is computed using the method introduced by Heinzelman et al.
25
In this method, both the free space (
The energy consumed to receive the
System architecture
Our proposed solution is based on a general SD-WSN architecture shown in Figure 1. In the SD-WSN, at least two wireless access points, each of which directly communicates with some sensor nodes, are deployed. The wireless access points are used as the relays for the communication between sensor nodes and the controller. Note that deploying multiple wireless access points can avoid single point of failure at the wireless access point. The controller directly or indirectly connects to a wireless access point. Multiple controllers can be deployed to avoid single point of failure in terms of practical requirement. When multiple controllers are deployed, one controller is selected as the master controller to offer normal service. The cooperation (including information backups and failure recovery) between the master controller and other controllers has been widely researched. 26 One major issue in the multiple controller architecture is how to reach a consistent network state among controllers. Ho et al. 26 propose a Fast Paxos–based consensus algorithm (FPC) which provides strong consistency. Thus, our proposed solution can employ the FPC algorithm to obtain the network state consistency. The wireless access point and controller are externally powered and we do not consider the energy consumed by them. A sensor might send data or control messages to another sensor node or a group of other sensor nodes, for the purpose of the cooperative operation or information distribution. Thus, we assume that a sensor node can communicate with any of the other sensor nodes.

The SD-WSN architecture.
Figure 2 presents the system architecture of our proposed solution. Physical devices, including sensor nodes and wireless access points, exist in the data plane; the control components are in the control plane. The control and data planes communicate with each other through a southbound interface. OpenFlow is considered as a popular interface between the controller and the physical devices in the software-defined network. However, it is not suitable for SD-WSNs because its design is too complex for WSNs. As noted previously, Sensor OpenFlow 22 defines lightweight flow table implementation rules. Our proposed solution adopts Sensor OpenFlow or other compact southbound interface as the interface between the controller and sensor nodes.

The system architecture of our proposed solution.
The control plane involves four related components, that is, device manager, topology manager, flow manager and global energy-saving route optimization. The device manager in this article is similar to that used in a previous work 14 . Specifically, the device manager is responsible for controlling device-specific tasks (e.g. sensing delay, sensing task and state maintenance) and periodically collecting the dynamic device status including residual energy and location. The period of the device status collection can be set to a rough value (e.g. 5 min). Because the residual energy does not usually change quickly and we mainly consider the static or relatively steady WSN in this article, the roughly configured device status collection period does not obviously affect the performance of our proposed solution. The topology manager is responsible for constructing a logical network graph and deriving the active network subgraph. The flow manager saves the information about active flows, including the source–destination pair and the corresponding source–destination path. Note that an active flow indicates that the source of this flow periodically or aperiodically sends data to the destination(s). The sensing manager, in the application layer, decides the sensing rules (e.g. sensing delay) in terms of designated policies. The global energy-saving route optimization periodically computes a route adjustment scheme for the existing active data transmission sessions. Once the controller gets a new route or a route adjustment scheme, it sends the corresponding flow instructions to the involved sensor nodes. As introduced previously, this article focuses on the route optimization for a relatively steady WSN environment, as done in many related studies.10,13 Due to the above reason, we do not consider sensor mobility management in the current system architecture of our proposed solution. Mobility management has been widely studied and the control plane can integrate an existing mobility management technique to adapt to a dynamic environment. Note that the periodical route optimization in our proposed solution can well adapt to the node mobility.
In the SD-WSN, a node sends a routing request, similar to the
Our proposed solution reduces the energy consumed in the idle state by putting the sensor nodes from the idle state to the half-sleep state. The experimental results from a previous work 7 show that the energy consumption in the half-sleep state is significantly lower than that in the idle state. If a sensor node wants to transmit data to a neighbour node in the half-sleep state, it first sends a particular signal to this node. When the neighbour node receives the particular signal, it transitions to the transfer state. From the above description, we know that the half-sleep state brings low extra delay. To avoid frequent state transitions, a sensor node is put in the half-sleep state only if it has been idle for a designated time.
The scalability of the controller is a concern for the SDN technique, which has been widely studied. The flow handling capabilities of some controller platforms (e.g. Maple) exceed 10 M flows per second. The SDN technique has been successfully applied in local networks such as data centre networks. Compared with data centre networks, the SD-WSNs have lower requirement on the capability of the controller. Thus, we assume that the controller can satisfy the requirements in this article.
Problem description
The existing routing protocols for the WSN usually compute the routes in isolation, which limits the energy-saving capability to some extent, as shown in Figure 3. Assume that the routes for the source–destination pairs

Example of global route optimization: (a) flow-aware routing and (b) global route optimization.
To describe the global route optimization problem, we first introduce some notations and definitions. Let
We further define an energy cost
Assuming that the communication subsystem of a sensor node
Assuming that the communication subsystem of a sensor node
Note that equation (4) can make the corresponding modification if the data signal propagation distance of a sensor node is adjusted in terms of the distance between this sensor node and the sensor node to which it transmits data.
We introduce an energy-saving route optimization problem, named MERO. Assuming that the communication subsystems of sensor nodes are half-duplex, this problem can be expressed as follows
where
Consider the following particular case in which (1) there is no energy consumption in the sleep, half-sleep and idle states and (2)
Algorithm
Algorithm 1 describes our proposed global route optimization procedure. The global route optimization can be executed based on the active network graph or whole network graph. Using whole network graph can obtain better performance but produces extra delay because some sensor nodes might be in the sleep state. When the optimization is based on whole global network graph, the controller sends the related flow installation instructions to the involved sensor nodes only when the following conditions are satisfied: these nodes are in the active state and can communicate with the controller. We introduce a synchronization method to meet the above conditions. In this method, sensor nodes are periodically put in the active state. The above nodes are called synchronized nodes. Note that the clocks of sensor nodes and the controller are synchronized by the existing clock synchronization technique. The controller sends the related flow installation instructions to the involved nodes and waits for the corresponding acknowledgement messages. When the controller has received all the expected acknowledgement messages or waited for a designated time, it sends a special message to each sensor node, by a broadcast way, to inform it to go to the sleep state if it does not instal new flow entry and contains no existing active flows.
Algorithm 1 employs a routing evasion mechanism to balance the energy consumption between sensors. We use

Example of energy balancing. The numbers labelled in this figure denote the values of residual powers of the corresponding nodes: (a) the
We introduce a weighted pair–path distance to evaluate the distance between a source–destination pair and a path. The weighted pair–path distance, corresponding to a source–destination pair
where
To globally arrange the routes for the designated source–destination pairs, Algorithm 1 first searches the minimum-hop source–destination path, as shown in Line 7. Then it arranges other source–destination paths in the ascending order of weighted pair–path distance. The main reason of the above processing sequence is to reduce the whole energy consumption by gradually clustering the nearby source–destination paths.
The routing for source–destination pairs is based on link routing weight. The link routing weight for a link from
where
where
From equation (13), we note that the link routing weight is defined based on increased energy consumption and the available data transmission rate. As a result, it is helpful to reduce energy consumption in the routing procedure. We use
We can deduce that the complexity of Algorithm 1 in the worst case is
Experimental results
In our simulations, the area of the sensor network was
The parameters of sensor nodes.
We use sensation activity ratio to denote the ratio of the number of sensor nodes, which transmit sensed data or are the destinations of data transmissions, to the total number of sensor nodes. To observe the performance in different cases, we conducted the experiments based on three values (i.e. 30%, 50% and 70%) of the sensation activity ratio. As introduced in section ‘Model and architecture’, a sensor node is put in the half-sleep state only if it has been idle for a designated time. The above designated time is called sleep waiting period (SWP). To evaluate our solution with minimal and maximal impacts of the SWP, we configured the SWP by two particular values (i.e. 0 and
We first investigated the performance of our proposed optimization solution by improving the unicast routes generated by the algorithm proposed by Xiang et al. 28 Note that the algorithm proposed by Xiang et al. 28 is designed to obtain an energy-efficient routing for the SD-WSNs. In these simulations, we randomly selected a designated number of sensor nodes. Each selected sensor node reported data to the base station; each experimental scenario was repeatedly executed 100 times to observe the performance variation. Figures 5–7 present the simulation results.

Comparison of energy consumption in the simulation for unicast transmissions: (a) sensation activity ratio: 30%; (b) sensation activity ratio: 50% and (c) sensation activity ratio: 70%.

Comparison of active sensor nodes in the simulation for unicast transmissions: (a) sensation activity ratio: 30%; (b) sensation activity ratio: 50% and (c) sensation activity ratio: 70%.

Comparison of network lifetime in the simulation for unicast transmissions: (a) sensation activity ratio: 30%; (b) sensation activity ratio: 50% and (c) sensation activity ratio: 70%.
Figure 5 shows the comparison of energy consumption. From Figure 5, we can notice that our proposed optimization solution can better reduce the energy consumption, even in the case where the SWP was set to
We also investigated the performance of our proposed optimization solution by improving the routes generated by RE2MR, 29 a multicast routing protocol suitable for large-scale WSN deployments. According to the scale of sensors, we designated 10 multicast sessions, each of which used the base station as the data source and included 10–20 random multicast receivers. We repeated the simulation 100 times. The results show that our proposed solution well optimizes the routes in the multicast environment, as Figure 8 shows.

Comparison of energy-saving capability in the multicast environment containing 10 multicast sessions: (a) average energy consumption, (b) active sensor nodes and (c) network lifetime.
Conclusion
In this article, we have proposed a novel energy-saving route optimization solution for the SD-WSN. According to the overall information about the network topology and the existing routes, the proposed solution centrally computes the route optimization scheme. The central route optimization can effectively reduce the energy consumption from an overall perspective because it fully considers the existing routes. We discuss the central route optimization problem and propose an algorithm to solve the problem. The proposed algorithm tends to reduce the overall energy consumption using a small number of sensors, which is helpful to further reduce the energy consumption by the sleep/wakeup mechanism. However, using a small number of sensor nodes leads to heavy energy consumption of the related sensors. Our proposed solution addresses the above problem based on a routing evasion mechanism that can balance the energy consumption between sensors. As a future work, we plan to integrate mobility management to adapt to the node mobility in a dynamic WSN environment.
Footnotes
Handling Editor: Marco Scarpa
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China under Grant No. 61472230 and the Shandong Provincial Natural Science Foundation of China under Grant Nos. ZR2016YL001, ZR2014YL042 and ZR2015JL023.
