Network Coding Function Virtualization

by   Tan Do-Duy, et al.
Universitat Autònoma de Barcelona

Network Functions Virtualization (NFV) and Network Coding (NC) have attracted much attention in recent years as key concepts for providing 5G networks with flexibility and differentiated reliability, respectively. In this paper, we present the integration of NC architectural design and NFV. In order to do so we first describe what we call a virtualization process upon our proposed architectural design of NC that should help to offer the reliability functionality to a network. The process consists of identifying the required functional entities of NC and analyzing when the functionality should be activated towards complexity/energy efficiency. The relevance of our proposed NC function virtualization is its applicability to any underlying physical network, satellite or hybrid thus enabling softwarization, and rapid innovative deployment. Finally, we validate our framework to a study case of geo-control of network reliability that is based on device's geographical location-based signal/network information.



page 1

page 2

page 3

page 4


Geo-Network Coding Function Virtualization for Reliable Communication over Satellite

In this paper, we propose a design solution for the implementation of Vi...

Design of Virtualized Network Coding Functionality for Reliability Control of Communication Services over Satellite

Network coding (NC) is a novel coding technology that can be seen as a g...

ELSA: A Throughput-Optimized Design of an LSTM Accelerator for Energy-Constrained Devices

The next significant step in the evolution and proliferation of artifici...

Energy Efficient virtualization framework for 5G F-RAN

Fog radio access network (F-RAN) and virtualisation are promising techno...

ZSM-based Management and Orchestration of 3GPP Network Slicing: An Architectural Framework and Deployment Options

Driven by closed-loop automation, the Zero-Touch Network and Services Ma...

Multi-Connectivity in 5G terrestrial-Satellite Networks: the 5G-ALLSTAR Solution

The 5G-ALLSTAR project is aimed at integrating Terrestrial and Satellite...

A Systematic Approach For Kinematic Design Of Upper Limb Rehabilitation Exoskeletons

Kinematic structure of an exoskeleton is the most fundamental block of i...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

NC has recently emerged as a new approach for improving network performance in terms of throughput and reliability, especially in wireless networks. Coding operations are executed at the source and/or re-encoded at intermediate nodes so that receivers are able to recover from losses at the receiver side.

NFV has been proposed as a promising way the telecommunications sector facilitates the design, deployment, and management of networking services. Essentially, NFV separates software from physical hardware so that a network service can be implemented as a set of virtualized network functions through virtualization techniques and run on commodity standard hardware. NFV can be instantiated on demand at different network locations without requiring the installation of new equipment. This key idea helps network operators deploy new network services faster over the same physical hardware which reduces capital investment and the time to market of a new service. Now it is the turn for the telecommunications technologies to detach software from the hardware where the telecommunications functions run (which makes equipment seller-dependent and expensive). Such detachment demands functionalities and infrastructures to be designed under such new paradigm.

The integration of NC and virtualization opens applicability of NC functionalities in future networks (e.g. upcoming 5G networks) to both distributed (i.e. each network device) and centralized manners (i.e. servers or service providers). The European Telecommunications Standards Institute (ETSI) has proposed some use cases for NFV in [1], including the virtualization of cellular base station, mobile core network, home network, and fixed access network, etc. In particular, there are already available some other efforts in the combination of NC virtualization and SDN technology. For example, in [2], the authors investigate the usability of random linear NC as a function in SDNs to be deployed with virtual (software) OpenFlow switches. The NC functions including encoder, re-encoder, and decoder are run on a virtual machine (ClickOS). This work provided a prototype of combination of NC and SDN. It also includes the implementation of additional network functions via virtual machines (VMs) by sharing system resources or additional hardware (e.g. FPGA cards). In [3], integration of network coding run in a VM into an Open vSwitch shows the relation between coding software, VM and host OS. The paper indicated the integration of NC as a functionality of a software defined network is possible. However, a unified theoretical framework for NC design in view of NFV is currently missing.

