Adaptive relaying for streaming erasure codes in a three node relay network

by   Gustavo Kasper Facenda, et al.

This paper investigates adaptive streaming codes over a three-node relayed network. In this setting, a source node transmits a sequence of message packets to a destination through a relay. The source-to-relay and relay-to-destination links are unreliable and introduce at most N_1 and N_2 packet erasures, respectively. The destination node must recover each message packet within a strict delay constraint T. The paper presents achievable streaming codes for all feasible parameters {N_1, N_2, T} that exploit the fact that the relay naturally observes the erasure pattern occurring in the link from source to relay, thus it can adapt its relaying strategy based on these observations. In a recent work, Fong et al. provide streaming codes featuring channel-state-independent relaying strategies. The codes proposed in this paper achieve rates higher than the ones proposed by Fong et al. whenever N_2 > N_1, and achieve the same rate when N_2 = N_1. The paper also presents an upper bound on the achievable rate that takes into account erasures in both links in order to bound the rate in the second link. The upper bound is shown to be tighter than a trivial bound that considers only the erasures in the second link.



page 1

page 2

page 3

page 4


Optimal Streaming Erasure Codes over the Three-Node Relay Network

This paper investigates low-latency streaming codes for a three-node rel...

Error-correcting codes for low latency streaming over multiple link relay networks

This paper investigates the performance of streaming codes in low-latenc...

Streaming Erasure Codes over Multi-hop Relay Network

This paper studies low-latency streaming codes for the multi-hop network...

Information Bottleneck for an Oblivious Relay with Channel State Information: the Vector Case

This paper considers the information bottleneck (IB) problem of a Raylei...

The Filtered Gaussian Primitive Diamond Channel

We investigate the special case of diamond relay comprising a Gaussian c...

Information Bottleneck for a Rayleigh Fading MIMO Channel with an Oblivious Relay

This paper considers the information bottleneck (IB) problem of a Raylei...

Streaming Erasure Codes over the Multiple Access Relay Channel

Applications where multiple users communicate with a common server and d...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

A number of emerging applications including online real-time gaming, real-time video streaming (video conference with multiple users), healthcare (under the name tactile internet), and general augmented reality require efficient low-latency communication. In these applications, data packets are generated at the source in a sequential fashion and must be transmitted to the destination under strict latency constraints. When packets are lost over the network, significant amount of error propagation can occur and suitable methods for error correction are necessary.

There are two main approaches for error correction due to packet losses in communication networks: Automatic repeat request (ARQ) and Forward error correction (FEC). ARQ is not suitable when considering low latency constraints over long distances, as the round-trip time may be larger than the required delay constraint. For that reason, FEC schemes are considered more appropriate candidates. The literature has studied codes with strict decoding-delay constraints—called streaming codes—in order to establish fundamental limits of reliable low-latency communication under a variety of packet-loss models. Previous works have studied particular, useful cases. In [martinian2004burst], the authors studied a point-to-point (i.e., two nodes—source and destination) network under a maximal burst erasure pattern. In [leong2012erasure], the authors have studied, separately, burst erasures and arbitrary erasures. In [badr2013streaming], the authors have extended the erasure pattern, allowing for both burst erasures and arbitrary erasures. In particular, it was shown that random linear codes [ho2003randomized] are optimal if we are concerned only with correcting arbitrary erasures. Other works that have further studied various aspects of low-latency streaming codes include [JoshiWornell2012, Karzand2017, badr2017layered, badr2017fec, Rashmi2018, krishnan2018rate, fong2019optimal, domanovitz2019explicit, KrishnanLowField2020].

While most of the prior work on streaming codes has focused on a point-to-point communication link, a network topology that is of practical interest involves a relay node between source and destination, that is, a three-node network. This topology is motivated by numerous applications in which a gateway server, able to decode and encode data, connects two end nodes. Motivated by such considerations, streaming codes for such a setting were first introduced in [Silas2019], which derived the time-invariant capacity for the three-node setting, and further extended to a multi-hop network in [domanovitz2020streaming].

