Some of the material in is restricted to members of the community. By logging in, you may be able to gain additional access to certain collections or items. If you have questions about access or logging in, please use the form on the Contact Page.
In wireless LANs, a packet may be received correctly for the most part but contains only a few errors. Such packets are usually referred to as partial packets. The current 802.11 standard will retransmit the entire packet even if the packet only contains a small amount of errors. Much effort has been invested recently in repairing partial packet without retransmitting the entire packet; the existing repair methods include correcting the errors with an error correction (EC) code or retransmitting the corrupted parts of the packet. We revisit this problem and propose UNITE, a software-only system for more efficient partial packet recovery. UNITE is motivated by the following motivations. First, the repair methods, i.e., the EC-based and block-based, are not mutually ex- clusive and can be combined to achieve higher performance. Second, we propose an error estimator referred to as AMPS, which can estimate the number of errors in a partial packet and provide key information for partial packet recovery, such infor- mation were not available in previous work. Third, the existing EC-based methods assume the CPU usage is not a constraint, while our experiments show that the CPU usage can be extremely high in many cases such that a recovery scheme that works under a CPU usage constraint is needed. Fourth, power is another system resource that can be over-consumed by repair methods, and a recovery scheme considering the power consumption is important to power sensitive devices, such as smartphones and tablets. UNITE employs multiple repair methods to best match the channel condition while considering the CPU and power constraints. Different repair methods have different pros and cons: retransmission does not consume CPU time but is more vulnerable to random errors; error correction consume CPU time but is more resilient to random errors. By supporting multiple repair methods, UNITE is more flexible than existing schemes. In addition, UNITE proposes a third repair method, referred to as Targeted Error Correction (TEC), which first locates the corrupted blocks and then uses an error correction code to correct the errors in such corrupted blocks. Compared with block-based retransmission, TEC requires less repair data and is more resilient to random errors. Compared with the packet level error correction, TEC also requires less repair data and consumes less CPU time for decoding. UNITE uses AMPS as the error estimator to determine the number of errors in a packet such that it is able to make intelligent decisions on packet recovery. An error estimator can roughly tell the number of errors in a packet which can be used to determine which repair method is the most efficient. The overhead introduced by AMPS is only 8 bytes per partial packet. In order to reduce the computation complexity, AMPS is implemented according to a simple table lookup. UNITE is a resource-efficient partial packet recovery system that will not over- consume CPU and power. The decoding of the error correction code can use non- trivial CPU time and power because such algorithms are highly complicated. On devices with weaker CPU and battery such as smartphones and tablets, the system resources will become the key constraints. UNITE uses an algorithm to select the best repair method and maximize the link throughput under the specified system resource constraints. UNITE is a software-only solution and can bring immediate benefits. We imple- ment UNITE and AMPS on the MadWifi open source driver; the experimental results confirm that UNITE outperforms all existing methods while consuming the system resources under the specified constraints.