Network Coding in the Link Layer for Reliable ... - IEEE Xplore

32 downloads 4062 Views 1MB Size Report
power noise sources, whose power spectral density (PSD) usually varies ... See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. ..... higher the achieved throughput will be (under packet error-free.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

1

Network Coding in the Link Layer for Reliable Narrowband Powerline Communications Josu Bilbao, Member, IEEE, Pedro M. Crespo, Senior Member, IEEE Igor Armendariz, Member, IEEE, and Muriel M´edard, Fellow, IEEE

Abstract—The wide availability of power distribution cables provides an interesting no-new-wires communication channel. However, its electrical characteristics make it a harsh environment for the data transmission purpose, and prevents the deployment of services with high reliability requirements. This paper proposes and implements an OSI-Layer2 network coding-based cooperative scheme with the aim of improving communications reliability in indoor narrowband powerline channels. The proposed scheme uses random linear network coding with a sliding window and relaying. We use network coding to replace retransmissions triggered by legacy ARQ schemes. We evaluate the performance of our approach in terms of throughput and delay. Regarding the throughput achieved in harsh environments, we show that our scheme often more than doubles the throughput of existing legacy ARQ schemes. At the same time, and even under large variation of traffic characteristics, it is shown that the delay is likely to be upperbounded by a few seconds, a bound that cannot be guaranteed in other existing transmission techniques. Index Terms—Powerline communications, PLC, ARQ, cooperative schemes, delay, narrowband, network coding, reliability, QoS.

I. I NTRODUCTION

N

ARROWBAND powerline communications, deployed over existing power distribution cables, provide an interesting no-new-wires communication alternative for scenarios where a communication infrastructure deployment is costly or architecturally difficult. Note that the topology of an indoor powerline network is of the type distributed bus. That is, the information transmitted by a node connected to a particular power socket can also be received by those nodes plugged into other power sockets. However, as the power distribution network was not designed for data transmission, its electrical characteristics and the quality of its physical medium make this network a harsh environment for this purpose [1], [2]. The lack of communication reliability has limited the deployment of services that require high link robustness. J. Bilbao and I. Armendariz are with the Department of Communications, IK4-Ikerlan Technological Research Center, J.M. Arizmendiarrieta 2, 20500, Mondragon, Spain. (Phone: +34 943-712-400; fax: +34 943-796-944; e-mail: [jbilbao, iarmendariz]@ikerlan.es) Pedro M. Crespo is with CEIT and Tecnun (University of Navarra), Manuel de Lardizabal 15, 20018, San Sebastian, Spain. (e-mail: [email protected]) Muriel M´edard is with Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (MIT), Cambridge, MA 02139 USA (e-mail: [email protected]) Manuscript received June 30, 2015; revised November 21, 2015 and February 1, 2016. This paper is an extended version of the paper with title “Reliable Communications with Network Coding in Narrowband Powerline Channel” awarded with the Best Paper Award at IEEE-ISPLC 2014.

Therefore, designing robust and reliable transmission schemes for powerline communication networks is a challenge for the research community and the main goal of this paper. A. Link robustness related work Owing to effects such as capacitive coupling among electrical wires and unstructured deployment of the transmission lines, powerline channels resemble in many aspects more to wireless channels than to wired links [3]. Therefore, schemes designed for wireless environments can potentially be applied to powerline communication (PLC) networks. Techniques based on Amplify-and-Forward (AF), Decodeand-Forward (DF) and Compress-and-Forward (CF), together with appropriate coding mechanisms, are commonly proposed for relay-aided wireless networks [4]. Regarding powerline networks, the work in [5] gives a tutorial survey on diversity techniques to provide reliability. In particular, relay-aided AF schemes [6] and cooperation based schemes [3], [7] have been proposed for PLC. For instance, relay-aided AF and DF protocols are used in [8] to cope with coloured background noise in indoor PLC. Work in [9] studies MAC and routing schemes for advanced control and automation scenarios, where DF techniques are considered at relay/repeaters. The authors in [7] propose the use of Reed Solomon and Hamming error correcting codes in PLC, whereas in [10] the use of bit repetition and voting on reception is proposed to mitigate impulsive noise effects in point-to-point links. None of these schemes leverage in network coding. B. Network Coding related work A selection of promising research areas in the design of protocols for industrial wireless communications is discussed in [11], where Network Coding (NC) is foreseen as a future candidate to fulfill the required Quality of Service (QoS) and reliability constraints in harsh environments. The use of NC to improve throughput in multicast wireless networks has been shown to be optimal from a capacity perspective for erasure networks in [12] and for lossy networks without side information regarding losses in [13]. The use of NC in wireless networks to replace or significantly reduce acknowledgements (ACK), negative acknowledgments (NACK) and subsequent repeat requests (ARQ) has been considered for multicast scenarios in [14], for WiMax in [15] and for sensor networks in [16]. For wireless body-area networks, incorporating NC and feedback into simple relay channels has been investigated in [17].

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

The authors in [18] propose a relay-assisted NC protocol for wireless networks. They consider orthogonal links, a single relay node and assume that relay-to-receiver link quality is always better than the quality of the source-to-receiver link. In [19] the above scheme is improved by including spacetime diversity in their protocol. Finally, [20] and [21] points out several examples that propose the use of NC to improve the communications reliability in harsh environments. Given the similarities between the wireless channel and the powerline (PL) channel under harsh conditions, NC and cooperative schemes are seen as an interesting research field for PLC. Indeed, NC techniques have been recently proposed for multi-relaying (MWR) schemes in PLC scenarios using physical layer NC (PNC). AF and MWR techniques based on PNC are proposed in [22], whereas the use of PNC for G.hn powerline networks is studied in [23]. In this paper, we propose a novel scheme based on NC at the link layer (OSI-Layer2), which can be used above the standard narrowband powerline (NB-PL) physical (PHY) layers. There is no limitation on the number of relay nodes that can cooperate and their selection is dynamically adapted to network conditions. Furthermore, we have also implemented the proposed scheme in an embedded system to check its performance in real environments. To the best of our knowledge, this is the first work proposing the use of NC at the link layer to improve reliability in indoor narrowband powerline communications (NB-PLC). It should be mentioned that although our approach is inspired by wireless implementations of NC at the link layer, particularly as it seeks to replace existing simple NACK and ARQ methods, its design has been guided to match the specific transmission characteristics of the NB-PL channel. The hardware implementation of the proposed scheme and the experimentation phase have been conducted for the C-band (132.5 kHz) defined by CENELEC EN-50065-1 standard1 [24]. This standard defines the frequency bands, signal levels and medium access conditions for the low-voltage electrical network, and has been widely adopted in both in-home automation and industrial applications [25]. For the analysis of the performance of the proposed scheme we consider both throughput and delay characteristics. The achieved results and obtained conclusions are endorsed by the use of real scenarios and the realistic bit error sequences used to validate the proposed scheme. The paper is organized as follows. Section II describes the nature of the narrowband powerline channel. Section III reviews the aspects of NC relevant to our work, and its applicability for NB-PLC is considered in Section IV, where key aspects of the NC-based cooperative scheme are described. Subsequently, Section V details the real implementation considerations and demonstrates the dynamic adaptability of the proposed scheme to the time varying channel conditions. Section VI describes the very promising results obtained from 1 The

CENELEC EN-50065-1 standard considers transmissions in 3 kHz 148.5 kHz frequency band, which significantly differs from the American and Japanese standards (FCC Part 15 Subpart B and IEC 61000-3), that consider working frequencies of up to 500 kHz for communication services. However, the conclusions of present work can be extrapolated to other similar scenarios.

2

experimentation, and demonstrates the achieved reliable communications performance over the powerline channel. Finally, Section VII summarizes the main concluding remarks. C. Contribution Scope The main contributions of this work can be summarized as: • (i) The design of a novel NC-based cooperative OSILayer2 scheme to provide reliable communications in NB-PL: The protocol is able to handle multiple cooperative nodes to provide reliability under varying channel conditions. To the best of our knowledge, this is the first work proposing the use of NC at the link layer for PLC. • (ii) A hardware embedded system of the proposed scheme has been implemented. This exercise has allowed us to draw interesting conclusions that might help the future implementations of real NC-based schemes for indoor NB-PLC. • (iii) Extensive measurement campaigns have been conducted, showing the performance improvements of our scheme when compared to other legacy ARQ schemes. Performance is measured as a function of reliability, delay and throughput for unicast and time-sensitive multicast flows under realistic scenarios. II. NARROWBAND POWERLINE CHANNEL Unlike other communication channels, the powerline channel cannot be modeled as an additive white Gaussian noise (AWGN) channel [26]–[29]. Attenuation, multipath effects due to impedance mismatch and noise are all factors affecting communications, with noise being the main source of errors in the PLC network [29]. Channel characterization has a strong dependence on the number and nature of the elements plugged and/or switched on/off, due to the noise pattern introduced by the different scenarios. The effect generated by the connection of different home appliances to the powerline channel is characterized in [30]. Although much of the previous work in the literature has been focused on broadband powerline, the authors in [28] and [31] have analyzed the NB-PL channel. They conclude that the NB-PL channel is specially sensitive to electrical disturbances at low frequency, in the range from a few kHz to a few hundreds of kHz. This type of low frequency noise is mainly produced by appliances connected to the powerline networks. Hence, the frequency band under consideration in this paper (CENELEC C-band) is characterized as a harsh environment for data transmission, where noise of different nature can severely degrade the NB-PL channel for communication purposes. A. Physical layer channel description Previous literature describes five general types of noise for the powerline medium [26], [29]: a) Colored background noise: given by the sum of lowpower noise sources, whose power spectral density (PSD) usually varies with frequency [29] and time.

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

