0% found this document useful (0 votes)
3 views23 pages

DONE_jayTrans

The article discusses the implementation of feedback-based online network coding, highlighting its advantages over traditional batch-based methods. It demonstrates that network coding can be performed in real-time without the need for blocks, optimizing throughput, delay, and queue size. The paper also introduces a new acknowledgment mechanism that tracks degrees of freedom instead of original packets, enhancing queue management in coded systems.

Uploaded by

SSS g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views23 pages

DONE_jayTrans

The article discusses the implementation of feedback-based online network coding, highlighting its advantages over traditional batch-based methods. It demonstrates that network coding can be performed in real-time without the need for blocks, optimizing throughput, delay, and queue size. The paper also introduces a new acknowledgment mechanism that tracks degrees of freedom instead of original packets, enhancing queue management in coded systems.

Uploaded by

SSS g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

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/TIT.2017.2710192, IEEE
Transactions on Information Theory
1

Feedback-based online network coding


Jay Kumar Sundararajan, Member, IEEE, Devavrat Shah, Senior Member, IEEE,
Muriel Médard, Fellow, IEEE, Parastoo Sadeghi, Senior Member, IEEE

Abstract—Current approaches to the practical implementation of slightly more than k linear combinations. This approach
of network coding are batch-based, and often do not use feedback, has low complexity and requires no feedback, except to signal
except possibly to signal completion of a file download. In this successful decoding of the block. However, fountain codes
paper, the various benefits of using feedback in a network coded
system are studied. It is shown that network coding can be are designed for a point-to-point erasure channel and in their
performed in a completely online manner, without the need for original form, do not extend readily to a network setting. In
batches or generations, and that such online operation does not a two-link tandem network, an end-to-end fountain code with
affect the throughput. Although these ideas are presented in simple forwarding at the middle node will result in throughput
a single-hop packet erasure broadcast setting, they naturally loss. If the middle node chooses to decode and re-encode an
extend to more general lossy networks which employ network
coding in the presence of feedback. The impact of feedback on entire block, the scheme will be sub-optimal in terms of delay,
sender-side queue size and receiver-side decoding delay is studied as pointed out by [3]. In this sense, the fountain code approach
in an asymptotic sense as the traffic load approaches capacity. is not composable across links. For the special case of tree
Different notions of decoding delay are considered, including an networks, there has been some recent work on composing
order-sensitive notion which assumes that packets are useful only fountain codes across links by enabling the middle node to
when delivered in order. Strategies for adaptive coding based
on feedback are presented. Our scheme achieves throughput re-encode even before decoding the entire block [4].
optimality and asymptotically optimal sender queue size and is 2. Random linear network coding: Network coding was
conjectured to achieve asymptotically optimal in-order delivery originally introduced for error-free networks with specified
delay for any number of receivers. This work may be viewed link capacities ([5], [6]), and was extended to erasure networks
as a natural extension of Automatic Repeat reQuest (ARQ) to
coded networks.
[7]. The random linear network coding solution of [8] does not
require decoding at intermediate nodes and can be applied in
Index Terms—ARQ, Decoding Delay, Network Coding any network. Each node transmits a random linear combination
of all coded packets it has received so far. With high probabil-
I. I NTRODUCTION ity, the transmitted packet will have the innovation guarantee
property, i.e., it will be innovative1 to every receiver that
This paper is a step towards low-delay, high-throughput so-
receives it successfully, except if the receiver already knows
lutions based on network coding, for real-time data streaming
as much as the sender. In [8], this scheme is shown to achieve
applications over a packet erasure network. In particular, it
capacity for a multicast session.
considers the role of feedback for queue management and
delay control in such systems. Although fountain codes and random linear network coding
are both rateless, the encoding operation is performed on a
block (or generation) of packets. There is no guarantee that the
A. Background receiver will be able to extract any of the original packets from
Reliable communication over a network of packet erasure the coded packets until the entire block has been decoded,
channels is a well studied problem, especially when there is resulting in a decoding delay.
no feedback. We survey some of the approaches from the This is not a problem if the higher layers will anyway
literature. use a block only as a whole (e.g., file download). This
1. Digital fountain codes: The digital fountain codes ([1], corresponds to traditional approaches in information theory
[2]) constitute a well-known approach to this problem. From where the message is assumed to be useful only as a whole.
a block of k transmit packets, the sender generates random No incentive is placed on decoding “a part of the message”
linear combinations in such a way that the receiver can, with using a part of the codeword. However, many applications
high probability, decode the block once it receives any set today involve broadcasting a continuous stream of packets in
real-time (e.g., video streaming). Sources generate a stream of
J. Sundararajan is with Qualcomm Research, San Diego, CA 92121. (E- messages which have an intrinsic temporal ordering. Playback
mail: [email protected]). This work was done when he was a doc-
toral student at the Massachusetts Institute of Technology. D. Shah and is possible only till the point up to which all packets have been
M. Médard are with the Department of Electrical Engineering and Com- recovered, which we call the front of contiguous knowledge.
puter Science, at the Massachusetts Institute of Technology, Cambridge, There is incentive to decode the older messages earlier, as this
MA 02139. (Email: {devavrat, medard}@mit.edu); P. Sadeghi is with the
Australian National University (ANU) Canberra, ACT, Australia (Email: will reduce the playback latency. In block-based approaches,
[email protected]) block sizes will have to be large to ensure high throughput but
Manuscript received ; revised . Parts of this work were presented at IEEE
ITW 2007, IEEE ISIT 2008, ISITA 2008 and IEEE NetCod 2009.
Copyright (c) 2017 IEEE. Personal use of this material is permitted. 1 An innovative packet is a linear combination of packets which is linearly
However, permission to use this material for any other purposes must be independent of previously received linear combinations, and thus conveys new
obtained from the IEEE by sending a request to [email protected]. information.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
2

if playback can begin only after receiving a full block, then This leads to the question – how to combine the benefits
large blocks will imply a large delay. of ARQ and network coding? The goal is to extend ARQ’s
This raises an interesting question: can we code in such desirable properties in the point-to-point context to systems
a way that playback can begin even before the full block is that require coding across packets.
received? In other words, we are more interested in packet The problem with applying ARQ to a coded system is that a
delay than block delay. These issues have been studied by [9], new reception may not always reveal the next unknown packet
[10] and [11] in a point-to-point setting. However, in a network to the receiver, but may bring in a linear equation involving
setting, the problem is not well understood. Moreover, these the packets. In conventional ARQ, upon receiving an ACK, the
works do not consider the queue management aspects of the sender drops the ACKed packet and transmits the next one.
problem. In related work, [12] and [13] address the question But in a coded system, upon receiving an ACK for a linear
of how many original packets are revealed before the whole equation, it is not clear which linear combination the sender
block is decoded in a fountain code setting. However, playback should pick for its next transmission to obtain the best system
performance may depend on not only how much data reaches performance. This is important because, if the receiver has
the receiver in a given time, but also which part of the data, to collect many equations before it can decode the unknowns
i.e., the order in which they are recovered. involved, this could lead to a large decoding delay.
3. Priority encoding transmission: Priority encoding A related question is: upon receiving the ACK for a linear
transmission (PET) ([14]), addresses this problem with a equation, which packet can be excluded from future coding,
code for the erasure channel that ensures that the first (or i.e., which packet can be dropped from the sender’s queue?
highest priority) i messages can be decoded using the first ki If packets arrive at the sender according to some stochastic
coded packets, where ki increases with decreasing priority. In process, (as in [17], [18]) and links are lossy (as in [7],
[15], [16], this is extended to systems that perform network [8]), then the queue management aspect of the problem also
coding. A concatenated network coding scheme is proposed becomes important.
in [16], with a delay-mitigating pre-coding stage. This scheme Dropping packets that all receivers have decoded would
guarantees that the k th innovative reception will enable the clearly not affect reliability. However, storing all undecoded
receiver to decode the k th message. In such schemes however, packets may be suboptimal. Consider a situation where the
the ability to decode messages in order requires a reduction sender has n packets p1 , p2 . . . , pn , and all receivers have
in throughput because of the pre-coding stage. received (n − 1) linear combinations: (p1 +p2 ), (p2 +p3 ), . . . ,
(pn−1 +pn ). A drop-when-decoded scheme will not allow the
sender to drop any packet, since no packet can be decoded
B. Motivation
by any receiver yet. However, the backlog in the amount of
The main motivation for our current work is that the information, also called the virtual queue ([17], [18]), has a
availability of feedback brings the hope of simultaneously size of just 1. We ideally want the physical queue to track the
achieving the best possible throughput along with minimal virtual queue in size. In this example, it would be sufficient
packet delay and queue size. if the sender stores any one pi in order to ensure reliable
Reliable communication over a point-to-point packet erasure delivery.
channel with full feedback can be achieved using the Auto- If we have feedback in a system with network coding,
matic Repeat reQuest (ARQ) scheme – whenever a packet what is the best possible tradeoff between throughput, delay
gets erased, the sender retransmits it. Every successful recep- and queue size? In particular, how close can we get to the
tion conveys a new packet, implying throughput optimality. performance of ARQ for the point-to-point case? These are
Moreover, this new packet is always the next unknown packet, the questions we address in this paper.
which implies the lowest possible packet delay. Since there is
feedback, the sender never stores anything the receiver already
II. O UR CONTRIBUTION
knows, implying optimal queue size. Thus, this simple scheme
simultaneously achieves the optimal throughput, delay and We show that with the proper use of feedback, it is possible
queue size. Moreover, the scheme is completely online and to perform network coding in a completely online manner
not block-based. similar to ARQ schemes, without the need for a block-
However, ARQ is not sufficient beyond a single point- based approach. We study the benefits of feedback in a
to-point link. Coding across packets is necessary to achieve coded network in terms of the following two aspects – queue
optimal throughput, even if we allow feedback. For instance, management and decoding delay.
in the network coding context, link-by-link ARQ cannot We consider a system with stochastic packet arrivals and
achieve the multicast capacity of the butterfly network from study the problem using a queuing theory approach. Let λ
network coding literature [5]. Similarly, ARQ is sub-optimal be the arrival rate, µ be the channel quality parameter, and
for broadcast-mode links because retransmitting a packet that ρ , λ/µ be the load factor. We consider asymptotics when
some receivers did not get is wasteful for the others that the ρ approaches 1, while keeping either λ or µ fixed at a value
already have it. In contrast, network coding achieves the less than 1. The optimal throughput requirement means that the
multicast capacity of any network and also readily extends to queue of undelivered packets is stable for all ρ < 1. We treat
networks with broadcast-mode links. Thus, in such situations, packets as vectors over a finite field. We restrict our attention
coding is indispensable from a throughput perspective. to linear network coding. Therefore, the state of knowledge

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
3

of a node can be viewed as a vector space over the field (see the receivers can compute q and hence obtain p as well.
Section III for further details). Therefore, even if the receivers have not decoded p, no
information is lost by dropping it, provided it has been seen
by all receivers.
A. Queue management
Next, we present an example that explains our algorithm for
We propose a new acknowledgment mechanism that ac- a simple two-receiver case. Section IV-C3 extends this scheme
knowledges degrees of freedom2 instead of original decoded to more receivers.
packets. Based on this new form of ACKs, we propose an
online coding module that naturally generalizes ARQ to coded
systems. The code implies a queue update algorithm that Example: Table I shows a sample of how the proposed idea
ensures that the physical queue size at the sender will track works in a packet erasure broadcast channel with two receivers
the backlog in degrees of freedom. A and B. The sender’s queue is shown after the arrival point
The key intuition is that the sender need not use for coding and before the transmission point of a slot (see Section III for
(and hence need not store) any information that has already details on the setup). In each slot, based on the ACKs, the
been received by all the receivers. To be specific, we can sender identifies the next unseen packet for A and B. If they
ensure reliability even if we restrict the sender’s transmit are the same packet, then that packet is sent. If not, their XOR
packet to be chosen from a subspace that is independent3 of is sent. It can be verified that with this rule, every reception
the subspace representing the common knowledge available at causes each receiver to see its next unseen packet.
all the receivers. Therefore, the queue simply needs to store In slot 1, p1 reaches A but not B. In slot 2, (p1 ⊕p2 ) reaches
a basis for a coset space with respect to the subspace of A and B. Since A knows p1 , it can also decode p2 . As for B, it
knowledge common to all the receivers. We define a specific has now seen (but not decoded) p1 . At this point, since A and
way of computing this basis using the new notion of a node B have seen p1 , the sender drops it. This is fine even though
“seeing” a message packet, which is defined below. B has not yet decoded p1 , because B will eventually decode
Definition 1 (Index of a packet): For any positive integer p2 (in slot 4), at which time it can obtain p1 . Similarly, p2 ,
k, the k th packet that arrives at the sender is said to have an p3 and p4 will be dropped in slots 3, 5 and 6 respectively.
index k. However, the drop-when-decoded policy will drop p1 and p2
Definition 2 (Seeing a packet): A node is said to have seen in slot 4, and p3 and p4 in slot 6. Thus, our new strategy
a message packet p if it has received enough information to clearly keeps the queue shorter. This is formally proved in
compute a linear combination of the form (p + q), where q Theorem 1 and Theorem 6. The example also shows that it is
is itself a linear combination involving only packets with an fine to drop packets before they are decoded. Eventually, the
index greater than that of p. (Decoding implies seeing, as we future packets will arrive, thereby allowing the decoding of all
can pick q = 0.) the packets.
In conventional ARQ, a receiver ACKs a packet upon
decoding it successfully. However, in our scheme a receiver Implications of our new scheme:
ACKs a packet when it sees the packet. Our new scheme is
called the drop-when-seen algorithm because the sender drops • Queue size: The physical queue size is upper-bounded by
a packet if all receivers have seen (ACKed) it. the sum of the backlogs in degrees of freedom between
Since decoding implies seeing, the sender’s queue is ex- the sender and all the receivers. This fact implies that as
pected to be shorter under our scheme compared to the drop- the traffic load approaches capacity (as load factor ρ →
when-decoded scheme. However, we will need to show that in 1), the
 expected
 size of the physical queue at the sender
