Linear network coding

Last updated

In computer networking, linear network coding is a program in which intermediate nodes transmit data from source nodes to sink nodes by means of linear combinations.

Contents

Linear network coding may be used to improve a network's throughput, efficiency, and scalability, as well as reducing attacks and eavesdropping. The nodes of a network take several packets and combine for transmission. This process may be used to attain the maximum possible information flow in a network.

It has been proven that, theoretically, linear coding is enough to achieve the upper bound in multicast problems with one source. [1] However linear coding is not sufficient in general; even for more general versions of linearity such as convolutional coding and filter-bank coding. [2] Finding optimal coding solutions for general network problems with arbitrary demands is a hard problem, which can be NP-hard [3] [4] and even undecidable. [5] [6]

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 past received packets by multiplying them by coefficients chosen from a finite field, typically of size .

More formally, each node, with indegree, , generates a message from the linear combination of received messages by the formula:

Where the values are coefficients selected from . 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. [7] In reduced row echelon form, decoded packets correspond to the rows of the form

Background

A network is represented by a directed graph . is the set of nodes or vertices, is the set of directed links (or edges), 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"[ which? ] 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 (incoming packets are combined into one or several outgoing packets) can be done in the intermediate nodes. [8]

The Butterfly Network

Butterfly Network. Butterfly network.svg
Butterfly Network.

The butterfly network [8] is often used to illustrate how linear network coding can outperform routing. Two source nodes (at the top of the picture) have information A and B that must be transmitted to the two destination nodes (at the bottom). Each destination node wants to know both A and B. Each edge can carry only a single value (we can think of an edge transmitting a bit in each time slot).

If only routing were allowed, then the central link would be only able to carry A or B, but not both. Supposing 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 to both destinations simultaneously. Meanwhile, it takes four time slots in total for both destination nodes to know A and B.

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 two relay nodes – encoding 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. Therefore, with network coding, it takes only three time slots and improves the throughput.

Random Linear Network Coding

Random linear network coding [9] (RLNC) 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 randomly, with a uniform distribution from a Galois field. If the field size is sufficiently large, the probability that the receiver(s) will obtain linearly independent combinations (and therefore obtain innovative information) 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.

Operation and key parameters

There are three key parameters in RLNC. The first one is the generation size. In RLNC, the original data transmitted over the network is divided into packets. The source and intermediate nodes in the network can combine and recombine the set of original and coded packets. The original packets form a block, usually called a generation. The number of original packets combined and recombined together is the generation size. The second parameter is the packet size. Usually, the size of the original packets is fixed. In the case of unequally-sized packets, these can be zero-padded if they are shorter or split into multiple packets if they are longer. In practice, the packet size can be the size of the maximum transmission unit (MTU) of the underlying network protocol. For example, it can be around 1500 bytes in an Ethernet frame. The third key parameter is the Galois field used. In practice, the most commonly used Galois fields are binary extension fields. And the most commonly used sizes for the Galois fields are the binary field and the so-called binary-8 (). In the binary field, each element is one bit long, while in the binary-8, it is one byte long. Since the packet size is usually larger than the field size, each packet is seen as a set of elements from the Galois field (usually referred to as symbols) appended together. The packets have a fixed amount of symbols (Galois field elements), and since all the operations are performed over Galois fields, then the size of the packets does not change with subsequent linear combinations.

The sources and the intermediate nodes can combine any subset of the original and previously coded packets performing linear operations. To form a coded packet in RLNC, the original and previously coded packets are multiplied by randomly chosen coefficients and added together. Since each packet is just an appended set of Galois field elements, the operations of multiplication and addition are performed symbol-wise over each of the individual symbols of the packets, as shown in the picture from the example.

To preserve the statelessness of the code, the coding coefficients used to generate the coded packets are appended to the packets transmitted over the network. Therefore, each node in the network can see what coefficients were used to generate each coded packet. One novelty of linear network coding over traditional block codes is that it allows the recombination of previously coded packets into new and valid coded packets. This process is usually called recoding. After a recoding operation, the size of the appended coding coefficients does not change. Since all the operations are linear, the state of the recoded packet can be preserved by applying the same operations of addition and multiplication to the payload and the appended coding coefficients. In the following example, we will illustrate this process.

Any destination node must collect enough linearly independent coded packets to be able to reconstruct the original data. Each coded packet can be understood as a linear equation where the coefficients are known since they are appended to the packet. In these equations, each of the original packets is the unknown. To solve the linear system of equations, the destination needs at least linearly independent equations (packets).

Example

Coding and recoding process in linear network coding. Each packet is seen as a set of elements from a Galois field. Therefore, multiplying and adding two packets means multiplying each of its symbols by a coding coefficient chosen from the Galois field and then adding the two packets together, symbol-wise. CodingProcess.png
Coding and recoding process in linear network coding. Each packet is seen as a set of elements from a Galois field. Therefore, multiplying and adding two packets means multiplying each of its symbols by a coding coefficient chosen from the Galois field and then adding the two packets together, symbol-wise.

In the figure, we can see an example of two packets linearly combined into a new coded packet. In the example, we have two packets, namely packet and packet . The generation size of our example is two. We know this because each packet has two coding coefficients () appended. The appended coefficients can take any value from the Galois field. However, an original, uncoded data packet would have appended the coding coefficients or , which means that they are constructed by a linear combination of zero times one of the packets plus one time the other packet. Any coded packet would have appended other coefficients. In our example, packet for instance has appended the coefficients . Since network coding can be applied at any layter of the communication protocol, these packets can have a header from the other layers, which is ignored in the network coding operations.