b) Narrow-band noise: generated by broadcast signal interference in the powerline channel. Its level varies according to the time of day. c) Periodic impulsive noise asynchronous to the mains frequency: mainly generated by switched power supplies with a frequency between 50–200 kHz. d) Periodic impulsive noise synchronous to the mains frequency: generated by rectifier diode switching at zero-crossing (50/60 Hz) in power supplies. It is made of short duration pulses (usually a few µs) with a PSD that decreases with frequency [28]. e) Asynchronous impulsive noise: Randomly-occurring pulses due to switching transients [1] with a duration ranging from µs to several ms [2]. Noise types a, b and c are generally considered stationary over periods from seconds to minutes or even hours, and can be considered as background noise [26], which can be modeled with Gaussian models [10]. However, noise types d and e show an impulsive behavior with scales from µs to ms. These nonstationary impulsive noises have a relevant effect on powerline communications.

3

our scheme, a node can be at the same time a source, a relay or a receiver for different flows. The nodes in G(N , E) are able to perform Random Linear Network Coding (RLNC) [32] in order to improve the reliability of communications in lossy networks. The use of RLNC is important because its distributed character allows recoding at relays, a feature that is lacking in structured codes, by block codes or rateless codes. While there is an extensive literature in the area of low-delay coding with NC with feedback, as described in recent papers such as [33]–[35] and references therein, we do not design our scheme to solely obtain a low delay, but rather propose a scheme that is well suited to PLC and we evaluate its reliability, throughput and delay characteristics. Let us assume that a source node stx ∈ Stx generates information in blocks of K packets. We call each of these blocks a “generation”, and its size K the “generation size”. Therefore, this integer K defines the number of packets involved in the linear equation system (or the linear combination). The relation between incoming packets2 Pini ∈ Fq and outgoing packets Plci ∈ Fq in a given RLNC node is given by the following linear equations:

B. Link layer characterization and error pattern knowledge The knowledge of the bit error pattern of the channel under study is essential to be able to design reliable powerline communication schemes. To this end, in the design and validation of our proposed NC scheme we have used bit error sequences obtained from the extensive measurements campaigns and field trials conducted by the authors of this paper in [25]. From these measured error sequences, generative models producing similar bit error sequence statistics (i.e., burst lengths, bit error interarrival, etc.) were obtained. Three main scenarios were considered: • Laboratory scenario: Well controlled scenario with few loads connected. Filters isolate the local electrical wiring from grid noise (low harshness scenario). • Home scenario: Indoor residential scenarios with multiple types of connected appliances, without noise filtering. Device plug/unplug, switch on/off induces from moderate to high electrical disturbance (moderate to harsh scenarios). • Industrial scenario: Measurements conducted in industrial environments. These environments are considered as harsh scenarios. Due to the intrinsic variability of the NB-PL channel, the bit error sequences used in this paper cannot be considered as a generic error pattern valid for every possible NB-PL scenario. However, they provide a realistic bit level characterization of the NB-PL in order to obtain a good validation of our scheme under different channel harshness conditions (see Section VI). III. N ETWORK CODING ELEMENTS We describe a powerline network by means of a connected graph G(N , E), where N represents the set of nodes and E the set of edges. We define Stx ⊂ N as the set of information source nodes, Rx ⊂ N as the set of receiver nodes, and RCoop ⊂ N as the set of relay or cooperative nodes. It should be mentioned that we allow Stx ∩ RCoop ∩ Rx 6= ∅, that is, in

    

Plc1 Plc2 Plc3 ··· PlcL

ξ1 (e1 ) ξ1 (e2 )      ξ1 (e3 ) =   ··· ξ1 (eL ) | 



ξ2 (e1 ) ξ2 (e2 ) ξ2 (e3 ) ··· ξ2 (eL ) {z Gt

··· ··· ··· .. . ···

  ξJ (e1 ) Pin ξJ (e2 )   P 1 in2  ξJ (e3 )   ·  Pin3    ··· ··· P inJ ξJ (eL ) }

    

(1)

where (Gt ) is an L × J “transmission matrix”, and J, L ≤ K. In particular, in a source node J = L = K, that is, the source generates K packets per generation and produces K linear combinations of these information packets, i.e., K outgoing packets. On the other hand, a cooperative node could receive J incoming packets and produce L outgoing packets. The entries ξi (ej ) ∈ Fq are independent random variables uniformly distributed, and matrix multiplication is done in Fq . The i-row of coefficients of Gt used to generate the outgoing packet Plci is appended to the header of this packet before being transmitted (see packets format in Fig. 7). In this sense, a transmission of an outgoing packet can be considered to be the transmission of the corresponding linear equation. In what follows, the terms packet and linear equation will be used interchangeably. Unlike schemes in [7] and [10], a cooperative node rcoopi ∈ RCoop using RLNC does not require to decode the information received from other nodes, as it just produces linear combinations of these incoming packets before transmitting the outgoing packet (refer to Eq. (1)). As mentioned above, in this respect that RLNC is the natural choice of code, the uniform random nature is maintained under successive, independently selected recodings. Note that a final destination node rxi ∈ Rx should receive at least K linearly independent packets (i.e., equations) per generation to be able to decode the original K source information packets. In case where rxi is only able to recover 2 In our RLNC implementation q = 28 , and F thus denotes the Galois q Field of 28 elements.

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

Pin4 Pin3 Pin2 Pin1

Stx

4

10

Ploss

tx→rx

Plc4 Plc3 Plc2 Plc1

Ploss

tx→rcoop

rx

Ploss

rcoop→rx

Plc3 Plc2 Plc1

rCoop

i

Plc1

ξ1(e1)∙Plc1∙+ξ2(e1)∙Plc2+ξ3(e1)∙Plc3 ξ1(e2)∙Plc1∙+ξ2(e2)∙Plc2+ξ3(e2)∙Plc3

Pin4 Pin3 Pin2 Pin1

7 2 8

Fig. 1. Example of NC-based cooperation (generation size K = 4).

J < K packets (i.e., J linearly independent equations), it will ask for K − J linear independent packets among other cooperative nodes so that K linearly independent packets are finally retrieved. Let us define by “reception matrix” the matrix Gr obtained by a receiver node rxi , with rows given by the coefficients ξi (ej ) stored inside the coefficient headers of the corresponding received packets. Therefore, the rank of Gr should be K (i.e., full-rank matrix) in order to be able to solve the linear equation system by Gaussian elimination and retrieve the original information packets of a given generation. Example with K = 4: Let us consider the scenario shown in Fig. 1 consisting on a source, a relay and a destination node. The generation size is set to K = 4. In a generation, the source node stx transmits 4 outgoing packets (i.e., 4 linear combinations of the generated 4 information packets). Assume that, due to losses, the receiver node rxi only receives packets Plc1 and Plc4 . Similarly, assume that the relay only receives packets Plc1 , Plc2 and Plc3 (i.e., J = 3). The relay node rcoopi can cooperate with the receiver node by sending to the receiver two linearly independent equations by randomly combining the packets it has overheard Plc1 , Plc2 and Plc3 (L = 2, see expression in Eq. 1). Once the node rx obtains K linearly independent packets it is able to decode the original information.  Note that a way to quantify if a receiver node rx is able to retrieve the original information packets sent by a source node stx is as follows. Let Q1 be the number of linearly independent packets received by node 1, which by convention denotes the receiver node rx . Define Qj as the number of packets received by P node j > 1 that are linearly independent with packets j−1 in k=1 Qk . The information gathered by the whole PLC network may now be defined as: QT =

|N | X

1

9

Plc4

Qj

j=1

Observe that the receiver node rx will be able to decode the source information using the cooperative scheme as long as QT = K. In the above example, Q1 = 2 and Q2 = 2. Therefore, QT = 4 so that the receiver node is able to recover the original information.

5 6

4

3

Fig. 2. Error measurement scenario floor plan and node (1-10) location.

