Instantly decodable network coding for realtime devicetodevice communications
 Ahmed Douik^{1}Email author,
 Sameh Sorour^{2},
 Tareq Y. AlNaffouri^{2, 3} and
 MohamedSlim Alouini^{3}
https://doi.org/10.1186/s136340150293z
© Douik et al. 2015
Received: 1 June 2015
Accepted: 1 December 2015
Published: 4 January 2016
Abstract
This paper studies the delay reduction problem for instantly decodable network coding (IDNC)based devicetodevice (D2D) communicationenabled networks. Unlike conventional pointtomultipoint (PMP) systems in which the wireless base station has the sufficient computation abilities, D2D networks rely on batterypowered operations of the devices. Therefore, a particular emphasis on the computation complexity needs to be addressed in the design of delay reduction algorithms for D2D networks. While most of the existing literature on IDNC directly extend the delay reduction PMP schemes, known to be NPhard, to the D2D setting, this paper proposes to investigate and minimize the complexity of such algorithms for batterypowered devices. With delay minimization problems in IDNCbased systems being equivalent to a maximum weight clique problems in the IDNC graph, the presented algorithms, in this paper, can be applied to different delay aspects. This paper introduces and focuses on the reduction of the maximum value of the decoding delay as it represents the most general solution. The complexity of the solution is reduced by first proposing efficient methods for the construction, the update, and the dimension reduction of the IDNC graph. The paper, further, shows that, under particular scenarios, the problem boils down to a maximum clique problem. Due to the complexity of discovering such maximum clique, the paper presents a fast selection algorithm. Simulation results illustrate the performance of the proposed schemes and suggest that the proposed fast selection algorithm provides appreciable complexity gain as compared to the optimal selection one, with a negligible degradation in performance. In addition, they indicate that the running time of the proposed solution is close to the random selection algorithm.
Keywords
Devicetodevice communications Instantly decodable network coding Maximum weight clique1 Introduction
Network coding (NC), initiated by Ahlswede, Cai, Li, and Yeung in their seminal paper [1], is a simple yet powerful technique to improve the performance of the communication systems significantly. The fundamental concept of NC is to perform arbitrary coding operations on the contents of packets rather than the direct replication and forwarding implemented in traditional storeandforward networks. Such internetwork coding enables a high throughput [2], a fast recovery [3], and reliable communications over lossy channels [4]. The merits of NC are even more noticeable in broadcast wireless networks allowing it to be a graceful solution and a suitable technique for realtime applications [5, 6].
In the last few years, instantly decodable network coding (IDNC) attracted a considerable amount of research [7–10]. As its name indicates, IDNC allows instantaneous and progressive decoding of packets, a propriety of great interest for realtime applications. IDNC is implemented by mixing packets using the binary field , i.e., encoding is performed using binary XOR operations [11]. To further reduce the decoding complexity, noninstantly decodable packets are discarded at users [12]. Such features in IDNC enable the design of costefficient receiver devices as they allow fast XORbased encoding and decoding and remove the need for buffers.
Consider a radio access network in which a base station (BS) is required to deliver a frame, composed of several packets, to a set of users. In an initial phase, the BS broadcasts the packets one after the other. The erasure nature of the wireless medium creates a diversity of received/lost packets at each user. The “sender" takes advantage of such diversity to transmit XORencoded packets targeting multiple receivers. The process, called the recovery phase, is repeated until all users successfully receive all packets. In previously mentioned IDNC works, the BS is assumed to be the sole sender in the system and hence the only responsible for both the initial and the recovery phases. Such pointtomultipoint (PMP) network configuration jeopardizes the ability of the BS to satisfy the ever more increasing data rate requirements notably in the next generation mobile radio system (5G) [13]. To mitigate the aforementioned effect, the notion of devicetodevice (D2D) communications [14] is proposed as a promising technique for 5G. Taking advantages of the potentially more reliable shortrange communications [14], devices are allowed to transmit to each other coded packet resulting in an increase in performance [15–18].
Despite its obvious advantages, the emergence of the D2D paradigm entails the redesign of the old protocols instead of their mere transplantation as it brings an additional set of challenges, particularly in terms of the computation complexity. Whereas in conventional PMP systems, the BS has the sufficient computation abilities to carry sophisticated optimizations, and D2D networks rely on batterypowered operations of the devices. Therefore, a particular emphasis on the computation complexity needs to be addressed in the design of delay reduction algorithms for D2D networks. Such redesign ranges from the optimization steps to the sacrifice of optimality to the benefit of convergence speed. This paper proposes to reduce the complexity of the delay reduction algorithms through efficient construction, update, and dimension reduction of the solution. The paper, further, suggests a fast selection algorithm with appreciable complexity gain as compared to the literature schemes and a negligible degradation in performance.
1.1 Related work

Completion time: the overall transmission time

