Network Coding-Based Retransmission for Relay Aided Multisource Multicast Networks

This paper considers the reliable transmission for wireless multicast networks where multiple sources want to distribute information to a set of destinations with assistance of a relay. Basically, the reliability of a communication link is assured via automatic repeat request (ARQ) protocols. In the context of multisource multicast networks, the challenge is how to retransmit the lost or erroneous packets efficiently. In traditional approaches, the retransmission of lost packets from a single source is treated separately, and thus it may cause a considerable delay. To solve this problem, we propose the relay detects, combines, and forwards the packets which are lost at destinations using network coding. In the proposed ARQ protocol, the relay detects packets from different sources and combines the lost packets using NC. In particular, two packet-combination algorithms are developed to guarantee that all lost packets are retransmitted with the smallest number of retransmissions. Furthermore, we analyze the transmission bandwidth and provide the numerical results to demonstrate the superior performance of the proposed ARQ protocol over some existing schemes.


Introduction
Recently, relay communication has been extensively investigated as a promising technique to extend the coverage of wireless networks by exploiting the spatial diversity gains [1][2][3]. Generally, the use of relays does not immediately increase the network throughput since packets traverse along the relays via store-and-forward manner. For some particular network topologies such as two-way relay channels, relayassisted broadcast channels, and multicast channels, the network throughput can be dramatically improved by applying network coding (NC) at the relays [4][5][6][7][8][9]. The basic idea of NC is that the relays are allowed to perform algebraic linear operations on the received packets from multiple sources and forward the combined packet in the subsequent transmission.
In this paper, we consider the reliable transmission over multisource-multicast networks [10] with assistance of a relay, where multiple sources want to transmit their messages to a set of intended destinations. This network model is widely applicable in various scenarios, in particular wireless ad hoc networks, where a set of sources needs to transmit data to a set of destinations through relays. One way to deliver information reliably over error-prone channels is to employ automatic repeat request (ARQ) protocols [11], in which, if a packet cannot be decoded, it is discarded and retransmitted. Applying the traditional ARQ techniques to multicast or broadcast networks may cause considerable delay for two reasons: (i) the lost packets of different destinations are retransmitted individually and (ii) the retransmission will be repeated until all destinations receive all packets correctly. To reduce the number of retransmissions, ARQ schemes based on NC have been proposed in [12,13]. The relay may XOR the disjointedly erroneous packets of different destinations and retransmit them to all the involving destinations.
The existing NC-based ARQ strategies for reliable wireless multicast networks are devised for the deployment 2 EURASIP Journal on Wireless Communications and Networking scenario where a source distributes information to multiple intended destinations, as in [5,14]. The problem of designing a retransmission mechanism for multisource-multicast networks that can achieve a high network throughput efficiency has received less interest. The NC-based ARQ strategies for multicast networks proposed in [12] can be reused for multisource-multicast network by viewing a multisourcemulticast network as a superposition of several multicast networks. More specifically, the lost packets in the same information flow can be XORed using the NC-based ARQ strategies for multicast networks. Here, The information flow is defined as the data transmission from a source to multiple destinations. However, this traditional NC-based ARQ may result in a poor throughput efficiency since the information flows from distinct sources are treated independently.
In this paper, we propose a new NC-based ARQ protocol for multisource-multicast networks, in which the relay detects, combines, and sends the lost packets from different sources to the destinations. To achieve the best performance, multiuser detection (MUD) techniques, such as optimum detector, linear decorrelating detector, decision-feedback detector, and successive interference cancellation. [15][16][17][18][19] are employed at the relay and destinations.
Thus, many lost packets from different sources can be combined and retransmitted. We need to develop an ARQ protocol to retransmit these lost packets in a systematic and efficient way. First, we classify lost packets into two types: Type-I includes the packets that are lost at the destinations but successfully received at the relay, and Type-II packets are lost at both destinations and the relay. Obviously, the sources must handle the retransmission of Type-II packets. The retransmission algorithm based on NC for sources can be easily designed since these packets are in the same flow, and thus it becomes the classical application of NC. The problem is how the relay efficiently retransmits Type-I packets that can come from different sources.
Dealing with that problem, we propose an algorithm at the relay to retransmit Type-I packets and an algorithm at the source to retransmit Type-II packets. Particularly, the algorithm for the retransmission at the relay is proposed based on an integration of NC and packet detection from two different sources. Unlike the traditional NC-based ARQ, the proposed method can combine the packets from different flows and thus can improve the network throughput for multisourcemulticast networks. As we show later in an example ( Figure 2), with our proposed ARQ protocol, the number of retransmissions is significantly reduced, comparing with other ARQ-based protocols. As a second contribution of the paper, we compare our proposed method with other ARQ-based protocols for multisource-multicast networks by evaluating the transmission bandwidth with theoretical analysis and numerical results. In fact, three protocols are taken into account: direct transmission (DT), relaying transmission (RT), and the traditional NC-based ARQ. DT protocol denotes the case when multiple sources simultaneously transmit information to destination without relaying technique. RT protocol represents the model where relay participates in the transmission but NC is not performed at the relay (e.g., decode-and-forward relaying technique [2]).
The rest of this paper is organized as follows. In Section 2, we describe the system model of a multisource-multicast network. Different retransmission protocols are also presented in this section, and their transmission bandwidths are derived in Section 3. We provide the numerical results in Section 4 and Section 5 concludes this paper.

