Encoded Packet-Assisted Retransmission for Multiple ... - IEEE Xplore

2 downloads 34829 Views 1MB Size Report
Sep 11, 2013 - unicast transmission across wireless networks with a packet era- ..... wireless networks by exploiting the benefit of encoded packets.
IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

3409

Encoded Packet-Assisted Retransmission for Multiple Unicast Flows in Wireless Networks Zhiheng Zhou and Liang Zhou

Abstract—In this paper, we address the problem of reliable unicast transmission across wireless networks with a packet erasure channel. It has been proven that network coding (NC) can offer significant advantages over conventional approaches for this problem. However, existing NC schemes do not always fully exploit the potential of NC due to the lack of understanding of the use of the encoded packets that receivers cannot decode. To overcome this limitation, we propose an NC framework called encoded packet-assisted retransmission (EAR). EAR develops an improved opportunistic listening mechanism that allows receivers to store all heard undecodable NC packets and to report periodically the reception status to the sender. Thus, the sender can directly XOR these encoded packets with other packets to take full advantage of all the available coding opportunities. We also formulate a packet-scheduling problem that aims at maximizing the utilization of coding opportunity in the network. By solving it, we design a simple and efficient scheduler that prioritizes packets according to their contribution to the overall transmission performance. Then, the sender determines a packet that should be transmit next and selects packets to be encoded, i.e., based on the priority class. In addition, we investigate the performance of our approach from a theoretical perspective. From simulation results, it is seen that EAR can significantly reduce the total number of retransmissions and provide more efficient bandwidth utilization compared with existing schemes. Index Terms—Opportunistic network coding (ONC), reception status, retransmission, scheduling.

I. I NTRODUCTION

W

IRELESS networks have been developed to support various demands and requirements. Many applications in wireless communication systems require reliable unicast transmission [2], [3]. Recently, significant effort has been devoted to improving the robustness of wireless networks with error-prone channels that suffer from multipath fading and interference [1]. With the increase in the packet-loss rate, the conventional methods, such as automatic repeat request (ARQ) [4] and hybrid ARQ (HARQ) [5], may result in extensive data retransmissions. Therefore, there is an increasing interest in Manuscript received September 7, 2012; revised December 12, 2012 and February 10, 2013; accepted February 12, 2013. Date of publication March 8, 2013; date of current version September 11, 2013. This work was supported in part by the National Major Project under Grant 2010ZX03003-003 and in part by the Fundamental Research Funds for the Central Universities under Grant A03006023901038. This work is an extension of a paper presented at the IEEE International Conference on Communications, Ottawa, ON, Canada, June 2012. The review of this paper was coordinated by Dr. C. Yuen. The authors are with the National Key Laboratory of Science and Technology on Communications, University of Electronic Science and Technology of China, Chengdu 611731, China (e-mail: [email protected]; [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TVT.2013.2252033

Fig. 1. Example of the ONC-based recovery scheme. (a) Three destination nodes unicast scenario. (b) Packet state table.

improving data recovery mechanisms that enable a reliable transmission of data from the source to the destination with maximum bandwidth utilization. A potential way to achieve this goal is with the use of a network coding (NC) technique [6]. NC can exploit the inherent broadcast nature of wireless medium and allows intermediate nodes to encode algebraically packets, in addition to just simply forwarding them. As an elegant reliable transmission paradigm in wireless networks, Rozner et al. [14] and Tran et al. [15] have combined opportunistic NC (ONC) with traditional ARQ techniques, which is called ONC-ARQ. In their schemes, multiple lost packets for different destinations are opportunistically coded together such that some of the destinations recover one of their missing packets upon the correct reception of this encoded packet. For example, in Fig. 1, the base station (BS) has three packets in its retransmission queue, in which one packet, e.g., packet Pi (1 ≤ i ≤ 3), is requested by node Di . Fig. 1(b) gives the status of each packet received at each destinations. Traditionally, they are retransmitted alone using ARQ. With the ONC technique, the BS encodes P1 and P2 together and broadcasts encoded packet P1 ⊕ P2 . This allows destination nodes D1 and D2 to receive their intended packets at one time slot. This way, one transmission may be saved. However, P3 also needs to be recovered alone. In this paper, we focus on ONC as applicable to a singlehop wireless network where there are multiple unicast sections. With ONC, opportunistic listening and reception reporting techniques are implemented to search for coding opportunity [7]. However, in existing ONC schemes, when a destination node overhears an encoded packet that cannot be decoded, it does not report the receipt of the packet [7]–[10], [13]–[15], [22]–[32]. Moreover, [8], [13]–[15], [24], the packet will be directly discarded to conserve memory. In such a way, the node that transmits the encoded packet does not know which receivers successfully overhear it and which does not. This may limit the coding opportunities and bring in negative impact on bandwidth efficiency.

0018-9545 © 2013 IEEE

3410

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

Fig. 2. Example of the coding opportunisties of encoded packets. (a) Reception status after original transmissions. (b) Reception status after the BS retransmitted P1 ⊕ P2 .

Let us use the continuation of the example shown in Fig. 1 to show how to use encoded packets to create coding opportunity. After the BS retransmits P1 ⊕ P2 , we assume that only node D1 does not successfully receive it. Fig. 2 lists the reception status at nodes D1 , D2 , and D3 . In the example, since D2 has already got P1 , then P1 ⊕ P2 can be XORed with P1 to retrieve P2 . Thus, only P1 and P3 need to be recovered. Using the conventional ONC approaches, the BS has to recover separately P1 and P3 because D3 is unable to decode encoded packet P1 ⊕ P3 . Indeed, if D3 stores P1 ⊕ P2 in the packet pool and reports this to the BS, the best retransmission strategy should be as follows. The BS encodes P1 ⊕ P2 and P3 together and broadcasts encoded packet P1 ⊕ P2 ⊕ P3 . Therefore, if D1 receives P1 ⊕ P2 ⊕ P3 , then P1 can be restored by P1 ⊕ P2 ⊕ P3 , P2 , and P3 together. In addition, if D3 receives it, combining P1 ⊕ P2 ⊕ P3 and P1 ⊕ P2 together can recover P3 . This allows D1 and D3 to receive their intended packets at one time slot. Compared with recovering P1 and P3 separately, transmitting P1 ⊕ P2 ⊕ P3 may save one transmission. Motivated by the given example, we propose an encoded packet-assisted retransmission (EAR) approach for multiple unicast sessions in single-hop wireless networks. EAR develops an improved opportunistic listening mechanism to fully investigate the potential benefits of encoded packets. In the method, destination nodes store not only the native packets but also the encoded packets, which are also undecodable in their local buffers. In addition, each destination node periodically sends reception reports to tell the sender which packets it has stored. This way, the sender can directly XOR these encoded packets with other packets, resulting in an improvement of transmission efficiency. In this paper, we also investigate a packet-scheduling problem that aims at achieving full utilization of coding opportunity in the network. We are interested in the following two questions: 1) in which set of packets should be coded together; and 2) in which order to send the packets destined to intended nodes. Although Li et al. [35] and [36] have discussed these questions, they only considered multicast scenarios. To seek answers to these questions for unicast transmission, we define the value of a packet as the maximum number of intended destination nodes when the packet is transmitted using ONC. We then use the value of a packet to represent the contribution of the packet to the transmission performance. With this definition, we first show that the conventional coding algorithms [7], [15], [34] only give a “locally” optimal solution to the given problems under unicast scenarios. We further show that delivering highvalue packets first may also limit the transmission performance.

This is because both the broadcast and error-prone nature of wireless communication enable packets with a lower value to provide more potential coding opportunities than packets with a higher value. With this insight, we propose a greedy coding algorithm that constructs a simple and efficient scheduler. The scheduler prioritizes packets according to their value. More precisely, the scheduler gives low-value packets to high transmission priority. Then, the sender determines a packet that should be transmit next and selects packets to be encoded together, based on the priority class. The main contributions of this paper can be summarized as follows: 1) We develop the EAR framework that contains an improved opportunistic listening mechanism and a feasible packet-scheduling policy. 2) We investigate the performance of our approach from a theoretical perspective and derive a statistical lower bound on the number of retransmissions expected to recover successfully a loss packet. 3) By evaluating our framework in comparison with the existing work, we demonstrate that the EAR scheme can significantly reduce the number of retransmissions and improve bandwidth efficiency. The remainder of this paper is organized as follows. In Section II, we present a brief overview of prior work. In Section III, we describe a system model in the context of a wireless unicast scenario. In Section IV, we formulate the features of the EAR approach. In Section V, we provide some theoretical analysis on the performance for the existing and the EAR approaches, respectively. In Section VI, simulation results are shown. Finally, conclusion is given in Section VII. II. R ELATED W ORK Since NC was first introduced by Ahlswede et al. [6], it has become a major focus of research as a routing and scheduling scheme to improve network performance. The idea of using ONC for unicast transmission was first described by Katti et al. [7]. In [7], Katti et al. presented a practical XOR-based NC approach, namely COPE, with the concept of opportunistic listening and opportunistic coding. It showed a considerable throughput improvement over the conventional approach. The empirical success of COPE and its simple implementation has motivated numerous subsequent studies. Argyriou [8] designed an ONC-based medium access control (MAC) protocol to exploit fully coding opportunities by allowing nodes to overhear both data and acknowledgment (ACK) frames from their neighborhoods. Chaporkar and Proutiere [9] presented XOR-Sym, which is a mix of scheduling and ONC methods to optimize network throughput. The work in [10] considered energy efficiency of ONC in lossy wireless networks. In [11] and [12], the coding-aware routing was proposed, which combines the route discovery process with the detection of coding opportunities to maximize the benefit of coding. However, these proposed methods and schemes use ONC for the original transmissions only but consider individual retransmission process to recover loss packets.

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

