Abstract
Energy efficiency is a very important requirement in designing a MAC protocol for wireless sensor networks using battery-operated sensor nodes. We proposed a new energy-efficient MAC protocol, RIX-MAC, based on asynchronous duty cycling and receiver-initiated scheme. In this article, we analyze the performance such as throughput, delay, and energy consumption of RIX-MAC with modeling and simulation. For mathematical analysis, we first use the Markov chain model and determine the transmission and state probabilities and set the equations to solve throughput and delay. We also calculate the energy consumption by separating a cycle period into TX and RX durations. Our analysis results are validated by comparing with the simulation results obtained by NS-2.
Introduction
Unlike other wireless networks such as WLAN and Bluetooth, sensor nodes in wireless sensor networks (WSNs) cannot change or charge their own batteries. Therefore, energy efficiency is a fundamental and important consideration when designing protocols for sensor nodes in WSNs. 1 The energy constraint along with the deployment of a large number of nodes causes challenges in designing sensor nodes, medium access control (MAC), and routing protocols for WSNs. 2 To reduce energy consumption in WSN, many researches have been studied ever since. The most popular mechanism for reducing energy consumption in WSN is duty cycling. The duty cycling technique saves energy by switching sensor nodes between awake and sleeping states. 3 The existing duty cycling energy-efficient MAC protocols can be categorized into two types: synchronous and asynchronous protocols.
In the synchronous MAC protocols such as S-MAC 4 and T-MAC, 5 the awake duration in duty cycle of each node is synchronized by exchanging periodical control frames such as SYNC. These additional control frames cause wasted energy usage. Also, overlapped common period for accessing medium causes collision between frames. In contrast, asynchronous MAC protocols, such as B-MAC, 6 X-MAC, 7 and RI-MAC, 8 have higher energy efficiency than synchronous protocols. These protocols use the preamble sampling, instead of additional synchronized control frames. Because of the small number of control frames and low likelihood of collision, asynchronous MAC protocols are more effective in terms of energy consumption. It is quite difficult for the sender to match the awake state to the receiver’s one, even though asynchronous MAC protocols are designed carefully to operate not to waste energy.
We present an energy-efficient receiver-initiated MAC protocol called RIX-MAC 9 and another MAC protocol based on the tree topology called TRIX-MAC. 10 The operation of RIX-MAC is substantially similar to one of X-MAC, where the proposed protocol utilizes the receiver-initiated wake-up scheme as described in RI-MAC. 8 RIX-MAC reduces the number of overall control frames of the sender and receiver as well as it partially prevents the collision in some situation using random back-off scheme in the case of multiple senders and one receiver. As a result, RIX-MAC can save the energy consumption rather than previous MAC protocols, such as X-MAC and PW-MAC. 11 We showed the performance evaluation results of RIX-MAC by the simulation in NS-2 compared with other energy-efficient MAC protocols. However, it is desirable to devise a general framework that can analyze the performance of RIX-MAC such as the throughput, delay, and energy consumption.
In this article, we present a Markov queuing model for duty-cycled nodes with a finite queue capacity in RIX-MAC to analyze the performance such as the throughput, delay, and energy consumption and compare the simulation results with analytical ones to validate the model. Based on the Markov model, the stationary probability,
The rest of this article is organized as follows. Section “RIX-MAC protocol” describes the design and operation of the RIX-MAC protocol for WSNs. Section “Modeling of sensor nodes in RIX-MAC” presents an analytical model of RIX-MAC based on a Markov queuing model and provides an analysis of the network throughput, frame delay, and energy consumption using our proposed model. Section “Performance analysis” provides the numerical results compared with the simulation results to validate the model. Finally, concluding remarks will be given in section “Conclusion.”
RIX-MAC
Overview
X-MAC, 7 which is based on B-MAC, 6 uses the preamble sampling mechanism to achieve low power communication without synchronization. The key features of X-MAC are the short preamble sampling and the early-ACK mechanism. X-MAC transmits multiple short preambles to make receiver notice instead of a long preamble at B-MAC. If the receiver detects a short preamble during its awake period, it transmits an early-ACK frame to the sender before receiving the actual data frame, and the sender knows that the receiver stays in the awake period, and it transmits data frame immediately. Consequently, X-MAC saves more energy than B-MAC due to the short preamble sampling and the early-ACK mechanism.
RIX-MAC 9 is based on X-MAC employing the receiver-initiated wake-up scheme as well as clear channel assessment (CCA) and low power listening (LPL) for accessing channel. Every node in the network has the same operational cycle which is divided into two states: the wake-up and sleep states. The wake-up state is an active state for a node to receive or transmit data with the radio turned on, and the sleep state is for a node to save its power by turning off the radio. The wake-up state is divided into two periods: the scheduled wake-up (Sched-wakeup) and synchronized wake-up (Synch-wakeup) periods, where the Synch-wakeup period is optional when a node wants to transmit data frames. In Figure 1, the operations of X-MAC and RIX-MAC are shown, where RIX-MAC transmits short preambles as X-MAC does and wakes up twice. Each node periodically wakes up with its own schedule to check whether there are any incoming short preambles intended for it. If there are no incoming short preambles after the Sched-wakeup, TX-node goes to sleep. When it has data frames to send, TX-node wakes up again at the Synch-wakeup which is synchronized to RX-node. When the channel stays idle, TX-node then starts the transmission of a short preamble before sending a data frame. In the rest of this section, we will describe in detail the operational mechanism, the features for collision avoidance, and the additional advantages of RIX-MAC.

