Open Access

Performance characterization and transmission schemes for instantly decodable network coding in wireless broadcast

EURASIP Journal on Advances in Signal Processing20152015:94

https://doi.org/10.1186/s13634-015-0279-x

Received: 29 June 2015

Accepted: 4 November 2015

Published: 17 November 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 (S-IDNC), where each coded packet includes at most one missing packet of every receiver. But, we will also study its relation with generalized IDNC (G-IDNC), where this condition is relaxed. We characterize two fundamental performance limits of S-IDNC: (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 closed-form 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 NP-hard to minimize the average packet decoding delay of S-IDNC. We also prove that the graph models of S- and G-IDNC share the same chromatic number. Next, we design efficient S-IDNC 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.

Keywords

Wireless broadcast Network coding Throughput Packet decoding delay Feedback

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 block-based 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 Automatic-Repeat-reQuest (ARQ) [1]. This approach, though simple, is inefficient in terms of throughput, as the transmitted packets are non-innovative to the receivers who have already received them.

The advent of network coding (NC) [2] starts a new era for high-throughput network coded wireless communications [317]. 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 [911, 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 block-decoded 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 [1921].

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, 1215] 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 1p 3 and X 2=p 2p 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.
Table 1

A example of packet reception state

 

p 1

p 2

p 3

p 4

R 1

wants

wants

has

has

R 2

has

has

wants

wants

We also note from the above example that an IDNC coded packet of X=p 1p 2p 3 is not instantly decodable to R 1. Restrictions on such packets separate IDNC techniques into two variations. The first one, called strict IDNC (S-IDNC) [1315], prohibits the transmissions of non-instantly 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 (G-IDNC), removes this restriction for more coding opportunities.

Therefore, S-IDNC can be thought of as a sub-class of G-IDNC, in the sense that every valid S-IDNC coded packet is also a valid G-IDNC coded packet. Although G-IDNC has been extensively studied under various wireless broadcast settings, including basic ones [12, 12, 2228] and those with limited/lossy feedback [29, 30] or with hard deadline [31], most developed algorithms are heuristics, leaving the optimal G-IDNC 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 sub-class of G-IDNC, namely, S-IDNC. This will facilitate the applications of S-IDNC, while also providing new insights into the more general G-IDNC class.

So far, studies on theoretical performance characterization and implementations of S-IDNC have been quite limited in both breath and depth. S-IDNC was graphically modeled in [13], which then proved that the minimum clique partition solution [13] of the associated graph can be an S-IDNC 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. S-IDNC 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 S-IDNC and system parameters has not been characterized before. In addition and to the best of our knowledge, the minimum packet decoding delay of S-IDNC is still unknown. Moreover, there have not been S-IDNC transmission schemes that can work with intermittent receiver feedback. Another unaddressed problem is a systematic performance comparison between S-IDNC and G-IDNC.

In this paper, we study the above problems and provide the following contributions:
  1. 1.

    We characterize the throughput performance limits of S-IDNC. Specifically, we derive a closed-form expression for the expected minimum block completion time in terms of the number of packets and receivers and their erasure probabilities.

     
  2. 2.

    We prove that it is NP-hard to minimize the APDD of S-IDNC. We derive an upper bound on the minimum packet decoding delay in terms of the minimum block completion time.

     
  3. 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 S-IDNC 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 S-IDNC transmission schemes under full and intermittent receiver feedback.

     
  4. 4.

    We also provide new results on the relation between S-IDNC and G-IDNC. For example, we prove the equivalence between the chromatic number of S- and G-IDNC graphs.

     

2 System model and notations

2.1 Transmission setup

We consider a block-based 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.
Fig. 1

An example of SFM and its S- and G-IDNC graphs

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 two-phase transmission scheme is plotted in Fig. 2.
Fig. 2

The considered two-phase transmission schemes. Receiver feedback must be collected by the end of the systematic transmission phase (solid arrow). Intermediate feedback during the coded transmission phase (dashed arrows) are optional

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 non-instantly 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 non-innovative 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 (S-IDNC), which is the main subject of our study. It prohibits the transmission of any non-instantly 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 non-conflicting 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 S-IDNC coding set is thus a set of pairwise non-conflicting 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 S-IDNC 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 S-IDNC is that a coded packet which is instantly decodable for a large subset of receivers may be prohibited because it is non-instantly decodable for a small subset of receivers. In the second type of IDNC, called generalized IDNC (G-IDNC), the restriction on non-instantly decodable packets is removed for more coding opportunities.2

G-IDNC can also be graphically modeled [23]. The difference is that, in the G-IDNC 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 S-IDNC, every clique of \(\mathcal {G}_{g}\) represents a G-IDNC coding set.

We note that an S-IDNC coded packet is always a G-IDNC coded packet, but the reverse is not necessarily true. Below is an example of S- and G-IDNC coded packets.

Example 2.

Consider the SFM and its S- and G-IDNC graphs in Fig. 1. The G-IDNC graph indicates that (v 1,1,v 5,3,v 4,4) is a clique. The corresponding G-IDNC coding set is (p 1,p 3,p 4), and thus X g =p 1p 3p 4 is a G-IDNC 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 non-instantly decodable for R 3 because R 3 wants both p 3 and p 4. X g is non-innovative for R 2.

Due to the existence of R 3, X g is not an S-IDNC coded packet. Whereas the S-IDNC 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 1p 2p 3 is an S-IDNC 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 G-IDNC 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 S-IDNC solution is denoted by \(\mathcal {S}_{s}\). The set of all S-IDNC solutions of a given SFM is denoted by \(\mathbb {S}_{s}\). Similarly, we can also define \(\mathcal {S}_{g}\) and \(\mathbb {S}_{g}\) for G-IDNC.

For the SFM in Fig. 1, by partitioning the S-IDNC graph into three disjoint cliques, we can obtain, among others, an S-IDNC 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 S-IDNC 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 G-IDNC 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 G-IDNC 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 S-IDNC 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 S-IDNC 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 G-IDNC 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:
$$ D=\frac{1}{T}\sum_{\forall a_{n,k}=1}u_{n,k}, $$
(1)

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 S-IDNC 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 S-IDNC solution with four coded packets X 1=p 1p 2, X 2=p 3p 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\).
Table 2