Recently, many researchers have turned to use NC to seek for a satisfactory solution to protect packets against packet erasure channels [13]–[33]. In [13], efficient retransmission was proposed to modify the retransmission mechanism in COPE. The authors described several heuristics to solve the problem of selecting the optimal set of packets to code together, which is NP-hard. In [18], the performance of various ARQ schemes for ONC has been compared in dual-hop networks with an ideal MAC protocol. Then, several research groups made progress on the capacity of multiple unicast traffic in wireless networks [19]–[22]. In [19] and [20], Georgiadis and Tassiulas and Kuo and Wang, respectively, considered the two-unicast network and provide a capacity outer bound to this system. They also designed the feedback-based NC schemes that can arbitrarily close to the outer bound. Unlike the work in [19] and [20], Kuo and Wang [20] and Wang [21] studied the capacity of the networks where multiple source–destination pairs cross one relay over a packet erasure channel. They proposed a retransmission scheme with random linear NC [33] to achieve the bound. While it has been proven that NC can improve the capacity of unicast traffic over packet erasure channel, much work has been carried out with respect to ONC. In [22] and [23], Lu et al. and Yan et al. proposed a cooperative recovery scheme that enables both sender and receivers to retransmit loss packets to the specific destinations. The scheme in [23] also allows the sender to partition an initial packet into equal-sized blocks according to the channel condition. It has been shown that the optimal block size leads to a high throughput performance. In [24], Kuo et al. used the Bayesian learning method to estimate the reception status at receivers without collecting their feedback. The authors also study the fair scheduling problem and design a heuristic algorithm that makes a coding decision under the fairness constraint. In [25], Seferoglu et al. proposed I2 NC, in which random linear NC is used to encode packets destined to the same node to deal with wireless loss, whereas ONC is used to combine packets from different flows to increase throughput. As channel coding is also a useful error-correction technique, many active studied jointly design network–channel codes to exploit fully the redundancy in both channel coding and ONC. For example, Thobaben [26] investigated a joint network–channel coding approach with iterative network–channel decoding. Larsson et al. [27] considered NCbased HARQ schemes using different channel coding for multiple unicast settings. Manssour et al. [28] presented a unicast data recovery scheme that allows transmitter to XOR new data bits with retransmitted bits, both of which are protected by channel coding and are destined to the same receiver. Simulation results show that by joining ONC and appropriate channel coding, the network bandwidth efficiency can be remarkably improved over the traditional ARQ approach. Real-time services, such as audio and video, require a bounded delay for transmission. In this direction, delaysensitive ONC schemes for reliable transmission over wireless networks have been finished in the literature [29]–[33]. In [29], Seferoglu and Markopoulou proposed an ONC scheme for video streaming across different unicast flows, which im-

3411

proves the video quality by intelligently selecting the network codes that take into account both the importance of video data and the timing deadlines. In [30], Tanigawa et al. presented a method that chooses packets to XOR together and hand up the received packets in a reordering process by considering the predetermined delay metric. In [31], the capacity region of two-unicast network under heterogeneous channel status and heterogeneous deadline constraints has been studied. Li et al. also showed the asymptotic optimality of their proposed scheme with the deadline constraints, when the data sizes are sufficiently large. In [32], Nguyen et al. proposed an ONCbased scheduling algorithm using a Markov decision process, which optimized the quality of multimedia applications under bandwidth and delay constraints. The ONC technique provides a promising solution for the reliable unicast transmission. However, the related research work has not considered the issue of how to use efficiently encoded packets that cannot be decoded to recover lost packets. In contrast, we exploit the benefit of the encoded packets to increase the system bandwidth efficiency for multiple unicast flows in wireless single-hop networks. This paper is a followup work of the conference version [16] of this paper, in which only an algorithm was presented. In this paper, we not only describe the scheme rigorously but also analyze its theoretical performance and derive a statistical lower bound in terms of the number of retransmissions expected to recover successfully a loss packet. III. S YSTEM M ODEL Consider a wireless network comprised of a BS and N > 1 destination nodes Di , 1 ≤ i ≤ N . We are concerned with the case where the BS wants to unicast K distinct packets to each destination node. The transmission process is separated into two phases: the data transmission phase and the data recovery phase. In the data transmission phase, the BS delivers N · K packets to their intended destinations in the network. Due to the nonideal value of the transmission channel, the destinations may be failure to receive some packets during the transmission. Thus, in the data recovery phase, the BS repeatedly retransmits the lost packets until all of them are recovered. On the receiving side, the nodes are set in promiscuous mode. This helps them snoop on all transmissions over the wireless medium and store overheard packets in a local buffer called packet pool. Packets in the packet pool are used for two things: 1) for decoding incoming encoded packets; and 2) for periodically creating reception reports to tell the BS that packets are stored. To avoid additional overhead, the nodes append cumulative ACKs to the reception reports. Thus, by collecting reception reports, the BS is able to know the current packet reception status at all destination nodes and adapt its decisions based on this information. We assume that the loss of packets on different nodes by a set of mutually independent Bernoulli processes. Thus, losses are spatial and temporal independent. This model is commonly used in the literature [15], [24] for ease of analysis. We define qi ∈ (0, 1] as the probability that a packet is lost at node Di , i = 1, 2, . . . , N .

3412

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

Now, we introduce a critical definition. Definition 1: Packet-loss pattern ρ(P ) is a row vector that represents the current status of packet P received at all nodes. When P is successfully obtained by Di , the rth entry in ρ(P ) is marked 1, or else 0. In particular, w(ρ(P )) denotes the number of nonzero elements in ρ(P ). Remark 1: The loss pattern of a packet only points out which nodes receives the packet and which does not. It means, the packets that are of the same loss pattern may be requested by different destinations. We then define it as follows. Definition 2: For each packet P , R(P ) denotes the set of the destination nodes that require P to recover their loss packet. We sometimes use R as shorthand for R(P ). Definition 3: Packet set L(ρ, R) consists of lost packets that have the same loss pattern and are required by the same nodes Di ∈ R. In particular, we use L(ρ, Di ) to represent L(ρ, R) if R = {Di }. Definition 4: For each packet P , U (P ) denotes the set of the lost packets that are encoded in P . In particular, if P is a native packet, then U (P ) = φ. For example, for packet P1 in Fig. 1, we have ρ(P1 ) = [0 1 0], R(P1 ) = {D1 }, and U (P1 ) = φ. However, if P1 is combined with P2 , then, for encoded packet P1 ⊕ P2 , we get U (P1 ⊕ P2 ) = {P1 , P2 } and R(P1 ⊕ P2 ) = {D1 , D2 } since both nodes D1 and D2 require P1 ⊕ P2 to recover their own lost packet. Note that, set U (P ) can involve not only native packets but also encoded packets if the encoded packets are XORed in P and lost at the intended destinations. Finally, we define the coding gain as the number of the intended destination nodes in each transmission. For example, the coding gain by transmitting P1 ⊕ P2 is 2. Definition 5: The value of packet P , which is denoted by v(P ), is the maximum coding gain produced by transmitting P using ONC. In particular, v(P ) = 0 represents that packet P has already been received by all its intended destination(s). Remark 2: Note that, transmitting packet P can be also considered as delivering any of the packets in set U (P ) at the same time. It means that the packets in set {P } ∪ U (P ) are of the same value. Hence, the value of a packet always exists, even if the packet is coded with others. In this paper, it is important to identify the value of both native and encoded packets. This will be carefully discussed in Section IV-B. IV. P ROPOSED E NCODED PACKET-A SSISTED R ETRANSMISSION A PPROACH EAR is built based on a previous popular coding architecture, i.e., COPE [7]. Unlike with COPE, however, our goal is to design an efficient robust content distribution technology in wireless networks by exploiting the benefit of encoded packets. Toward this, our proposed framework consists of two component modules. A. Improved Opportunistic Listening Module Motivated by the given example, we develop an improved opportunistic listening mechanism that allows destination nodes to store not only native packets but also the encoded packets,

