 Research
 Open access
 Published:
Performance characterization and transmission schemes for instantly decodable network coding in wireless broadcast
EURASIP Journal on Advances in Signal Processing volume 2015, Article number: 94 (2015)
Abstract
We consider broadcasting a block of packets to multiple wireless receivers under random packet erasures using instantly decodable network coding (IDNC). The sender first broadcasts each packet uncoded once, then generates coded packets according to receivers’ feedback about their missing packets. We focus on strict IDNC (SIDNC), where each coded packet includes at most one missing packet of every receiver. But, we will also study its relation with generalized IDNC (GIDNC), where this condition is relaxed. We characterize two fundamental performance limits of SIDNC: (1) the number of transmissions to complete the broadcast, which measures throughput and (2) average packet decoding delay, which measures how fast each packet is decoded at each receiver on average. We derive a closedform expression for the expected minimum number of transmissions in terms of the number of packets and receivers and the erasure probability. We prove that it is NPhard to minimize the average packet decoding delay of SIDNC. We also prove that the graph models of S and GIDNC share the same chromatic number. Next, we design efficient SIDNC transmission schemes and coding algorithms with full/intermittent receiver feedback. We present simulation results to corroborate the developed theory and compare our schemes with existing ones.
1 Introduction
The broadcast nature of wireless medium allows one sender to simultaneously serve multiple receivers who are interested in the same data. We consider a blockbased wireless broadcast system where a sender wishes to deliver a block of data packets to a set of receivers. The channels between the sender and the receivers are subject to independent random packet erasures. In such systems, a traditional approach is to retransmit the data packets under a receiver feedback mechanism, such as AutomaticRepeatreQuest (ARQ) [1]. This approach, though simple, is inefficient in terms of throughput, as the transmitted packets are noninnovative to the receivers who have already received them.
The advent of network coding (NC) [2] starts a new era for highthroughput network coded wireless communications [3–17]. By linearly adding all data packets together with randomly chosen coefficients from a sufficiently large finite field, random linear network coding (RLNC) can almost surely achieve the minimum block completion time [9–11, 18], which is defined as the number of transmissions it takes to complete the broadcast. Due to the inverse relation between block completion time and throughput under a fixed block size, RLNC can almost surely achieve optimal throughput.
However, with RLNC, data packets are blockdecoded by solving a set of linear equations, which can only take place after a sufficient number of coded packets have been received. RLNC thus may suffer from high decoding computational load [11], as well as large average packet decoding delay (APDD) [16], which reflects how fast each data packet is decoded at each receiver on average. High decoding computational load may not be affordable by receivers with limited computational and energy resources, such as mobile and sensor receivers [11]. Large APDD is undesirable in applications where individual data packets are useful, such as image transmissions and video streaming [19–21].
To alleviate decoding computational load and APDD, the sender can transmit all the data packets uncoded once at the beginning of the broadcast. This method allows the receivers to directly obtain a subset of data packets. It is also throughput optimal and constitutes the systematic transmission phase of RLNC [11]. But in the subsequent coded transmission phase, RLNC still requires block decoding and suffers from high decoding computational load and APDD.
To further mitigate these issues in the coded transmission phase, instantly decodable network coding (IDNC) techniques [3, 12–15] have been introduced. They make online coding decisions based on receivers’ feedback about their packet reception state, under the restriction that coding/decoding is over the binary field. In other words, IDNC techniques shift the computational load to the sender, and allow receivers to perform simple binary XOR based instant packet decodings, as the sender (such as a base station) usually has much more computational and energy resources than the receivers.
For a handy example of IDNC techniques, consider the packet reception state in Table 1. There are 4 data packets, p _{1,2,3,4}, and 2 receivers, R _{1,2}. R _{1} has received p _{3,4} and only wants p _{1,2}, while R _{2} has received p _{1,2} and only wants p _{3,4}. Consider two IDNC coded packets X _{1}=p _{1}⊕p _{3} and X _{2}=p _{2}⊕p _{4}, where ⊕ denotes the binary XOR operator. By transmitting X _{1} and X _{2} and assuming no packet erasures, both receivers can instantly decode one wanted data packet after each transmission. Hence, there are two data packets decoded in the first transmission and two data packets decoded in the second transmission. The corresponding APDD is \(\frac {1+1+2+2}{4}=1.5\). In contrast, if RLNC is applied, all data packets are decoded after the second transmission, yielding an APDD of 2.
We also note from the above example that an IDNC coded packet of X=p _{1}⊕p _{2}⊕p _{3} is not instantly decodable to R _{1}. Restrictions on such packets separate IDNC techniques into two variations. The first one, called strict IDNC (SIDNC) [13–15], prohibits the transmissions of noninstantly decodable packets to any receiver. Effectively, each coded packet can include at most one wanted data packet of every receiver. The second one, called generalized IDNC (GIDNC), removes this restriction for more coding opportunities.
Therefore, SIDNC can be thought of as a subclass of GIDNC, in the sense that every valid SIDNC coded packet is also a valid GIDNC coded packet. Although GIDNC has been extensively studied under various wireless broadcast settings, including basic ones [12, 12, 22–28] and those with limited/lossy feedback [29, 30] or with hard deadline [31], most developed algorithms are heuristics, leaving the optimal GIDNC in terms of throughput and APDD still unknown or intractable due to prohibitively large computational complexity. Hence in this paper, we take a step back, aiming to understand the performance limits and optimal implementations of a subclass of GIDNC, namely, SIDNC. This will facilitate the applications of SIDNC, while also providing new insights into the more general GIDNC class.
So far, studies on theoretical performance characterization and implementations of SIDNC have been quite limited in both breath and depth. SIDNC was graphically modeled in [13], which then proved that the minimum clique partition solution [13] of the associated graph can be an SIDNC solution that minimizes the block completion time. However, this solution does not take into account the issues of decoding delay and the robustness of coded transmissions to erasures. SIDNC has shown to be asymptotically throughput optimal when there are up to three receivers or when the number of data packets approaches infinity [20], but the general relation between the throughput of SIDNC and system parameters has not been characterized before. In addition and to the best of our knowledge, the minimum packet decoding delay of SIDNC is still unknown. Moreover, there have not been SIDNC transmission schemes that can work with intermittent receiver feedback. Another unaddressed problem is a systematic performance comparison between SIDNC and GIDNC.
In this paper, we study the above problems and provide the following contributions:

1.
We characterize the throughput performance limits of SIDNC. Specifically, we derive a closedform expression for the expected minimum block completion time in terms of the number of packets and receivers and their erasure probabilities.

2.
We prove that it is NPhard to minimize the APDD of SIDNC. We derive an upper bound on the minimum packet decoding delay in terms of the minimum block completion time.

3.
We introduce the concept of packet multiplicity, which measures the robustness of data packets against packet erasures. We develop optimal and heuristic algorithms that find SIDNC solutions with the minimum number of coded packets and with high packet multiplicities. These solutions are better than the minimum clique partition solution identified in [13]. We also design SIDNC transmission schemes under full and intermittent receiver feedback.

