The rest of this thesis is organized as follows. In Chapter 2, we review the literature and describe related work. Chapter 3 provides the background necessary to understand basic RLNC principles and discuss its adaptation to applications over TDD channels. Then, a new case study of RLNC-based transmission over TDD channels with memory is studied. Chapter 4 studies RLNC for delay sensitive applications in TDD satellite systems with large RTTs. In Chapter 5 we focus on the problem of broadcasting layered video streams over heterogeneous single-hop wireless networks using feedback-free RLNC. This is extended in Chapter 6 to the case of transmitting multiple independent layered video streams using RLNC. Finally, we conclude the thesis in Chapter 7 with a summary of our contributions along with some possible extensions and directions for future research.
Chapter 2
Background and Related Work
2.1
Network Coding
Network coding (NC) is a technique emerged at the start of this millennium in the seminal paper by Ahlswede et. al. [4]. Since then, NC has gained much attention and popularity in different areas of wired and wireless communications and numerous works have investigated and developed both the theoretical and practical aspects of this technique. Network coding, in a simple and concise expression, is mixing or encoding of messages inside a network such that the messages can be unmixed or decoded at their final destinations [41]. To illustrate the basic concepts of NC and expected benefits, let us consider the following well-known example in the NC literature.
Example 2.1. Consider the butterfly network, depicted in Fig. 2.1. The source wants to trans- mit a two-bit message to both receivers R1 and R2. Assume we have slotted time and each transmission can carry one bit. In a traditional routing scenario, after V has received botha andbbits, it sends them one after another in two transmissions. In a scenario using NC, as discussed in [42], V can send a combination ofaandb(i.e., encode them asa⊕b, where⊕ denotes the XOR operation) in one transmission; then both bits can be obtained (i.e., decoded) by both R1 and R2 after total of 9 transmissions, which is at least one transmission less com- pared to the traditional routing scenario. Hence, it can be concluded that using NC leads to lower transmission time and higher throughput [42].
In the example above, a simple case ofmulticasting, which is the transmission of messages from a source node to a subset of nodes in a network, is considered. It is now well known that to transmit messages over a generic network, systems using NC can exploit the available re- sources (e.g., bandwidth and energy) more efficiently compared to the traditional systems using only simple routing and scheduling methods. In fact, NC is capable of improving bandwidth
10 Background and Related Work Source T U V W R1 R2 a b a b a ? b
Figure 2.1: The butterfly network. A message is represented by two bitsaandband the source wants to multicast the message to receivers R1 and R2. In a scenario using NC, V transmits a
combination of bits, i.e.,a⊕b.
utilization and loss resilience, as well as reducing transmission time and energy.
2.1.1 Fundamental Studies
Network coding was initially proposed in the seminal paper by Ahlswede et. al. [4]. In this work, a communication network was considered in which a number of information sources were to be multicast to certain sets of destinations and the problem of characterizing the ad- missible coding rate region was studied. It was shown that by allowing nodes in the network to process their incoming information streams, instead of just forwarding them, the bandwidth can in general be saved. Moreover, it was concluded that this encoding at the nodes, which is referred to as network coding, is necessary and sufficient to achieve the multicast capacity of a general network.
This study was later extended with the introduction of linear NC by Li et. al. [43] and algebraic NC by Koetter and Médard [44]. Linear NC means that messages can be considered as vectors of elements from a finite field of sizeq, which is denoted byFq, and the encoding functions at the nodes can be simple linear combinations over this finite field. In fact, XOR- ing the bits in Example 2.1 is a linear NC overF2. Both studies in [43, 44] considered the
achievable information capacity for networks with linear codes; [43] considered only multi- cast communication networks and showed that for an error-free network, it is sufficient for the encoding functions at the nodes to be linear in order to achieve the information capacity
§2.1 Network Coding 11
of multicast connection; [44] proposed an algebraic framework for general NC that extended previous results to arbitrary networks and considered robust networking as well.
Later, Chou et. al. [13] took into account various practical considerations and proposed a
distributedscheme for practical NC that, in contrary to previous studies, obviates the need for centralized knowledge of network topology and also encoding and decoding functions. More- over, they introducedgenerationsbased NC, where each generation contains a fixed number of packets and only packets inside one generation are encoded together. The proposed scheme was shown to be robust to random packet loss and delay as well as robust to changes in the network topology or capacity.
Fragouli et. al. [45] were among the first to consider the use offeedbackfor NC. They illus- trated, through a number of case studies, that use of feedback can be beneficial for parameter adaptation to satisfy quality of service (QoS) requirements as well as for reliability purposes and also reduction of resources, such as memory elements and bandwidth consumption. They discussed that, instead of acknowledging each received packet from a generation, receivers can feed back the information about the number of independent packets required to decode the whole generation. This is referred to as acknowledging degrees of freedom (DOF) and will be later discussed in Chapter 3.
Based on whether feedback (also referred to as acknowledgments or reception reports) are used for NC code construction or not, we can broadly categorize NC methods into two groups: i) no-feedback NC and ii) feedback-based NC. In the latter category, more intelligent coding choices can be made by allowing nodes to share their knowledge with other nodes via using feedback. The benefits and drawbacks of using feedback for code construction is later discussed in Section 2.2. As an important example from the first category, we can refer to
random linear network coding (RLNC), which will be the main focus in this thesis and will be described further in the next subsection and also in the next chapter. As important examples of feedback-based NC, we can refer to opportunistic NC [46], online NC [47–50] and instantly decodable NC (IDNC) [51–55].
2.1.2 Random Linear Network Coding
Ho et. al. [3] extended the work in [13] and proposed RLNC as a distributed coding ap- proach for transmission and compression of information in general multisource multicast loss- less packet networks. It was considered in this study that all network nodes except for receiver nodes perform random linear mappings from inputs onto outputs over some finite field Fq.
12 Background and Related Work
These mappings were selected independently at each node and the receivers only needed to know the overall linear combination of source packets in each of their incoming transmissions. It was shown that this approach achieves the multicast capacity with probability exponentially approaching 1 with the code length1. Furthermore, a bound on the required field size was obtained.
Lun [56] extended the above RLNC study and investigated the use of distributed RLNC in lossy packet networks. It was shown that by allowing the side-information in packet headers to grow arbitrarily large, the RLNC framework can achieve packet-level capacity for both single unicast and single multicast connections and for models of both wireline and wireless networks. The studies in [3, 13, 56] in fact laid the foundations for RLNC, which is now a major branch of NC research and the basis for many practical applications of NC.
As an important practical example of RLNC, we can refer to the study in [57], where the authors proposed MORE (which stands for MAC-independent Opportunistic Routing and Encoding) to study both unicast and multicast over wireless mesh networks. Here, the inter- mediate nodes, instead of just forwarding the packets, randomly mix packets together, before passing them to other nodes. This randomness ensures that routers that hear the same trans- mission do not forward the same packets. The proposed MORE was implemented between the IP and MAC layers and it was shown that throughput gain of between22−45%for unicast scenarios and35−200%for multicast scenarios over conventional methods can be achieved.
RLNC has since been used for various application and its gain and performance have been investigated under various settings [9, 11, 12, 14, 16–20, 27–30, 37–39, 58–67], which will be later reviewed in this chapter.
2.1.3 Applications of Network Coding
Followed by the above mentioned fundamental studies on NC, research on NC was then ex- tended into different areas [63, 68–74]. In these studies NC is investigated for large scale content distribution [68], ad hoc multicast [69], two-way wireless relaying [70], cooperative diversity [71], live peer-to-peer streaming [63], wireless broadcast [72,73] and distributed stor- age systems [74]. Comprehensive reviews on NC fundamentals, theory and applications are available in [41, 42, 75–80] that can be used for further reading.
As indicated in Chapter 1, we utilize RLNC for wireless broadcast in this thesis and most
1
Code length is the logarithm of the field size,C=log2q, and is also referred as the symbol size. This is later