Decoding delay: the individual delay when delivered a useless packet at its reception moment
The completion time experienced is composed of a fixed delay (the initial transmission phase of the frame) and a variable delay (the recovery period). This definition of delay depends on the channel condition. If the channel condition is harsh, i.e., high erasure probability, the completion time increases regardless of the reception status of the packet. On the other hand, the decoding delay offers a definition more independent of the channel conditions since no delay is taken into account if the intended packet is erased and only delays due to the chosen encoded packet are considered. Furthermore, the decoding delay quantifies the degradation as compared to the “optimal” scheme in which the sender is able to satisfy all users by a new packet at each transmission.
In all aforementioned works, the authors considered the decoding delay as the sum of all the individual decoding delays experienced by all receivers. This definition of delay does not permit to have an equitable distribution of the delays between the different receivers since only the sum of all the individual delays counts. This paper introduces the maximum delay, i.e., the maximum value of the decoding delay experienced by all users, as a more reliable delay metric in IDNC that offers a better quality of service.
Recently, some works [20–23] begin to address the delay reduction problem in IDNCenable D2D network configuration. While the authors in [20, 21, 23] design algorithm for the sum decoding delay reduction, references [20, 22] propose schemes for the completion time reduction. However, these works intersect as they directly extend the delay reduction PMP schemes, known to be NPhard, to the D2D setting without considering the complexity issue for such batterypowered networks.
This paper’s main contribution is to propose efficient algorithms for the delay reduction in IDNCbased D2D networks. This paper introduces and focuses on the maximumdelay reduction as it represents the most general solution. The paper reduces the complexity of the solution by first proposing efficient methods for the construction, the update, and the dimension reduction of the IDNC graph. The paper, further, shows that, under particular scenarios, the problem boils down to a maximum clique problem. Due to the complexity of discovering such maximum clique, the paper presents a fast selection algorithm.
The techniques proposed in this paper are independent of the setting and the considered metric. Indeed, as delay minimization problems in IDNCbased systems are equivalent to a maximum weight clique problems in the IDNC graph, the presented algorithms can be applied to different delay aspects and network settings. For example, they can be applied to reduce the complexity of the sum decoding delay minimization problem in imperfect feedback scenario proposed in [24] to the decentralized completion time reduction algorithm for D2D networks proposed in [22].
2 System model and problem formulation
2.1 System model and parameters
Consider a set \(\mathcal {M}\) of M geographically close devices that require a set \(\mathcal {N}\) of N source packets that a BS holds. In this paper, the term packet has a general connotation that includes messages, files, frames from a video stream, etc. Each device \(i \in \mathcal {M}\) is interested in receiving all the packets of the frame \(\mathcal {N}\), regardless of the order.

The Has set \(\mathcal {H}_{i}\): packets received by device i

The Wants set \(\mathcal {W}_{i}=\mathcal {N} \! \setminus \! \mathcal {H}_{i}\): packets erased at device i

Instantly decodable: a combination is instantly decodable for device i if it contains exactly one packet from \(\mathcal {W}_{i}\).