4.
We also provide new results on the relation between SIDNC and GIDNC. For example, we prove the equivalence between the chromatic number of S and GIDNC graphs.
2 System model and notations
2.1 Transmission setup
We consider a blockbased wireless broadcast scenario, in which the sender needs to deliver a block of K data packets, denoted by \(\mathcal {P}_{K}=\{\mathbf {p}_{k}\}_{k=1}^{K}\), to N receivers, denoted by \(\mathcal {R}_{N}=\{R_{n}\}_{n=1}^{N}\) through wireless channels that are subject to independent random packet erasures.
Initially, the K data packets are transmitted uncoded once using K time slots, constituting a systematic transmission phase [11]. Then, each receiver provides feedback to the sender about the packets it has received.^{1} The complete packet reception state is represented by an N×K state feedback matrix (SFM) A, where a _{ n,k }=0 if R _{ n } has already received p _{ k }, and a _{ n,k }=1 if R _{ n } has missed (and thus still wants) p _{ k }. The set of data packets wanted by R _{ n } is called the Wants set of R _{ n } and is denoted by \(\mathcal {W}_{n}\). The set of receivers who want p _{ k } is called the Target set of p _{ k } and is denoted by \(\mathcal {T}_{k}\). The size of \(\mathcal {T}_{k}\) is denoted by T _{ k }. Packets with larger T _{ k } are more desired by receivers.
Example 1.
Consider the SFM in Fig. 1 a with K=6 data packets and N=5 receivers. The Wants set of R _{1} is \(\mathcal {W}_{1}=\{\mathbf {p}_{1},\mathbf {p}_{5},\mathbf {p}_{6}\}\). The Target set of p _{3} is \(\mathcal {T}_{3}=\{R_{3},R_{5}\}\) and thus T _{3}=2.
Then based on A, the sender starts the second phase, called the coded transmission phase, in which coded packets are transmitted until the broadcast is completed, i.e, until all receivers have recovered all the K data packets. A sketch of the twophase transmission scheme is plotted in Fig. 2.
2.2 Coded transmission phase: two types of IDNC
In the coded transmission phase, the sender generates IDNC coded packets under the binary field \(\mathbb {F}_{2}\). Explicitly, IDNC coded packets are of the form \(\boldsymbol {X} = \bigoplus _{\mathbf {p}_{k}\in \mathcal {M}} \mathbf {p}_{k}\), where \(\mathcal {M}\) is a selected subset of \(\mathcal {P}_{K}\), and is called an IDNC coding set. There are three possible types of decodability of X at each receiver:
Definition 1.1.
An IDNC coded packet X is instantly decodable for receiver R _{ n } if \(\mathcal {M}\) contains exactly one data packet from the Wants set \(\mathcal {W}_{n}\) of R _{ n }, i.e., if \(\mathcal {M}\cap \mathcal {W}_{n}=1\).
Definition 1.2.
An IDNC coded packet X is noninstantly decodable for receiver R _{ n } if \(\mathcal {M}\) contains two or more data packets from the Wants set \(\mathcal {W}_{n}\) of R _{ n }, i.e., if \(\mathcal {M}\cap \mathcal {W}_{n}>1\).
Definition 1.3.
An IDNC coded packet X is noninnovative for receiver R _{ n } if \(\mathcal {M}\) contains no data packets from the Wants set \(\mathcal {W}_{n}\) of R _{ n }, i.e., if \(\mathcal {M}\cap \mathcal {W}_{n}=0\). Otherwise, it is innovative.
Restrictions on the above three types of packet decodability separate IDNC into two variations. The first one is called strict IDNC (SIDNC), which is the main subject of our study. It prohibits the transmission of any noninstantly decodable coded packets to any receiver. This restriction implies that any two data packets wanted by the same receiver cannot be coded together. We thus have the concept of conflicting and nonconflicting data packets:
Definition 2.
Two data packets p _{ i } and p _{ j } conflict if at least one receiver wants both of them, i.e., if \(\exists n:\{\mathbf {p}_{i},\mathbf {p}_{j}\}\subseteq \mathcal {W}_{n}\). Otherwise they do no conflict.
An SIDNC coding set is thus a set of pairwise nonconflicting data packets. The conflicting state between all data packets can be represented by an undirected graph \(\mathcal {G}_{s}(\mathcal {V},\mathcal {E})\). Each vertex \(\boldsymbol {v}_{i}\in \mathcal {V}\) represents a data packet p _{ i }. Two vertices v _{ i } and v _{ j } are connected by an edge \(\boldsymbol {e}_{\textit {i,j}}\in \mathcal {E}\) if p _{ i } and p _{ j } do not conflict. Thus, every complete subgraph of \(\mathcal {G}_{s}\), a.k.a., a clique, represents an SIDNC coding set. In the rest of the paper, we will use the terms “coded packet”, “coding set”, and “clique” interchangeably, and denote the last two by \(\mathcal {M}\).
The main limitation of SIDNC is that a coded packet which is instantly decodable for a large subset of receivers may be prohibited because it is noninstantly decodable for a small subset of receivers. In the second type of IDNC, called generalized IDNC (GIDNC), the restriction on noninstantly decodable packets is removed for more coding opportunities.^{2}
GIDNC can also be graphically modeled [23]. The difference is that, in the GIDNC graph \(\mathcal {G}_{g}(\mathcal {V},\mathcal {E})\), a data packet p _{ k } wanted by different receivers are individually represented by different vertices v _{ n,k }, for all a _{ n,k }=1. Consequently, the number of vertices in \(\mathcal {G}_{g}\) is equal to the number of “1”s in A. Two vertices v _{ m,i } and v _{ n,j } are connected by an edge if: (1) i=j, or (2) if \(\mathbf {p}_{i}\notin \mathcal {W}_{n}\) and \(\mathbf {p}_{j}\notin \mathcal {W}_{m}\). In the first case, p _{ i }=p _{ j }, and thus by sending p _{ i } both R _{ m } and R _{ n } can decode. In the second case, by sending p _{ i }⊕p _{ j }, R _{ m } and R _{ n } can decode p _{ i } and p _{ j }, respectively, because they already have p _{ j } and p _{ i }, respectively. Similar to SIDNC, every clique of \(\mathcal {G}_{g}\) represents a GIDNC coding set.
We note that an SIDNC coded packet is always a GIDNC coded packet, but the reverse is not necessarily true. Below is an example of S and GIDNC coded packets.
Example 2.
Consider the SFM and its S and GIDNC graphs in Fig. 1. The GIDNC graph indicates that (v _{1,1},v _{5,3},v _{4,4}) is a clique. The corresponding GIDNC coding set is (p _{1},p _{3},p _{4}), and thus X _{ g }=p _{1}⊕p _{3}⊕p _{4} is a GIDNC coded packet. X _{ g } is instantly decodable for R _{1},R _{4},R _{5} because they only want one data packet from X _{ g }. X _{ g } is noninstantly decodable for R _{3} because R _{3} wants both p _{3} and p _{4}. X _{ g } is noninnovative for R _{2}.
Due to the existence of R _{3}, X _{ g } is not an SIDNC coded packet. Whereas the SIDNC graph indicates that (v _{1},v _{2},v _{3}) is a clique. The corresponding coding set is (p _{1},p _{2},p _{3}), and thus X _{ s }=p _{1}⊕p _{2}⊕p _{3} is an SIDNC coded packet, which can be verified to also correspond to clique (v _{1,1},v _{2,2},v _{3,3},v _{5,3}) in the GIDNC graph.
We then introduce the notion of IDNC solution. A set of IDNC coding sets is called an IDNC solution if, upon the reception of the coded packets of all these coding sets, every receiver can decode all its wanted data packets. An SIDNC solution is denoted by \(\mathcal {S}_{s}\). The set of all SIDNC solutions of a given SFM is denoted by \(\mathbb {S}_{s}\). Similarly, we can also define \(\mathcal {S}_{g}\) and \(\mathbb {S}_{g}\) for GIDNC.
For the SFM in Fig. 1, by partitioning the SIDNC graph into three disjoint cliques, we can obtain, among others, an SIDNC solution with three cliques/coding sets: \(\mathcal {S}_{s}=\{(\mathbf {p}_{1},\mathbf {p}_{4}),(\mathbf {p}_{2},\mathbf {p}_{5}),(\mathbf {p}_{3},\mathbf {p}_{6})\}\). We can also partition the SIDNC graph into four disjoint cliques and obtain \(\mathcal {S}_{s}=\{(\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{3}),\mathbf {p}_{4},\mathbf {p}_{5},\mathbf {p}_{6}\}\). Similarly, a disjoint clique partition of the GIDNC graph is {(v _{1,1},v _{2,2},v _{5,3},v _{4,4}), (v _{3,3},v _{1,6},v _{2,6},v _{4,6}), (v _{1,5},v _{3,5},v _{5,5}), (v _{3,4},v _{4,4})}, indicating a GIDNC solution of \(\mathcal {S}_{g} =\{(\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{4}),(\mathbf {p}_{3},\mathbf {p}_{6}),(\mathbf {p}_{5}),(\mathbf {p}_{4})\}\).
To assess the performance of IDNC solutions, we now introduce our measures of throughput and decoding delay.
2.3 Throughput and decoding delay measures
An SIDNC solution \(\mathcal {S}_{s}\) requires a minimum of \(\mathcal {S}_{s}\) coded transmissions. We call \(U_{\mathcal {S}_{s}}\triangleq \mathcal {S}_{s}\) the minimum block completion time of \(\mathcal {S}_{s}\). It measures the best throughput of \(\mathcal {S}_{s}\), because the total number of transmissions in the systematic and coded transmission phases is lower bounded by \(K+U_{\S _{s}}\), yielding a throughput of \(\frac {K}{K+U_{\S _{s}}}\) packet per transmission. We further denote by U _{ s } the absolute minimum block completion time over all the SIDNC solutions of A, i.e., \(U_{s}\triangleq \min \{U_{\S _{s}}:\S _{s}\in \mathbb {S}_{s}\}\). Similarly, we denote by U _{ g } the absolute minimum block completion time over all the GIDNC solutions of A.
Decoding delay reflects how fast each data packet is decoded by each receiver on average. In this paper, we measure decoding delay by average packet decoding delay (APDD) D, which is the average time it takes for a receiver to decode a data packet. For example, the APDD of all receivers is calculated as:
where u _{ n,k } is the time index when R _{ n } decodes p _{ k }, and \(T=\sum _{k=1}^{K}T_{k}\), which is also the number of “1”s in A.
Given an IDNC solution \(\mathcal {S}\), by letting u _{ n,k } be the first time index when \(\mathcal {S}\) allows R _{ n } to decode p _{ k }, (1) produces the minimum APDD of \(\mathcal {S}\). We further denote by D _{ s } (resp. D _{ g }) the absolute minimum APDD over all S (resp. G) IDNC solutions of A. We also note that in the specific case of an SIDNC solution \(\mathcal {S}_{s}\), u _{ n,k } is indeed the index of the first coding set in \(\mathcal {S}_{s}\) that contains p _{ k }, as every receiver who wants p _{ k } can decode it from this coding set.
Example 3.
Consider the SFM in Fig. 1 a. Suppose that an SIDNC solution with four coded packets X _{1}=p _{1}⊕p _{2}, X _{2}=p _{3}⊕p _{6}, X _{3}=p _{4}, and X _{4}=p _{5} are transmitted in this order. The receivers’ decoding time {u _{ n,k }} are summarized in Table 2. The minimum APDD of this solution is \(D_{\mathcal {S}_{s}}=(1\times 2+2\times 5+3\times 2+4\times 3)/12=2.5\).
In each time slot of the coded transmission phase, the sender selects and broadcasts a coding set through erasureprone wireless channels. We denote by U _{ T } the block completion time of the coded transmission phase, and by D _{ T } the APDD of this phase, calculated as in (1). U _{ T } and D _{ T } measure the throughput and decoding delay performance of this phase, respectively. They vary according to the IDNC solutions, transmission schemes, and erasure patterns. But it always holds that \(U_{T}\geqslant U_{s}\) and \(D_{T}\geqslant D_{s}\) if SIDNC is applied. Therefore, U _{ s } and D _{ s } reflect the performance limits of SIDNC. Hence, we will first study these limits in the next section, and then design SIDNC transmission schemes and coding algorithms in Sections 4 and 5, respectively.
3 Performance limits and properties of IDNC
In this section, we study performance limits and properties of SIDNC and compare it with GIDNC.
3.1 Absolute minimum block completion time U _{ s }
We first study the throughput limit of SIDNC, measured by the absolute minimum block completion time U _{ s }. It has been proved that U _{ s } is equal to the size of the minimum clique partition solution^{3} of \(\mathcal {G}_{s}\) [13], denoted by \(\mathcal {S}_{c}\). This equivalence holds because of the following property:
Property 1.
Removing any vertex from the SIDNC graph does not change the connectivity of the remaining vertices.
This property holds because vertices in \(\mathcal {G}_{s}\) represent different data packets. Thus, to remove all vertices from \(\mathcal {G}_{s}\) (i.e., to complete the broadcast), at least \(\mathcal {S}_{c}\) cliques must be removed, which yields \(U_{s}=\mathcal {S}_{c}\).
According to graph theory, \(\mathcal {S}_{c}\) is equal to the chromatic number^{4} \(\chi (\overline {\mathcal {G}}_{s}\)) of the complementary graph \(\overline {\mathcal {G}}_{s}\), which has the same vertex set as \(\mathcal {G}_{s}\), but has opposite vertex connectivity. We thus have \(U_{s}=\chi (\overline {\mathcal {G}}_{s})\). Bounds and approximations on the chromatic number of a given graph have been wellstudied in the graph theory literature [33–35]. They provide some insights into the U _{ s } of a given SFM. In this subsection, we are interested in the probabilistic characterization of U _{ s }, as \(\mathcal {G}_{s}\) is the consequence of random packet erasures in the systematic transmission phase. Specifically, we address the following question: what is the relation between U _{ s } and system parameters, including the number of data packets and receivers, as well as the packet erasure probability?
For wireless broadcast, a common assumption on random packet erasures is that they are independently and Bernoulli distributed at each receiver R _{ n } with an erasure probability of P _{ e,n }. Under this assumption, a similar question has already been introduced and answered for the RLNC technique. RLNC has been proved to be asymptotically throughputoptimal, for each RLNC coded packet is almost surely linearly independent of the previous RLNC coded packet(s) when the finite field is sufficiently large [11]. Hence, RLNC is able to offer the smallest block completion time among all NC techniques. It has also been shown in [6, 36, 37] that the block completion time of RLNC scales as \(\mathcal O(\ln (N))\) when K is a constant. Consequently, the throughput of RLNC vanishes with increasing number of receivers N. To prevent zero throughput, it has been proved in [38] that K should scale faster than ln(N).
Since the throughput of RLNC is already optimal, it cannot be exceeded by the throughput of SIDNC. Hence, we can infer that the throughput of SIDNC should also follow a vanishing behavior with increasing N. However, its rate and specific dependence on system parameters have not been fully characterized in the literature. In this subsection, we answer this question through the following theorem:
Theorem 1.
The mean of the absolute minimum block completion time U _{ s } is a function of the block size K, the number of receivers N, and packet erasure probability \(\{P_{\text {\textit {e,n}}}\}_{n=1}^{N}\):
where o(1) is a small term that approaches zero with increasing K.
Proof.
Our approach is to model the complementary SIDNC graph \(\overline {\mathcal {G}}_{s}\) after the systematic phase as a random graph with i.i.d. edge generating probability. Recall that two vertices in \(\overline {\mathcal {G}}_{s}\) are connected if the two data packets conflict, i.e., if at least one receiver has missed both packets. Therefore, the generating probability of every edge, denoted by P _{ c }, is calculated as:
Then, the key is to prove that different edges are generated independently. We first consider the independence between two adjacent edges. Without loss of generality let us consider the generation of e _{1,2} and e _{1,3}, two edges that are adjacent via v _{1}, and are incident to v _{2} and v _{3}, respectively. We denote by P(e _{1,2}) the probability that e _{1,2} is generated. It holds that P(e _{1,2})=P(e _{1,3})=P _{ c } in (3). We further denote by P(e _{1,2}v _{1}) the probability that e _{1,2} is generated conditioned on that v _{1} is generated. We then argue the following relations:

1.
P(e _{1,2},v _{1})=P(e _{1,2}), because the generating of e _{1,2} already indicates that v _{1} is generated. Similarly, we also have P(e _{1,3},v _{1})=P(e _{1,3});

2.
P(v _{1}e _{1,2},e _{1,3})=1 because of the same reason as above;

3.
P(e _{1},e _{2}v _{1})=P(e _{1}v _{1})·P(e _{2}v _{1}), because if v _{1} is already generated, the generating of e _{1} (resp. e _{2}) only depends on whether p _{2} (resp. p _{3}) is wanted by some of the receivers who want p _{1}. Since wanting p _{2} and p _{3} are independent events for every receiver, the generating of e _{1} and e _{2} is independent conditioned on that v _{1} is generated;

4.
P(v _{1})^{2}≈P(v _{1})≈1, and the accuracy increases quickly with increasing number of receivers N. This is because P(v _{1}) is the probability that at least one receiver has missed p _{1} in the systematic transmission phase. It has a value of \(1\prod _{n=1}^{N}(1P_{\text {\textit {e,n}}})\), which quickly approaches to 1 with increasing N.
Then, to prove that e _{1,2} and e _{1,3} are generated independently, we only need to show that P(e _{1,2},e _{1,3})=P(e _{1,2})·P(e _{1,3}):
where (4) follows Bayes’ rule. Hence, the generation of e _{1,2} and e _{1,3} are asymptotically independent of each other.
On the the other hand, it is intuitive that two disjoint edges in \(\overline {\mathcal {G}}_{s}\) are generated independently. Therefore, we can assume that all edges in \(\overline {\mathcal {G}}_{s}\) are generated independently.
Consequently, \(\overline {\mathcal {G}}_{s}\) can be modeled as an ErdõsRényi random graph [39], which has K vertices and i.i.d. edge generating probability of P _{ c }. Figure 3 compares the mean number of edges (with a value of K(K−1)/2·P _{ c }) of our proposed random graph model and the simulated average number of edges in \(\overline {\mathcal {G}}_{s}\). Our model shows virtually no deviation under all considered values of N and K.
From graph theory, given K and P _{ c }, almost every random graph \(\overline {\mathcal {G}}_{s}\) has a chromatic number of [40]:
Since \(U_{s}=\chi (\overline {\mathcal {G}}_{s})\), the above value is the mean of U _{ s }. By substituting (3) into (5) we obtain (2).
Theorem 1 has the following important corollary:
Corollary 1.
The mean E[ U _{ s }] of the absolute minimum block completion time of SIDNC increases almost linearly with the number of receivers when all receivers experience similar packet erasure probabilities.
Proof.
This corollary can be proved by letting \(\{P_{\text {\textit {e,n}}}\}_{n=1}^{N}=P_{e}\), which will transform (2) into a linear function of N:
Then, by noting that the mean block completion time of the coded transmission phase is lower bounded by E[ U _{ s }], we conclude that the throughput of SIDNC degrades with increasing number of receivers. Such degradation is common among network coding techniques that aim to reduce decoding delay [41]. In the next subsection, we will study the APDD of SIDNC.
3.2 Absolute minimum average packet decoding delay D _{ s }
Unlike U _{ s }, to the best of our knowledge, there is no existing hardness result on finding D _{ s }. In this subsection, we address it through the following theorem and then propose an upper bound on D _{ s }.
Theorem 2.
It is NPhard to find the absolute minimum APDD D _{ s } of SIDNC.
In order to prove it, we first reveal the perfect decoding scenario of each receiver. We first note that it is impossible for a receiver to decode more than u wanted data packets from the first u coded packets, for any u>0. Then for every receiver R _{ n }, its perfect decoding scenario is to decode one of its \(\mathcal {W}_{n}\) wanted data packet from each of the first \(\mathcal {W}_{n}\) coded packets. Intuitively, this scenario minimizes both the BCC and APDD experienced by R _{ n }. By extending the perfect decoding scenario to all receivers, we obtain the concept of perfect SIDNC solution:
Definition 3.
An SIDNC solution is perfect and is denoted by \(\mathcal {S}_{p}\) if every receiver R _{ n } can decode one of its \(\mathcal {W}_{n}\) wanted data packets from each of the first \(\mathcal {W}_{n}\) coding sets in \(\mathcal {S}_{p}\).
By its definition, \(\mathcal {S}_{p}\) offers the perfect packet decoding scenario for all receivers; every coded packet allows all receivers that are still missing data packets to decode one wanted data packet. Therefore, its APDD, denoted by \(D_{\mathcal {S}_{p}}\), is a lower bound of D _{ s }, and can only be achieved if \(\mathcal {S}_{p}\) exists. The value of \(D_{\mathcal {S}_{p}}\) is:
The hardness of deciding the existence of \(\mathcal {S}_{p}\) is as follows:
Theorem 3.
It is NPcomplete to decide the existence of \(\mathcal {S}_{p}\) for a given SFM.
It is proved through a reduction from a graph γcolorability (\(\gamma \geqslant 3\)) problem, which is wellknown to be NPcomplete [34]. The proof is given in Appendix 1. Then by noting that \(D_{\mathcal {S}_{p}}\) can only be achieved by \(\mathcal {S}_{p}\), Theorem 3 has the following corollary:
Corollary 2.
It is NPcomplete to decide the achievability of \(D_{\mathcal {S}_{p}}\) for a given SFM.
Corollary 2 proves Theorem 2 by contradiction; if it is easy to find D _{ s } for a given SFM, then we can easily decide the achievability of \(D_{\mathcal {S}_{p}}\) by comparing D _{ s } with \(D_{\mathcal {S}_{p}}\), as \(D_{s}=D_{\mathcal {S}_{p}}\) means that \(D_{\mathcal {S}_{p}}\) is achievable, and \(D_{s}>D_{\mathcal {S}_{p}}\) means that \(D_{\mathcal {S}_{p}}\) is not achievable. However, this result contradicts with Corollary 2. Hence, it is NPhard to find D _{ s }.
Besides the NPhardness, D _{ s } has the following property:
Property 2.
The absolute minimum APDD D _{ s } is upper bounded by U _{ s } as
Proof.
Given an SIDNC solution \(\mathcal {S}_{s}=\{\mathcal {M}_{u}\}_{u=1}^{U}\), let \(T(u)=\sum _{\mathbf p_{k}\in \mathcal {M}_{u}}T_{k}\) be the number of receivers who can decode a data packet from \(\mathcal {M}_{u}\). The minimum APDD of \(\mathcal {S}_{s}\) is thus:
which is maximized when \(\{T(u)\}_{u=1}^{U}=\frac {T}{U}\). In this case, \(D_{\mathcal {S}_{s}}=\frac {U+1}{2}\). Applying this result to an SIDNC solution with absolute minimum block completion time U=U _{ s }, we obtain the result.
Our proof indicates that, although it is NPhard to achieve D _{ s }, we can still effectively reduce APDD by reducing the sizes of our SIDNC solutions. Before we further explore this result to implement SIDNC, we would like to compare the performance limits of SIDNC that we have just derived with GIDNC.
3.3 SIDNC vs. GIDNC
In this subsection, we address the question of how does SIDNC compare with GIDNC?
We first note that the NPhardness of finding D _{ s } also holds for D _{ g }. This is because the perfect SIDNC solution \(\mathcal {S}_{p}\) is also the best possible GIDNC solution. For the throughput, we first present a relation between S and GIDNC graphs (proved in the appendix):
Theorem 4.
The minimum clique partition solutions of SIDNC and GIDNC graphs have the same size. In other words, \(\chi (\overline {\mathcal {G}}_{s})=\chi (\overline {\mathcal {G}}_{g})\).
This theorem, together with Corollary 1, indicates that \(\chi (\overline {\mathcal {G}}_{g})\) also increases almost linearly with N when all receivers experience similar erasure probabilities. However, the above theorem does not imply U _{ s }=U _{ g }. This is because GIDNC does not have Property 1. Explicitly, by removing a vertex from \(\mathcal {G}_{g}\), more edges and larger cliques may be generated, and thus the absolute minimum block completion time U _{ g } can be smaller than \(\chi (\overline {\mathcal {G}}_{g})\) of the original GIDNC graph \(\mathcal {G}_{g}\) [24]. We thus have U _{ g }≤U _{ s }. We note, however, that a systematic way of finding U _{ g } other than bruteforce search remains widely open.
4 SIDNC transmission schemes
In this section, we design SIDNC transmission schemes to compensate for packet erasures in the coded transmission phase. To this end, the sender has to regularly collect feedback from the receivers about their packet reception state to make online coding decisions. We consider transmission schemes with two different types of feedback frequency, namely:

1.
Fullyonline feedback: feedback is collected after every coded transmission. However, this could be costly in wireless communications. We thus also consider a reduced feedback frequency next;

2.
Semionline feedback: feedback is only collected after transmitting a complete SIDNC solution;
To be able to design SIDNC transmission schemes, two questions need to be answered first:

1.
What is the optimization objective for throughput and decoding delay improvement?

2.
What does the sender need to send to achieve it?
Before addressing these questions, we first highlight some challenges:
Remark 1.
Under random packet erasures, a reasonable measure of throughput is the mean block completion time E[ U _{ T }] of the coded transmission phase. However, it is intractable to minimize E[ U _{ T }]. To see this, let us consider the stochastic shortest path (SSP) method [23]. In SSP method, the state space comprises the current SFM and its successors, and thus has a prohibitively large size with a value of 2^{T}, where T is the number of “1”s in A. The action space for each state comprises all cliques/coding sets, which is NPhard to find [42]. Then, E[ U _{ T }] is recursively minimized by examining all the states and the associated actions. Such examination is necessary, because the packet erasures can take any pattern and are not predictable. But it makes E[ U _{ T }] intractable to minimize. To overcome this difficulty, we will turn to optimization objectives that are heuristic, but still based on SSP optimization principles.
Remark 2.
It is intractable to minimize the APDD D _{ T } of the coded transmission phase due to the NPhardness of finding D _{ s }, because otherwise by setting P _{ e }=0, the minimum D _{ T } is equal to D _{ s }. To overcome this difficulty, we will give higher priority to the minimization of block completion time. In other words, we first minimize the block completion time. Then among the resultant coding decisions, we choose the one that minimizes the decoding delay. Our prioritization reflects the motivation of using network coding, that is, to achieve better throughput performance. It also provides bounded decoding delay performance as we have shown in (8). This will also be confirmed by our simulations, which show that D _{ T } generally decreases with decreasing U _{ T }.
4.1 Fullyonline transmission scheme
In this scheme, the current state in SSP is the current SFM A, the absorbing state is the allzero SFM and is denoted by A _{0}. The action space comprises all the SIDNC coding sets of A. The cost of each action is one, for it consumes one transmission. The block completion time U _{ T } is thus equal to the number of transitions (a.k.a. path length or distance) between A and A _{0}.
According to Remark 1, it is intractable to choose an action/coded packet that minimizes the expected path length (and thus E[ U _{ T }]). As a heuristic alternative, we propose to choose an action/coded packet that belongs to the shortest path from A to A _{0}, which has a length of U _{ s }. This choice guarantees that, upon the reception of the coded packet at all interested receivers, the shortest distance between the updated state A ^{′} and A _{0} is minimized to U _{ s }−1. To this end, the coded packet must belong to a minimum clique partition solution \(\mathcal {S}_{c}\). Otherwise, the shortest distance between A ^{′} and A _{0} is still U _{ s }.
We then reduce APDD by forcing the coded packet to be maximal (and thus serving the maximal number of receivers). However, cliques in a minimum clique partition solution are not necessarily maximal. Hence, we further require the coded packet to belong to a set of U _{ s } maximal cliques that together cover all the data packets. This set is also an SIDNC solution and is denoted by \(\mathcal {S}_{m}\).
In conclusion, we propose the following coded packet \(\mathcal {M}_{f}\) for fullyonline transmission scheme:
Given an SFM instance, the preferred coded packet \(\mathcal {M}_{f}\) is the most wanted coded packet in \(\mathcal {S}_{m}\), where \(\mathcal {S}_{m}\) is an SIDNC solution that contains U _{ s } maximal cliques.
4.2 Semionline transmission scheme
The current and absorbing states in this scheme is the same as in the fullyonline scheme. But the action space becomes the set of all SIDNC solutions \(\mathbb S_{s}\), and the cost of each action is the solution size \(\mathcal {S}_{s}\), which is equal to the length of a semionline transmission round. The total cost is thus equal to the block completion time.
According to Remark 1, it is intractable to minimize the expected total cost (and thus E[ U _{ T }]). As a heuristic alternative, we propose to minimize the expected cost of the shortest path between A and A _{0}. The shortest path includes only one transition, representing the event that every coded packet of the chosen solution \(\mathcal {S}_{s}\) is received by all the interested receivers after only one semionline round. Denote the probability of this event by P _{ s }. Then the expected cost is \(\mathcal {S}_{s}/P_{s}\), where P _{ s } is calculated as:
Here, d _{ k } is called the packet multiplicity and is defined below.
Definition 4.
The multiplicity d _{ k } of data packet p _{ k } is the number of coding sets in \(\mathcal {S}_{s}\) that comprise p _{ k }.
We note that the minimum clique partition solution \(\mathcal {S}_{c}\) is not a preferred semionline SIDNC solution. Although \(\mathcal {S}_{c}\) offers the smallest solution size (\(\mathcal {S}_{c}=U_{s}\)), it does not maximize P _{ s } because every data packet has a multiplicity of only one due to disjoint cliques in \(\mathcal {S}_{c}\). In contrast, the \(\mathcal {S}_{m}\) we have proposed for the fullyonline case can offer a higher P _{ s } than \(\mathcal {S}_{c}\) due to possibly overlapping maximal cliques, while also offering the smallest solution size.
We still wish to answer the following question before choosing \(\mathcal {S}_{m}\) as our preferred semionline SIDNC solution: Is there a solution that, though is large in its size, provides higher packet multiplicities, so that P _{ s } is maximized?
An explicit answer to this question is difficult to obtain, because it requires the examination of all the solutions of size greater than U _{ s }. Such search is costly and does not provide any insight into this question. Moreover, a larger solution is unlikely to provide higher packet multiplicities due to the following property of SIDNC solutions:
Property 3.
Every coding set in an SIDNC solution comprises at least one data packet with a multiplicity of one.
This property holds because if every data packet in a coding set has a multiplicity of greater than one, then this coding set can be removed from the solution without affecting the completeness of the solution. Due to the above property, an SIDNC solution \(\mathcal {S}_{s}\) has at least \(\mathcal {S}_{s}\) data packets with a multiplicity of only one. According to (10), these unitmultiplicity data packets reduce P _{ s } the most. Hence, SIDNC solutions with a larger size may have more unitmultiplicity data packets than \(\mathcal {S}_{m}\), and thus are not preferable.
Therefore, we choose \(\mathcal {S}_{m}\) for throughput improvement. Then, by taking into account our secondary optimization objective, i.e., the APDD, we define our preferred semionline SIDNC solution as follows:
Given an SFM instance, the preferred semionline SIDNC solution is \(\mathcal {S}_{m}\), which comprises a set of U _{ s } maximal cliques. The cliques are sorted for transmission in the descending order of their numbers of targeted receivers to minimize the APDD.
A flowchart of the proposed two transmission schemes are presented in Fig. 4. Both the fully and semionline IDNC schemes require finding \(\mathcal {S}_{m}\). Since packet multiplicity is not a concern in graph theory, algorithms that find \(\mathcal {S}_{m}\) do not exist in the graph theory literature. Hence, we will design algorithms dedicated for SIDNC in the next section. Before moving on, we briefly compare SIDNC and GIDNC under the above two transmission schemes.
4.3 SIDNC vs. GIDNC
With fullyonline feedback, the sender can update the GIDNC graph \(\mathcal {G}_{g}\) and add new edges representing coding opportunities after every transmission. The throughput of GIDNC is thus better than SIDNC. But, the price is high computational load, because GIDNC graph is much larger than SIDNC graph (\(\mathcal O(NK)\) vs. \(\mathcal O(K)\)). On the other hand, it has been proved in [30] that, when receiver feedback is not available, the best strategy for the sender is not to update \(\mathcal {G}_{g}\) (compared with certain probabilistic update strategy). Therefore, during a semionline transmission round, the sender only sends the minimum clique partition solution of \(\mathcal {G}_{g}\), which, according to Theorem 4, has the same size as the minimum clique partition solution of SIDNC.
5 SIDNC coding algorithms
The two transmission schemes we proposed in the last section require finding \(\mathcal {S}_{m}\), an SIDNC solution that contains U _{ s } maximal coding sets. In this section, we develop its optimal and heuristic algorithms.
5.1 Optimal SIDNC coding algorithm
Our optimal algorithm finds all valid \(\mathcal {S}_{m}\) in two steps:

Step1 Find all the maximal coding sets (maximal cliques): This problem is NPhard in graph theory [42], and thus cannot be optimally solved by an algorithm whose computational complexity is a polynomial of the number K of data packets. However, it can be solved by exponential algorithms such as BronKerbosch (BK) algorithm [42]. We use BK algorithm to optimally find the group of all maximal cliques and denote the group by \(\mathcal {A}\).

Step2 Find all valid \(\mathcal {S}_{m}\) from \(\mathcal {A}\): We propose a branching algorithm in Algorithm 1. The intuition behind this algorithm is that, if a data packet p _{ k } belongs to d _{ k } maximal coding sets in \(\mathcal {A}\), then one of these d _{ k } maximal coding sets must be included in \(\mathcal {S}_{m}\) for the completeness of \(\mathcal {S}_{m}\). In the extreme case where d _{ k }=1, the sole maximal coding set that contains p _{ k } must be included in \(\mathcal {S}_{m}\). Below is an example of Algorithm 1.
Example 4.
Consider the graph model in Fig. 5. In Step1, we find all the maximal cliques: \(\mathcal {A}=\{(\mathbf {p}_{1},\mathbf {p}_{3})\), (p _{2},p _{3},p _{5}), (p _{3},p _{4}), (p _{4},p _{6}), (p _{5},p _{6})}. Then in Step2:

Initially, \(\mathcal {S}=\emptyset \), \(\overline {\mathcal {S}}=\mathcal {A}\setminus \mathcal {S}=\mathcal {A}\), and the set of data packets not included in \(\mathcal {S}\) is \(\overline {\mathcal {P}}=\{\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{4},\mathbf {p}_{5},\mathbf {p}_{6}\}\). Since p _{1} is only included in (p _{1},p _{3}) and p _{2} is only included in (p _{2},p _{3},p _{5}), these two coding sets must be added to \(\mathcal {S}\). Hence, \(\mathcal {S}=\{(\mathbf {p}_{1},\mathbf {p}_{3}),(\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{5})\}\) after the first two iterations;

The set of data packets not included in \(\mathcal {S}\) is \(\overline {\mathcal {P}}=\{\mathbf p_{4},\mathbf p_{6}\}\), and the remaining maximal coding sets are \(\overline {\mathcal {S}}=\mathcal {A}\setminus \mathcal {S}\)= {(p _{3},p _{4}), (p _{4},p _{6}), (p _{5},p _{6})}}. Since p _{4} has a multiplicity of 2 under \(\overline {\mathcal {S}}\) due to (p _{3},p _{4}) and (p _{4},p _{6}), we branch \(\mathcal {S}\) into two successors: \(\mathcal {S}_{1}=\{(\mathbf {p}_{1},\mathbf {p}_{3}),(\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{5}),(\mathbf {p}_{4},\mathbf {p}_{5})\}\) and \(\mathcal {S}_{2}=\{(\mathbf {p}_{1},\mathbf {p}_{3}),(\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{5}),(\mathbf {p}_{4},\mathbf {p}_{6})\}\). Since \(\mathcal {S}_{2}\) contains all data packets and there are no other branching opportunities, the algorithm stops and outputs \(\mathcal {S}_{2}\) as \(\mathcal {S}_{m}\).
BK algorithm and Algorithm 1 constitute our optimal SIDNC coding algorithm. It is optimal because it exhaustively finds all the valid \(\mathcal {S}_{m}\) from all the maximal coding sets. Among these solutions, we can choose the one that optimizes a secondary criteria, such as the one offering the smallest \(D_{\mathcal {S}}\), or the largest P _{ S }, calculated using (10).
5.2 Hybrid SIDNC coding algorithm
Algorithm 1 is memory demanding, because the number of candidate solutions grows exponentially with branching. Thus, we propose a heuristic alternative to it. The idea is to iteratively maximize the number of data packets included in \(\mathcal {S}_{m}\). The algorithm is given in Algorithm 2.
BK algorithm and Algorithm 2 constitute our hybrid SIDNC coding algorithm. It produces only one SIDNC solution, with no guarantee on the solution size. It is still computational expensive due to BK algorithm. Thus, we develop a polynomial time heuristic SIDNC coding algorithm next.
5.3 Heuristic SIDNC coding algorithm
Algorithm 3 is a simple algorithm that heuristically finds the maximum (the largest maximal) clique of a graph. The intuition behind this algorithm is that, a vertex is very likely to be in the maximum clique if it is incident by the largest number of edges. Variations of this algorithm have been developed in the literature [12, 13, 23]. But, this algorithm has not been applied to finding a complete SIDNC solution, and its computational complexity has not been identified yet.
The computational complexity of Algorithm 3 is polynomial in the number of data packets K. The highest computational cost occurs when the input graph is complete, i.e., when all vertices are connected to each other. In this case, only one vertex will be removed in each iteration. Thus, the number of remaining vertices in iterationi will be K−i, ∀i∈ [ 0,K−1]. Then, to find the vertex with the largest number of incident edges, we need K−i comparisons. The total computational cost is thus in the order of \(\sum _{i=0}^{K1}Ki=K(K1)/2\). Hence, the computational complexity of Algorithm 3 is at most \(\mathcal O(K^{2})\).
We apply Algorithm 3 to iteratively find \(\mathcal {S}_{m}\) in Algorithm 4. In each iteration, we find a clique using Algorithm 3, maximize it by adding more vertices to it whenever possible, and then remove it from the SIDNC graph. This will increase the multiplicities of the added vertices/packets. Below is an example:
Example 5.
Consider the graph \(\mathcal {G}_{s}\) in Fig. 1 b. In the first two iterations, the algorithm will choose \(\mathcal {M}_{1}=(\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{4})\) and \(\mathcal {M}_{2}=(\mathbf {p}_{3},\mathbf {p}_{6})\), respectively. In the third iteration, \(\mathcal {V}_{\text {covered}}=\{\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{3},\mathbf {p}_{4},\mathbf {p}_{6}\}\) and the algorithm can only choose \(\mathcal {M}_{3}=(\mathbf {p}_{5})\). Among all the data packets in \(\mathcal {V}_{\text {covered}}\), p _{2} can be added to \(\mathcal {M}_{3}\). Thus \(\mathcal {M}_{3}=\{\mathbf {p}_{2},\mathbf {p}_{5}\}\). The algorithm then stops and outputs \(\mathcal {S}_{m}=\{(\mathbf {p}_{1},\mathbf {p}_{2},\mathbf {p}_{4}),(\mathbf {p}_{3},\mathbf {p}_{6}),(\mathbf {p}_{2},\mathbf {p}_{5})\}\).
In conclusion, we proposed an optimal coding algorithm that exhaustively finds all the possible \(\mathcal {S}_{m}\), and also proposed its hybrid and heuristic alternatives. Both the optimal and hybrid algorithms are exponentialtime algorithms in terms of K due to their use of BK algorithm, while the heuristic algorithm is a polynomialtime one. The output \(\mathcal {S}_{m}\) is used as the SIDNC solution for the semionline transmission scheme. If fullyonline transmission scheme is applied, the transmitted coding set \(\mathcal {M}_{f}\) is chosen from \(\mathcal {S}_{m}\).
6 Simulations
In this section, we present the simulated throughput and decoding delay performance of SIDNC (abbreviated as S in the figures) under different scenarios, including under fully and semionline transmission schemes, and under the use of optimal, hybrid and heuristic coding algorithms (abbreviated in the figures as Fully, Semi, Opt., Hybr., and Heur., respectively).
We also compare SIDNC with RLNC and GIDNC. For RLNC, we assume a sufficiently large finite field, so that its throughput is almost surely optimal and serves as a benchmark. For GIDNC, although its best performance is at least as good as SIDNC (as we have explained in Section 3.3), this advantage will not necessarily be reflected in our simulation results. This is because there has not been any optimal GIDNC algorithm. Instead, we apply a heuristic algorithm (abbreviated as Heur. G in the figures) proposed in [23], which aims at minimizing the block completion time. This aim coincides with our optimization priorities for SIDNC in Remark 2, namely, to minimize the block completion time first.
We conduct four sets of simulations. In all simulations we apply a block size of K=15. In the first three sets, we fix P _{ e }=0.2 and set the number of receivers N ∈ [ 5a n d40]. In the fourth set, we fix N=15 and set P _{ e }∈ [ 0.05,0.4].
The purposes of the four sets of simulations are as follows. The first set compares the performance limits of the three techniques. The results are presented in Fig. 6. The second (resp. third) set of simulations compares the throughput and decoding delay performance under fullyonline (resp. semionline) transmission schemes. The results are presented in Fig. 7 (resp. Fig. 8). We note that the performance of RLNC is the same under both schemes, because RLNC is feedbackfree. In the fourth set, we evaluate the performance of our hybrid algorithm under different packet erasure probabilities and compare it with fullyonline heuristic GIDNC and RLNC. The results are presented in Fig. 9.
Our observations on SIDNC are as follows:

The absolute minimum block completion time of SIDNC increases almost linearly with N. This result matches Corollary 1;

The fullyonline transmission scheme always provides better throughput and decoding delay performance than the semionline one;

The optimal coding algorithm always provides better throughput performance than its hybrid and heuristic alternatives. This result verifies our choice of \(\mathcal {S}_{m}\) for throughput improvement, because only the optimal coding algorithm can always produce \(\mathcal {S}_{m}\), which has \(\mathcal {S}_{m}=U_{s}\);

However, the optimal coding algorithm does not necessarily minimize the APDD. For example, in Fig. 6 b, the hybrid algorithm provides slightly smaller APDD than the optimal one when there are no packet erasures and when the number of receivers is N≤15;

The performance gap between the optimal and hybrid algorithms is always marginal, and is much smaller than their gap with the heuristic one. Hence, the hybrid algorithm strikes a good balance between performance and computational load.
A cross comparison of RLNC, S, and GIDNC shows that:

The throughput of RLNC is always the best. The throughput of SIDNC is very close to RLNC when the number of receivers is small. Their gap increases with N;

In general, the APDD of both S and GIDNC is better than RLNC. This advantage only vanishes when the block completion time of S and GIDNC becomes much larger than RLNC, which takes place when N is much larger than K;

With a moderate number of receivers N=15, the APDD of SIDNC is better than RLNC under all simulated values of packet erasure probability;

There is no clear winner between the performance of heuristic GIDNC and optimal SIDNC. We can expect that GIDNC will outperform SIDNC if its optimal coding algorithm is developed.
In summary, our simulations verified our theorems, propositions, and algorithms. They also demonstrated that, if we are concerned with both throughput and decoding delay performance, SIDNC is a good alternative to RLNC when the number of receivers is not too large.
7 Conclusions
In this paper, we studied the throughput and average packet decoding delay (APDD) performance of SIDNC in broadcasting a block of data packets to wireless receivers under packet erasures. By using a random graph model, we showed that the throughput of SIDNC decreases with increasing an number of receivers. By introducing the concept of perfect SIDNC solution, we proved the NPhardness of APDD minimization. We derived an upper bound on APDD and showed that minimizing the IDNC solution size can effectively reduce APDD. By applying stochastic shortest path method, we showed that it is intractable to make optimal coding decisions in the presence of random packet erasures. We then used heuristic objective functions to determine the preferred coded packet(s) to send when fully or semionline receiver feedback is collected. We developed optimal and heuristic SIDNC coding algorithms that minimize the solution size and increase packet multiplicity. We also compared SIDNC with GIDNC by proving the equivalence between the chromatic number of the complementary SIDNC and GIDNC graphs.
Our work provides new understandings of SIDNC. It will facilitate the extension of SIDNC to applications in other network settings, such as cooperative data exchange and distributed data storage. We are also interested in designing approximation and heuristic algorithms for APDD minimization.
8 Endnotes
^{1} We assume that there exists an errorfree feedback link from each receiver to the sender that can be used with an appropriate frequency. The feedback content is the index of the data packets it has received. Each index has a length of log2K bits. The feedback frequency will be studied in Section 4.
^{2} In traditional GIDNC, noninstantly decodable packets will be discarded by the receivers. Storing such packets may further improve throughput with extra computational cost. This problem is beyond the scope of this paper. Interested readers are referred to [32] for a recent treatment.
^{3} The minimum clique partition solution of a graph \(\mathcal {G}\) is the minimum set of disjoint cliques of \(\mathcal {G}\) that together cover all the vertices.
^{4} The chromatic number of a graph \(\mathcal {G}\) is the minimum number of colors to color the vertices so that any two connected vertices have different colors.
9 Appendix 1: Proof of Theorem 3
In this appendix we prove that it is NPcomplete to decide the existence of the perfect SIDNC solution \(\mathcal {S}_{p}\) for a given SFM A. Our approach takes two steps: firstly, a polynomial reduction from a graph γcolorability problem to hypergraph coloring problem, and then a polynomial reduction from hypergraph coloring problem to our problem of finding \(\mathcal {S}_{p}\).
Before we start, we first introduce some related concepts and theorems. A graph \(\mathcal {G}(\mathcal {V},\mathcal {E})\) is called γcolorable if there exists a partition of \(\mathcal {V}\) into γ sets, denoted by \(\{\mathcal {V}_{i}\}_{i=1}^{\gamma }\), such that \(\mathcal {V}_{i}\cap \boldsymbol {e}_{n}\leqslant 1\) for any \(\boldsymbol {e}_{n}\in \mathcal {E}\). In other words, vertices in \(\mathcal {G}\) can be colored using γ colors such that every pair of adjacent vertices have different colors. According to graph theory, it is NPcomplete to decide whether a graph \(\mathcal {G}(\mathcal {V},\mathcal {E})\) is γcolorable or not for any \(\gamma \geqslant 3\).
A hypergraph \(\mathcal {H}\) is defined by a set of vertices \(\mathcal {V}\) and a set of hyperedges \(\mathcal {E}\). Each hyperedge \(\boldsymbol {e}_{n}\in \mathcal {E}\) can be incident to any number of vertices, i.e., \(\boldsymbol {e}_{n}\geqslant 1\). \(\mathcal {H}\) is called γuniform if every hyperedge is incident to γ vertices, i.e., e _{ n }=γ for all \(\boldsymbol {e}_{n}\in \mathcal {E}\). \(\mathcal {H}\) is called strongly γcolorable [43] if there exists a partition of \(\mathcal {V}\) into γ sets, denoted by \(\{\mathcal {V}_{i}\}_{i=1}^{\gamma }\), such that \(\mathcal {V}_{i}\cap \boldsymbol {e}_{n}\leqslant 1\) for any \(\boldsymbol {e}_{n}\in \mathcal {E}\). In other words, vertices of \(\mathcal {H}\) can be colored using γ colors, such that every color appears at most once in every hyperedge.
We now prove that it is NPcomplete to decide whether a γuniform hypergraph is strongly γcolorable or not for any \(\gamma \geqslant 3\).
Given any \(\gamma \geqslant 3\) and a graph \(\mathcal {G}(\mathcal {V},\mathcal {E})\) with K vertices and N edges, we construct a hypergraph \(\mathcal {H}(\mathcal {V}',\mathcal {E}')\) as follows: for every edge \(\boldsymbol {e}_{n}\in \mathcal {E}\), we generate a hyperedge e n′ by adding to e _{ n } γ−2 dummy vertices v _{ n,1}⋯v _{ n,γ−2}. The resulted e n′ is incident to γ vertices, where γ−2 of them are dummy vertices only incident by e n′. Consequently, \(\mathcal {H}\) is a γuniform hypergraph with K+(γ−2)N vertices. Since e _{ n }⊂e n′ for all n∈ [ 1,N], \(\mathcal {G}\) is a subgraph of \(\mathcal {H}\). Then, the reduction is as follows:

If \(\mathcal {G}\) is γcolorable, then for every hyperedge e n′, there are already two differently colored vertices. Then, by heuristically color the remaining γ−2 dummy vertices in e n′ using the remaining γ−2 colors for all n∈ [ 1,N], we obtain a strong γ−coloring of \(\mathcal {H}\).

If \(\mathcal {H}\) is strongly γcolorable, then since \(\mathcal {G}\subset \mathcal {H}\), \(\mathcal {G}\) is already colored with at most γ colors, say with γ ^{′}≤γ colors. To obtain a γcoloring of \(\mathcal {G}\), we can heuristically choose γ−γ ^{′} vertices of \(\mathcal {G}\) and assigning each of them with a different new color.
The above reduction indicates that an algorithm that can optimally solve the strong γcoloring problem for any γuniform hypergraph will also solve the γcoloring problem of any graph: given any \(\mathcal {G}\), we construct \(\mathcal {H}\) as described above and pass \(\mathcal {H}\) to the algorithm for solution.
Then, by noting that it is NPcomplete to decide whether \(\mathcal {G}\) is γcolorable or not, our reduction proves that it is NPcomplete to decide whether a γuniform hypergraph is strongly γcolorable or not.
We now prove the NPcompleteness of deciding the existence of \(\mathcal {S}_{p}\) by reducing a γuniform hypergraph to a SFM A, and reducing the strong γcoloring of \(\mathcal {H}\) to \(\mathcal {S}_{p}\).
Given any γuniform hypergraph \(\mathcal {H}(\mathcal {V},\mathcal {E})\) with K vertices and N hyperedges, we construct an instance of A with K data packets and N receivers: we identify each \(\boldsymbol {v}_{k}\in \mathcal {V}\) with a data packet p _{ k }, and identify each \(\boldsymbol {e}_{n}\in \mathcal {E}\) with a receiver R _{ n } who wants the data packets represented by the vertices in e _{ n }, i.e., letting \(\mathcal {W}_{n}=\boldsymbol {e}_{n}\). In the resulting A, every receiver wants γ data packets. Then, the reduction is as follows:

If \(\mathcal {H}\) is strongly γcolorable, then since every e _{ n } has γ vertices, we know that every color appears exactly once in every e _{ n }. In other words, there exists a partition \(\{V_{i}\}_{i=1}^{\gamma }\) of \(\mathcal {V}\) such that \(\mathcal {V}_{i}\cap \boldsymbol {e}_{n}=1\) for all n∈[1,n]. Then, by identifying each \(\mathcal {V}_{i}\) with a coding set \(\mathcal {M}_{i}\), we have \(\mathcal {M}_{i}\cap \mathcal {W}_{n}=1\). Hence, \(\mathcal {S}=\{\mathcal {M}_{i}\}_{i=1}^{\gamma }\) is a SIDNC solution that allows all receivers to instantly decode one of their γ wanted data packets from the coded packet of each of the γ coding sets. According to Definition 3, \(\mathcal {S}\) is a perfect SIDNC solution \(\mathcal {S}_{p}\).

If A has the perfect SIDNC solution \(\mathcal {S}_{p}=\{\mathcal {M}_{i}\}_{i=1}^{\gamma }\), then \(\mathcal {M}_{i}\cap \mathcal {W}_{n}=1\) for all n∈ [ 1,N]. Then by identifying each \(\mathcal {M}_{i}\) with a vertex set \(\mathcal {V}_{i}\), we obtain a partition \(\{\mathcal {V}_{i}\}_{i=1}^{\gamma }\) of \(\mathcal {V}\) such that \(\mathcal {V}_{i}\cap \boldsymbol {e}_{n}=1\) for all n∈ [ 1,N]. By definition, this partition is a strong γcoloring of \(\mathcal {H}\).
The above reduction indicates that an algorithm that can optimally find the perfect solution for any SFM A will also solve the strong γcoloring problem of any γuniform graph: given any such \(\mathcal {H}\), we construct an instance of A as described above and pass A to the algorithm for solution.
Then, by noting that it is NPcomplete to decide whether a γuniform hypergraph is strongly γcolorable or not, our reduction proves that it is NPcomplete to decide whether the perfect solution \(\mathcal {S}_{p}\) exists or not for a given A.
10 Appendix 2: Proof of Theorem 4
Theorem 4 requires the proof of \(\chi (\overline {\mathcal {G}}_{s})=\chi (\overline {\mathcal {G}}_{g})\). Since every SIDNC solution is also a GIDNC solution, but a GIDNC solution is not necessarily an SIDNC solution, we have \(U_{s}\geqslant U_{g}\), and thus \(\chi (\overline {\mathcal {G}}_{s})\geqslant \chi (\overline {\mathcal {G}}_{g})\). Hence, here we only need to prove that \(\chi (\overline {\mathcal {G}}_{s})\leqslant \chi (\overline {\mathcal {G}}_{g})\).
We first introduce the concept of affiliated SIDNC graph \(\mathcal {G}_{\textit {as}}\) of a GIDNC graph \(\mathcal {G}_{g}\), which is construct as follows. Given \(\mathcal {G}_{g}\) that involves K data packets and N receivers, we generate a graph \(\mathcal {G}_{\textit {as}}\) with K vertices, each representing a data packet. We then connect v _{ i } and v _{ j } in \(\mathcal {G}_{\textit {as}}\) if for every pair of {m,n}∈ [ 1,N], v _{ i,m } and v _{ j,n } are connected upon their existence in \(\mathcal {G}_{g}\). In other words, we claim that p _{ i } and p _{ j } do not conflict if every vertex that represents p _{ i } in \(\mathcal {G}_{g}\) is connected to every vertex that represents p _{ j } in \(\mathcal {G}_{g}\).
Given an SFM A, we can easily show that its SIDNC graph \(\mathcal {G}_{s}\) is the same as the affiliated SIDNC graph \(\mathcal {G}_{\textit {as}}\) of its GIDNC graph \(\mathcal {G}_{g}\). Hence, our task becomes to prove that \(\chi (\overline {\mathcal {G}}_{\textit {as}})\leqslant \chi (\overline {\mathcal {G}}_{g})\), where \(\chi (\overline {\mathcal {G}}_{\textit {as}})=U_{s}\). This statement is true if the following property is true:
After removing any clique \(\mathcal {M}_{g}\) from \(\mathcal {G}_{g}\), the chromatic number of the affiliated SIDNC graph \(\mathcal {G}_{\textit {as}}\) is reduced by at most one.
Since \(\mathcal {G}_{g}\) is nonempty as long as \(\mathcal {G}_{\textit {as}}\) is nonempty, this property indicates that any clique partition solution of \(\mathcal {G}_{g}\) must have a size of at least \(\chi (\overline {\mathcal {G}}_{\textit {as}})\), which will prove that \(\chi (\overline {\mathcal {G}}_{\textit {as}})\leqslant \chi (\overline {\mathcal {G}}_{g})\). Property 6 can be proved through induction:

1.
If \(\mathcal {M}_{g}\) does not contain any conflicting data packets in \(\mathcal {G}_{\textit {as}}\), then \(\chi (\overline {\mathcal {G}}_{\textit {as}})\) is reduced by at most one;

2.
If \(\mathcal {M}_{g}\) contains one pair of conflicting data packets in \(\mathcal {G}_{\textit {as}}\), then \(\chi (\overline {\mathcal {G}}_{s})\) is reduced by at most one;

