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 , 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 , 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 , 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 . 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 :
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. ) 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) , 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
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 . 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) .
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  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
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.
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  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.
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 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 . 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.
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 
. 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 %|
|Required||95 %||90 %||85 %|
|With Geo-NC||12 %||19.5 %||25.5 %|
|Without Geo-NC||1 %||9.5 %||16.5 %|
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.
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).
-  The European Telecommunications Standards Institute, “Network functions virtualisation (NFV); use cases,” in GS NFV 001 (V1.1.1), Oct. 2013.
-  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.
-  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.
-  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, https://www.ietf.org/proceedings/93/slides/slides-93-nwcrg-0.pdf, 2015.
-  Y. Gittik, Distributed Network Functions Virtualization: An Introduction to D-NFV. White Paper, https://broadbandworldforum.com/files/39231-Distributed-NFV-White-Paper.pdf, 2014.
-  The European Telecommunications Standards Institute, “Network functions virtualisation (NFV); architectural framework,” in GS NFV 002 (V1.1.1), Oct. 2013.
-  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.
-  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.
-  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.
-  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.