Fig. 3.

Architecture of reception report.

which cannot be decoded, in local buffers. Then, the destination nodes use reception reports to report periodically their reception status to the BS. Additionally, the cumulative ACKs are appended to the reports. The architecture of reception report is shown in Fig. 3. To ensure that the BS processes each reception report only once, REPORT_ID is used to identify the report. The value of REPORT_ID is produced by REPORT_SEQ_COUNTER, which is a 15-bit counter that is maintained by each destination nodes. Whenever a reception report is sent to the BS, the destination node increases the counter. Then, ENCODE is used to specify whether the report that is to be sent contains the information of encoded packets. If the bit is set to zero, this report shall only record the receipt of native packets. If the bit is set to one, this report shall contain the information of both native and encoded packets. Now, a node can report the receipt of native packets on a per-destination basis. It begins with DES_NUM, which is the number of destination nodes. Each entry begins with DES_ID, which is the destination address of the reported packets. This is followed by the sequence number of the last packet received from the BS, i.e., LAST_NATIVE, and an 8-bit bitmap indicating previously received packets. Specifically, the leftmost bit of a bitmap represents the packet with sequence number LAST_NATIVE − 1, and a 1 at position i indicates that the packet with sequence number LAST_NATIVE − i is correctly received by the node sending the report. For example, an entry of the form {1, 25, 10011010} means that the packets that the report node has received from the BS is destined to node 1. It also shows the loss states of packets 25–17, where packets 23, 22, 19, and 17 are missing. If a node sets DES_ID to its own address, this entry is used to acknowledge reception of its intended packets. The encoded block starts with the sequence number of the last encoded packet in the packet pool, i.e., LAST_ ENCODED. This sequence number is created by ENCODE_ SEQ_COUNTER, which is a 16-bit counter that is maintained by the BS. Once the BS transmits an encoded packet, it increases the counter and assigns the value to LAST_ENCODED. This is followed by the bitmap that is 32 bit in length, such that it is more resilient to a high transmission rate. Note that, using the sequence number and the bitmap allows the receivers to report each packet multiple times at a cost of a small increase in overhead. This adds a level of reliability that the BS has come to expected. On the sending side, the BS’s retransmission queue consists of two parts: initial and coding queues. When a packet is sent by the BS, it will be added to the initial queue with a timer set as N · RTT, where RTT is the longest round-trip time between the BS and the destination nodes. After all nodes report the receipt of this packet or the timer expires, the BS moves it into the

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

coding queue if the packet still misses at its intended destination node(s). When the BS receives a report, it implements Algorithm 1 outlined in the following to update the packet reception status at the node that sends the report. The algorithm is continually executed until all the packets logged in the reports that have been updated. Note that, the status of queued packet P will be updated only when it has not yet been reported by the node that sent the report. Therefore, we use a N -dimensional vector ReportNode(P ) to specify which node has already reported the receipt of packet P . ReportNode(P ) is set to zero when P is added to the initial queue. Algorithm 1 Update the algorithm for packet P recorded in the reception report sent by node Di 1: if P is in initial and the ith entry of ReportNode(P ) is 0 then 2: if Di has received P 3: if P has been received by all its intended destination node(s) then 4: discard P and all the packets in U (P ) 5: else 6: set the ith entry of ρ(P ) to one 7: end if 8: end if 9: set the ith entry of ReportNode(P ) to one 10: if all the entries of ReportNode(P ) is 1 then 11: if P is encoded and not received by unintended node(s) then 12: move the packets in U (P ) to Coding queue 13: discard P 14: else 15: move P to Coding queue 16: discard all the packets in U (P ) 17: end if 18: end if 19: end if Finally, when a destination node receives a report sent by other node, it also needs to check if the packets storing in its packet pool have been received by all their intended destination node(s). If a packet has been received by all its destination(s), the node discards the packet to conserve memory. B. Greedy Coding Module First, let us consider the example in Fig. 2 again, which is the simplest case that requires some forms of encoded packets. We note that, although the BS cannot code P3 with P1 or P2 , it can XOR P3 and P1 ⊕ P2 together to rescue them simultaneously. This implies that, our scheme should perform a dynamic NC policy to adapt to the variation of the coding opportunities in the network after each transmission. Next, let us discuss how to use packet-loss pattern to identify the coding opportunities. The BS encodes multiple packets

3413

when each intended destination node has enough information to decode the encoded packet. More precisely, every node uses the following coding rule. If n is the number of native packets in a coded packet, the intended receivers need to have n − 1 of those native packets to have successful decoding [7]. With this rule, we have the following theorem: Theorem 1: Lost packets P1 , . . . , Pn with loss pattern ρ(P1 ), . . . , ρ(Pn ), respectively, can be XORed together if and only if there is only one zero entry in  each ith row of matrix F = [ρ(P1 )T . . . ρ(Pn )T ], where Di ∈ nj=1 R(Pj ). Proof: Without loss of generality, let us consider node Di (Di ∈ R(P1 )). To ensure that Di can retrieve P1 from the encoded packet, it must have correctly overheard packets Pj , j = 2, 3, . . . , n. Therefore, according to the definition of a packet-loss pattern, the ith entry in ρ(Pj ), j = 2, 3, . . . , n, is equal to 1, i.e., the ith row of matrix F is only one entry that is equal to 0. It is the same for other nodes. On the other hand, if the ith row of matrix F is only the first entry that is equal to 0, where Di ∈ R(P1 ), it indicates that Di has already received packets P1 , j = 2, . . . , n. Thus, Di can XOR packets P1 with the encoded packet to obtain P1 . Then, based on the code rule as aforementioned, all the packets can be coded together.  Theorem 1 describes the relationship between the coding structure and the packet-loss pattern. Thus, we can specify the value of a packet according to its loss pattern. Theorem 2: The value of packet P is equal to v(P ) = w (ρ(P )) + |R(P )| .

(1)

Proof: Based on Theorem 1, the number of native packets that can be encoded with packet P is at most w(ρ(P )). That is, after the BS encodes P with the appropriate packets (w(ρ(P )) > 0) or retransmits it alone (w(ρ(P )) = 0), there are no more than w(ρ(P )) + |R(P )| nodes intending to receive the resulting packet. Therefore, the maximum coding gain that P is able to provide is w(ρ(P )) + |R(P )|.  Remark 3: Note that, if node Di ∈ R(P ), the ith entry in ρ(P ) should be set to 0, i.e., w(ρ(P )) ≤ N − |R(P )|. Hence, the value of a packet cannot exceed the number of destination nodes, i.e., N , in the network. We then get the following inequality: 0 ≤ v(P ) ≤ N.

(2)

Corollary 1: When packets Pi , i = 1, . . . , n, are coded together, the value of P1 , . . . , Pn and Pen = P1 ⊕ . . ., ⊕Pn are v(P1 ) = · · · = v(Pn ) = v(Pen ) = min {w[ρ(Pi )] + |R(Pi )|} . i=1,···,n

(3) Corollary 2: The value of a packet is nondecreasing after each transmission as long as the packet is: 1) encoded with the packet that does not have a lesser value than it; and 2) is not received by all its intended destination node(s). Proof: If packet P is sent alone by the BS, the reception status for P can be classified into the following situations. • P is received by all its intended destination node(s). Then, v(P ) = 0.

3414

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

Fig. 4. Example of the ONC-based recovery scheme. (a) Destination of packets Pi , i = 1, 2, 3, 4, 5. (b) Packet state table.

• P is not received by any nodes. Then, v(P ) does not change. • P is lost at its intended destination node(s), and is not received by the nodes that have never received it, either. Then, v(P ) does not change. • P is lost at its intended destination(s) but is obtained by the nodes that have never received it. Then, v(P ) rises. On the other hand, according to Corollary 1, if packet P is coded with packet P  , all the packets in U (P ⊕ P  ) are of the same value, i.e., min{w[ρ(P )] + |R(P )|, w[ρ(P  )] + |R(P  )|}. Therefore, after P ⊕ P  is transmitted, v(P ) is nondecreasing, as long as: 1) w[ρ(P )] + |R(P )| ≤ w[ρ(P  )] + |R(P  )|; and 2) P ⊕ P  is not received by all its intended destination node(s).  The earlier discussions indicate that EAR should carefully consider the following three principles to assess the full benefit of NC. 1) Packet P may be retransmitted several times to deliver it successfully to its destination(s), for the reason that the medium is error prone. 2) The contribution of a packet is variable during its transmission because of the broadcast nature of wireless transmission. In particular, the value of a packet is nondecreasing if the packet is encoded with the packet that does not have a lesser value than it and not received by all its intended destination node(s). 3) Based on Theorem 1 and Definition 5, the higher the value of P is, the more native packets can be recovered simultaneously after the BS retransmits P using ONC. Therefore, we use v(P ) to represent the contribution of P to the transmission performance. Now, we take into account these principles to derive the generic design of our coding framework. First, as Theorem 1 implies that a packet can be coded with many different sets of packets, we need to determine which set of packets should be coded together. Typically, a greedy algorithm is chosen to solve the question. However, without considering the unequal contribution of different packets, the greedy strategy may limit coding chances in the network. We illustrate such limitation by the following example, where there are N = 3 destinations and five packets Pi (1 ≤ i ≤ 5) ordered by the sequence in the retransmission queue of the BS. Fig. 4(a) and (b) lists the destination nodes and the reception status for the lost packets. When the BS wants to retransmit P1 , it selects P2 and codes it with P1 using the conventional greedy coding algorithm. However, this is not the best decision for this transmission because