The contributions of this paper can be summarized as follows:

  • An architectural design framework for NC is proposed, which includes a functional domain design that enables virtualization-based design.

  • A virtualization process is presented by which NC can operate as a reliability functionality to any physical underlying network.

  • We validate our framework for an illustrative study case of geo-control network reliability in which the geographical location-based information of network devices has been exploited in the definition of the required functional entities.

The rest of this paper is organized as follows. In Section II, we propose the architectural design of NC. In Section III, we present higher-level architecture and virtualization process identifying an instance of NC functionalities to the network. In Section IV, we show when NC functionality is activated considering complexity/energy efficiency and also analyze the feasibility of the ideas with today’s technologies via a use case of NCFV for geo-controlled networks. Finally, in Section V, we identify conclusion and further work.

Ii NC Architectural Design Domains

Virtualization and NC are two different techniques to address different challenges in the designs of upcoming network technologies. The combination of virtualization and NC brings forth a potential solution for the management and operation of the future networks [3]. In order to do so, we present a proposal of distinct design domains. In order to distinguish the different abstraction processes: the ones related to NC and the ones related to NCFV.

Such domains are proposed as follows [4]:

  • NC coding domain - domain for the design of coding theoretical network codes, encoding/decoding algorithms, performance benchmarks, appropriate mathematical-to-logic maps, etc.

  • NC functional domain - domain for the design of the functional properties of NC to match design requirements built upon abstractions of

    • Network: by choosing a reference layer in the standardized protocol stacks and logical nodes for NC and re-encoding operations.

    • System: by abstracting the underlying physical or functional system at the selected layer e.g. SDN and/or function virtualization.

  • NC protocol domain - domain for the design of physical signaling/transporting of the information flow across the virtualized physical networks in one way or interactive protocols.

The domain relevant for NC as NFV is NC functional domain and we develop this domain in the next section by first interpreting NC as a network service for control of reliability. It is noted that use cases of NFV mentioned (e.g. [1]) investigate the concentration of network functions in centralized architectures such as data centers or centralized locations proposed by network operators, service integrators and providers. Nevertheless, our proposal is of distributed nature, closer to Distributed-NFV (D-NFV) [5], which provides distribution of NFV throughout the network. Thus NCFV can be located at various parts of the network including both centralized locations and distributed network nodes.

Iii NC Function Virtualization

Iii-a NC as a Network Functionality

Fig. 1: (a) Layer-independent functional view of reliability layer and (b) graph presentation denotes higher-level architecture of NCFV in which NC is a service of the network.

In Fig. 1(a), we illustrate the layer-independent functional view of a reliability layer at which NC functionality would operate which we will identify in detail in Section III-B. Assume that the NC functionalities have been designed well. Then, in view of higher-level architecture of NCFV, Fig. 1(b) shows that the small boxes in green work according to the NC functionalities we have identified while at the same time the overall design is compliant with existing proposals of NFV architectures such as [6]. In terms of D-NFV, NCFV may be resided anywhere in the network, e.g. data centers, central offices, and mobile devices, etc.

The physical/network/system infrastructure, e.g. satellite networks or terrestrial wireless systems, represents the physical resources including computing, storage, and network that provide processing, storage, and connectivity to NCFV through virtualization layer respectively. The difference will be that every virtual infrastructure will have its corresponding time/space scales and communication/computation resources.

In the architectural view, the virtualization layer makes sure that the NCFV is separated from hardware resources so that the softwarized function can be deployed on different physical hardware resources. Typical solutions for the deployment of NFV are hypervisors and VMs. Furthermore, NFV can be realized as an application software running on top of a non-virtualized server by means of an operating system (OS) [6].

Iii-B Virtualization Process