The decoding delay of original data packets at the receivers

 

p 1

p 2

p 3

p 4

p 5

p 6

R 1

1

0

0

0

4

2

R 2

0

1

0

0

0

2

R 3

0

0

2

3

4

0

R 4

0

0

0

3

0

2

R 5

0

0

2

0

4

0

In each time slot of the coded transmission phase, the sender selects and broadcasts a coding set through erasure-prone 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 S-IDNC is applied. Therefore, U s and D s reflect the performance limits of S-IDNC. Hence, we will first study these limits in the next section, and then design S-IDNC 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 S-IDNC and compare it with G-IDNC.

3.1 Absolute minimum block completion time U s

We first study the throughput limit of S-IDNC, 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 solution3 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 S-IDNC 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 number4 \(\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 well-studied in the graph theory literature [3335]. 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 throughput-optimal, 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 S-IDNC. Hence, we can infer that the throughput of S-IDNC 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}\):
$$\begin{array}{*{20}l} E[U_{s}] & =-K\left(\frac{1}{2}+o(1)\right)\sum_{n=1}^{N}\log_{K}\left(1-P_{e,n}^{2}\right), \end{array} $$
(2)

where o(1) is a small term that approaches zero with increasing K.

Proof.

Our approach is to model the complementary S-IDNC 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:
$$ P_{c}=1-\prod_{n=1}^{N}\left(1-P_{e,n}^{2}\right). $$
(3)
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. 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. 2.

    P(v 1|e 1,2,e 1,3)=1 because of the same reason as above;

     
  3. 3.

    P(e 1,e 2|v 1)=P(e 1|v 1P(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. 4.

    P(v 1)2P(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}(1-P_{\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,2P(e 1,3):
$$\begin{array}{*{20}l} P(\boldsymbol e_{1,2},\boldsymbol e_{1,3})&=\frac{P(\boldsymbol e_{1,2},\boldsymbol e_{1,3}|\boldsymbol v_{1})\cdot P(\boldsymbol v_{1})}{P(\boldsymbol v_{1}|\boldsymbol e_{1,2},\boldsymbol e_{1,3})}\\ &=P(\boldsymbol e_{1,2}|\boldsymbol v_{1})\cdot P(\boldsymbol e_{1,3}|\boldsymbol v_{1})\cdot P(\boldsymbol v_{1})\\ &\approx P(\boldsymbol e_{1,2}|\boldsymbol v_{1})\cdot P(\boldsymbol e_{1,3}|\boldsymbol v_{1})\cdot P(\boldsymbol v_{1})^{2}\\ &=P(\boldsymbol e_{1,2},\boldsymbol v_{1})\cdot P(\boldsymbol e_{1,3},\boldsymbol v_{1})\\ &=P(\boldsymbol e_{1,2})\cdot P(\boldsymbol e_{1,3}), \end{array} $$
(4)

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õs-Ré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.
Fig. 3

The mean and simulated number of edges in \(\overline {\mathcal {G}}_{s}\) when \(\{P_{\text {\textit {e,n}}}\}_{n=1}^{N}=0.2\) and K [ 20,100]

From graph theory, given K and P c , almost every random graph \(\overline {\mathcal {G}}_{s}\) has a chromatic number of [40]:
$$ \chi(\overline{\mathcal{G}}_{s})=\frac{K}{\log K}\left(\frac{1}{2}+o(1)\right)\log\frac{1}{1-P_{c}}. $$
(5)

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 S-IDNC 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:
$$\begin{array}{*{20}l} E[U_{s}]&=-K\left(\frac{1}{2}+o(1)\right)\sum_{n=1}^{N}\log_{K}\left(1-{P_{e}^{2}}\right)\\ &=-K\left(\frac{1}{2}+o(1)\right)\log_{K}\left(1-{P_{e}^{2}}\right)\cdot N. \end{array} $$
(6)

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 S-IDNC 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 S-IDNC.

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 NP-hard to find the absolute minimum APDD D s of S-IDNC.

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 S-IDNC solution:

Definition 3.

An S-IDNC 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:
$$ D_{\mathcal{S}_{p}}=\frac{1}{T}\sum_{n=1}^{N}\sum_{i=1}^{w_{n}}i. $$
(7)

The hardness of deciding the existence of \(\mathcal {S}_{p}\) is as follows:

Theorem 3.

It is NP-complete 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 well-known to be NP-complete [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 NP-complete 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 NP-hard to find D s .

Besides the NP-hardness, D s has the following property:

Property 2.

The absolute minimum APDD D s is upper bounded by U s as
$$ D_{s}\leqslant\frac{U_{s}+1}{2}. $$
(8)

Proof.

Given an S-IDNC 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:
$$ D_{\mathcal{S}_{s}}=\frac{1}{T}\sum_{u=1}^{U}T(u)\cdot u. $$
(9)

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 S-IDNC solution with absolute minimum block completion time U=U s , we obtain the result.

Our proof indicates that, although it is NP-hard to achieve D s , we can still effectively reduce APDD by reducing the sizes of our S-IDNC solutions. Before we further explore this result to implement S-IDNC, we would like to compare the performance limits of S-IDNC that we have just derived with G-IDNC.

3.3 S-IDNC vs. G-IDNC

In this subsection, we address the question of how does S-IDNC compare with G-IDNC?

We first note that the NP-hardness of finding D s also holds for D g . This is because the perfect S-IDNC solution \(\mathcal {S}_{p}\) is also the best possible G-IDNC solution. For the throughput, we first present a relation between S- and G-IDNC graphs (proved in the appendix):

Theorem 4.

The minimum clique partition solutions of S-IDNC and G-IDNC 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 G-IDNC 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 G-IDNC 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 brute-force search remains widely open.

4 S-IDNC transmission schemes

In this section, we design S-IDNC 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. 1.

    Fully-online 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. 2.

    Semi-online feedback: feedback is only collected after transmitting a complete S-IDNC solution;

     
To be able to design S-IDNC transmission schemes, two questions need to be answered first:
  1. 1.

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

     
  2. 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 NP-hard 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 NP-hardness 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 Fully-online transmission scheme

In this scheme, the current state in SSP is the current SFM A, the absorbing state is the all-zero SFM and is denoted by A 0. The action space comprises all the S-IDNC 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 S-IDNC solution and is denoted by \(\mathcal {S}_{m}\).

In conclusion, we propose the following coded packet \(\mathcal {M}_{f}\) for fully-online 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 S-IDNC solution that contains U s maximal cliques.

4.2 Semi-online transmission scheme

The current and absorbing states in this scheme is the same as in the fully-online scheme. But the action space becomes the set of all S-IDNC 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 semi-online 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 semi-online 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:
$$ P_{s}=\prod_{k=1}^{K}\prod_{R_{n}\in\mathcal T_{k}}\left(1-P_{e,n}^{d_{k}}\right). $$
(10)

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 semi-online S-IDNC 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 fully-online 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 semi-online S-IDNC 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 S-IDNC solutions:

Property 3.

Every coding set in an S-IDNC 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 S-IDNC solution \(\mathcal {S}_{s}\) has at least \(|\mathcal {S}_{s}|\) data packets with a multiplicity of only one. According to (10), these unit-multiplicity data packets reduce P s the most. Hence, S-IDNC solutions with a larger size may have more unit-multiplicity 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 semi-online S-IDNC solution as follows:

Given an SFM instance, the preferred semi-online S-IDNC 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 flow-chart of the proposed two transmission schemes are presented in Fig. 4. Both the fully- and semi-online 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 S-IDNC in the next section. Before moving on, we briefly compare S-IDNC and G-IDNC under the above two transmission schemes.
Fig. 4

The fully- and semi-online transmission schemes

4.3 S-IDNC vs. G-IDNC

With fully-online feedback, the sender can update the G-IDNC graph \(\mathcal {G}_{g}\) and add new edges representing coding opportunities after every transmission. The throughput of G-IDNC is thus better than S-IDNC. But, the price is high computational load, because G-IDNC graph is much larger than S-IDNC 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 semi-online 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 S-IDNC.

5 S-IDNC coding algorithms

The two transmission schemes we proposed in the last section require finding \(\mathcal {S}_{m}\), an S-IDNC solution that contains U s maximal coding sets. In this section, we develop its optimal and heuristic algorithms.

5.1 Optimal S-IDNC coding algorithm

Our optimal algorithm finds all valid \(\mathcal {S}_{m}\) in two steps:
  • Step-1 Find all the maximal coding sets (maximal cliques): This problem is NP-hard 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 Bron-Kerbosch (B-K) algorithm [42]. We use B-K algorithm to optimally find the group of all maximal cliques and denote the group by \(\mathcal {A}\).

  • Step-2 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 Step-1, 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 Step-2:
  • 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;
    Fig. 5

    An example of the two-step optimal S-IDNC coding algorithm

  • 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}\).

B-K algorithm and Algorithm 1 constitute our optimal S-IDNC 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 S-IDNC 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.

B-K algorithm and Algorithm 2 constitute our hybrid S-IDNC coding algorithm. It produces only one S-IDNC solution, with no guarantee on the solution size. It is still computational expensive due to B-K algorithm. Thus, we develop a polynomial time heuristic S-IDNC coding algorithm next.

5.3 Heuristic S-IDNC 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 S-IDNC 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 iteration-i will be Ki, i [ 0,K−1]. Then, to find the vertex with the largest number of incident edges, we need Ki comparisons. The total computational cost is thus in the order of \(\sum _{i=0}^{K-1}K-i=K(K-1)/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 S-IDNC 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 exponential-time algorithms in terms of K due to their use of B-K algorithm, while the heuristic algorithm is a polynomial-time one. The output \(\mathcal {S}_{m}\) is used as the S-IDNC solution for the semi-online transmission scheme. If fully-online 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 S-IDNC (abbreviated as S- in the figures) under different scenarios, including under fully- and semi-online 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 S-IDNC with RLNC and G-IDNC. For RLNC, we assume a sufficiently large finite field, so that its throughput is almost surely optimal and serves as a benchmark. For G-IDNC, although its best performance is at least as good as S-IDNC (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 G-IDNC 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 S-IDNC 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 fully-online (resp. semi-online) 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 feedback-free. In the fourth set, we evaluate the performance of our hybrid algorithm under different packet erasure probabilities and compare it with fully-online heuristic G-IDNC and RLNC. The results are presented in Fig. 9.
Fig. 6

The throughput and decoding delay performance limits of S- and G-IDNC, and RLNC

Fig. 7

The throughput and decoding delay performance of fully online transmission scheme when different coding algorithms are applied. It is compared with the performance of heuristic fully-online G-IDNC and RLNC

Fig. 8

The throughput and decoding delay performance of semi-online transmission scheme when different coding algorithms are applied. It is compared with the performance of heuristic semi-online G-IDNC and RLNC

Fig. 9

The throughput and decoding delay performance of hybrid S-IDNC with different feedback frequencies and under different P e . It is compared with the performance of heuristic fully-online G-IDNC and RLNC

Our observations on S-IDNC are as follows:
  • The absolute minimum block completion time of S-IDNC increases almost linearly with N. This result matches Corollary 1;

  • The fully-online transmission scheme always provides better throughput and decoding delay performance than the semi-online 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 G-IDNC shows that:
  • The throughput of RLNC is always the best. The throughput of S-IDNC 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 G-IDNC is better than RLNC. This advantage only vanishes when the block completion time of S- and G-IDNC 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 S-IDNC is better than RLNC under all simulated values of packet erasure probability;

  • There is no clear winner between the performance of heuristic G-IDNC and optimal S-IDNC. We can expect that G-IDNC will outperform S-IDNC 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, S-IDNC 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 S-IDNC 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 S-IDNC decreases with increasing an number of receivers. By introducing the concept of perfect S-IDNC solution, we proved the NP-hardness 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 semi-online receiver feedback is collected. We developed optimal and heuristic S-IDNC coding algorithms that minimize the solution size and increase packet multiplicity. We also compared S-IDNC with G-IDNC by proving the equivalence between the chromatic number of the complementary S-IDNC and G-IDNC graphs.

Our work provides new understandings of S-IDNC. It will facilitate the extension of S-IDNC 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 error-free 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 G-IDNC, non-instantly 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 NP-complete to decide the existence of the perfect S-IDNC 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 NP-complete 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 NP-complete 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,1v 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 NP-complete to decide whether \(\mathcal {G}\) is γ-colorable or not, our reduction proves that it is NP-complete to decide whether a γ-uniform hypergraph is strongly γ-colorable or not.

We now prove the NP-completeness 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 S-IDNC 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 S-IDNC solution \(\mathcal {S}_{p}\).

  • If A has the perfect S-IDNC 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 NP-complete to decide whether a γ-uniform hypergraph is strongly γ-colorable or not, our reduction proves that it is NP-complete 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 S-IDNC solution is also a G-IDNC solution, but a G-IDNC solution is not necessarily an S-IDNC 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 S-IDNC graph \(\mathcal {G}_{\textit {as}}\) of a G-IDNC 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 S-IDNC graph \(\mathcal {G}_{s}\) is the same as the affiliated S-IDNC graph \(\mathcal {G}_{\textit {as}}\) of its G-IDNC 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 S-IDNC 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. 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. 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. 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 self-evident, 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 pair-wise non-conflicting 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 S-IDNC 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 S-IDNC 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.

Declarations

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.

Authors’ Affiliations

(1)
Research School of Engineering, Australian National University

References

  1. JK Sundararajan, D Shah, M Médard, in Proc. IEEE Int. Symp. Information Theory (ISIT). ARQ for network coding, (2008).Google Scholar
  2. R Ahlswede, N Cai, S Li, R Yeung, Network information flow. IEEE Trans. Inf. Theory. 46, 1204–1216 (2000).MATHMathSciNetView ArticleGoogle Scholar
  3. 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).View ArticleGoogle Scholar
  4. C Fragouli, J Widmer, J Le Boudec, Efficient broadcasting using network coding. IEEE/ACM Trans. Netw. 16(2), 450–463 (2008).View ArticleGoogle Scholar
  5. L Keller, E Drinea, C Fragouli, in Proc.IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). Online broadcasting with network coding, (2008).Google Scholar
  6. 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).View ArticleGoogle Scholar
  7. T Tran, T Nguyen, B Bose, in Proc. IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). A joint network-channel coding technique for single-hop wireless networks, (2008).Google Scholar
  8. D Nguyen, T Tran, T Nguyen, B Bose, Wireless broadcast using network coding. IEEE Trans. Veh. Technol. 58(2), 914–925 (2009).View ArticleGoogle Scholar
  9. DE Lucani, M Médard, M Stojanovic, in Proc. IEEE 4th Workshop on Network Coding, Theory, and Applications (NetCod). Broadcasting in time-division duplexing: a random linear network coding approach, (2009), pp. 62–67.Google Scholar
  10. DE Lucani, M Médard, in Proc. IEEE Global Telecommun. Conf. (GLOBECOM). Random linear network coding for time-division duplexing: field size considerations, (2009).Google Scholar
  11. 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).Google Scholar
  12. S Sorour, S Valaee, in Proc. IEEE Global Telecommun. Conf. (GLOBECOM). Minimum broadcast decoding delay for generalized instantly decodable network coding, (2010).Google Scholar
  13. 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).Google Scholar
  14. 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.Google Scholar
  15. 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).View ArticleGoogle Scholar
  16. P Sadeghi, M Yu, N Aboutorab, in Proc. IEEE Int. Symp. Information Theory and its Applications (ISITA). On throughput-delay tradeoff of network coding for wireless communications, (2014), pp. 689–693.Google Scholar
  17. M Yu, P Sadeghi, N Aboutorab, From instantly decodable to random linear network coding. IEEE Trans Commun. 62(11), 3943–3955 (2014).View ArticleGoogle Scholar
  18. 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).View ArticleGoogle Scholar
  19. 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.Google Scholar
  20. X Li, C-C Wang, Lin X, On the capacity of immediately-decodable coding schemes for wireless stored-video broadcast with hard deadline constraints. IEEE J. Sel. Areas Commun. 29(5), 1094–1105 (2011).View ArticleGoogle Scholar
  21. L Yang, YE Sagduyu, JH Li, in Proc. ACM Int. Symp. Mobile Ad Hoc Networking and Computing (MobiHoc). Adaptive network coding for scheduling real-time traffic with hard deadlines, (2012), pp. 105–114.Google Scholar
  22. SY El Rouayheb, MAR Chaudhry, A Sprintson, in Proc. IEEE Information Theory Workshop (ITW). On the minimum number of transmissions in single-hop wireless coding networks, (2007).Google Scholar
  23. S Sorour, S Valaee, in Proc. IEEE. Int. Conf. Communications (ICC). On minimizing broadcast completion delay for instantly decodable network coding, (2010).Google Scholar
  24. S Sorour, S Valaee, Coding opportunity densification strategies for instantly decodable network coding. IEEE Trans. Commun. 61(12), 5077–5089 (2013).View ArticleGoogle Scholar
  25. 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).View ArticleGoogle Scholar
  26. 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.Google Scholar
  27. 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.Google Scholar
  28. Y Keshtkarjahromi, H Seferoglu, R Ansari, A Khokhar, in Proc IEEE Int. Conf. Computing, Networking and Communications (ICNC). Content-aware instantly decodable network coding over wireless networks, (2015), pp. 803–809.Google Scholar
  29. 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.Google Scholar
  30. S Sorour, S Valaee, in Proc. IEEE ICC. Completion delay minimization for instantly decodable network coding with limited feedback, (2011).Google Scholar
  31. A Le, AS Tehrani, AG Dimakis, A Markopoulou, in Proc. IEEE Int. Symp. Network Coding (NetCod). Instantly decodable network codes for real-time applications, (2013).Google Scholar
  32. N Aboutorab, S Sorour, P Sadeghi, in Proc. IEEE Int. Symp. Network Coding (NetCod). O2-gidnc: Beyond instantly decodable network coding, (2013), pp. 1–6.Google Scholar
  33. JM Harris, JL Hirst, MJ Mossinghoff, Combinatorics and Graph Theory, 2nd Edition (Springer Press, Verlag New York, 2008).MATHView ArticleGoogle Scholar
  34. M Kubale, Graph Coloring, ser. Contemporary Mathematics (American Mathematical Society, Providence, Rhode Island, 2004).View ArticleGoogle Scholar
  35. WA Vasconcelos, CW Avery, WAJ Luxemburg, RE Shafer, D Marcus, DP Gelle, Advanced Problems: 5707-5713. American Mathematical Monthly. 77, 84–85 (1970).MathSciNetView ArticleGoogle Scholar
  36. W Xiao, D Starobinski, in Proc. IEEE Conf. Comput. Commun. (INFOCOM). Extreme value FEC for reliable broadcasting in wireless networks, (2009).Google Scholar
  37. M Ghaderi, D Towsley, J Kurose, in Proc. IEEE Conf. Comput. Commun. (INFOCOM). Reliability gain of network coding in lossy wireless networks, (2008).Google Scholar
  38. B Swapna, A Eryilmaz, NB Shroff, Throughput-delay analysis of random linear network coding for wireless broadcasting. IEEE Trans Inf. Theory. 59(10), 6328–6341 (2013).MathSciNetView ArticleGoogle Scholar
  39. B Ballobás, Random Graphs (Cambridge University Press, Cambridge, UK, 2001).View ArticleGoogle Scholar
  40. B Bollobás, The chromatic number of random graphs. Combinatorica. 8(1), 49–55 (1988).MATHMathSciNetView ArticleGoogle Scholar
  41. 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.Google Scholar
  42. C Bron, J Kerbosch, Algorithm 457, Finding all cliques of an undirected graph. Commun. ACM. 16(9), 575–577 (1973). New York.MATHView ArticleGoogle Scholar
  43. G Agnarsson, MM Halldórsson, in Approximation and Online Algorithms. Strong colorings of hypergraphs (SpringerBerlin Heidelberg, 2005), pp. 253–266.View ArticleGoogle Scholar

Copyright

© Yu et al. 2015