Now, lets assume that the network node wants to produce a new coded packet combining packet and packet . In RLNC, it will randomly choose two coding coefficients, and in the example. The node will multiply each symbol of packet by , and each symbol of packet by . Then, it will add the results symbol-wise to produce the new coded data. It will perform the same operations of multiplication and addition to the coding coefficients of the coded packets.

Misconceptions

Linear network coding is still a relatively new subject. However, the topic has been vastly researched over the last twenty years. Nevertheless, there are still some misconceptions that are no longer valid:

Decoding computational complexity: Network coding decoders have been improved over the years. Nowadays, the algorithms are highly efficient and parallelizable. In 2016, with Intel Core i5 processors with SIMD instructions enabled, the decoding goodput of network coding was 750 MB/s for a generation size of 16 packets and 250 MB/s for a generation size of 64 packets. [10] Furthermore, today's algorithms can be vastly parallelizable, increasing the encoding and decoding goodput even further. [11]

Transmission Overhead: It is usually thought that the transmission overhead of network coding is high due to the need to append the coding coefficients to each coded packet. In reality, this overhead is negligible in most applications. The overhead due to coding coefficients can be computed as follows. Each packet has appended coding coefficients. The size of each coefficient is the number of bits needed to represent one element of the Galois field. In practice, most network coding applications use a generation size of no more than 32 packets per generation and Galois fields of 256 elements (binary-8). With these numbers, each packet needs bytes of appended overhead. If each packet is 1500 bytes long (i.e. the Ethernet MTU), then 32 bytes represent an overhead of only 2%.

Expected linearly dependent packets at different stages of transmission for a Galois field
G
F
(
2
)
{\displaystyle GF(2)}
and a generation size of 16 packets. At the beginning of the transmission, the linear dependencies are minimal. It is the last packet of the transmission that is more likely to be linearly dependent. LinDependenciesbinary.png
Expected linearly dependent packets at different stages of transmission for a Galois field and a generation size of 16 packets. At the beginning of the transmission, the linear dependencies are minimal. It is the last packet of the transmission that is more likely to be linearly dependent.
The expected number of linearly dependent packets per generation is practically independent of the generation size. LinDependenciesbinaryvsg.png
The expected number of linearly dependent packets per generation is practically independent of the generation size.

Overhead due to linear dependencies: Since the coding coefficients are chosen randomly in RLNC, there is a chance that some transmitted coded packets are not beneficial to the destination because they are formed using a linearly dependent combination of packets. However, this overhead is negligible in most applications. The linear dependencies depend on the Galois fields' size and are practically independent of the generation size used. We can illustrate this with the following example. Let us assume we are using a Galois field of elements and a generation size of packets. If the destination has not received any coded packet, we say it has degrees of freedom, and then almost any coded packet will be useful and innovative. In fact, only the zero-packet (only zeroes in the coding coefficients) will be non-innovative. The probability of generating the zero-packet is equal to the probability of each of the coding coefficient to be equal to the zero-element of the Galois field. I.e., the probability of a non-innovative packet is of . With each successive innovative transmission, it can be shown that the exponent of the probability of a non innovative packet is reduced by one. When the destination has received innovative packets (i.e., it needs only one more packet to fully decode the data). Then the probability of a non innovative packet is of . We can use this knowledge to calculate the expected number of linearly dependent packets per generation. In the worst-case scenario, when the Galois field used contains only two elements (), the expected number of linearly dependent packets per generation is of 1.6 extra packets. If our generation size if of 32 or 64 packets, this represents an overhead of 5% or 2.5%, respectively. If we use the binary-8 field (), then the expected number of linearly dependent packets per generation is practically zero. Since it is the last packets the major contributor to the overhead due to linear dependencies, there are RLNC-based protocols such as tunable sparse network coding [12] that exploit this knowledge. These protocols introduce sparsity (zero-elements) in the coding coefficients at the beginning of the transmission to reduce the decoding complexity, and reduce the sparsity at the end of the transmission to reduce the overhead due to linear dependencies.

Applications

Over the years, multiple researchers and companies have integrated network coding solutions into their applications. [13] We can list some of the applications of network coding in different areas:

See also

Related Research Articles

<span class="mw-page-title-main">Orthogonal frequency-division multiplexing</span> Method of encoding digital data on multiple carrier frequencies

In telecommunications, orthogonal frequency-division multiplexing (OFDM) is a type of digital transmission used in digital modulation for encoding digital (binary) data on multiple carrier frequencies. OFDM has developed into a popular scheme for wideband digital communication, used in applications such as digital television and audio broadcasting, DSL internet access, wireless networks, power line networks, and 4G/5G mobile communications.

Linear predictive coding (LPC) is a method used mostly in audio signal processing and speech processing for representing the spectral envelope of a digital signal of speech in compressed form, using the information of a linear predictive model.

Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking of new connections. A consequence of congestion is that an incremental increase in offered load leads either only to a small increase or even a decrease in network throughput.

<span class="mw-page-title-main">Wireless mesh network</span> Radio nodes organized in a mesh topology