Noninstantly decodable: a combination is noninstantly decodable for device i if it does not contain exactly a single packet from \(\mathcal {W}_{i}\).
The decoding delay [12] is defined as follows:
Definition 1.
At any recovery phase transmission, a device i, with nonempty Wants set, increases by one unit if it successfully receives a packet that is noninstantly decodable. The maximum delay is the highest decoding delay experienced by all devices.
In other words, the decoding delay measures the number of noninstantly decodable packets received by each user which translates the degradation from the perfect scheme in which the sender is able to satisfy users with a new packet at each transmission.
2.2 Problem formulation
The decoding delay reduction problem is the one of selecting the communicating devices and the packet combinations that reduce the maximum delay of all devices. Due to the dynamic nature of the links, finding a schedule of transmission that optimally reduce the decoding delay for the entire recovery phase, prior to its start, is intractable. A commonly adopted technique [9, 10, 12, 20, 21, 23] is to minimize the decoding delay online, i.e., at each recovery transmission. D _{ j }(κ _{ i },n) is define as the total decoding delay experienced by device j from the beginning of the recovery phase until the transmission at time n in which device i is transmitting the packet combination κ _{ i }. The online decoding delay reduction problem, at the nth transmission, can be written as follows:
where the notation \(\mathcal {P}(\mathcal {X})\) refers to the power set of the set \(\mathcal {X}\) and refers to the expectation operator.
The following lemma reformulates the maximumdelay reduction problem in a more tractable form:
Lemma 1.
The online decoding delay reduction problem (2) can be reformulated by the following more tractable expression:
where is the probability operator and is the event that the maximum delay increases at the nth transmission, i.e.,
Proof.
Let i ^{∗} and \(\kappa _{i}^{*}\) be the transmitting user and packet combination that optimally solve (2). Furthermore, let j ^{∗} and j ^{ † } be defined as the users that maximize the decoding delay after sending the combinations κ _{ i } and \(\kappa _{i}^{*}\). In other words,
To show the lemma, it is sufficient to show that the combination of the transmitting user i ^{∗} and the packet \(\kappa _{i}^{*}\) achieves the minimal value of the optimization problem (3).
By inspection of the online decoding delay D _{ j }(κ _{ i },n) in (2), the transmitted packet combination κ _{ i } affects only the most recent increase in the decoding delay. Hence, such online decoding delay can be decomposed as D _{ j }(κ _{ i },n)=d _{ j }(κ _{ i },n) + D _{ j }(n−1), where d _{ j }(κ _{ i },n) is the delay experienced by device j for the transmission of the packet combination κ _{ i } and D _{ j }(n−1) is the cumulative decoding delay experience until the nth transmission excluded. Therefore, D _{ j }(κ _{ i },n) is Bernoulli random variable that takes the values D _{ j }(n−1) and D _{ j }(n−1)+1 with probabilities α and 1−α where α is a parameter that depends on the transmitting user and packet combination. Therefore, the expected decoding delay can be written as:
Given that \((i^{*},\kappa _{i}^{*})\) is the optimal solution to (2), the following inequality holds for any combination (i,κ):
To conclude the proof, it is sufficient to note that the probability that the maximumdelay increase can be written as follows:
Similarly, . Therefore, using the inequality illustrated in (8), it can easily be seen that \(\left (i^{*},\kappa _{i}^{*}\right)\) is an achievable lower bound for the optimization problem (3). Finally, we conclude that both optimization problems (2) and (3) are equivalent.
The rest of the paper presents efficient methods to optimally and heuristically solve the optimization problem (3). In the next section, the probability distributions of the maximumdelay increase are derived. Such expressions allow the construction of the IDNC graph and the reformulation of the optimal packet selection problem as a maximum weight clique search that can be globally solved using efficient algorithms, e.g., [25, 26]. To further reduce the complexity of the proposed solution, the paper suggests optimizing the construction, the update, and the dimension of the graph. Finally, the paper presents a fast device selection algorithm so as to decrease both the complexity and the signaling in the system.
3 Maximum decoding delay reduction
This section illustrates the optimal solution to the optimization problem (3). First, the maximumdelay increment are expressed for an arbitrary transmitting device and a feasible packet combination. Such expressions allow the reformulation of the packet combination problem as a maximum weight clique problem in the IDNC graph. Searching for the maximum weight clique for each device identifies the optimal transmitting device and the optimal packet combination to be transferred. Finally, with the optimal solution of (3) being potentially not unique, a multilayer solution is suggested so as to improve the performance of the system by an efficient choice of one of the optima.
3.1 Maximumdelay increment
As the cumulative decoding delay is an increasing function, then for any transmitting device i and packet combination κ _{ i }, it is clear that \(\phantom {\dot {i}\!}D_{j}(n1) \leq D_{j}(\kappa _{i},n),~\forall \ j\in \mathcal {M},\ \forall ~n > 1\). Therefore, the probability of a decoding delay increase can be reformulated as follows:
where \(D^{*}(n1) = \max _{j \in \mathcal {M}} D_{j}(n1)\) is the maximum delay reached in the (n−1)th transmission.
Define \(\mathcal {L}(n)\) as the set of devices having the maximal decoding delay at time n−1, i.e., \(i \in \mathcal {L}(n) \Leftrightarrow D_{i}(n1) = D^{*}(n1)\)). As the decoding delay increase by, at most, one unit at each transmission, then devices \(j \notin \mathcal {L}(n)\) have zero probability to increase the maximum delay as compared to D ^{∗}(n−1) even if they experience a decoding delay. Hence, the probability (10) is controlled solely by devices \(j \in \mathcal {L}(n)\) and may be written as follows:
According to Definition 1, the delay d _{ j }(κ _{ i },n) experienced by device j, with nonempty Wants set, at the nth transmission by device i of the packet combination κ _{ i } can be expressed as follows:
where a device j is said to be targeted by the combination κ if it is instantly decodable for him.
Let τ(κ) be the set of targeted devices by the packet combination κ and let M _{ w } be the set of devices having nonempty Wants set. Substituting (12) in (11), the probability of event to occur can be expressed as follows:
3.2 Local IDNC graph
To determine both all possible XORbased combinations and the devices that can instantly code each of them in a PMP system, the authors in [12] introduce the IDNC graph. This subsection extends the formulation to the D2D setting under investigation. While the BS in a PMP network can generate any packet combination, devices, in a D2D configuration, can produce combination using only the packets they have already received in previous transmissions. This subsection illustrates how an arbitrary transmitting device i can build a similar IDNC graph. In the context of D2D communications, such graph is referred to as the local IDNC graph.

C1: k=m⇒ packet k is needed by both devices j and l

