Linear network coding


Network coding is a field of research founded in a series of papers from the late 1990s to the early 2000s. However, the concept of network coding, in particular linear network coding, appeared much earlier. In a 1978 paper, a scheme for improving the throughput of a two-way communication through a satellite was proposed. In this scheme, two users trying to communicate with each other transmit their data streams to a satellite, which combines the two streams by summing them modulo 2 and then broadcasts the combined stream. Each of the two users, upon receiving the broadcast stream, can decode the other stream by using the information of their own stream.
The 2000 paper gave the butterfly network example that illustrates how linear network coding can outperform routing. This example is equivalent to the scheme for satellite communication described above. The same paper gave an optimal coding scheme for a network with one source node and three destination nodes. This is the first example illustrating the optimality of convolutional network coding over a cyclic network.
Linear network coding may be used to improve a network's throughput, efficiency and scalability, as well as resilience to attacks and eavesdropping. Instead of simply relaying the packets of information they receive, the nodes of a network take several packets and combine them together for transmission. This may be used to attain the maximum possible information flow in a network.
It has been mathematically proven that in theory linear coding is enough to achieve the upper bound in multicast problems with one source. However linear coding is not sufficient in general, even for more general versions of linearity such as convolutional coding and filter-bank coding. Finding optimal coding solutions for general network problems with arbitrary demands remains an open problem.

Encoding and decoding

In a linear network coding problem, a group of nodes are involved in moving the data from source nodes to sink nodes. Each node generates new packets which are linear combinations of earlier received packets, multiplying them by coefficients chosen from a finite field, typically of size.
Each node, with indegree,, generates a message from the linear combination of received messages by the relation:
where the values are the coefficients selected from. Note that, since operations are computed in a finite field, the generated message is of the same length as the original messages. Each node forwards the computed value along with the coefficients,, used in the level,.
Sink nodes receive these network coded messages, and collect them in a matrix. The original messages can be recovered by performing Gaussian elimination on the matrix. In reduced row echelon form, decoded packets correspond to the rows of the form.

A brief history

A network is represented by a directed graph. is the set of nodes or vertices, is the set of directed links, and gives the capacity of each link of. Let be the maximum possible throughput from node to node. By the max-flow min-cut theorem, is upper bounded by the minimum capacity of all cuts, which is the sum of the capacities of the edges on a cut, between these two nodes.
Karl Menger proved that there is always a set of edge-disjoint paths achieving the upper bound in a unicast scenario, known as the max-flow min-cut theorem. Later, the Ford–Fulkerson algorithm was proposed to find such paths in polynomial time. Then, Edmonds proved in the paper "Edge-Disjoint Branchings" the upper bound in the broadcast scenario is also achievable, and proposed a polynomial time algorithm.
However, the situation in the multicast scenario is more complicated, and in fact, such an upper bound can't be reached using traditional routing ideas. Ahlswede, et al. proved that it can be achieved if additional computing tasks can be done in the intermediate nodes.

The butterfly network example

The butterfly network is often used to illustrate how linear network coding can outperform routing. Two source nodes have information A and B that must be transmitted to the two destination nodes, which each want to know both A and B. Each edge can carry only a single value.
If only routing were allowed, then the central link would be only able to carry A or B, but not both. Suppose we send A through the center; then the left destination would receive A twice and not know B at all. Sending B poses a similar problem for the right destination. We say that routing is insufficient because no routing scheme can transmit both A and B simultaneously to both destinations.
Using a simple code, as shown, A and B can be transmitted to both destinations simultaneously by sending the sum of the symbols through the center – in other words, we encode A and B using the formula "A+B". The left destination receives A and A + B, and can calculate B by subtracting the two values. Similarly, the right destination will receive B and A + B, and will also be able to determine both A and B.

Random Linear Network Coding

Random linear network coding is a simple yet powerful encoding scheme, which in broadcast transmission schemes allows close to optimal throughput using a decentralized algorithm. Nodes transmit random linear combinations of the packets they receive, with coefficients chosen from a Galois field. If the field size is sufficiently large, the probability that the receiver will obtain linearly independent combinations approaches 1. It should however be noted that, although random linear network coding has excellent throughput performance, if a receiver obtains an insufficient number of packets, it is extremely unlikely that they can recover any of the original packets. This can be addressed by sending additional random linear combinations until the receiver obtains the appropriate number of packets.

Open issues

Linear network coding is still a relatively new subject. Based on previous studies, there are three important open issues in RLNC:
  1. High decoding computational complexity due to using the Gauss-Jordan elimination method
  2. High transmission overhead due to attaching large coefficients vectors to encoded blocks
  3. Linear dependency among coefficients vectors which can reduce the number of innovative encoded blocks

    Wireless Network Coding

The broadcast nature of wireless determines the nature of interference. Simultaneous transmissions in a wireless network typically result in all of the packets being lost. A wireless network therefore requires a scheduler to minimize such interference. Hence any gains from network coding are strongly impacted by the underlying scheduler and will deviate from the gains seen in wired networks. Further, wireless links are typically half-duplex due to hardware constraints; i.e., a node can not simultaneously transmit and receive due to the lack of sufficient isolation between the two paths.
Although, originally network coding was proposed to be used at Network layer, in wireless networks, network coding has been widely used in either MAC layer or PHY layer. It has been shown that network coding when used in wireless mesh networks need attentive design and thoughts to exploit the advantages of packet mixing, else advantages cannot be realized. There are also a variety of factors influencing throughput performance, such as media access layer protocol, congestion control algorithms, etc. It is not evident how network coding can co-exist and not jeopardize what existing congestion and flow control algorithms are doing for our Internet.

Applications

Since linear network coding is a relatively new subject, its adoption in industries
is still pending. Unlike other coding, linear network coding is not entirely applicable
in a system due to its narrow specific usage scenario. Theorists are trying to connect
to real world applications. In fact, it was found that BitTorrent approach is far superior than network coding.
It is envisaged that network coding is useful in the following areas:
There are new methods emerging to use Network Coding in multiaccess systems to develop Software Defined Wire Area Networks that can offer lower delay, jitter and high robustness. The proposal mentions that the method is agnostic to underlying technologies like LTE, Ethernet, 5G.

Maturity & Issues

Since this area is relatively new and the mathematical treatment of this subject is
currently limited to a handful of people, network coding has yet found its way to
commercialization in products and services. It is unclear at this stage if this
subject will prevail, or cease as a good mathematical exercise.
Researchers have clearly pointed out that special care is needed to explore how network coding can co-exist with existing routing, media access, congestion, flow control algorithms and TCP protocol. If not, network coding may not offer much advantages and can increase computation complexity and memory requirements.