1 Introduction

Wireless sensor networks (WSNs) are regarded as the main infrastructure for machine to machine (M2M) and Internet of things (IoT). It transforms the communication world more ubiquitous, including mission critical areas such as military, energy, electricity and dangerous industries. The WSNs are usually designed to make the network services more intellectual and interactive, by collecting information from the physical.

At the outset, the energy consumption of sensor nodes was the main concern, and an abundance of researches in this area have been reported. However, as services have continued evolving, other factors such as performance, quality-of-service (QoS), and reliability have risen to the surface [1]. On the other hand, as wireless devices become more widespread, wireless frequency interference problems also become more severe, since the crowded frequency bands degrade wireless communication conditions. The target frequency band includes 868 MHz, 915 MHz and 2.4 GHz industry, scientific, and medical (ISM) bands within the carrier sense multiple access (CSMA) environment. Usually, frequency interference in WSNs causes wireless collisions, which in turn result in packet errors or packet drop problems, and decline of the reliability. As a result, reliability assurance becomes an important issue as the volume of mission critical applications increases. Since the performance degradation potentially induces significant degradation of the service reliability and energy consumption in term of automatic repeat request (ARQ) schemes, additional consideration of the performance and energy consumption is needed [2]. This paper proposes a reliable data transfer ARQ scheme, which is called Energy Efficient and Reliable ACK (E\(^2\)R-ACK), to realize delay reduction and improved energy efficiency. Since the purpose of the proposed scheme is improving the reliability of WSNs, the delay performance and energy consumption of the proposed scheme are compared against the other legacy schemes, i.e., ACK, NACK and implicit ACK (I-ACK) [3].

The remainder of this paper is organized as follows: Sect. 2 reviews the related works regarding assurance of WSNs reliability; Sect. 3 explains the proposed E\(^2\)R-ACK scheme; Sect. 4 presents the mathematical analysis; Sect. 5 evaluates the performance of the proposed scheme, and finally, Sect. 6 concludes this paper.

2 Related Works

Various protocols have been devised to provide reliability, and each of them have their own characteristics in terms of hop-by-hop/end-to-end, ACK/NACK, cached/non-cached. In this paper the most frequently referenced protocols, pump slowly, fetch quickly (PSFQ) [4], reliable multi-segment transport (RMST) [5], GARUDAFootnote 1 [6], congestion detection and avoid (CODA) [7], and reliable bursty convergecast (RBC) [8] are reviewed in order to design an appropriate ARQ scheme for WSNs.

PSFQ is an appropriate protocol for non-real-time software download applications [4], and RMST and GARUDA are suitable protocol for non-real-time query driven services [5, 6]. In other words, PSFQ and RMST are advantageous to support highly reliable services, but they are not suitable for real-time applications. In general, mission critical applications require real-time based reliability. For example, smart grid and military applications have to exchange high priority information within a short amount of time. However, CODA and RBC send data packets, containing event occurrence information, in a burst manner at the same time [7, 8]. Although the burst transmission enhances event reliability, the simultaneous transmissions induce wireless frequency collisions, resulting in high collision bit error rate (CBER) problem. Moreover, redundant data transmissions cause a lot of acknowledges, unnecessary energy consumption, and additional delay.

The drawback of the ACK- and NACK-based ARQ schemes is that they cannot satisfy delay and energy consumption requirements at the same time. Usually, NACK-based schemes show high energy efficiency but poor delay performance. Whereas, ACK-based schemes shows high reliability but poor energy efficiency. For this reason, NACK-based schemes are usually used for non-real-time services, whereas ACK-based schemes are used for reliable services. On the other hand, RBC adopted I-ACK ARQ which uses the wireless channel overhearing method. The advantage of the I-ACK scheme is high energy efficiency, since it does not require additional ACK or NACK messages. However, the I-ACK scheme also has some problems [9, 10]. In general, the flood propagation of the WSNs is non-uniform and the links are asymmetric. According to Ganesan et al. [11], 5–15 % of the links in WSNs are asymmetric. Under this environment, the I-ACK scheme might operate in a wrong way, for example, the delivery of the I-ACK or forwarding message may succeed while the other delivery fails. In this case, duplicate retransmission and packet flooding problems which increase overall delay and energy consumption may occur, and satisfying the requirement of the mission critical services become difficult. Table 1 summarizes target services and ARQ policies of the aforementioned protocols.