Based on the key features of NFV design, we identify preliminary NC functionalities so that NC can provide the reliability as a service to network (see Fig. 1(a)). In particular, we define common functionalities that NC design needs for system-specific designs [7] as follows:

  • NC core functions

    • NC Logic: logical interpretation of coding use, coding scheme selection (intra-session/inter-session, coherent/incoherent, file-transfer/streaming, systematic/non-systematic), coding coefficients selection (random/deterministic), etc.

    • NC Coding: elementary encoding/re-encoding/decoding operations, encapsulation/de-encapsulation, adding/removing headers, etc.

  • NC interoperable functions

    • NC Resource Allocation/Adaptation: optimal allocation of NC parameters.

    • NC Congestion Control: controlling congestion, interoperable with other congestion-control algorithms.

  • NC console functions

    • NC Storage: interactions with physical memory.

    • NC Feedback Manager: settings for feedback.

    • NC Signaling: coordinating signaling parameters.

At the NC core blocks, interactions with other nodes bring into agreement on coding schemes, coefficients selection, etc. NC coding block receives all inputs regarding coding scheme, coefficients, coding parameters, packets from storage block, and signaling to perform elementary encoding/re-encoding/decoding operations, etc.

At the NC interoperable blocks, NC adaptation block generates optimal coding parameters to the coding operation block. The NC interoperable functions also contain NC geo-information block which provides geographical location-based information and required level of reliability to the resource allocation process.

At the last stage, NC console blocks, which connect directly to physical storage and feedback from network nodes to provide NC packets and packet loss to the upper stage respectively. Depending on every specific design, the NC function domain blocks allow the designer to adjust NC functionalities according to the technical requirements and NC design objectives.

It is noted that in NFV, a virtualized NC function is a software package that implements such network function. Our proposed functionalities allows for different (use-case driven) possible implementations of such package.

Iv Case Study: Geo-controlled Network Reliability

Iv-a Scenario

Fig. 2 illustrates two cases of geo-control of reliability called conventional and ultra-reliable communication, respectively. The former case utilizes cooperation with neighboring devices as repeaters in line networks or multi-hop networks to support communication services beyond the cell coverage. Whereas the latter case constitutes connections with surrounding devices to support communication links beyond the coverage of cellular networks in which NCFV can be located at distributed network nodes including user terminals, data centers, drone, and satellites to offer the reliability functionality to the network.

Fig. 2: Network abstraction showing geo-control of reliability functionality.

In the following, we are to validate our proposed framework, but is out of the scope of this paper the actual implementation over VMs.

Iv-B Optimal strategy of virtual reliability function

In this section we are interested to validate NCFV operation as a (virtual) functionality.

Iv-B1 Analytical model


be the vector of per-hop erasure rates e.g.

for 2 hops and be the coding rate and be the packet loss rate after decoding. The packet successfully-received rate after decoding is defined as . Let and denote packet length in bits and in symbols, respectively. Let and denote the complexity in terms of number of multiplications and additions, respectively, required for the encoding process.

We are interested in investigating when NC should be activated in terms of (1) computational complexity/energy consumption and (2) minimum requirement of packet delivery rate (). In order to do so, we define the following utility function:


where the first factor accounts for the goodness of the encoding/decoding scheme in achieving target performance . The second factor accounts for the cost in computational complexity/energy consumption. Whereas with and are weigh factors with respect to the goodness and cost.

We define the goodness and cost, respectively as follows


with is the ratio between the encoding complexity and the encoding with minimum redundancy. We assume that the source has limitation on computational complexity/energy (e.g. ).

The source identifies at which rate that it maximizes its own utility under constraint of complexity/energy by the following optimization strategy:


This strategy determines the upper bound for the benefit of the source and the highest performance , respectively that the source can provide to the destination according to a given . NC functionality is activated if , where is a threshold. Note that given the constraints, our virtual reliability functionality should self-adapt to underling (physical) channel and hardware computational limitations.

Iv-B2 Numerical results