C2: \(k \in \mathcal {H}_{l}\) and \(m \in \mathcal {H}_{j} \Rightarrow \) the packet combination k⊕m is instantly decodable for both devices j and l
Given the local IDNC graph \(\mathcal {G}_{i}\) as constructed above, the following lemma links the set of possible packet combinations to the set of cliques of the graph.
Lemma 2.
The set of all feasible packet combinations that device i can generate is represented by the set of maximal cliques in \(\mathcal {G}_{i}\). Applying binary XOR to the vertices of a selected maximal clique κ _{ i } produces the packet combination that targets the devices τ(κ _{ i }) represented by that maximal clique.
Proof.
The proof of this lemma is omitted as it mirrors the steps used in proving Proposition 1 in [27]. In fact, as device i can generate combination using only the packets it already holds, then the whole network can be considered as if it contains \(\mathcal {M}^{\prime } = \mathcal {M} \setminus \! \{i\}\) devices and \(\mathcal {N}^{\prime } = \mathcal {H}_{i}\) packets. Following a similar steps as in [27], the reduced network yields the desired result.
3.3 Maximum decoding delay reduction
In order to reach the optimal solution to the optimization problem (3), the optimal packet combination that an arbitrary device i can generate in the nth transmission is first derived, i.e., the optimal solution to the following problem:
The optimal solution to the optimization problem (14) is characterized in the following theorem.
Theorem 1.
Proof.
where \(\mathcal {C}_{i}\) is the set of maximal cliques in the local IDNC graph \(\mathcal {G}_{i}\) of device i. In other words, the optimal packet combination \(\kappa _{i}^{*}\) that device i can generate in the nth transmission is the maximum weight clique in \(\mathcal {G}_{i}\) in which the weights of vertices are defined in (15).

Each device broadcasts the weight of its maximum weight clique and the device with the maximum weight transmits for the upcoming time slot. The algorithm complexity per device is O(M ^{2} N), and the broadcast load is M collisionfree transmissions.