1
spite of dropping seen packets even before they are decoded, is O 1−ρ . This is the same order as for single-receiver
we can still ensure reliable delivery. To prove this, we present ARQ, and hence, is order-optimal.
a deterministic coding scheme that uses only unseen packets • Queuing analysis: Our scheme forms a natural bridge
and still guarantees that the coded packet will simultaneously between the virtual and physical queue sizes. It can be
cause each receiver that receives it successfully, to see used to extend results on the stability of virtual queues
its next unseen packet. We will prove later that seeing a such as [17], [18] and [20] to physical queues. More-
new packet translates to receiving a new degree of freedom. over, various results obtained for virtual queues from
This means, the innovation guarantee property is satisfied and traditional queuing theory, such as the transform based
therefore, reliability and 100% throughput can be achieved analysis for the queue size of M/G/1 queues, or even a
(see Algorithm 2 (b) and corresponding Theorems 6 and 8 in Jackson network type of result [8], can be extended to the
Section IV-C). physical queue size of nodes in a network coded system.
The intuition is that if all receivers have seen p, then their • Simple queue management: Our approach based on
uncertainty can be resolved using only packets with index seen packets ensures that the sender does not have to
more than that of p because after decoding these packets, store linear combinations of the packets in the queue to
represent the basis of the coset space. Instead, it can store
2 Here, degree of freedom refers to a new dimension in the vector space
the basis using the original uncoded packets themselves.
representing the sender’s knowledge.
3 A subspace S is said to be independent of another subspace S if S ∩
1 2 1
Therefore, the queue follows a simple first-in-first-out
S2 = {0}. See [19] for more details. service discipline.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
4

TABLE I
A N EXAMPLE OF THE DROP - WHEN - SEEN ALGORITHM

Time Sender’s queue Transmitted packet Channel state A B


Decoded Seen but Decoded Seen but
not decoded not decoded
1 p1 p1 → A, 9 B p1 - - -
2 p1 , p2 p1 ⊕ p2 → A, → B p1 , p2 - - p1
3 p2 , p3 p2 ⊕ p3 9 A, → B p1 , p2 - - p1 , p2
4 p3 p3 9 A, → B p1 , p2 - p1 , p2 , p3 -
5 p3 , p4 p3 ⊕ p4 → A, 9 B p1 , p2 p3 p1 , p2 , p3 -
6 p4 p4 → A, → B p1 , p2 , p3 , p4 - p1 , p2 , p3 , p4 -

• Online encoding: All receivers see packets in the same We provide a new coding module for any number of re-
order in which they arrived at the sender. This gives a ceivers that achieves optimal throughput and asymptotically
guarantee that the information deficit at the receiver is optimal queue size at the sender. We conjecture that it also
restricted to a set of packets that advances in a streaming achieves an asymptotically optimal decoding and delivery
manner and has a stable size (namely, the set of unseen delay as the system approaches capacity, in the following
packets). In this sense, the proposed encoding scheme is sense. With a single receiver, the optimal scheme is ARQ with
truly online. no coding and we show that this  achieves
 an expected per-
Easy decoding: Every transmitted linear combination is 1
• packet delay at the sender of Θ 1−ρ . With more than one
sparse – at most n packets are coded together for the n receiver,
 we  conjecture that our scheme also achieves a delay
receiver case. This reduces the decoding complexity as of O 1−ρ 1
, and thus meets the lower bound in an asymptotic
well as the overhead for embedding the coding coeffi- sense.
cients in the packet header.
We have verified these conjectures through simulations
• Extensions: We present our scheme for a single packet
for values of ρ that are very close to 1. It is useful to
erasure broadcast channel. However, our algorithm is
note that asymptotically optimal decoding delay translates
composable across links and can be applied to a tandem
to asymptotically optimal expected queue occupancy at the
network of broadcast links. With suitable modifications, it
sender using the simple queuing rule of dropping packets that
can potentially be applied to a more general setup like the
have been decoded by all receivers. Note that the conjectures,
one in [7] provided we have feedback. Such extensions
if true, would also imply that the memory requirement on the
are discussed further in Section VII.
receiver
 side for decoding and resequencing would also grow
1
as O 1−ρ by Little’s theorem.
B. Decoding delay Adaptive coding allows the sender’s code to incorporate
receivers’ states of knowledge and thereby enables the sender
The drop-when-seen algorithm and the associated coding to control the evolution of the front of contiguous knowledge.
module do not guarantee that the seen packets will be decoded Our schemes may thus be viewed as a step towards feedback-
immediately. In general, there will be a delay in decoding, as based control of the tradeoff between throughput and decoding
the receiver will have to collect enough linear combinations delay, along the lines suggested in [21].
involving the unknown packets before being able to decode
the packets.
Online feedback-based adaptation of the code with the goal C. Related earlier work
of minimizing decoding delay has been studied in the literature In [22], Shrader and Ephremides study the queue stability
and related earlier work is discussed in II-C. and delay of block-based random linear coding versus uncoded
The expected per-packet delay of a receiver in a system ARQ for stochastic arrivals in a broadcast setting. However,
with more than one receiver is clearly lower bounded by this work does not consider the combination of coding and
the corresponding quantity for a single-receiver system. We feedback in one scheme. In related work, [23] studies load-
introduce a new requirement that the growth of the average dependent variable sized coding blocks with ACKs at the
1
decoding delay as a function of 1−ρ as ρ → 1 should meet end of a block, using a bulk-service queue model. The main
this lower bound asymptotically, i.e., we aim to guarantee difference in our work is that receivers ACK packets even
asymptotically optimal decoding delay as the system load before decoding them, and this enables the sender to perform
approaches capacity. The motivation is that in most practical online coding.
systems, delay becomes a critical issue only when the system Sagduyu and Ephremides [24] consider online feedback-
starts approaching its full capacity. When the load on the based adaptation of the code, and propose a coding scheme
system is well within its capacity, the delay is usually small for the case of two receivers. This work focuses on the
and hence not an issue. We also study a stronger notion of maximum possible stable throughput, and does not consider
delay, namely the delivery delay, which measures delay until the use of feedback to minimize queue size or decoding delay.
the point when the packet can be delivered to the application In [25], the authors study the throughput of a block-based
above, with an in-order delivery constraint. coding scheme, where receivers acknowledge the successful

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
5

decoding of an entire block, allowing the sender to move to For a packet erasure broadcast channel with two receivers,
the next block. Next, they consider the option of adapting the Durvy et al. [32] have proposed a feedback-based throughput
code based on feedback for the multiple receiver case. They optimal coding scheme that ensures that every successful inno-
build on the two-receiver case of [24] and propose a greedy vative reception at any receiver will cause it to decode an orig-
deterministic coding scheme that may not be throughput inal packet. This property is called instantaneous decodability.
optimal, but picks a linear combination such that the number Keller et al. [33] also studied this problem and proposed and
of receivers that immediately decode a packet is maximized. In compared several algorithms to reduce the decoding delay.
contrast, in our work we consider throughput-optimal policies This work did not consider the in-order delivery problem.
that aim to minimize queue size and delay. With prior knowledge of the erasure pattern, [33] gave an
In [26], Lacan and Lochin propose an erasure coding algo- offline algorithm that achieves optimal delay and throughput
rithm called Tetrys to ensure reliability in spite of losses on the for the case of three receivers. However, in the online case,
acknowledgment path. While this scheme also employs coding even with only three receivers, [32] shows through an example
in the presence of feedback, their approach is to make minimal (Example V.1) that it is not possible to simultaneously ensure
use of the feedback, in order to be robust to feedback losses. instantaneous decodability as well as throughput optimality.
As opposed to such an approach, we investigate how best Both [32] and [33] consider the transmission of a given
to use the available feedback to improve the coding scheme finite set of packets. In contrast, [24] assumes that packets
and other performance metrics. For instance, in the scheme in arrive at the source according to a stochastic process in a
[26], packets are acknowledged (if at all) only when they are streaming manner and proposes a coding scheme for two
decoded, and these are then dropped from the coding window. receivers. The focus however, is to ensure stable throughput
However, we show in this work that by dropping packets and not low delay. In [25], the authors propose a greedy coding
when they are seen, we can maintain a smaller coding window scheme for the case of more than 2 receivers, which aims to
without compromising on reliability and throughput. A smaller maximize the number of receivers that can decode a packet
coding window translates to lower encoding complexity and instantaneously, at the expense of losing throughput.
smaller queue size at the sender. Reference [34] considers heterogeneous channels to the
The use of ACKs and coded retransmissions in a packet receivers, and proposes a systematic online encoding scheme
erasure broadcast channel has been considered for multiple that sends uncoded packets to enable frequent decoding at
unicasts [27] and multicast ([28], [29], [30], [31]). The main the receivers. However, no characterization of the asymptotic
goal of these works however, is to optimize the throughput. behavior of the decoding or delivery delay is provided.
Other metrics such as queue management and decoding delay In our current work, we focus on throughput-optimal
are not considered. In our work, we focus on using feedback schemes in a stochastic arrival setting. In the light of earlier
to optimize these metrics as well, in addition to achieving results that instantaneously decodability and throughput opti-
100% throughput in a multicast setting. Our coding module mality cannot be simultaneously guaranteed with more than 2
(in Section IV-C5) is closely related to the one proposed by receivers, we aim for a relaxed requirement of asymptotically
Larsson in an independent work [30]. However, our algo- optimal delay where the asymptotics are in the limit of the load
rithm is specified using the more general framework of seen factor ρ → 1. However, while the earlier work did not consider
packets, which allows us to derive the drop-when-seen queue the in-order delivery constraint, we study both decoding and
management algorithm and bring out the connection between delivery delay. For the case of two receivers, it can be shown
the physical queue and virtual queue sizes. Reference [30] that the scheme in [32] satisfies this requirement due to the
does not consider the queue management problem. Moreover, instantaneous decodability property, i.e., the scheme achieves
using the notion of seen packets allows our algorithm to be the asymptotically optimal average decoding delay, and seems
compatible even with random coding. This in turn enables to achieve it for delivery delay as well based on simulations.
a simple ACK format and makes it suitable for practical In fact, the algorithm of [32] is a special case of our algorithm.
implementation. (See Remark 2 for further discussion.) Our work provides a new coding module that achieves
Coding for per-packet delay has been studied in earlier throughput optimality and is conjectured to achieve asymp-
work by Martinian et al. [9]. However, that work considered totically optimal decoding and delivery delay for any number
a point-to-point setting unlike our broadcast scenario. The of receivers.
problem of the delay for recovering packets from a file has
been studied in the rateless code framework with or without
feedback, by [12] and [13]. Reference [10] also considered D. Organization
the problem of coding for delay using feedback. The setting The rest of the paper is organized as follows. Section III
there is in terms of a fixed delay model for point-to-point describes the packet erasure broadcast setting. Section IV is
communication, where each packet has a deadline by which concerned with adaptive codes that minimize the sender’s
it needs to be delivered. A packet which does not meet its queue size. In Section IV-A, we define and analyze a base-
deadline is considered to be in error, and the corresponding line algorithm that drops packets only when they have been
error exponents are characterized. In contrast, we consider the decoded by all receivers. Section IV-B presents a generic
expected per-packet delay in a queuing theoretic framework, form of our newly proposed algorithm, and introduces the
with no strict deadlines. Besides, our setting is a point-to- idea of excluding from the sender’s queue, any knowledge
multipoint (broadcast) packet erasure channel. that is common to all receivers. We show that the algorithm

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
6

guarantees that the physical queue size tracks the virtual queue Definition 7 (Innovation guarantee property): A coding
size. Section IV-C presents an easily implementable variant scheme is said to have the innovation guarantee property if
of the generic algorithm of Section IV-B, called the drop- in every slot, the coefficient vector of the transmitted linear
when-seen algorithm. The drop-when-seen algorithm consists combination is in V \Vj for every j such that Vj 6= V . In other
of a queuing module that provides guarantees on the queue words, the transmission is innovative to every receiver except
size, and a coding module that provides guarantees on re- when the receiver already knows everything that the sender
liability and throughput, while complying with the queuing knows.
module. In Section VI, we investigate adaptive codes aimed We use the notion of a virtual queue to represent the backlog
at minimizing the receivers’ decoding delay. We propose a between the sender and receiver in terms of linear degrees of
new coding module that is proved to be throughput optimal freedom. This notion was also used in [17], [18] and [20].
and conjectured to be asymptotically optimal in terms of delay. There is one virtual queue for each receiver. We will use the
Section VII presents some ideas on extending the algorithms term physical queue to refer to the sender’s actual buffer, in
to more general topologies and scenarios. Finally, Section VIII order to distinguish it from the virtual queues. Note that the
gives the conclusions. virtual queues do not correspond to real storage.

III. T HE SETUP Arrivals


In this paper, we consider a communication problem where Packets arrive into the sender’s physical queue according
a sender wants to broadcast a stream of data to n receivers. to a Bernoulli process4 of rate λ. An arrival at the physical
The data are organized into packets, which are essentially queue translates to an arrival at each virtual queue since the
vectors of fixed size over a finite field Fq . A packet erasure new packet is a new degree of freedom that the sender knows,
broadcast channel connects the sender to the receivers. Time but none of the receivers knows.
is slotted. The details of the queuing model and its dynamics
are described next.
Service
The queuing model The channel accepts one packet per slot. Each receiver either
receives this packet with no errors (with probability µ) or
The sender is assumed to have an infinite buffer, i.e., a queue
an erasure occurs (with probability (1 − µ)). Erasures occur
with no preset size constraints. We assume that the sender is
independently across receivers and across slots. The receivers
restricted to use linear codes. Thus, every transmission is a
are assumed to be capable of detecting an erasure.
linear combination of packets from the incoming stream that
We only consider coding schemes that satisfy the innovation
are currently in the buffer. The vector of coefficients used in
guarantee property. This property implies that if the virtual
the linear combination summarizes the relation between the
queue of a receiver is not empty, then a successful reception
coded packet and the original stream. We assume that this
reveals a previously unknown degree of freedom to the receiver
coefficient vector is embedded in the packet header. A node
and the virtual queue size decreases by one unit. We can thus
can compute any linear combination whose coefficient vector
map a successful reception by some receiver to one unit of
is in the linear span of the coefficient vectors of previously
service of the corresponding virtual queue. This means, in
received coded packets. In this context, the state of knowledge
every slot, each virtual queue is served independently of the
of a node can be defined as follows.
others with probability µ.
Definition 3 (Knowledge of a node): The knowledge of a
The relation between the service of the virtual queues and
node at some point in time is the set of all linear combinations
the service of the physical queue depends on the queue update
of the original packets that the node can compute, based on
scheme used, and will be discussed separately under each
the information it has received up to that point. The coefficient
update policy.
vectors of these linear combinations form a vector space called
the knowledge space of the node.
In the following definitions, V denotes the sender’s knowl- Feedback
edge space, and Vj denote the knowledge space of receiver j We assume perfect delay-free feedback. In Algorithm 1
for j = 1, 2, . . . , n. below, feedback is used to indicate successful decoding. For
Definition 4 (Virtual queue): For j = 1, 2, . . . , n, the size all the other algorithms, the feedback is needed in every slot
of the j th virtual queue corresponding to receiver j is defined to indicate the occurrence of an erasure.
to be the difference between the dimension of the V and that
of Vj .
Timing
Definition 5 (Degree of freedom): The term degree of
freedom refers to one dimension in the knowledge space of Figure 1 shows the relative timing of events within a slot.
a node. It corresponds to one packet worth of data. All arrivals are assumed to occur just after the beginning
Definition 6 (Innovative packet): A coded packet with of the slot. The point of transmission is after the arrival
coefficient vector c is said to be innovative to a receiver j if point. For simplicity, we assume very small propagation time.
c∈ / Vj . Such a packet, if successfully received, will increase 4 We have assumed Bernoulli arrivals for ease of exposition. However, we
the dimension of the receiver’s knowledge space by one unit. expect the results to hold for more general arrival processes as well.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
7

