Energy Efficient Packet-Duration-Value Based MAC Protocol for Wireless Sensor Networks ()
1. Introduction
One fundamental function of the Medium Access Control (MAC) protocol is to avoid collisions so that interfering nodes do not transmit at the same time. There are many MAC protocols that have been developed for wireless voice and data communication networks; for example, Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), and Contention-based protocols like IEEE 802.11. Wireless Sensor Network (WSN) consists of large number of distributed sensor nodes which are organized into multi-hop wireless networks. Each node has one or more sensors, low-power radio, embedded processors and mostly battery powered. The nodes coordinate themselves locally for data processing and deliver packets to a common base station (i.e., sink node). The primary goal of WSNs is energy efficiency. Major sources of energy waste in sensor networks include: collision (i.e., when a transmitted packet is corrupted due to interference, the affected bits have to be discarded and follow-on retransmissions increase energy consumption), overhearing (i.e., nodes pick-up data packets that are destined to other nodes), control packet overhead (i.e., sending/receiving of control packets consumes energy, and less useful data packets are transmitted), and idle listening (i.e., listening to receive packets that are not sent). In the event that nothing is sensed, nodes are in idle mode for most of the time. It is noted that MAC protocols in WSNs are generally CSMA-based. Moreover, they are flexible and do not need much infrastructural support. In addition, Carrier Sense Multiple Access (CSMA)-based MAC protocols do not require clock synchronization and global topology knowledge. When a node joins or leaves the network dynamically it can be controlled without extra operations. The main design features for MAC protocols in a WSN include energy, latency and throughput as well as scalability.
Several MAC protocols with different energy efficiency objectives have been proposed in the literature for wireless sensor networks. Ye et al. [1] for example, proposed Sensor-MAC (S-MAC), a contention-based protocol that divides time into large frames, and each frame consists of two parts: namely, active part and sleeping part. On the one hand, node turns ON its radio and can communicate with its neighbours during the active part, as well as send messages queued during the sleeping part. On the other hand, a node turns OFF its radio during the sleeping part and cannot immediately communicate with its neighbours. In S-MAC, neighbouring nodes form virtual clusters so as to set up a common sleep schedule. It is noted that two neighboring nodes in two different virtual clusters wake up during the listening periods of both clusters. The implications of S-MAC, therefore, are that throughput is reduced because only the active part of the frame is used for communication, and latency is increased as a message-driven event could occur during the sleeping period. Besides, there is a possibility that neighboring nodes in two virtual clusters follow two different wake-up and sleep schedules; thereby resulting in more energy consumption. Dam and Langendoen [2] proposed Time-Out MAC (T-MAC) protocol to improve the weak results of S-MAC during variable traffic densities. Variable loads in sensor networks are expected, since the nodes that are closer to the sink must relay more traffic and traffic may change over time. If any communication does not occur during a certain period of listening time (i.e., timeout interval, TA) in T-MAC, the node goes into sleeping mode. An active period ends when upon waking up there is no activation event before expiration of threshold set for time-out. T-MAC is more flexible and energy efficient than S-MAC. Yoo and Choi [3] proposed Dynamic Sensor-MAC (DSMAC), which adds a dynamic duty-cycle feature to S-MAC. The aim is to decrease the latency for delay-sensitive applications. Within the SYNC period, all nodes share their one-hop latency values (i.e., the time between the reception of a packet into the queue and its transmission). When a receiver node notices that the average one-hop latency value is high, it decides to shorten its sleep time and announces it within the SYNC period. After a sender node receives this sleep-period decrement signal, it checks its queue for packets destined to that receiver node. If there are packets then it doubles its duty cycle when its battery level is above a specified threshold. In his contribution, [4] proposed the spatial TDMA and CSMA with preamble sampling protocol in which all sensor nodes are defined to have two communication channels. The data channel is accessed using the TDMA and the control channel is accessed using CSMA. Moreover, [5] proposed a Wireless Sensor MAC (WiseMAC) for the downlink of infrastructure wireless sensor networks. WiseMAC is a novel energy efficient MAC protocol based on synchronized preamble sampling to minimize idle listening. This protocol had earlier been outlined in [6] for multi-hop sensor networks. Another category of MAC protocol is based on scheduling wherein data transmissions are scheduled in advance to avoid contention. In such protocol, besides data transmission, nodes exchanges neighbor information periodically to schedule the transmission. Traffic Adaptive Medium Access Protocol (TRAMA) is an example of scheduling protocol. TRAMA is a TDMA-based protocol proposed by [7] to increase the utilization of classical TDMA in an energy efficient manner. In TRAMA, contention-free “scheduled access” and contention-based “random-access” are performed alternatively. Data transmissions take place in the scheduled access slot and neighbor information exchange is performed in a random access slot. The main advantage of TRAMA over S-MAC is the improvement in channel utilization but there is a trade-off in longer delay and higher energy consumption. This low power listening technique efficiently turns ON the radio periodically. The approach works at the physical layer based on the PHY Header. The Header starts with the preamble which intimates the receiver of upcoming messages. The receiver periodically turns radio ON to sample for the incoming messages and if the preamble is detected, it continues listening for the normal message transfer. If the preamble is not detected, it turns OFF radio till next sample. In view of the fact that more than one sender may want to send packets to a receiver at the same time, such nodes need to contend for the transmission medium to avoid collision.
Furthermore, researchers have proposed other MAC protocols. For example in [8], the authors developed a MAC protocol based on hybrid Time-Division Multiple Access (TDMA)/Frequency-Division Multiple Access (FDMA) technology. In their approach, the communication of cluster heads uses the FDMA technology which can decrease crosstalk between different frequency and the cluster heads can identify each other. The inter-cluster communication is however based on the TDMA technology. In [9], the authors proposed a quorum-based energy efficient MAC protocol, named Queen-MAC. This paper proposed an adaptive quorum-based protocol that independently and adaptively schedules nodes wake-up times. Nguyen et al. [10] proposed a Low Overhead MAC (LO-MAC) protocol which uses both low duty cycling and multi-hop forwarding from the routing-enhanced MAC protocol to reduce idle listening and sleep latency, respectively. Furthermore, the authors in [11] studied adaptive listening/sleeping mechanism of dynamic access of hybrid traffic wireless sensor network nodes. Their work was based on hybrid background of both real-time and non-real-time traffic. In [12], the authors proposed a MAC protocol based on sleep schedule of sensor node dynamic duty cycle. Antonopoulos et al. [13] introduced a network coding-aided energy efficient MAC protocol that coordinates the transmissions among a set of relay nodes which act as helpers in cooperative Automatic Repeat request-based (ARQ-based) wireless networks.
In wireless sensor networks, there is a duration field in each transmitted packet that indicates how long it will take to complete the remaining packet transmission. Moreover, if a node receives a packet destined to another node, it knows how long it has to keep silent. The node records this value in a variable called the Network Allocation Variable (NAV); and sets a timer for it. Every time the NAV timer fires, the node decrements its NAV value until it reaches zero. When a Node has data to send, it first looks at the NAV. If its value is not zero, the node determines that medium is busy. If a node fails to get the medium, it goes to sleep and wakes up when the receiver is free and listening again.
In this paper, a novel energy-efficient MAC protocol is proposed based on Duration Value (DV) in transmitted packets. The remainder of this paper is organized as follows. The problem definition is presented in Section 2, and Section 3 covers problem solution. Simulation and discussion of results are presented in Section 4. Section 5 concludes the paper.
2. Problem Definition
Most of the power in WSNs is consumed by the onboard transceiver in a sensor node. MAC protocols in WSNs are generally CSMA-based. CSMA-based MAC Protocols are flexible and do not need much infrastructural support. Besides, they do not require clock synchronization and global topology knowledge. Addition of new nodes can easily be adjusted to topology changes; for example, replacing exhausted nodes in the network and adding new nodes to the network. Whereas frame can be defined as a format of aggregated bits from a medium access control sub-layer entity that are transmitted together in time; a packet is the formatted, aggregated bits that are transmitted together in time across the physical medium. The payload is defined as the content of a data message that is being transmitted [14].
The link layer data packet is the smallest communication entity between neighbouring sensor nodes in a WSN. It consists of a header field H bits long, payload of size P bits and a T bit trailer; as shown in Figure 1 below. The header field generally includes the current segment number, total number of segments in the corresponding higher layer packet, higher layer packet identifier and the source and destination identifiers. The payload contains information bits and the trailer is composed of parity bits for error control [14]. In [15], Tseng et al. proposed an analytical energy consumption model for SMAC. Based on results reported in this paper and the work of [16], sensor node energy consumption over a period of time,
denoted t, can be expressed as:
(1)
where NT = Number of times that a node transmits;
NR = Number of times that a node receives;
ET = Energy consumption when transmitting;
ER = Energy consumption when receiving;
TS = Times the node spending in sleep;
TI = Times the node spending in idle;
PS = Power consumption for sleep mode;
PI = Power consumption for idle mode.
It is noted that Energy = Power * Time. Transceiver in a sensor node can be put into different operational states, namely: transmit, receive, idle (i.e., sensor node is ready to transmit/receive, but not doing so), and sleep (i.e., significant parts of the transceiver are switched off; therefore sensor node is not immediately able to transmit/receive packets). According to [17], sleeping time is 299 ms, time between consecutive packets is 300 ms, time duration to switch from sleep mode to idle mode is 2450 µs and time duration to switch from idle to sleep mode is 250 µs.
All packets have Duration Value (DV), which indicates the time needed to transmit all the remaining data fragments and Acknowledgment (ACK) packets. The DV is stored by every sensor node in a variable called a Network Allocation Variable (NAV). Each node maintains the NAV to monitor the activities in its neighbourhood. A timer is set in every node to monitor the value stored in the NAV. The node decrements this value every time the NAV timer fires until its value becomes zero. Whenever a node has data to send, it must first check the NAV. The decision of the node is then based on Equation (2).
(2)
When neighbouring nodes of the Sender (or Receiver) hear Request to Send (RTS) (or Clear to Send (CTS)) packet respectively, they should sleep for the indicated time needed to transmit all the data fragments. It is also possible that a neighboring node wakes up or a new node joins in the middle of a transmission. Suppose a node is only the neighbor of the receiver but not the sender, it will not hear the data fragment being sent to the receiver by the sender. If ACK packet is not sent by the receiver frequently, the new node may conclude, from its own carrier sense, that the medium is free. Based on such decision, if the node starts transmitting, the current transmission will be corrupted at the receiver. For example, suppose a neighbouring node receives an RTS from the sender or CTS from the receiver, it goes to sleep for the entire message time. However, if the sender extends the transmission time due to fragment losses or errors, the sleeping neighbours may not immediately be aware of this transmission extension. It is noted that nodes exchange their schedules by broadcasting it to all its immediate neighbouring nodes.
In the current work, one-hop transmission is assumed; and no neighbouring node joins in the middle of a transmission. It is however necessary to note that collisions occur at the receiver due to interference from neighbouring nodes. It is noted also, that the research focus of the current work is on the neighbouring nodes of the receiver. For an energy efficient wireless sensor network, a node should sleep to avoid overhearing if its NAV is not zero. Listening to receive possible traffic that is not sent by any node constitutes idle listening.
The aim of the current work is to eliminate idle listenisng and collision. The proposed solution is discussed in Section 3.
3. Problem Solution
A schematic representation of a typical wireless sensor network, showing the operations of the proposed PDV-MAC protocol is presented in the Figure 2 below. In the Figure, rDVi represents randomized Duration Value (rDVi) for sensor node i.
represents sensor nodes. Upon successful exchange of RTS and CTS between the sender and receiver respectively, the receiver also receives the DV of the transmitting node (i.e., sender). The receiver then generates random values corresponding to the number of its neighbouring nodes. The values are added by the receiver to the received DV and then broadcast to its neighbouring nodes. This means, that each node in the neighbourhood of the receiving node will receive current transmission’s notification in form of different values of rDV. In effect, this ‘forces’ an ordered sleep/wake-up schedules, which resultantly prevents collision at the receiver and idle listening by neighbouring nodes. For example in Figure 2 below,

