• Today is: Thursday, July 25, 2024

Network Coding for 5G Virtualization

Elena Neira
December15/ 2016

MIT, in collaboration with other research centers and with industry, is looking at a new approach to virtualization in 5G that combines Software Defined Networks (SDN) ,Network Function Virtualization (NFV), Content Centric Networks (CCN), WebRTC, wireless mesh networks, Multicast, and such with a technology called Network Coding.


From Store-and-Forward to Store-Code-Forward in the Network:   Network Coding (NC) is a new paradigm that breaks from the store–and–forward approach currently used in communications networks. NC allows intermediate nodes in the network to recode incoming data packets with a new store–code–forward paradigm. This ability to code within the network contrasts with traditional end-to-end erasure correcting codes such as Reed-Solomon, LT codes, and Raptor codes, and gives networks the ability to generate redundant packets where they are needed instead of injecting them end–to–end as other erasure codes would do.  By doing this, NC enables coding strategies that adapt to the dynamics and topology of the system and even to features specific to end devices. This is very beneficial, for example, while transporting streaming video over heterogeneous networks to a variety of end devices.


Traditional Channel vs. Network Coding with RLNC (Image Source: RLE at MIT’s Prof. Muriel Médard)


Applications and Requirements of Network Coding:   Research indicates that applying these new coding algorithms to the network has the potential to increase throughput and robustness, to reduce storage requirements, to shorten latencies, and to reduce energy consumption in networks. However, different apps and services present different networking requirements, and network coding does not address all of them; even when it does, the encoding and decoding algorithms need to be carefully adapted to the specific problem at hand. For example, the coding algorithms require to be adapted to he constraints imposed by a wide range of devices (core network routers, smart phones, embedded sensors and such) whose available memory and computing power may differ by several orders of magnitude. It is worth pointing out that network coding operations may be speed up substantially through the use of specialized hardware, as evidenced by the successful implementation of network coding on Graphics Processing Units (GPUs). So far, practical network coding algorithms have been identified for data gathering in sensor networks, routing in wireless mesh networks, peer-to-peer networking and content distribution, and streaming applications.


Network Coding in a WiFi-Cellular Multi-path Scenario (Image Source: RLE at MIT’s Prof. Muriel Médard)


An Open Source Prototype of Network Coding:   This new Network Coding paradigm would require redesign of network protocols, and researchers have already started looking at practical implementation aspects of adding network codes to the future Internet and to 5G networks and tools. There is already a real-world prototype that uses open source OpenStack and OpenFlow on the SDN side, and the Kodo Library on the NC side. The prototype shows NC’s capabilities to mask packet losses in the network on single and multi path transmissions. Comparing the results to standard TCP and Multi–Path TCP (MPTCP) as specified by IETF, it indicates that 3 to 11 fold gains are attainable in terms of throughput and reliability even with moderate losses on single–hop, multi–hop, and multi–path scenarios.


Source: RLE at the Massachusetts Institute of Technology (MIT)

Elena Neira