Our proposed optimization strategy Eq. (4) identifies the optimal points that bring highest benefit for the source’s viewpoint. In addition, it also identifies the upper bound on the achievable performance for the configuration of the functionality given as .

Figures 3 shows maximum utility and respective for e.g. NC over 2-hop networks [8] according to various values of with , , and . We consider the optimization problem with small and large values of , respectively. In case of , we can see that when channel condition is good (i.e. is small), the source should activate NC functionality with high coding rate in order to maximize its own utility with the optimal is around 0.8. While NC functionality should be activated with low coding rate since increases. Then, reaches to 1. In cases of bad channel conditions (e.g. ), maximum utility and respective are very low due to strong impact of channel conditions. In such cases, the source should deactivate NC functionality. On the other hand, for (i.e. high cost in terms of complexity/energy), the results indicate that maximum utility obtained is very small if compared with the case of small . Moreover, respective is small and reduced gradually with the increase of . Therefore, in these cases, NC functionality should not be activated.

Fig. 3: Maximum utility and respective according to various values of and with and .

The upper bound on the achievable utility has been identified by the constraint of complexity/energy. Then, it is necessary to identify operative ranges of performance so that the destination user is aware and admits some variations in the quality. The cognitive algorithm to identify the operative ranges is briefly described as follows: (1) the source identifies maximum utility () and respective given , (2) the source then determines that satisfies , where is the lower bound e.g. , and (3) the source should activate NC functionality if the range of performance is acceptable by users.

Fig. 4: Operative ranges of performance with respect to (a) and (b) , with .

Fig. 4 shows the operative ranges of achievable performance according to , , and , respectively. We can observe that larger value of requires smaller coding rates to obtain highest benefit for the source (i.e. a larger number of redundant packets). Furthermore, the results show that in case of large , the range of with regard to each case of is also smaller than that of small . As a final remark, we note that with larger , it is required lower coding rates, i.e. higher cost in terms of computational complexity/energy consumption to reach the optimal points.

In addition, we also evaluate computational complexity in terms of logic gates. The implementation of addition and multiplication over corresponds to and gates, respectively [9]. Figure 5 indicates the complexity in terms of logic gates with respect to operative ranges in Figure 4. The wider range of the peformance results in a larger difference between complexity required for minimum and maximum . Therefore, it is apparent to note that there exists a tradeoff between network performance and computational complexity.

Fig. 5: Complexity in terms of number of logic gates according to and , respectively.

Iv-C Gain in increase of connectivity

The increase in connectivity is defined as the extension of communication range beyond cellular coverage given a requirement of reliability. We evaluate the potential of our solution for the increase of connectivity through simulation results. We assume that packet erasure rates for all links are . Whereas and , respectively. The analysis of indicating the ability of the NC virtualized design in supporting geo-controlled network reliability is conducted in [10]

. It is assumed that a great number of network devices are uniformly distributed in a deployment area of

. Then, the ratio of the deployment area and the number of devices defines network density i.e. the average area covered by a device. A base station (BS) is located at center of the area with maximum radio range of 1.5 km. It is assumed that maximum radio range of WiFi signal on each device is . The number of devices is 0 and , respectively with 1 device per and device per . By limited radio range of BS, the deployment area is divided into two regions: within cellular coverage and beyond cellular coverage.

Using statistics based on some uniform symmetry assumption over the 2D coverage, we identify the number of available neighbors for a given density. For high uniform density of devices and all having the same loss rate, we could compute the percentage of available relays around a device, but also of how many hops each device could have. The same is for all devices in the deployment area. Whereas for low density that percentage would decrease. Then, we have a law of how the varies with distance for different densities, which corresponds to a given loss rate and the number of hops. The ratio of the short-range radio coverage and device’s density identifies the number of neighbors around a device, i.e. relays that may help with improving network reliability. The distance is normalized by coverage range of cellular signal to compare how much the coverage is improved beyond cellular range.