System Model and Transmission Protocols
The system model under investigation is shown in Figure 1. The data delivery from two sources S 1 and S 2 to two destinations D 1 and D 2 is assisted by a relay R. This is a specific case of multisource-multicast networks where the numbers of sources and destinations are 2 and 2, respectively. The generalization to cope with more than two sources and two destinations is straightforward.
In this paper, we assume that the sources send data in the form of packets (i.e., packet-based transmission) and each packet must be received correctly by all destinations after several transmissions and retransmissions. The packet loss of transmission from S i to R, from S i to D j , and from R to D j follows Bernoulli trial with parameters p sir , p sidj , and p rdj , respectively. We also assume that the sources and the relay are equipped with sufficient signal processing modules to be able to perform NC, that is, algebraic operation such as bitwise XOR operation.
Receiving the information data from multiple sources along with the feedback from the destinations, the relay knows what destinations are waiting for the lost packets to be retransmitted and then decides how to combine and forward the data to the intended destinations. In the following, we introduce some protocols that allow the relay to resend the lost packets to the destinations. The two fundamental DT and RT protocols are presented first, and our proposed protocol is followed.

DT Protocol.
In this protocol, the sources send data directly to two destinations. The transmission is carried out with the traditional ARQ scheme and completed if two destinations receive correctly the data from two sources.

RT Protocol.
This protocol is different from DT protocol in that the relay participates in the transmission. When one or two destinations do not receive the packet correctly, whereas the relay receives this packet successfully, the relay can help the source to forward the correctly received packet to the erroneously received destinations in the next time slot. The retransmission at the relay will be continued until its transmitted packet is correctly received by the intended destinations. In case that one or two destinations and the relay fail to receive the same packet from the sources, it is obvious that the sources need to resend that lost packet.

Proposed Protocol.
Instead of resending the lost packet as soon as the destinations fail to receive it, the retransmission in the proposed ARQ protocol will happen after N packets.
The buffer of length N is required at two sources, whereas the buffer of length 2N is required at the relay and two destinations since they receive packets from two different sources. To improve the network throughput, the relay retransmits the packets of Type-I, and the sources deal with the retransmission of Type-II packets. What is particular in the proposed ARQ strategy is that the relay can mix the packets from different data flows.
Let us describe the proposed protocol by examining an example shown in Figure 2, where S i wishes to deliver 10 packets s i [1], s i [2], . . . , s i [10] to D 1 and D 2 .
The packets with a crossover sign represent the lost or erroneous packets. Without loss of generality, we assume that, for the data flow from S 1 , the erroneous packets received at R, D 1 [7]}, respectively.
As shown in Figure 2, R needs to retransmit 11 packets if applying RT protocol. The number of retransmissions can be significantly reduced with the traditional NC-based ARQ scheme where R would transmit  [5], s 2 [6]} in the retransmission phase. The details of this combination algorithm are presented in Algorithm 1. That means, the proposed ARQ requires 6 retransmissions and thus can save 2 further retransmissions comparing with the traditional NC-based ARQ scheme. R retransmits these packets until they are successfully received by both D 1 and D 2 .
We can see that s 1 [4], s 1 [9], s 2 [3], and s 2 [5] are lost at R and also lost at D 1 and/or D 2 . These packets are classified as Type-II packets. Obviously, the relay has no way to resend such packets, and thus the sources must resend these packets. In the example, S 1 and S 2 retransmit the combined packets {s 1 [4] ⊕ s 1 [9]} and {s 2 [3] ⊕ s 2 [5]}, respectively. The destinations are able to recover the corrupted packets by XORing their correctly received packets with the XORed packets received from the relay or sources.
The generalization of the above example for the arbitrary buffer size is summarized in Figure 3. In this protocol, the combination algorithms at the relay and sources are presented in Algorithms 1 and 2, respectively.

Transmission Bandwidth Analysis
In this section, we study the transmission bandwidth of different transmission protocols in multisource-multicast networks consisting of two sources, one relay, and two destinations. The transmission bandwidth is defined as the average number of transmissions that is required to successfully transmit two packets from two sources to two destinations.