A. Why RLNC is useful in indoor NB-PL environments In what follows we justify the fact that random network coding is well suited to improve reliability in indoor NB-PL networks. First observe that, by the way RLNC encodes the information, two different packets received by a node will be, with high probability, independent [20], [32]. On the other hand, let us now focus on the packets sent by a particular node and received by two different nodes. To that end, consider an indoor NB-PL network with |N | nodes. Enumerate these nodes and perform the following experiment. Randomly choose three nodes. Let (k, i, j) be the index of the chosen nodes. Node k is configured to be a source node, whereas nodes i and j are configured to be receiver nodes. The remaining nodes are disconnected. Let us consider that a source node k transmits a packet. Let ηi and ηj be two binary random variables defined in some discrete probability space (Ω, σ, P). Random variable ηl , l = i, j takes value 1 if node l correctly receives the transmitted packet, otherwise takes value 0. Now, define the following three disjoint events3 in Ω: A ≡ {ηi = 0} ∩ {ηj = 1}, B ≡ {ηi = 1} ∩ {ηj = 0} and C ≡ {ηi = 0} ∩ {ηj = 0}. Note, that the set D ≡ A ∪ B ∪ C denotes the event that at least one receiver node has lost the transmitted packet. Observe that nodes i and j will be able to efficiently cooperate if: P(A ∪ B|D) = P(A|D) + P(B|D)  P(C|D)

(2)

These probabilities can be empirically derived if node k sends a large enough sequence of packets. This experiment can be repeated by randomly chosing another 3 nodes in the network. For the particular 10 nodes indoor configuration of Fig. 2, nine of these experiments were performed in [37]. By averaging the empirical probabilities over these 9 experiments we obtain that: P(A ∪ B|D) = 0.885  P(C|D) = 0.115 3 For the sake of simplicity in the notation, we denote the set {ω : η (ω) = l a} ⊂ Ω by {ηl = a}, with a = 0, 1.

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

Application Layer

Tx Queue

Decoded Info

Tx CLLC-Rx ...

...

Rx Block

εrx

εtx

VIP (HelpResponse) Queue

...

Packet Dispatcher (RLNC)

Coefficients Matrix(KxK)

MAC Queue

Decoder/relay

CLLC layer

Tx Block

...

...

Rx

...

CLLC-Tx

OSI Layer 2

Several experiments were carried out in other indoor network configurations and we arrived to similar conclusions regarding inequality (2). Therefore, based on these two aforementioned facts (the RLNC coding effect and the error distribution in different nodes), one can conclude that, with high probability, the transmission of a linear combination of packets received by the cooperative nodes rcoopi will increase the rank of the reception matrix Gr in the receiver node rx . Consequently, a cooperative scheme based on RLNC is a good candidate for reliable data transmission in indoor NB-PL environments. Next section describes the proposed scheme in detail.

5

Purge Module

CENELEC C-Band MAC PHY layer (ST7835Q)

IV. NC- BASED COOPERATIVE SCHEME IN NB-PLC We propose a decentralized NC-based collaborative scheme with a HelpRequest–HelpResponse strategy (i.e., the receiver node will ask for help to the cooperative nodes) in order to improve the reliability in NB-PLC. The architecture of the proposed solution is based on the Cooperative Link Layer Control (CLLC) scheme, first introduced in [37], which extends the legacy link layer scheme to a cooperation scheme among networked nodes. The CLLC has been designed to fit in the OSI-Layer2 (link layer) in order to provide reliable communications above the MAC sublayer standardized by CENELEC for the NB-PL. The CLLC layer is thus in charge of managing the cooperation logic of messages received from the network and MAC layers. Nevertheless main concepts and principles can be generalized to be used in other OSI upper layers. A. CLLC: Cooperative Link Layer Control Figure 3 shows the architecture of a generic network node. In particular, a source node stx will comprise the following elements. The K information packets4 Pini , generated by the source in a generation, are stored in the encoder buffer Etx of the CLLC-Tx block before being linearly combined at the “Packet Dispatcher” block (refer to Eq. (1)). This block randomly generates the coefficients ξi ∈ Fq needed to obtain the corresponding linear combination(s). The outgoing packets Plci are buffered in the MAC queue before being transmitted by the MAC layer when it detects a transmission opportunity. In a receiver node rx , if a received packet is linearly independent from previously received ones, the rank of Gr is increased by one unit and the packet is moved to the decoder buffer (Erx ) in the CLLC-Rx block, otherwise is discarded. The purpose of the CLLC-Rx block is twofold, first extract the corresponding coefficients ξi (i.e, matrix Gr ), and secondly finds the rank of Gr by Gaussian elimination. If this rank is less than K, the receiver node asks for K −rank(Gr ) linearly independent packets by means of a HelpRequest packet. Details on HelpRequest triggers are described by the authors of present paper in [21]. The HelpRequest timeout is adaptively calculated to match the scheme to the varying conditions of the 4 The value of the generation size (K) may vary to adapt the scheme to the nature of the data flows to be transmitted (e.g., packet interarrival) [20].

Fig. 3. CLLC layer architecture of a generic node.

medium. This adaptation is based on computing the average time it takes the receiver node to increase the rank of matrix Gr by one unit. This method thus adapts the system greedy to the channel harshness level, avoiding HelpRequest packet flooding and facilitating the use of the medium. As soon as the rx node receives the remaining packets, it solves the system of equations and sends the obtained original information to the upper OSI layer. Finally, a cooperative node rcoop behaves as a receiver node except that in this case, the last step of solving the system of equations is not performed since obtaining the original packets is not required at this node (it is not the packets final destination). Instead of decoding the received information, the node rcoop can re-encode as in Eq. (1) the received packets to cooperate with final destination nodes. When a cooperative node receives a HelpRequest, say asking for m independent packets from other node, the Packet Dispatcher module computes and sends to the MAC layer as many linear combinations as possible from the previously received n packets (stored in the buffer of the CLLC-Rx block). If m ≤ n the node rcoop contributes by sending m linearly independent packets, otherwise (i.e., n < m) it could only send n. These packets are called HelpResponse packets. Besides being in charge of the algebraic operations, the Packet Dispatcher module provides the interaction with the Queue Purge module (refer to Fig. 3). This purge module determines the actions to be taken after having received a HelpRequest or HelpResponse packet, i.e., erase or maintain in queue the packets already enqueued in the MAC layer waiting to be transmitted. This provides mechanisms for an efficient medium use. Next, we describe in more detail some elements of the CLLC scheme. In particular we focus on the Packet Dispatcher and the Sliding Window mechanisms. 1) Packet Dispatcher: The Packet Dispatcher module for the source node stx has two possible operation modes depending on the type of traffic to be transmitted: Dense coding mode and systematic coding mode. By dense coding mode it is meant a mode where the Packet Dispatcher performs the linear combination of the packets buffered in CLLC-Tx/Rx

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