Required 95 % 90 % 85 %
With Geo-NC 27 % 60 % 87.5 %
Without Geo-NC 1.5 % 12.5 % 20 %
Gain 18 4.8 4.3
Required 95 % 90 % 85 %
With Geo-NC 12 % 19.5 % 25.5 %
Without Geo-NC 1 % 9.5 % 16.5 %
Gain 12 2.1 1.6

Focusing on the performance of geo-control, Tables I and II show (i.e. reliability) for different densities corresponding to a given loss rate. In particular, we note that with NC functionality, the requirement of can be reached at normalized distance of , i.e. extension beyond the cellular coverage in case of 1 device per 250 . The reason is that spatial diversity created by up to 4 relays increases opportunity for the network-coded packets to reach the destinations. Otherwise, for low device’s density e.g. device per 350 , we observe that communication services only support beyond cellular coverage under the requirement of because of only neighbors at each hop available to help. On the other hand, without geo-controlled NC functionality, the performance degrades dramatically with respect to the increase of distance. Transmission range is then only extended approximately beyond cellular coverage constrained by reliability in case of 1 device per 350 . Specifically, simulation results show that our proposed solution can provide up to times and times gain in connectivity if compared to transmission without geo-NC with reliability in cases of high and low device’s densities, respectively.

V Conclusions

In this paper, through analyzing the NC virtualized design in supporting geo-controlled network reliability, we show the applicability of NCFV in improving network reliability beyond cellular coverage where geographical information is the key enabler to support network reliability. This work is the first step towards the integration of NC virtualization into future network systems including cooperative systems with heterogeneous network devices.


This research was financially supported by H2020 GEO-VISION - GNSS driven EO and Verifiable Image and Sensor Integration for mission-critical Operational Networks (project reference 641451).


  • [1] The European Telecommunications Standards Institute, “Network functions virtualisation (NFV); use cases,” in GS NFV 001 (V1.1.1), Oct. 2013.
  • [2] D. Szabo, F. Nemeth, B. Sonkoly, A. Gulyas, and F. H. Fitzek, “Towards the 5g revolution: A software defined network architecture exploiting network coding as a service,” SIGCOMM Comput. Commun. Rev., vol. 45, no. 4, pp. 105–106, 2015.
  • [3] J. Hansen, D. Lucani, J. Krigslund, M. Medard, and F. Fitzek, “Network coded software defined networking: enabling 5G transmission and storage networks,” Communications Magazine, IEEE, vol. 53, no. 9, pp. 100–107, 2015.
  • [4] M. A. V zquez-Castro, A. Tassi, I. Chatzigeorgiou, D. Vukobratovic, and P. Saxena, “System and layer independent network coding architecture design,” in NWCRG Meeting,, 2015.
  • [5] Y. Gittik, Distributed Network Functions Virtualization: An Introduction to D-NFV.   White Paper,, 2014.
  • [6] The European Telecommunications Standards Institute, “Network functions virtualisation (NFV); architectural framework,” in GS NFV 002 (V1.1.1), Oct. 2013.
  • [7] M. A. V zquez-Castro and P. Saxena, “Network coding over satellite: From theory to design and performance,” in Volume 154 of the series Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, Sept. 2015, pp. 315–327.
  • [8] P. Saxena and M. A. V zquez-Castro, “Network coded multicast and multi-unicast over satellite,” in Proceedings of the 7th international conference on advances in satellite and space communications (SPACOMM), 2015.
  • [9] G. Angelopoulos, M. Médard, and A. P. Chandrakasan, “Energy-aware hardware implementation of network coding,” in Proceedings of the IFIP TC 6th International Conference on Networking, ser. NETWORKING’11, 2011, pp. 137–144.
  • [10] D. D. Tan and M. A. V zquez-Castro, “Efficient communication over cellular networks with network coding in emergency scenarios,” in International Conference on Information and Communication Technologies for Disaster Management (ICT-DM), 2015, pp. 71–78.