3.
If \(\mathcal {M}_{g}\) already contains m pairs of conflicting data packets in \(\mathcal {G}_{\textit {as}}\), then modifying \(\mathcal {M}_{g}\) to contain one more pair of conflicting data packets in \(\mathcal {G}_{\textit {as}}\) cannot further reduce \(\chi (\overline {\mathcal {G}}_{\textit {as}})\).
The first statement is selfevident, because the set of data packets included in such \(\mathcal {M}_{g}\) is a clique of \(\mathcal {G}_{\textit {as}}\). By removing it, \(\chi (\overline {\mathcal {G}}_{\textit {as}})\) can be reduced by at most one.
To prove the second statement, without loss of generality we assume that the pair of conflicting data packets is (p _{1},p _{2}). Then the set of data packets included in \(\mathcal {M}_{g}\) takes a form of \(\{\mathcal {M}_{s},\mathbf {p}_{1},\mathbf {p}_{2}\}\), where \(\mathcal {M}_{s}\) is the set of pairwise nonconflicting data packets, and thus is a clique of \(\mathcal {G}_{\textit {as}}\). Since p _{1} conflicts with p _{2}, there exists at least one pair of unconnected vertices in \(\mathcal {G}_{g}\) that represents p _{1} and p _{2}. This pair is not included in \(\mathcal {M}_{g}\), and thus is kept after removing \(\mathcal {M}_{g}\) from \(\mathcal {G}_{g}\). Hence, in the updated affiliated SIDNC graph \(\mathcal {G}_{\textit {as}}'\), v _{1} and v _{2} exist, and are unconnected. Let the chromatic number of \(\mathcal {G}_{\textit {as}}'\) be U ^{′}, then the minimum clique partition of \(\mathcal {G}_{\textit {as}}'\) takes a form of \(\{\mathcal {M}_{1},\cdots,\mathcal {M}_{U'}\}\), which keeps p _{1} and p _{2} in different coding sets. Then, since \(\mathcal {M}_{s}\) is a clique of \(\mathcal {G}_{\textit {as}}\), \(\{\mathcal {M}_{s},\mathcal {M}_{1},\cdots,\mathcal {M}_{U'}\}\) is a partition of \(\mathcal {G}_{\textit {as}}\) with a size of U ^{′}+1. Thus, \(U'\geqslant \chi (\overline {\mathcal {G}}_{\textit {as}})1\), implying that \(\chi (\overline {\mathcal {G}}_{s})\) is reduced by at most one after removing \(\mathcal {M}_{g}\) from \(\mathcal {G}_{g}\).
The proof of the third statement is similar to the second one, and thus is omitted here. According to the above three statements, no matter how many conflicting data packets are included in \(\mathcal {M}_{g}\), after removing \(\mathcal {M}_{g}\) from \(\mathcal {G}_{g}\), the chromatic number of the affiliated SIDNC graph \(\mathcal {G}_{\textit {as}}\) is reduced by at most one. Therefore, \(\chi (\overline {\mathcal {G}}_{g})\geqslant \chi (\overline {\mathcal {G}}_{\textit {as}})\). Since \(\mathcal {G}_{\textit {as}}\) is the same as \(\mathcal {G}_{s}\), we have \(\chi (\overline {\mathcal {G}}_{g})\geqslant \chi (\overline {\mathcal {G}}_{s})\) and Theorem 3 is proved.
References
JK Sundararajan, D Shah, M Médard, in Proc. IEEE Int. Symp. Information Theory (ISIT). ARQ for network coding, (2008).
R Ahlswede, N Cai, S Li, R Yeung, Network information flow. IEEE Trans. Inf. Theory. 46, 1204–1216 (2000).
S Katti, H Rahul, W Hu, D Katabi, M Médard, J Crowcroft, XORs in the air: practical wireless network coding. IEEE/ACM Trans. Netw. 16(3), 497–510 (2008).
C Fragouli, J Widmer, J Le Boudec, Efficient broadcasting using network coding. IEEE/ACM Trans. Netw. 16(2), 450–463 (2008).
L Keller, E Drinea, C Fragouli, in Proc.IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). Online broadcasting with network coding, (2008).
A Eryilmaz, A Ozdaglar, M Médard, Ahmed E, On the delay and throughput gains of coding in unreliable networks. IEEE Trans. Inf. Theory. 54(12), 5511–5524 (2008).
T Tran, T Nguyen, B Bose, in Proc. IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). A joint networkchannel coding technique for singlehop wireless networks, (2008).
D Nguyen, T Tran, T Nguyen, B Bose, Wireless broadcast using network coding. IEEE Trans. Veh. Technol. 58(2), 914–925 (2009).
DE Lucani, M Médard, M Stojanovic, in Proc. IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). Broadcasting in timedivision duplexing: a random linear network coding approach, (2009), pp. 62–67.
DE Lucani, M Médard, in Proc. IEEE Global Telecommun. Conf. (GLOBECOM). Random linear network coding for timedivision duplexing: field size considerations, (2009).
J Heide, MV Pedersen, FHP Fitzek, T Larsen, in Proc. IEEE Int. Conf. Communications (ICC) workshop. Network coding for mobile devices—systematic binary random rateless codes, (2009).
S Sorour, S Valaee, in Proc. IEEE Global Telecommun. Conf. (GLOBECOM). Minimum broadcast decoding delay for generalized instantly decodable network coding, (2010).
E Rozner, AP Iyer, Y Mehta, L Qiu, M Jafry, in Proc. ACM Int. Conf. Emerging Networking Experiments and Technologies (CoNEXT). ER: Efficient retransmission scheme for wireless LANs, (2007).
P Sadeghi, D Traskov, R Koetter, in Proc. IEEE 5th Workshop on Network Coding, Theory, and Applications (NetCod). Adaptive network coding for broadcast channels, (2009), pp. 80–85.
P Sadeghi, R Shams, D Traskov, An optimal adaptive network coding scheme for minimizing decoding delay in broadcast erasure channels. EURASIP J. Wireless Commun. Netw. 2010, 1–14 (2010).
P Sadeghi, M Yu, N Aboutorab, in Proc. IEEE Int. Symp. Information Theory and its Applications (ISITA). On throughputdelay tradeoff of network coding for wireless communications, (2014), pp. 689–693.
M Yu, P Sadeghi, N Aboutorab, From instantly decodable to random linear network coding. IEEE Trans Commun. 62(11), 3943–3955 (2014).
T Ho, M Médard, R Koetter, D Karger, M Effros, J Shi, B Leong, A random linear network coding approach to multicast. IEEE Trans. Inf. Theory. 52(10), 4413–4430 (2006).
J Barros, RA Costa, D Munaretto, J Widmer, in Proc. IEEE Conf. Comput. Commun. (INFOCOM). Effective delay control in online network coding, (2009), pp. 208–216.
X Li, CC Wang, Lin X, On the capacity of immediatelydecodable coding schemes for wireless storedvideo broadcast with hard deadline constraints. IEEE J. Sel. Areas Commun. 29(5), 1094–1105 (2011).
L Yang, YE Sagduyu, JH Li, in Proc. ACM Int. Symp. Mobile Ad Hoc Networking and Computing (MobiHoc). Adaptive network coding for scheduling realtime traffic with hard deadlines, (2012), pp. 105–114.
SY El Rouayheb, MAR Chaudhry, A Sprintson, in Proc. IEEE Information Theory Workshop (ITW). On the minimum number of transmissions in singlehop wireless coding networks, (2007).
S Sorour, S Valaee, in Proc. IEEE. Int. Conf. Communications (ICC). On minimizing broadcast completion delay for instantly decodable network coding, (2010).
S Sorour, S Valaee, Coding opportunity densification strategies for instantly decodable network coding. IEEE Trans. Commun. 61(12), 5077–5089 (2013).
N Aboutorab, P Sadeghi, S Sorour, Enabling a tradeoff between completion time and decoding delay in instantly decodable network coded systems. IEEE Trans. Commun. 62(4), 1269–1309 (2014).
N Aboutorab, P Sadeghi, SE Tajbakhsh, in Proc. IEEE Int. Symp. Information Theory (ISIT). Instantly decodable network coding for delay reduction in cooperative data exchange systems, (2013), pp. 3095–3099.
MS Karim, N Aboutorab, AA Nasir, P Sadeghi, in Proc. IEEE Information Theory Workshop (ITW). Decoding delay reduction in network coded cooperative systems with intermittent status update, (2014), pp. 391–395.
Y Keshtkarjahromi, H Seferoglu, R Ansari, A Khokhar, in Proc IEEE Int. Conf. Computing, Networking and Communications (ICNC). Contentaware instantly decodable network coding over wireless networks, (2015), pp. 803–809.
S Sorour, S Valaee, in Proc. IEEE Int. Symp. Personal Indoor and Mobile Radio Communications (PIMRC). Completion delay reduction in lossy feedback scenarios for instantly decodable network coding, (2011), pp. 2025–2029.
S Sorour, S Valaee, in Proc. IEEE ICC. Completion delay minimization for instantly decodable network coding with limited feedback, (2011).
A Le, AS Tehrani, AG Dimakis, A Markopoulou, in Proc. IEEE Int. Symp. Network Coding (NetCod). Instantly decodable network codes for realtime applications, (2013).
N Aboutorab, S Sorour, P Sadeghi, in Proc. IEEE Int. Symp. Network Coding (NetCod). O2gidnc: Beyond instantly decodable network coding, (2013), pp. 1–6.
JM Harris, JL Hirst, MJ Mossinghoff, Combinatorics and Graph Theory, 2nd Edition (Springer Press, Verlag New York, 2008).
M Kubale, Graph Coloring, ser. Contemporary Mathematics (American Mathematical Society, Providence, Rhode Island, 2004).
WA Vasconcelos, CW Avery, WAJ Luxemburg, RE Shafer, D Marcus, DP Gelle, Advanced Problems: 57075713. American Mathematical Monthly. 77, 84–85 (1970).
W Xiao, D Starobinski, in Proc. IEEE Conf. Comput. Commun. (INFOCOM). Extreme value FEC for reliable broadcasting in wireless networks, (2009).
M Ghaderi, D Towsley, J Kurose, in Proc. IEEE Conf. Comput. Commun. (INFOCOM). Reliability gain of network coding in lossy wireless networks, (2008).
B Swapna, A Eryilmaz, NB Shroff, Throughputdelay analysis of random linear network coding for wireless broadcasting. IEEE Trans Inf. Theory. 59(10), 6328–6341 (2013).
B Ballobás, Random Graphs (Cambridge University Press, Cambridge, UK, 2001).
B Bollobás, The chromatic number of random graphs. Combinatorica. 8(1), 49–55 (1988).
R Costa, D Munaretto, J Widmer, J Barros, in Proc. IEEE Int. Conf. Mobile Ad Hoc and Sensor Syst., (MASS). Informed network coding for minimum decoding delay, (2008), pp. 80–91.
C Bron, J Kerbosch, Algorithm 457, Finding all cliques of an undirected graph. Commun. ACM. 16(9), 575–577 (1973). New York.
G Agnarsson, MM Halldórsson, in Approximation and Online Algorithms. Strong colorings of hypergraphs (SpringerBerlin Heidelberg, 2005), pp. 253–266.
Author information
Authors and Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Yu, M., Sadeghi, P. & Aboutorab, N. Performance characterization and transmission schemes for instantly decodable network coding in wireless broadcast. EURASIP J. Adv. Signal Process. 2015, 94 (2015). https://doi.org/10.1186/s136340150279x
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/s136340150279x