6

block. All the coefficients of any row of matrix Gt are set to be nonzero (and random): Plci =

K X

Upper Layer (Application/network)

ploss Tx

Rx

ξj (ei ) · Pin,j ; ξj (ei ) 6= 0 ∀j, i

...

CLLC (GalaReS) Network Coding

...

Stop&Wait

Go-Back-N

Selective Repeat

Relay

j=1

MAC sublayer

On the other hand, in a systematic coding mode the Packet Dispatcher does not perform the linear combination in order to speed up the decoding process at receiver node, that is, Gt is the unit matrix:

CENELEC C-Band (132.5 kHz) PLC phy

Fig. 4. CLLC and legacy schemes OSI-Layer structure.

Plci = Pin,j ; ∀i = j, and 0 otherwise. Regarding the cooperative (rcoop ) and receiver nodes (rx ), the Packet Dispatcher always works in a dense coding mode: Plci =

M X

ξj (ei ) · Pin,j ; ξj (ei ) 6= 0 ∀j, i

j=1

where M can be in this case M ≤ K. In the source node, in order to reduce the length of the coefficient header appended to an information packet (see INFO packet format in Fig. 7), matrix Gt is chosen deterministically instead of randomly by using the following Vandermonde matrix to pick up the ξj (ei ) coefficients, so that:    Gt =  

α1 α2 .. .

α12 α22 .. .

··· ··· .. .

 α1K−1 α2K−1    ; αi ∈ F28 

1 αK

2 αK

···

K−1 αK

1 1 .. .

where the coefficients αi ∈ F28 − {0} i = {1, . . . , K} are chosen to be different. This guarantees that rank of Gt is K, and can also be shown that no performance loss will occur when compared to a randomly chosen Gt [36] (this procedure can only be used in the stx node). Note that since an entire row of a Vandermonde matrix can be constructed using a single non-zero field element, this effectively compresses the coefficient header to just one coefficient as compared to K coefficients. The Packet Dispatcher block is also in charge of starting new generations and declaring the obsolete ones in order to advance in the transmission process. 2) Sliding Window and token mechanism: In order to speed up the cooperation process, we allow several generations to be simultaneously active. In other words, the source starts by transmitting w generations, i.e., w · K packets. The source does not transmit another generation until it receives from the receiver node an acknowledgement specifying the particular generation that has been successfully decoded. Note, that this works as a sliding window, where decoded generations are substituted by new generations. This sliding window scheme allows nodes to send collaboration requests (HelpRequest) and respond with linear combination of packets (HelpResponse) from up to w simultaneously active generations. This means that the sliding window allows the coexistence of up to w active generations in the network. This speeds up the throughput since the source node is not blocked while the receiver node is trying to decode a particular generation.

In order to implement the sliding window scheme, both CLLC-Tx and CLLC-Rx blocks must include, per each data flow, w encoder (Etx ) and decoder (Erx ) buffers of size K packets each one, being K the generation size (see Fig. 3). A node can simultaneously act as a transmitter of a flow or as a receiver of another flow. Both functions are never overlapped as each particular packet is identified by its generationid (Gid ) field and its generation source identifier (Src) field, which allows the nodes to point out the source node for a given data flow (frame fields are depicted in Fig. 7). This entails the possibility to allocate a decoder block (Erx ) per each generation of a particular data flow, and thus the chance to manage simultaneous generations of the same or/and different data flows. To improve the efficiency of the sliding window scheme, a “token” mechanism is provided in the receiver node rx . The token is assigned to the oldest active generation in the CLLC-Rx block (i.e., oldest decoding buffer Erx ), so that the cooperation scheme focuses on completing the oldest active generation first for an orderly sliding window progress. As a node must be able to manage multiple simultaneous data flows, there is a token in the CLLC-Rx block per each particular flow, and this means that the cooperation is scheduled randomly among the oldest generations of the active flows. V. I MPLEMENTATION CONSIDERATIONS The proposed CLLC scheme has been implemented into a real embedded system, located in the OSI-Layer2, below the network layer and above the MAC layer. Note that by separating the link layer from the MAC layer, we permit the CLLC scheme to be used above standard PHY layers used by legacy ARQ schemes. This allows to make a fair performance comparison between the proposed NC-based scheme and the legacy store-and-forward based ARQ schemes, since both schemes use the same MAC and PHY layers (see Fig. 4). For the PHY layer we use a bridge module with a single carrier FSK modem (ST7538Q) driven by a 8 bit microcontroller (NEC78K0/KC2), achieving a transmission rate of 4800 bps at the CENELEC C-Band. For the MAC layer [24] and the proposed NC scheme we use a Cortex-M4 architecture (STM32F407). Both MAC and PHY layers are connected via serial interface (refer to Fig. 4). Next we describe some design issues that are relevant in order to understand the performance of the proposed scheme. In particular we focus on packet sizes, MAC and suitable cooperative nodes selection.

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

tsync

Concatenation delimiter (4 bytes)

7

tsync

Stx: tmac

tNpkt

tmac

tsync

rx:

tNpkt 350

ACK

300

tsync

Vmax (Bytes/s.)

tmac tackGen tsync

Stx:

HelpResp.

tmac

tNpkt

tmac tHelpResp

tsync ttoutHelpReq

rx:

HelpReq.

tmac tHelpReq

tsync ACK

tmac tackGen