A wireless mesh network (WMN) is a communications network made up of radio nodes organized in a mesh topology. It can also be a form of wireless ad hoc network.

Wireless sensor networks (WSNs) refer to networks of spatially dispersed and dedicated sensors that monitor and record the physical conditions of the environment and forward the collected data to a central location. WSNs can measure environmental conditions such as temperature, sound, pollution levels, humidity and wind.

Proportional-fair scheduling is a compromise-based scheduling algorithm. It is based upon maintaining a balance between two competing interests: Trying to maximize the total throughput of the network while at the same time allowing all users at least a minimal level of service. This is done by assigning each data flow a data rate or a scheduling priority that is inversely proportional to its anticipated resource consumption.

Network calculus is "a set of mathematical results which give insights into man-made systems such as concurrent programs, digital circuits and communication networks." Network calculus gives a theoretical framework for analysing performance guarantees in computer networks. As traffic flows through a network it is subject to constraints imposed by the system components, for example:

<span class="mw-page-title-main">Computer network</span> Network that allows computers to share resources and communicate with each other

A computer network is a set of computers sharing resources located on or provided by network nodes. Computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are made up of telecommunication network technologies based on physically wired, optical, and wireless radio-frequency methods that may be arranged in a variety of network topologies.

<span class="mw-page-title-main">Aircrack-ng</span> Software suite

Aircrack-ng is a network software suite consisting of a detector, packet sniffer, WEP and WPA/WPA2-PSK cracker and analysis tool for 802.11 wireless LANs. It works with any wireless network interface controller whose driver supports raw monitoring mode and can sniff 802.11a, 802.11b and 802.11g traffic. Packages are released for Linux and Windows.

A wireless ad hoc network (WANET) or mobile ad hoc network (MANET) is a decentralized type of wireless network. The network is ad hoc because it does not rely on a pre-existing infrastructure, such as routers or wireless access points. Instead, each node participates in routing by forwarding data for other nodes. The determination of which nodes forward data is made dynamically on the basis of network connectivity and the routing algorithm in use.

<span class="mw-page-title-main">Carrier interferometry</span>

Carrier Interferometry(CI) is a spread spectrum scheme designed to be used in an Orthogonal Frequency-Division Multiplexing (OFDM) communication system for multiplexing and multiple access, enabling the system to support multiple users at the same time over the same frequency band.

In radio, cooperative multiple-input multiple-output is a technology that can effectively exploit the spatial domain of mobile fading channels to bring significant performance improvements to wireless communication systems. It is also called network MIMO, distributed MIMO, virtual MIMO, and virtual antenna arrays.

<span class="mw-page-title-main">MIMO</span> Use of multiple antennas in radio

In radio, multiple-input and multiple-output (MIMO) is a method for multiplying the capacity of a radio link using multiple transmission and receiving antennas to exploit multipath propagation. MIMO has become an essential element of wireless communication standards including IEEE 802.11n, IEEE 802.11ac, HSPA+ (3G), WiMAX, and Long Term Evolution (LTE). More recently, MIMO has been applied to power-line communication for three-wire installations as part of the ITU G.hn standard and of the HomePlug AV2 specification.

In communication networks, cognitive network (CN) is a new type of data network that makes use of cutting edge technology from several research areas to solve some problems current networks are faced with. Cognitive network is different from cognitive radio (CR) as it covers all the layers of the OSI model.

EraMobile -Epidemic-based Reliable and Adaptive Multicast for Mobile ad hoc networks is a bio-inspired reliable multicast protocol targeting mission critical ad hoc networks. EraMobile supports group applications that require high reliability and low overhead with loose delivery time constraints. The protocol aims to deliver multicast data with maximum reliability and minimal network overhead under adverse network conditions. EraMobile adopts an epidemic-based approach, which uses gossip messages, to cope with dynamic topology changes due to the mobility of network nodes. EraMobile's epidemic mechanism does not require maintaining any tree- or mesh-like structure for multicast operation. It requires neither a global nor a partial view of the network, nor does it require information about neighboring nodes and group members. The lack of a central structure for multicast lowers the network overhead by eliminating redundant data transmissions. EraMobile contains a simple adaptivity mechanism which tunes the frequency of control packages based on the node density in the network. This adaptivity mechanism helps the delivery of data reliably in both sparse networks -in which network connectivity is prone to interruptions- and dense networks -in which congestion is likely because of shared wireless medium-.

A distributed file system for cloud is a file system that allows many clients to have access to data and supports operations on that data. Each data file may be partitioned into several parts called chunks. Each chunk may be stored on different remote machines, facilitating the parallel execution of applications. Typically, data is stored in files in a hierarchical tree, where the nodes represent directories. There are several ways to share files in a distributed architecture: each solution must be suitable for a certain type of application, depending on how complex the application is. Meanwhile, the security of the system must be ensured. Confidentiality, availability and integrity are the main keys for a secure system.

Time Slotted Channel Hopping or Time Synchronized Channel Hopping (TSCH) is a channel access method for shared-medium networks.

Associativity-based routing is a mobile routing protocol invented for wireless ad hoc networks, also known as mobile ad hoc networks (MANETs) and wireless mesh networks. ABR was invented in 1993, filed for a U.S. patent in 1996, and granted the patent in 1999. ABR was invented by Chai Keong Toh while doing his Ph.D. at Cambridge University.