Fig. 5. Example of the ONC-based recovery scheme. (a) Destination of packets in the retranmission queue of the BS. (b) Packet state table.

the BS should recover P3 , P4 , and P5 in at least two time slots. Thus, the potential contributions of P2 , P4 , and P5 are wasted as v(P2 ) = v(P4 ) = v(P5 ) = 3. In fact, if the BS codes P1 with P3 , packets P2 , P4 , and P5 will be combined together and rescued in the next time slot. This way, the value of the packets is thoroughly exploited, and one transmission can be saved. The given example reveals an important coding issue: To maximize the utilization of coding opportunity, the packets with the same value, i.e., the same contribution to the transmission, should be encoded together. Accordingly, we state the coding rule (the definition of a good coding decision) as follows. Definition 6: Coding two packets together, e.g., P and P  , is a good coding decision according to the following conditions. 1) The rth entry of ρ(P ) and the sth entry of ρ(P  ) are equal to 1, where Dr ∈ R(P  ), and Ds ∈ R(P ). 2) If the kth (Dk ∈ / R(P  )) entry of ρ(P ) is 1, the kth entry  of ρ(P ) must be 1. 3) v(P ) = v(P  ). We then say that P  (P ) is the optimal coding packet (OCP) for P (P  ). Remark 4: If P  satisfies the given rules, each packet in L[ρ(P  ), R(P  )] is the OCP of P . In addition, when w(ρ(P )) > 1, many OCPs with different loss patterns for P may exit. Accordingly, when the BS intends to retransmit packet P , it should search for a subset of the OCPs of P . In the subset, there is at most one packet per loss pattern, and these packets must also be able to be encoded together. Another concept of our coding scheme is to decide in which order to retransmit missing packets. Using the nondecreasing property of the value of packets, we can enable packets to contribute more to the transmission performance than the use of the conventional methods. To illustrate it, consider the example shown in Fig. 5, where there are N = 4 destinations and three packets in the retransmission queue of the BS. In this case, we observe that the maximum coding gain in the network cannot exceed 3 by delivering P1 or P3 ⊕ P4 ⊕ P5 that has a higher value, even if the BS XORes these two packets together. This is due to the fact that: 1) if only D2 correctly receives P1 ⊕ P3 ⊕ P4 ⊕ P5 , the maximum coding gain is still 3; or 2) if one or several of nodes D1 , D3 , and D4 successfully receive the encoded packet, the maximum coding gain is no more than 3 as there are at most three lost packets in the network. However, if the BS first retransmits P2 , the maximum coding gain may be increased. This is because, if P2 is received by D3 instead of D2 , the BS is able to encode P1 , P2 , and P3 ⊕ P4 ⊕ P5 together. Therefore, the maximum coding gain in the network increases to 4.

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

Furthermore, packets with a low value have more chance to increase their value, i.e., to be obtained by the nodes that have never received it, than the nodes with a high value. The earlier discussions indicate that delivering high-value packets first is not the best choice. Hence, we formally design a transmission scheduler around the rule that the lower the value of a packet is, the sooner it should be retransmitted. In other words, the lower value packets take higher transmission priority. Then, we use I(P ) as the priority of packet P , where I(P ) = N − v(P ) = N − w[ρ(P )] − |R(P )| .

(4)

Since the BS only transmits the packets that are requested by at least one destination nodes, the scheduler maintains N virtual queues Q(l) for priority levels l = 0, . . . , N − 1. Once packet P is added to the coding queue, a pointer to P is also added to virtual queue Q[I(P )] as well. In the data recovery phase, the BS always transmits the packet at the head of the highest priority virtual queue that contains a packet. Then, the OCPs for this packet are selected from the same virtual queue. If the maximum coding gain for the transmission is not achieved by these OCPs, low-priority packet(s) are chosen. Additionally, the BS searches the packets in descending order of priority to ensure that low-value packets would be recovered first. Summing up, the BS executes the procedure outlined in Algorithm 2 to generate an appropriate native or coded packet. Algorithm 2 The greedy coding algorithm 1: Prepared = 0 2: Encode = {} 3: for l = N − 1 to 0 do 4: if Prepared = 0 and Q(l) is not empty then 5: pick packet P at the head of Q(l) 6: Encode = Encode ∪ {P } 7: Prepared = 1 8: for i = 2 to |Q(l)| do 9: Pick packet Pi from Q(l) 10: if Pi satisfies the rules in Definition 6 then 11: P = P ⊕ Pi 12: Encode = Encode ∪ {Pi } 13: R(P ) = R(P ) ∪ R(Pi ) 14: end if 15: end for 16: else if Prepared = 1 and |R(P )| < v(P ) then 17: for i = 1 to |Q(l)| do 18: Pick packet Pi from Q(l) 19: if Pi can be encoded with P then 20: P = P ⊕ Pi 21: Encode = Encode ∪ {Pi } 22: R(P ) = R(P ) ∪ R(Pi ) 23: end if 24: end for 25: end if 26: end for 27: return P

3415

To ensure each intended destination nodes is able to successfully decode an encoded packet, the BS adds the special header, namely coding header, to records all the native packets that are coded in the encoded packet. In this paper, we use a 2-B hashvalue [7] to identify a packets destination address and sequence number. On the receiving side, when a packet arrives, the node checks the coding header to decide whether the packet is requested by it. If the node is a destination, it checks if the packet is encoded. If it is, the node tries to decode by XORing the encoded packet with the packets storing in its packet pool. After decoding, it reports this reception to the sender and adds the decoded packet to the packet pool. The node then hands the decoded packet up to the higher layers. If the received packet is not encoded or is not destined to the node, the packet is simply stored in the packet pool and processed in the same way as a decoded packet. Note that with our scheme, out-of-order packet reception may occur. Therefore, we assume the additional reordering process is performed by the upper layer. V. N UMERICAL A NALYSIS Beyond intuitive justifications, we investigate an in-depth understanding of the performance of EAR with respect to the average number of retransmissions. To facilitate our mathematical analysis, we make the following assumptions. • If 1 ≤ i ≤ j ≤ N , then qi ≤ qj . • The reception reports are reliable, i.e., the reports are never lost. • The BS retransmits the packets in L(ρ, R) round-byround. More precisely, all packets in L(ρ, R) are delivered only once in each round. If the loss pattern of a packet in L(ρ, R) is still ρ after the retransmission, the BS will transmit the packet in the next round. For convenience, the notations used in the following analysis are listed in Table I. Then, we give the following conclusion for the conventional ONC-based schemes that do not exploit the benefits from encoded packets. Theorem 3: Using the conventional ONC-based technique, the lower bound on the number of retransmissions expected to recover successfully a lost packet for N -receiver unicast singlehop network is N N 1  j=i qj . (5) λON C = N i=1 1 − qi The proof of this theorem can be directly derived from [15]. To derive the performance bound of the EAR approach, we need the following lemmas. Lemma 1: After the data transmission phase, the expected number of packets in L(ρ, Di , t0 ), 1 ≤ i ≤ N , is given by f (ρ, Di , t0 ) = K Pr{ρ, Di }.

(6)

Proof: Let random variable X denote the number of packets in L(ρ, Di , t0 ). Since each delivery is independent identically distributed (i.i.d.) and follows the Bernoulli distribution

3416

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

TABLE I S IMPLE E XAMPLE TABLE

Xk (k = 0, 1, . . .) is i.i.d. and follows the binomial distribution. Hence, we have E[X0 ] = f (ρ, R, tρR ) (10) E[Xk ] = E [E[Xk |Xk−1 ]] = E[Xk−1 ] · Pr {ρ|ρ, R} = E[X0 ] (Pr{ρ|ρ, R})k , k > 0. (11) Due to Pr{ρ|ρ, R} ≤ 1, series E[Xk ](k = 1, 2, . . .) are convergent. Since all packets in L(ρ, R, tρR + k) are transmitted only once, the expected number of transmissions requested by the BS to remove all packets from set L(ρ, R) is g(ρ, R) =

∞ 