Table 1 Reliability and ARQ schemes

To ensure reliable services in WSNs, adopting ARQ schemes is indispensable, although most of the scheme have drawbacks such that, ACK consumes too much energy, NACK induces large delay, and I-ACK consumes much amount of energy under the duplicate retransmission or congestion situations. To solve these problems, a sophisticated scheme that concurrently considers multiple aspects is required.

The WSNs suffer from high data loss probability because of the wireless channel errors, collisions and congestion of the CSMA environment [12]. Unreliable data deliveries increase the number of data retransmission, resulting in significant waste of valuable energy. Considering the wireless channel conditions, the maximum throughput channel utilization of the CSMA is represented as shown by (1).

$$\begin{aligned} \lambda _{max} \approx \frac{1}{1+2\sqrt{\beta }},\;\; where, \beta = \frac{\tau \cdot C}{L} \end{aligned}$$
(1)
  • \(\lambda _{max}\): maximum throughput channel utilization in CSMA

  • \(\beta \): radio propagation and channel idle detection delay

  • \(\tau \): delay time in seconds

  • C: raw channel bit rate

  • L: expected number of bits of a data packet

Since delay time (\(\tau \)) and raw channel bit rate (\(C\)) are dominant factors that determine the radio propagation and channel idle detection delay (\(\beta \)), they are important variables to satisfy the requirement of WSNs. Since the raw channel bit rate is related to the physical layer, it is not included in the scope of this paper. Energy efficiency and long lasting sensor networks have been key issues of reliable services as well. Therefore, this paper considers delay time and energy efficiency as important factors in determining ARQ reliability of WSNs.

  • Within a limited time and almost real-time: Delay time

  • With a restricted resource: Energy efficiency

3 Proposed Scheme

Fig. 1
figure 1

E\(^2\)R-ACK operation procedure

This paper proposes E\(^2\)R-ACK scheme to minimize transmission delay and energy consumption at the same time. It is devised based on the wireless channel overhearing property. The proposed scheme addresses unnecessary energy consumption problem of I-ACK by solving the duplicate retransmission problem. Figure 1 shows the flow chart of the E\(^2\)R-ACK operation. The E\(^2\)R-ACK scheme sends explicit ACK message to the last destination node, similar to the operation of the I-ACK scheme.

The proposed scheme has three specific properties as follows: duplicate retransmission prevention, congestion control, and error notification. The details of these properties will be explained with simple examples in the following subsections.

3.1 Duplicate Retransmission Prevention

Fig. 2
figure 2

Duplicated retransmission prevention using Dup_Pkt

As explained in Sect. 2, non-uniform and asymmetric links induce I-ACK message errors and duplicate packet retransmission. To prevent these problems, the E\(^2\)R-ACK scheme introduces Dup_Pkt message. The duplicate retransmission problem occurs when the acknowledge message is not properly delivered. As shown by Fig. 2, if the acknowledge message from node B to A is lost, the node A sends packet 1 again, and it will propagates through the other nodes. To prevent this unnecessary packet retransmission, the node which is adopting the E\(^2\)R-ACK scheme sends a Dup_Pkt response when the node receives duplicate packet. And it does not forward the duplicate packet to the next node. If the other nodes receive the Dup_Pkt message, they just ignore the message, and no additional operation is required. Although this Dup_Pkt transmission results in additional complexity for computation and checking the received message, it significantly reduces overall energy consumption of the WSNs.

Fig. 3
figure 3

Congestion control using Back_Pressure

3.2 Congestion Control