However, the work in [Silas2019] is constrained to time-invariant codes, in particular, the relay does not exploit the knowledge about the erasure pattern it has observed in order to improve its coding scheme. On the other hand, the work in [domanovitz2020streaming] allows for channel adaptation, however, applying the scheme presented in that work in the reduced three-node relayed network does not improve the rate of the streaming code above [Silas2019], and gains are only observed in the multi-hop setting.

In our work, we present an achievable coding scheme that is able to outperform the rate achieved by [Silas2019, domanovitz2020streaming]

in the three-node relayed network. Furthermore, we present a novel optimization-based upper bound for this setting and an heuristic to find a solution for that optimization.

I-a Related Works and Applications

Our work follows the same adversarial packet erasure channel model used in previous works such as [martinian2004burst, leong2012erasure, badr2013streaming, domanovitz2019explicit, KrishnanLowField2020]. In these works, there is a limit on the number of erasures that may occur, and the goal is to achieve error-free communication within the strict delay constraint. Adaptation of the encoding strategies has been studied in [Cohen2019, Cohen2021] in order to adapt to changing channel statistics. In these works, such adaptation is performed using random linear codes. Relay adaptation has been studied in [domanovitz2020streaming] in order to transmit over a multi-hop setting.

The setting we study, with an intermediate relay between a source and destination, can be used to model communication between a user and a server. In such scenario, it is common that the user communicates with a nearby node that is connected to the same network as the server, and this node then communicates with the server through an internal network. In this case, the link from source to relay models the path from the user to this intermediate node, and the link from relay to destination models the path from it to the server, or vice-versa. In many applications where such a network setting is common, low latency is desirable—frequently, reducing latency is the reason the internal network is built, so the routing can be optimized to reduce delay (e.g. Riot Games’ network [maynard-koran_2016] or WTFast network [Hains2020]), rather than the number of hops, which is usually desired by regular Internet Service Providers.

Furthermore, the impact of latency on the user experience in applications such as cloud gaming, where a cloud server performs the computationally intensive tasks such as video rendering, and then transmits only the video output to the player, has been widely studied [Jarschel2013, Quax2013, Clincy2013, Claypool2014, Slivar2014, Wen2014, Schmidt2017]. This latency has different sources, such as propagation delay, hardware delay, server-side processing delay and communications delay, and reducing many of them has been studied, such as server-side delay [lee2014outatime], video-encoding optimization [Slivar2015] and, as mentioned previously, reducing propagation delay by building internal networks optimized to reduce latency. However, reducing the communication delay seems to be understudied, in particular, the delay caused by packet losses. Considering that the round-trip-delay often represents more than 20% of the delay budget in these applications [Carrascosa2020], re-transmissions represent a significant cost in the delay budget. Using streaming codes could make these re-transmissions unnecessary, freeing up a significant fraction of the delay budget.

Similar scenarios appear naturally in other settings, such as virtual and augmented reality, where latency has been linked to motion sickness [Stauffert2020cybersickness], and, again, e.g. in VR cloud computing, the user communicates with an intermediate node which then communicates with the server.

Ii System Model and Main Results

Fig. 1: Three node setting

In this section, we formally introduce the problem setting. We use the following notation throughout the paper. The set of non-negative integers is denoted by . The finite field with elements is denoted by . The set of

-dimensional column vectors over

is denoted by . For , we use to denote . Naturally, we set .

Consider a three node setup consisting of a source, relay and destination. All packet communication happening in source-to-relay and relay-to-destination links are assumed to be instantaneous, i.e., with no propagation delays. In each discrete time slot , the source has a message packet available, which needs to be communicated to the destination via relay. For simplicity, we assume that , if . Towards this, at time-, source invokes a source-side encoder to produce a source packet , which is obtained as a function of message packets . Source transmits to the relay over a packet erasure channel. Let denote the packet received by relay. We have:


In time-, once relay receives , it produces a relay packet by invoking a relay-side encoder:


The relay packet is a function of packets . Relay transmits to the destination in time-. Owing to erasures in relay-to-destination link, the packet received by destination in time- is given by:


At time-, destination uses decoder:


to obtain an estimate

of as a function of received packets . The decoder is delay-constrained as has to be estimated by time-. The tuple constitutes an streaming code. This setting is illustrated in Fig. 1.

Definition 1 (Rate of a streaming code).

The rate of an streaming code is defined to be .

Definition 2 (Erasure Sequences).

A source-relay erasure sequence denoted by is a binary sequence, where iff . Similarly, a relay-destination erasure sequence will have iff

Definition 3 (-Erasure Sequences).

Let . A source-relay erasure sequence is defined to be an -erasure sequence if . Similarly, is an -erasure sequence if .

Definition 4 (-Achievability).

An streaming code is defined to be -achievable if it is possible to perfectly reconstruct all message packets (i.e., for all ) at the destination in presence of (i) any -erasure sequence and (ii) any -erasure sequence . Similarly, a rate is said to be -achievable if there exists an code such that: the code is -achievable and .

Definition 5 (-Capacity).

The -capacity, denoted as , is the maximum of all rates that are -achievable, as defined in Definition 4.

It may be noted that, if , the -capacity is 0.

Remark 1.

Error protection provided by -achievable streaming codes may appear to be limiting, as they consider only erasures across all time slots in source-relay link and erasures across all time slots in relay-destination link. However, owing to the delay-constrained decoder, these codes can in fact recover from any , which satisfy: and for all . i.e., in any sliding window of consecutive time slots, source-relay and relay-destination links see at most and erasures, respectively.

Iii Proposed Scheme

In this section, we present the code construction and the achievable rate of such streaming code. We start by stating our main results, then, we present the main ideas that lead to these results, a toy-case example demonstrating the key ideas, and finally the general code construction.

Theorem 1.

For any , and , there exists an -achievable streaming code with rate where


and where is an overhead bounded by , where is an arbitrary integer constant, thus the overhead goes to 0 as increases.

Remark 2.

In Theorem 1, the term represents the fact that, since the relay is changing its coding strategy according to the erasure pattern that has occurred in the link from source to relay, that erasure pattern must also be informed to the destination by the relay. In order to keep it simpler, we present our examples and highlight the main ideas assuming the destination is given the erasure pattern that has occurred from source to relay. We also present a naive solution to transmit this necessary information, which is independent of the packet size, thus, by making the code infinitely large, this overhead is negligible. In the theorem, the constant represents the number of codewords we multiplex in the same packet, thus increasing it increases the packet size and makes the overhead negligible. More details are given in the end of Section III-E.

Corollary 1.

For any and , for a sufficiently large , there exists an -achievable channel-state-dependent streaming code that achieves a rate (strictly) higher than which is the rate achieved by channel-state-independent -achievable streaming codes [Silas2019].

Iii-a Main Ideas

As mentioned in previous sections, our streaming code differs from the one presented in [Silas2019] mainly in its relaying function. The encoding function from source to relay follows the same core idea. However, the relaying function differs greatly by employing the knowledge of the erasure pattern that has occurred. Below, we highlight the main concepts which allow us to exploit that knowledge.

Iii-A1 Packet-wise variable rate

In our coding scheme, from relay to destination, each message packet is transmitted using a different rate, based on the erasure pattern its respective source packet has been subject to in the link from source to relay. In [Silas2019], each message is transmitted assuming it has been subject to the worst case erasure pattern, which leads to every message being transmitted with an effective delay of from relay to destination. In other words, in prior works, information about a message packet is only relayed starting at time , even though it might have been recovered earlier than that, which occurs, for example, if the respective source packet has not been erased. This implies that the respective message packet can be transmitted with effective delay equal to , that is, the source-to-relay link has introduced no delay to that message packet. Furthermore, from our channel model assumptions, some source packets are guaranteed to not be erased (otherwise the capacity is 0), thus, some message packets can certainly be transmitted from relay to destination with effective delay