E[Xk ] = E[X0 ] ·

k=0

∞ 

(Pr{ρ|ρ, R})k

k=0

E[X0 ] . = 1 − Pr {ρ|ρ, R}

(12)

By substituting (10) into (12), we arrive at (8). On the other hand, let random variable Yk (k > 0) denote the number of packets that moves from L(ρ, R, tρR + k) to L(ρ , R ), ρ = ρ , after the kth round. Random variables Yk (k = 1, . . .) are i.i.d. and also follow the binomial distribution. Thus, we have E[Yk ] = E [E[Yk |Xk−1 ]] = E[Xk−1 ] · Pr {ρ , R |ρ, R} = E[X0 ] (Pr{ρ|ρ, R})k−1 Pr {ρ , R |ρ, R} . (13) Due to Pr{ρ , R |ρ, R} ≤ 1, series E[Yk ](k = 1, 2, . . .) are convergent. Therefore, the expected number of packets moved from L(ρ, R) to L(ρ , R ) in a retransmission process is δ(ρ , R |ρ, R), i.e., δ(ρ , R |ρ, R) = =

∞ 

E [Yk ]

k=1 ∞ 

E[X0 ]·(Pr{ρ|ρ,R})(k−1) ·Pr {ρ ,R |ρ,R}

k=1

= Pr {ρ , R |ρ, R}·E[X0 ]·

[13], [15], [24], random variable X is i.i.d. and follows the binomial distribution. Hence, we have E[X] = K Pr{ρ, Di }.

(7)

 Lemma 2: The expected number of transmissions requested by the BS to remove all packets from set L(ρ, R) is equal to g(ρ, R) =

f (ρ, R, tρR ) . 1 − Pr {ρ|ρ, R}

(8)

Particularly, the expected number of packets moved from L(ρ, R) to L(ρ , R ) in this process is δ(ρ , R |ρ, R), ρ = ρ , i.e., δ (ρ , R |ρ, R) = g(ρ, R) Pr {ρ , R |ρ, R} .

(9)

Proof: Let random variable Xk (k ≥ 0) represent the cardinality of L(ρ, R, tρR + k). Since each delivery is i.i.d. and follows the Bernoulli distribution, the random variable

∞ 

(Pr {ρ|ρ, R})k

k=0

= g(ρ, R) Pr {ρ , R |ρ, R} .

