3.1. Problem description
Sleep wake scheduling has been used to save the energy and extend the network lifetime. Energy efficiency has inherent tradeoff with delay, thus, generally in such sleep wake scheduling strategies, maximization in network lifetime is achieved at the expense of increase in delay. In many delay sensitive application where, real time response is required, such delays could not be tolerated. In this article, delay minimization problem in delay sensitive applications is addressed.
The first challenge for minimizing the expected end-to-end delay is to identify different areas, where extra delay can be minimized. To achieve this, delay minimization at three levels is analyzed and addressed: the delay occurred because of traffic load at the nodes near the BS, the delay occurred due to traffic load at the connectivity critical node, and delay occurred while dealing with traffic burst when an event occurs. It is indentified that delay is incurred because of following three reasons. Firstly, during sleep/wake scheduling the wakeup requirement of nodes according to their position with respect to BS is not considered. For instance, nodes near to the BS should have greater wake period as they are doing the data forwarding jobs on behalf of other nodes as well as send their own data. Secondly, nodes have the same awake interval throughout the network. However, the wakeup requirement in terms of forwarding traffic load is different for different nodes according to their topological importance in connectivity. For instance, a node which is cut vertex node and happens to connect two distant parts of network, is expected to handle more traffic load as compared with normal node. Thirdly, sleep scheduling is not adaptive to handle traffic burst on the occurrence of an event. When an event occurs, traditionally the wake interval of the node and its neighborhood remains same, whereas, in event occurrence, the node is expected to receive more traffic.
In this article, these challenges are addressed and delay is minimized at these three levels by using variable sleep/wake scheduling approach.
3.2. Proposed solution
To reduce the delay, a heuristic which maximizes the wakeup-up time in a scheduling period at three levels is used. The following is the brief description how this problem is addressed. Firstly, in a typical WSN architecture, all the nodes send their data to the sink node where the nodes near the sink nodes have to handle relatively more traffic. Sleep/wake scheduling disregards the fact that most packets go through the nodes near the sink node results in deteriorated performance. This article proposes that this delay can be minimized by considering the fact that forwarding requirement of the nodes is different according to their distance from the sink node. The sleep/wakeup schedule is directly related to the forwarding job, that is, more is the forwarding job more should be duration of wake interval. This is to minimize the schedule misses and to efficiently do the forwarding job with minimum delay. A sensor node that is near to the sink node is put into sleep state with lesser probability, and a sensor node that is away from the sink node is put into sleep state with greater probability. Consequently, the wake interval of the nodes increases as nodes come closer to the sink to handle the extra delay.
Secondly, because of the multi-hop communication paradigm of WSNs, a node's role in routing is important. Based on topology different nodes have different significance in the network. For instance, a scenario where there is only one node acting as a bridge between two distinct parts of the networks will have to forward all the traffic of one part of the network (depending upon location of the sink node). Thus, delay can be minimized by allocating sleep/wake schedule to the nodes according to the traffic load determined by the node's importance in connectivity. Giving a higher wake interval to heavily loaded nodes (connectivity critical nodes) to ensure their availability when they are needed and giving a lower wake interval to lightly loaded nodes (less connectivity critical nodes) to save their energy.
Thirdly, when an event occurs at any particular area in a WSN, generic sleep/wake cycles of the nodes remain the same regardless of the frequency of the event detection. It does not adapt itself based on frequency and location of events in terms of changing their sleep wake interval. For this problem simple ideas of temporal and spatial dependency are used. Temporal dependency in this context refers that when an event occurs in sensing area of the node in one time slot, it is likely to occur in the proceeding time slots. Thus, if the nodes can adapt and change its sleep cycle, it can reduce the delay. Similarly, local dependency refers to the fact that, if an event occurrence is reported by sensor node, there is a likelihood of event occurrence in its neighborhood nodes. Thus, nodes in the neighborhood of that node should adapt to that traffic burst and change its sleep cycle. Thus, based on temporal dependency, the wake interval of node where event occurs is increased while based on spatial dependency; the wake interval of its neighbors is increased in the next time slot. These measures can significantly reduce the delay.
3.3. The proposed protocol description
In this article, sleep scheduling algorithm is proposed for event-driven sensor networks for delay-sensitive applications where events occurs rarely. The protocol consists of two main phases: the setup phase and the operation phase, as shown in Figure 2. These phases are further divided into sub-phases, as shown in Figure 3. The flow chart and the interaction among different phases are detailed in Figure 4. Different phases are discussed in the following paragraphs.
3.3.1. Setup phase
Setup phase is divided into two sub-phases: initialization and route update.
-
(1)
Initialization: Each node computes its energy level and position in the networks. This information is used in sleep/wakeup scheduling, route update, and event reporting. Furthermore, the sink node divides the network into different regions. The sink node sends message to all the nodes in the network using three different transmission power (TP) where TP1 < TP2 < TP3. TP1 defines region 1, TP2 defines region 2, and TP3 defines region 3 as shown in Figure 5.
The sink node first propagates a beacon message with transmission power TP1. The node receiving this message will mark its region status as region 1 and will go to sleep state. Next, the sink node again propagates a control message with transmission power TP2. As nodes in region 1 are in sleep state, thus they will not receive this message. All the other nodes receiving this message will mark their location status as region 2 and will go into the sleep state. Similarly rest of the nodes mark their region status as region 3 by receiving message TP3.
The region information is retained by the nodes. Each node sends control message to maintain first hop neighbor information. Once a node has its neighbor information, it decides whether it is a connectivity critical node or not. To compute this, cut vertex method is used as adopted in Ref. [34]. Based on this computation, it will mark itself as a connectivity critical node; otherwise, it will mark itself as normal node.
-
(2)
Route update: In the route update phase, the sink node generates a route discovery message with hop count 0 that is broadcasted throughout the network. A node upon receiving this broadcast message updates its hop count value, that is, changes its value to new value if received hop count value is less than previous hop count value, otherwise, retains the previous value. Before forwarding the route discovery message, each node increments the hop count and then broadcasts the message to nodes in its communication range. In this way, a message arrives at each node along the desired minimum cost path. Consequently, each node has a minimum hop count path to the sink node.
3.3.2. Operation phase
This phase is sub-divided into the sleep wake scheduling and the event reporting phase.
(1) Sleep wake scheduling: In this phase, sleep wake scheduling is performed based on traffic loads. Traffic load of nodes differ according to region they lay, their connectivity importance, and their proximity to the event occurrence. Based on these factors, each node determines its sleep wake pattern and accordingly switches between sleep/wake states (see Figure 6). In each sleep/wake cycle, node wakes up at set time intervals, waits for events to occur, scans the medium, and senses/receives data. The algorithm assigns three different wake interval (WT) WT1, WT2, and WT3 to nodes in region 1, region 2, and region 3, respectively, where WT1 < WT2 < WT3. The wake interval of the node is inversely proportional to the distance from the sink node, that is, lesser the distance, the greater the wake interval (see Figure 7). It is done to make the wake interval adaptive to the traffic load of the nodes. Nodes near to the sink node have greater traffic load as compared with the nodes away from the sink node and are assigned longer wake intervals as shown in Figure 8. Also, connectivity critical nodes are assigned longer wake intervals to cater for the heavy traffic load. Algorithm 1 (see Appendix), explains how each node do the sleep/wakeup scheduling.
(2) Event reporting: The event reporting phase is responsible for forwarding data to the sink node on the occurrence of event in timely manner. In this phase, data is gathered from the sensor nodes and sent to the sink node. When an event occurs in node's proximity, that node will increase its wake interval for the proceeding time slot. Furthermore, it sends message to its neighboring nodes to increase their wake interval to handle the expected traffic burst. This is because of the fact that when an event occurs in the node there is the probability of an event occurrence in the future as well (temporal dependency). Similarly if an event occurs at a node there is likelihood of occurrence of event in it neighborhood (spatial dependency). Both these case will result in expected traffic burst. Thus, the wake interval of a node where an event occurs and a node in its neighborhood is increased, to ensure the least delay in handling expected burst traffic (see Figure 9). Algorithm 2 (see Appendix), explains how each node do the sleep/wakeup scheduling based on the event occurrence.
To summarize, the flow chart of the SMED scheme is presented in Figure 10 for better understanding of the readers.