Operations of (a) X-MAC and (b) RIX-MAC.
Receiver-initiated operations of RIX-MAC
In RIX-MAC, all nodes have their own wake-up schedule independently as well as their temporary wake-up schedule synchronized to RX-node’s wake-up, where RX-node’s wake-up schedule can be obtained by the wake-up time field in early-ACK frames. Therefore, TX-node using RIX-MAC wakes up twice in a cycle when the TX-node has data to be delivered to RX-node. In TX-node, the first wake-up occurs at its own schedule to receive data frames (Sched-wakeup) while the second wake-up transpires to transmit data to RX-node (Synch-wakeup) as shown in Figure 1.
Since TX-node has no information about RX-node’s wake-up schedule at the beginning, RIX-MAC operates just like X-MAC during the first cycle of the transmission. When TX-node has data to be transmitted to RX-node, TX-node searches a wake-up schedule of designated RX-node in the table. If it cannot find the appropriate wake-up schedule of RX-node, TX-node keeps transmitting short preambles from its own schedule as X-MAC does. Upon receiving an early acknowledgment from RX-node, TX-node starts to transmit data frames immediately, extracts the wake-up information of RX-node from the wake-up time field in the early-ACK frame, and saves information on the wake-up time table as a time gap between Sched-wakeup and Synch-wakeup.
When TX-node predicts the wake-up of RX-node, Synch-wakeup is determined by the gap between last Sched-wakeup and time gap,

Timing diagram of RIX-MAC operation.
To coordinate preamble transmissions, an additional field, duration, is inserted in preamble and early-ACK frames when multiple TX-nodes try to transmit data frames at the next Sched-wakeup of RX-node. The field contains information about slot-counts required to transmit data frame for each TX-node, with which others could predict the duration time of the next data transmission. RX-node employs the duration field in early-ACK frames to coordinate transmissions of short preambles from contending multiple TX-nodes. TX-nodes reading the value of duration from another TX-node or RX-node set the network allocation vector (NAV) to defer from accessing the medium and stop to decrement slot-counts. After the successful transmission of data frame, TX-nodes under the virtual carrier-sensing with NAV resume decrementing slot-counts and try to transmit short preambles.
Since TX-node attempts to transmit on the RX-node’s wake-up, receiver-initiated protocols might induce a collision problem when several nodes try to deliver data to an RX-node. To avoid preamble collisions by multiple senders, TX-node starts the random back-off procedure after Synch-wakeup. An assigned random back-off for a TX-node means the number of time slots to wait for the next transmission of short preamble after Synch-wakeup. Figure 3 shows that TX1 and TX2 are the senders trying to transmit data to a receiver, R, and TX1 precedes TX2 in occupying the medium. TX1 grabs the medium to transmit a short preamble and RX replies to the preamble with an early-ACK. TX2 receives the early-ACK from RX and sets the NAV to the end of data transmission. The duration in the early-ACK frame specifies the number of time slots for TX2 has to wait during the data transmission. As data transmission is completed, TX2 counts down the residual slot-count again and transmits the preamble at the next time slot.

