RE-MAC: A Reliable Energy Efficient MAC Protocol For Wireless Sensor Networks

Wireless sensor networks are considered to be a promising area to equip scientists with the capability of developing real-time monitoring systems. This paper discusses the design and development of a wireless sensor network (WSN) that can be used for monitoring purposes in the agricultural fields. This battery-powered sensor node makes the network deployment easy but limit the lifetime of the network to the limited capacity of these batteries. The main source of energy wastage in modern sensor networks is idle listening and overhearing. Duty cycling is a proven mechanism to overcome the energy wastage through idle listening. In this paper we introduce a new MAC protocol named as REMAC that minimizes the idle listening by allowing nodes to remain in sleep state until it is necessary to wakeup. It also allows the participating nodes to wake up during the sleep time, perform the data transfer and return to sleep state thereby minimizing the chances for over hearing. We show the performance of REMAC through detailed simulations in NS-2 and also compare the performance evaluation with similar synchronous protocols that employ duty cycling. In the analysis REMAC proves to be saving much energy as compared to others


INTRODUCTION
Wireless Sensor Networks (WSNs) have a major role in application interfaced with the physical world, like environmental surveillance and monitoring. Sensor nodes are typically battery powered and operates without close monitoring by the users. The life of the network depends upon the life of the battery pack. Longer the life of the battery, longer is the life of the sensor network. In order to maximize the battery life time, usage of power should be kept as low as possible. Hence it is essential to maximize the network life time. The main power draining member in a sensor node is its radio module. The main functions of the radio module are listening to the wireless channel and transceiving of data packets. Long time waiting for packets by listening to the channel is known as idle listening. The radio module spends its majority of energy for this idle listening.
A reliable mechanism for reducing the energy consumption and reducing idle listening is duty cycling. The duty cycling approach saves energy by switching nodes between awake and sleep states. The average duty cycle measures the radio of the time a node is awake to the total time. A node with 10% duty cycle will have its radio on only for 10% of the total time there by achieving substantial energy savings. A node will be able to transmit or receive a data packet only when it is in active or wakeup state. As the radio module is a major consumer of energy in a sensor node, many research works has been concentrated for designing energy efficient MAC protocols.
Synchronous duty-cycling MAC protocols like SMAC [6], TRAMA [11] and DW-MAC [3] reduces the energy consumption by synchronizing the wake up and sleep slob of the sensor nodes. SMAC describes several techniques to reduce the power consumption. In this the neighboring nodes forms a virtual cluster and synchronizes their schedules. Each time cycle is a combination of synchronizing cycle, data cycle and sleep cycle during synchronizing cycle the nodes in the virtual cluster exchanges data for updating the neighbor list and also the sleep and wake up schedules. The nodes can transmit and receive data during the data cycle. w w w . i j c t o n l i n e . c o m clocks is essential. Operations like synchronization of clock pulses, neighborhood discovery, checking the states of the neighbor and updating the neighbor table etc are performed during the sync cycle. The sync cycle is followed by the data cycle. During the data cycle the real data transfer takes place. Exchanging of Request-to-send (RTS) and clear-to-send (CTS) takes place first and then followed by the actual data transfer and complete with the acknowledgement (ACK) frame. During the sleep cycle all nodes switches off its radio and go to sleep state until the start of the next sync cycle.
A feature known as adaptive listening was later added to the original SMAC for improving the end-to-end delivery latency over multiple hops. Through this technique if a node overhears another nodes communication during the data period (exchange of RTS and CTS) then it can calculate the time for completion of the data transfer (from the information in CTS). It then wakes up from the sleep state during this time. If this node is the next hop neighbor of the data received node then it can directly transfer the data to its next hop neighbor. As this happens during the sleep cycle other nodes which are next hop neighbor may not continue the process and it has to wait for the next data cycle. Hence SMAC with adaptive listening can transmit a packet up to two hops in one operational cycle. The drawback of this mechanism is that many nodes may over hear this RTC-CTS exchange and will wake up for the transformation and only one of them will be the next hop neighbor. This considerably reduces the energy efficiency of the protocol.
FMAC [24] is a similar protocol for energy efficiency and reducing the latency. The key feature of this protocol is that it can shorten or extend the data cycle as per need when the node finds that there is no data traffic around it, then it can shorten the data cycle and enter into sleep cycle. There by saving the energy. Similarly for multi hop forwarding of the data packet it can extend the data cycle for more data transfers in one data cycle. Similar to SMAC TMAC also generally transfer a packet to at most 2 hops as nodes further away may not over hear the conversation and may not be awake. FMAC also increases the energy consumption.
Crankshaft [28] is a sender-initiated MAC protocol. It divides the entire time into frames and each frame into slots. The wake up time of a receiver node is calculated as its MAC address module n, where n is the total number of slots. Each receiver can use only this slot and they may not be able to handle busty traffic. It also needs global clock synchronization. Due to the fixed scheduling of the wake up slots for the receiver more collisions are possible. B-MAC [9] and Wise MAC [27] are examples of sender initiated duty cycling protocols. In these protocols before transmitting the actual data frame the sender transmits a preamble which is long enough to cover the receivers periodic wake up time and there by serving as a notification of the pending data. The receiver nodes periodically wake up and check the wireless channel finding a preamble stream it waits for a possible data transfer. Transmitting the preamble until the receiver wakes up and holding the channel up to this brings larger duty cycle for the sender, which is a major drawback. Wise MAC introduces reduced preamble length by predicting the wakeup time of the receiver. It can send a shortened preamble stream just before the predicted receiver wake up time. But when more number of transmissions is taking place it can produce poor performance through parallel preamble transmissions. Also Wise MAC uses the same fixed wakeup interval over time which leads to frequent collisions. [4] is a receiver initiated MAC protocol which uses receiver-initiated data transmission is order to efficiently operate over a wide range of traffic loads. It attempts to minimize the time a sender and its intended receiver occupy the wireless medium for exchanging the data, while still decoupling the sender and receiver duty cycle schedules. The key idea employed here is uses receiver-initiated wake up beacons instead of sender-initiated preambles. It increases the channel utilization efficiency and reduces collisions. Each node announces its wakeup time with a beacon and the intended sender can start data transmission on receiving this beacon. The main drawback is when a node wants to send a packet it wakens up and listen to the channel for a possible beacon from its receiver. This creates large sender duty cycles and higher energy draining due to idle listening for the beacon from the receiver. DW-MAC [3] is demand wake up MAC which allows nodes to wake up on demand during the sleep period of an operational cycle and ensures that data transmissions do not collide at their intended receivers. This demand wake up claims to adaptively increase effective channel capacity during an operational cycle as traffic load increases, allowing it to achieve low delivery latency under a wide range of traffic loads. In this protocol the medium access control and scheduling are integrated. During the data period of an operational cycle, the interval of time during which the transmission of an access control frame occupies the medium automatically reserves the proportional interval of time in the following sleep period for transmitting and receiving data packets. Through this scheduling algorithm collision at the data transmission can be reduced. DW-MAC wakes up a node in a sleep period only when the node needs to transmit or receive a packet, in order to minimize energy consumption. The major drawback over here is that when multiple senders are transmitting the control from it may collide and this may continue till the end of the data period then by producing no effective data transmissions. Also when a node sends a longer access control frame, it reduces the chances of all other contending sender furthermore the complexity of automatically fixing the time period for data transmission in the sleep cycle is a complex process. By measuring the time at which the access control from is received and the receiver may not accurately fix the data transfer time in the sleep time, causing either the data to be not received completely or the receiver waiting idle for data.

