Special issue on network coding

Future networks are expected to depart from traditional routing schemes in order to embrace network coding (NC)-based schemes. These have created a lot of interest both in academia and industry in recent years. Under the NC paradigm, symbols are transported through the network by combining several information streams originating from the same or different sources. This special issue contains thirteen papers, some dealing with design aspects of NC and related concepts (e.g., fountain codes) and some showcasing the application of NC to new services and technologies, such as data multi-view streaming of video or underwater sensor networks. One can find papers that show how NC turns data transmission more robust to packet losses, faster to decode, and more resilient to network changes, such as dynamic topologies and different user options, and how NC can improve the overall throughput. This issue also includes papers showing that NC principles can be used at different layers of the networks (including the physical layer) and how the same fundamental principles can lead to new distributed storage systems. Some of the papers in this issue have a theoretical nature, including code design, while others describe hardware testbeds and prototypes.


Fundamentals of NC
A central concept for transmitting data over a network involves the partitioning of the data stream into chunks of data that are transmitted as the payload of packets flowing over the network. In traditional networks, these packets contain the original data, or a coded version of it designed to either detect or even correct the data in the event of errors during the transmission. Instead, the idea of network coding (NC) is that the packets transmitted over the network contain combinations of the original data packets. This allows for much more flexibility at both the intermediate and destination nodes for handling and decoding the original data. It is known that by using these combinations in a random fashion, the max-flow capacity of a network can be achieved under certain conditions; however, this only holds for random linear network coding (RLNC) when both the field size of the symbols in the packets and the packet length tend to infinity. In paper [1], one can find the example of a very small twopath and two-hop network where RLNC is in fact not the best option when working over GF (2). The paper *Correspondence: francisco.monteiro@lx.it.pt 1 Instituto de Telecomunicações, and ISCTE -Instituto Universitário de Lisboa, Lisbon, Portugal Full list of author information is available at the end of the article shows that decoding at the destination becomes faster and more reliable if the transmission of network-coded packets is preceded by a phase during which uncoded packets are transmitted via the two possible relays. The amount of uncoded packets that should be sent to each of the two relays depends on several link probabilities, and their optimal values are analytically defined.

Instantly decodable network coding
Whereas RLNC over large Galois fields entails the generation and transmission of random linear combinations of source packets, instantly decodable network coding (IDNC) takes into account regularly transmitted feedback from receivers in the construction of linear combinations, which are designed to expedite the recovery of all source packets by all of the receivers. Packet combining in IDNC schemes is performed using operations over GF (2), thus allowing XOR-based encoding and decoding. Implementations of IDNC are particularly suitable for systems containing battery-powered nodes of limited computational capabilities, including sensor networks and device-to-device (D2D) networks. Both [2] and [3] are concerned with the optimization of networks that employ IDNC schemes.
The introduction of IDNC into wireless networks that support D2D communication is studied in [2]. A twophase protocol for the transmission of information from a base station to multiple devices is considered. In the initial phase, source packets are broadcast by the base station over erasure channels to the devices, which in turn broadcast acknowledgements upon successful reception of each packet. In the recovery phase, devices transmit to each other linear combinations of previously received source packets. Defining the decoding delay at a device as the number of non-instantly decodable packets received by that device, the authors propose an algorithm that selects the optimal device to transmit the optimal packet combination at each time step of the recovery phase in order to reduce the maximum decoding delay. A suboptimal heuristic algorithm, which yields a higher maximum decoding delay than the optimal algorithm in exchange for reduced computational complexity, is also proposed for energy-constrained D2D communication.
On the other hand, [3] looks at a broadcast erasure channel and focuses on the optimization of an unequal error protection IDNC scheme designed for the delivery of layered video to multiple receivers. The paper draws guidelines for the design of prioritized IDNC algorithms, which increase the minimum number of video layers that can be decoded by all receiving devices before a hard deadline. A threshold is introduced as a design requirement, which needs to be met by a derived upper bound on the probability that all receivers will be successful in recovering a subset of the first most important video layers within the deadline. A heuristic algorithm is then developed for the combining of source packets, so that the number of receivers that recover the first most important video layers with high probability is maximized.
In the so-called strict IDNC (S-IDNC), the transmission of non-instantly decodable packets to any receiver is prohibited, i.e, each coded packet cannot combine more than one of the messages that that particular receiver wants to retrieve. In other words, in S-IDNC, after obtaining a new packet, and with the knowledge of the packets that the receiver already holds, it will always be able to decode a new message that came combined within the newly arrived coded packet. S-IDNC is researched in [4], where it is proved that finding the coding process that would minimize the average decoding delay is computationally NP-hard, leading the authors to propose new heuristic S-IDNC coding algorithms in order to optimize some metrics of interest for the overall coding/decoding process.