In WSNs, the asymmetric link conditions are frequent causes of the congestion problems. As shown by Fig. 3, the data delivery from node B to C is failed due to the congestion. Since the acknowledge message from node B to A is successfully received, node A sends the next sequence packet to node B. In this case, node B should store the arriving packets into its buffer until it receives the acknowledge message from node C. To avoid an additional delivery of packet 1 from node A to B, the E\(^2\)R-ACK scheme sends acknowledge message with Back_Pressure bits. When node A receives the E\(^2\)R-ACK containing the Back_Pressure bits, it resets its timer and postpones sending the next packet, until the timer expires.

3.3 Error Notification

Fig. 4
figure 4

Error notification using explicit NACK

The E\(^2\)R-ACK scheme also adopts an explicit NACK message to handle a packet containing error bits. Since the explicit NACK message is shorter than the data packet, it has advantages of energy savings and a low error probability. As shown in Fig. 4, when a sensor node receive the explicit NACK message, it checks its buffer and send the Back_Pressure messages to the neighboring nodes to notify the packet error event.

4 Mathematical Analysis

4.1 Delay Time Analysis

Fig. 5
figure 5

Delay time parameters for analysis

The analysis model of the E\(^2\)R-ACK scheme is composed of the following four parts: first, the basic transmission time; second, the retransmission time after receiving the error notification; third, the retransmission time of the time-out event; and fourth, the retransmission prevention time. Figure 5 shows the basic parameters for the delay time analysis. The basic transmission time of E\(^2\)R-ACK is expressed as shown by Eq. (2). Since the sensor node does not need to wait additional time to send an ACK message, similar to the I-ACK, it can reduce energy consumption.

$$\begin{aligned} T_I = t_{packet} + \tau + t_{E^2R-ACK} \end{aligned}$$
(2)

When a sensor node meets with corrupted packets with the probability \(P\), it retransmits the packets. The retransmission probability is expressed as shown by Eq. (3), and the resulting retransmission delay is expressed as shown by Eq. (4), where \(N_{E^2R-ACK}\) is the number of bits of the E\(^2\)R-ACK message.

$$\begin{aligned} P&= p_f(1-p_{E^2R-ACK})\nonumber \\&where, \qquad p_f(1-p_{E^2R-ACK}) = 1-{(1-p_1)}^{N_{E^2R-ACK}} \end{aligned}$$
(3)
$$\begin{aligned} T_N&= t_{packet} + t_{E^2R-ACK(with Back\_Pressure)} + \tau \end{aligned}$$
(4)

When the time-out occurs with the time-out probability \(Q\), which is expressed by Eq. (5), a sensor node should send the packet again. Hence, the time-out retransmission time is expressed as shown by Eq. (6).

$$\begin{aligned}&\displaystyle Q = p_{f} p_{E^2R-ACK} \end{aligned}$$
(5)
$$\begin{aligned}&\displaystyle T_O = 2(T_N) = 2(t_{packet} + t_{E^2R-ACK(with Back\_Pressure)} +\tau ) \end{aligned}$$
(6)

In the E\(^2\)R-ACK scheme, a sensor node send a Dup_Pkt packet when it receives a duplicate packet from the other nodes. The probability of duplicated retransmission, \(R\), is expressed as shown by (7), and the additional delay time is expressed as shown by Eq. (8).

$$\begin{aligned} R&= (1-p_f)p_{E^2R-ACK} \end{aligned}$$
(7)
$$\begin{aligned} T_D&= t_{Dup\_Pkt} + \tau + t_{Dup\_Ack} \end{aligned}$$
(8)

Then, the total transmission time of the packet in the E\(^2\)R-ACK scheme is derived as shown by Eq. (9), where \(i, j\) and \(k\) are random variables

$$\begin{aligned} T = T_i + iT_N + jT_O + kT_D \end{aligned}$$
(9)

It can be shown that the distribution of \(T\) is given by Eq. (10).

$$\begin{aligned} Pr\{T=T_i + iT_N + jT_O + kT_D\} = (1-P)(1-Q)(1-R)P^{i} Q^{j} R^{k} \end{aligned}$$
(10)

Therefore, the resulting average transmission time becomes as shown by Eq. (11).

$$\begin{aligned} \bar{T} = (n-1)\left( T_I + \frac{P}{1-P}T_N + \frac{Q}{1-Q}T_O + \frac{R}{1-R}T_D\right) \end{aligned}$$
(11)
Fig. 6
figure 6