(14)

 Corollary 3: The expected number of transmissions required to remove all packets from set Hi , 1 ≤ i ≤ N , is given by  K N j=i qj . (15) g(Hi ) = N 1 − j=i qj Proof: First, we consider the packets with ρ1 , where w(ρ ) = i − 1 and L(ρ1 , Di ) ⊆ Hi . We observe that moving these packets from Hi is equivalent to delete them from L(ρ1 , Di ). Based on Lemma 2, the number of transmissions expected to remove all packets in L(ρ1 , Di ) from Hi is l(ρ1 ) = f (ρ1 ,  Di , tρ1 Di )/(1 − N k=i qk ). Suppose that the number of transmissions expected to remove all packets in L(ρn−1 , Di ) ⊆ Hi from Hi is l(ρn−1 ) =  n−1 f (ρn−1 , Di , tρn−1 Di )/(1 − N )=i− k=i qk ) for any w(ρ n (n − 1) ≥ 0. Then, we consider the case w(ρ ) = i − n ≥ 0, 1

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

L(ρn , Di ) ⊆ Hi . Let the rj th (j = 1, . . . , n) entries of ρn be zero. Then, we have n−1   l(ρj )δ (pj |ρn , Di )   f ρj , Di , tρj Di j=1 ρj 

j n n−1  j=1 ρj Pr ρ |ρ , Di n = g(ρ , Di ) 1+  1− N k=i qk    n (1− nj=1 qrj ) N f (ρ , Di , tρn Di ) k=i qk = 1+    1− nj=1 N 1− N k=i qrj qk k=i qk f (ρn , Di , tρn Di ) = . (16)  1− N k=i qk

l(ρn ) = g(ρn , Di )+

On the other hand, we notice that no packet can be moved to Hi within the data recovery phase. This is because the packets in L(ρ , Di ) ⊆ Mj , j > i have already been received by node Dj , whereas the packets in L(ρ, Di ) ⊆ Hi have not been received. Consequently, the number of transmissions expected to remove all packets from Hi is i−1  j ρj f (ρ , Di , tρj Di ) j=1 g(Hi ) =  1− N k=i qk i−1  j ρj f (ρ , Di , t0 ) j=1 = N 1 − k=i qk  qk K N = . (17) k=i N 1 − k=i qk   Definition 7: Set G = ni=1 L(ρi , Ri ), 2 ≤ n ≤ N , is called the coding group, where the packets in set L(ρi , Ri ) are the OCPs of those in set L(ρj ,Rj )(i = j). Corollary 4: Let G = ni=1 L(ρi , Dri ), ri < rj (i < j). If f (ρn , Drn , tρn Drn ) = max1≤i≤n {f (ρi , Dri , tρi Dri )}, the expected number of transmissions required to remove all packets from set G is given by g(G) =

f (ρn , Drn , tρn Drn ) . 1 − Pr {ρn |ρn , Drn }

3417

destinations can be coded together. Thus, the BS only needs f (ρn , Drn , ts + k − 1) transmissions within the kth round. The expected number of transmissions required to remove all packets from sets L(ρi , Di ), i = 1, . . . , n, is g(G) =

∞ 

E[Xnk ] = E[Xn0 ] ·

k=0

=

f (ρn , Drn , ts ) = g(ρn , Drn ). 1 − Pr {ρn |ρn , Drn }

(20)

 Remark 5: We say that set G is dominated by set L(ρn , Drn ) if f (ρn , Drn , ts ) = max{f (ρi , Dri , ts ) : L(ρi , Dri ) ⊆ G, i = 1, . . . , n}. This relation is denoted by G ≺ L(ρn , Drn ). Theorem 4: Using the EAR method, the lower bound on the number of retransmissions expected to recover successfully a lost packet for the N -receiver unicast single-hop scenario is N N 1  j=i qj . (21) λEAR = N N i=1 1 − j=i qj Proof: First, we consider the two-receiver scenario. Let ρ0 = [0 0], ρ11 = [0 1], and ρ12 = [1 0]. Then, we have H1 = L(ρ0 , D1 ), M2 = L(ρ11 , D1 ), and H2 = L(ρ0 , D2 ) ∪ L(ρ12 , D2 ). As aforementioned, the BS would rescue L(ρ0 , D1 ) and L(ρ0 , D2 ) first. Then, based on Lemma 2, we have     Kq1 q2 g ρ0 , D1 = g(H1 ) = = g ρ0 , D2 1 − q1 q2     δ ρ11 |ρ0 , D1 = g ρ0 , D1 q1 (1 − q2 )     δ ρ12 |ρ0 , D2 = g ρ0 , D2 (1 − q1 )q2 .

(22) (23) (24)

Let G = L(ρ11 , D1 ) ∪ L(ρ12 , D2 ). Since       f ρ11 , D1 , tρ11 D1 f ρ11 , D1 , t0 + δ ρ11 |ρ0 , D1 =  f (ρ12 , D2 , t0 ) + δ (ρ12 |ρ0 , D2 ) f ρ1 , D , t 1 2

Based on the central limit theorem, we then have Pr(Xik ≤ Xjk ) → 1 as K → ∞. It implies that all packets in L(ρi , Dri , ts + k) can be XORed with those in L(ρn , Drn , ts + k). Moreover, with the definition of G, the packets required by different

(Pr {ρn |ρn , Drn })k

k=0

2

ρ2 D2

(18)

Proof: For the sake of simplicity, let ts = tρi Dri , i = 1, . . . , n. Let random variable Xik represent the cardinality of L(ρi , Dri , ts + k), k ≥ 0, i ≥ 1. Since the transmission is i.i.d. and follows the Bernoulli distribution, random variables Xik (i = 1, . . . , n, k = 0, 1, . . .) are also i.i.d. and follow the binomial distribution. Based on Lemma 2, there are E[Xik ] = E[Xi0 ](Pr{ρi |ρi , Dri })k packets in L(ρi , Dri , ts + k) after the kth round (k > 0). Due to Definitions 6 and 7, we have

k E[Xi0 ] Pr {ρi |ρi , Dri } E[Xik ] = E[Xnk ] E[Xn0 ] Pr {ρn |ρn , Drn }

k E[Xi0 ] qri = ≤ 1, 1 ≤ i ≤ n. (19) E[Xn0 ] qrn

∞ 

=

q1 (1 − q2 ) ≤1 (1 − q1 )q2

(25)

we get G ≺ L(ρ12 , D2 ) based on Corollary 4. Therefore, the number of retransmissions expected to recover all packets in set M2 ∪ H2 is equal to g(H2 ) =

Kq2 . 1 − q2

(26)

Combining (22) and (26), the expected number of retransmissions to recover successfully a lost packet is given by

1 q2 g(H1 ) + g(H2 ) q1 q2 = + λEAR = . (27) 2K 2 1 − q2 1 − q1 q2 The proof for the N (N > 2) receiver scenario will be found in the Appendix.  In the EAR approach, we introduce a concept: the value of packet P , i.e., v(P ), that indicates the maximum coding gain that P can provide. Then, we use v(P ) as the scheduling metric to determine the transmission priority of P  . The proof

3418

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

Fig. 6. Example of the recovery scheme using w(ρ) as the scheduling metric. (a) Destination of packets Pi , i = 1, 2, 3, 4. (b) Packet state table.

of Theorem 4 shows that EAR cannot only make fully use of the existing coding opportunities but also create new opportunities by transmitting low-value packets first. In particular, the value of the packet also helps us to identify and use the coding opportunities coming from the undecodable NC packets. Without this concept, we would not be able to utilize these NC packets efficiently, resulting in degradation of system performance. Let us use the following example to show it. In the example, there are N = 4 destinations and five packets Pi , 1 ≤ i ≤ 4, ordered by w(ρ(Pi )) in the retransmission queue of the BS. Fig. 6(a) and (b) and list the destination nodes and the reception status for the lost packets. With the greedy algorithm, the BS would take no less than three retransmissions P1 ⊕ P2 , P3 , and P4 to recover the lost packets. However, the best coding decision is P1 ⊕ P3 and P2 ⊕ P4 , which can be done by reordering Pi using their values.

Fig. 7.

Retransmission gain versus PER.

Fig. 8.

Retransmission gain versus the number of destination nodes.

VI. P ERFORMANCE E VALUATION In Section V, we have theoretically analyzed the retransmission performance of EAR. Here, we compare EAR with ONCARQ, which does not take into account encoded packets and the value of packets, to quantify the performance improvement of our proposed scheme. We resort to a mass of experiments to evaluate the system performance for these two schemes in terms of retransmission gain, coding gain, and overhead, respectively. We define the retransmission gain as the ratio of the total number of retransmission of EAR to that of ONC-ARQ. We have implemented an event-driven simulator in C++. In the simulation, we used 802.11b as the underlying MAC-layer protocol for all the approaches. The channel rate was set to be 11 Mbps. We considered the BS and destination nodes that were deployed in a 75-m-diameter circle field. The radio range was approximately 150 m, such that these nodes can directly communicate with each other. The value of K is chosen based on the size of networks in simulations. In addition, each packet was set at 500 B and protected by RS (32, 28). We also used CRC-16 for error detection in all the simulations. In the first experiment, we compare the retransmission gain of the proposed EAR approach against ONC-ARQ. The number of receivers is set to 3, 5 and 8, respectively. We use packet error rate (PER) to represent the channel condition. PERs between the sender and all its receivers are the same, and varied from 0.1 to 0.9 in 0.1 increments. Fig. 7 depicts the retransmission gain corresponding to different PERs. It can be seen that the simulation results and theoretical analysis match well, where the retransmission gain monotonically increases with PER.

Note that, the performance of EAR is very close to that of ONC-ARQ under the light PERs. The reason is that there are few coding opportunities when PER is small. It is, however, observed that the EAR scheme significantly outperforms ONCARQ at high PER. This is because, the EAR approach not only exploits the potential of encoded packets but also considers the unequal value of different packets, resulting in generating more ONC packets than ONC-ARQ. In the second experiment, we fix the PER of each link between the BS and its destination node but vary the number of destinations. In this case, PERs are all set to 0.3 and 0.5, respectively. Fig. 8 shows the impact of a different number of receivers, which increases from 3 to 20, on the retransmission gain. As seen, the simulation results verify our theoretical derivations. Moreover, we observe that the performance gain slightly increases with the number of destinations at the light PER, whereas it significantly rises at the heavy PER with the slowing growth rate. This can be explained by the fact that the probability that a lost packet is successfully received by at least at one user increases with the number of the nodes. Then, more packets can be encoded together in each transmission with more destinations, resulting in a slow increasing rate of the total number of retransmissions for both schemes.

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

Fig. 9.

Average coding gain versus the number of destination nodes.

Fig. 9 shows some results on the average coding gain by taking into account the impact of the number of destinations. In this simulation, PERs of all channels are the same and are set to 0.3 and 0.5, respectively. As seen, our proposed scheme outperforms ONC-ARQ. This is attributed to the fact that our framework efficiently utilizes ONC by considering the contribution of each packet (not only native packets but also encoded packets). In addition, it is interesting that both EAR and ONC-ARQ provide more coding gain in the case with highquality links. This is because, a packet can be overheard by more nodes with better channel conditions. Thus, more packets are able to be combined into one packet. In the following simulations, we evaluate the overhead in terms of the average length of the coding header for both EAR and ONC-ARQ schemes. The number of destination nodes is varied from 3 to 20. PERs between the BS and all destinations are the same and are set to 0.3 and 0.5, respectively. Fig. 10 shows that EAR generates higher overhead than ONC-ARQ, which illustrates that EAR is able to recover more packets in one transmission. However, by comparing Fig. 9 with Fig. 10, it appears that the overhead of EAR is much bigger than twice the coding gain that can be achieved. This is due to the fact that, when the BS uses EAR to generate an encoded packet, some original packets that have already received by their destinations may be also combined into this ONC packet. For example, as shown in Fig. 5, when P3 ⊕ P4 ⊕ P5 is coded with other packet(s), at least one additional packet’s ID is included in the coding head. Thus, to ensure the ONC packets decodable, the IDs of these original packets should be added into coding head, thus giving rise to high overhead. Comparing to the length of the data packets, the overhead for EAR is no more than 5. To close this section, we consider the heterogeneous networks, where links may have different PERs. The channel conditions between the BS and destination nodes are randomly chosen between 0.3 and 0.5. We also plot the results of the identical loss, where we set the PERs between the sender and all its clients are equal to the lower bound and the upper bound, respectively. Fig. 11 summarizes the results for the unicast scenario where the number of destination nodes is varied from 3 to 20. It is observed that the performances of the random loss

3419

Fig. 10. Average overhead versus the number of destination nodes.

Fig. 11. Retransmission gain versus PER with the different channel states incurred by different nodes.

are worth than the identical upper cases. This is because, under the imbalanced retransmission loads, the coding opportunities among encoded packets decrease consumedly. VII. C ONCLUSION In this paper, we have focused on the delay-insensitive applications, such as peer-to-peer file sharing, file downloading, and web browsing, and aimed to improve bandwidth efficiency. We addressed the problem of existing ONC schemes for a wireless unicast system. We proposed an EAR approach based on XOR NC. EAR allows the sender to exploit the potential benefits of coded packets to create more coding opportunities. To achieve the full benefit of ONC, we further presented a greedy coding algorithm that adopts a simple transmission scheduler that bases its decisions on the contribution of packets to the overall transmission performance. Simulation results have shown that EAR is able to outperform the conventional ONC approach in terms of the performance gain for a typical range of wireless network conditions. In future work, we will investigate more general scenarios and promote efficient NC schemes for reliable transmission. In addition, we are interested

3420

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

in the delay-sensitive applications, e.g., video and voice over Internet Protocol, and we plan to do some research work on the delay aspect with NC.

+

A PPENDIX



ρx

δ (ρ|ρy , Dr )

ρy

Note that, although there are many different coding groups that contain the same packet set(s), we have the following lemma. Lemma 3: For set L(ρ, Dr ), 1 ≤ r ≤ N, there is a unique code group Gopt , where L(ρ, Dr ) ⊆ Gopt , and there are w(ρ) + 1 packet sets in Gopt . Proof: According to Theorem 2, the maximum coding gain achieved by the packets in L(ρ, Dr ) is w(ρ) + 1. Thus, there is code group Gopt , where L(ρ, Dr ) ⊆ Goptand contains w(ρ) + 1 packet sets. Let Gopt = L(ρ, Dr ) ∪ ( ni=1 L(ρi , Ri )), n = w(ρ). Based on Definition 7, there are Rj ∩ Ri = φ, 1 ≤ i = j ≤ n,   n      Ri  = n.   i=1

Therefore, we have |Ri | = 1, i = 1, · · · , n, w(ρi ) = n.  that there is another code group Gopt = L(ρ, Dr ) ∪ Suppose n     we have |R | = 1 ( i=1 L(ρi , Ri )). Similarly, i n and w(ρi ) = n n. Moreover, the set  i=1 Ri isequal to i=1 Ri . This is due to fact that | ni=1 Ri | = | ni=1 Ri | = n and only the n nodes can decode ONC packets that  contain the packets in L(ρ, Dr ). Hence, we obtain Ri ∈ ni=1 Ri , i = 1, . . . , n. Without loss of generality, let Ri = Ri . We then observe that  Dk ∈ the kth entry n of both ρi and ρi must be 1 if node {Dr } ∪ ( j=1 Rj ) − Ri . In addition, |{Dr } ∪ ( nj=1 Rj ) − Ri | = w(ρi ) = w(ρi ) = n. Thus, ρi = ρi , and L(ρi , Ri ) =  .  L(ρi , Ri ), i.e., Gopt = Gopt For sake of simplicity, in the rest of this paper, we consider an encoded packet Pen as a set consisting of n native packets Pi , where 1 ≤ i ≤ n, n = |U (Pen )|, and Pi ∈ U (Pen ). In such a way, we say that node Dr obtains Pi if Dr has received Pen . Thus, the rth entries of ρ(Pi ) would be set to 1. We then add Pi into set L(ρ(Pi ), R(Pi )). Recall Corollary 4. If Gopt ≺ L(ρ, Dr ), we have g(Gopt ) = g(ρ, Dr ). In addition, since we regard an encoded packet as a set of original packets, the expected number of packets moved from L(ρ, D) to L(ρ , D) is

δ (ρ |ρ, D) = g(ρ, D) Pr {ρ |ρ, D} .

we rewrite f (ρ, Dr , tρDr ) and f (ρi , Dri , tρi Dri ), 1 ≤ i ≤ n as  f (ρ, Dr , tρDr ) = f (ρ, Dr , t0 ) + δ (ρ|ρx , Dr )

(28)

With these discussions, we have the following proof. Proof of Theorem: According to Lemma 3, for any set L(ρ, Dr ) ⊆ Hr , there is code group Gopt = L(ρ, Dr ) ∪   )), where n = w(ρ), ri < r, and L(ρi , Dri ) ⊆ ( ni=1 L(ρi , Dri Mr , i = 1, . . . , n. We then prove that Gopt ≺ L(ρ, Dr ). As aforementioned, some loss packets would be moved from one packet set to other sets in the data recovery process. Hence,

f (ρi , Dri , tρi Dri ) = f (ρi , Dri , t0 ) + +





(29) δ (ρi |ρx , Dri )

ρx

δ (ρi |ρz , Dri ) ,

i 0, w(ρy ) < r − 1, and g(ρy , Dr ) Pr {ρ|ρy , Dr } δ (ρ|ρy , Dr ) = δ (ρi |ρz , Dri ) g(ρz , Dri ) Pr {ρi |ρz , Dri } f (ρy , Dr , tρy Dr ) (1−qri )qr × ≥ 1. (32) = f (ρz , Dri , tρz Dri ) qri (1−qr ) Next, we draw a comparison between δ(ρ|ρx , Dr ) and δ(ρi |ρx , Dri ). First, we derive the following equations: ⎧ w(ρx ) < w(ρ) ⎪ ⎨ Pr{ρx , Dri } = Pr{ρx , Dr } (33)   ⎪ ⎩ Pr {ρx |ρ , Dri } = Pr {ρx |ρ , Dr } Pr {ρi |ρx , Dri } ≤ Pr {ρ|ρx , Dr } We then separate L(ρx , Dri ) into the following two categories. 1) L(ρx , Dri ) ⊆ Hri . We write f (ρx , Dri , tρx Dri ) and f(ρx , Dr , tρx Dr ) as f (ρx , Dri , tρx Dri )=f (ρx , Dri , t0 )+  and f (ρx , Dr , tρx Dr ) = ri ) ρx δ(ρx |ρx , D  f (ρx , Dr , t0 ) + ρx δ(ρx |ρx , Dr ), respectively, where L(ρx , Dri ) ⊆ Hri and L(ρx , Dr ) ⊆ Hr . When w(ρx ) = 0, we have f (ρx , Dr , t0 ) K Pr{ρx , Dr } f (ρx , Dr , tρx Dr ) = = = 1. f (ρx , Dri , tρx Dri )) f (ρx , Dri , t0 ) K Pr{ρx , Dri } (34)