RE-MAC DESIGN
In this section the detailed design of the RE-MAC protocol for wireless sensor networks is presented. RE-MAC is a synchronized MAC protocol which uses duty cycling concept for energy efficiency. The entire time is divided into cycles and each cycle is sub divided into three periods. Similar to SMAC the clock synchronization, neighbor discovery and updating of neighbor table is performed during the sync period. The schedule period is for scheduling the data transfer process and the sleep period is the energy harvesting period where the radio is switched off and the node is idle. The main concept of RE-MAC is to reduce the time during which the radio is ON and there by achieving maximum energy efficiency. Since it is intended for networks with low amount of data transmission and needs to stand active for a longer duration of time it is assured that the node may have to update the data rarely.
During every operational cycle the nodes may not have data packets to be transmitted and may be wasting the energy during the entire data period in conventional duty cycled protocol. In RE-MAC the basic concept is to use the sleep period for the actual data transmission. The sender node and receiver node wakes up during the sleep period performs the data transfer and then goes to sleep. The nodes that are potential senders may register their entries during the schedule time and the receiver nodes waits for the data packet from these senders during the sleep time.
The sensor networks deployed for monitoring purposes are not density populated and the nodes may have only less number of neighbors. The schedule time of the RE-MAC protocol is divided into n slots where n is the total number of active neighbors. This neighborhood discovery and assignments of slots are performed during the sync cycle. Once the slots are assigned then the neighbor nodes which are potential senders can register for data frame transmission by sending a RTR (Request to Register) frame during its slot. Similarly the sleep time is also divided into n slots and the data transmission may take place during the corresponding slot in the sleep period.
The RE-MAC creates a one-to-one mapping between the medium access control process and scheduling process. In the scheduling period, a node with pending data waits for its slot for sending the request. During its slot it contents for the channel access and send the request. Instead of the RTS frame a special frame called RTR (Request to Register) is used. When there are n numbers of neighbors for a node then it has n number of slots in the schedule time and sleep time. The RTR frame contains the sender and the receiver addresses. Only the intended receiver processes this and registers for a wakeup during the sleep time. Figure 1 shows an overview of an operational cycle of the RE-MAC.

