Partial packet in wireless networks: a review of error recovery approaches

: Data transmission in wireless networks is vulnerable to errors, due to the nature of wireless characteristics. As a result, corrupted packets are a common case in wireless data transmissions. Many techniques have been proposed to tackle these issues and one of the recommended techniques is the partial packet recovery (PPR) scheme. There are various existing PPR methods that have been proposed in wireless networks over the past two decades. In addition, the recent works have shown the possibility of network coding along with its capabilities in recovering the partial packets. A review study of PPR approaches in wireless networks is presented in this study. The authors classify the approaches into several groups based on the soft information in the PHY layer. Furthermore, they describe the PPR techniques that have used in each of these groups. Their studies found that there are 24 protocols have been proposed using PPR to improve the performance in wireless networks.


Introduction
Corrupted packet issues in data communications, in particular, wireless networks, are inevitable. In contrast, a reliable communication system is a must. Meaning that the system has to make sure all the transmitted information are received properly without errors and losses. Therefore, since many decades ago, error packets along with their correction techniques have become a challenging topic to be solved until now. The traditional or common way to tackle these problems is either using an Automatic Repeat reQuest (ARQ), Forward Error Correction (FEC), or hybrid ARQ (HARQ) technique.
However, designing a reliable link communication with only ARQ or FEC is not enough. There are several reasons for this. First, ARQ introduces a delay in transmissions. The transmitter will re-send a packet when it gets the negative acknowledgement (NACK). It will re-send the packet over and over again until it gets its acknowledgement (ACK). As a consequence, retransmission can cause more delay, especially in bad wireless channels. Thus, ARQ is not recommended in wireless networks with a low signalto-noise ratio (SNR). Secondly, FEC needs more computation for error detection and correction. Moreover, it brings redundant information in the packets and this can lead to inefficiency in bandwidth usage. A new technique, called partial packet recovery (PPR), to reduce the retransmission was proposed in 1977 [1]. PPR exploits some useful information in partial packet to recover error bits.
Since 1977, PPR has caught the attention of many researchers to explore more detail in PPR schemes. Thus, many approaches have been proposed. Some of them use the soft information at the physical layer to identify the error bits and pass this information to the higher layer for correction process [2][3][4][5][6][7]. Other approaches do not use soft information, instead, they rely on the data link layer for detecting and correcting the errors [1,[8][9][10][11][12][13][14][15][16]. Other alternative schemes utilise the spatial diversity in wireless to combine several versions of the same corrupted packet for correction process [17][18][19]. Finally, the recent solutions have been introducing the capabilities and opportunities of network coding (NC) for PPR scheme [20][21][22][23].
This paper concerns about reviewing of all PPR protocol approaches in wireless networks. Our main contributions in this paper are: first, we present and review in detail all the approaches of PPR in the wireless environments. In our studies, there are, at least, more than 24 techniques that have been proposed. Most of these techniques were deployed in the real devices such as Universal Software Radio Peripheral (USRP), Cisco Aironet, WRT54G Wireless Router, and several commercial wireless cards. Secondly, we make a classification of PPR protocols based on the used technique. A table of all PPR protocols with their techniques is presented in this paper. Finally, we give a future direction by pointing out the capabilities of NC in the next PPR technique for reliable transmissions in wireless networks.
The rest of this paper is organised as follows. We describe the background and scope of PPR in Section 2. Then, we present packet recovery in wireless networks in Section 3. The discussion about PPR protocols and future research direction are presented in Section 4. Finally, we end the paper by presenting a conclusion in Section 5.

Background and scope
PPR is a technique which attempts to correct the error packet in wireless transmissions without retransmitting the whole packet, such as in the traditional way using ARQ. Instead, it optimises the invalid packet, known as the partial packet, for the error correction process. The partial packet contains both the correct and incorrect bits with false cyclic redundancy check (CRC) code. Furthermore, PPR is based on the observation that in the partial packet, there is some useful information that can be exploited. By implementing PPR in wireless communications, the number of transmissions is reduced. Therefore, PPR could improve the throughput. In addition, it can increase the energy efficiency.
Various approaches in PPR have been proposed: some depend on the physical layer information to differentiate the error symbols (e.g. a group of corrupted bits) to be re-sent, while others split the packets into segments and embed block checksums so that the receiver is able to recognise the error segments and re-send them. Due to the limitation of the physical layer information, other approaches rely on the data link layer to distinguish the error bits and correct them. The recent solutions have been proposed the capabilities of NC in PPR.
Although many papers have presented the protocols in PPR, no paper talks about all the proposed protocols along with their features in details. Thus, a review paper in this topic is necessary for the future direction to research in PPR area. Also, the scope of this paper is limited to reviewing PPR protocols that have been proposed in the past two decades. Most protocols have been deployed with real devices. Only a few are evaluated and analysed in simulation environments. Additionally, we focus on the latest approach in PPR with NC.

Packet recovery in wireless networks
In this section, we describe the importance of PPR in wireless networks. However, first, Section 3.1 begins this section by presenting the error in wireless networks along with its error control. Secondly, Section 3.2 continues the section by giving the details of PPR. Next, Section 3.3 provides a spatial diversity perspective in wireless networks and partial packets. Finally, Section 3.4 ends this section by relating NC to PPR issues.

Error control
Owing to the nature of the wireless channel, packet errors has become one of the inevitable topics that need to be tackled in wireless telecommunication systems. Errors in packets are caused by signal impairment, meaning that the sent signal at the sender is not the same as the received signal at the receiver. There are several causes that produce impairment in wireless transmissions [24,25]. For example, attenuation, that is the signal strength goes down with distance when it travels through a medium transmission, can introduce bit errors. A weak signal is vulnerable with noise and needs to maintain its strength higher than noise, otherwise, the receiver cannot detect and interpret the signal correctly. Noise, by definition, is undesired signals that are added between transmission and reception. Noise, as well, is another reason for impairment. Another example, that causes errors, is delay distortion. When a sequence of bits is being transmitted, the bits need to arrive at the receiver in the right order. If a delay happens, it may affect the bit order at the receiver and can cause inter-symbol interference.
Automatic-repeat-request (ARQ) and Forward Error Correction (FEC) scheme are the two common techniques that have been implemented for controlling error and improving the quality transmission in wireless networks [26]. FEC uses error-correcting codes to detect and correct errors. Whenever the receiver notice that there is an error, it will try to find its location and correct the error. Meanwhile, in ARQ, a good error detection code is used. The receiver can only detect the presence of error without being able to correct it. For correction of the corrupted packet, the receiver will send a request to the sender to re-transmit the packet. The sender will always re-send the requested packet until the receiver gets it without errors. The latest scheme, that involves ARQ and FEC, is Hybrid-ARQ (HARQ) which is a combination of both of them. In HARQ, a subsystem of FEC is placed in the ARQ system. The purpose of FEC in this design is to cut the number of retransmissions down by correcting the errors. As a result, the throughput can be improved.
However, using ARQ, FEC or HARQ is not enough. Wireless networks have unstable link condition and packet losses are the common case [27,28]. In fact, Cabrera et al. [22] showed that for 54 Mbps in a multicast transmission, 46% of the received packets contain errors. The authors conducted the experiment using a Raspberry Pi 2 with IEEE 802.11 g protocol and a laptop that is connected, wirelessly, to Linksys WRT54GL Wireless Router to investigate the behaviour of wireless networks. It has been observed that in some partial packets, i.e. packets consist of bit errors and have false cyclic redundancy check (CRC), there is some useful information which can be used. Therefore, the recovery of partial packets may improve the throughput of wireless networks and decrease the number of transmissions.

Partial packet recovery
In wireless data transmissions, there are two kinds of packets, namely a valid packet, and an invalid packet as shown in Fig. 1. The valid packet is a packet that has the correct cyclic redundancy code (CRC) status. Before sender transmits packets, it will put a CRC code, a mechanism for error detection, to each packet. Then, the receiver needs to make sure that all the packets are error-free by checking the CRC status of each packet when it receives the packets. Meanwhile, invalid packet, known as the partial packet, is a packet that contains error and it has false CRC status. For preventing the error bits to be passed to the higher layer (e.g. network layer), invalid packets will, mainly, be dropped at the data link layer in the standard protocol of wireless communications. The number of bit errors in partial packets is different and it depends on the channel conditions. However, most of the time, partial packets contain some useful information and it can be exploited to improve the network performance with PPR schemes [1].
PPR is more effective and efficient in wireless networks than in wired network cases. In fact, PPR may be useless in wired networks. There are several reasons for this issue [28]. First, link communications in wired networks are more reliable than in wireless networks. Therefore, the error rate is lower in wired than in wireless. Moreover, the error in wired networks is, mainly, caused by the congestion at intermediate links. As a result, wired network transmission comes with all the bits or nothing, meaning that receiver at the destination can only receive all bits of packets or none from the sender. This reason makes PPR suitable in wireless networks where the error rate is higher and partial packets are present. Secondly, PPR introduces, in main cases, overheads. These overheads can affect the throughput by causing longer waiting time. As a consequence, it will reduce performance. Therefore, the cost of implementing PPR will overwhelm the benefit it brings.
PPR in wireless networks has been studied in the past two decades and many techniques have been proposed. In general, PPR methods are categorised into two main groups namely PPR with PHY-layer information (PLI) and PPR without PLI, respectively. The classification of PPR approach is shown in Fig. 2. The classifications are based on the technique that PPR protocols are used.

PPR with PHY-layer information:
The concept of this solution is based on the use of soft values from the physical layer. A confidence measure of 0-1 in received data bits is computed by PHY-layer. These values are used in decoding and its usage is normally called soft-decoding [2]. Soft-decoding can distinguish between an error and corrected bits in PHY-layer and send its confidence values to the higher layer (e.g. data link layer). Then the higher layer will send a request for retransmission to the sender. This retransmission request is only for the part of packets that contains error bits. In other words, the sender will not send the entire packet but only send the error part of the packets.
PPR with PLI requires physical-layer to pass the confidence values of packets to the data link layer. However, in the current protocol of wireless systems, it is impossible. After calculating the confidence values, the physical layer will not be able to send it to  the higher layer and drop them. Therefore, it becomes challenging to implement PPR with PLI in the current wireless standard protocol without modifying the physical-layer because it needs modification on the hardware level.
The limitation of accessing physical-layer in standard commercial WiFi hardware, such as Atheros, Broadcom, Realtek, and Intel, makes PPR with PLI difficult in deployment. Thus, most of the implementations are deployed with USRP devices. In fact, USRP is a common real device used for implementing new design protocols at the physical layer. Proposed schemes of PPR with PLI, for instance: PP-ARQ [3], MIXIT [4], SOFT [2], and CodeRepair [5], have been deployed with USRP devices [23].

PPR without PHY-layer information:
In this approach, the confidence value is not used. Instead, PPR without PLI optimises the data link layer to recover the partial packets. There are several reasons for not using the confidence value. For example, to get its value, a high computation is needed and it takes resources and time. Moreover, it is, currently, impossible to send the confidence value to the higher layer without modifying the standard protocol. Therefore, PPR with PLI cannot be deployed in the current commercial wireless cards. In contrast, PPR without PLI is easily implemented using some of the commercial wireless cards. However, it needs to have access to the data link layer and it can be performed by tweaking the driver of wireless cards at the software level. Many solutions of PPR without PLI have been implemented in actual 802.11 networks with standard commercial WiFi hardware [8][9][10][11][12][13][14][15].

Spatial diversity
In wireless networks, a node may have two or more antennas. For example, one antenna is responsible for transmitting and another antenna is for receiving data. In fact, two or more antennas could be dedicated only for transmitting or receiving. Spatial diversity is a common technique for combating fading issues. It can be implemented at the transmitter, receiver, or any node that has multiple antennas [29]. For instance, multiple input multiple output (MIMO) is one the spatial diversity implementation. MIMO requires multiple antennas on both sender and receiver. Another implementation of spatial diversity is known as cooperative communication [30,31] or virtual MIMO. In cooperative diversity, the sender can select on the near relays to help transmit its data. The relay selection is based on the channel conditions and its performance. Thus, the sender has more options in choosing the relay for transmissions. However, most of these works in [30,31] is only theoretical with no implementation or experimental results. Spatial diversity and PPR are similar. Both of them try to combine something to improve their performance. For example, spatial diversity combines the signals at the physical layer meanwhile PPR combines multiple versions of the same coded packet at some higher layer [28]. Several protocols of PPR exploited spatial diversity have been proposed, such as SpaC [18], MRD [17], and Relay-Assisted [19]. In addition, some investigations and analyses using spatial diversity for partial packet have been presented in [29][30][31][32]

Partial packet recovery and network coding
The first work, implemented NC for PPR and called Packetized Rateless Algebraic Consistency (PRAC), was proposed by Angelopoulos et al. [20]. They utilise one of the NC properties, which is the consistency rule, to recover error bits in partial packets. The key to this protocol is the use of algebraic consistency rule (ACR) check. ACR is able to find the location of error bits and correct the errors. The correction process involves multiple iterations of ACR. This work showed the capability and possibility of NC in PPR problems. In fact, NC offers better performance than the non-NC approaches in recovering the error bits in partial packet issues.
Since then, several protocols involved NC for PPR have been proposed. For example, PPR-CS in [21,33] combines random linear coding (RLC) and compressive sensing (CS). This protocol is designed based on several assumptions. Firstly, the number of error bits is few in the packets since most of the errors have been corrected by FEC in the physical layer. Secondly, the number of partial or invalid packets is smaller than the number of correct packets. Thirdly, error positions in the packets are sparsely distributed in a random fashion and they are in fixed locations across different packets. Finally, the channel error forms a sparse process and it includes the burst errors. The receiver can form a special sensing matrix which nullifies the packet data and provide CS of the errors by using algebraic properties of the coding matrix. All the problems of CS in PPR are in the form of a matrix, unlike in conventional CS where the measurements are in a vector form.
PPR-CS protocol also retrieves error bits in partial packets by solving a set of sparse recovery (SR) problems. An algorithm, which is proposed by Candes and Tao in [34] and based on SR, is used for error correction. The decoder at the receiver will recover the errors by solving a linear program of SR problems. In addition, this protocol applies a systematic code with RLC scheme for encoding and decoding packets at the sender and receiver respectively. Assume that the sender transmits groups of g packets which refer to as the generation size in RLC and T packets are CRC coded where are transmitted through a wireless channel with noise. At the receiver, the packets will be marked as correct or partial based on the CRC status. Then, if the generation is decoded successfully, an acknowledgement is sent to the transmitter for preventing it from sending new coded packets. If T packets are received correctly, then there are three possibilities: (i) T > g, more packets are needed since RLC decoding will not be performed. Error recovery can be applied. (ii) T ≥ g, however less than g packets are linearly independent. RLC decoding is not carried out but error recovery can be performed. (iii) T ≥ g, and g packets are linearly independent. g packets are chosen randomly and RLC decoding is performed. It is shown that while the RLC can only rebuild the packet when T ≥ g, the decoder can try the error recovery in all situations.
Another protocol is DAPRAC [22], which is an improved version of PRAC. DAPRAC enhances the error correction process in PRAC. It uses a brute-force method in correcting errors by performing the permutation of corrupted bits. As a result, DAPRAC could reduce the error correction time in PRAC. The latest protocol of PPR with NC, called S-PRAC and proposed in [23], focuses more on very noisy wireless channels. S-PRAC is another version of DAPRAC. However, S-PRAC is superior to DAPRAC in noisy channel conditions. It elaborates the packets into segments to improve the time in finding the error locations and correcting the error bits. Therefore, S-PRAC is faster than DAPRAC when the number of errors is high.
These protocols, mentioned earlier, use random linear NC as the main coding technique where blocks of packets are randomly combined to make new coded packets and represent a rateless code. Most of the protocols (e.g. PRAC, DAPRAC, S-PRAC) have been implemented only on point-to-point communications except for PPR-CS. Its application works not only in point-to-point communications but also in broadcast and multicast scenarios.

Overview of ACR check
ACR check is a technique that plays a very important role in recovering partial packet using NC. This technique exploits one of the properties in network codes which is the consistency rules. When the original packets are coded and decoded with the same coding coefficient, some people called it coding vector, the encoded and re-encoded packets will be always the same according to algebraic rules. If they are not the same, we can assume that the packets contain error bits. With this ACR check, we can locate the error bit positions in the packets. In addition, we are able to distinguish between the valid and invalid packets. Furthermore, ACR check can be used in error correction process.
ACR check illustration is shown in Fig. 3. Assuming that x i is original packet, m i is encoded packet at the transmitter and m i ′ is received encoded packet at the receiver, where i ≥ 1. The receiver will get m i ′ and try to decode it, in order to recover x i . Let x i ′ be the retrieved original packet after decoding using m i ′ and m i ″ be reencoded packet after encoding using x i ′ at the receiver. Encoded and re-encoded packets should be identical in NC. Therefore, if the packet transmissions are received without error bits, then m i ′ and m i ″ are identical. In this case, a packet is said to be consistent when Particularly, if the packets are not consistent, errors should have been present in the packets.
Moreover, ACR check consists of four steps and it happens at the receiver side. These steps can be seen in Fig. 3 [23]. Firstly, it chooses a subset of encoded packets. In this case, the decoder takes m 1 ′ and m 3 ′. The encoded packets should cover all the valid and invalid packets. Secondly, the decoder needs to guess the original packet (e.g. x 1 ′ and x 2 ′) by decoding using NC scheme. Thirdly, the decoder must re-encode the non-chosen packet (e.g. m 2 ″) using the guessed original packets. Finally, the decoder can compare the reencoded packet with the received encoded packets (e.g. compared

Discussion and future research direction
Error recovery for wireless networks has become a challenging topic, especially PPR approach which is getting more attention in recent years. Therefore in this section, we present the discussion and direction for future research of PPR schemes. We begin the section by describing the PPR protocols in Section 4.1 and end it by mentioning the research future direction in Section 4.2.

PPR protocols
Since the first PPR protocol was studied in 1977, PPR has caught many researcher attentions. This is because PPR offers better performance in wireless networks. Moreover, it can exploit the partial packets and reduce the retransmissions. Therefore, over the past two decades, at least 24 PPR protocols have been proposed. Most of these protocols were deployed in the real hardware such as USRP, PC computer with commercial WLAN cards, wireless router, TelosB, B-MAC, and Texas Instrument CC2500. Only a few protocols were implemented in a simulation environment. Also, IEEE 802.11 and 802.15.4 were, commonly, used for the network deployments. Fig. 4 presents the research trend in PPR protocols from the year 2005. It is shown that almost every year from 2005 to 2019, at least one PPR protocol was proposed. In 2012 and 2015, there were three protocols that have been designed. The latest protocol in 2019 was using NC to find the error bits and correct them. This means that researchers consider PPR protocols to be a solution for combating error in wireless transmission. With this statistic, we can predict that PPR will be studied in the next years or decade. Table 1 provides the list information of PPR protocols along with their techniques and classifications. These classifications based on the used technique and the requirement of soft information at the PHY-layer. Protocols, such as SOFT, PP-ARQ, MIXIT, CodeRepair, Smart-Pilot, and SMR, need the soft information for identifying the error bits and send this information to the higher layer (e.g. data link layer) to be processed for recovery scheme. Meanwhile, some protocols do not need soft information. Instead, they utilise the data link layer capabilities to distinguish between the correct and error bits in partial packets. Additionally, these protocols can be categorised into some groups, for instance, checksum and block-based group, spatial diversity group, and NC group. Protocols like Seda, FRJ, Maranello, ReSel, Green-Frag, H-Seda, are checksum and block-based group, while SpaC, MRD, and Relay-Assisted are spatial diversity group. The recent protocols, such as PRAC, DAPRAC, PPR-CS, and S-PRAC, are NC group. However, some of the protocols are combined group. It means they use a combination of technique between groups. For example, S-PRAC combines NC and checksum with block-based technique.

Future research direction
Among all PPR protocols, PPR with NC is a promising approach in the next future. It can be seen from the advantages offered by PPR with NC. Protocols in [20,22,23,33], which implement NC, offer several benefits as follows: • No cross-layer information is needed. It means that the softinformation for error recovery process at the PHY layer is not necessary to be exposed to the higher layer. Thus, the implementation in current standard wireless networks is easy.
• No form of checksum, preamble or postamble is required. The algorithm for error recovery is only implemented on the receiver side. Therefore, the transmitter node will not be burdened with more energy consumption.
• No extra transmission overhead is imposed on the system. This can make the usage of bandwidth and energy consumption is more efficient.
• Minimum feedback information is required. A feedback will be sent to the transmitter only when the receiver has finished to decode the packets successfully. • The desired tradeoff between the complexity of computation at the receiver and efficiency of the energy and bandwidth at the transmitter can be obtained.
Meanwhile, PPR without NC has limitations. For instance, protocols in [2][3][4][5][6] need to modify the standard PHY layer for allowing the soft-information to be passed to the higher layer. This makes these protocols are not easy to be deployed in the commercial wireless cards. They require a specific device (i.e. USRP) that allow a modification in the PHY layer. Other protocols in [9,11,14,16,35,36] involve re-transmission process. Error recovery is performed by resending only the part of bit errors in partial packets. Even though the protocols do not demand to have a modification in PHY layer and can be deployed in commercial wireless cards, these protocols cause more bandwidth and energy usage for the error recovery process.
In summary, PPR using NC approach is better than the other approaches. It is mainly contributed by the NC, especially the RLC, performance in wireless networks. However, more studies of PPR with NC are needed. For instance, the current protocols are mainly designed only in point-to-point communication. Thus, it requires to be extended to multi-hop wireless networks so that the protocol can be widely implemented in more topology schemes. Also, more real hardware measurements are necessary to see the real performance of the protocols.

Conclusion
This paper presents a comprehensive review of PPR protocols in wireless networks that have been designed and proposed in the past two decades. There are at least 24 protocols that exist and have been studied. Most of these protocols are being deployed in real hardware. Furthermore, the paper classifies the protocols to some groups based on the need of soft information at the PHY-layer and the used technique in error detection and correction process. These groups are PLI, non-PLI, spatial diversity, checksum and blockbased, and NC. In addition, Table 1 summarises the PPR protocols along with their techniques and classifications. In summary, from the data statistic shown in Fig. 4, we can make a prediction that research in PPR topic will keep being studied in the next years and still being interested by the researchers. Also, PPR with NC approach has become a promising technique for future research.

Acknowledgments
This work was supported in part by the German Research Foundation (DFG), within the Collaborative Research Center SFB 912 -HAEC.