Numerical results. a P, Q, R variations, b Q variations, c \({\bar{T}}\) variations

Figure 6a–c displays the numerical results of the analysis, and the values of the parameters are summarized in Table 2. Figure 6a shows the variation of \(P, Q, R\), according to the packet error rate. As the packet error rate \(p_f\) increases, all the \(P, Q, R\) values increase. Since the time-out and duplicated retransmission are not as frequently occur as the retransmission, the retransmission probability \(P\) increases much rapidly. Figure 6b displays the variation of \(Q\), which is the probability of time-out event, according to the packet error rate. For the 3 different lines, error probabilities of the ACK packet are assumed as 5, 10, and 15 % of the packet error rate, respectively. Since the error rate of the ACK packet is also an influential factor of time-out event, \(Q3\) shows the greatest result. In addition, as the packet error rate increases, the increasing ratio of all the three cases also gets larger. Figure 6c shows the average delay according to the packet error rates, with 3 different conditions. For each cases \(t_{E^2R-ACK}\) values are assumed to be 5, 10, and 15 % of the \(t_{packet}\) value, respectively. Since the average delay is proportional to both \(t_{packet}\) and \(t_{E^2R-ACK}\), \(T_{ACK}(15\,\%)\) shows larger delay than the other two cases.

Table 2 Parameters

4.2 Energy Consumption Analysis

The basic energy consumption between nodes cam be expressed as shown by Eq. (12).

$$\begin{aligned} E_C = N_{packet}(E_t + E_r) + N_{E^2R-ACK}E_r \end{aligned}$$
(12)

The energy consumption of retransmission becomes as shown by Eq. (13), where the retransmission probability is expressed as shown by Eq. (14)

$$\begin{aligned} E_R&= N_{packet}(E_t + E_r) + N_{E^2R-ACK(with Back\_Pressure)}E_r \end{aligned}$$
(13)
$$\begin{aligned} P&= p_f (1-p_{ACK})+(1-p_f) p_{ACK} \end{aligned}$$
(14)

Then, the average energy consumption can be expressed as shown by Eq. (17), where E and its probability are expressed as shown by Eq. (15) and (16).

$$\begin{aligned}&\displaystyle E = E_C + iE_R \end{aligned}$$
(15)
$$\begin{aligned}&\displaystyle Pr\{ E=E_C + iE_R \} = (1-P)P^i \end{aligned}$$
(16)
$$\begin{aligned}&\displaystyle \bar{E} = (n-1) \sum _{i=0}^{\infty }{(E_C + iE_R)(1-P)P^i} = (n-1)\left( E_C + \frac{P}{1-P}E_R\right) \end{aligned}$$
(17)

The parameters for the numerical results are summarized in Table 3. Figure 7a denotes the variation of \(P\) according to the packet error rate for three different ACK packet error probabilities. And Fig. 7b shows energy consumption for the corresponding three ACK error probabilities. Similar to the result of the previous subsection, both the retransmission probability and energy consumption increases as the error probability \(p_f\) increases. Since both the error probability of data and ACK packets are influential factor for energy consumption, ACK error probability with 15 % shows the greatest retransmission probability and energy consumption.

Fig. 7
figure 7

Numerical results. a P variations, \(\bar{E}\) variations

Table 3 Parameters

4.3 RCR (Resource Considered Reliability)

Since the mission critical WSNs must transmit given data using limited resources, transmission delay and energy consumption are the most important factors. Accordingly, a sophisticated ARQ scheme for mission critical WSNs should minimize the transmission delay and energy consumption at the same time. To evaluate the reliability by comprehensively consider both transmission delay and energy efficiency, this subsection suggests a mathematical model, called resource considered reliability (RCR). As shown by Eq. (18), it quantifies the level of reliability by considering not only transmission delay but also energy consumption.