Fig 1. An overview of an operational cycle of the RE-MAC
Suppose node N0 is the receiving node it has 5 neighbors namely N1 to N5. Hence if N2 has some pending data for N0 then N2 waits for the schedule time and for the second slot; as the second slot is assigned for N2. During the 2nd slot N2 wakes up and contents for the channel access, once achieved it sends RTR frame with its address as the sender address and N0 and the receiver address. N2 immediately goes to sleep state once the RTR transfer is over. Node N0 receives this request table. Once the schedule time is over all nodes including node N0 goes to sleep state. The receiver node N0 and the registered senders wake up during the sleep time as per the registered slots. In this case only node N2 has registered for the data transfer. So node N0 and N2 wakes up when the 2nd slot in the sleep time starts and starts the data transfer. Once the data packet is correctly received then node N0 sends the ACK (Acknowledgement) frame and goes to sleep. Once the ACK is received by the node N2 it also enters into the sleep state until the next sync period. Figure 2 shows the overview of the scheduling and the received data transfer between two nodes.

Efficient Multi-hop Forwarding
RE-MAC enables a node to register for a forward data packet even before the data is actually received. Suppose a node N0 wants to send a data packet to the sink node. Then node No initially registers for this data packet transmission to N1 which is to next hop neighbor to sink node. Once this registration is made through the RTR frame node N1 knows that it may receive a packet intended for the sink node during its sleep time. Instead of waiting for the actual data packet from N0 node N1 can register for forwarding this packet to N2 who is its next hop neighbor to the sink node. Hence on an ideal situation maximum number of hop registration can be made in advance and the data packet transfer can be made with least delay.

Request to Register frame (RTR) and Slot to Send (STS)
The Request to Register frame and slot to send (STS) frame used in RE-MAC serves like the RTS/CTS in the 802.11 standard. The RTR is the frame which is send by the potential sender during its slot in the schedule frame for registering for a data transfer. The main fields in this frame are the source address, destination address, next hop address and the number of pending packets. The destination address is the final destination address of the data packet and the number of pending packets is the total number of data packets present in the queue intended for that node. Once the RTR is received by the destination node it sends back a slot to send (STS) message to the sender. The STS frame will have the time interval from the start of the sleep time to the start of the slot for actual data transmission during the sleep time. It also holds the value for the maximum number of data packets the node can send during this cycle. This variable may have a value more than one if the node had reported a longer queue through the RTR frame.

