## 1 Introduction
However, traditional error recovery mechanisms, such as ARQ (automatic repeat-request) and FEC (forward error correction) are very hard to make adaptive [21]. Moreover, due to resource limitations in WBSNs, the use of complex and highly resource-hungry error recovery schemes, like ARQ and FEC, is undesirable in these systems [19]. Network coding (NC) is a new paradigm of protocol design in which intermediate nodes actively mix input packets to produce output packets. The size of the combined packet is the same as the size of an incoming packet. Moreover, XoR-based (\(\oplus\)) NC mechanisms are simple and have no transmission overhead [22]. Thus, these can be used as an error recovery mechanism in wireless networks, including WBSNs [13,23,24,25,26,27], to improve network QoS parameters, such as reliability, energy efficiency and real-time data delivery, at very low energy, memory and hardware costs [13,23,24,26,28]. Most existing works [23,24,25,26,27,28] on NC for WBSNs include cooperative communications along with NC. In WBSNs, opportunistic [25] cooperation is not suitable; hence, dedicated relay or cooperative nodes are necessary [13,23,24,25,26,27]. The decode and forward mechanism-based works [26,29] are vulnerable to security and privacy attacks [30,31]. Clustering may not be possible in many applications of WBSNs, and the hierarchical clustering-based NC works [24,27] will not be useful. On the other hand, considering the complexity of ARQ [21], NC-integrated ARQ schemes [23] are not suitable for WBSNs. The authors in [13] have presented an NC-based error recovery scheme for WBSNs, which is not adaptive to network channel conditions or environments of WBSNs and user requirements. Most importantly, the majority of the existing NC-based works in WBSNs are unaware of the QoS requirements of applications. The main objective of this work is three-fold: (i) to find out the QoS requirements of WBSNs from user and network perspectives and to identify the metrics and parameters that quantify those QoS requirements; (ii) to propose an NC-based error recovery mechanism for WBSNs that is adaptive to network channel conditions and users'/applications' requirements to support identified QoS requirements for WBSNs; and (iii) to compare the proposed mechanism with its counterparts in terms of adaptability, reliability, delay and energy efficiency. The proposed error recovery mechanism will be based on an existing work [13] rather than starting from scratch. Unlike [13], the proposed mechanism will be adaptive to channel conditions and user's demands to support QoS in dynamic network environments and user requirements of WBSNs. Section 2 provides a brief overview on the analysis of QoS requirements of WBSNs from user and network perspectives. This section also identifies the metrics and parameters that quantify those QoS requirements. Section 3 briefly presents the related work. Section 4 presents the proposed NC-based error recovery mechanism for WBSNs that is adaptive to network channel conditions and users' requirements in supporting the necessary QoS identified in Section 2. The evaluation in Section 5 shows the potential of the proposed approach, and Section 6 concludes the work with some future directions.