. Since these packets can be transmitted with a higher effective delay, they can be transmitted with a higher rate, which will lead to a higher overall rate, as we will see later. This also leads to a variable streaming code rate, however, we handle that by zero padding.

Iii-A2 Within-message variable rate

Not only each message packet is transmitted with a different rate according to the erasure pattern it is subject to in the first link, this rate is also adapted on the fly as new erasures occur. For example, consider source packet has been erased. At time , message packet is subject to one erasure. Then, assume we successfully recover . The relay start transmitting some information about . Up to this point, only one erasure has occurred, and we transmit accordingly. Then, assume is again erased. Now, is subject to two erasures, rather than one, and its rate of transmission should adapt accordingly to a lower rate. We achieve this rate adaptation by using long maximum-distance separable (MDS) codes, which encode across all message symbols and allow for variable-rate transmission, rather than diagonally-interleaved “short” MDS codes, which were used in prior works.

Iii-A3 Noisy Relaying

Another key difference is that, in [Silas2019], the concept of “symbol-wise decode-and-forward” was introduced, where the relay decodes symbols of the message packet and then forwards them. However, the relay is only able to forward information about symbols it has been able to fully recover. In our coding scheme, the relay transmits noisy symbols, i.e., symbols that contain interference caused by past message packets. Because the destination is required to recover packets sequentially, interference of past messages can be cancelled by the deadline at the destination.

Iii-B Example

Consider, for example, a network with , and . Let us consider , that is, each message packet consists of 24 symbols. We denote by the th message symbol at time . We use the notation and .

As we show next, the source is using the same coding scheme as [Silas2019] which amounts to a systematic transmission with diagonally interleaved block codes which results in transmitting at rate of .

First, let us consider the scenario where the erasures in the first link occur in a burst. As can be seen in Table I, the relay starts transmitting source packets that have not been erased immediately with rate . This can be seen, for example, for . On the other hand, source packets that are subject to erasures are transmitted with lower rate, since they need to be transmitted “faster” (i.e., with a smaller effective delay). Thus, it can be seen that is transmitted with rate and is transmitted with rate . This highlights the packet-wise variable rate aspect of our coding strategy. Further, note that the relay is unable to recover the symbols at time 6. If the relay would wait until it can be recovered without the interference from , then would also need to be transmitted with rate . In order to be able to transmit it with a better rate, we instead transmit the noisy symbols . Then, at the destination, since it can recover entirely at time 10, it can cancel out the interference at time 11 and recover . This highlights the concept of noisy relaying.

Time 3 [HTML]FFCCC9 4 [HTML]FFCCC95 6 7 8 9 10 11


Time 3 4 5 6 7 8 9 10 11


TABLE I: Example of the proposed encoding scheme in case of burst erasures in the link between source and relay for , , .

Let us now consider the scenario where the erasures are spaced, as shown in Table II. Since is subject to only one erasure, we attempt to transmit it with rate , similar to how the packet was transmitted in the previous example. However, another erasure occurs at time 6 and therefore the relay does not have enough symbols to keep transmitting with such high rate. Instead, we simply transmit the remaining symbols that have been previously recovered at time 5. Then, at time 7, we start transmitting with rate , and we change the rate used for from to , as it now has been subject to two erasures. This highlights the concept of within-message variable rate.

Time 3 [HTML]FFCCC9 4 5 [HTML]FFCCC96 7 8 9 10 11


Time 3 4 5 6 7 8 9 10 11 12


TABLE II: Example of the proposed encoding scheme in case of spaced erasures in the link between source and relay for , , .