ZHOU AND ZHOU: EAR FOR MULTIPLE UNICAST FLOWS IN WIRELESS NETWORKS

Suppose that f (ρx , Dri , tρx Dri )=f (ρx , Dr , tρx Dr ) for w(ρx ) = r − 3. We then prove that f (ρx , Dri , tρx Dri ) = f (ρx , Dr , tρx Dr ) holds for w(ρx ) = r − 2. According to Lemma 2, (33), and the assumption, we obtain g(ρx , Dri ) = g(ρx , Dr ) if w(ρx ) < r − 2, i.e., (35) shown in the following:

3421

L(ρ, Dr ), and the number of transmissions expected to remove all packets from set Mr ∪ Hr is g(Mr ∪ Hr ) =

f (ρx , Dri , tρx Dri ) − f (ρx , Dr , tρx Dr )  g (ρx , Dri ) Pr {ρx |ρx , Dri } = −

=0

= f (ρx , Dri , t0 ) +



δ (ρx |ρt , Dri ) +



ρt

(35)

= f (ρx , Dr , t0 ) +



δ(ρx |ρs , Dri )

ρs

ρt

δ (ρx |ρt , Dr )+



δ (ρx |ρs , Dr ) .

ρs

(37) As discussed earlier, we get f (ρx ,Dri , t0 ) = f (ρx ,Dr , t0 ) and δ(ρx |ρt , Dri ) = δ(ρx |ρt , Dr ). Therefore, we only need to compare δ(ρx |ρs , Dri ) with δ(ρx |ρs , Dr ). When w(ρx ) = 1, δ(ρx |ρs , Dri ) = δ(ρx |ρs , Dr ) = 0, ∀ρs. This implies f (ρx , Dri , tρx Dri ) = f (ρx , Dr , tρx Dr ). When w(ρx ) = 2, we have f (ρs , Dri , tρs Dri ) ≤ f (ρs , Dr , tρs Dr ) if w(ρs ) = 1. We show that g(ρs , Dr ) Pr {ρ|ρs , Dr } δ (ρx |ρs , Dr ) = δ (ρx |ρs , Dri ) g(ρs , Dri ) Pr {ρi |ρs , Dri } =

(39)

Therefore, the lower bound on the number of retransmissions expected to recover a lost packet for the N receiver unicast single-hop scenario is N λEAR =

r=1

g(Mr ∪ Hr ) = KN

N

g(Hr ) . KN

r=1

Substituting (15) into (40), we prove the theorem.

(40) 

R EFERENCES

(36) f (ρx , Dr , tρx Dr )

g(ρ, Dr )

= g(Hr ).

Therefore, according to (33), it is δ(ρ|ρx , Dr ) ≥ δ(ρi |ρx , Dri ), ∀L(ρx , Dri ) ⊆ Hri . 2) L(ρx , Dri ) ⊆ Mrj , ri < rj . We have (36) and (37), where {L(ρt , Dr ), L(ρs , Dr )} ⊆ Hr and L(ρs , Dri ) ⊆ Mrk , ri < rk ≤ rj . f (ρx , Dri , tρx Dri )



L(ρ,Dr )⊆Hr

ρx



g(Gopt )

Gopt ⊆Mr ∪Hr

=

g (ρx , Dr ) Pr {ρx |ρx , Dr }



f (ρs , Dr , tρs Dr ) (1−qri )qr × ≥ 1. (38) f (ρs , Dri , tρs Dri ) qri (1−qr )