Each device determines the maximum weight clique of all the other devices and the device with the maximum weight transmits. The algorithm complexity per device is O(M ^{3} N). However, no broadcast load is required.
3.4 Multilayer solution
As shown in the previous subsection, the optimal transmitting device i ^{∗} is the one that maximizes \(\max _{i \in \mathcal {M}} y\left (\kappa _{i}^{*}\right)\), where y(.) is the objective function of (3) and \(\kappa _{i}^{*}\) is the optimal packet combination obtained from Theorem 1. This subsection improves upon the proposed solution by noting that the optimal solution may not be unique and suggesting an improvement based on an efficient choice of one of the optima of (14).
According to Theorem 1, the optimal packet combination is the maximum weight clique in the local IDNC graph of device i ^{∗}. However, since vertices \(v \notin \mathcal {L}(n)\) have a zero weight, then the maximum weight clique may not be unique. To improve the performance of the proposed algorithm, this paper proposes prioritizing devices that are more likely to be in \(\mathcal {L}(n+\delta), \delta >0\). It is easy to see that a device j is potentially in \(\mathcal {L}(n+\delta), \delta >0\) if δ is the smallest integer such that D _{ j }(n−1)+δ=D ^{∗}(n−1) where \(D^{*}(n~1) = \max _{j \in \mathcal {M}} D_{j}(n1)\) is the maximum delay at the (n − 1)th transmission. In fact, such device j is in \(\mathcal {L}(n\,+\,\delta)\) if he experiences δ successive decoding delay increases.
Based on the prioritization above, this subsection suggest dividing the local IDNC graph into layer of decreasing importance. Let \(\mathcal {L}_{\delta }, \delta =0,\ 1,\ \cdots \) be the layers of the graph containing only the vertices v _{ jk } such that \(j \in \mathcal {L}(n+\delta)\). Further, let \(\mathcal {L}_{\delta }(\kappa)\) be the layer that contains vertices in \(\mathcal {L}_{\delta }\) that are adjacent to all the vertices in κ. In the layered graph proposed above, the weight of a vertex v _{ jk } is w(v _{ jk })=− log(p _{ ij }). The following corollary indicates an efficient choice of one of the optima of (14).
Corollary 1.
The optimal packet combination \(\kappa _{i^{*}}^{*}\) can be obtained by solving the maximum weight clique in the first layer \(\mathcal {L}_{0}=\mathcal {L}(n)\) of the local IDNC graph of device i ^{∗}. To serve the maximum number of devices according to their prioritization, the maximum weight clique problem is sequentially solved for layers \(\mathcal {L}_{\delta }(\kappa), \delta =1,\ \cdots \) containing the vertices connected to the maximum weight clique chosen so far. The steps are summarized in Algorithm 1.
Proof.
It is clear that the algorithm described above respects the prioritization among devices as the maximum weight clique problem is solved sequentially for a decreasing order of priority. Therefore, it is sufficient to show that the set of vertices produced by Algorithm 1 is the maximum weight clique in the local IDNC graph.
Let κ be the set of vertices generated by Algorithm 1. It is easy to note that it is a clique since all the vertices are connected to each other. Further, assume that κ is not maximal, i.e., \(\exists \ v \in \mathcal {V}_{i^{*}}\) such that κ∪v is a clique. Let \(\mathcal {L}_{\delta }\) be the layer of vertex v. Since κ∪v is a clique, then v is connected to all vertices in κ and as a result \(v \in \mathcal {L}_{\delta }(\kappa)\). Since the algorithm computes the maximum weight clique in \(\mathcal {L}_{\delta }(\kappa)\), then either v∈κ or v is not connected to κ. Both options are in contradiction with the original assumption. Therefore, such v does not exist. To conclude the proof, note that, in the local IDNC graph, only vertices in \(\mathcal {L}(n)\) have a nonzero weight. The algorithm begins by searching the maximum weight clique in the \(\mathcal {L}_{0}=\mathcal {L}(n)\), then both approaches produce the same set of vertices in \(\mathcal {L}(n)\). Therefore, κ is a maximum weight clique in the local IDNC graph and hence one of the optima of (14).
4 Proposed algorithms
This section proposes reducing the complexity of finding the optimal solution to the maximumdelay reduction problem. The fundamental concept of such complexity reduction is improving the local IDNC graph formulation and the maximum weight clique search algorithm. Therefore, the first part of this section suggests an optimized method for the construction of such graph and its update. Afterwards, the paper derives sufficient conditions for reducing the size of the graph and transforming the maximum weight clique search to a simpler maximum clique discovery problem. Finally, the section proposes a heuristic to reduce further the complexity of the proposed solution and adapt the computation to the abilities of mobile devices.
4.1 IDNC graph construction and update
As shown in the previous section, the optimal solution to the maximumdelay reduction problem involves a maximum weight clique over the local IDNC graph of each device. Due to the update in the SM, such search requires the construction of the corresponding graph at each transmission. The complexity of generating the graph depends on the number of wanted packets by each device. However, it is always proportional to the quantity \(\mathcal {O}(M^{2}N)\) where the proportionality constant is the number of desired packets, i.e., the number of 1’s in the SM. This section proposes reducing such complexity by constructing an extended version of the local IDNC graph containing hidden vertices and updating it at each transmission.
The key idea of constructing the extended local IDNC graph of device i is to generate an IDNC graph similar to the BS’s one. As a device is unable to target itself, its vertices are removed from the graph. Finally, vertices representing packets the device does not hold so far are hidden. Note that removing such vertices reduce the extended local IDNC graph to the one constructed in the previous section. Such hidden vertices are activated as soon as the device receives the corresponding packets. Therefore, the construction of the extended local IDNC graph \(\mathcal {G}_{i} (\mathcal {V}_{i},\mathcal {E}_{i})\) of device i requires the generation of a vertex v _{ jk } for each \(j \in \mathcal {M}\) and \(k \in \mathcal {W}_{j}\). The connectivity conditions between two vertices are the conditions C1 and C2 proposed in the previous section. Afterward, all vertices belonging to device i are removed, and all vertices representing packets that are not in the possession of device i (i.e., \(v_{\textit {jk}} k \notin \mathcal {H}_{i}\)) are set as hidden. The steps of the construction are summarized in Algorithm 2. Note that the complexity of generating the extended local IDNC graph is similar to the one of constructing the local IDNC graph, i.e., \(\mathcal {O}(M^{2}N)\).
For a transmitted clique κ, only a subset κ ^{+} of the targeted devices in κ receives the combination due to possible erasures that may occur. In order to update the extended local IDNC graph, the considered devices overhear the acknowledgement to determine κ ^{+}. Vertices in κ ^{+} being received are discarded from the graph, and the additional connections between the remaining vertices are added. Furthermore, if the device itself is targeted, then the hidden vertices corresponding to the packet he just received are activated, and the connections added. The complexity of updating the graph is proportional to \(\mathcal {O}(MN)\) where the proportionality constant is the number of vertices in κ ^{+} which is clearly less than the number of 1’s in the SM. The steps of the graph update are summarized in Algorithm 3.
4.2 Complexity reduction
This section proposes reducing the complexity of finding the optimal solution to the maximumdelay reduction problem by deriving a sufficient condition to transform the maximum weight clique search to a maximum clique problem.
Assume the maximum clique in the local IDNC graph is unique, the following theorem states a sufficient condition under which the maximum weight clique problem is equivalent to a maximum clique problem that can be solved efficiently.
Theorem 2.
Proof. To prove this theorem, a sufficient condition is first derived in terms of the maximum clique size. To conclude the proof, an upper bound on the size of the maximum clique is established.
The following lemma links the size of the maximum clique to the number of devices having nonempty Wants set:
Lemma 3.
The size of any clique in the local IDNC graph cannot exceed M _{ w }. In particular, the size \(\mathcal {C}\) of the maximum clique \(\mathcal {C}\) verify \(\mathcal {C} \leq M_{w}\).
Proof.
Assume \(\exists \ \mathcal {C}\) clique in IDNC such that \(\mathcal {C}>M_{w}\). Since all the vertices belongs to M _{ w }, then in virtue of the pigeonhole principle \(\exists \ v_{\textit {ij}} \neq v_{\textit {ik}} \in \mathcal {C}\). By construction of the graph, the packets belong to the Wants set, i.e., \(j,k \in \mathcal {W}_{i}\). Therefore, the packet combination containing j⊕k is not instantly decodable for device i. However, the packet combination represented by the clique is instantly decodable for all the devices included in it. Thus, the size of any clique cannot exceed M _{ w }.
Substituting the result of Lemma 3 in the inequality (21) gives the sufficient condition (18) to transform the maximum weight clique search to a maximum clique problem: □
Furthermore, the following corollary derives a sufficient condition to transform the maximum weight clique problem to a maximum clique search for all the remaining transmissions:
Corollary 2.
Assuming that at the nth transmission, the following inequality is verified \(M_{w} \leq \frac {w_{\min }}{\Delta _{w}}\), then for any transmission at time m≥n, the maximum weight clique problem can be transformed to a maximum clique problem.
Proof.
Using the same step as in (22), it is easy to conclude that \(M_{w}(m) \leq \frac {w_{\max }(m)}{\Delta _{w}(m)}, \ \forall \ m \geq n\).
4.3 Dimension reduction
As the complexity of finding the maximum weight clique heavily depends on the number of vertices in the graph, the subsection proposes to reduce the dimension of the local IDNC graph. While the first part of the subsection reduces the number of devices, the rest reduces the number of packets.
Let \(\mathcal {G}(\mathcal {V},\mathcal {E})\) be the local IDNC graph and let i,j be the two devices such that \(\mathcal {H}_{i}=\mathcal {H}_{j}\). The fundamental concept in reducing the number of devices is that such devices i,j can be served simultaneously. Therefore, instead of representing each by a vertex, this subsection suggest generating only a single vertex for both vertices. The weight of the vertex is defined as the sum of the individual weights of the vertices. The steps of the algorithm are illustrated in Algorithm 4. The following proposition characterizes the maximum weight clique in the reduced graph produced by Algorithm 4.
Proposition 1.
The maximum weight clique in the reduced graph produced by Algorithm 4 is equivalent to the maximum weight clique in the local IDNC graph.
Proof.
To prove this proposition, it is sufficient to show that the vertices representing devices i and j have the same set of connections in the local IDNC graph and that they are connected to each other. In fact, having the same set of connection implies that if one of the vertices, e.g., v _{ ik }, belongs to the maximum weight clique in the local IDNC graph, then the other, e.g., v _{ jk }, also belongs and vice versa. The weight being the sum of the individual weights concludes the proof.