Point where λ µ + λµ λ µ + λµ λ µ + λµ
Slot number t state variables
λµ λµ λµ
are measured
λ + λµ
0 1 2 3
λµ λµ λµ
Time

Point of Point of Point of Fig. 2. Markov chain representing the size of a virtual queue. Here λ̄ :=
Point of
arrival transmission feedback departure for (1 − λ) and µ̄ := (1 − µ).
physical queue

Fig. 1. Relative timing of arrival, service and departure points within a slot For any receiver, the packets at the sender are unknowns,
and each received linear combination is an equation in these
unknowns. Decoding becomes possible whenever the number
Specifically, we assume that the transmission, unless erased by
of linearly independent equations catches up with the number
the channel, reaches the receivers before they send feedback
of unknowns involved. The difference between the number
for that slot and feedback from all receivers reaches the
of unknowns and the number of equations is essentially the
sender before the end of the same slot. Thus, the feedback
backlog in degrees of freedom, i.e., the virtual queue size.
incorporates the current slot’s reception also. Based on this
Thus, a virtual queue becoming empty translates to successful
feedback, packets are dropped from the physical queue just
decoding at the corresponding receiver. Whenever a receiver
before the end of the slot, according to the queue update rule.
is able to decode in this manner, it informs the sender. Based
Queue sizes are measured at the end of the slot.
on this, the sender tracks which receivers have decoded each
packet, and drops a packet if it has been decoded by all
Asymptotic behavior receivers. From a reliability perspective, this is fine because
The load factor is denoted by ρ := λ/µ. In what follows, we there is no need to involve decoded packets in the linear
will study the asymptotic behavior of the expected queue size combination.
and decoding delay under various policies, as ρ → 1 from be- Remark 1: In general, it may be possible to solve for some
low. For the asymptotics, we assume that either λ or µ is fixed, of the unknowns even before the virtual queue becomes empty.
while the other varies causing ρ to increase to 1. We use the For example, this could happen if a newly received linear com-
commonly-used asymptotic notations of O(.), Θ(.) and Ω(.) bination cancels all but one unknown in a previously known
to denote asymptotic bounds. Specifically, f (x) = O(g(x)) linear combination. It could also happen if some packets were
denotes that g(x) bounds f (x) asymptotically from above. involved in a subset of equations that can be solved among
f (x) = Ω(g(x)) denotes that g(x) bounds f (x) asymptotically themselves locally. Then, even if the overall system has more
from below. f (x) = Θ(g(x)) denotes that g(x) bounds f (x) unknowns than equations, the packets involved in the local
asymptotically from above and below. system can be decoded. However, these are secondary effects
and we ignore them in this analysis. Equivalently, we assume
that even if a packet is decoded before the virtual queue
IV. Q UEUE SIZE
becomes empty, the sender waits for the next emptying of
In this section, we are concerned with minimizing the the virtual queue before dropping the packet. We believe this
sender’s physical queue size. We first present a baseline queue assumption will not change the asymptotic behavior of the
update algorithm – retain packets in the queue until the queue size, since decoding before the virtual queue becoming
feedback confirms that they have been decoded by all the empty is a rare event with random linear coding over a large
receivers. Then, we present a new queue update rule that is field.
motivated by a novel coding algorithm. The new rule allows We will now compare the virtual and physical queue sizes
the physical queue size to track the virtual queue sizes. in steady state. We introduce some notation:
Q(t):= Sender’s physical queue size at the end of slot t
A. Algorithm 1: Drop when decoded (baseline) Qj (t):= Size of j th virtual queue at the end of slot t
The baseline scheme combines a random coding strategy 1) The virtual queue size in steady state: Figure 2 shows
with a drop-when-decoded rule for queue update. The coding the Markov chain for Qj (t). If λ < µ, then the chain {Qj (t)}
scheme is an online version of [8] with no preset generation is positive recurrent and has a steady state distribution given
size – a coded packet is formed by computing a random linear by [35]:
combination of all packets currently in the queue. With such
a scheme, the innovation guarantee property will hold with πk := lim P[Qj (t) = k] = (1 − α)αk , k≥0 (1)
t→∞
high probability, provided the field size is large enough (We
assume the field size is large enough to ignore the probability where α = λ(1−µ)
µ(1−λ) . Thus, the expected size of any virtual
that the coded packet is not innovative. It can be incorporated queue in steady state is given by:
into the model by assuming a slightly larger probability of ∞
erasure because a non-innovative packet is equivalent to an
X ρ
lim E[Qj (t)] = jπj = (1 − µ) · (2)
erasure.). t→∞
j=0
(1 − ρ)

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
8

2) The physical queue size in steady state: The following the coefficients applied to global stream of packets in order to
theorem characterizes the asymptotic behavior of the physical generate that linear combination. Its length is the total number
queue size under Algorithm 1, as the load on the system of packets that have arrived in the stream so far.
approaches capacity (ρ → 1). All operations in the algorithm occur over a finite field
of size q > n. The basis of a node’s knowledge space is
Theorem 1: The expectedsize of the
 physical queue in steady stored as the rows of a basis matrix. The representation and
1
state for Algorithm 1 is Ω (1−ρ) 2 . all operations are in terms of local coefficient vectors and not
See Appendix A for the proof. global ones.
2) Formal description of the algorithm: In the following,
Comparing with Equation (2), this result makes it clear that span(M ) denotes the row space of matrix M . Im denotes the
the physical queue size under Algorithm 1 does not track the identity matrix of size m.
virtual queue size. Algorithm 2 (a)
1. Initialize basis matrices B, B1 , . . . , Bn to the empty
matrix. These contain the bases of the incremental
B. Algorithm 2 (a): Drop common knowledge knowledge spaces of the sender and receivers in that
In this section, we first present a generic algorithm that order.
operates at the level of knowledge spaces and their bases, in 2. Initialize g to 0. g will hold the coefficient vector of the
order to ensure that the physical queue size tracks the virtual transmitted packet in each slot.
queue size. Later, we shall describe a simple-to-implement In every time slot, do:
variant of this generic algorithm. 3. Incorporate new arrivals:
1) An intuitive description: The aim of this algorithm is Let a be the number of new packets that arrive at the
that the sender should store just enough data in its buffer beginning of the slot. Place these packets at the end
so that it can always compute a linear combination which of the queue. Suppose B has b rows already. Set B to
is simultaneously innovative to all receivers who have an Ia+b (B will always be an identity matrix). To make the
information deficit, i.e., so that it can ensure reliability and number of columns of all matrices consistent (i.e., equal
the innovation guarantee property. to a + b), append a all-zero columns to each Bj .
After each slot, every receiver informs the sender whether 4. Transmission:
an erasure occurred using perfect feedback. The sender then If B is not empty, update g to be any vector that is in
excludes from the queue, any knowledge that is common to span(B), but not in ∪{j:Bj (B} span(Bj ).
all the receivers. Specifically, the queue’s contents correspond Lemma 2 shows that such a g exists. Let y1 , y2 , . . . yQ
to some basis of a vector space that is independent of the represent the current contents of the queue, where the
intersection of the knowledge spaces of all the receivers. queue size PQ Q = (a + b). Compute the linear combi-
We show in Lemma 2 that with this queuing rule, it is nation i=1 gi yi and transmit it on the packet erasure
always possible to compute a linear combination of the current broadcast channel. If B is empty, set g to 0 and transmit
contents of the queue that will guarantee innovation, as long nothing.
as the field size is more than n, the number of receivers. 5. Incorporate feedback:
The fact that the common knowledge is dropped suggests an Once the feedback arrives, for every receiver j = 1 to
incremental approach to the sender’s operations. Although the n, do:
knowledge spaces of the receivers grow with time, the sender If g 6= 0 and the transmission was successfully
only needs to operate with the projection of these spaces on received by receiver j in this slot, append g as a
dimensions currently in the queue, since the coding module new row to Bj .
does not care about the remaining part of the knowledge 6. Separate out the knowledge that is common to all
spaces that is common to all receivers. Thus, the algorithm can receivers:
be implemented in an incremental manner. It will be shown Compute the following (the set notation used here con-
that this incremental approach is equivalent to the cumulative siders the matrices as a set of row vectors):
approach. B∆ := Any basis of ∩nj=1 span(Bj ).
Table II shows the main correspondence between the un- B0 := Completion of B∆ into a basis of
coded case and the coded case. We now present the queue span(B).
update algorithm formally. Then we show that under this B 00 := B 0 \B∆ .
algorithm, the physical queue size at the sender tracks the Bj0 := Completion of B∆ into a basis of
virtual queue size. span(Bj ) in such a way that, Bj00 defined
Definition 8 (Local coefficient vector): For a linear combi- as Bj0 \B∆ satisfies: Bj00 ⊆ span(B 00 ).
nation of packets, the local coefficient vector is a vector of Lemma 1 proves that this is possible.
the coefficients applied to the current contents of the sender’s 7. Update the queue contents:
queue in order to generate that linear combination. Its length Replace the contents of Pthe queue with packets
Q
is equal to the length of the sender’s queue. y10 , y20 , . . . yQ
0
0 of the form i=1 hi yi for each h ∈ B .
00
0
Definition 9 (Global coefficient vector): For a linear combi- The new queue size Q is thus equal to the number of
nation of packets, the global coefficient vector is a vector of rows in B 00 .

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
9

TABLE II
T HE UNCODED VS . CODED CASE

Uncoded Networks Coded Networks


Knowledge represented by Set of received packets Vector space spanned by the coefficient vectors of the
received linear combinations
Amount of knowledge Number of packets received Number of linearly independent (innovative) linear com-
binations of packets received (i.e., dimension of the
knowledge space)
Queue stores All undelivered packets Linear combination of packets which form a basis
for the coset space of the common knowledge at all
receivers
Update rule after each trans- If a packet has been received by Recompute the common knowledge space V∆ ; Store
mission all receivers, drop it. a new set of linear combinations so that their span is
independent of V∆

8. Recompute local coefficient vectors with respect to the STEP 6


Separate out
new queue contents: common
Find a matrix Xj such that Bj00 = Xj B 00 (this is possible STEP 5 knowledge
because Bj00 ⊆ span(B 00 )). Call Xj the new Bj . Update Incorporate channel
state feedback
the value of B to IQ0 .
9. Go back to step 3 for the next slot. STEP 3 U ' j (t ), V ' j (t )
Incorporate arrivals
U ' ∆ (t ), V ' ∆ (t )
The above algorithm essentially removes at the end of each of slot t U (t ), V (t )
U j (t ), V j (t ) U ' ' (t ), U ' ' j (t )
slot, the common knowledge (represented by the basis B∆ )
and retains only the remainder B 00 . The knowledge spaces of
Slot (t-1) Slot t
the receivers are also represented in an incremental manner
in the form of Bj00 , excluding the common knowledge. Since Fig. 3. The main steps of the algorithm, along with the times at which the
Bj00 ⊆ span(B 00 ), the Bj00 vectors can be completely described various U (t)’s are defined
in terms of the vectors in B 00 . It is as if B∆ has been Pt
completely removed, and the sender’s goal is only to convey A(t) = t0 =0 a(t0 ). Let B(t) (resp. Bj (t)) be the matrix B
span(B 00 ) to the receivers. Hence, it is sufficient to store linear (resp. Bj ) after incorporating the slot t arrivals, i.e., at the
combinations corresponding to B 00 in the queue. B 00 and Bj00 end of step 3 in slot t. Let H(t) be a matrix whose rows are
get mapped to the new B and Bj , and the process repeats in the global coefficient vectors of the queue contents at the end
the next slot. of step 3 in slot t, i.e., the coefficient vectors in terms of the
A(t)
Lemma 1: In step 5 of the algorithm above, it is possible original packet stream. Note that each row of H(t) is in Fq .
to complete B∆ into a basis Bj0 of each span(Bj ) such that Let g(t) denote the vector g calculated in step 4 in slot t,
Bj00 ⊆ span(B 00 ). i.e., the local coefficient vector of the packet transmitted in
See Appendix C for the proof. slot t. Also, let B∆ (t) (resp. B 00 (t), Bj0 (t) and Bj00 (t)) denote
Lemma 2: ([20]) Let V be a vector space with dimension the matrix B∆ (resp. B 00 , Bj0 and Bj00 ) at the end of step 6 in
k over a field of size q, and let V1 , V2 , . . . Vn , be subspaces slot t.
of V, of dimensions k1 , k2 , . . . , kn respectively. Suppose that Lemma 3: The rows of H(t) are linearly independent for
k > ki for all i = 1, 2, . . . , n. Then, there exists a vector that all t.
is in V but is not in any of the Vi ’s, if q > n. See Appendix D for the proof.
Proof: See [20] for the proof.
This lemma is also closely related to the result in [30], Define the following:
which derives the smallest field size needed to ensure innova-
tion guarantee. U (t) := Row span of H(t)
3) Connecting the physical and virtual queue sizes: In this Uj (t) := Row span of Bj (t)H(t)
subsection, we will prove the following result that relates the Uj0 (t) := Row span of Bj0 (t)H(t)
0
size of the physical queue at the sender and the virtual queues, U∆ (t) := ∩nj=1 Uj0 (t)
00
which themselves correspond to the backlog in degrees of U (t) := Row span of B 00 (t)H(t)
freedom. Uj00 (t) := Row span of Bj00 (t)H(t)
A(t)
All the vector spaces defined above are subspaces of Fq .
Theorem 2: For Algorithm 2 (a), the physical queue size Figure 3 shows the points at which these subspaces are defined
at the sender is upper bounded by the sum of the backlog in the slot.
differences between the sender and each receiver in terms of The fact that H(t) has full row rank (from Lemma 3)
the number of degrees of freedom. implies that the operations performed by the algorithm in
the domain of the local coefficient vectors can be mapped
Let a(t) denote the number of arrivals in slot t, and let A(t) to the corresponding operations in the domain of the global
be the total number of arrivals up to and including slot t, i.e., coefficient vectors:

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
10