Virtual carrier-sensing and random back-off with multiple transmitters.
Modeling of sensor nodes in RIX-MAC
In order to model sensor nodes with a finite queue in duty-cycled sensor networks, we use a Markov chain with a finite number of states which represent queue length at the wake-up of nodes as introduced in Yang and Heinzelman. 12 For this model, we assume that frames arrive at each node independently, the channel is ideal, retransmission is not allowed, and each node can buffer frames in a finite queue. We also assume that there are only one transmission and one reception per node during a duty cycle and the transmit probability of every node is constant. This model is utilized to compute the throughput, the delay, and energy consumption of RIX-MAC.
Figure 4 shows the Markov model with the queue capacity of Q, where each state represents the number of data frames in the queue. When the queue is not empty, a node will attempt to access the media to transmit a data frame. A data frame is removed from the queue when it is transmitted, and a data frame is dropped when the queue overflows. When

Markov model of a node.
In particular, equations (2) and (5) show that frames are dropped when the queue overflows. When
when
Equation (8) shows that the stationary probability
Average throughput and delay
RIX-MAC is an asynchronous time-slotted protocol, where T is the length of a cycle,
Suppose there are N nodes in a fully connected network. When a node has a data frame to send,
In the case that k nodes wake up synchronizing to the receiver and compete for the channel by transmitting a preamble frame. The probability
where W is the contention window size. Therefore, the probability p for each node to get the channel and the probability
With equations (7) and (11), stationary probability
The throughput is defined as the amount of data successfully delivered within the time elapsed. Since the RIX-MAC protocol operates with duty cycles, the throughput can be calculated within a cycle time. Therefore, the average throughput of RIX-MAC is
where S is the size of a frame.
The delay experienced by a frame consists of two components such as a queuing delay,
and
By the Markov model, the queuing delay,
Energy consumption
Since RIX-MAC is a duty-cycled protocol, the average energy consumption over a cycle, P, is obtained by dividing the energy consumption, E, of a node in a cycle with the cycle length, T. RIX-MAC protocol has two active periods, Sched-wakeup and Synch-wakeup, where the Synch-wakeup period is optional when a node wants to transmit data frames. During a periodic wake-up (Sched-wakeup), RX-node can successfully receive a data frame if only one node in the network has a data frame destined to the RX-node or more than two nodes have data frames destined to the RX-node with different back-off values. By the way, RX-node fails to receive a data frame if more than two nodes have data frames destined to the RX-node picking up an identical back-off value. Therefore, with TX-node at Synch-wakeup, the node performs one of the following operations:
Successful transmission of a data frame with the probability of
Collided transmission of a data frame with the probability of
Sleeping without any transmission with the probability of
An RX-node at Sched-wakeup operates as one of the following:
Successful reception of a data frame with the probability of
Collision of data frames with the probability of
Staying active and idle with the probability of
In order to calculate the energy consumption, we have duration periods of a preamble, a data frame, and an early-ACK frame denoted by
Therefore, we can obtain the average energy consumption in a node during a cycle by calculating it for each case. First, we will derive the energy consumption of TX-node during a Synch-wakeup period. It takes the time of
When preambles collide at Synch-wakeup, no preamble frame can be received and TX-nodes keep transmitting preambles during residual active period. Therefore, the energy consumption that nodes transmit a data frame and encounter a collision at Synch-wakeup,
and the energy consumption of a sleeping node is assumed to be negligible such that
During a Sched-wakeup period, the node occupying the channel transmits a preamble, receives an acknowledgment, and sends a data frame just after a random back-off, which is
Collision occurs when two or more TX-nodes have the same receiver and choose the same contention window size at Sched-wakeup. The energy consumption that a node receives data unsuccessfully in Sched-wakeup period,
Finally, a node may keep active and idle during the period of
Since every node in RIX-MAC has two independent periods, to transmit and receive at Sched-wakeup, the operations of a node in a cycle can be classified into nine cases, which could occur in a cycle as shown in Table 1. Case 1 implies that a node successfully transmits a data frame and receives a data frame during the Synch-wakeup and Sched-wakeup periods, respectively. Case 2 shows that a node successfully transmits a data frame at Synch-wakeup but fails to receive a data frame at Sched-wakeup, and Case 3 shows that a node only transmits a data frame successfully at Synch-wakeup and no data frame is destined to the node. Similarly, other cases represent the operations of a node in the similar manner. Therefore, the average energy consumption of a node in a cycle can be obtained by the sum of the energy multiplied by the probability of every case as shown in Table 2.
Cases of a node in a cycle.
Energy consumption of cases in Table 1.
Performance analysis
In this section, we present the performance evaluation of RIX-MAC in terms of the throughput, delay, and energy consumption of the network. In order to validate our proposed model of RIX-MAC and evaluate the performance of RIX-MAC, we have compared the analytic values of the model with the simulation results using NS-2 (version2.32).
13
For the analysis and simulation, it is assumed that the network is fully connected and each node has a single omni-directional antenna where the radio propagation model of two-way ground reflection is employed. A queue capacity, Q, at each node is set to 10. The slot time,
Parameters for sensor networks.
The stationary probability of the empty-queue state,
Figures 5–7 show the results of performance from both the model and the simulation in RIX-MAC under various environments, where the red dashed lines indicate mathematical analyses and the blue solid lines represent our simulation results. Figures 5(a)–5(c) show the average throughput, Figures 6(a)–6(c) show the average delay, and Figures 7(a)–7(c) show the total energy consumption under varying data arrival rate from 0.5 to 2.0 frames/s, under varying cycle lengths from 120 to 520 ms and under varying the number of nodes in the network from 2 to 30, respectively.