In general, our scheme attempts to transmit each source packet with the maximal possible rate, i.e., , where is the number of erasures observed so far that affect packet . As soon as it observes a new erasure, (by updating this ) it reduces the rate of transmission of the affected message packets. Further, it also transmits noisy symbols when required, knowing that the noise can always be cancelled at the destination due to the sequential nature of delay-constrained streaming communications. In the following section we present the general code construction.

Iii-C Code Parameters

For given parameters , we set message packet, source packet sizes as the following:

Remark 3.

This choice is to ensure that every subcode from relay to destination (which have a rate of the form as mentioned previously) can be met with integer parameters.

We represent the message packet as a column vector of the form:


We now proceed to explain the encoding strategy in each link, and show that this encoding strategy results in an achievable rate which is equal to the one stated in Theorem 1.

Iii-D Source-to-Relay Encoding

As mentioned previously, the source-to-relay encoding is similar to the previous work on [Silas2019]. The major difference is that we use multiple “layers” of the same code. This can be seen in the previous example, where we use 12 layers of a code, that is, we replicate a diagonally-interleaved MDS code twelve times.

In general, we use layers of diagonally-interleaved -MDS codes with parameters and . The construction of the diagonally-interleaved MDS code can be found in, e.g., [Silas2019]. Our code can be constructed by simply “appending” the codewords from each layer together. Then, we can write . The encoding scheme is illustrated in Fig. 2.

Fig. 2: An illustration of diagonal interleaving technique applied by source-side encoder to produce source sub-packets . We illustrate here the case and the same procedure will be applied for all . Let and . Each diagonal is a codeword of a systematic -MDS code, whose initial symbols are message symbols. Coded packet is obtained by vertically stacking coded sub-packets .

Now, we make a major observation about such codes. Using Lemma 3 from [Silas2019], we know that, if has been erased, then symbols of can be recovered at time , another symbols can be recovered at time , and so on, until the entire message has been recovered. This observation is guaranteed independent of erasure pattern, as long as at most erasures occur. However, considering the erasure pattern, we make a stronger claim about the recovery of symbols and, especially, “noisy symbols”, which we now define simply as estimates.

Definition 6.

We say is an estimate of a source symbol if there exists a function such that .

That is, is an estimate of if, given past () message packets, we are able to recover .

Proposition 1.

Assume the packet is erased. Then, new estimates of symbols of can be recovered from each subsequent non-erased packet , , until estimates of all symbols have been recovered.

To clarify the statement of our proposition, “new” estimates mean that the estimates the relay is able to decode from each non-erased packet are always estimates of symbols for which the relay did not have an estimate yet.

To understand this definition and proposition, let us consider the examples given previously. First, consider the example in Table II. In this example, it is straight forward that the relay can recover 12 symbols from at time 5 (from the first non-erased packet after time 4) and another 12 symbols at time 7 (from the second non-erased packet). However, in the example in Table I, the relay only has access to the so-called estimates of 12 symbols of at time 6, since there is still interference from . Nonetheless, as can be seen in the example, relaying these estimates is enough, since the destination will have access to previous messages by the deadline of recovery.

Iii-E Relay-to-Destination Encoding

The relay employs two different encoding mechanisms depending on whether the source packet sent from source is successfully received (non-erased) or not (erased). In each time-, relay transmits a relay packet which is a function of all non-erased source-to-relay source packets within the set . For ease of exposition, we will view each as an unordered set of symbols, rather than a column vector.

Iii-E1 is Non-Erased

In this case, since we use systematic encoding from source to relay, the entire message packet is immediately available to the relay at time . The relay will then partition the message packet into message sub-packets, denoted as . That is, is the th sub-packet of the message packet . From (7) and , it follows that each sub-packet is of size . The relay will then employ diagonal interleaving using -MDS codes for each sub-packet, as follows.

Let denote the generator matrix of the -MDS code and let each message sub-packet to be represented as a column vector as follows

and so on. Let