0
1) The intersection subspace U∆ (t) is indeed the row span 3) A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C.
of B∆ (t)H(t). See Appendix F for the proof.
2) Let Rj (t) be an indicator (0-1) random variable which
takes the value 1 iff the transmission in slot t is suc- Theorem 3: For all t ≥ 0,
cessfully received without erasure by receiver j and in
addition, receiver j does not have all the information V (t) = V∆ (t) ⊕ U (t)
that the sender has. Let g̃j (t) := Rj (t)g(t)H(t). Then, Vj (t) = V∆ (t) ⊕ Uj (t) ∀j = 1, 2, . . . n
Uj0 (t) = Uj (t) ⊕ span(g̃j (t)) (3) V∆0 (t) = V∆ (t) ⊕ U∆
0
(t)

where ⊕ denotes direct sum of vector spaces. The way Proof: The proof is by induction on t.
the algorithm chooses g(t) guarantees that if Rj (t) is Basis step:
non-zero, then g̃j (t) will be outside the corresponding At t = 0, V (0), U (0) as well as all the Vj (0)’s and Uj (0)’s
Uj (t), i.e., it will be innovative. This fact is emphasized are initialized to {0}. Consequently, V∆ (0) is also {0}. It is
by the direct sum in this equation. easily seen that these initial values satisfy the equations in the
3) Because of the way the algorithm performs the com- theorem statement.
pletion of the bases in the local domain in step 6, the
following properties hold in the global domain: Induction Hypothesis:
We assume the equations hold at t, i.e.,
0
U (t) = U∆ (t) ⊕ U 00 (t) (4)
V (t) = V∆ (t) ⊕ U (t) (8)
Uj0 (t) = U∆
0
(t) ⊕ Uj00 (t) and, (5)
00 00
Vj (t) = V∆ (t) ⊕ Uj (t), ∀j = 1, 2, . . . n (9)
Uj (t) ⊆ U (t), ∀j = 1, 2, . . . , n (6)
V∆0 (t) = V∆ (t) ⊕ U∆
0
(t) (10)
From the above properties, we can infer that U100 (t) +
Induction Step: We now prove that they hold in slot (t + 1).
⊆ U 00 (t). After incorporating the arrivals in
U200 (t) + . . . Un00 (t)
We have:
slot t + 1, this gives U1 (t + 1) + U2 (t + 1) + . . . Un (t + 1) ⊆
V (t)
U (t + 1). Since this is true for all t, we write it as:
= V∆ (t) ⊕ U (t) (from (8))
U1 (t) + U2 (t) + . . . Un (t) ⊆ U (t) (7)
0
= V∆ (t) ⊕ [U∆ (t) ⊕ U 00 (t)] (from (4))
Now, in order to relate the queue size to the backlog in 0
= [V∆ (t) ⊕ U∆ (t)] ⊕ U 00 (t) (Lemma 5)
number of degrees of freedom, we define the following vector
spaces which represent the cumulative knowledge of the sender = V∆0 (t) ⊕ U 00 (t) (from (10))
and receivers (See Figure 3 for the timing): Thus, we have proved:
V (t) := Sender’s knowledge space after incorporat- V (t) = V∆0 (t) ⊕ U 00 (t) (11)
ing the arrivals (at the end of step 3) in slot
t. This is simply equal to Fq
A(t) Now, we incorporate the arrivals in slot (t+1). This converts
Vj (t) := Receiver j’s knowledge space at the end of V∆0 (t) to V∆ (t + 1), U 00 (t) to U (t + 1), and V (t) to V (t + 1),
step 3 in slot t due to the following operations:
Vj0 (t) := Receiver j’s knowledge space in slot t, after Basis of V∆0 (t) 0
 
Basis of V∆ (t + 1) =
incorporating the channel state feedback into
Basis of U 00 (t)
 
0
Vj (t), i.e., Vj0 (t) = Vj (t) ⊕ span(g̃j (t)). Basis of U (t + 1) =
0 Ia(t+1)
V∆ (t) := ∩nj=1 Vj (t)  
V∆0 (t) := ∩nj=1 Vj0 (t) Basis of V (t) 0
Basis of V (t + 1) =
0 Ia(t+1)
For completeness, we now prove the following facts about
direct sums of vector spaces that we will use. Incorporating these modifications into (11), we get:
Lemma 4: Let V be a vector space and let V (t + 1) = V∆ (t + 1) ⊕ U (t + 1)
V∆ , U1 , U2 , . . . Un be subspaces of V such that,
V∆ is independent of the span of all the Uj ’s, i.e., Now, consider each receiver j = 1, 2, . . . n.
dim[V∆ ∩ (U1 + U2 + . . . + Un )] = 0. Then, Vj0 (t)

V∆ ⊕ [∩ni=1 Ui ] = ∩ni=1 [V∆ ⊕ Ui ] = Vj (t) ⊕ span(g̃j (t))


= [V∆ (t) ⊕ Uj (t)] ⊕ span(g̃j (t)) (from (9))
See Appendix E for the proof.
= V∆ (t) ⊕ [Uj (t) ⊕ span(g̃j (t))] (Lemma 5)
Lemma 5: Let A, B, and C be three vector spaces such that = V∆ (t) ⊕ Uj0 (t) (from (3))
B is independent of C and A is independent of B ⊕ C. Then 0
= V∆ (t) ⊕ [U∆ (t) ⊕ Uj00 (t)] (from (5))
the following hold: 0
= [V∆ (t) ⊕ U∆ (t)] ⊕ Uj00 (t) (Lemma 5)
1) A is independent of B. 0 00
2) A ⊕ B is independent of C. = V∆ (t) ⊕ Uj (t) (from (10))

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
11

Incorporating the new arrivals into the subspaces involves differences in backlog between the sender and the receivers,
adding a(t + 1) all-zero columns to the bases of Vj0 (t), in terms of the number of degrees of freedom. Thus, we have
V∆0 (t), and Uj00 (t), thereby converting them into bases of proved Theorem 2.
Vj (t+1), V∆ (t+1), and Uj (t+1) respectively. These changes
do not affect the above relation, and we get:
C. Algorithm 2 (b): Drop when seen
Vj (t + 1) = V∆ (t + 1) ⊕ Uj (t + 1), ∀j = 1, 2, . . . n The drop-when-seen algorithm can be viewed as a spe-
And finally, cialized variant of Algorithm 2 (a). It uses the notion of
V∆0 (t + 1) seen packets (defined in Section II) to represent the bases of
the knowledge spaces. This leads to a simple and easy-to-
= ∩nj=1 Vj0 (t + 1) implement version of the algorithm which, besides ensuring
= ∩nj=1 [Vj (t + 1) ⊕ span(g̃j (t + 1))] that physical queue size tracks virtual queue size, also provides
= ∩nj=1 [V∆ (t + 1) ⊕ Uj (t + 1) ⊕ span(g̃j (t + 1))] some practical benefits. For instance, the sender need not
store linear combinations of packets in the queue like in
(a)
= V∆ (t + 1) ⊕ ∩nj=1 [Uj (t + 1) ⊕ span(g̃j (t + 1))] Algorithm 2 (a). Instead only original packets need to be
= V∆ (t + 1) ⊕ U∆0
(t + 1) stored, and the queue can be operated in a simple first-in-first-
out manner. We now present some mathematical preliminaries
before describing the algorithm.
Step (a) is justified as follows. Using equation (7) and the fact 1) Some preliminaries: Algorithm 2 (b) uses the notion of
that g̃j (t + 1) was chosen to be inside U (t + 1), we can show reduced row echelon form (RREF) of a matrix to represent the
that the span of all the [Uj (t+1)⊕span(g̃j (t+1))]’s is inside knowledge of a receiver. The definition and properties of the
U (t + 1). Now, from the induction step above, V∆ (t + 1) is RREF can be found in [19]. We now present the connection
independent of U (t + 1). Therefore, V∆ (t + 1) is independent between the RREF and the notion of seeing packets.
of the span of all the [Uj (t + 1) ⊕ span(g̃j (t + 1))]’s. We can The RREF leads to a standard way to represent a vector
therefore apply Lemma 4. space. Given a vector space, arrange the basis vectors in any
Theorem 4: Let Q(t) denote the size of the queue after the basis of the space as the rows of a matrix, and perform Gauss-
arrivals in slot t have been appended to the queue. Jordan elimination. This process produces a unique matrix in
RREF such that its row space is the given vector space. We
Q(t) = dim V (t) − dim V∆ (t) call this the RREF basis matrix of the space. We will use this
Proof: representation for the knowledge space of the receivers.
Q(t) = dim U (t) = dim U 00 (t − 1) + a(t) Let V be the knowledge space of some receiver. Suppose m
packets have arrived at the sender so far. Then the receiver’s
0
= dim U (t − 1) − dim U∆ (t − 1) + a(t) knowledge consists of linear combinations of these m packets,
(using (4)) i.e., V is a subspace of Fm q . Using the procedure outlined
= dim V (t − 1) − dim V∆ (t − 1) − dim U∆ 0
(t) + a(t) above, we can compute the dim(V ) × m RREF basis matrix
of V over Fq .
(from Theorem 3)
In the RREF basis, the first nonzero entry of any row is
= dim V (t − 1) − dim V∆0 (t) + a(t) called a pivot. Any column with a pivot is called a pivot
(from Theorem 3) column. By definition, each pivot occurs in a different column.
= dim V (t) − dim V∆ (t) Hence, the number of pivot columns equals the number of
nonzero rows, which is dim[V ]. Let pk denote the packet
with index k. The columns are ordered so that column k maps
Lemma 6: Let V1 , V2 , . . . , Vk be subspaces of a vector space to packet pk . The following theorem connects the notion of
V . Then, for k ≥ 1, seeing packets to the RREF basis.
k
X Theorem 5: A node has seen a packet with index k if and
dim(V1 ∩ V2 ∩ . . . ∩ Vk ) ≥ dim(Vi ) − (k − 1)dim(V ) only if the k th column of the RREF basis B of the knowledge
i=1 space V of the node is a pivot column.
See Appendix G for the proof. The above result can be Proof: The ‘if’ part is clear. If column k of B is a pivot
rewritten as: column, then the corresponding pivot row corresponds to a
k
linear combination known to the node, of the form pk + q,
dim(V ) − dim(V1 ∩ V2 ∩ . . . Vk ) ≤
X
[dim(V ) − dim(Vi )] where q involves only packets with index more than k. Thus,
i=1
the node has seen pk .
(12) For the ‘only if’ part, suppose column k of B does not
Using this result, we can now prove Theorem 2. contain a pivot. Then, in any linear combination of the rows,
Proof of Theorem 2:: If we apply Lemma 6 to the vector rows with pivot after column k cannot contribute anything to
spaces Vj (t), j = 1, 2, . . . , n and V (t), then the left hand column k. Rows with pivot before column k will result in a
side of inequality (12) becomes the sender queue size (using non-zero term in some column to the left of k. Since every
Theorem 4), while the right hand side becomes the sum of the vector in V is a linear combination of the rows of B, the first

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
12