Average throughput per node of RIX-MAC: (a) average throughput versus arrival rate, (b) average throughput versus cycle length, and (c) average throughput versus number of nodes.

Average delay of RIX-MAC: (a) average delay versus arrival rate, (b) average delay versus cycle length, and (c) average delay versus number of nodes.

Energy consumption of RIX-MAC in the network: (a) energy consumption versus arrival rate, (b) energy consumption versus cycle length, and (c) energy consumption versus number of nodes.
In Figure 5(a), the throughput of RIX-MAC increases almost linearly as the arrival rate increases during relatively low arrival rates, but does not increase linearly during higher arrival rates because of overflows in the queue and contentions in the network. Therefore, the throughput of RIX-MAC does not change after saturation. In Figure 5(b), the throughput of RIX-MAC changes little when relatively low cycle lengths, and then decreases as the cycle length increases because of low-duty cycles and short active periods to deliver the incoming frames. A longer cycle length leads to lower throughput since it is assumed that at most one packet in a cycle be delivered. Furthermore, the cycle lengths from 120 to 280 even yield the increase in throughput in the simulation results, because the increase in cycle length leads to less contention. In Figure 5(c), the throughput per node of RIX-MAC is not influenced by the small number of nodes in the network before saturation, but decreases due to collisions as the number of nodes increases further. However, as the number of nodes keeps increasing, the throughput of RIX-MAC converges.
In Figure 6(a), the delay of RIX-MAC increases rapidly as the arrival rate increases because the queue at each node is filled with frames. As the arrival rate increases further, the queue length approaches its capacity and the increase in the delay shrinks. When cycle lengths are small, all the incoming frames can be transmitted with waiting less after they arrive in the network, as shown in Figure 6(b). However, as the cycle length increases, the contention delay and the queuing delay increase because of saturations and queue overflows. In Figure 6(c), the delay of RIX-MAC increases as the number of nodes increases. When there are more nodes in the network, the probability for each node to transmit a frame in a cycle becomes lower, and the probability of a longer queue gets higher to yield a longer delay.
As shown in Figure 7(a), the total energy consumption in the network increases when the load of the incoming frames increases because more energy is required to deliver more frames. However, when RIX-MAC saturates and the queue at each node overflows, more packets are dropped by the queue and the number of frames to be transmitted remains the same. Therefore, the total energy consumption of RIX-MAC becomes limited as the load of the incoming frames increases further. In Figure 7(b), the total energy consumption decreases as the cycle length increases because all the nodes that are not involved in the delivery of frames may sleep for a longer time. The total energy consumption increases as the number of nodes in the network increases, as shown in Figure 7(c). However, since at most one frame in a cycle is transmitted, more nodes in the network may fail to access the channel and go to sleep without consuming energy. Therefore, the increase in total energy consumption in the network slows down as the number of nodes increases further.
Conclusion
In this article, we have proposed a Markov chain model for RIX-MAC and provided the analysis of average throughput, average delay, and total energy consumption of RIX-MAC using the model. The analytic results have been validated with NS-2 simulation results under various network environments as shown in the previous section. By this comparison, we have shown that our proposed model well estimates the performance for RIX-MAC. For the simplicity of the model, it is assumed that no retransmission is allowed, the frames are transmitted via ideal channels, and one data frame is delivered per node per cycle. To model and analyze practical operations of RIX-MAC, the model can be extended by allowing retransmissions, channel errors, and the delivery of multiple frames in a cycle as future work. Further performance evaluation of X-MAC and RIX-MAC analyses based on the model and the simulation results is also the future work.
Footnotes
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 research was supported by the Research Grant of Kwangwoon University in 2015.