Vertices are connected through C1, i.e., k=l. Therefore, C1 is also verified for v _{ jk } and v _{ ml } and they are connected.

Vertices are connected through C2, i.e., \(l \in \mathcal {H}_{i}\) and \(k \in \mathcal {H}_{m}\). Since \(\mathcal {H}_{i}=\mathcal {H}_{j}\), then \(l \in \mathcal {H}_{j}\). The condition \(k \in \mathcal {H}_{m}\) still being valid; hence, C2 is also verified for v _{ jk } and v _{ ml } and they are connected.
Finally, vertices v _{ ik } and v _{ jk } have the same set of connections, and they are connected to each other which concludes the proof.
Let \(\mathcal {T}_{k}= \{i \in \mathcal {M} \  \ k \in \mathcal {W}_{i}\}\) be the set of devices wanting packet k, and let k,l be the two packets such that \(\mathcal {T}_{k}=\mathcal {T}_{l}\). The key idea in reducing the number of packets is that such packets k,l can never be served simultaneously. Therefore, instead of representing each by a vertex, this subsection suggest generating only one of them. The steps of the algorithm are illustrated in Algorithm 5. The following proposition characterizes the maximum weight clique in the reduced graph produced by Algorithm 5.
Proposition 2.
The maximum weight clique in the reduced graph produced by Algorithm 5 is equivalent to the maximum weight clique in the local IDNC graph.
Proof.
To prove this proposition, it is sufficient to show that the vertices representing packets k and l have the same set of connections in the local IDNC graph and that they are not connected to each other. In fact, having the same set of connection implies that if one of the vertices, e.g., v _{ ik }, belongs to the maximum weight clique in the local IDNC graph, then the other, e.g., v _{ il }, cannot belong to it and vice versa. With both vertices having the same weight, the removal of packet k or packet l is arbitrary.
First, it is easy to infer that vertices v _{ ik } and v _{ jl },∀ i,j are not connected since they violate the connectivity conditions C1 and C2. Assume a vertex v _{ ik } is connected to a vertex v _{ mr } with r≠k. Then, from the connectivity condition C2, the following hold s _{ ik }=s _{ rm }=1 and s _{ mk }=s _{ ri }=0. Since \(\mathcal {T}_{k}=\mathcal {T}_{l}\), then it is clear that s _{ ik }=s _{ il } and s _{ ml }=s _{ mk }. Substituting in the previous equalities yield s _{ il }=1 and s _{ ml }=0 which conclude that vertices v _{ jl } and v _{ mr } are connected. Since the weight depends solely on the device represented by the vertex rather than the packet, then the vertices v _{ ik } and v _{ il } have the same weight and removing any one of them is arbitrary.
4.4 Fast selection algorithm
In order to perform fast device selection, this paper proposes a heuristic algorithm based on an approximation of the optimal solution. Instead of computing the optimal packet combination of each device and deciding afterwards which of the devices provides the highest gain, this subsection proposes calculating an upper bound on the achievable maximumdelay reduction. The transmitting device is the one that possesses both most of the packets that allow to achieve the upper bound and the least cumulative decoding delay.
Assuming erasurefree transmissions, the optimal packet combination that reduces the maximum delay is the maximum clique \(\tilde {\kappa }\) in the graph unweighted \(\mathcal {G}\left (\mathcal {V},\mathcal {E}\right)\) containing only \(\mathcal {L}(n)\). Each device can compute such packet combination by activating all the hidden vertices in its local IDNC graph and removing the weights and the vertices not belonging to \(\mathcal {L}(n)\). Due to the difference between the erasure between devices and the limitation on the number of simultaneously targeted devices, the first layer \(\mathcal {L}(n)\) is expected to contain only a few vertices; therefore, the determination of the maximum clique in this graph is cheap in terms of computation.
If more than one device satisfy the upper bound with the minimum decoding delay, i.e., the optimal solution of (27) is not unique, then the one with the smallest index transmits. The steps of the fast selection algorithm are illustrated in Algorithm 6. The complexity of the proposed fast selection algorithm is \(\mathcal {O}(MN)\) as compared to the \(\mathcal {O}(M^{2}N)\) of the algorithm proposed in the previous section. It is also worth mentioning that the proposed fast selection algorithm does not have a broadcast load as all devices solve the optimization problem (27).
5 Simulation results
This section presents the simulation results comparing the average maximum delay encountered by the devices while applying the pointtomultipoint system, the optimal, the fast, and the random device selections for D2Denabled networks. The number of devices, packets, and erasure probabilities vary so as to study multiple scenario. In the random client selection algorithm, only the selection of the transmitting device is random. The packet selection for that device is optimal. To assess that the proposed algorithm provides a more equitable distribution of the delay, the last simulation assumes that the receivers are subject to a hard deadline constraint T after which the user is considered as not served.
In these simulations, the maximum delay is computed over a large number of iterations and the average value is presented. The packet erasure probability is assumed to be perfectly known and to remain constant during a delivery period and changes from iteration to iteration while keeping its mean constant P of the D2D channel and Q for the BS/device one. As the shortrange communications, i.e., D2D, are more reliable, this paper assumes that Q=2P. The last part of these simulation study the effect of such parameter.
Running time of the different schemes
Parameters  M=60  M=100  M=604 