Figure 2. Proposed sensor network model.
upon the exchange of RTS and CTS between the sender and receiver, the receiver generates n non-repeating integer random values corresponding to n neighbouring nodes. The receiver then sends rDV1 to sensor node 1, rDV2 to sensor node 2, rDV4 to sensor node 4, …, rDVn to sensor node n.
In this proposed PDV-MAC protocol, the focus is on the energy consumption of the neighbouring nodes of the receiver. Since transmission (or reception) is normally not allowed between the sender (or receiver) and its neighbours while transmission is ongoing between the sender and receiver, the energy model in Equation (1) is consequently modified to obtain Equation (3). This is achieved by eliminating terms relating to energy consumption for transmission and reception. Thus,
(3)
Whereas the first term in Equation (3) relates to the time and power consumed by node in sleep mode (i.e., energy in sleep mode), the second term relates to the time and power consumed by node in idle mode (i.e., energy in idle mode). Equation (3) therefore represents the total energy consumed by node in sleep and idle modes.
By introducing a random time parameter α into the energy model in Equation (3), Equation (4) is obtained:
(4)
where
(5)
(6)
Or
(7)
It is important to note in Equation (4), that a sensor node can only be in one of the two states/modes at any given time; that is sleep or idle. The DV is the reported duration value of the transmitting nodes and βi are the generated non-repeating random values for node i. Moreover, αi represent the randomized DV for node i.
The consequents of this proposed scheme are as follow:
(a) It “forces” an ordered sleep/wake-up time on nodes, and by implication, “forces” ordered access to the receiving node; thereby eliminating collision.
(b) Upon completion of ongoing transmission, a neigbouring node with NAV of value zero and with data to transmit may exchange RTS and CTS with the receiver, and commence transmission.
(c) As long as a node is receiving, all neighboring nodes continue to sleep (or remain in idle mode) and will wake up at different times. This eliminates idle listening.
The implication of (a)-(c) above, is that collision and idle listening are eliminated.
Flowchart for the Implementation of the Proposed PDV-MAC Protocol
The flowchart for the implementation of the proposed PDV-MAC protocol is presented in Figure 3.
The simulation and discussion of results are presented in Section 4.
4. Simulation and Discussion of Results
Sample parameter values used in energy model [17] for Wireless Sensor Networks (WSNs) are presented in Table 1 below.
According to [18], transmitting a single bit in Berkeley sensor motes requires 1 µJ and 0.5 µJ to receive a bit. The simulation parameters for the proposed PDV-MAC Protocol are presented in Table 2 below.
The simulation exercise, in relation to energy efficiency, is carried out as follows:
1) N neighbouring sensor nodes are in sleep mode

