Elena Neira discusses a new approach to virtualisation in 5G, incorporating a new Network Coding paradigm, and outlines the implications for practical implementation.
The Massachusetts Institute of Technology (MIT), in collaboration with other research centers and with industry, is looking at a new approach to virtualisation in 5G that combines Software Defined Networks (SDN) ,Network Function Virtualisation (NFV), Content Centric Networks (CCN), WebRTC, wireless mesh networks, multicast, and such with a technology called Network Coding.
This approach has been put to test in a real-world prototype that uses open source OpenStack and OpenFlow. Preliminary results indicate that 3 to 11 fold gains are attainable in terms of network throughput and reliability.
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 (Source: MIT)
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 need to be adapted to the constraints imposed by a wide range of devices - core network routers, smartphones, 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 sped up substantially through the use of specialised 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 Multi-path Scenario (Source: MIT)
An open source prototype of network coding
This new Network Coding paradigm would require re-design 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.
For more from Elena Neira, visit www.elenaneira.com