$$\begin{aligned} RCR&= {R_{DT}}^{\alpha } \cdot {R_{EC}}^{\beta } = \frac{{(\sum {Data})}^{\alpha + \beta }}{{D_{T}}^{\alpha } {{E_{C}}^{\beta }}}, \mathrm{where} \nonumber \\ R_{DT}&= \frac{ \sum {Transmitted\_data} }{ D_{T}}, R_{EC} = \frac{ \sum {Transmitted\_data} }{ E_{C}} \end{aligned}$$
(18)
  • RCR: Reliability considering limited time and energy resources

  • \(R_{DT}\): Delay time considered reliability

  • \(R_{EC}\): Energy consumption considered reliability

  • \(D_T\): Total delay time required to transmit data

  • \(E_C\): Total energy consumption required to transmit data

  • \(\alpha \): Weighted value on delay time regarding application requirements

  • \(\beta \): Weighted value on energy consumption regarding application requirements

\(R_{DT}\) is the relative reliability considering the amount of time, which is required to send the given body of the data. \(R_{EC}\) is the relative reliability considering energy consumption, which is required to send the given body of the data. As the WSNs consume smaller resources to send the data, \(R_{DT}\) and \(R_{EC}\) become greater. Whereas, as the WSNs consume larger resources, \(R_{DT}\) and \(R_{EC}\) become smaller. In short, the reliability is inversely proportional to the resource consumption. For example, if an ARQ scheme uses infinite energy resources, then \(R_{EC}\) converges to zero. If WSNs can send the given data with a very small amount of resource, then the reliability become very large. The RCR considers both \(R_{DT}\) and \(R_{EC}\), at the same time, and it becomes the multiple of them. The priorities of delay time (\(\alpha \)) and energy (\(\beta \)) depends on the characteristic of the corresponding application. Some applications may require strict delay guarantees while some other applications may require long battery life time. Therefore, the required value of RCR various according to the requirement of the applications.

Fig. 8
figure 8

RCR comparison. a RCR variations according to \(\alpha \), b RCR variations according to energy consumption

Figure 8a depicts RCR variations according to \(\alpha \) increase for different energy consumptions, where \(\alpha + \beta = 1\). Since RCR shows relative reliability, the delay is assumed to be 5 s for simplicity. And the 5 lines in the figure shows the RCR value transitions under 5 different energy consumption (3, 4, 5, 7 and 9). If the absolute value of delay is larger than that of the energy consumption, RCR decreases as \(\alpha \) increases. Whereas the absolute value of delay is smaller than that of the energy consumption, RCR increases. Since the value \(\alpha \) denotes the weight between delay and energy consumption, RCR value does not vary when the two values are the same. Figure 8b displays the transition of RCR values according to energy consumption under three different delay values. Since large energy consumption results in poor reliability, RCR decreases as the energy consumption increases. And \(D_t(3)\) shows the highest RCR thanks to the smallest delay value.

5 Simulation Results

To evaluate performance of the proposed scheme, simulations were conducted by using Matlab with C++, and m-script language was used as a simulation tool. For the simulation, several conditions are assumed. First, the data packets originate from a source node, and they are transferred to a sink node. Second, sensor networks are composed of a number of sensor nodes and one sink node. Third, the number of the sensor nodes is ranging from 2 to 100, depending on the simulation scenario. Fourth, the network protocol runs based on IEEE 802.15.4. Fifth, the radio coverage of the node includes only one-hop distance in the CSMA environment.

Figure 9 shows the simulation topology. The CBER of \(10^{-6}{-}10^{-3}\) including the worst case were applied, and uniform random distribution was adopted as an error bit generation model. Simulation runs for 1,000 times for each scenario, and the average delay time, energy consumption [13] and RcR were obtained from the simulation results. The environmental parameters and values are summarized in Table 4.

Fig. 9
figure 9

Simulation topology

Table 4 Simulation conditions