Figure 3. Flowchart for the implementation of the proposed protocol.
based on different rDVi received.
2) N neighbouring sensor nodes are in sleep/idle mode based on same DV received.
3) 10% of total packet is re-transmitted by the sender as a result of collision at the receiver due to interference by neighbouring nodes.
For the purpose of this simulation, S-MAC is the existing MAC protocol.
4.1. Results
The results of the simulation are presented in Tables 3

Table 1. Sample parameter values used in energy model for WSNs.

Table 3. Randomised sleep time of neighbouring nodes of the receiver.
and 4 below. Table 3 shows the DV reported by the sender to the receiver which forms the basic sleep time (i.e., 300 ms). Table 3 also shows the generated nonrepeating integer random time values, which are used to randomized the DV; which the receiver then broadcast to its neighbouring sensor nodes.
The energy consumption by sensor nodes based on the proposed PDV-MAC and the existing S-MAC Protocols are presented in Table 4.
In view of the large differences between the values of energy consumed for the case of randomised DV and for the case of same DV, the values are scaled. The scaled (or formatted) values are presented in Table 5.
The graph in Figure 4 below is based on data presented in Table 5.
4.2. Discussion of Results
In this paper, the Duration Value (DV) reported by the sender is 300 ms. The sender transmits 2000 bits, out of