250 200 150 100 50 20 15

Fig. 5. CLLC scheme transmission with w = 1 (i.e., without sliding window) and K = 4, without packet loss (above) and with packet loss (below).

10 5

GenSize (K)

0

15

20

25

30

35

40

45

Packet Payload (# Bytes)

A. Impact of packet size and generation size on achievable throughput

Fig. 6. Maximum achievable rate Vmax (Bytes/s.) with L and K.

When a node wants to transmit a packet, or a concatenation of N packets, it waits for the required medium access time (tmac ) and for the time the modems need to synchronize (tsync ). Packet concatenation uses 4 bytes delimiters between packets (refer to Fig. 5). Therefore, the time duration of N concatenated packets, denoted by tNpkt , is given by:

B. MAC in CENELEC C-Band

tNpkt =

N · pksize + 4 · (N − 1) + tsync B

(3)

where pksize is the size of the packet (including header fields), and B the transmission rate at PHY layer. When the CLLC scheme is used for the transmission of flows with reception confirmation (i.e., unicast flows), the time required to transmit the acknowledgement (ACK) for a generation of packets, denoted by tackGen , is given by tackGen = tsync + tackg , where tackg is the time needed to transmit the bits of an ACK packet for a particular generation. The maximum theoretical achievable goodput5 (Vmax ) of our scheme will be achieved under error-free channels assumption and perfect synchronization between the transmitter and receiver nodes. It is given by: Vmax =

LGen tmac + tNpkt + tmac + tackGen {z } | {z } | ttx

(4)

trx

where LGen = L · K, indicates the payload transmitted in a whole generation, since L denotes the packet payload and K the generation size. The graph in Fig. 6 shows the variation of Vmax with the payload size and K. Observe that the higher the values of pksize and K are, the higher the achieved throughput will be (under packet error-free assumption). However, in realistic error prone environments, a large value for pksize implies a higher packet error probability. On the other hand, a large value of K implies a higher decoding complexity at destination node, which grows with the generation size as6 O(K 3 ), and could worsen the delay performance in real implementations. 5 Let us define the Goodput as the actual throughput at the application layer, which is lower than the throughput at the PHY layer. 6 Using O-big notation.

In order to fairly compare our RLNC scheme to other legacy ARQ schemes, we consider the same medium access rules defined by CENELEC standard in [24] (see Fig. 4). The MAC may interact with the enqueueing function and the Queue Purge module to improve network efficiency and optimize the collaboration process (e.g., erase already enqueued HelpRequest packets after having heard new information from the network). The MAC sublayer provides the ability to concatenate INFO and HelpResponse packets up to complete the maximum medium occupation time defined by the standard. In this case, the maximum time allowed for a continuous transmission in the C-band of CENELEC is 1 second. On the other hand, to start a transmission, a node needs to detect an inactivity period in the bus. Once this is done, the node waits a random time tmac ∈ [85, 115] ms before accessing the medium. After a transmission, a node must wait at least 125 ms before trying to access the medium again. When choosing a suitable generation size (i.e., K), one should take into account the maximum time a node (or a set of associated nodes) can continuously transmit, that is, 1 second in this case. From the extensive number of experiments conducted during this work, an optimum 25 Byte payload size (see frame description in Fig. 7), and a generation size of K = 8 have been selected as a trade-off solution for different channel conditions. Next we describe the mechanism that allows the CLLC scheme to dynamically adapt to varying harshness conditions. C. Cooperative node selection Consider the simplified network in Fig. 1, where there is a source node, a cooperative node and a receiver node. Suppose that the receiver node is not able to decode a particular generation directly sent by the source. There are two possible actions to undertake: ask for the missing packets either to the source or to the cooperative node. At first glance, it seems that the receiver should ask for help to that node having the best link quality (smallest probability of packet loss). For example, if the source-to-receiver link is the one with the best quality, the receiver will ask for help to the source. However, if the

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

1 byte

NC Frame

CRC

1 byte

INFO Packet

pkt src

gid

1 byte

HelpRequest

pkt src pkt src

ACK

1 byte

Beacon

dst

src

src

src

1 byte

Gsize rank 1 byte

dst

3 bytes

gid

Gsize rank coef 1 byte

dst

3 bytes

gid

1 byte

pkt src

src 3 bytes

gid

1 byte

HelpResponse

140

Optimal γ value Measured γ

2 byte

1 byte

Gsize rank 1 byte

1 byte

120

data

1 byte

vip 1 byte

... coef ...

data

N bytes

dst

Throughput (γ :Bytes/s.)

0x55 length

8

100

80

60

40

3 bytes

pkt src

seq no

1 byte

2 bytes

20

0

0

100

200

300

400

500

600

700

800

900

1000

Time (s.)

Fig. 7. GalaReS and GalaWiS (except ACK) frame format description. Fig. 8. Throughput variation during scheme adaptation to a scenario with varying harshness.

link with the best quality is the cooperative-to-receiver link, one also has to take into account the time it will take the cooperative node to access the medium (the cooperative node did not have access to the medium whereas the source did). In other words, for the selection of a cooperative node, there should be a trade-off between link quality and medium access delay, otherwise a selection based only on link quality could be counter-productive. The cooperation mechanism implemented in our scheme is thus based on these two factors. Let us now consider the network in Fig. 1, but now extended with multiple potential cooperative nodes. A receiver node rxj , computes the probability Pok,i of correctly receiving a packet sent by each other node rxi ∈ N − {rxj }. To that end, each node rxi transmits (broadcasts) a sequence of Beacon packets with a configurable BeaconPeriod. Then, node rxj computes the packet ok ratio Pok,i , so that: Φj (5) Pok,i = Φi where Φi is the number of packets sent by node rxi (specified by the beacon) and Φj is the number of those packets received by node rxj . Once these probabilities are found, the receiver node chooses a subset of nodes (up to 4 nodes out of the |N | − 1 nodes) with best Pok,i (a threshold is used). This subset is called the preferential cooperative nodes. When a receiver rx needs cooperation from other nodes, it randomly chooses a particular cooperative node from the preferential cooperative set. Note that this random selection allows the inclusion of new collaborator nodes that otherwise would never be selected (e.g., when new nodes are plug/unplugged into the PL network). Now, the receiver sends (broadcasts) a HelpRequest packet specifying in its Vip field (see Fig. 7), the address of the particular node selected as the preferential cooperator. As soon as a node receives a HelpRequest it looks at its Vip header field (see Fig. 7) and checks if it is the node been selected for cooperation. In case it is, the cooperative node transmits a HelpResponse packet with the requested information. In order to reduce the medium access delay, the rcoop enqueues the response packet in the Vip HelpResponse priority queue (see Fig. 3). This queue provides a faster medium access (with tmacP rio ∈ [0, 30] ms), avoiding collisions with other possible responses and prioritizing the collaboration from nodes with the best link quality.

In order to cope with environments under changing conditions, the above procedure is periodically refreshed. Example of adaptation to harsh environments: Consider a scenario with a source, a receiver and 2 cooperative nodes. It is assumed that the bit error rate (BER) from the source to the receiver link is BERstx →rx = 0.0025 for a period of 1,000 seconds. We set the link BER variation over time from rcoopA and rcoopB to rx as:  0 240s ≤ t < 480s BERcoopA →rx = (6) 0.005 else  BERcoopB →rx =

0 0.005

480s ≤ t < 720s else

(7)

We set a constant traffic flow of 120 Bytes/s (at application layer), a payload size of 25 Bytes and a generation size K = 8. Figure 8 shows the adaptation of the CLLC scheme to the time varying harshness conditions of the network. Note that a few seconds are enough to detect the channel variation and select the optimal cooperative scenario.  D. Simulation model and real implementation A simulation model of the proposed NC-based CLLC scheme and other legacy ARQ schemes (such as Stop-andWait, Go-Back-N and Selective Repeat) have been implemented in OPNET discrete event simulator. This facilitates the achievement of results for further multiparametric studies. To simulate the harsh environments with realistic bit error sequences we use an error sequence generative model [25] trained with error sequences obtained from real measurements. The following process has been used to validate the simulation model. 1) We begin with an idealized simulation model of a particular network configuration, and obtain the corresponding performance results. 2) The same network configuration is now implemented with real nodes. The performance results are then compared to the previously simulated ones. If there is a large deviation in their values, one should improve the simulation model in order to take into account events

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