non-zero term of any vector in V cannot be in column k. Thus, The fact that the coding module uses only the next unseen
pk could not have been seen. packet of all receivers readily implies the following queue
Since the number of pivot columns is equal to the dimension update rule. Drop a packet if all receivers have seen it.
of the vector space, we obtain the following corollary. This simple rule ensures that the physical queue size tracks
Corollary 1: The number of packets seen by a receiver is the virtual queue size.
equal to the dimension of its knowledge space. Remark 2: In independent work, [30] proposes a coding
The next corollary introduces a useful concept. algorithm which uses the idea of selecting those packets for
Corollary 2: If receiver j has seen packet pk , then it knows coding, whose indices are one more than each receiver’s rank.
exactly one linear combination of the form pk + q such that This corresponds to choosing the next unseen packets in the
q involves only unseen packets with index more than k. special case where packets are seen in order. Moreover, this
Proof: We use the same notation as above. The receiver algorithm picks coding coefficients in a deterministic manner,
has seen pk . Hence, column k in B is a pivot column. By just like our coding module. Therefore, our module is closely
definition of RREF, in the row containing the pivot in column related to the algorithm of [30].
k, the pivot value is 1 and subsequent nonzero terms occur However, our algorithm is based on the framework of seen
only in non-pivot columns. Thus, the corresponding linear packets. This allows several benefits. First, it immediately
combination has the given form pk + q, where q involves leads to the drop-when-seen queue management algorithm, as
only unseen packets with index more than k. described above. In contrast, [30] does not consider queuing
We now prove uniqueness by contradiction. Suppose the aspects of the problem. Second, in this form, our algorithm
receiver knows another such linear combination pk +q0 where readily generalizes to the case where the coding coefficients
q0 also involves only unseen packets. Then, the receiver must are picked randomly. The issue with random coding is that
also know (q−q0 ). But this means the receiver has seen some packets may be seen out of order. Our algorithm will guarantee
packet involved in either q or q0 – a contradiction. innovation even in this case (provided the field is large), by
Definition 10 (Witness): We denote the unique linear com- selecting a random linear combination of the next unseen
bination guaranteed by Corollary 2 as Wj (pk ), the witness packets of the receivers. However, the algorithm of [30] may
for receiver j seeing pk . not work well here, as it may pick packets that have already
2) Description of Algorithm 2 (b): The central idea of the been seen, which could cause non-innovative transmissions.
algorithm is to keep track of seen packets instead of decoded The compatibility of our algorithm with random coding
packets. The two main parts of the algorithm are the coding makes it particularly useful from an implementation perspec-
and queue update modules. tive. With random coding, each receiver only needs to inform
In Section IV-C5, we present the formal description of the sender the set of packets it has seen. There is no need to
our coding module. The coding module computes a linear convey the exact knowledge space. This can be done simply by
combination g that will cause any receiver that receives it, to generating a TCP-like cumulative ACK upon seeing a packet.
see its next unseen packet. First, for each receiver, the sender Thus, the ACK format is the same as in traditional ARQ-based
computes its knowledge space using the feedback and picks schemes. Only its interpretation is different.
out its next unseen packet. Only these packets will be involved We next present the formal description and analysis of the
in g, and hence we call them the transmit set. Now, we need queue update algorithm.
to select coefficients for each packet in this set. Clearly, the 3) The queuing module: The algorithm works with the
receiver(s) waiting to see the oldest packet in the transmit set RREF bases of the receivers’ knowledge spaces. The coef-
(say p1 ) will be able to see it as long as its coefficient is ficient vectors are with respect to the current queue contents
not zero. Consider a receiver that is waiting to see the second and not the original packet stream.
oldest packet in the transmit set (say p2 ). Since the receiver Algorithm 2 (b)
has already seen p1 , it can subtract the witness for p1 , thereby 1. Initialize matrices B1 , B2 , . . . , Bn to the empty matrix.
canceling it from g. The coefficient of p2 must be picked These matrices will hold the bases of the incremental
such that after subtracting the witness for p1 , the remaining knowledge spaces of the receivers.
coefficient of p2 in g is non-zero. The same idea extends to 2. Incorporate new arrivals: Suppose there are a new
the other coefficients. The receiver can cancel packets involved arrivals. Add the new packets to the end of the queue.
in g that it has already seen by subtracting suitable multiples Append a all-zero columns on the right to each Bj for
of the corresponding witnesses. Therefore, the coefficients for the new packets.
g should be picked such that for each receiver, after canceling 3. Transmission: If the queue is empty, do nothing; else
the seen packets, the remaining coefficient of the next unseen compute g using the coding module and transmit it.
packet is non-zero. Then, the receiver will be able to see its 4. Incorporate channel state feedback:
next unseen packet. Theorem 8 proves that this is possible For every receiver j = 1 to n, do:
if the field size is at least n, the number of receivers. With If receiver j received the transmission, include the
two receivers, the coding module is a simple XOR based coefficient vector of g in terms of the current queue
scheme (see Table I). Our coding scheme meets the innovation contents, as a new row in Bj . Perform Gauss-Jordan
guarantee requirement because Theorem 5 implies that a linear elimination.
combination that would cause a new packet to be seen brings 5. Separate out packets that all receivers have seen:
in a previously unknown degree of freedom. Update the following sets and bases:

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
13

Sj0 := Set of packets corresponding to the pivot linear combinations that are known at receiver j. This proves
columns of Bj the theorem.
0
S∆ := ∩nj=1 Sj0 If a packet corresponds to a pivot column in Bj , the
New Bj := Sub-matrix of current Bj obtained by corresponding pivot row is a linear combination of the packet
0
excluding columns in S∆ and corresponding pivot rows. in question with packets that arrived after it. From the above
0
6. Update the queue: Drop the packets in S∆ . theorem, receiver j knows this linear combination which
7. Go back to step 2 for the next slot. means it has seen the packet. This leads to the following
4) Connecting the physical and virtual queue sizes: corollary.
Theorem 6: For Algorithm 2 (b), the physical queue size at Corollary 3: If a packet corresponds to a pivot column in
the sender is upper-bounded by the sum of the virtual queue Bj , then it has been seen by receiver j.
0
sizes, i.e., the sum of the degrees-of-freedom backlog between Thus, in step 5, S∆ (t) consists of those packets in the queue
the sender and the receivers. Hence, the expected size of the
 that all receivers have seen by the end of slot t. In other words,
physical queue in steady state for Algorithm 2 (b) is O 1−ρ1
. the algorithm retains only those packets that have not yet been
seen by all receivers. Even though the algorithm works with an
In the rest of this section, we will prove the above result. incremental version of the knowledge spaces, namely Uj (t), it
Now, in order to relate the queue size to the backlog in number maintains the queue in the same way as if it was working with
of degrees of freedom, we will need the following notation: the cumulative version Vj (t). Thus, the incremental approach
is equivalent to the cumulative approach.
S(t) := Set of packets arrived at sender till the end of slot t We will require the following lemma to prove the main
V (t) := Sender’s knowledge space after incorporating the theorem.
arrivals in slot t. This is simply equal to Fq
|S(t)| Lemma 7: Let A1 , A2 , . . . , Ak be subsets of a set A. Then,
Vj (t) := Receiver j’s knowledge space at the end of slot t. for k ≥ 1,
It is a subspace of V (t). k
X
Sj (t) := Set of packets receiver j has seen till end of slot t |A| − | ∩ki=1 Ai | ≤ (|A| − |Ai |) (13)
We will now formally argue that Algorithm 2 (b) indeed i=1
implements the drop-when-seen rule in spite of the incre-
Proof:
mental implementation. In any slot, the columns of Bj are
updated as follows. When new packets are appended to the |A| − | ∩ki=1 Ai |
queue, new columns are added to Bj on the right. When
= |A ∩ (∩ki=1 Ai )c | (since the Ai ’s are subsets of A)
packets are dropped from the queue, corresponding columns
are dropped from Bj . There is no rearrangement of columns = |A ∩ (∪ki=1 Aci )| (by De Morgan’s law)
at any point. This implies that a one-to-one correspondence is = | ∪ki=1 (A ∩ Aci )| (distributivity)
always maintained between the columns of Bj and the packets X k
currently in the queue. Let Uj (t) be the row space of Bj at ≤ |A ∩ Aci | (union bound)
time t. Thus, if (u1 , u2 , . . . , uQ(t) ) is any vector in Uj (t), it i=1
PQ(t) k
corresponds to a linear combination of the form i=1 ui pi , X
where pi is the ith packet in the queue at time t. The following = (|A| − |Ai |)
theorem connects the incremental knowledge space Uj (t) to i=1

the cumulative knowledge space Vj (t).


Theorem 7: In Algorithm 2 (b), for each receiver j, at the Now, we are ready to prove Theorem 6.
end of slot t, for any u ∈ Uj (t), the linear combination Proof of Theorem 6:: Since the only packets in the queue
PQ(t) th
i=1 ui pi is known to receiver j, where pi denotes the i at any point are those that not all receivers have seen, we
packet in the queue at time t. obtain the following expression for the physical queue size at
Proof: We will use induction on t. For t = 0, the system the sender at the end of slot t:
is completely empty and the statement is vacuously true. Let us
now assume that the statement is true at time (t−1). Consider Q(t) = |S(t)| − | ∩nj=1 Sj (t)|
the operations in slot t. A new row is added to Bj only if
the corresponding linear combination has been successfully If we apply Lemma 7 to the sets S(t) and Sj (t), j =
received by receiver j. Hence, the statement is still true. Row 1, 2, . . . , n then the left hand side of inequality (13) becomes
operations involved in Gauss-Jordan elimination do not alter the sender queue size Q(t) given above. Now, |Sj (t)| =
the row space. Finally, when some of the pivot columns are dim[Vj (t)], using Corollary 1. Hence P the right
 hand side
n
dropped along with the corresponding pivot rows in step 5, this of inequality  (13) can be rewritten as j=1 dim[V (t)] −
does not affect the linear combinations to which the remaining dim[Vj (t)] , which is the sum of the virtual queue sizes.
rows correspond because the pivot columns have a 0 in all Finally, we can find the asymptotic behavior of the physical
rows except the pivot row. Hence, the three operations that queue size in steady state under Algorithm 2 (b).  Since
 the
1
are performed between slot (t − 1) and slot t do not affect the expected virtual queue sizes themselves are all O 1−ρ from
property that the vectors in the row space of Bj correspond to Equation (2), we obtain the stated result.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
14

5) The coding module: We now present a coding module packets will be seen in order with this deterministic coding
that is compatible with the drop-when-seen queuing algorithm scheme. This means packets will be dropped in order at the
in the sense that it always forms a linear combination using sender.
packets that are currently in the queue maintained by the
queuing module. In addition, we show that the coding module V. OVERHEAD
satisfies the innovation guarantee property.
In this section, we comment on the overhead required for
Let {u1 , u2 , . . . , um } be the set of indices of the next unseen
Algorithms 1 and 2 (b). There are several types of overhead.
packets of the receivers, sorted in ascending order (In general,
m ≤ n, since the next unseen packet may be the same for some
receivers). Exclude receivers whose next unseen packets have A. Amount of feedback
not yet arrived at the sender. Let R(ui ) be the set of receivers Our scheme assumes that every receiver feeds back one
whose next unseen packet is pui . We now present the coding bit after every slot, indicating whether an erasure occurred or
module to select the linear combination for transmission. not. In comparison, the drop-when-decoded scheme requires
1) Loop over next unseen packets feedback only when packets get decoded. However, in that
For j = 1 to m, do: case, the feedback may be more than one bit – the receiver
All receivers in R(uj ) have seen packets pui for i < j. will have to specify the list of all packets that were decoded,
Pj−1
Now, ∀r ∈ R(uj ), find yr := i=1 αi Wr (pui ), where since packets may get decoded in groups. In a practical
Wr (pui ) is the witness for receiver r seeing pui . Pick implementation of the drop-when-seen algorithm, TCP-like
αj ∈ Fq such that αj is different from the coefficient of cumulative acknowledgments can be used to inform the sender
puj in yr for each r ∈ R(uj ). Pm which packets have been seen.
2) Compute the transmit packet: g := i=1 αi pui
It is easily seen that this coding module is compatible B. Identifying the linear combination
with the drop-when-seen algorithm. Indeed, it does not use
any packet that has been seen by all receivers in the linear Together with a linear combination of packets, a sender must
combination. It only uses packets that at least one receiver specify which packets have been involved in the combination,
has not yet seen. The queue update module retains precisely and what coefficients were used for these packets.
such packets in the queue. The next theorem presents a useful 1) Set of packets involved: The baseline algorithm uses all
property of the coding module. packets in the queue for the linear combination. The queue
Theorem 8: If the field size is at least n, then the coding is updated in a first-in-first-out (FIFO) manner. This is a
module picks a linear combination that will cause any receiver consequence of the fact that the receiver signals successful
to see its next unseen packet upon successful reception. decoding only when the virtual queue becomes empty5 . The
Proof: First we show that a suitable choice always exists FIFO rule implies that specifying the contents of the queue
for αj that satisfies the requirement in step 1. For r ∈ R(u1 ), reduces to specifying the sequence number of the head-of-line
yr = 0. Hence, as long as α1 6= 0, the condition is satisfied. packet and the last packet in the queue in every transmission.
So, pick α1 = 1. Since at least one receiver is in R(u1 ), we The drop-when-seen algorithm does not use all packets from
have that for j > 1, |R(uj )| ≤ (n − 1). Even if each yr for the queue, but at most n packets (the next unseen packet of
r ∈ R(uj ) has a different coefficient for puj , that covers only each receiver). The sender could specify the set of packets
(n−1) different field elements. If q ≥ n, then there is a choice involved by listing their sequence numbers. Here also the
left in Fq for αj . sender’s queue follows a FIFO rule, since the coding module
Now, we have to show that the condition given in step 1 guarantees that packets will be seen in order.
implies that the receivers will be able to see their next unseen In both cases, the sequence number of the original stream
packet. Indeed, for all j from 1 to m, and for all r ∈ R(uj ), cannot be used as it is, since it grows with time. However,
receiver r knows yr , since it is a linear combination of since the queues are updated in a FIFO manner, we can express
witnesses of r. Hence, if r successfully receives g, it can the sequence number relative to an origin that also advances
compute (g−yr ). Now, g and yr have the same coefficient for with time. If the sender knows that the receiver’s estimate of
all packets with index less than uj , and a different coefficient the sender’s queue starts at a particular point, then both the
for puj . Hence, (g − yr ) will involve puj and only packets sender and receiver can reset their origin to that point and
with index beyond uj . This means r can see puj and this count from there.
completes the proof. For the baseline case, if the receiver has a decoding event
Theorem 5 implies that seeing an unseen packet corresponds in a particular slot, it must have had a successful reception
to receiving an unknown degree of freedom. Thus, Theorem in that slot. Hence, upon receiving feedback that indicates the
8 essentially says that the innovation guarantee property is successful decoding, the sender can be certain that the receiver
satisfied and hence the scheme is throughput optimal. must have received the latest update about the queue contents
This theorem is closely related to the result derived in [30] and is therefore in sync with the sender. At this point, both
that computes the minimum field size needed to guarantee the sender and receiver can reset their origin to the current
innovation. The difference is that our result uses the frame- 5 As mentioned earlier in Remark 1, we assume that the sender checks
work of seen packets to make a more general statement by whether any packets have been newly decoded only when the virtual queue
specifying not only that innovation is guaranteed, but also that becomes empty.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
15

HOL packet. Since the decoding epochs of different receivers Definition 11 (Decoding Delay): The decoding delay of
may not be synchronized, the sender will have to maintain a a packet with respect to a receiver is the time that elapses
different origin for each receiver and send a different sequence between the arrival of the packet at the sender and the decoding
number to each receiver, relative to that receiver’s origin. This of the packet by the receiver under consideration.
can be done simply by concatenating the sequence number As discussed in Section I, some applications can make use
for each receiver in the header. The range of values that the of a packet only if all prior packets have been decoded. In
sequence number can take will be proportional to the busy other words, the application will accept packets only up to the
period of the virtual queue, since this determines how often front of contiguous knowledge. This motivates the following
the origin is reset. Thus, the overhead in bits for each receiver stronger notion of delay.
will be proportional
 to 