Schemes  P=0.15  P=0.15  P=0.3 
Optimal selection  571.71  1039.85  681.06 
Pointtomultipoint  220.07  340.15  212.73 
Fast selection  130.73  193.37  156.94 
Random selection  128.50  190.18  148.72 
6 Conclusions
This paper investigates the maximumdelay reduction problem for instantly decodable network codingbased devicetodevice communicationenabled systems. A particular emphasis on the computation complexity is given to the proposed delay reduction algorithms for D2D systems by a rigorous analysis and minimization of the complexity of the algorithms for batterypowered devices. The paper reduces the complexity of the solution by first proposing efficient methods for the construction, the update, and the dimension reduction of the local IDNC graph. The paper, further, shows that, under particular scenarios, the problem boils down to a maximum clique problem. Due to the complexity of discovering such maximum clique, the paper presents a fast device selection algorithm. Simulation results illustrate the performance of the proposed schemes and suggest that the proposed selection algorithm provides appreciable complexity gain as compared to the existing schemes, with a negligible degradation in performance.
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
References
 R Ahlswede, N Cai, SYR Li, RW Yeung, Network information flow. IEEE Trans. Inform. Theory. 46(4), 1204–1216 (2000).MATHMathSciNetView ArticleGoogle Scholar
 S Katti, D Katabi, W Hu, H Rahul, M Medard, in Proc. of Annual Allerton Conference on Communication, Control and Computing (Allerton’ 2005). The importance of being opportunistic: practical network coding for wireless environments (Monticello, Illinois, USA, 2005).Google Scholar
 JS Park, M Gerla, DS Lun, Y Yi, M Medard, Codecast: a networkcodingbased ad hoc multicast protocol. IEEE Wireless Commun.13(5), 76–81 (2006).View ArticleGoogle Scholar
 S Katti, H Rahul, W Hu, D Katabi, M Medard, J Crowcroft, XORs in the air: practical wireless network coding. IEEE/ACM Trans. Netw.16(3), 497–510 (2008).View ArticleGoogle Scholar
 HDT Nguyen, LN Tran, EK Hong, On transmission efficiency for wireless broadcast using network coding and fountain codes. IEEE Commun. Lett.15(5), 569–571 (2011).View ArticleGoogle Scholar
 L Keller, E Drinea, C Fragouli, in IEEE 4th Workshop on Network Coding, Theory and Applications (NetCod’ 2008). Online broadcasting with network coding (Hong Kong, China, 2008), pp. 1–6.Google Scholar
 A Douik, S Sorour, TY AlNaffouri, MS Alouini, A lossy graph model for delay reduction in generalized instantly decodable network coding. IEEE Wireless Commun. Lett.3(3), 281–284 (2014).View ArticleGoogle Scholar
 L Lu, M Xiao, LK Rasmussen, Design and analysis of relayaided broadcast using binary network codes. J. Commun.6(8), 610–617 (2011).View ArticleGoogle Scholar
 S Sorour, A Douik, S Valaee, TY AlNaffouri, M Alouini, Partially blind instantly decodable network codes for lossy feedback environment. IEEE Trans. Wireless Commun.13(9), 4871–4883 (2014).View ArticleGoogle Scholar
 A Douik, S Sorour, MS Alouini, TY AlNaffouri, in Proc. of IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob’ 2013). Delay reduction in lossy intermittent feedback for generalized instantly decodable network coding (Lyon, France, 2013), pp. 388–393.Google Scholar
 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
 S Sorour, S Valaee, in Proc. of IEEE Global Telecommunications Conference (GLOBECOM’ 2010). Minimum broadcast decoding delay for generalized instantly decodable network coding (Miami, Florida, USA, 2010), pp. 1–5.Google Scholar
 JG Andrews, S Buzzi, W Choi, SV Hanly, A Lozano, ACK Soong, JC Zhang, What will 5G be?IEEE J. Selected Areas Commun.32(6), 1065–1082 (2014).View ArticleGoogle Scholar
 SE Tajbakhsh, P Sadeghi, in Proc. of IEEE Information Theory Workshop (ITW’ 2012). Coded cooperative data exchange for multiple unicasts (Lausanne, Switzerland, 2012), pp. 587–591.Google Scholar
 S Li, SHG Chan, in Proc. of IEEE International Conference on Multimedia and Expo (ICME’ 2007). Bopper: wireless video broadcasting with peertopeer error recovery (Beijing, China, 2007), pp. 392–395.Google Scholar
 MV Pedersen, FHP Fitzek, in Proc. of the IEEE International Conference on Communications Workshops (ICC’ 2008). Implementation and performance evaluation of network coding for cooperative mobile devices (Beijing, China, 2008), pp. 91–96.Google Scholar
 P Vingelmann, MV Pedersen, FHP Fitzek, J Heide, in Proc. of IEEE Global Telecommunications Conference (GLOBECOM’ 2011). Onthefly packet error recovery in a cooperative cluster of mobile devices (Houston, Texas, USA, 2011), pp. 1–6.Google Scholar
 S Hua, Y Guo, Y Liu, H Liu, SS Panwar, Scalable video multicast in hybrid 3G/Adhoc networks. IEEE Trans. Multimedia. 13(2), 402–413 (2011).View ArticleGoogle Scholar
 T Ho, D Lun, Network Coding: An Introduction (Cambridge University Press, New York, NY, USA, 2008).View ArticleGoogle Scholar
 SE Tajbakhsh, P Sadeghi, N Aboutorab, in Proc. of Australian Communications Theory Workshop (AusCTW’ 2014). Instantly decodable network codes for cooperative index coding problem over general topologies (Sydney, Australia, 2014), pp. 84–89.Google Scholar
 N Aboutorab, P Sadeghi, SE Tajbakhsh. Proc. of IEEE International Symposium on Information Theory (ISIT’ 2013) (Istanbul, Turkey, 2013), pp. 3095–3099.Google Scholar
 A Douik, S Sorour, H Tembine, MS Alouini, TY AlNaffouri, in Proc. of IEEE Global Telecommunications Conference (GLOBECOM’ 2014). A game theoretic approach to minimize the completion time of network coded cooperative data exchange (Austin, Texas, USA, 2014), pp. 1583–1589.Google Scholar
 MS Karim, N Aboutorab, AA Nasir, P Sadeghi, in Proc. of IEEE Information Theory Workshop (ITW’ 2014). Decoding delay reduction in network coded cooperative systems with intermittent status update (Hobart, Tasmania, Australia, 2014), pp. 391–395.Google Scholar
 A Douik, S Sorour, TY AlNaffouri, MS Alouini, Delay reduction for instantly decodable network coding in persistent channels with feedback imperfections. IEEE Trans. Wireless Commun.PP(99), 1–1 (2015).View ArticleGoogle Scholar
 PRJ Ostergard, A fast algorithm for the maximum clique problem. Discrete Appl. Math. 120:, 197–207.Google Scholar
 K Yamaguchi, S Masuda, in Proc. Of the 23rd International Technical Conference on Circuits/Systems, Computers and Communications (ITCCSCC’ 2008). A new exact algorithm for the maximumweight clique problem (Yamaguchi, Japan.Google Scholar
 A Le, A Tehrani, A Dimakis, A Markopoulou, in Proc of International Symposium on Network Coding (NetCod’ 2013). Instantly decodable network codes for realtime applicationsCalgary, Canada, 2013), pp. 1–6.Google Scholar
 A Douik, S Sorour, M Alouini, TY AlNaffouri, in Proc. of IEEE Vehicular Technology Conference (VTCFall’ 2014). On minimizing the maximum broadcast decoding delay for instantly decodable network coding (Vancouver, BC, Canada, 2014).Google Scholar