9

250

Stop&Wait Stop&Wait (OPNET) Selective Repeat Selective Repeat (OPNET) Sliding GalaReS Sliding GalaReS (OPNET) Coop. Sliding GalaReS Coop. Sliding GalaReS (OPNET)

250

200

Maximum Throughput: γmax(Bytes/sec)

Max. Throughput: γmax (Bytes/s.)

300

150

100

50

0

0

0.0005

0.001

0.0015

0.002

Fig. 9. Validation of the simulation model in OPNET (vs) Real Implementation in Cortex-M4. Results with 95% C.I..

(such as internal processing times, packet collisions, etc.) that were not considered in the idealized model. We then go to step 1. This iterative process is repeated until the simulation results are inside the 95% confidence interval (C.I.) of the results obtained with the real implementations. Furthermore, this process has also been repeated for several network configurations (with up to 6 nodes). For instance, the results obtained with the final tuned simulation model for the network configuration of Fig. 1 are shown in Fig. 9 (with stx plugged into socket 10, rx into socket 5 and rcoop into socket 7 in Fig. 2 floor plan). Observe that in this case the maximum throughput versus the BER in the source-to-receiver link is within 95% C.I.. In this simulation, it was assumed that the other links, i.e., cooperative-to-receiver links were lossless. VI. S IMULATION RESULTS The results presented in this section have been obtained with the simulation model. As already said, the simulation model has been previously validated with measurements obtained from the developed real embedded system. It should be mentioned that, depending on the nature of the data flow to be transmitted (e.g., flows requiring confirmation or not), the CLLC layer provides different parameter configurations to optimize the overall reliability of the NCbased OSI-Layer2 scheme. In what follows, the reliability of a protocol is measured by its maximum achievable throughput (γmax ), delay and link-failure ratio. Two types of traffic or services are considered in this study: • Unicast flows for non-real time applications. This CLLC configuration is called GalaReS, and • Multicast flows for real-time applications. This CLLC configuration is called GalaWiS. A. Unicast flows (GalaReS) The receiver node in the GalaReS protocol (i.e., CLLC scheme configuration used for non-real time unicast flows) sends to the source an ACK packet each time it successfully decodes a generation (i.e., K information packets). In this way,

200

150

100

50

0

0.0025

BER (0≤p≤0.005)

Stop&Wait Go−Back−N Selective Repeat (w=8) Selective Repeat (w=32) GalaReS Sliding GalaReS Cooperative GalaReS Cooperative Sliding GalaReS

0

0.0005 0.001 0.0015 0.002 0.0025 0.003 0.0035 0.004 0.0045 0.005

BER (0≤p≤0.005)

Fig. 10. Maximum achievable rate (γ) comparison.