the logarithm of the expected busy Definition 12 (Delivery Delay): The delivery delay of a
1 packet with respect to a receiver is the time that elapses
period, i.e., O log2 1−ρ .
For the drop-when-seen scheme, the origin can be reset between the arrival of the packet at the sender and the delivery
whenever the receiver sends feedback indicating successful of the packet by the receiver to the application, with the
reception. Thus, the origin advances a lot more frequently than constraint that packets may be delivered only in order.
in the baseline scheme. It follows from these definitions that the decoding delay is
2) Coefficients used: The baseline algorithm uses a random always less than or equal to the delivery delay. Upon decoding
linear coding scheme. Here, potentially all packets in the the packets, the receiver will place them in a reordering buffer
queue get combined in a linear combination. So, in the worst until they are delivered to the application.
case, the sender would have to send one coefficient for every In this section, we study the expectation of these delays
packet in the queue. If the queue has m packets, this would for an arbitrary packet. It can be shown using ergodic theory
require m log2 q bits, that the long term average of the delay experienced by the
 where  q is the field size. In expectation,
log2 q
this would be O (1−ρ)2 bits. If the receiver knows the packets in steady state converges to this expectation with high
probability. We focus on the asymptotic growth of the expected
pseudorandom number generator used by the sender, then it
delay as ρ → 1.
would be sufficient for the sender to send the current state
The section is organized as follows. We first study the
of the generator and the size of the queue. Using this, the
delivery delay behavior of Algorithms 1 and 2(b), and provide
receiver can generate the coefficients used by the sender in
an upper bound on the asymptotic expected delivery delay for
the coding process. The new drop-when-seen algorithm uses
any policy that satisfies the innovation guarantee property. We
a coding module which combines the next unseen packet of
then present a generic lower bound on the expected decoding
each receiver. Thus, the overhead for the coefficients is at most
delay. Finally, we present a new coding module which not
n log2 q bits, where n is the number of receivers. It does not
only guarantees innovation, but also aims to minimize the
depend on the load factor ρ at all.
delivery delay. We conjecture that this algorithm achieves a
delivery delay whose asymptotic growth matches that of the
C. Overhead at sender lower bound. This behavior is verified through simulations.
While Algorithm 2 (b) saves in buffer space, it requires the
sender to store the basis matrix of each receiver, and update
A. An upper bound on delivery delay
them in every slot based on feedback. However, storing a row
of the basis matrix requires much less memory than storing a Theorem 9: The expected delivery delay of a packet for any
packet, especially for long packets. Thus, there is an overall coding
 module that satisfies the innovation guarantee property
1
saving in memory. The update of the basis matrix simply is O (1−ρ) 2 .
involves one step of the Gauss-Jordan elimination algorithm.
The arguments leading to this bound are presented next.
D. Overhead at receiver For any policy that satisfies the innovation guarantee property,
the virtual queue size evolves according to the Markov chain
The receiver will have to store the coded packets till they are in Figure 2. The analysis of Algorithm 1 in Section IV-A
decoded. It will also have to decode the packets. For this, the therefore applies to any coding algorithm that guarantees
receiver can perform a Gauss-Jordan elimination after every innovation.
successful reception. Thus, the computation for the matrix As explained in that section, the event of a virtual queue
inversion associated with decoding can be spread over time. becoming empty translates to successful decoding at the
corresponding receiver, since the number of equations now
VI. D ECODING DELAY matches the number of unknowns involved. Thus, an arbitrary
With the coding module of Section IV-C5, although a packet that arrives at the sender will get decoded by receiver
receiver can see the next unseen packet in every successful j at or before the next emptying of the j th virtual queue. In
reception, this does not mean the packet will be decoded fact, it will get delivered to the application at or before the
immediately. In general, the receiver will have to collect next emptying of the virtual queue. This is because, when
enough equations in the unknown packets before being able the virtual queue is empty, every packet that arrived at the
to decode them, resulting in a delay. We consider two notions sender gets decoded. Thus, the front of contiguous knowledge
of delay in this paper: advances to the last packet that the sender knows.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
16

The above discussion implies that Equation (14) gives an


Load factor (ρ)
upper bound on the expected delivery delay of an arbitrary 3000
.94 .95 .96 .97 .98
packet. We thus obtain the result stated above. Time till next decoding event (Simulation)
We next study the decoding delay of Algorithm 2 (b). 2500 Busy period upper bound (Simulation)
[(1-µ)ρ]/[µ(1-ρ)2]
We define the decoding event to be the event that all seen
0.37/(1-ρ)2

Number of time slots


packets get decoded. Since packets are always seen in order, 2000
the decoding event guarantees that the front of contiguous
knowledge will advance to the front of seen packets. 1500
We use the term leader to refer to the receiver which has
seen the maximum number of packets at the given point in
1000
time. Note that there can be more than one leader at the same
time. The following theorem characterizes sufficient conditions
500
for the decoding event to occur.
Theorem 10: The decoding event occurs in a slot at a
particular receiver if in that slot: 0
15 20 25 30 35 40 45 50
(a) The receiver has a successful reception which results in 1 / (1-ρ)

an empty virtual queue at the sender; OR


Fig. 4. Delay to decoding event and upper bound for 2 receiver case, as a
(b) The receiver has a successful reception and the receiver 1
function of (1−ρ) . The corresponding values of ρ are shown on the top of
was a leader at the beginning of the slot. the figure.
Proof: Condition (a) implies that the receiver has seen
all packets that have arrived at the sender up to that slot.
Each packet at the sender is an unknown and each seen while µ is fixed to be 0.5. The figure also shows the upper
packet corresponds to a linearly independent equation. Thus, bound based on busy period measurements. This curve agrees
the receiver has received as many equations as the number of with the formula in Equation (14) as expected.
unknowns, and can decode all packets it has seen.
Suppose condition (b) holds. Let pk be the next unseen B. The lower bound
packet of the receiver in question. The sender’s transmitted Lemma
 8:  The expected per-packet delay is lower bounded
linear combination will involve only the next unseen packets by Ω 1−ρ 1
of all the receivers. Since the receiver was a leader at the Proof: The expected per-packet delay for the single
beginning of the slot, the sender’s transmission will not involve receiver case is clearly a lower bound for the corresponding
any packet beyond pk , since the next unseen packet of all other quantity at one of the receivers in a multiple-receiver system.
receivers is either pk or some earlier packet. After subtracting Figure 2 shows the Markov chain for the queue size in the
the suitably scaled witnesses of already seen packets from single receiver case. If ρ = µλ < 1, then the chain is positive
such a linear combination, the leading receiver will end up recurrent and the steady state expected queue size can be
with a linear combination that involves only pk . Thus the

computed to be ρ(1−µ)
(1−ρ) = Θ 1
1−ρ (see Equation (1)). Now,
leader not only sees pk , but also decodes it. In fact, none
of the sender’s transmissions so far would have involved any if ρ < 1, then the system is stable and Little’s law can be
packet beyond pk . Hence, once pk has been decoded, pk−1 applied to show that the expected
  per-packet delay in the single
1
can also be decoded. This procedure can be extended to all receiver system is also Θ 1−ρ .
unseen packets, and by induction, we can show that all unseen We now present the new coding module for the general
packets will be decoded. case of any number of receivers. First, we describe the main
The upper bound proved in Theorem 9 is based on the ideas behind the algorithm. Then, we present the detailed
emptying of the virtual queues. This corresponds only to case specification.
(a) in Theorem 10. The existence of case (b) shows that in
general, the decoding delay will be strictly smaller than the C. Intuitive description
upper bound. A natural question is whether this difference is The intuition behind the algorithm is to first identify for
large enough to cause a different asymptotic behavior, i.e., each receiver, the oldest packet that it has not yet decoded,
does Algorithm 2 (b) achieve a delay that asymptotically has which we will call the request of that receiver. The algorithm
a smaller exponent of growth than the upper bound as ρ → 1? then transmits a linear combination that involves packets from
We conjecture that this is not the case,  i.e., that
 the decoding only within this set.
1
delay for Algorithm 2 (b) is also Ω (1−ρ) 2 , although the The linear combination is constructed incrementally. The re-
constant of proportionality will be smaller. For the two receiver ceivers are grouped according to their request, and the groups
case, based on our simulations, this fact seems to be true. are processed in descending order of their requested packet’s
Figure 4 shows the growth of the decoding delay averaged index. First, the newest request (i.e., the one with the largest
1
over a large number of packets, as a function of (1−ρ) . The index) is included in the linear combination, as otherwise,
0.37
resulting curve seems to be close to the curve (1−ρ)2 , implying the corresponding receivers, having decoded everything older,
a quadratic growth. The value of ρ ranges from 0.95 to 0.98, will find the transmission non-innovative. Then, the algorithm

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
17

checks whether the linear combination formed thus far is that every innovative reception causes a new packet to be seen.
innovative to every receiver in the next group. If it is not In other words, the number of seen packets is equal to the
innovative, then the coefficient of the next group’s request dimension of the knowledge space.
is adjusted till it is simultaneously innovative to the whole Observation 2: Due to the reverse ordering of the packets,
group. The key idea is that, since the groups are processed we have an interesting property. For any k > 0, if all packets
in descending order of their requests, the choices made for p1 to pk have been seen, then they have also been decoded,
the coefficient of subsequent groups’ requests will not affect and hence can be delivered to the application.
the innovation of earlier groups. This is because, the earlier
groups have already decoded the subsequent groups’ requests. E. Algorithm specification
After processing all the groups in this order, the transmitted
Now, we present the formal coding algorithm. Note that the
linear combination is thus chosen so that it satisfies the
algorithm and its analysis use the notion of seen packets with
innovation guarantee property.
reverse ordering.
Let {u1 , u2 , . . . , um } be the set of indices of the oldest
D. Representing knowledge undecoded packets of the n receivers, sorted in descending
Before specifying the algorithm, we first propose a way order (m ≤ n, since the oldest undecoded packet may be
to systematically represent the state of knowledge of the the same for some receivers). Exclude receivers whose oldest
receivers. This is based on the representation used in Section undecoded packet has not yet arrived at the sender. We call
IV, with a key difference described below. this resulting set of packets the transmit set, since the coding
Let pk denote the packet with index k. Suppose the total module will use only these packets in computing the linear
number of packets that have arrived at any time t is denoted combination to be transmitted.
by A(t). Since the code is linear, we can represent the state Let R(ui ) be the group of receivers whose request is
of knowledge of a node by a vector space consisting of all the pui . We now present the coding module to select the linear
linear combinations that a node can compute using what it has combination for transmission.
received thus far. We represent the state of knowledge using a Initialize the transmit coefficient vector a to an all zero
basis of this vector space. The basis is represented as the rows vector of length Q, the current sender queue size.
of a matrix which is in the reduced row echelon form (RREF). for j = 1 to m do { (Loop over the transmit set)}
The matrix has A(t) columns, one for each packet that has Initialize the veto list6 to the empty set.
arrived thus far. While all this is identical to the representation for all r ∈ R(uj ) do
in Section IV, the main difference is in the ordering of the Zero out the coefficient of all packets seen by receiver r
columns of the basis matrix. We use the same framework, from the current transmission vector a by subtracting
except that in this section, the columns of the RREF basis from a, suitably scaled versions of the rows of the
matrix are ordered so that packet pk maps to column A(t)−k. current RREF basis matrix, to get the vector a0 . (This is
In other words, the columns are arranged in reverse order with essentially the first step of Gauss-Jordan elimination.)
respect to the order of arrival at the sender. Hence, find out which packet will be newly seen if the
Throughout this section, we will use the RREF represen- linear combination corresponding to a is transmitted.
tation of the basis matrix, with this reverse ordering of the This is simply the index of the packet corresponding
packets. We also make use of the notion of seen packets to the first non-zero entry in a0 .
that was introduced in Section II-A. Note however that the if no packet is newly seen then
definition becomes quite different from the previous definition Append 0 to the veto list
if we use the reverse ordering on the packets. else if the newly seen packet’s index is uj then
Definition 13 (Seeing a packet with reverse ordering): A Append the additive inverse of the leading non-zero
node is said to have seen a packet with index k if and only entry of a0 to the veto list
if the k th column from the right, of the RREF basis B else if the newly seen packet is anything else then
of the knowledge space V of the node, is a pivot column. Do not add anything to the veto list
Alternatively, a node has seen a packet pk if it has received end if
enough information to compute a linear combination of the end for
form (pk +q), where q is itself a linear combination involving Arrange the elements of the finite field in any order,
only packets with an index less than that of p. (Decoding starting with 0. Choose auj to be the first element in
implies seeing, as we can pick q = 0.) this order that is not in the veto list.
In contrast, the definition used in Section II-A had replaced the end for PQ
word “less” with the word “greater” in the above statement. Compute the transmit packet: g := k=1 ak pk
We believe the reverse ordering is better suited to analyzing
the delivery delay. We now make some observations about the F. Properties of the algorithm
new definition. 1) Throughput: To ensure correctness, the algorithm uses a
Observation 1: As with the forward ordering, the notion finite field of size at least as large as the number of receivers.
of seen with reverse ordering also has connections to the
dimension of the knowledge space. In particular, we can show 6 This will hold the list of unacceptable coefficients of puj .

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
18

Theorem 11 shows that this is a sufficient condition to guar- The exact analysis of the delay and the proof of this
antee innovation and thereby achieve optimal throughput. conjecture are open problems. We believe that the notion of
Theorem 11: If the field is at least as large as the number seen packets will be useful in this analysis. In particular, to
of receivers, then the above algorithm will always find values analyze the delivery delay, we can make use of Observation
for the ak ’s such that the resulting transmission satisfies the 2 from Section VI-D. A packet is delivered if and only if this
innovation guarantee property. packet and all packets with a lower index have been seen. This
Proof: We first show that the choices made by the condition is the same as what arises in problems involving a
algorithm guarantee innovation. For any j > 0, consider the resequencing buffer. Thus, we can formulate our delivery delay
j th request group. Let a(j − 1) be the value of the coefficient problem in terms of traditional queuing problems.
vector just before processing group j (Note, a(0) = 0.). In our formulation, we break down the delivery delay of a
Any receiver in group j has not decoded puj yet. Hence, it packet for a particular receiver into two parts, as though the
cannot know a linear combination of the form a(j − 1) + βeuj packet has to traverse two queues in tandem. The first part
for more than one value of β, where euj is the unit vector is simply the time until the packet is seen. Once it is seen,
with a 1 in the uth the packet moves into a second queue which is essentially a
j coordinate and 0 elsewhere. (If it knew
two such combinations, it could subtract one from the other resequencing buffer. The second part is the time spent in this
to find puj , a contradiction.) buffer waiting for all older packets to be seen.
Suppose the receiver knows exactly one such linear combi- The expectation of the first part is easy to calculate, since
nation. Then, after the row reduction step, the vector a(j − 1) every innovative reception causes a new packet to be seen. By
will get transformed into a0 = −βeuj . Hence, the leading non- Little’s theorem, the delay is directly proportional to the size
zero coefficient of a0 is −β, and its additive inverse gives β. of the queue of unseen packets. This queue’s behavior was
(Note: the resulting value of β could be 0. This corresponds studied in Section IV. Although that section used the older
to the non-innovative case.) If the receiver does not know any notion of seeing a packet, it can be shown that the analysis
linear combination of this form, then packet uj is not seen, still holds even if we use the new notion of
 seen
 packets based