Table 5. Energy consumption based on randomized DV and same DV (for the graph in Figure 4).

Figure 4. Energy consumption by sensor nodes—randomized DV and same DV.
which 10% is assumed corrupted at the receiver and must be re-transmitted. The receiver has ten neighbouring sensor nodes (i.e., n = 10). Two scenarios are presented in Table 3, namely: the proposed PDV-MAC protocol (using DV + random factor) and existing MAC protocol (with same DV). For the first scenario the DV of 300 ms becomes the basic sleep time. Ten random non-repeating integer values are generated in the range 1 - 100 ms, and used to obtain ten (10) randomized DV values. These randomized DVs (i.e. rDVs) then form the sleep times for the neighbouring nodes of the receiver. The consequent of this sleep schedule is that each node will wake up at different times; and normally at time when ongoing transmission would have completed. Moreover, since the focus of this work is on energy consumption by neighbouring nodes of the receiver, it is expected that transmission of packets by the neighbouring nodes of the receiver is not allowed. Hence, neighbouring nodes can either be in sleep or idle mode.
In Table 6 therefore, energy consumption by the neighbouring nodes of the receiver are presented in Column 2. In Column 3, however, the data presented in respect of energy consumption consists of the energy consumed by each node in sleep mode and energy consumed by each node in idle mode. It is necessary to note in this case, that the energy consumed in idle mode represents the proportion of energy consumed during the random time added to the DV in the case of the proposed PDV-MAC protocol. It is important to further note that neighbouring sensor nodes of the receiver can either be in sleep or idle mode. For example, Node 9 consumed 0.000384 J during sleep time of 384 ms for the case of randomized DV; the same Node 9 consumed 0.0003 J during the sleep time of 300 ms and 0.6720 J during the idle time of 84 ms, for the case of same DV.
On the one hand, the energy consumed by each neighbouring sensor node of the receiver is shown in Column 2 of Table 4; the total energy consumed by all sensor nodes based on randomized sleep times is 0.00352 J. On the other hand, by using the traditional same sleep-time schedule for all nodes based on same DV, the total energy consumed by all sensor nodes for this case is 0.003 + 4.16 = 4.163 J. Moreover, the collision that may occur at the receiver for the case of same DV, due to same wake/sleep schedule; and the subsequent re-transmission of corrupted bits also has implication on energy consumption. Suppose some of the ten neighbouring nodes of the receiver wake up while transmission/reception is still in progress and corrupt some of the bits being transmitted; such corrupted bits must be retransmitted.
Recall from Table 2 above, that energy consumed in sending a bit is 1 µJ and energy consumed in receiving a bit is 0.5 µJ. Assume 10% of bits in the packet are corrupted and has to be re-transmitted. This means additional 200 × 0.5 µJ = 100 µJ will be consumed at the