Collision Avoidance
RE-MAC schedules the data transmission by having the sender registering their entries through RTR and the receivers responding through the STS messages. Once the registration is complete, the real data transfer happens at the sleep time slot as per their mutual agreement. As all other nodes are in sleep state and only the sender and the receiver wakes up for the data transfer, the possibility of collision of data packets is extremely low. If there occurs any collision or any packet loss the receiver will not send the ACK packet. The sender will not remove the packet from the queue until it receives the ACK packet from the receiver. Hence the possibility of losing a packet is also low. The sender will have to send these packets in the subsequent operational cycles. This scheme is energy efficient under high traffic conditions, since sensor nodes access the medium only during their slot. Also the chances of collision are minimal which reduces the energy wastage through retransmission. Under heavy traffic conditions many nodes may have longer queue data packet transmission and have to wait for a long period of time for sending all the packets, which occurs very rarely in sensor networks intended for monitoring purposes. The detailed algorithm that is to be followed by the nodes to perform these activities is shown below.

PERFORMANCE EVALUATION
The performance of RE-MAC was evaluated using network simulator-2(NS-2). For comparison purposes, we implemented S-MAC and DW-MAC also. The basic S-MAC protocol was modified to implement the DW-MAC protocol. As there protocols are synchronous protocol global time synchronization was assured for all nodes idle listening and over hearing were the two criteria concentrated while developing the REMAC protocol. Even though the DW-MAC protocol is proven technique to enhance energy efficiency compared to S-MAC, l reliable packet delivery is not guaranteed. It is due to the unavailability of RTS/CTS and ACK frames. In RE-MAC there control packets are integrated for reliable data transmission. Hence the control packet over heard and the energy efficiency was evaluated for comparing the performance of these protocols.

Simulation Environment
For the simulation of RE-MAC, we used version 2.29 of the network simulator-2(NS-2). For an initial set up a random network with ten sensor nodes was used. The created network was assumed to be un-partitioned. The transmission power receiving power, transmission range, carrier sensing range etc set as per the default parameters in NS-2. The MAC level performance of the protocols are to be evaluated and hence routine traffic was not included in the simulation. The DSR protocol available in the simulator was used assuming that it will provide the shortest path between any two nodes. Constant bit rate packets were used for simulating the data traffic and the packet size was 100 bytes.

Result Analysis
The S-MAC, DW-MAC and RE-Mac networks were implemented in the simulation environment as per the network parameter specifications. S-MAC enables with adoptive listen feature was employed for the simulation. RE-MAC was designed to increase the energy efficiency along with satisfying reliable communication. S-MAC employs RTS/CTS packets for establishing data packet transfer. The DW-MAC replaces this with a schedule frame and uses the time difference and duration field for channel scheduling. The RE-MAC uses the RTR and STS frames with almost the same functionalities of RTR and CTS. Hence the DW-Mac eliminates the control packet overhead there by compromising on the reliability of the message. The graph showing the control packet overhead for each node is shown in figure 3.

Fig 3. Comparison chart of control packet overhead
The control packet overhead for DW-MAC is found to be low when compared with RE-MAC and S-MAC. But when analyzing the prompt delivery of packets DW-MAC needs more retransmission for successfully sending a message. Hence more retransmissions are required in DW-Mac which increases the energy consumption. Both S-MAC and DW-MAC employs duty cycling for avoiding idle listening and DW-MAC employs additional techniques to maximize the sleep time.
RE-MAC is employing slotting mechanism during the conventional data time for data transfer registration and this registration is acknowledged. This can ensure a successful allotment of data transmission slot during the subsequent sleep time. The nodes which have pending data in their queue will participate in the registration process and remaining will enter into sleep time. The receiving node also saves energy by listening to only a short interval of data schedule time and if necessary wake up during the sleep time for an effective data transfer. Hence the radio is ON only when necessary, thereby reducing the overall power consumption of the nodes. Figure 4 describes the energy consumption of the nodes during the simulation.