1
and nothing is added to the veto list. on reverse ordering. Hence, we get a O 1−ρ bound on the
In short, the values that are vetoed are those values of β for first part of the delay. The analysis of the second part of the
which some receiver knows a linear combination of the form delay however, seems more complicated.
a(j −1)+βeuj . Hence, by picking a value of auj from outside 3) Queue management: The coding module described
this list, we ensure innovation. Thus, the algorithm essentially above makes use of only the oldest undecoded packet of
checks for innovation by considering different coefficients β each receiver in any given time-slot. Since our definition of
for including puj into the transmission and eliminating the seen packets uses reverse ordering of the packets (see Section
ones that do not work. Finally, processing subsequent groups VI-D), the oldest undecoded packet is always an unseen
will not affect the innovation of the previous groups because packet. In other words, the algorithm never uses packets
the subsequent groups will only change the coefficient of their that have been seen by all the receivers. This implies that
requests, which have already been decoded by the previous the algorithm is compatible with the drop-when-seen queuing
groups. algorithm (Algorithm 2 (b))that was proposed and analyzed
We now show that the algorithm always has enough choices in Section IV, provided we use the new definition of seen.
to pick such an auj even after excluding the veto list. As As pointed out in Observation 1 in Section VI-D, the new
argued above, at any point in the algorithm, each receiver adds definition of seeing a packet has the same relation to the
at most one field element to the veto list. Hence, the veto dimension of the knowledge space as the old definition of
list can never be longer than the number of receivers in the Section II-A. Thus, we can obtain all the queue size guarantees
corresponding request group. Now, we consider two cases. that were obtainedin the earlier work. In other words, we can
1
Case 1: If the group requesting the highest request u1 does get a provable O 1−ρ growth of the expected queue size
not include all the receivers, then none of the groups contain at the sender, in addition to the provable innovation guarantee
n receivers. Hence, the veto list for any group will always be property and the conjectured delay guarantees.
strictly shorter than n, and hence if the field size is at least n,
there is always a choice left for auj . G. Simulation results
Case 2: If all n receivers request the highest packet u1 , then
We now evaluate the performance of the newly proposed
it has to be the case that they have all decoded every packet
coding module through simulations. In particular, we study
before u1 . Hence, the only coefficient that any receiver would
the behavior of the decoding delay and the delivery delay as
veto for pu1 is 0, thus leaving other choices for au1 .
a function of the load factor ρ, in the limit as ρ approaches 1,
This completes the proof. i.e., as the loading on the system approaches capacity.
2) Decoding and delivery delay: We conjecture that the The probability of reception in any slot is µ = 0.5. The
coding module described above has good delay performance. packets arrive according to a Bernoulli process, whose arrival
Conjecture 1: For the coding module in Section VI-E, the rate is calculated according to the load factor ρ. The load factor
expected decoding delay per packet, as well as the expected is varied through the following values: 0.8, 0.9, 0.92, 0.94,
delivery delay
 per  packet with respect to a particular receiver, 0.96, 0.97, 0.98 and 0.99. The decoding delay and delivery
1
grow as O 1−ρ as ρ → 1, which is asymptotically optimal. delay are averaged across the packets over a large number of

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
19

300 2.6
Decoding delay (5 receivers)
Delivery delay (5 receivers) 2.4
250 Decoding delay (3 receivers)
Delivery delay (3 receivers) 2.2

2
Delay (in time slots)

200

log10 (Delay)
1.8
150
1.6

1.4
100
1.2

50 1 log(Decoding delay): 3 receivers


log(Delivery delay): 3 receivers
0.8 log(Decoding delay): 5 receivers
0 log(Delivery delay): 5 receivers
0 10 20 30 40 50 60 70 80 90 100 0.6
1/(1-ρ) 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
log [1/(1-ρ)]
10

Fig. 5. Linear plot of the decoding and delivery delay


Fig. 6. Log plot of the decoding and delivery delay

slots. The number of slots is set to 106 for the first four data
points, 2 × 106 for the next two points, and at 5 × 106 for the We have assumed the erasures to be independent and iden-
last two points. tically distributed across receivers. However, the analysis for
We consider two different cases. In the first case, there are Algorithm 2 (b) will hold even if we allow adversarial erasures.
three receivers. The entire operation is therefore performed This is because, the guarantee that the physical queue size
over a GF (3) (i.e., integer operations modulo 3). In the second tracks the backlog in degrees of freedom is not a probabilistic
case, we consider the situation where there are five receivers. guarantee, but a combinatorial guarantee on the instantaneous
In this case, the operations are performed over a field of size value of the queue sizes. Note that, while the erasures can
5. be chosen adversarially, we will require the adversary to
Figure 5 shows the plot of the decoding and delivery delay guarantee a certain minimum long-term connection rate from
1
as a function of 1−ρ for both the three and the five receiver the sender to every receiver, so that the virtual queues can
cases. Figure 6 shows the same plot in a logarithmic scale. themselves be stabilized.
From both these figures, it is clearly seen that the algorithm
1 From a theoretical point of view, our results mean that any
achieves a linear growth of the delay in terms of 1−ρ . We have
stability results or queue size bounds in terms of virtual queues
thus verified Conjecture 1 for the case of 3 and 5 receivers,
can be translated to corresponding results for the physical
using simulations.
queues. In addition, results from traditional queuing theory
about M/G/1 queues or a Jackson network type of result [8]
VII. A PPLICATIONS AND FURTHER EXTENSIONS can be extended to the physical queue size in coded networks,
Although we have presented the algorithms in the context as opposed to just the backlog in degrees of freedom. From
of a single packet erasure broadcast channel, we believe the a practical point of view, if the memory at the sender has to
main ideas in the scheme are quite robust and can be applied be shared among several different flows, then this reduction in
to more general topologies. The scheme readily extends to queue occupancy will prove quite useful in getting statistical
a tandem network of broadcast links (with no mergers) if multiplexing benefits.
the intermediate nodes use the witness packets in place of For instance, one specific scenario where our results can
the original packets. The notion of encoding only unseen be immediately applied is the multicast switch with intra-
packets, acknowledging seen packets, and the algorithm of flow network coding, studied in [20]. The multicast switch
dropping packets that each receiver has acknowledged to have has broadcast-mode links from each input to all the outputs.
seen are applicable even at intermediate hops in a multi-hop “Erasures” occur because the scheduler may require that only
network coding system. The format for conveying the coding some outputs can receive the transmission, as the others are
vectors across multiple hops will need careful design. We scheduled to receive a different transmission from some other
expect that it will also extend to other topologies with suitable input. In this case, there is no need for explicit feedback, since
modifications. In addition, we believe the proposed scheme the sender can track the states of knowledge of the receivers
will also be robust to delayed or imperfect feedback, just like simply using the scheduling configurations from the past. The
conventional ARQ. Such a generalization can lead to a TCP- results stated in [20] in terms of the virtual queues can thus
like protocol for systems that use network coding [36]. be extended to the physical queues as well.

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
20

VIII. C ONCLUSIONS [13] A. Beimel, S. Dolev, and N. Singer, “RT oblivious erasure correcting,”
in Proceedings of IEEE Information Theory Workshop (ITW), October
In this work, we have presented a completely online ap- 2004.
proach to network coding based on feedback, which does not [14] A. Albanese, J. Blömer, J. Edmonds, M. Luby, and M. Sudan, “Priority
encoding transmission,” IEEE Trans. on Information Theory, vol. 42,
compromise on throughput and yet, provides benefits in terms pp. 1737–1744, November 1996.
of queue occupancy at the sender and decoding and delivery [15] D. Silva and F. R. Kschischang, “Rank-metric codes for priority en-
delay at the receivers. coding transmission with network coding,” in Canadian Workshop on
Information Theory, June 2007, p. 8184.
The notion of seen packets introduced in this work, allows [16] J. M. Walsh and S. Weber, “A concatenated network coding scheme for
the application of tools and results from traditional queuing multimedia transmission,” in Proc. of NetCod, 2008.
[17] T. Ho and H. Viswanathan, “Dynamic algorithms for multicast with
theory in contexts that involve coding across packets. Using intra-session network coding,” in 43rd Allerton Annual Conference on
this notion, we proposed the drop-when-seen algorithm, which Communication, Control and Computing, 2005.
allows the physical queue size to track the backlog in degrees [18] A. Eryilmaz and D. S. Lun, “Control for inter-session network coding,”
in Proc. of NetCod, 2007.
of freedom, thereby reducing the amount of storage used at
[19] M. Artin, Algebra. Englewood Cliffs, NJ: Prentice-Hall, 1991.
the sender. Comparing the results in Theorem 1 and Theorem [20] J. K. Sundararajan, M. Médard, M. Kim, A. Eryilmaz, D. Shah, and
6, we see that the newly proposed Algorithm 2 (b) gives R. Koetter, “Network coding in a multicast switch,” in Proceedings of
a significant improvement in the expected queue size at the IEEE INFOCOM, 2007.
[21] C. Fragouli, D. S. Lun, M. Médard, and P. Pakzad, “On feedback for
sender, compared to Algorithm 1. network coding,” in Proc. of 2007 Conference on Information Sciences
We have proposed a new coding scheme that makes use of and Systems (CISS 2007), March 2007.
[22] B. Shrader and A. Ephremides, “On the queueing delay of a multicast
feedback to dynamically adapt the code in order to ensure low erasure channel,” in IEEE Information Theory Workshop (ITW), October
decoding
  delay for any number of receivers. As argued earlier, 2006.
1 [23] ——, “A queueing model for random linear coding,” in IEEE Military
Θ 1−ρ is an asymptotic lower bound on the decoding delay
Communications Conference (MILCOM), October 2007.
and the stronger notion of delivery delay in the limit of the [24] Y. E. Sagduyu and A. Ephremides, “On broadcast stability region
load factor approaching capacity (ρ → 1). We conjecture that in random access through network coding,” in 44th Allerton Annual
our scheme achieves this lower bound. If true, this implies Conference on Communication, Control and Computing, September
2006.
the asymptotic optimality of our coding module in terms of [25] ——, “On network coding for stable multicast communication,” in IEEE
both decoding delay and delivery delay. We have verified this Military Communications Conference (MILCOM), October 2007.
conjecture through simulations. [26] J. Lacan and E. Lochin, “On-the-fly coding to enable full reliability
without retransmission,” ISAE, LAAS-CNRS, France, Tech. Rep.,
In summary, we believe that the proper combination of 2008. [Online]. Available: http://arxiv.org/pdf/0809.4576
feedback and coding in erasure networks presents a wide range [27] P. Larsson and N. Johansson, “Multi-user ARQ,” in Proceedings of IEEE
Vehicular Technology Conference (VTC) - Spring, May 2006, pp. 2052–
of benefits in terms of throughput, queue management and 2057.
delay. Our work is a step towards realizing these benefits. [28] M. Jolfaei, S. Martin, and J. Mattfeldt, “A new efficient selective
repeat protocol for point-to-multipoint communication,” in Proceedings
of IEEE International Conference on Communications (ICC), May 1993,
R EFERENCES pp. 1113–1117 vol.2.
[29] S. Yong and L. B. Sung, “XOR retransmission in multicast error
[1] M. Luby, “LT codes,” in Proceedings of IEEE Symposium on Founda- recovery,” in Proceedings of IEEE International Conference on Networks
tions of Computer Science (FOCS), November 2002, pp. 271–282. (ICON), 2000, pp. 336–340.
[2] A. Shokrollahi, “Raptor codes,” in Proceedings of IEEE International [30] P. Larsson, “Multicast multiuser ARQ,” in Proceedings of IEEE Wireless
Symposium on Information Theory (ISIT), July 2004. Communications and Networking Conference (WCNC), 2008, pp. 1985–
[3] P. Pakzad, C. Fragouli, and A. Shokrollahi, “Coding schemes for 1990.
line networks,” in Proceedings of IEEE International Symposium on [31] D. Nguyen, T. Tran, T. Nguyen, and B. Bose, “Wireless broadcast using
Information Theory (ISIT), 2005. network coding,” IEEE Transactions on Vehicular Technology, vol. 58,
[4] R. Gummadi and R. S. Sreenivas, “Relaying a fountain code across no. 2, pp. 914–925, February 2009.
multiple nodes,” in Proceedings of IEEE Information Theory Workshop, [32] M. Durvy, C. Fragouli, and P. Thiran, “Towards reliable broadcasting
2008. using ACKs,” in Proceedings of IEEE International Symposium on
[5] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network informa- Information Theory (ISIT), 2007.
tion flow,” IEEE Trans. on Information Theory, vol. 46, pp. 1204–1216, [33] L. Keller, E. Drinea, and C. Fragouli, “Online broadcasting with network
2000. coding,” in Proc. of NetCod, 2008.
[6] R. Koetter and M. Médard, “An algebraic approach to network coding,” [34] J. Barros, R. A. Costa, D. Munaretto, and J. Widmer, “Effective delay
IEEE/ACM Trans. Netw., vol. 11, no. 5, pp. 782–795, 2003. control in online network coding,” in Proceedings of IEEE INFOCOM,
2009.
[7] D. S. Lun, “Efficient operation of coded packet networks,” PhD Thesis,
Massachusetts Institute of Technology, Dept. of EECS, Jun. 2006. [35] J. J. Hunter, Mathematical Techniques of Applied Probability, Vol. 2,
Discrete Time Models: Techniques and Applications. NY: Academic
[8] D. S. Lun, M. Médard, R. Koetter, and M. Effros, “On coding for reliable
Press, 1983.
communication over packet networks,” Physical Communication, vol. 1,
[36] J. K. Sundararajan, D. Shah, M. Médard, M. Mitzenmacher, and J. Bar-
no. 1, pp. 3 – 20, 2008.
ros, “Network coding meets TCP,” in Proceedings of IEEE INFOCOM,
[9] E. Martinian, “Dynamic information and constraints in source and
2009.
channel coding,” PhD Thesis, Massachusetts Institute of Technology,
[37] H. Takagi, Queueing Analysis, Vol. 3: Discrete-Time Systems. Amster-
Dept. of EECS, Sep. 2004.
dam: Elseviser Science B. V., 1993.
[10] A. Sahai, “Why delay and block length are not the same thing for chan-
nel coding with feedback,” in Proc. of UCSD Workshop on Information
Theory and its Applications. Invited Paper, Feb. 2006.
[11] C. T. K. Ng, M. Médard, and A. Ozdaglar, “Cross-layer optimization in
A PPENDIX A
wireless networks under different packet delay metrics,” in Proceedings P ROOF OF T HEOREM 1
of IEEE INFOCOM, 2009.
[12] S. Sanghavi, “Intermediate performance of rateless codes,” in Proceed- Proof: Let T be the time an arbitrary arrival in steady
ings of IEEE Information Theory Workshop (ITW), September 2007. state spends in the physical queue before departure, excluding

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
21

