Network coding was introduced by Ahlswede et al. in a pioneering work in 2000. This paradigm encompasses coding and retransmission of messages at the intermediate nodes of the network. In contrast with traditional store-and-forward networking, network coding increases the throughput and the robustness of the transmission. Linear network coding is a practical implementation of this new paradigm covered by several research works that include rate characterization, error-protection coding, and construction of codes. Especially determining the coding characteristics has its importance in providing the premise for an efficient transmission. In this paper, we review the recent breakthroughs in linear network coding for acyclic networks with a survey of code constructions literature. Deterministic construction algorithms and randomized procedures are presented for traditional network coding and for network-control network coding.

The theoretical foundations of network coding were first provided by Ahlswede et al. [

Bidirectional communication through satellite. With the traditional method (a) the satellite (s) can receive and retransmit one message at a time. With network coding (b)

Ahlswede et al. applied the idea of coding at intermediate nodes to general multinode networks, referring to it as the

The single-source two-sinks multicast butterfly network.

Network coding has generated a number of fertile theoretical and applicative studies, and it is foreseen to be successfully implemented in future applications. In wireless and cognitive radio networks, the physical superposition of the signals can be seen as a benefit instead of an interference and exploited for coding at physical level [

The perspective of application of network coding in several fields follows the theoretical studies that laid the foundations of this new transmission paradigm. The basics of network coding are reviewed in this paper, ranging from transmission models to the vast topic of code construction based on information vectors. Determining the coding operations for specific networks allows transmission with desired properties, especially in the case of coding for error control. The approaches based on vector transmission have been extensively studied, and a large variety of code construction methods have been proposed.

Linear codes on acyclic networks is the main topic of this paper due to the large landscape of recent and ongoing research activities. Simple transmission models can be formulated thanks to the mathematical tools available to treat linear algebraic problems. These models are used to help dealing with the transmission from the point of view of a coding operator. Coherent and noncoherent transmission models are distinguished whether knowledge of the network transfer characteristic is available at the transmitter and receiver sides or not. Packet-based and symbol-based transmission is feasible in case of coherent network coding, whereas noncoherent models need a packet-based transmission to cope with an oblivious model of the network.

The construction of the network code is a problem of prior setup of the network before transmission. Two main distinctions of construction approaches are made. Deterministic algorithms are considered when full knowledge of the network is available and infrequent topology changes are expected. Randomized approaches are considered to construct the network code in a distributed way.

Coding against noise, packet losses and attacks from malicious entities extend classic theory to channel operators by considering a physical spatial dimension for coding. Models for transmission with error control coding and constructions of the network code are discussed for coherent and noncoherent models of transmission.

The paper is organized as follows. In Section

The formulation of network coding has been studied as the problem of determining the existence of the coding functions (solvability of the code). As presented in [

Consider a communication network as a directed graph

Linear network coding was introduced by Li et al. [

Linear coding of messages at intermediate nodes.

Given a nonsource node

The coding coefficients

Typically in delay-free networks, messages of

Let's consider a network without cycles and with instantaneous transmission. The basic theory can be then extended to networks with delayed transmission and cycles. The algebraic approach to the transfer characteristic was proposed by Koetter and Médard [

Linear coding across the network induces a linear transformation on the source vector message. An adjacency matrix

The network transform characteristic can be then modeled by a system matrix

where

The network operates a transformation, that projects the source codebook into the receiver codebook by the system matrix

Successful transmission is achieved if the encoding vectors span the coding space. In order to transmit a correct code and span, the coding space at the sinks, the paths must retain linear independence. In other words, each path has to be a base for the coding space.

The coefficients of the source-to-network routing matrix

In multisource multicast scenarios, the system matrix takes the form of a composite matrix in which each submatrix is a system matrix relative to the unicast transmission from each source to each sink. The rank of this matrix has to be equal to the respective source-to-sink flow. Determining the coefficients is regarded as the problem of linear code construction. Randomized algorithms as well as deterministic and iterative construction algorithms have been proposed and are discussed in Section

If the code projected at the receivers has length bigger than the rate and it is a minimum distance separable (MDS) code, the codewords at the receivers have minimum distance

The existence of an LCM on a given network depends on the network topology, the number of edge-disjoint paths from each source to each receiver, and the base field size

The first deterministic algorithm for code search was presented by Li et al. [

Most of the results about linear network coding are referred to a single-source scenario, due to the sufficiency of linear codes to reach the network capacity in single-source multicast. This result subsumes the sufficiency of linear codes for multiple flows generated at the same source node [

A. R. Lehman and E. Lehman provided a taxonomy of network information flows distinguishing between problems that do not benefit from network coding and problems where network coding increases the throughput [

A similar result was demonstrated in the context of graph entropy. The solvability of specific cases was demonstrated by Riis by solving the network coding problem with a guessing game approach [

Network coding for correlated information sources can be seen as a form of distributed source coding [

Few deterministic algorithms cope with the multiple-source multicast code construction. Still, efficient construction can be achieved with algorithms for generic codes [

Although most of the network coding literature is dedicated to acyclic networks, practical applications need to cope with possible cycles in the network. The instantaneous model can be reformulated from single-symbol network coding to symbols pipelines as in convolutional coding. The algebra behind the model is based on polynomial rings [

where the local kernel

Convolutional codes and some construction algorithms were also studied by Erez and Feder [

A general theoretic model was provided by Li and Sun [

LCM in acyclic networks being well known, in the next Section, we discuss construction algorithms for the acyclic case only.

Code construction techniques for LCM in acyclic networks can be classified by means of different aspects (see Table

Construction possibility depending on network model and the implementation.

Coherent | Noncoherent | |
---|---|---|

Symbol based | Centralized (deterministic or semirandomized) | — |

Packet based | Centralized (deterministic or semirandomized) | Distributed (randomized) |

In case of noncoherent modeling, the network topology and the channel transfer characteristic are not known neither by the receiver or the transmitter. Randomized approaches are implemented in a distributed way, where each node randomly combines the incoming messages before retransmission. Randomized approaches need packet-based communication, since the receiver builds a decoding matrix based on the information delivered implicitly in the packets.

Linear codes and matroids have been an active topic of research. Based on a theory of linear solvability equivalence, any linearly solvable network can naturally induce a representable network matroid. For code construction through matroids, the use of linear algebra and projective planes has been proposed [

We present now some algorithms for network code construction, divided by deterministic and randomized approaches.

Two main approaches to coherent construction have been discussed in literature [

The approach of Li et al. achieves generic network codes, for example, yields to linear independence of the coding vectors among the largest possible set of edges. The algorithm of Li et al. is greedy and not computationally efficient [

Jaggi et al.'s algorithm [

Comparison of deterministic algorithms for network code construction.

Field size ( | Time complexity | |
---|---|---|

Yeung et al. [ | ||

Jaggi et al. [ | ||

Jaggi et al. [ | ||

Jaggi et al. [ | ||

Langberg et al. [ | ||

Harvey et al. [ |

In the same work, a fast routine is also presented, in which, breaking the flow path criterion, the coefficients of all edges are chosen randomly [

Lower bounds for success probability of randomized coding and the required field size. Upper table shows the success probability, that is, the probability of having successful transmission with coding redundancy (

Without degradation ( | With degradation ( | ||
---|---|---|---|

[ | |||

Field size | |||

Without redundancy ( | With redundancy ( | ||

MDS, | [ | ||

Field size |

Jaggi et al. also present a variant of the preservative algorithm, which considers path failures [

Langberg et al. presented an algorithm that reduces the network to an equivalent minimal set of encoding nodes and applies the preservative design on the equivalent graph [

An algorithm for code construction based on matroids theory is presented by Harvey et al. A problem of independent matching of matroids that applied to transfer matrices of the network is proposed, followed by a maximum-rank completion that gives then rank equal to

When the network topology is unknown or variable, randomized approaches turn out to be the best solution. Packet-based transmission is necessary for the receiver to deduce the network code. The choice of the coding coefficients is performed autonomously by each node for the respective outgoing edges. The receivers are eventually able to decode the message by deducing the characteristic from the incoming packets. Decoding is done by means of two possible techniques. With subspace coding at the source, the receivers can examine the space spanned by the symbols across the packets and deduce the source space. The source may instead attach a series of 1s in turn to each packet header and 0s to the others. Namely, the input message can be expressed as

Necessary condition for the construction of the decoding matrix is that the network code spans the coding space. Ho et al. stated that a sufficiently large base field is enough to ensure the existence of the code and the possibility of successfully decoding the transmission [

A correct network code in presence of link failures or errors only exists if the source codebook has a degree of redundancy

The transmission in the network can be jeopardized by the injection of errors or erasure of symbols. Errors are caused by channel noise or by the insertion of extraneous messages by malicious nodes. Loss of packets can happen because of traffic jams in the network.

Traditional error correcting codes add redundancy to the transmission in the time domain. The network itself offers another mechanism for error correction by adding redundancy in the spatial domain. Network error correction (NEC) was proposed by Cai and Yeung, to drive network coding mechanisms to recover erroneous symbols as well as lost packets with network error-correcting codes [

Ho et al. presented a theoretical framework of network failure management [

The algebraic model of transmission can be extended by considering errors as random alterations of the symbols on the edges and erasures as symbol cancellations. This alteration is considered as an additive

The error pattern of

We consider a network with a max flow equal to

As for normal network coding, for NEC transmission, a coherent or a noncoherent model of the network may be considered, generating different approaches to the assignment of the network code. With the coherent model, a deterministic construction of MDS codes is possible under some prerequisites (e.g., field size), as explained in Section

The coding bounds for network codes have been defined in [

Following these definitions, we can regard the NEC with the same characteristics of classic linear channel codes in terms of the correction and detection of error and the correction of erasures. A codebook redundancy at the receiver can be defined as

Silva et al. give a reinterpretation of coding metrics [

Yang et al. introduced two classes of coding weights of the vectors involved in symbol-based transmission referred to the received vector

Network Hamming weight of the received vector

Like for generic network codes, a coherent or a noncoherent model of the network can be assumed. The coherent model assumes that the receiver decodes the transmission with a priori knowledge of the topology and the network code. Coding coefficients in case of centralized and deterministic construction are feasible with both symbol-based and packet-based approaches. Randomized routines need packet-based transmission to record the encoding kernels in the packet header.

The noncoherent model assumes that the network code is not known at the moment of the decoding. The effort of exploiting the network characteristic moves from the network to the transmitter and the receiver, respectively. The idea of linear channel operator (LOC) has been studied by various authors [

In the following subsection, we present some of the algorithms for NEC code construction in single-source multicast networks.

Comparison of centralized algorithms for single-source multicast network error correction code construction.

Field size ( | Time complexity | |
---|---|---|

Yang et al. [ | ||

Yang et al. [ | ||

Matsumoto [ | ||

Bahramgiri and Lahouti [ | ||

Bahramgiri and Lahouti [ | ||

Bahramgiri and Lahouti [ | ||

Guang et al. [ | ||

Guang et al. [ |

Deterministic algorithms for code construction assume that the topology of the network is known, and the possible events of error injection can be systematically analyzed. Because of the coherent model of transmission, it is possible to have MDS symbol-based codes. Nevertheless, packet-based transmission is always possible and might encourage superior error correction capacity, by exploiting at the receiver the fact that all packets share the same network code [

Error resiliency of generic LCM were presented before the formalization of NEC. A first deterministic algorithm was presented by Jaggi et al. together with their preservative approach to LCM [

Yang et al. proposed two completely deterministic and centralized algorithms achieving the refined Singleton bound, including unequal flows to the sinks [

Matsumoto proposed another centralized and deterministic algorithm, improving the algorithm of Jaggi et al. for error protection [

Bahramgiri and Lahouti also proposed some variants of construction algorithms in line with Jaggi et al.'s design [

Another greedy algorithm was proposed by Guang et al. embracing the principles of the preservative design [

Randomized construction is performed when there is no knowledge of the network topology. Network coding kernels are chosen randomly, then the transfer characteristic is exploited at the receiver side. The transmission is supposed to be packet based because the receiver has to deduce the network transfer characteristic from a set of transmitted data. Algebraically, the transmission has the formulation [

where

These probabilities were studied by Balli et al. who refined the formulation of success probability for randomized codes with codebook redundancy at the source (

Guang et al. calculated the probability of the randomly generated code to be minimum distance separable (MDS) codes, besides begin space spanning under

There are mainly two techniques for transmitting with randomized network coding. If the global encoding kernels are implicitly communicated to the receiver (for instance in the header of the packets, as in Chou's practical framework [

Zhang proposed decoding criteria in packet-based network coding, with the algebraic formulation as in (

The decoding equation deduced from the packet headers is to be solved for error patterns of

Zhang et al. also proposed a method based on hybrid FEC/NEC to increase error correction capability of the network code [

The reliability of the decoding matrix built from the packet header can be a problem. Errors in the packet header (which affects the reception of global kernel errors and attacks from malicious nodes) are treated with similar techniques in literature. The difference is that random alterations in the packet header can be corrected, whereas adversaries may have the capability of altering the header to make it pointless at the receiver [

Jaggi et al. proposed in various works a simple distributed algorithms for robust encoding at the source against Byzantine adversaries [

The subspace coding approach was first proposed by Köetter and Kschischang [

The transformation operated by the network as LOC can be expressed similarly to (

where

and opens up the possibility of building codes for operator channels (subspace codes). A subspace code

Silva et al. studied other metrics for subspace coding, such as the rank metric. They propose a generalized decoding problem for a family of maximum rank distance codes exploiting partial knowledge of network degradation in terms of erasures (knowledge of error location but not the value) and deviations (knowledge of error value but not the location) [

On the other hand, Bossert and Gabidulin derived a generalization of Koetter and Kschischang construction. A class of codes with the subspace metric was defined as the intersection of rank-metric codes with lifting construction [

Silva and Kschischang also proposed a metric which better models the effect of adversarial error injections, which is the

The potential advantages of using subspace coding over coherent network coding have been pointed out by Zhang [

In this paper, we have reviewed the recent breakthrough achievements in network coding theory. Most of the well-established knowledge of network coding is due to the work in the theory and construction algorithms for linear coding, network error correction theory, and construction algorithms. Further indepth study of network coding can be found in the books by Yeung [

This research was partially supported by the European Commission under contract FP7-247688 3DLife and FP7-248474 SARACEN.