DT Protocol.
This protocol is the simplest in which two sources directly send packets to two destinations without relay and network coding. The transmission bandwidth is given by where n (si) DT , i = 1, 2, denotes the average number of transmissions required for S i to send data to both D 1 and D 2 and is calculated as [13] n (si)

RT Protocol.
In this protocol, the relay helps two sources in sending data to two destinations, but no NC is applied at the relay. The transmission bandwidth required to successfully transmit two packets from S 1 and S 2 to D i , i = 1, 2, is given by where n (si,dj ) RT denotes the average number of transmissions to send a packet from S i to D j with the help of R and is found as [12] n (si,dj ) RT Finally, the transmission bandwidth of this protocol is RT .
3.3. Traditional NC-Based ARQ Protocol. The relay in this protocol combines the lost packets in the same flow based on NC in the retransmission phase. The transmission bandwidth is given by where n (si) NCA , i = 1, 2, denotes the average number of transmissions to transmit from S i to both D 1 and D 2 with the help of R in the traditional NC-based ARQ (NCA) protocol. Note that the data delivery from S i to D 1 and D 2 through R resembles the system model in [12]. However, the analysis of transmission bandwidth presented in [12] is difficult to follow. Here, we introduce a simple way to calculate the transmission bandwidth.
In this protocol, there are three steps to transmit data from S i to D 1 and D 2 through R.
Step 1. S i transmits N packets.
Step 3. S i retransmits Type-II packets. Define Ω = Ë 1 ∪ Ë 2 and divide Ω into 3 groups: (i) Group Ω 1 includes packets that R receives successfully from both S 1 and S 2 , that is,  [10], s 2 [10]) belongs to Ω 1 , (ii) Group Ω 2 includes packets that R receives successfully from S 1 but fails to receive from S 2 , that is, . . , j n }}. In Figure 2, Ω 2 includes s 1 [3] and s 1 [5]. (iii) Group Ω 3 includes packets that R receives successfully from S 2 but fails to receive from S 1 : . . , i m }}. In Figure 2, Ω 3 includes s 2 [4] and s 2 [9]. (2) For packets in Ω 1 , if one packet is correctly received at D 1 , lost at D 2 , while another packet is correctly received at D 2 , lost at D 1 , we can combine these two packets.  [5] in the above example) (4) For the remaining lost packets at D 1 and D 2 that R receives successfully but cannot perform the combination, they are normally resent without using NC (e.g., s 1 [6] in the above example) Algorithm 1: Algorithm at relay to retransmit Type-I packets.
(1) Through the feedback from D 1 , D 2 , and R, S i determines the number and the position of remaining lost packets at destinations that R also fails in receiving them. (2) Combine the packets for retransmission by NC with the condition that only one packet in the combined packet should be correctly received by only one destination, similar to the combination performed for packets in Ω 2 and Ω 3 explained in Algorithm 1. In the preceding example, S 1 resends s 1 [4] ⊕ s 1 [9] and S 2 resends s 2 [3] ⊕ s 2 [5]. (3) For the remaining lost packets at D 1 and D 2 that S i cannot perform the combination, they are resent without using NC.
Algorithm 2: Algorithm at source to retransmit Type-II packets.
The average number of transmissions to send from S i to both D 1 and D 2 is calculated by where the number of transmissions in Step 1 is simply given by n (si,1) The number of transmissions in Step 2 and in Step 3 is calculated by respectively, where E[·] denotes the expectation, C N k is the total number of subsets consisting of k elements in a set of N elements, and K is a random variable representing the number of packets that R successfully receives in the first step.
Given that K = k packets are successfully received at R in the first step, the number of transmissions at R using traditional NCA protocol in the second step can be computed by where i s ∈ {1, 2}, n  (11) is derived based on the fact that there are min{i, j} packets that the relay can combine with NC, and thus the number of transmissions is given by min{i, j} n (r) DT . Then, the relay transmits the remaining |i − j| packets to the corresponding destination depending on the relation of i and j, that is, if i > j, then R transmits (i − j) packets to D 1 , otherwise R transmits ( j − i) packets to D 2 . With these packets, the number of transmissions is given by |i − j|n rda . Thus, n rda and n (r) DT are, respectively, given by In the third step where R fails to receive (N − k) packets in the first step, S i is required to retransmit with the number of transmissions E n (si s ,3) where i s ∈ {1, 2}, a = 1 if i > j, and a = 2 otherwise. n RT and n rda are given by (5) and (12), respectively.