Table 6. Energy consumption based on randomized DV and same DV.
receiver to receive the re-transmitted bits and 200 × 1 µJ = 200 µJ will be consumed at the sender for re-transmission of the corrupted bits.
Consider the graph in Figure 4 above, the energy consumed by each of neighbouring nodes of the receiver using the proposed PDV-MAC protocol was much less than energy consumed using the existing MAC protocol; for all nodes. Whereas energy consumption ranges from 0.00031 J - 0.000392 J for the case of broadcasting randomized DV values to the neighbouring nodes of the receiver, energy consumption ranges from 0.0803 J - 0.7363 J for the case of broadcasting same DV values to the neighbouring nodes of the receiver.
From the foregoing analysis, the proposed PDV-MAC protocol indeed improves energy efficiency in wireless sensor networks.
5. Conclusion
In this paper, a novel PDV-MAC protocol was proposed based on duration value in transmitted packets of the sender. The duration value was randomized using nonrepeating randomly generated integer values corresponding to the number of neighbouring nodes of the receiver. These random values were used to obtain randomized duration values which were broadcast to the neighbouring nodes of the receiver. By implication, this “forces” an ordered sleep/wake-up schedule on the neighbouring nodes of the receiver as nodes wake up at different times when their NAV values becomes zero. The efficacy of the proposed PDV-MAC protocol was tested via simulation which was implemented in Visual C# and MATLAB. The simulation was carried out in three scenarios: namely, 1) the sleep/wake-up schedules of neighbouring nodes of the receiver were based on proposed PDV-MAC protocol (i.e., using randomized DVs); 2) the sleep/wake-up schedules of neighbouring nodes of the receiver were based on existing MAC protocol (i.e., using same DVs); and 3) neighbouring nodes of the receiver received same DV which resulted in corruption of 10% of packet due to interference at the receiver; and the affected bits had to be re-transmitted. It is shown by the results obtained, that the proposed PDVMAC protocol can indeed be implemented to improve energy efficiency in wireless sensor networks.