Orthogonal Time Frequency Space (OTFS) is a 2D modulation technique that transforms the information carried in the Delay-Doppler coordinate system. The information is transformed in the similar time-frequency domain as utilized by the traditional schemes of modulation such as TDMA, CDMA, and OFDM. It was first used for fixed wireless, and is now a contending waveform for 6G technology due to its robustness in high-speed vehicular scenarios.

George N. Rouskas is a computer scientist, academic, and author. He is an Alumni Distinguished Graduate Professor and Director of Graduate Programs in the Department of Computer Science at North Carolina State University.

References

  1. S. Li, R. Yeung, and N. Cai, "Linear Network Coding"(PDF), in IEEE Transactions on Information Theory, Vol 49, No. 2, pp. 371–381, 2003
  2. R. Dougherty, C. Freiling, and K. Zeger, "Insufficiency of Linear Coding in Network Information Flow" (PDF), in IEEE Transactions on Information Theory, Vol. 51, No. 8, pp. 2745-2759, August 2005 ( erratum)
  3. Rasala Lehman, A.; Lehman, E. (2004). Complexity classification of network information flow problems. 15th ACM-SIAM SODA. pp. 142–150.
  4. Langberg, M.; Sprintson, A.; Bruck, J. (2006). "The encoding complexity of network coding". IEEE Transactions on Information Theory. 52 (6): 2386–2397. doi:10.1109/TIT.2006.874434. S2CID   1414385.
  5. Li, C. T. (2023). "Undecidability of Network Coding, Conditional Information Inequalities, and Conditional Independence Implication". IEEE Transactions on Information Theory. 69 (6): 1. arXiv: 2205.11461 . doi:10.1109/TIT.2023.3247570. S2CID   248986512.
  6. Kühne, L.; Yashfe, G. (2022). "Representability of Matroids by c-Arrangements is Undecidable". Israel Journal of Mathematics . 252: 95–147. arXiv: 1912.06123 . doi:10.1007/s11856-022-2345-z. S2CID   209324252.
  7. Chou, Philip A.; Wu, Yunnan; Jain, Kamal (October 2003). "Practical network coding". Allerton Conference on Communication, Control, and Computing. Any receiver can then recover the source vectors using Gaussian elimination on the vectors in its h (or more) received packets.
  8. 1 2 Ahlswede, Rudolf; N. Cai; S.-Y. R. Li; R. W. Yeung (2000). "Network Information Flow". IEEE Transactions on Information Theory. 46 (4): 1204–1216. CiteSeerX   10.1.1.722.1409 . doi:10.1109/18.850663.
  9. T. Ho, R. Koetter, M. Médard, D. R. Karger and M. Effros, "The Benefits of Coding over Routing in a Randomized Setting" Archived 2017-10-31 at the Wayback Machine in 2003 IEEE International Symposium on Information Theory. doi : 10.1109/ISIT.2003.1228459
  10. Sørensen, Chres W.; Paramanathan, Achuthan; Cabrera, Juan A.; Pedersen, Morten V.; Lucani, Daniel E.; Fitzek, Frank H.P. (April 2016). "Leaner and meaner: Network coding in SIMD enabled commercial devices" (PDF). 2016 IEEE Wireless Communications and Networking Conference. pp. 1–6. doi:10.1109/WCNC.2016.7565066. ISBN   978-1-4673-9814-5. S2CID   10468008. Archived from the original on 2022-04-08.
  11. Wunderlich, Simon; Cabrera, Juan A.; Fitzek, Frank H. P.; Reisslein, Martin (August 2017). "Network Coding in Heterogeneous Multicore IoT Nodes With DAG Scheduling of Parallel Matrix Block Operations" (PDF). IEEE Internet of Things Journal. 4 (4): 917–933. doi:10.1109/JIOT.2017.2703813. ISSN   2327-4662. S2CID   30243498. Archived from the original (PDF) on 8 Apr 2022.
  12. Feizi, Soheil; Lucani, Daniel E.; Sørensen, Chres W.; Makhdoumi, Ali; Médard, Muriel (June 2014). "Tunable sparse network coding for multicast networks". 2014 International Symposium on Network Coding (NetCod). pp. 1–6. doi:10.1109/NETCOD.2014.6892129. ISBN   978-1-4799-6217-4. S2CID   18256950.
  13. "Coding the Network: Next Generation Coding for Flexible Network Operation | IEEE Communications Society". www.comsoc.org. Retrieved 2022-06-06.
  14. Lopetegui, I.; Carrasco, R.A.; Boussakta, S. (July 2010). "VoIP design and implementation with network coding schemes for wireless networks". 2010 7th International Symposium on Communication Systems, Networks & Digital Signal Processing (CSNDSP 2010). Newcastle upon Tyne: IEEE. pp. 857–861. doi:10.1109/CSNDSP16145.2010.5580304. ISBN   978-1-4244-8858-2. S2CID   1761089.
  15. 1 2 Shrimali, R.; Narmawala, Z. (December 2012). "A survey on MPEG-4 streaming using network coding in wireless networks". 2012 Nirma University International Conference on Engineering (NUiCONE). pp. 1–5. doi:10.1109/NUICONE.2012.6493203. ISBN   978-1-4673-1719-1. S2CID   7791774.
  16. 1 2 Saeed, Basil; Lung, Chung-Horng; Kunz, Thomas; Srinivasan, Anand (October 2011). "Audio streaming for ad hoc wireless mesh networks using network coding". 2011 IFIP Wireless Days (WD). pp. 1–5. doi:10.1109/WD.2011.6098167. ISBN   978-1-4577-2028-4. S2CID   8052927.
  17. 1 2 Wang, Lei; Yang, Zhen; Xu, Lijie; Yang, Yuwang (July 2016). "NCVCS: Network-coding-based video conference system for mobile devices in multicast networks". Ad Hoc Networks. 45: 13–21. doi:10.1016/j.adhoc.2016.03.002.
  18. Wang, Hui; Chang, Ronald Y.; Kuo, C.-C. Jay (June 2009). "Wireless Multi-party video conferencing with network coding". 2009 IEEE International Conference on Multimedia and Expo. pp. 1492–1495. doi:10.1109/ICME.2009.5202786. ISBN   978-1-4244-4290-4. S2CID   8234088.
  19. 1 2 Rachuri, Sri Pramodh; Ansari, Ahtisham Ali; Tandur, Deepaknath; Kherani, Arzad A.; Chouksey, Sameer (December 2019). "Network-Coded SD-WAN in Multi-Access Systems for Delay Control". 2019 International Conference on contemporary Computing and Informatics (IC3I). Singapore, Singapore: IEEE. pp. 32–37. doi:10.1109/IC3I46837.2019.9055565. ISBN   978-1-7281-5529-6. S2CID   215723197.
  20. Ansari, Ahtisham Ali; Rachuri, Sri Pramodh; Kherani, Arzad A.; Tandur, Deepaknath (December 2019). "An SD-WAN Controller for Delay Jitter Minimization in Coded Multi-access Systems". 2019 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS). pp. 1–6. doi:10.1109/ANTS47819.2019.9117981. ISBN   978-1-7281-3715-5. S2CID   219853700.
  21. 1 2 "Steinwurf's next-gen FECs aren't a choice for SD-WAN, they're an imperative". www.linkedin.com. Retrieved 2022-06-06.
  22. 1 2 "Barracuda Networks optimizes SD-WAN traffic with patented erasure correction technology from Steinwurf". Steinwurf. Retrieved 2022-06-06.
  23. 1 2 Pedersen, Morten V.; Lucani, Daniel E.; Fitzek, Frank H. P.; Sorensen, Chres W.; Badr, Arash S. (September 2013). "Network coding designs suited for the real world: What works, what doesn't, what's promising". 2013 IEEE Information Theory Workshop (ITW). Sevilla: IEEE. pp. 1–5. doi:10.1109/ITW.2013.6691231. ISBN   978-1-4799-1321-3. S2CID   286822.
  24. Channel Bundling Using Random Linear Network Coding . Retrieved 2022-06-06.
  25. 1 2 Vukobratovic, Dejan; Tassi, Andrea; Delic, Savo; Khirallah, Chadi (April 2018). "Random Linear Network Coding for 5G Mobile Video Delivery". Information. 9 (4): 72. arXiv: 1802.04873 . doi: 10.3390/info9040072 . ISSN   2078-2489.
  26. 1 2 Gabriel, Frank; Nguyen, Giang T.; Schmoll, Robert-Steve; Cabrera, Juan A.; Muehleisen, Maciej; Fitzek, Frank H.P. (January 2018). "Practical deployment of network coding for real-time applications in 5G networks". 2018 15th IEEE Annual Consumer Communications & Networking Conference (CCNC). Las Vegas, NV: IEEE. pp. 1–2. doi:10.1109/CCNC.2018.8319320. ISBN   978-1-5386-4790-5. S2CID   3982619.
  27. Magli, Enrico; Wang, Mea; Frossard, Pascal; Markopoulou, Athina (August 2013). "Network Coding Meets Multimedia: A Review". IEEE Transactions on Multimedia. 15 (5): 1195–1212. arXiv: 1211.4206 . doi:10.1109/TMM.2013.2241415. ISSN   1520-9210. S2CID   3200945.
  28. Torres Vega, Maria; Liaskos, Christos; Abadal, Sergi; Papapetrou, Evangelos; Jain, Akshay; Mouhouche, Belkacem; Kalem, Gökhan; Ergüt, Salih; Mach, Marian; Sabol, Tomas; Cabellos-Aparicio, Albert (October 2020). "Immersive Interconnected Virtual and Augmented Reality: A 5G and IoT Perspective". Journal of Network and Systems Management. 28 (4): 796–826. doi:10.1007/s10922-020-09545-w. hdl: 2117/330129 . ISSN   1064-7570. S2CID   219589307.
  29. De Jonckere, Olivier; Chorin, Jean; Feldmann, Marius (September 2017). "Simulation Environment for Network Coding Research in Ring Road Networks". 2017 6th International Conference on Space Mission Challenges for Information Technology (SMC-IT). Alcala de Henares: IEEE. pp. 128–131. doi:10.1109/SMC-IT.2017.29. ISBN   978-1-5386-3462-2. S2CID   6180560.
  30. Jamil, Farhan; Javaid, Anam; Umer, Tariq; Rehmani, Mubashir Husain (November 2017). "A comprehensive survey of network coding in vehicular ad-hoc networks". Wireless Networks. 23 (8): 2395–2414. doi:10.1007/s11276-016-1294-z. ISSN   1022-0038. S2CID   13624914.
  31. Park, Joon-Sang; Lee, Uichin; Gerla, Mario (May 2010). "Vehicular communications: emergency video streams and network coding". Journal of Internet Services and Applications. 1 (1): 57–68. doi: 10.1007/s13174-010-0006-7 . ISSN   1867-4828. S2CID   2143201.
  32. Noor-A-Rahim, Md; Liu, Zilong; Lee, Haeyoung; Khyam, M. Omar; He, Jianhua; Pesch, Dirk; Moessner, Klaus; Saad, Walid; Poor, H. Vincent (2022-05-01). "6G for Vehicle-to-Everything (V2X) Communications: Enabling Technologies, Challenges, and Opportunities". arXiv: 2012.07753 [cs.IT].
  33. Achour, Imen; Bejaoui, Tarek; Busson, Anthony; Tabbane, Sami (October 2017). "Network Coding scheme behavior in a Vehicle-to-Vehicle safety message dissemination". 2017 IEEE International Conference on Communications Workshops (ICC Workshops). Paris, France: IEEE. pp. 441–446. doi:10.1109/ICCW.2017.7962697. ISBN   978-1-5090-1525-2. S2CID   22423560.
  34. Wang, Shujuan; Lu, Shuguang; Zhang, Qian (April 2019). "Instantly decodable network coding–assisted data dissemination for prioritized services in vehicular ad hoc networks". International Journal of Distributed Sensor Networks. 15 (4): 155014771984213. doi: 10.1177/1550147719842137 . ISSN   1550-1477. S2CID   145983739.
  35. Dammak, Marwa; Andriyanova, Iryna; Boujelben, Yassine; Sellami, Noura (2018-03-29). "Routing and Network Coding over a Cyclic Network for Online Video Gaming". arXiv: 1803.11102 [cs.IT].
  36. Lajtha, Balázs; Biczók, Gergely; Szabó, Róbert (2010). "Enabling P2P Gaming with Network Coding". In Aagesen, Finn Arve; Knapskog, Svein Johan (eds.). Networked Services and Applications - Engineering, Control and Management. Lecture Notes in Computer Science. Vol. 6164. Berlin, Heidelberg: Springer. pp. 76–86. doi: 10.1007/978-3-642-13971-0_8 . ISBN   978-3-642-13971-0.
  37. Dammak, Marwa (2018-11-20). Network coding application for online games platformes (phdthesis thesis). Université de Cergy Pontoise; École nationale d'ingénieurs de Sfax (Tunisie).
  38. Lajtha, Balázs; Biczók, Gergely; Szabó, Róbert (2010). Aagesen, Finn Arve; Knapskog, Svein Johan (eds.). "Enabling P2P Gaming with Network Coding". Networked Services and Applications - Engineering, Control and Management. Lecture Notes in Computer Science. Vol. 6164. Berlin, Heidelberg: Springer Berlin Heidelberg. pp. 76–86. doi: 10.1007/978-3-642-13971-0_8 . ISBN   978-3-642-13970-3.
  39. Ilyas, Mohammad; Alwakeel, Sami S.; Alwakeel, Mohammed M.; Aggoune, el-Hadi M. (2014). "Exploiting Network Coding for Smart Healthcare". Sensor networks for sustainable development. Boca Raton, FL. doi:10.1201/b17124-13. ISBN   978-1-4665-8207-1. OCLC   881429695.{{cite book}}: CS1 maint: location missing publisher (link)
  40. Kartsakli, Elli; Antonopoulos, Angelos; Alonso, Luis; Verikoukis, Christos (2014-03-10). "A Cloud-Assisted Random Linear Network Coding Medium Access Control Protocol for Healthcare Applications". Sensors. 14 (3): 4806–4830. Bibcode:2014Senso..14.4806K. doi: 10.3390/s140304806 . ISSN   1424-8220. PMC   4003969 . PMID   24618727.
  41. Taparugssanagorn, Attaphongse; Ono, Fumie; Kohno, Ryuji (September 2010). "Network coding for non-invasive Wireless Body Area Networks". 2010 IEEE 21st International Symposium on Personal, Indoor and Mobile Radio Communications Workshops. pp. 134–138. doi:10.1109/PIMRCW.2010.5670413. ISBN   978-1-4244-9117-9. S2CID   25872472.
  42. Peralta, Goiuri; Iglesias-Urkia, Markel; Barcelo, Marc; Gomez, Raul; Moran, Adrian; Bilbao, Josu (May 2017). "Fog computing based efficient IoT scheme for the Industry 4.0". 2017 IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics (ECMSM). Donostia, San Sebastian, Spain: IEEE. pp. 1–6. doi:10.1109/ECMSM.2017.7945879. ISBN   978-1-5090-5582-1. S2CID   37985560.
  43. Peralta, Goiuri; Garrido, Pablo; Bilbao, Josu; Agüero, Ramón; Crespo, Pedro (2019-04-08). "On the Combination of Multi-Cloud and Network Coding for Cost-Efficient Storage in Industrial Applications". Sensors. 19 (7): 1673. Bibcode:2019Senso..19.1673P. doi: 10.3390/s19071673 . ISSN   1424-8220. PMC   6479523 . PMID   30965629.
  44. Zverev, Mihail; Agüero, Ramón; Garrido, Pablo; Bilbao, Josu (2019-10-22). "Network Coding for IIoT Multi-Cloud Environments". Proceedings of the 9th International Conference on the Internet of Things. IoT 2019. New York, NY, USA: Association for Computing Machinery. pp. 1–4. doi:10.1145/3365871.3365903. ISBN   978-1-4503-7207-7. S2CID   207940281.
  45. "DLR - Institute of Communications and Navigation - NEXT - Network Coding Satellite Experiment". www.dlr.de. Retrieved 2022-06-06.
  46. Hsu, Hsiao-Tzu; Wang, Tzu-Ming; Kuo, Yuan-Cheng (2018-11-05). "Implementation of Agricultural Monitoring System Based on the Internet of Things". Proceedings of the 2018 2nd International Conference on Education and E-Learning. ICEEL 2018. New York, NY, USA: Association for Computing Machinery. pp. 212–216. doi:10.1145/3291078.3291098. ISBN   978-1-4503-6577-2. S2CID   59337140.
  47. Camilli, Alberto; Cugnasca, Carlos E.; Saraiva, Antonio M.; Hirakawa, André R.; Corrêa, Pedro L. P. (2007-08-01). "From wireless sensors to field mapping: Anatomy of an application for precision agriculture". Computers and Electronics in Agriculture. Precision Agriculture in Latin America. 58 (1): 25–36. doi:10.1016/j.compag.2007.01.019. ISSN   0168-1699.
  48. US8401021B2,Buga, Wladyslaw Jan&Trent, Tracy Raymond,"Systems and methods for prioritizing wireless communication of aircraft",issued 2013-03-19
  49. Tonyali, Samet; Akkaya, Kemal; Saputro, Nico; Cheng, Xiuzhen (July 2017). "An Attribute & Network Coding-Based Secure Multicast Protocol for Firmware Updates in Smart Grid AMI Networks". 2017 26th International Conference on Computer Communication and Networks (ICCCN). Vancouver, BC, Canada: IEEE. pp. 1–9. doi:10.1109/ICCCN.2017.8038415. ISBN   978-1-5090-2991-4. S2CID   25131878.
  50. Jalil, Syed Qaisar; Chalup, Stephan; Rehmani, Mubashir Husain (2019). "A Smart Meter Firmware Update Strategy Through Network Coding for AMI Network". In Pathan, Al-Sakib Khan; Fadlullah, Zubair Md.; Guerroumi, Mohamed (eds.). Smart Grid and Internet of Things. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering. Vol. 256. Cham: Springer International Publishing. pp. 68–77. doi:10.1007/978-3-030-05928-6_7. ISBN   978-3-030-05928-6. S2CID   59561476.
  51. Kumar, Vaibhav; Cardiff, Barry; Flanagan, Mark F. (October 2017). "Physical-layer network coding with multiple antennas: An enabling technology for smart cities". 2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC). Montreal, QC: IEEE. pp. 1–6. doi:10.1109/PIMRC.2017.8292785. hdl: 10197/11114 . ISBN   978-1-5386-3529-2. S2CID   748535.
  52. Darif, Anouar; Chaibi, Hasna; Saadane, Rachid (2020). Ben Ahmed, Mohamed; Boudhir, Anouar Abdelhakim; Santos, Domingos; El Aroussi, Mohamed (eds.). "Network Coding for Energy Optimization of SWIMAC in Smart Cities Using WSN Based on IR-UWB". Innovations in Smart Cities Applications Edition 3. Lecture Notes in Intelligent Transportation and Infrastructure. Cham: Springer International Publishing. pp. 663–674. doi:10.1007/978-3-030-37629-1_48. ISBN   978-3-030-37628-4. S2CID   214486109 . Retrieved 2022-06-06.
  53. 1 2 3 Bilal, Muhammad; et al. (2019). "Network-Coding Approach for Information-Centric Networking". IEEE Systems Journal. 13 (2): 1376–1385. arXiv: 1808.00348 . Bibcode:2019ISysJ..13.1376B. doi:10.1109/JSYST.2018.2862913. S2CID   51894197.
  54. Zimmermann, Sandra; Rischke, Justus; Cabrera, Juan A.; Fitzek, Frank H. P. (December 2020). "Journey to MARS: Interplanetary Coding for relieving CDNS". GLOBECOM 2020 - 2020 IEEE Global Communications Conference. Taipei, Taiwan: IEEE. pp. 1–6. doi:10.1109/GLOBECOM42002.2020.9322478. ISBN   978-1-7281-8298-8. S2CID   231725197.
  55. Kim, Minji (2012). "Network Coded TCP (CTCP)". arXiv: 1212.2291 [cs.NI].
  56. Larsson, P.; Johansson, N. (2006). "Multi-User ARQ". 2006 IEEE 63rd Vehicular Technology Conference. Vol. 4. Melbourne, Australia: IEEE. pp. 2052–2057. doi:10.1109/VETECS.2006.1683207. ISBN   0-7803-9392-9. S2CID   38823300.
  57. "Welcome to Network Coding Security - Secure Network Coding". securenetworkcoding.wikidot.com. Retrieved 26 March 2022.
  58. Yu, Zhen; Wei, Yawen; Ramkumar, Bhuvaneswari; Guan, Yong (2008). "An efficient signature-based scheme for securing network coding against pollution attacks". INFOCOM 2008. 27th IEEE International Conference on Computer Communications, Joint Conference of the IEEE Computer and Communications Societies, 13–18 April 2008, Phoenix, AZ, USA. IEEE. pp. 1409–1417. doi:10.1109/INFOCOM.2008.199. ISBN   978-1-4244-2026-1.
  59. Acedański, Szymon; Deb, Supratim; Médard, Muriel; Koetter, Ralf. "How Good is Random Linear Coding Based Distributed Networked Storage?" (PDF). web.mit.edu. Retrieved 26 March 2022.
  60. Dimakis, Alexandros (2007). "Network Coding for Distributed Storage Systems". arXiv: cs/0702015 .
  61. Katti, Sachin; Rahul, Hariharan; Hu, Wenjun; Katabi, Dina; Médard, Muriel; Crowcroft, Jon (2006-08-11). "XORs in the air" (PDF). Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications. SIGCOMM '06. New York, NY, USA: Association for Computing Machinery. pp. 243–254. doi:10.1145/1159913.1159942. ISBN   978-1-59593-308-9. S2CID   207160426.
  62. Krigslund, Jeppe; Hansen, Jonas; Hundeboll, Martin; Lucani, Daniel E.; Fitzek, Frank H. P. (2013). "CORE: COPE with MORE in Wireless Meshed Networks". 2013 IEEE 77th Vehicular Technology Conference (VTC Spring). pp. 1–6. doi:10.1109/VTCSpring.2013.6692495. ISBN   978-1-4673-6337-2. S2CID   1319567.
  63. Sengupta, S.; Rayanchu, S.; Banerjee, S. (May 2007). "An Analysis of Wireless Network Coding for Unicast Sessions: The Case for Coding-Aware Routing". IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications. pp. 1028–1036. doi:10.1109/INFCOM.2007.124. ISBN   978-1-4244-1047-7. S2CID   3056111.
  64. "NetworkCoding - batman-adv - Open Mesh". www.open-mesh.org. Archived from the original on 12 May 2021. Retrieved 2015-10-28.
  65. Bhadra, S.; Shakkottai, S. (April 2006). "Looking at Large Networks: Coding vs. Queueing". Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications. pp. 1–12. doi:10.1109/INFOCOM.2006.266. ISBN   1-4244-0221-2. S2CID   730706.
  66. 1 2 Dong Nguyen; Tuan Tran; Thinh Nguyen; Bose, B. (2009). "Wireless Broadcast Using Network Coding". IEEE Transactions on Vehicular Technology. 58 (2): 914–925. CiteSeerX   10.1.1.321.1962 . doi:10.1109/TVT.2008.927729. S2CID   16989586.
  67. Firooz, Mohammad Hamed; Roy, Sumit (24 March 2012). "Data Dissemination in Wireless Networks with Network Coding". IEEE Communications Letters. 17 (5): 944–947. arXiv: 1203.5395 . doi:10.1109/LCOMM.2013.031313.121994. ISSN   1089-7798. S2CID   13576.
  68. Fiandrotti, Attilio; Bioglio, Valerio; Grangetto, Marco; Gaeta, Rossano; Magli, Enrico (11 October 2013). "Band Codes for Energy-Efficient Network Coding With Application to P2P Mobile Streaming". IEEE Transactions on Multimedia. 16 (2): 521–532. arXiv: 1309.0316 . doi:10.1109/TMM.2013.2285518. ISSN   1941-0077. S2CID   10548996.
  69. Wu, Yue; Liu, Wuling; Wang, Siyi; Guo, Weisi; Chu, Xiaoli (June 2015). "Network coding in device-to-device (D2D) communications underlaying cellular networks". 2015 IEEE International Conference on Communications (ICC). pp. 2072–2077. doi:10.1109/ICC.2015.7248631. ISBN   978-1-4673-6432-4. S2CID   19637201.
  70. Zhao, Yulei; Li, Yong; Ge, Ning (December 2015). "Physical Layer Network Coding Aided Two-Way Device-to-Device Communication Underlaying Cellular Networks". 2015 IEEE Global Communications Conference (GLOBECOM). pp. 1–6. doi:10.1109/GLOCOM.2015.7417590. ISBN   978-1-4799-5952-5.
  71. Abrardo, Andrea; Fodor, Gábor; Tola, Besmir (2015). "Network coding schemes for Device-to-Device communications based relaying for cellular coverage extension" (PDF). 2015 IEEE 16th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC). pp. 670–674. doi:10.1109/SPAWC.2015.7227122. ISBN   978-1-4799-1931-4. S2CID   9591953.
  72. Gao, Chuhan; Li, Yong; Zhao, Yulei; Chen, Sheng (October 2017). "A Two-Level Game Theory Approach for Joint Relay Selection and Resource Allocation in Network Coding Assisted D2D Communications" (PDF). IEEE Transactions on Mobile Computing. 16 (10): 2697–2711. doi:10.1109/TMC.2016.2642190. ISSN   1558-0660. S2CID   22233426.
  73. Zhou, Ting; Xu, Bin; Xu, Tianheng; Hu, Honglin; Xiong, Lei (1 February 2015). "User-specific link adaptation scheme for device-to-device network coding multicast". IET Communications. 9 (3): 367–374. doi: 10.1049/iet-com.2014.0323 . ISSN   1751-8636. S2CID   27108894.