Suppose that δ(ρx |ρs , Dri ) ≤ δ(ρx |ρs , Dr ) for w(ρx ) = r−3. tρx Dr ). This implies that f (ρx , Dri , tρx Dri ) ≤ f (ρx , Dr , ) = r − 2, it is Then,with the case w(ρ x ρs δ(ρx |ρs ,  Dri ) = ρs δ(ρx |ρs , Dri )+ ρs δ(ρx |ρs , Dri ), where w(ρs ) < r − 3, and w(ρs ) = r − 3. Because of the assumption, it is δ(ρx |ρs , Dri ) ≤ δ(ρx |ρs , Dr ) and f (ρs , Dri , tρs Dri ) ≤ f (ρs , Dr , tρs Dr ). We then show that δ(ρx |ρs , Dri ) ≤ δ(ρx |ρs , Dr ) according to (38). Therefore, we obtain δ(ρx |ρs , Dri ) ≤ δ(ρx |ρs , Dr ). By induction, we have δ(ρ|ρx , Dr ) ≥ δ(ρi |ρx , Dri ). As proven earlier, δ(ρ|ρy , Dr ) ≥ δ(ρi |ρz , Dri ); we then obtain f (ρ, Dr , tρDr ) ≥ f (ρ, Dri , tρDri ), i = 1, . . . , n. Thus, Gopt ≺

[1] D. Aguayo, J. Bicket, S. Biswas, G. Judd, and R. Morris, “Link-level measurements from an 802.11b mesh network,” in Proc. ACM SIGCOMM, Aug. 2004, pp. 121–132. [2] D. Giustiniano, G. Bianchi, L. Scalia, and I. Tinnirello, “An explanation for unexpecteded 802.11 outdoor link-level measurement results,” in Proc. IEEE INFOCOM, Apr. 2008, pp. 2432–2440. [3] M. Naijoh, S. Sampei, N. Morinaga, and Y. Kamio, “ARQ schemes with adaptive modulation/TDMA/TDD systems for wireless multi-media communication services,” in Proc. 8th IEEE Int. Symp. PIMRC, Sep. 1997, pp. 709–713. [4] D. J. Costello, J. Hagenauer, H. Imai, and S. B. Wicker, “Application of error-control coding,” IEEE Trans. Inf. Theory, vol. 44, no. 6, pp. 2531– 2560, Oct. 1998. [5] J. -F. Cheng, “Coding performance of hybrid ARQ schemes,” IEEE Trans. Commun., vol. 54, no. 6, pp. 1017–1029, Jun. 2006. [6] R. Ahlswede, N. Cai, R. Li, and W. Yeung, “Network information flow,” IEEE Trans. Inf. Theory, vol. 46, no. 2, pp. 1204–1216, Jul. 2000. [7] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, “XORs in the air: Practical wireless network coding,” in Proc. ACM SIGCOMM, Jul. 2006, pp. 243–254. [8] A. Argyriou, “Wireless network coding with improved opportunistic listening,” IEEE Trans. Wireless Commun., vol. 8, no. 4, pp. 2014–2023, Apr. 2009. [9] P. Chaporkar and A. Proutiere, “Adaptive network coding and scheduling for maximizing throughput in wireless networks,” in Proc. MobiCom, Montreal, QC, Canada, Sep. 2007, pp. 135–146. [10] T. Cui, L. Chen, and T. Ho, “Energy efficient opportunistic network coding for wireless networks,” in Proc. INFOCOM, Phoenix, AZ, USA, Apr. 2008, pp. 361–365. [11] S. Sengupta, S. Rayanchu, and S. Banerjee, “Network coding-aware routing in wireless networks,” IEEE/ACM Trans. Netw., vol. 18, no. 4, pp. 1158–1170, Aug. 2010. [12] J. Le, J. Lui, and D. M. Chiu, “DCAR: Distributed coding-aware routing in wireless networks,” IEEE Trans. Mobile Comput., vol. 9, no. 4, pp. 596– 608, Apr. 2010. [13] P. Larsson and N. Johansson, “Multi-user ARQ,” in Proc. IEEE VTC, 2006, pp. 2052–2057. [14] E. Rozner, A. P. Iyer, Y. Mehta, L. Qiu, and M. Jafry, “ER: Efficient retransmission scheme for wireless LANs,” in Proc. ACM CoNEXT, Dec. 2007, pp. 1–12. [15] T. Tran, T. Nguyen, B. Bose, and V. Gopal, “A hybrid network coding technique for single-hop wireless networks,” IEEE J. Sel. Areas Commun., vol. 27, no. 5, pp. 685–698, Jun. 2009. [16] Z. Zhou and L. Zhou, “Encoded packet-assisted reliable transmission for unicast sessions in wireless networks,” in Proc. IEEE ICC, Ottawa, ON, Canada, Jun. 2012, pp. 2490–2495. [17] H. Hiramuki, H. Okada, and K. Mase, “Performance comparison of ARQ schemes for network coding in ad hoc networks,” in Proc. IEEE PIMRC, Cannes, France, Sep. 2008, pp. 1–5.

3422

IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 62, NO. 7, SEPTEMBER 2013

[18] F. Xue and X. Yang, “Network coding and packet-erasure broadcast channel,” in Proc. 5th IEEE SECON, San Francisco, CA, USA, Jun. 2008, pp. 1–4. [19] L. Georgiadis and L. Tassiulas, “Broadcast erasure channel with feedbackcapacity and algorithms,” in Proc. 5th Workshop Netw. Coding Theory Appl., Jun. 2009, pp. 54–61. [20] W. Kuo and C. Wang, “On the capacity of 2-user 1-hop relay erasure networks––The union of feedback, scheduling, opportunistic routing, and network coding,” in Proc. IEEE ISIT, Saint Petersburg, Russia, Aug. 2011, pp. 1337–1341. [21] C. Wang, “On the capacity of wireless 1-hop intersession network coding––A broadcast packet erasure channel approach,” IEEE Trans. Inf. Theory, vol. 58, no. 2, pp. 957–988, Feb. 2012. [22] K. Lu, S. Fu, and Y. Qian, “Increasing the throughput of wireless LANs via cooperative retransmission,” in Proc. IEEE GLOBECOM, Washington, DC, USA, Nov. 2007, pp. 5231–5235. [23] Y. Yan, Z. Zhao, B. Zhang, H. Mouftah, and J. Ma, “Mechanism for coding-aware opportunistic retransmission in wireless networks,” in Proc. IEEE GLOBECOM, Honolulu, HI, USA, Nov. 2009, pp. 1–6. [24] F. Kuo, K. Tan, X. Li, J. Zhang, and X. Fu, “XOR rescue: Exploiting network coding in lossy wireless networks,” in Proc. IEEE SECON, Rome, Italy, Jun. 2009, pp. 1–9. [25] H. Seferoglu, A. Markopoulou, and K. Ramakrishnan, “I2NC: Intra- and inter-session network coding for unicast flows in wireless networks,” in Proc. IEEE INFOCOM, Shanghai, China, Apr. 2011, pp. 1035–1043. [26] R. Thobaben, “Joint network/channel coding for multi-user hybrid-ARQ,” in Proc. SCC, Erlangen, Germany, Jan. 2008, pp. 1–6. [27] P. Larsson, B. Smida, T. Akino, and V. Tarokh, “Analysis of network coded HARQ for multiple unicast flows,” in Proc. IEEE ICC, Cape Town, South Africa, May 2010, pp. 1–6. [28] J. Manssour, A. Osseiran, and S. Slimane, “A unicast retransmission scheme based on network coding,” IEEE Trans. Veh. Technol., vol. 61, no. 2, pp. 871–876, Feb. 2012. [29] H. Seferoglu and A. Markopoulou, “Video-aware opportunistic network coding over wireless networks,” IEEE J. Sel. Areas Commun., vol. 27, no. 5, pp. 713–728, Jun. 2009. [30] Y. Tanigawa, J. -O. Kim, and H. Tode, “Delay-sensitive retransmission method based on network coding in IEEE 802.11 wireless LANs,” in Proc. IEEE GLOBECOM, Miami, FL, USA, Dec. 2010, pp. 1–6 [31] X. Li, C. Wang, and X. Lin, “Optimal immediately-decodable intersession network coding (IDNC) schemes for two unicast sessions with hard deadline constraints,” in Proc. 49th Annu. Allerton Conf., Monticello, IL, USA, Sep. 2011, pp. 784–791.

[32] D. Nguyen, T. Nguyen, and X. Yang, “Joint network coding and scheduling for media streaming over multiuser wireless networks,” IEEE Trans. Veh. Technol., vol. 60, no. 3, pp. 1086–1098, Mar. 2011. [33] T. Ho, M. Medard, J. Shi, M. Effros, and D. Karger, “On randomized network coding,” in Proc. Allerton Conf., 2003, pp. 1–10. [34] E. Drinea, C. Fragouli, and L. Keller, “Delay with network coding and feedback,” in Proc. ISIT, Seoul, Korea, Jun. 2009, pp. 844–848. [35] X. Li, C. -C. Wang, and X. Lin, “Throughput and delay analysis on uncoded and coded wireless broadcast with hard deadline constraints,” in Proc. INFOCOM, San Diego, CA, USA, Mar. 2010, pp. 1–5. [36] X. Li and C.-C. Wang, “On the capacity of immediately-decodable coding schemes for wireless stored-video broadcast with hard deadline constraints,” IEEE J. Sel. Areas Commun., vol. 29, no. 5, pp. 1094–1105, May 2011.

Zhiheng Zhou received the B.E. and M.E. degrees from the University of Electronic Science and Technology of China (UESTC), Chengdu, China, in 2007 and 2009, respectively. He is currently working toward the Ph.D. degree from UESTC. His major research interests include network coding theory, coding theory, and reliability study and failure analysis.

Liang Zhou received the B.E. and M.E. degrees from the University of Electronics Science and Technology of China (UESTC), Chengdu, China, in 1982 and 1984, respectively. In 2005, he was a Visiting Scholar with the University of California at Davis, CA, USA, and has engaged in research in error control coding and applications. He is currently a Professor with the National Key Laboratory of Science and Technology on Communications, UESTC. His current research interests include error control coding and network coding, secure communication, and cryptography.