Soft forwarding in the TWRC, fountain codes, and D2D communications
The two-way relay channel (TWRC) model became increasingly popular with the advent of relays that allow some signal processing or coding to take place. The TWRC reflects the common situation when two wireless terminals can only communicate via a third-party relay. The authors of [5] proposed a novel "soft information" forwarding from the relay to the terminals, based on spatially coupled low-density parity-check codes (SC-LDPC). Fountain codes are rateless codes that take on the idea of linearly combining data packets in order to generate coded data packets, which is obviously akin to the basis of RLNC. In [6], one can find a new type of overlapped chunked codes that outperform the state-of-the-art for this type of fountain codes, where the coded data chunks are non-disjoint subsets of the input packets.
The upcoming 5G wireless standards are being designed to support D2D links, and these connections are particularly appealing to the use of NC. Paper [7] looks at D2D communications and models the connections by means of an interference coalitional graph using a game theory framework and then uses it as a tool to predict the achievable sum rates when NC is used among different numbers of D2D pairs.

New technologies: underwater sensor networks and multi-view video streaming
In paper [8], one can find the application of NC to routing data between two nodes in the context of underwater sensor networks. The objective is to decrease the number of packets that are transmitted with the typical floodingbased protocols that are commonly used in this type of underwater networks. The paper shows that, when the position of the sensors in unknown, and for moderate values of the packet error rate between links, the NCbased protocol attains a higher packet delivery rate than a traditional protocol with a trade-off paid in terms of endto-end delay. However, when node location is known, an NC-based protocol is not the best option because knowing in advance the location of the nodes allows to greatly restrict the number of nodes involved in the relaying and consequently reduces the number of packets needed to be transmitted in the network. The authors of [9] propose a technique to exploit NC in services that allow multi-view video streaming in wireless networks, exploiting the broadcasting nature of such networks. The technique takes into account each user's viewing preferences for a certain scene in order to prioritize the packets that best contribute to a minimum rate distortion of those views, while using IDNC.

Hardware testbeds
Two papers in this special issue included hardware testbeds or proof-of-concept prototypes. One of them is [10], which proposes the use of Raptor codes as a type of rateless (fountain) codes for multicast in Wi-Fi 802.11 networks, while still using a protocol based on a data carousel. Their paper shows an experimental validation of the idea with results via a measurement campaign made in an outdoor scenario using an access point multicasting to Android devices.
The TWRC, mentioned above, lends itself to the socalled physical-layer NC (PLNC), where the relay can listen to the electromagnetic superposition of two signals coming from the terminals exchanging messages. The most well-known PLNC protocols are amplify-andforward, where the relay just amplifies the received signal and forwards it; decode-and-forward, where the relay decodes the individual messages one-by-one by treating the other messages as noise and then forwards them; and the most recent one, compute-and-forward, where the relay computes (an approximation of ) a deterministic function of the messages (without decoding them first) and forwards the function. The authors of [11] went beyond the TWRC and developed a hardware testbed for a wireless network-coded cooperation system (with three source nodes, one relay, and two destination nodes) using orthogonal frequency division multiple access (OFDMA), in which different messages are assigned to the different subcarriers, allowing both the broadcast and the relaying phases to overlap in time, which is typical in PLNC relay networks. Noticeably, this approach differs from "pure" PLNC (which is a non-orthogonal multiple access scheme), given that OFDMA still guarantees orthogonality. The presented testbed makes use of software-defined radio (SDR) modules to play the different roles of the sources, the destinations, and the relay.

Distributed storage systems
One of the most important applications of NC is in distributed data storage, where some meaningful volume of data (e.g., some media content) is partitioned into data fragments, which are then located on different nodes (e.g., hard disks), rather than in just one repository. This redundancy makes the data retrieval more robust to failures originating in the links or the devices. Paper [12] proposes a new channel model and three physical layer transmission schemes for the multiple-access relay channel with simple terminals that are required to have only one or two antennas. All the proposed schemes lead to a linear problem, which can be efficiently solved by a sphere decoder, while maintaining a good diversity-multiplexing trade-off. Paper [13] has several theoretical contributions towards the design of families of codes permitting cooperative local repair in the case of different erasure patterns.