Since I-ACK and E\(^2\)R-ACK are protocols utilizing the symmetric propagation characteristic in wireless networks, their performance depends on the symmetric ratio of the wireless radio environment. Therefore, the symmetric ratio was measured, prior to the simulations. For the measurement, 100 sensor nodes with data size 20 bytes were adopted. If a packet delivery succeeds or fails for both forward and backward direction, then it is determined as symmetric. Figure 10 shows the transition of the asymmetric ratio according to the CBER. While the CBER is the same as or smaller than \(10^{-4}\), the asymmetric ratio is small enough to deliver most of the packets successfully. Whereas, under large, CBER such as 0.03 (\(3\times 10^{-2}\)), the asymmetric becomes very large, resulting in failures of most packet deliveries. In this simulation, the asymmetric of 44.82 % was measured under CBER \(10^{-2}\).

Fig. 10
figure 10

Asymmetric ratio according to CBER variation

5.1 Transmission Delay

Figure 11a–c shows transmission delay according to the number of sensor nodes under 3 different CBER conditions. For all the three cases, the E\(^2\)R-ACK scheme shows smaller delay then the other alternative schemes, thanks to its delay reduction capability. NACK shows the longest delay for all the three CBER conditions. When the CBER is \(10^{-5}\) or \(10^{-4}\), which indicates good network conditions, I-ACK and E\(^2\)R-ACK show similar performances since the retransmission problem is not sever. However, under CBER \(10^{-3}\), both packet transmission failures and asymmetric ratio becomes larger, resulting in overall ARQs performance degradation.

Fig. 11
figure 11

Transmission delay comparison. a CBER (\(10^{-5}\)), b CBER (\(10^{-4}\)), c CBER (\(10^{-3}\))

5.2 Energe Consumption

Figure 12a–c compares energy consumption according to the number of sensor nodes for three different CBER conditions. For the energy consumption, NACK shows the best performance. Under CBER \(10^{-6}\) and \(10^{-5}\), the duplicated retransmissions problems does not frequently occur, so I-ACK and E\(^2\)R-ACK show similar energy consumptions. The results also show that the ACK scheme consumes more energy than the other schemes, since it always sends ACK messages. Since large asymmetric ratio degrades the performance of overhearing-based ARQ schemes, I-ACK shows large energy consumption problem. However, E\(^2\)R-ACK shows reasonable performance without large fluctuation. Since CBER \(10^{-3}\) is a tough environment for WSNs, resulting in high probability of packet transmission errors and asymmetric links, I-ACK shows especially poor performance.

Fig. 12
figure 12

Energy consumption comparison. a CBER (\(10^{-5}\)), b CBER (\(10^{-4}\)), c CBER (\(10^{-3}\))

5.3 Resource Considered Reliability

The RcR values of the simulations are summarized in Table 5, where the priority of delay and energy consumption are assumed to be the same (\(\alpha =\beta =0.5\)). If an application requires only delay centric priority with sufficient energy supply, then I-ACK is an appropriate scheme. Whereas, if an application requires only energy saving centric priority, then NACK is a suitable scheme. However, in general, applications require both time and energy resources, therefore E\(^2\)R-ACK could be a suitable scheme for various mission critical services. In fact, E\(^2\)R-ACK shows better RCR levels (in the case of \(\alpha =\beta \)) than NACK, which is the most frequently used in WSNs, at 22.8 % (CBER \(10^{-6}\)), 22.2 % (CBER \(10^{-5}\)) and 16.4 % (CBER \(10^{-4}\)) respectively. In this simulation environment, CBER \(4\times 10^{-3}\) and asymmetric ratio 9.9 % were the threshold values.

Table 5 RCR conparison

6 Conclusion

As the WSNs and IoT services become more diverse, QoS and reliability requirements are become increasingly complicated. Therefore, an efficient reliability assurance scheme, which maximizes the efficiency of limited resource, becomes the most important factors of realizing real-time mission critical application services. In this paper, the E\(^2\)R-ACK scheme, which minimizes transmission delay and energy consumption at the same time, is proposed. In addition, the RCR method is suggested to quantify the improvement of the proposed scheme, and mathematical analysis of delay and energy consumption are also presented. The simulation results shows that the proposed scheme surpasses the legacy schemes by significantly reducing transmission delay and energy consumption. In conclusion, the E\(^2\)R-ACK scheme can be a beneficial solution for mission critical services under dynamically varying WSNs environment.