the slot in which the arrival occurs (Thus, if a packet departs A PPENDIX B
immediately after it arrives, then T is 0.). A packet in D ERIVATION OF THE FIRST PASSAGE TIME
the physical queue will depart when each virtual queue has
become empty at least once since its arrival. Let Dj be the time Consider the Markov chain {Qj (t)} for the virtual queue
starting from the new arrival, until the next emptying of the size, shown in Figure 2. Assume that the Markov chain has
j th virtual queue. Then, T = maxj Dj and so, E[T ] ≥ E[Dj ]. an initial distribution equal to the steady state distribution
Hence, we focus on E[Dj ]. (Equivalently, assume that the Markov chain has reached
We condition on the event that the state seen by the new steady state.). We use the same notation as in Section IV-A.
arrival just before it joins the queue, is some state k. There Define Nm := inf{t ≥ 1 : Qj (t) = m}. We are interested
are two possibilities for the queue state at the end of the slot in deriving for k ≥ 1, an expression for Γk,0 , the expected
in which the packet arrives. If the channel is ON in that slot, first passage time from state k to 0, i.e.,
then there is a departure and the state at the end of the slot
Γk,0 = E[N0 |Qj (0) = k]
is k. If the channel is OFF, then there is no departure and the
state is (k + 1). Now, Dj is simply the first passage time from
Define for i ≥ 1: Xi := a(i) − d(i),
the state at the end of that slot to state 0, i.e., the number of
slots it takes for the system to reach state 0 for the first time, where a(i) is the indicator function for an arrival in slot i,
starting from the state at the end of the arrival slot. Let Γu,v and d(i) is the indicator
Pt function for the channel being on in
denote the expected first passage time from state u to state slot i. Let St := i=1 Xi . If Qj (t) > 0, then the channel
v. The expected first passage time from state u to state 0, for being on in slot t implies that there is a departure in that slot.
u > 0 is derived in Appendix B, and is given by the following Thus the correspondence between the channel being on and a
expression: departure holds for all 0 ≤ t ≤ N0 . This implies that:

Γu,0 = u/(µ − λ) For t ≤ N0 , Qj (t) = Qj (0) + St

Now, because of the property that Bernoulli arrivals see time Thus, N0 can be redefined as the smallest t ≥ 1 such that St
averages (BASTA) [37], an arbitrary arrival sees the same reaches −Qj (0). Thus, N0 is a valid stopping rule for the Xi ’s
distribution for the size of the virtual queues, as the steady which are themselves IID, and have a mean E[X] = (λ − µ).
state distribution given in Equation (1). We can find E[N0 ] using Wald’s equality:
Using this fact, we can compute the expectation of Dj as
follows: E[SN0 |Qj (0) = k] = E[N0 |Qj (0) = k] · E[X]

X i.e., − k = E[N0 |Qj (0) = k] · (λ − µ)
E[Dj ] = P(New arrival sees state k)E[Dj |State k]
k=0
∞ k
X ⇒ Γk,0 = E[N0 |Qj (0) = k] =
= πk [µΓk,0 + (1 − µ)Γk+1,0 ] µ−λ
k=0

X µk + (1 − µ)(k + 1) A PPENDIX C
= πk ·
µ−λ P ROOF OF L EMMA 1
k=0
1−µ ρ
= · (14) Proof: We show that any completion of B∆ into a basis of
µ (1 − ρ)2
span(Bj ) can be changed to a basis with the required property.
Now, the expected time that an arbitrary arrival in steady Let B∆ = {b1 , b2 , . . . , bm }. Suppose we complete this
state spends in the system is given by: into a basis Cj of span(Bj ) such that:

1
 Cj = B∆ ∪ {c1 , c2 , . . . , c|Bj |−m }
E[T ] = E[max Dj ] ≥ E[Dj ] = Ω
j (1 − ρ)2
Now, we claim that at the beginning of step 6, span(Bj ) ⊆
Since each virtual queue is positive recurrent (assuming λ < span(B) for all j. This can be proved by induction on the
µ), the physical queue will also become empty infinitely often. slot number, using the way the algorithm updates B and the
Then we can use Little’s law to find the expected physical Bj ’s. Intuitively, it says that any receiver knows a subset of
queue size. what the sender knows.
The expected size of the physical queue in steady state if Therefore, for each vector c ∈ Cj \B∆ , c must also be
we use algorithm 1 is given by: in span(B). Now, P since B∆ ∪ B 00 is a basis of span(B),
m
we can write c as i=1 αi bi + c0 with c0 ∈ span(B 00 ). In
this manner, each ci gives a distinct c0i . It is easily seen that
 
1
lim E[Q(t)] = λE[T ] = Ω Cj0 := B∆ ∪ {c01 , c02 , . . . , c0|Bj |−m } is also a basis of the same
t→∞ (1 − ρ)2
space that is spanned by Cj . Moreover, it satisfies the property
that Cj0 \B∆ ⊆ span(B 00 ).

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
22

A PPENDIX D A PPENDIX G
P ROOF OF L EMMA 3 P ROOF OF L EMMA 6
Proof: The proof is by induction on t. Proof: For any two subspaces X and Y of V , let X + Y
Basis step: In the beginning of slot 1, a(1) packets arrive. denotes the span of subspaces X and Y . Then,
So, H(1) = Ia(1) and hence the rows are linearly independent.
dim(X ∩ Y ) = dim(X) + dim(Y ) − dim(X + Y )
Induction hypothesis: Assume H(t − 1) has linearly inde-
pendent rows. ≥ dim(X) + dim(Y ) − dim(V ) (15)
Induction step: The queue is updated such that the linear (since X + Y is also a subspace of V )
combinations corresponding to local coefficient vectors in
B 00 are stored, and subsequently, the a(t) new arrivals are Now, we prove the lemma by induction on k.
appended. Thus, the relation between H(t − 1) and H(t) is: Basis step:
 00  k = 1 : LHS = dim(V1 ), RHS = dim(V1 )
B (t − 1)H(t − 1) 0 k = 2 : LHS = dim(V1 ∩V2 ), RHS = dim(V1 )+dim(V2 )−
H(t) =
0 Ia(t) dim(V )
Now, B 00 (t − 1) has linearly independent rows, since the The claim follows from inequality (15).
rows form a basis. The rows of H(t − 1) are also linearly Induction Hypothesis:
independent by hypothesis. Hence, the rows of B 00 (t−1)H(t− For some arbitrary k,
1) will also be linearly independent. Appending a(t) zeros and k−1
X
then adding an identity matrix block in the right bottom corner dim(∩k−1
i=1 Vi ) ≥ dim(Vi ) − (k − 2)dim(V )
does not affect the linear independence. Hence, H(t) also has i=1
linearly independent rows. Induction Step:
dim(∩ki=1 Vi ) = dim(Vk ∩ ∩k−1
i=1 Vi )
A PPENDIX E
≥ dim(Vk ) + dim(∩k−1 Vi ) − dim(V ) (using (15))
P ROOF OF L EMMA 4 "k−1 i=1 #
Proof: For any z ∈ V∆ ⊕ ∩ni=1 Ui , there is a x ∈ V∆ and
X
≥ dim(Vk ) + dim(Vi ) − (k − 2)dim(V )
y ∈ ∩ni=1 Ui such that z = x + y. Now, for each i, y ∈ Ui . i=1
Thus, z = x + y implies that z ∈ ∩ni=1 [V∆ ⊕ Ui ]. Therefore, −dim(V )
V∆ ⊕ ∩ni=1 Ui ⊆ ∩ni=1 [V∆ ⊕ Ui ]. k
Now, let w ∈ ∩ni=1 V∆ ⊕ Ui . Then for each i, there is a
X
= dim(Vi ) − (k − 1)dim(V )
xi ∈ V∆ and yi ∈ Ui such that w = xi + yi . But, w = i=1
xi + yi = xj + yj means that xi − xj = yi − yj . Now,
(xi − xj ) ∈ V∆ and (yi − yj ) ∈ (U1 + U2 + . . . + Un ). By
hypothesis, these two vector spaces have only 0 in common.
Thus, xi − xj = yi − yj = 0. All the xi ’s are equal to a
common x ∈ V∆ and all the yi ’s are equal to a common y
which belongs to all the Ui ’s. This means, w can be written
as the sum of a vector in V∆ and a vector in ∩ni=1 Ui , thereby Jay Kumar Sundararajan (S’02–M’10) is a systems engineer at Qualcomm
proving that ∩ni=1 [V∆ ⊕ Ui ] ⊆ V∆ ⊕ ∩ni=1 Ui . Research, San Diego, CA, USA. He received the B.Tech. degree from
the Department of Electrical Engineering, Indian Institute of Technology
Madras, India in 2003 and the SM and PhD degrees from the Department
A PPENDIX F of Electrical Engineering and Computer Science, Massachusetts Institute of
P ROOF OF L EMMA 5 Technology (MIT), Cambridge, MA, USA in 2005 and 2009 respectively. His
research interests are in the area of network coding, scheduling and wireless
Proof: Statement 1 follows from the fact that B is a subset communications. He received the 2008 Marconi Young Scholar Award in
of B ⊕ C. Hence, if A ∩ (B ⊕ C) is empty, so is A ∩ B. recognition of his graduate research.
For statement 2, we need to show that (A ⊕ B) ∩ C = {0}.
Consider any element x ∈ (A ⊕ B) ∩ C. Since it is in A ⊕ B,
there exist unique a ∈ A and b ∈ B such that x = a + b.
Now, since b ∈ B and x ∈ C, it follows that a = x − c is
in B ⊕ C. It is also in A. Since A is independent of B ⊕ C,
a must be 0. Hence, x = b. But this means x ∈ B. Since it Devavrat Shah (M’05–SM’16) is a Professor with the Department of
Electrical Engineering and Computer Science, Massachusetts Institute of
is also in C, it must be 0, as B and C are independent. This Technology (MIT), Cambridge, MA, USA. His current research interests
shows that the only element in (A ⊕ B) ⊕ C is 0. are at the interface of Statistical Inference and Social Data Processing. His
Statement 3 can be proved as follows. work has been recognized through prize paper awards in Machine Learning,
Operations Research and Computer Science, as well as career prizes including
x ∈ A ⊕ (B ⊕ C) 2010 Erlang prize from the INFORMS Applied Probability Society and 2008
⇔ ∃ unique a ∈ A, d ∈ B ⊕ C s.t. x = a + d ACM Sigmetrics Rising Star Award. He is a distinguished young alumnus
⇔ ∃ unique a ∈ A, b ∈ B, c ∈ C s.t. x = a + b + c of his alma mater, Indian Institute of Technology Bombay. He has served as
an Associate Editor for IEEE Transactions on Information Theory (’12–’16),
⇔ ∃ unique e ∈ A ⊕ B, c ∈ C s.t. x = e + c Queuing Systems (’12–’16) and IEEE Transactions on Network Science and
⇔ x ∈ (A ⊕ B) ⊕ C Engineering (’14–’17).

0018-9448 (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/TIT.2017.2710192, IEEE
Transactions on Information Theory
23

Muriel Médard (S’91-M’95-SM’02-F’08) is the Cecil H. Green Professor of


Electrical Engineering and Computer Science at the Department of Electrical
Engineering and Computer Science, Massachusetts Institute of Technology
(MIT), Cambridge, MA, USA. Her research interests are in the areas of
network coding and reliable communications. She has served as an Editor
of many IEEE publications, and is currently the Editor-in-Chief of the IEEE
JOURNAL ON SELECTED AREAS IN COMMUNICATIONS. She served
on the Board of Governors of the IEEE Information Theory Society, for which
she was President in 2012. She has served as a TPC Chair or general Chair for
several IEEE conferences. She was the recipient of the 2013 MIT Graduate
Student Council EECS Mentor Award, the 2009 Communication Society and
Information Theory Society Joint Paper Award, the 2009 William R. Bennett
Prize in the Field of Communications Networking, the 2002 IEEE Leon K.
Kirchmayer Prize Paper Award, and several conference paper awards. She was
also a co-recipient of the MIT 2004 Harold E. Edgerton Faculty Achievement
Award. In 2007, she was named a Gilbreth Lecturer by the U.S. National
Academy of Engineering.

Parastoo Sadeghi (S’02-M’06-SM’07) is an Associate Professor at the


Research School of Engineering, Australian National University, Canberra,
Australia. She received the BSc and MSc degrees in electrical engineering
from Sharif University of Technology, Tehran, Iran, in 1995 and 1997,
respectively, and the PhD degree in electrical engineering from the University
of New South Wales, Sydney, Australia, in 2006. From 1997 to 2002, she
was a Research Engineer and then a Senior Research Engineer at Iran
Communication Industries, Tehran, and at Deqx (formerly known as Clarity
Eq), Sydney. She has visited various research institutes, including the Institute
for Communications Engineering, Technical University of Munich, in 2008
and MIT in 2009 and 2013.
Dr. Sadeghi has co-authored around 150 refereed journal or conference
papers and a book on Hilbert Space Methods in Signal Processing (Cambridge
Univ. Press, 2013). She is currently serving as an Associate Editor of the IEEE
Transactions on Information Theory. Dr. Sadeghi has been a Chief Investigator
in a number of Australian Research Council Discovery and Linkage Projects.
Her research interests are mainly in the areas of network coding, information
theory, wireless communications theory, and signal processing.

0018-9448 (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.

You might also like