Adaptive Causal Network Coding with Feedback
Alejandro Cohen, Derya Malak, Vered Bar Bracha, Muriel Medard

TL;DR
This paper introduces an adaptive causal network coding algorithm with feedback that learns channel erasures and optimizes transmission, significantly improving throughput and delay performance in bursty channels for low-latency applications.
Contribution
The paper presents a novel AC-RLNC algorithm that adaptively adjusts retransmissions based on feedback, achieving near-capacity throughput and reduced delay in non-asymptotic regimes.
Findings
AC-RLNC achieves over 90% of channel capacity.
AC-RLNC doubles throughput compared to SR-ARQ in bursty channels.
AC-RLNC triples the delay performance gains over SR-ARQ.
Abstract
We propose a novel adaptive and causal random linear network coding (AC-RLNC) algorithm with forward error correction (FEC) for a point-to-point communication channel with delayed feedback. AC-RLNC is adaptive to the channel condition, that the algorithm estimates, and is causal, as coding depends on the particular erasure realizations, as reflected in the feedback acknowledgments. Specifically, the proposed model can learn the erasure pattern of the channel via feedback acknowledgments, and adaptively adjust its retransmission rates using a priori and posteriori algorithms. By those adjustments, AC-RLNC achieves the desired delay and throughput, and enables transmission with zero error probability. We upper bound the throughput and the mean and maximum in order delivery delay of AC-RLNC, and prove that for the point to point communication channel in the non-asymptotic regime the…
| Parameter | Definition |
|---|---|
| time slot index | |
| number of information packets | |
| information packets | |
| RLNC to transmit at time slot | |
| random coefficients | |
| total number of erasures in | |
| , | the mean and maximum in order |
| delivery delay of packet | |
| erasure probability | |
| number of DoFs needed by the | |
| receiver to decode | |
| DoF added to | |
| rate of DoF () | |
| rate of the channel | |
| throughput-delay tradeoff parameter | |
| retransmission criterion | |
| round-trip time | |
| index of the first information packet | |
| in | |
| EW | end window of new packets |
| number of FEC to add per window | |
| maximum number of information | |
| packets allowed to overlap | |
| effective window size | |
| EW | end overlap window of maximum |
| new packets |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Adaptive Causal Network Coding with Feedback
This research was supported in part by the Intel Corporation and by DARPA. Patent application submitted: no. 62/853,090. Alejandro Cohen1, Derya Malak1, Vered Bar Bracha2, and Muriel Médard1
1Research Laboratory of Electronics, MIT, Cambridge, MA, USA, {cohenale, deryam, medard}@mit.edu
2Intel Corporation, [email protected]
Abstract
We propose a novel adaptive and causal random linear network coding (AC-RLNC) algorithm with forward error correction (FEC) for a point-to-point communication channel with delayed feedback. AC-RLNC is adaptive to the channel condition, that the algorithm estimates, and is causal, as coding depends on the particular erasure realizations, as reflected in the feedback acknowledgments. Specifically, the proposed model can learn the erasure pattern of the channel via feedback acknowledgments, and adaptively adjust its retransmission rates using a priori and posteriori algorithms. By those adjustments, AC-RLNC achieves the desired delay and throughput, and enables transmission with zero error probability. We upper bound the throughput and the mean and maximum in order delivery delay of AC-RLNC, and prove that for the point to point communication channel in the non-asymptotic regime the proposed code may achieve more than 90% of the channel capacity. To upper bound the throughput we utilize the minimum Bhattacharyya distance for the AC-RLNC code. We validate those results via simulations. We contrast the performance of AC-RLNC with the one of selective repeat (SR)-ARQ, which is causal but not adaptive, and is a posteriori. Via a study on experimentally obtained commercial traces, we demonstrate that a protocol based on AC-RLNC can, vis-à-vis SR-ARQ, double the throughput gains, and triple the gain in terms of mean in order delivery delay when the channel is bursty. Furthermore, the difference between the maximum and mean in order delivery delay is much smaller than that of SR-ARQ. Closing the delay gap along with boosting the throughput is very promising for enabling ultra-reliable low-latency communications (URLLC) applications.
Index Terms:
Random linear network coding (RLNC), forward error correction (FEC), feedback, causal, coding, adaptive, in order delivery delay, throughput.
I Introduction
Classical information theory problems consider the very large blocklength regime to achieve the desired communication rates. On the other hand, in streaming communications, there are real-time constraints on the transmission which requires low delays. Such low delays cannot be achieved using very large blocklengths; therefore the classical approaches do not provide the desired throughput-delay tradeoffs. To alleviate the problem of large in order delivery delays, different forward error correction (FEC) techniques for packet-level coding have been contemplated [1, 2, 3, 4]. We discuss their benefits and shortcomings in this section.
The challenges associated with packet-level coding are multifold, which are due to feedback, real-time delivery, and congestion. The situation becomes deteriorated when there are round-trip time (RTT) fluctuations, and/or erasure bursts due to variations in the channel state. When we consider these critical issues, along with the real-time transmission constraints, it becomes challenging to operate the system at a desired point on the achievable throughput and in order delivery delay regime. As the notions of throughput and delay are inseparable, it is essential to jointly optimize coding for throughput and delay. To that end, in this paper, we provide an adaptive and causal code construction for packet scheduling. To ensure desired rates the sender use FEC. To provide low delay, the sender tracks channel variations and learns channel states from feedback in order to adapt the code rate to the channel conditions. In other words, the solution is adaptive since AC-RLNC can track the channel condition, and it is also causal because coding is reactive to the feedback acknowledgments (i.e., the sender adjusts the retransmission rates of the code using a priori and posteriori algorithms).
I-A Related Work
Different coding techniques have been proposed to correct erasures in wireless channels such as chunk codes, rateless erasure codes or fountain codes (e.g., LT codes [2] and Raptor codes [1]), systematic codes [3], and streaming codes [10]. However, although part of the solutions proposed in the literature are reactive according to the feedback acknowledgments (i.e. causal as given for example in [3]), none of those solutions is tracking the varying channel condition and the rate (i.e. not adaptive). The proposed techniques utilize several different types of feedback models [11, 10]. Next, we will elaborate on the coding approaches that are the closest to ours. While fountain codes are capacity achieving, and have efficient encoding and decoding algorithms, they are not suitable for streaming because the decoding delay is proportional to the size of the data [12]. In the case of block codes, the receiver has to wait till the end of the block to be able to start decoding. However, the required block length for the code to achieve a desired reliability performance can be very high due to the asymptotic nature of information theoretical results. Furthermore, the block length is fixed and set in advance for the application of interest, and therefore block codes are not causal. To mitigate this problem and reduce the in order delivery in wireless systems, authors in [13] have proposed a low delay streaming code scheme which is not adaptive. Similarly, convolutional codes can reduce the decoding time, and a general construction for complete maximum distance profile convolutional codes has been implemented in [14].
Error control protocols such as Automatic Repeat reQuest (ARQ), and hybrid ARQ (HARQ) have been incorporated into 5G mobile networks [15] in order to increase the performance of wireless technologies such as HSPA, WiMAX and LTE [16]. While these repetition-based protocols provide desired performance when the feedback is perfect, the streaming quality might degrade significantly when the feedback is not reliable or delayed. This may cause extra latency, which is not desired in delay-sensitive applications. Recently, for streaming, systematic codes, which are coded generalizations of selective repeat ARQ (SR-ARQ) have been proposed in [3]. Adaptive coded ARQ model with cumulative feedback have been developed in [10].
Using FEC, in order delivery delay over packet erasure channels can be reduced [13], and the performance of SR-ARQ protocols can be boosted [3]. Delay bounds for convolutional codes have been provided in [4], [17]. Packet dropping to reduce the playback delay of streaming over an erasure channel has been investigated in [5], [6], [18]. Delay-optimal codes without feedback for burst erasure channels, and the decoding delay of codes for more general erasure models have been analyzed in [19]. Transmission with delay constraints has been considered in [20], by combining the PHY and NET layer aspects, where bit level FEC is performed at the PHY layer, and Random Linear Network Coding (RLNC) is performed at the NET layer. To prevent packet losses in the presence of interference and large RTT, a network coded TCP solution has been proposed in [21]. In Fig. 1, we refer to three of the coding approaches that are the closest to ours. However, these alternatives are not adaptive. Furthermore, the time-invariant streaming code in (a) is not causal, and the SR-ARQ in (b) and the systematic code with feedback in (c) do not adapt the code rate to varying channel conditions, unlike our AC-RLNC proposed solution shown in (d) that tracks the channel conditions and the rate. In Sec. II, we provide more details on those codes.
Delay and throughput gains of coding in unreliable networks have been discussed in [22]. The delay advantage of coding in packet erasure networks has been studied in [23]. A capacity-achieving coding scheme for unicast or multicast over lossy packet networks has been proposed in [24], where intermediate nodes perform recoding and send out coded packets formed from random linear combinations of previously received packets. Joint optimization of coding for delay for single hop erasure channels, and packet scheduling for a broadcast channel with multiple receivers having different delay sensitivities has been considered [25]. The single hop model has been later generalized to multiple-hops [26]. There also exist work applying FEC and network coding on URLLC applications [27, 3, 28].
Current approaches address some of the challenges such as reducing the in order delivery delay to provide the desired reliability-delay trade-offs. However, the coding in general is done in a deterministic manner. This approach deteriorates the performance when the channel is bursty, RTT fluctuates, or real-time transmission constraints are imposed.
I-B Contributions
We propose a novel adaptive causal coding scheme with FEC for a point-to-point communication channel with delayed feedback. The proposed model can track the erasure pattern of the channel, and adaptively adjusts its retransmission rates a priori and posteriori based on the channel quality (the erasure burst pattern) and the feedback acknowledgments.
We provide analytical results for the adaptive code suggested herein. Specifically, we upper bound the mean and max in order delivery delays111In this paper, we only consider the in order delivery delay given in Definition 1. and the throughput. We prove that for the point to point communication in the non-asymptotic regime the code proposed may achieve more than 90% of the channel capacity, and observe significant gains in the mean and maximum in order delivery delays, compared to SR-ARQ. The gains become more apparent when the channel is more bursty and RTT is high. The main distinctions of this approach from standard approaches like SR-ARQ [15], or other FEC schemes [13] which are very sensitive to the fluctuations in the channel quality (bursts) are that the proposed adaptive causal coding scheme is more robust to the burst erasures, and the round trip delay, and can handle in order delivery delay requirements. The algorithm parameters can be chosen to bound the delay and throughput of AC-RLNC, and achieve the desired delay-throughput tradeoffs. AC-RLNC also enables transmission with zero error probability. Zero error capacity has been considered in the literature [29, 30, 31], and for the finite block length regime [32, 33].
The simulation results for the implementation of AC-RLNC demonstrate the robustness of the algorithm. They also show that in real wireless scenarios, in addition to the improvement in throughput, the gap between the mean in order delay and the maximum in order delay is very small unlike the one in SR-ARQ where the growth rate of the gap is higher. In consistent with these, we validate the performance of data delivery of our algorithm via experimental simulations under the traces of Intel.
The rest of the paper is structured as follows. In Sect. II, we provide some definitions and metrics. In Sect. III, we formally describe the system model and problem formulation. In Sect. IV, we present the adaptive causal network coding algorithm, and in Sect. V, we provide the analytical results. In Sect. VI, we describe an experimental study and simulations exemplifying the performance of the proposed method. Finally, we conclude the paper in Sect. VII with possible future directions.
II Background
We provide background on the important metrics we study.
Definition 1**.**
In order delivery delay, . This is the difference between the time an information packet is first transmitted in a coded packet by the sender and the time that the same information packet is decoded, in order at the receiver, and successfully acknowledged [25].
The in order delivery delay also includes the decoding delay of packets at the receiver. We assume that decoding is via Gaussian elimination222Given a large enough field (when is the field size), the receiver can decode a generation of packets with high probability, through Gaussian elimination performed on the linear system formed on any coded packets [34]. .
The mean in order delivery delay, , is the average value of . This metric is of interest in reducing the overall completion delay of all packets such as in file download.
The maximum in order delivery delay, , is the maximum value of among all the information packets in the stream. This metric is of interest in reducing the maximum inter-arrival time between any two packets with new information, which might be critical for real-time applications, e.g., video streaming, conference calls, or distributed systems in which real-time decisions are taken according to information received from another source in the system.
We use random linear network coding (RLNC) as a forward error correction (FEC) technique to control the erasures over the unreliable forward channel. The benefit of RLNC is that the sender does not need to retransmit the same packet, and the receiver only has to collect enough degrees of freedom (DoF) to be able to decode the packets within the generation window. The number of information packets contained in an RLNC coded packet should be determined in accordance with the DoF needed by the receiver. We detail how we adaptively determine the effective window size in Sect. IV. We assume the packet overhead due to the RLNC header and the decoding time using Gaussian elimination are negligible [35, 36].
The successful delivery of each packet is acknowledged by the receiver on a per packet basis. We assume that the forward channel is unreliable and the reverse channel (feedback) is reliable. Therefore, the feedback acknowledgements are in the form of ACK’s or NACK’s which are successfully delivered after one .
Definition 2**.**
Throughput, . This is the total amount of information (in bits/second) delivered, in order at the receiver in transmissions over the forward channel. The normalized throughput is the total amount of information delivered, in order at the receiver divided by and the size of the packets.
The concepts of in order delivery delay and throughput are not separable. The higher the throughput, i.e., the total amount of information we want to deliver using the forward channel, the higher the in order delay, causing the tradeoff between delay and throughput. The FEC mechanism along with the feedback determines the performance of the protocol. There exist work on characterizing this tradeoff, such as in fixed nodes [37], mobile [38], ad hoc mobile networks [39], and fixed and mobile ad hoc networks [40]. However, to the best of our knowledge, the exact characterization and optimization of the tradeoff between in order delay and throughput might not be possible (or tractable) [10]. Via the proposed AC-RLNC scheme, one of the main objectives of the current paper is to provide guarantees (see Sects. IV, VI) for in order delay and throughput, instead of the explicit characterization of the tradeoff.
In Fig. 1, we illustrate three different codes. The rows and columns of a coding matrix denote the time slot and information packet indices, respectively. At a given time slot (corresponding to a particular row of the coding matrix), a coded packet, which is random linear combination of information packets is transmitted, as shown in Fig. 1-(a), (c) and (d). In Fig. 1-(b), the packets are not coded. Hence, each individual information packet is transmitted at a given time slot. The lost packets are shown with crossed marks. Appended to the right of each coding matrix, we have the indices of decoded packets and the corresponding time slots.
In Fig. 1-(a), we provide the coding matrix for a time-invariant streaming code. This scheme does not involve feedback from the receiver. Hence, the sender keeps transmitting random linear combinations of the information packets by enlarging the size of transmission window over time. In Fig. 1-(b), we show the coding matrix for SR-ARQ protocol. In this protocol, the objective is to only retransmit the information packets that were erased, then re-order the packets at the receiver. That is, the sender at each time slot decides whether to send a new packet of information or retransmit the erased packet according to the feedback acknowledgments. For example, at time slot , the sender receives an ACK for information packet that was transmitted at time slot . Since the sender does not have the feedback for the packets transmitted between time slots and , i.e. information packets as shown in the coding matrix, it decides to send the next information packet that is not transmitted yet, i.e. information packet . At time slot , the sender receives the NACK of erased information packet . Therefore, it decides to resend information packet . This protocol utilizes a sliding window to manage the throughput-delay tradeoff as given in [11]. In Fig. 1-(c), we show the coding matrix for a systematic code with feedback. This case, unlike streaming, is a generation-based scheme. The solid colored lines show the receipt of the feedback at the sender, and their colors correspond to the given generation. For example, the feedback (NACK) for the first generation is received at time slot . Then the sender knows that it needs to transmit another DoF. At time slot the sender receives the feedback for the first and second generations, and hence the sender knows the second generation is successfully transmitted, and more DoFs is required for the receiver to be able to successfully decode the first and the second generations in order. Finally, in Fig. 1-(d), we present AC-RLNC with feedback (our scheme). In the proposed protocol, the sender tracks rate and missing DoF according to the feedback acknowledgments. The feedback is per coded packet, i.e. per slot. It then adds DoFs according to the rate of the channel (every RTT period). Furthermore, the sender adaptively decides if to add new information packet to the RLNC or send additional DoF according to the rate of the channel and the rate of the DoFs. The details of how we choose the coding matrix will be clear in Sect. IV.
The scheme presented in this paper is related to fountain codes [41, 42], for which the code design very much depends on the choice of degree distributions. Different from fountain codes which do not exhibit a fixed rate, AC-RLNC is not rateless since the window size and hence the number of information packets to be combined at any time slot is bounded. It is also different from a block code with fixed dimension or message length. Unlike systematic codes, AC-RLNC do not restrict the coding into different generations. Furthermore, it is causal333Coding schemes can be non-causal. Block codes make for erasures that have not yet been seen, rather than reaching to them in the way, say a rateless code does..
III System Model and Problem Formulation
We consider an adaptive, causal, real-time, slotted, point-to-point communication model with feedback (i.e. AC-RLNC) for low-latency constraints. Fig. 2 shows the system model. We consider the case where erasures may occur over the forward channel. In each time slot the sender transmits a coded packet over the forward channel to the receiver. To simplify the technical aspects and focus on the key methods, we assume that the feedback channel is noiseless. The receiver acknowledges the sender for each coded packet transmitted over the feedback channel. Denote by the maximum propagation delay over any channel, and by the transmission delay of the packet, where is the size of each coded packet in bits and denote the rate of the channel in bits/second. Since the sender transmits one coded packet per time slot, is also the duration of a time-slot. We assume the size of the acknowledgements is negligible compared to the packet size. Hence, the round-trip time is
[TABLE]
For each -th coded packet it transmits, the sender receives a reliable or after .
For the forward channel we consider two types of channels. The first case is a binary erasure channel (BEC), with an i.i.d. erasure probability of per slot. Let denote the total number of transmission slots. Thus, on average, slots are not erased and are available to the receiver. The second is a Gilbert-Elliott (GE) channel with erasures. This channel is a binary-state Markov process with good () and bad () states. It introduces bursts into the channel, and hence isolates erasures [43, 44, 10]. Let be the probability transition matrix of the GE channel, which is given as
[TABLE]
where the first (second) row represents the transition probabilities from the good (bad) state. The stationary distribution satisfies , and . Let and be the erasure rates at the corresponding states. The average erasure rate is . Note that is the average erasure burst. Hence, burst erasures occur when is low.
With the proposed AC-RLNC scheme, with parameters , and , our goal is to minimize the in order delivery delay, , and maximize the throughput, .
IV Adaptive Coding Algorithm
In this section, we detail the AC-RLNC given in Algorithm 1. AC-RLNC differs from SR-ARQ in terms of the structure of the feedback and the retransmission criterion, which is mainly affected by the feedback, the window size and the forward channel conditions. Namely, the sender tracks the channel rate and the DoF rate at the receiver via the feedback acknowledgments, and selects if to add a new information packet to the next coded RLNC packet it sends444We consider a packet-level communications model. The bit-level communication can be considered as a special case of our model.. Fig. 2 shows the system model and the adaptive causal encoding process of the AC-RLNC protocol with an effective window size . The symbol definitions and an example realization of AC-RLNC are provided in Table I and Fig. 1-(d), respectively. In Appendix Acknowledgment we provide a detailed description of the example with the coding matrix as given in Fig. 1-(d). The main components of the packet level protocol are described next.
IV-0a Tracking Channel Behavior
In order to adapt the causal algorithm the sender estimates the actual channel behavior (i.e. erasure probability and its variance, and the burst pattern) using the feedback acknowledgements. To focus on the key methods, we concentrate on the BEC here. However, the same methods apply to the GE channel or more general channel models. First, the sender counts the actual number of erasures at each time slot . However, this number is computed based on the acknowledgments corresponding to time , and hence is an estimate. If there was no delay in sender’s estimate, it would achieve the capacity. The sender also keeps an estimate of the standard deviation of erasures due to the errors estimation caused by the round-trip delay. The probability of erasure at slot , , is the fraction of erasures over the time interval . Hence, the sender can compute the channel rate as , and the standard deviation for BEC as . Similarly, in the GE channel, we can estimate the actual burst pattern of the channel to adapt the algorithm.
IV-0b Window Structure and Different Generations
The sliding window structure is determined by the and the maximum number of information packets we allow to overlap, .
Denote the end of the window, EW, by RTT-1. Hence, the sender transmits new information packets (using coded packets ) before it repeats the same RLNC combination times555By the same RLNC combination, we mean that the information packets are the same, but with new random coefficients.. This is because coded packets will be erased on average per transmitted packets over the channel. Thus, by using FEC of coded packets in advance, the mean in order delay is reduced. In Fig. 1-(d), which describes an example realization of AC-RLNC, we show EW for each generation using different colors.
Denote by EW the end of overlap window, i.e., the number of information packets we allow to overlap. By limiting the maximum value of EW and transmitting the same RLNC combinations at EW, we can bound the maximum in order delay of the algorithm. The window structure affects the in order delivery delay. We provide analytical results for in order delivery delay in Sec.V.
Denote by the effective window size for the coded combination at time slot . Let denote the actual index of the first information packet in , i.e. is the index of the last information packet declared as decoded at the sender. The value of is adaptively determined based on the retransmission criterion, as we define in Sec. IV-f.
IV-0c Coded Packet
This is a causal random linear combination of a subset of information packets666The information packets are made available to the transport layer (such as a TCP/IP transport layer or an OSI transport layer (Layer 4)) and are not declared by the sender as decoded at the receiver according to the acknowledgments received over the feedback in the previous time slot . within the effective window. The RLNC coded packet at time slot , is given as a function of information packets by
[TABLE]
where are the random coefficients, and is the subset of information packets within the effective window. We denote by DoF() the DoF contained in , i.e. the number of distinct information packets in . The advantage of using RLNC was given in Sec. II.
IV-0d Tracking the Channel Rate and the Rate of DoF
We assume the feedback channel is noiseless777In the case that the feedback channel is noisy, we can consider a cumulative feedback (for example as given in [10]) that provides information about the DoF of seen packets, which implies that the previous packets had already been seen if the current packet has been seen.. Hence, for each -th coded packet transmitted by the sender, the receiver reliably transmits or after . Upon the acknowledgements, the sender tracks the actual rate of the channel (as given in Sec. IV-a) and the DoF rate , where and denote the number of DoFs needed by the receiver to decode , and the number of DoFs added to , respectively.
Now we provide one way to calculate in order to manage the delay-throughput tradeoff. Let and be the sets of ACKs and NACKs within the current window , respectively. Moreover, let and , be the sets of slots in which FEC and FB-FEC are sent in the current window , respectively. In Sec. IV-e we will consider the insertion of FEC and FB-FEC slots. Let denote the set of packets in the coded packet sent in slot . Hence,
[TABLE]
is the number of NACKed slots in which the coded packets contain new information packets in the current window. These coded packets do not correspond to the FEC or FB-FEC packets.
The sender adds DoFs, , by FEC and FB-FEC in the current window as we will describe in Sec. IV-e. Hence, the number of added DoFs given by,
[TABLE]
is the number of slots in which FEC or FB-FEC is transmitted in the current window. In Appendix Acknowledgment we provide a detailed description of the example given in Fig. 1-(d) with details on how and , and hence is calculated.
IV-0e Insertion of FEC and FB-FEC
We include two different forward error correction (FEC) mechanisms to add DoFs according to the actual rate of the channel. One is a priori and the second one is posteriori. This on one hand, will provide to the sender sufficient number of DoF to be able to decode the coded packets, minimizing the in order delivery delay. This, on the other hand, will minimize the redundant packets sent by the sender to maximize the throughput.
The first is a priori forward error correction mechanism, denoted by FEC, is sent DoFs in advanced decision according to the average channel rate. Upon the reception of the feedback, if the sender is at the end of the window (i.e. EW), it repeats the same RLNC combinations times. Note that we determine the number of FECs adaptively, according to the average erasure rate calculated by the information given over the feedback channel. However, we can adjust the number of to manage the delay-throughput tradeoff. Increasing we may reduce the delay. If the sender transmits redundant DoFs (due to the variation in the estimation during the round trip delay) that are not required by the receiver, the throughput will reduce.
The second is posteriori forward error correction mechanism denoted by feedback-FEC (FB-FEC). The insertion of the DoFs is determined by a retransmission criterion defined in Sec. IV-f. Using this FB-FEC mechanism the algorithm guarantees that the receiver obtains sufficient DoFs to be able to decode the coded packets, and maximizes throughput, which however is at the expense of increased in order delay than the duration of the effective window.
IV-0f Transmission Criterion
The retransmission criterion depends on whether the feedback is an ACK or a NACK. If the channel rate is sufficiently higher than the required DoF rate (which is given by the ratio of the number of DoFs needed to decode and the number of DoFs added to ), then the retransmission condition is satisfied:
[TABLE]
where is the threshold. In this case, a new packet is added to the random linear combination if it is not the EW, and otherwise the same random linear combination is transmitted.
By setting , the retransmission criterion becomes . In this case, the algorithm will track the average rate of the channel. However, we can set the threshold adaptively according to the maximum in order delivery delay requirements of the applications, and the standard deviation of the erasure events. For example, in order to support the burst of erasures and lower the maximum in order delivery delay, we can compute the second moment of the erasures (and denote by ) such that the threshold is set to be . In general, we can choose the threshold adaptively such that to manage the throughput-delay tradeoffs. Moreover, one can use the burst pattern to adapt the transmission criteria, which is left as future work.
V Analytical Results for Delay and Throughput
In this section we derive upper bounds for the mean and maximum in order delivery delay and throughput for AC-RLNC proposed in Sect. IV. First, note that in the code suggested herein we bound the number of distinct information packets in by . Limiting the maximum number of information packets that can overlap we reduce the mean and limit the maximum in order delay. Hence, in the analytical results concerning the in order delay, we consider the maximum lengths of the effective window and the end window of new packets, denoted by and EW, respectively.
V-A An Upper Bound to Mean In Order Delivery Delay
Following the notation in Table I, and Algorithm 1, the rate of DoF is given by
[TABLE]
where the number of DoFs needed by the receiver to decode , i.e. , satisfies
[TABLE]
and the DoF added to satisfies
[TABLE]
where is the effective number of the DoFs required by the receiver, and is defined in Table I.
The condition for retransmission is , such that
[TABLE]
Hence, we get that , where is an upper bound to the erasure probability of the forward channel.
To be able determine the mean and maximum in order delivery delays, and , respectively, we next need to calculate the following probabilities:
(1) Condition for starting a new generation. Probability that it is EW is:
[TABLE]
(2) Condition for retransmission. Probability that over two windows is:
[TABLE]
Finally, we calculate upper bounds for the mean in order delay for BEC under different feedback states.
V-A0a No Feedback
Given that there is no feedback, we have
[TABLE]
in which if it is EW (i.e. (4) is satisfied), the same RLNC is transmitted times, yielding a delay of , and if it is not EW, a new is added to the RLNC and transmitted, yielding a delay of . The scaling term in the upper bound is due to the maximum number of retransmissions needed to succeed in the forward channel. These steps follow from Algorithm 1 by replacing EW with EW.
V-A0b NACK
When the feedback message is a NACK, we have
[TABLE]
which follows from that given , which is with probability , the mean in order delay is same as the case when there is no feedback, and if , which is with probability , the same RLNC is transmitted, and then if it is EW, the same combination is retransmitted times. Here, the scaling term , similarly to the no feedback case, is due to the maximum number of retransmissions needed to succeed in the forward channel.
V-A0c ACK
When the feedback message is an ACK, we obtain
[TABLE]
which is due to that when it is the EW, the same RLNC is transmitted times. Then, if , which is with probability , then a new packet is added to the RLNC and transmitted. Otherwise, the same RLNC is transmitted, and both cases yield a delay of . Since the feedback is an ACK, the mean in order delay we compute is scaled by , which is a lower bound on the probability of getting an ACK with perfect feedback.
Given the round trip delay, we do not have feedback in the first transmission window. Hence, to normalize the effect of not having feedback, we use a normalization parameter denoting the fraction of time there is feedback such that
[TABLE]
We use this upper bound in Sect. VI to validate our numerical simulations where .
For the GE channel model, erasure events only occur when the forward channel is in state . Therefore, the average number of transmissions in the forward channel can be computed using the following relation
[TABLE]
where the first term denotes the fraction of time the channel is state , for which only one transmission is required, i.e. , and the term inside the summation denotes the probability that the channel starts in state and transits to state in slots. Evaluating (8), along with the number of retransmissions needed to succeed in the forward channel is
[TABLE]
We can show that if , the number of retransmissions needed for GE channel is higher than the number of retransmissions for BEC. Since we mainly focus on the bursty GE channel model, i.e. when is small such that
[TABLE]
we can show that the number of retransmissions required in this case will be higher compared to the BEC case. Using this consideration and the similar upper bounding techniques as in the case of BEC (see (5), (6) and (7)), we can show that the upper bound for the mean in order delay for the GE channel is higher.
V-B An Upper Bound to Maximum In Order Delivery Delay
In the algorithm proposed, the maximum number of information packets in is limited. Thus, when DoF() , the sender transmits the same RLNC combination until all information packets are decoded. In this case, since each transmitted packet is a coded combination, any packets delivered at the receiver are sufficient to decode . Let denote the time interval between when the first information packet in is first transmitted and when all the information packets in are decoded at the receiver. This time interval may also include at most coded packets that are erased in the forward channel, in addition to coded packets successfully delivered to the receiver. Hence, as presented in Fig. 4. The maximum delay that the first information packet can experience is when there are erasures first, and then the are successfully delivered next (i.e., when the channel is bursty).
Denote by the probability of error which is when there are more than packets that are erased in . Hence,
[TABLE]
Rearranging terms results in
[TABLE]
Now, since the maximum number of missing DoFs in is , the maximum in order delay is bounded by
[TABLE]
for any selected error probability .
In Fig. 3 we present the results for the rates of the DoF and the channel calculated at the sender, and the mean and the maximum in order delivery delays bounds and for and . The analytical results presented have a good agreement with the simulation results given in Sect. VI, where .
V-C An Upper Bound to Throughput
In the adaptive code proposed in Section IV, the sender learns the rate of the channel and the rate of the DoF according to the acknowledgements obtained over the feedback channel. However, it is essential to note that due to the RTT delay, those rates at the sender are updated with delay. Hence, at time slot , the actual retransmission criterion at the sender is calculated as
[TABLE]
where . Hypothetically, if is less than 1 slot (i.e. ), the adaptive code is able to obtain the rate of the channel. However, in the non-asymptotic model considered, RTT delay is higher, i.e. . Hence, we may get degradation on the throughput due to the variations in the channel. This is because those variations are not reflected in the retransmission criterion at the sender in time slot . By bounding the channel variance during RTT, we can provide bounds on the throughput. Different bounds for the variations of the channels are considered in the literature [45, 46]. Bounding the variance, we will obtain the maximum variation between the channel rate calculated at the sender for the retransmission criterion in (11) to the actual channel rate.
In the code suggested, the calculated rate sets the number of RLNC coded packets with the same or new information packets to be transmitted during the period of RTT. We denote by the vector of the RLNC packets transmitted during a period of RTT transmissions given the estimated rate . Denote by the vector of the RLNC packets transmitted if the actual rate of the channel was available at the sender non-causally.
Now we consider the case where the actual rate of the channel, , at time slot is higher than the rate, , estimated at the sender at time slot . In this case, the sender will transmit additional DoF (additional RLNC coded packets of the same information packets with different coefficients) which are not required at the receiver to decode. In the case that the estimated rate is lower than the actual rate of the channel, we don’t lose throughput because the sender does not transmit redundant DoFs. However, since there are missing DoFs at the receiver to decode, the in order delay increases. The number of the additional DoF not required by the receiver, during RTT time slots, will be determined according to the distance between the number of packets not erased at the receiver given , to the estimated number of non-erased packets given .
We next define the Bhattacharyya distance which we use to provide an upper bound to the throughput. In [47, 48, 49, 50], Bhattacharyya Distance was considered to bound the zero error capacity.
Definition 3**.**
The Bhattacharyya distance is given by [50]
[TABLE]
where is the Bhattacharyya coefficient, given as
[TABLE]
and, and is the channel transition probabilities from inputs and to output vector , respectively. We point out that bounds on the Bhattacharyya distance for codes can be immediately mapped to bounds on the reliability function for certain channels.
Theorem 1**.**
An upper bound on the throughput of AC-RLNC is**
[TABLE]
where is the Bhattacharyya distance.
Proof.
One reasonable approach to bound the distance between the number of erasures at the output vector, , of the channel during the period of RTT is using the Bhattacharyya distance between the channel probability distributions at time and .
Given the actual channel rate at time slot , the rate of the channel at time slot is bounded by
[TABLE]
where is the variance of the channel during the period of RTT.
We consider an period. Therefore, let and , where we use the upper bound for given in (15) instead of computing it explicitly. Letting the summation range in (13) be from to , we can upper bound the throughput as
[TABLE]
∎
Corollary 1**.**
BEC.* An upper bound on the throughput of AC-RLNC for BEC is*
[TABLE]
Proof.
For the BEC channel, when , we have,
[TABLE]
where is the variance of the BEC during the period of RTT. Since the total number of successes in a sequence of independent realizations of the channel, has a Binomial distribution with mean , given as
[TABLE]
In BEC and , respectively, be two Binomial distributions with the same parameter . Then, the Bhattacharyya coefficient is given by
[TABLE]
and the Bhattacharyya distance for BEC is given by
[TABLE]
Hence the upper bound on the throughput is given by
[TABLE]
∎
In Fig. 5, we show the throughput upper bound of AC-RLNC as function of for BEC with . We can note that in this case the suggested solution may achieve around of the BEC channel capacity. In Fig. 6, we present the throughput upper bound for BEC as function of . Note that in the simulation results presented in Fig. 6, by changing the parameters in the algorithm, we may obtain the upper bound. For example, to do that we can limit the maximum number of information packets we allow in the RLNC to . This will increase the in order delay; however, by the parameters of the algorithm suggested we can improve the throughput and manage the throughput-delay tradeoffs according to the constraint of each application.
Corollary 2**.**
GE Channel.* An upper bound on the throughput of AC-RLNC for GE channel where is*
[TABLE]
Proof.
Let be the random variable denoting the erasure event. For the GE channel considered the average erasure rate is given by
[TABLE]
where and . Hence, we assume . We denote by the state random variable. The variance of the GE channel given by
[TABLE]
Now, in the same way that given above for the BEC channel, the rate at time slot for the GE channel is bounded by
[TABLE]
and the throughput by is bounded by
[TABLE]
using Bhattacharyya distance given in (12).
We can upper bound the Bhattacharyya distance of the GE channel using the Bhattacharyya distance of the BEC as
[TABLE]
The above relation is due to that since we have . This implies that is large compared to , and when the channel state is , the probability that the channel stays there will be higher. As a result, the number of successes in a sequence of dependent realizations of the channel is positively correlated, and the probability distribution of the number of successes satisfies
[TABLE]
yielding
[TABLE]
∎
In Fig. 5, we show the throughput upper bound of AC-RLNC as function of for GE channel with and . We can note that in this case the suggested solution may achieves around of the channel capacity. In Fig. 7, we present the throughput upper bound for the GE channel where and . Similar to BEC results presented in Fig. 6, we limit the maximum number of information packets we allow in the RLNC to . This is to show that by changing the parameters of AC-RLNC we may obtain the upper bound.
VI Experimental Study and Simulation Results
In this section, we demonstrate the performance of AC-RLNC with feedback. We first simulate the selective repeat ARQ (SR-ARQ) protocol, and validate the throughput , the mean in order delivery delay , and the maximum in order delivery delay performance. We then validate the simulation results via experimental simulation results using the Intel traces for a point-to-point wireless communication system. The controlled-congested setup considered by Intel is illustrated in Fig. 10 along with its description.
We provide a performance comparison between SR-ARQ and AC-RLNC in terms of , and , with respect to the rate , for different values of RTT888slot durations can be adjusted based on the measurements from real systems. We further assume that the retransmission criterion is , i.e. , i.e. the sender only tracks the average erasure rate per window and limits to the maximum number of information packets allowed to overlap (i.e. ). We compare the performance of different channel models: BEC and GE models.
Simulation for BEC. In Fig. 9, we evaluate the performance of AC-RLNC and contrast it with SR-ARQ’s performance for a BEC in terms of (left), (middle), and (right). The throughput gain of the AC-RLNC with respect to SR-ARQ is significant at high RTT values (nearly doubled at ). The throughput of both models is comparable when RTT is low because the need for adaptive FEC mechanism is eliminated. However, AC-RLNC always performs better. We can see significant gains (more than double at ) in and of AC-RLNC with respect to SR-ARQ. This is because the sender compares the DoFs received, (learnt via feedback) with the transmission rate, of the channel, adapts the FEC insertion rate. This enables a higher number of successful transmissions than the time-invariant streaming codes (Fig. 1-a), and systematic codes with feedback (Fig. 1-b).
Simulation for GE channel. In Fig. 9, we investigate and contrast the performance of the AC-RLNC with the performance of SR-ARQ for the GE channel where and , in terms of the (left), (middle), and (right). While drops for both models because the channels are bursty, it is still possible to see the gain of using AC-RLNC. When we look at the delay performance, however, we can see that AC-RLNC can handle the burst erasures better than SR-ARQ in the sense that the gain is at least tripled for . Similarly, when we compare the performances, we can see that AC-RLNC is more stable in terms of the maximum in order delivery delay, such that the delay tail has a sub-Gaussian behavior.
Validation with Intel traces. We next explain the implementation setup we consider in order to validate our algorithm in Sect. IV, and the analytical bounds presented in Sect. V. This is a controlled-congested setup considered by Intel, which is summarized in Fig. 10. In this setup, there are three access points (AP1, AP2, AP3) and four clients, where one of the client is multi-user (Client 2). The Device Under Test (DUT) is the receiver, and there is one general interferer (using a signal generator). The dashed lines to the DUT are the point-to-point communication channels to be analyzed. The transmit powers can be adjusted to test several scenarios. The WiFi standards used are IEEE 802.11n, IEEE 802.11ax and IEEE 802.11ac. The WiFi traces are collected from all senders (clients and APs). The traces contain the time slot information of the feedback acknowledgements obtained from the receiver. In Fig. 11, using the controlled-congested setup of Intel, we demonstrate the behavior of (left), (middle), and (right). From the simulation results, we can note that the experimental study results have a good agreement with the simulation results using the GE channel model with the appropriate burst parameter.
VI-A Discussion
The advantage of the AC-RLNC with feedback in terms of throughput and delay is even more evident when we have a GE channel instead of a BEC. This is because the adaptive causal network coding protocol can track the erasure pattern, and is more robust to burst erasures.
The causal and adaptive RLNC algorithm can be used for a variety of scenarios with different delay requirements. Since the algorithm is adaptive and robust to burst erasures and brings down the gap between and , it can be used to run applications with different delay sensitivities (e.g. file download , and in movie streaming concerning with minimizing ). This indicates the versatility of the proposed coding approach. Our analytical results and bounds (provided in Sect. V) permit accounting accurately for delay when coding.
If the is long, e.g., in the case of satellite, WiMAX, the insertion of FEC of retransmissions can be split during the window, instead of including the FEC at the end of the window. How to optimally split the insertion of FEC is an interesting extension of the current work.
VII Conclusions
We proposed a causal and adaptive RLNC-based algorithm (i.e. AC-RLNC) for erasure channels. AC-RLNC can increase the throughput gains and reduce the in order delivery delay (not only the mean, but also the maximum) significantly. We derive the throughput and the mean and maximum in order delivery delay of AC-RLNC. The numerical simulations suggest that the adaptive model can predict the behavior in bursty environments and improve the gains even further. This is also consistent with the experimental validation of Intel traces. The proposed approach is a good starting point to demonstrate the gains that can be obtained via a causal and adaptive coding model. The throughput gains can be more than twice of SR-ARQ for memoryless channels, the gain in terms of the mean in order delivery delay is tripled for bursty channel, and the maximum in order delivery is more stable compared to SR-ARQ.
Future work includes the extension of the single-path model to multi-path, and optimize the packet scheduling. Extensions also include the study of more general mesh networks, where the interference and congestion are not negligible. These tradeoffs can be also exploited to see the fundamental limits of delay and throughput with hardware constraints from a practical point of view.
Acknowledgment
We want to thank Shlomi Buganim for his contributions in the experimental study given in Sect. VI.
We provide a detailed description of the AC-RLNC algorithm realization in Fig. 1-(d) for a point-to-point channel.
In Fig. 1-(d) , we show a coding matrix using AC-RLNC with feedback. In each time slot , the sender transmits a coded packet to the receiver. The receiver sends feedback (without any losses or delay) on each coded packet transmitted. For the coded packet transmitted, the sender receives a reliable acknowledgment (e.g. ACK(t) or NACK(t)) after an RTT. For this particular example, is time slots. 2. 2.
In this example, at , the sender transmits information packet to the receiver. The effective window size is (as ). Since no feedback has been received from the receiver, and it is not the end of the effective window (EW), the sender includes packet into the effective window and generates a coded packet that includes a linear combination of the information packets included in the effective window (e.g. ), and transmits to the receiver. The sender may check to determine whether coded packet satisfies , and concludes that does not exceed the allowable DoF. 3. 3.
At , the sender wants to transmit information packet to the receiver. Since no feedback has been received from the receiver, and the effective window does not end with information packets, the sender includes into the effective window and generates and transmits a coded packet that is a linear combination of the packets in the effective window (i.e. and ). The sender can then update the rate of DoF. It also checks whether . 4. 4.
At , the sender wants to transmit information packet . Since no feedback has been received from the receiver, and the effective window does not end with new information packets, the sender includes packet into the effective window and generates and sends a coded packet that is a linear combination of the information packets included in the effective window (i.e., , and ). The sender then updates the rate of DoF and checks if . 5. 5.
At , the sender wants to transmit information packet . However, notwithstanding that no feedback has been received from the receiver, the sender checks and determines that the effective window ends with new information packets (i.e. , and ). As a result, the sender generates and transmits a FEC packet to the receiver. For example, the FEC packet at can be a new linear combination of , and . It is also possible that the sender may transmit the same FEC a multiple times. We let the number of FECs be , which can be specified based on the average erasure probability, or provided over the feedback channel. In other words, is a tunable parameter. In Fig. 1-(d), , which results in low throughput when the channel rate is high, and low in order delay when the rate is low. Hence, can be adaptively adjusted exploiting the value of the average erasure rate in the channel to achieve a desired delay-throughput tradeoff. 6. 6.
At , transmission of FEC packet is noted by the designation “fec” in row . The sender can then update the DoF added to , and the rate of DoF. Note that the transmission of this FEC is initiated by the sender (e.g., the transmission of the FEC packet was not a result of feedback from the receiver). Furthermore, is not included in the effective window. The sender may check and determine that does not exceed the allowable DoF (). 7. 7.
At , the sender determines that it needs to transmit . It also sees the acknowledgement of the receipt of (denoted by ACK(1) in the Feedback column at row ). Hence, the sender can remove a DoF (e.g., ) from the effective window. The effective window slides to the right (equivalent to sliding window). In this case, the sender determines that the effective window does not end with new information packets, and checks if the rate is higher than the DoF rate , i.e. the threshold condition for retransmission (e.g., transmission of an FEC) is . Hence, the sender can decide that the channel rate is sufficiently higher than the DoF rate (e.g. denoted by in the right-most column at row ). Note that , where is the number of erasure packets and is the number of transmitted packets for which the sender has received acknowledgments. Having determined that , the sender includes into the effective window and generates a coded packet that includes a linear combination of the information packets in the effective window (i.e., , , and ), and transmits to the receiver. The sender then updates the rate of DoF. It may also check that does not exceed the allowable DoF (). 8. 8.
At , the sender wants to transmit . It also sees the acknowledgment of the receipt of (denoted by ACK(2) in the Feedback column at row ). Hence, the sender can remove a DoF (e.g., ) from the effective window. In this case, the sender determines that the effective window does not end with new information packets (but the effective window ends with new information packet ). The sender checks if . Having determined that (in the right-most column at row ), the sender includes into the effective window and generates and transmits a coded packet that includes a linear combination of the information packets included in the effective window (e.g., , and ). The sender then updates the rate of DoF. It also checks that does not exceed the allowable DoF (). 9. 9.
At , the sender wants to transmit . The sender also sees a negative acknowledgment indicating the non-receipt of (denoted by NACK(3) in the Feedback column at row ). The non-receipt of is denoted by the x’ed out dot in row . Upon the reception of NACK, the sender increments a count of the number of erasures (denoted as ). For example, since this is the first erasure, the count of is incremented to the value of one. The sender then updates the missing DoF to decode according to the number of NACKs received. In this instance, the sender updates the missing DoF to decode to a value of one () since this is the first NACK. The sender then checks if the retransmission condition is satisfied. Since , it generates and transmits an FEC packet to the receiver. In this instance, the FEC packet is a new linear combination of , and . Note that the threshold condition noted in the right-most column at row indicates the state of the threshold condition subsequent to transmission of . The transmission of this FEC is a result of feedback by the receiver (which is noted as “fb-fec” in row ). The sender then updates the DoF added to . The sender determines that the effective window does not end with new information packets (e.g. effective window ends with new information packets and ), and then updates the rate of DoF. It also checks that does not exceed the allowable DoF (). 10. 10.
At , the sender determines that it still needs to send to the receiver. The sender also sees a negative acknowledgment indicating the non-receipt of (denoted by NACK(4) in the Feedback column at row ). Upon the receipt of NACK, the sender increments a count of . In this instance, since this is the second erasure, the count of is incremented by one to a value of two (i.e. ). The sender then updates the missing DoF to decode . After it checks that the retransmission threshold is not satisfied, the sender generates and transmits an FEC packet to the receiver. The FEC packet is a new linear combination of , and . The transmission of this FEC is a result of feedback by the receiver (which is noted as “fb-fec” in row ). The sender then updates the DoF added to , and determines that the effective window does not end with new information packets (effective window ends with new information packets and ). The sender then updates the rate of DoF. It may also check that does not exceed the allowable DoF (). 11. 11.
At , the sender determines that it still needs to send to the receiver. The sender also sees an acknowledgment indicating the receipt of (denoted by ACK(5) in the Feedback column at row ). Since sender sees an acknowledgment, and determines that the effective window does not end with new information packets (effective window ends with new information packets , and ), the sender checks if . Having determined that (as shown in the right-most column at row ), the sender includes packet into the effective window, and generates and transmit a coded packet that includes a linear combination of the information packets included in the effective window (i.e., , , and ). The sender then updates the rate of DoF. It may also check that does not exceed the allowable DoF (). 12. 12.
At , the sender determines that it needs to send to the receiver. The sender also sees an acknowledgment indicating the receipt of (denoted by ACK(6)). Since the sender sees an acknowledgment, it determines that the effective window ends with information packets , , , and . As a result, the sender generates and transmits a FEC packet . The sender then updates the added DoF (i.e., ). Now, since , the sender includes packet into the effective window. Then it generates a coded packet to transmit at time slot that includes a linear combination of the information packets in the effective window (i.e., , , , and ). It may also check that does not exceed the allowable DoF (). 13. 13.
At , the sender transmits . However, according to the acknowledgment indicating the receipt of (denoted by ACK(7)), the sender removes DoF (e.g., information packets , and ) from the effective window. The sender then updates the rate of DoF. 14. 14.
At , the sender sees an acknowledgment indicating the receipt of (denoted by ACK(7) in the Feedback column at row ). Since the sender sees an acknowledgment, and determines that the effective window does not end with new information packets (effective window ends with new information packet ), the sender checks if . Having determined that (as shown in the right-most column at row ), the sender includes packet into the effective window. Then the sender generates and transmits a coded packet . This coded packet includes a linear combination of the information packets available in the effective window (i.e., , and ). It may also check that does not exceed the allowable DoF (). 15. 15.
The rest of the example follows using similar steps. The sender continues sending information or coded packets during time slots . Hence, the sender can adaptively adjust its transmission rate according to the process described above.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A. Shokrollahi, “Raptor codes,” IEEE/ACM Transactions on Networking (TON) , vol. 14, no. SI, pp. 2551–2567, 2006.
- 2[2] M. Luby, “LT codes,” in Proc. IEEE Symp. Found. Computer Science . IEEE, 2002, pp. 271–280.
- 3[3] J. Cloud, D. Leith, and M. Médard, “A coded generalization of selective repeat ARQ,” in 2015 IEEE Conf. Computer Commun , 2015, pp. 2155–2163.
- 4[4] W. Guo, X. Shi, N. Cai, and M. Médard, “Localized dimension growth: A convolutional random network coding approach to managing memory and decoding delay,” IEEE Trans. Commun. , vol. 61, no. 9, pp. 3894–3905, Sep. 2013.
- 5[5] G. Joshi, Y. Kochman, and G. W. Wornell, “On playback delay in streaming communication,” in Proc. IEEE Int. Sym. Inf. Theory , 2012, pp. 2856–2860.
- 6[6] ——, “The effect of block-wise feedback on the throughput-delay trade-off in streaming,” in Proc. IEEE Conf. Computer Commun. Wkshps , 2014, pp. 227–232.
- 7[7] E. Weldon, “An improved selective-repeat ARQ strategy,” IEEE Trans. Commun. , vol. 30, no. 3, pp. 480–486, 1982.
- 8[8] M. Anagnostou and E. Protonotarios, “Performance analysis of the selective repeat ARQ protocol,” IEEE Trans. Commun. , vol. 34, no. 2, pp. 127–135, 1986.