Proposed Protocol.
The relay in the proposed protocol combines the lost packets of different flows. Since the total of 2N packets is transmitted from S 1 and S 2 , the transmission bandwidth is expressed as where n (i) denotes the number of transmissions in the ith step of the proposed protocol including the following steps.
Step 1. Each of S 1 and S 2 transmits N packets.
Step 3. S 1 and/or S 2 retransmit Type-II packets.
In Step 1, both S 1 and S 2 send N packets to R, D 1 , and D 2 , and thus The number of transmissions in Step 2 and Step 3 are given by respectively, where K, L, M are random variables representing the number of packets that R successfully receives from Ω 1 , Ω 2 , and Ω 3 , respectively. Given that K = k packets are successfully received at R in the first group, the number of transmissions at R based on the proposed algorithm (i.e., Algorithm 1) for the packets in Ω 1 in the second step can be computed by E n (2) where n (r) DT is given by (13), n rda is given by (12) with a = 1 if i + j > u + v, and a = 2 otherwise.
For the packets in Ω 2 and Ω 3 in Step 2, the number of transmissions is calculated by respectively, where a = 1 if i > j, and a = 2 otherwise. In Step 3 where the relay fails to receive packets of the first group in the first step, the sources are required to retransmit these remaining lost packets with the number of transmissions where a = 1 if i + j > u + v, and a = 2 otherwise. n RT and n (da) RT are given by (5) and (3), respectively. For the second group and the third group in Step 3, the number of transmissions is computed by respectively, where n (si,da) RT , i = 1, 2, is given by (4); a = 1 if i > j, and a = 2 otherwise. In the above (23) where n (r) DT is given by (13).

Numerical Results
In this section, we compare the transmission bandwidth of different protocols considered in our work by analytically evaluating the expressions in Section 3. In fact, the simulation and analytical results drawn in Figure 4 demonstrate a strong agreement. Consequently, it is sufficient to show the analytical results in Figures 5-7. Figure 4 plots the transmission bandwidth of various ARQ protocols versus p s1r , the packet error rate (PER) of the wireless link from S 1 to R. Both numerical and analytical results are included. The range of p s1r is from 0.04 to 0.2 to characterize a wide range of wireless applications. To study the effect of the channels from the sources to the relay on the overall performance, we assume that p s1r = p s2r . The value of other PERs is arbitrarily set at p s1d1 = p s2d2 = 0.2, p s1d2 = p s2d1 = 0.3, and p rd1 = p rd2 = 0.1. We can see that the proposed protocol outperforms other existing schemes since it can combine the lost packets from different flows in the retransmission phase. In particular, when p s1r is small (e.g., p s1r = 0.04), the proposed scheme shows a remarkable gain over the traditional ARQ method. In fact, if p s1r is small, we have more Type-I packets in Ω 1 than in Ω 2 and Ω 3 . For packets in Ω 1 , our proposed scheme can save the number of retransmissions by mixing the packets from different flows. When p s1r is high (i.e., the channel from sources to relay is in bad condition), the relay mostly obtains the lost packets of Type-II. Consequently, the sources should retransmit these packets. In other words, there is little benefit in applying NC at the relay in this scenario. As a result, the performance of our proposed protocol converges to that of the traditional approach. Additionally, it can be seen that the analytical results are quite matched with the simulation results, and thus, in the following, we only show the analytical results. Figure 5 compares the transmission bandwidth of our proposed protocol with that of the traditional NC-based ARQ protocol for different values of PER of the channels from sources to destinations. The simulation setting is similar to that in Figure 4. For a given value of p sidj , our proposed approach always shows better performance than the traditional NC-based ARQ protocol. What is particular in Figure 5 is that the transmission bandwidth of our proposed protocol converges to a certain value at low p s1r regardless of p s1d1 and p s1d2 . That means, when p s1r is small, the reliability of the channels from sources to destinations has little impact on the transmission bandwidth of the proposed protocol. In fact, a small value of p s1r denotes the case where R certainly detected the packets from S 1 and S 2 successfully. As a result, the lost packets at the destinations belong to Type-I. Thus, the relay handles the retransmission of these packets, and the impact of the direct channels from sources to destinations is negligible.  In Figures 6 and 7, we show the transmission bandwidth of various ARQ protocols with respect to p s1d1 . The PERs of the channels from the sources to the relay and from the relay to the destinations are fixed. The values of p s1d2 and p s2d1 are adjusted accordingly to p s1d1 by the relation p s1d2 = p s2d1 = p s1d1 + 0.1. It is observed that the transmission bandwidth curve of the proposed protocol has the smallest slope. Thus, we conclude that the performance of our developed ARQ scheme is not sensitive to the quality of the channels from the sources to the destinations. The channels S i → R and R → D i are more important than the channels S i → D j .

Conclusion
In this paper, we propose a new reliable transmission scheme for wireless multisource-multicast networks based on NC. For a specific case of multisource-multicast networks with two sources and two destinations, we present two packet-combination algorithms to retransmit the lost packets efficiently. The transmission bandwidth of various ARQ protocols is analyzed. Furthermore, we provide numerical results with different simulation settings to demonstrate the effectiveness of our proposed scheme in saving the transmission bandwidth. For future works, one could possibly investigate the performance of fading channels with path loss and placement of the nodes.