the source has the confirmation that all transmitted packets have been successfully decoded by the receiver. In what follows, we consider a scenario with a source node stx , a receiver node rrx and a potential relay node rcoop in a distributed bus topology (where stx is plugged into socket 10, rx into socket 5 and rcoop into socket 7 of floor plan in Fig. 2). Based on this configuration, Fig. 10 shows the throughput γmax versus varying harshness conditions in the transmitter to receiver channel (BERtx→rx : 0 ≤ p ≤ 0.005), for different NB-PLC schemes7 . Observe that the proposed scheme, denoted in this figure as Cooperative Sliding GalaReS, outperforms by far legacy ARQ schemes (Stop-and-Wait, GoBack-N with N = 8 packets window and Selective Repeat with w = 8, 32 packets window) for the acknowledged hardreliable unicast flow transmission (e.g., file transfer, remote node firmware update, etc.). In the same figure, it is also shown the throughput achieved by what we call the GalaReS, Sliding GalaReS and Cooperative GalaReS protocols. By GalaReS we mean our Cooperative Sliding GalaReS protocol when the sliding window and cooperation capabilities are both suppressed. By Sliding GalaReS we mean our protocol when the cooperation capability of the relay node rcoop is suppressed but the sliding window is implemented (w is set to 4). Finally, by Cooperative GalaReS, it is meant our protocol when the sliding window capability is not included (i.e., w = 1) but cooperation is allowed. The reason to include these results is to quantize the benefits that the sliding window and cooperation mechanisms add up to our fully Cooperative Sliding GalaReS. Observe that when the cooperative mechanism is used, the throughput is maintained stable within 0.0015 ≤ p ≤ 0.005, widely improving the ARQ schemes performance. We now look for the link-failure metric of our scheme. This metric shows the number of packets that have not been successfully decoded by the receiver node after the allowed number of help requests are used. In this simulation this maximum number of help requests is set to 8. Figure 11 shows the link-failure versus BERtx→rx . Again, observe that the Cooperative Sliding GalaReS outperforms 7 All

of them using a single carrier FSK modem @4800 bps.

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

350

Stop&Wait Selective Repeat Sliding GalaReS Cooperative Sliding GalaReS

300

Link Failure number

250

10

OSI layer n+1: CLLC-Tx:

tTx

tTx

tCoop

(a) GalaWiS-Block transmitter.

200 150

OSI layer n+1:

100

CLLC-Tx:

tTx+tCoop

50

tTx+tCoop

tTx+tCoop

(b) GalaWiS-RealTime transmitter.

0 −50

tCoop

Fig. 12. Transmission and cooperation time intervals. Here we assume w = 1. 0

0.0005 0.001 0.0015 0.002 0.0025 0.003 0.0035 0.004 0.0045 0.005

BER (0≤p≤0.005)

Fig. 11. Link-failure number (with 95% C.I.) after 50 KBytes transfer with max. 8 helps.

legacy ARQ schemes. It is important to remark that when introducing the cooperative mechanism in the Sliding GalaReS, the number of packets being lost is reduced to zero. These results corroborate that proposed NC-based scheme remarkably improves the link-failure performance when compared to legacy ARQ schemes. B. Multicast flows for real-time applications Any real-time communication can be characterized by a cycle-time (tcycle ) within which the information must be received by the intended destination node(s). When considering time-sensitive and time-critical services, the information must reach the destination node within the described tcycle , being discarded otherwise. The tcycle in time-critical services is smaller than the tcycle required for time-sensitive services. In order to fulfill this requirement, we propose a customized configuration of the CLLC scheme, known as GalaWiS protocol, for the distribution of: 1) time-sensitive multicast flows (GalaWiS-Block) 2) time-critical multicast flows (GalaWiS-RealTime) These two protocols do not require any reception confirmation. We begin by describing the protocol used to transmit time-sensitive multicast flows. 1) Time-sensitive multicast flows. GalaWiS-Block enables collaboration among nodes to increase the amount of information received. Furthermore, since there is not any ACK from the receiver node(s), the source can keep transmitting packets without being blocked. This fact improves the link reliability and meets the timing constraints required by realtime applications. Let us consider a scenario with a source node stx , a set of receivers rxi ∈ N and a time-sensitive multicast flow. Referring to Fig. 12a, the source transmits K = 4 packets (i.e., a generation) with systematic coding during tT x seconds. The time-lapse until the CLLC-Tx block receives another K information packets from the upper layer is denoted as tcoop . During this tcoop interval we allow densely coded cooperation among nodes in order to increase the number of information packets decoded by the receiver node rxi .

Due to the systematic transmission, observe that when i packets are lost at a receiver node, the node can still recover K − i packets. This is not possible if dense coding is used at the source. Furthermore, the systematic coding allows a fast decoding process, and thus a better delay compared to the use of dense coding (dense coding requires the reception of the whole generation before being able to decode the information). If the collaboration time (tcoop ) has expired before the receiver node has been able to complete the whole generation, the node stx continues with the transmission of the next generation in order to reduce the delay and improve the real-time behavior. Since the collaboration time tcoop for a given generation is limited by the starting time of the next generation, a suitable configuration of encoder/decoder block with a sliding window size w and generation size K must be set to comply with the cycle time tcycle (i.e., time between generations), so that tT x + tcoop ≤ tcycle , and thus maximize the received information complying with the timeout constraint. The In-Time-Ratio metric µ ∈ [0, 1] defines the ratio of packets transmitted by the source that are received at destination node within the given deadline. Note that the value of µ can be deduced from the delay CDF graphs in Fig. 13b and Fig. 13d. 2) Time-critical multicast flows. Time-critical applications refer to those applications whose time constrains are even more demanding than in time-sensitive ones. They are characterized by smaller delays whose violation prevents the deployment of hard real-time services. With the aim of providing an optimized delay profile, we propose a reconfiguration of the GalaWiS-Block scheme, denoted by GalaWiS-RealTime, to cope with these type of applications. To improve the delay profile, the source node stx does not wait to complete a generation at the CLLC-Tx layer before starting to transmit. Hence, in GalaWiS-RealTime scheme, stx systematically transmits packets as soon as they are received from the OSI layer above. This implies that the transmission time tT x and the densely coded cooperation time tcoop are mixed together (see Fig. 12b). The channel utilization ratio, λ ∈ [0, 1], plays a key role to evaluate which of the GalaWis (Block or RealTime) configurations fits better in a particular real-time application. The higher λ is, the smaller the gaps that can be used for coded

0733-8716 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JSAC.2016.2566058, IEEE Journal on Selected Areas in Communications IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JULY 2015

cooperation will be. Note that if λ is close to one, GalaWiSBlock scheme may provide a better performance due to its more organized cooperation time scheduling. Nevertheless, the traffic type involved in time-critical applications is usually characterized by using the link with a rate considerably lower than the maximum rate, i.e., λ