Keywords

1 Introduction

With the advent of cloud and virtualization technologies and the integration of various computer communication technologies, today’s computing environments can provide virtualized high-quality services. The network traffic has also continuously increased with remarkable growth. With such a huge trend, due to the flexibility and significant economic potential of these technologies, software defined networking (SDN) and network functions virtualization (NFV) are emerging as the most critical key enablers [1, 2]. As shown in Fig. 1, NFV enhancing the infrastructure agility, thus network operators and service providers are able to program their own network functions (e.g., gateways, routers, load balancers) on vendor-independent hardware substrate. They facilitating the design, delivery and operation of network services in a dynamic and scalable manner. NFV allows for the decoupling of physical network equipment from the services or functions that run on them, such that a given service can be decomposed into a set of virtual network functions (VNFs), which could then be implemented in software that can run on one or more industry standard computing nodes [3,4,5].

Fig. 1.
figure 1

Typical NFV network components and architecture

One of the main challenges for the deployment of NFV is the efficient resource (e.g. virtual network function (VNF)) allocation of demanded network services in NFV-based network infrastructures. However, the effective mapping and scheduling of VNFs are essential to successfully provide NFV services. In this paper, we proposed revised online (dynamic) virtual network function allocation scheme to cope with successive network service (NS) requests. Unlike previous research on resource allocation, we assumed that each virtual node processes one or more functions at a time using multiprocessing technologies as in the real environment [6,7,8].

The composition of this paper is as follows. We first highlight some mapping and scheduling challenges of VNFs in the NFV in Sect. 2. The proposed coordinated mapping and scheduling scheme of VNFs are presented in Sect. 3. Finally, the paper concludes in Sect. 4.

2 Related Works

Resource allocation in NFV requires efficient algorithms to determine on which high volume servers (HVSs) VNFs are placed, and be able to migrate functions from one server to another for such objectives as load balancing, reduction of CAPEX and OPEX, energy saving, recovery from failures, etc. [9].

In the NFV architecture framework the component that performs the resource allocation is the orchestrator. The orchestrator manages VNFs through the VNF manager (VNFM) and the virtualized infrastructure manager (VIM). The orchestrator evaluates all the conditions to perform the assignment of VNFs chains on the physical resources, leaning on the VNF managers and the virtualized infrastructure managers. The resource allocation in NFV has carried out in three stages: (1) VNFs Chain composition (VNFs-CC), also known in the literature as Service Function Chaining [1, 10] (2) VNF Forwarding Graph Embedding (VNF-FGE)2 and (3) VNFs Scheduling (VNFs-SCH). Next section deeply details the NFV-RA problem and its derived sub-stages.

Considering that NFV is still seen as a concept under investigation, little research has been conducted on VNFs scheduling. Riera et al. [4] provided the first formalization of the scheduling problem in NFV as a Resource Constrained Project Scheduling Problem. Recently, Mijumbi et al. [5] proposed an approach to tackle the online VNF-FGE and VNFs-SCH by proposing greedy and metaheuristic (tabu search) approaches aiming at reducing the flow execution time. The algorithms perform both mapping and scheduling at the same time (one-shot) resulting in high acceptance ratio, low average flow time and low embedding cost. This work considers a resource sharing approach that allows a given VM to process multiple VNFs, one after another (possibly) from a queue.

3 Proposed Virtual Network Function Allocation Scheme

The features of the proposed dynamic NFV-RA scheme in this paper are as follows. Unlike previous research on resource allocation, each virtual node processes one or more functions at a time using multiprocessing technologies.

  • Support one or more VNF component instances (VNFCIs) that provide the same functionality within a VNF through scale out

  • Online RA algorithm supporting integration of VNF-FGE and VNF-SCH

  • Multi-tenancy support

To explain the proposed VNF allocation scheme, we define the following variables and functions.

  • \( N \): A set of all virtual nodes, \( N = \{ 1,2,3,4, \ldots , n\} \)

  • \( n \): The number of virtual nodes

  • \( m \): The number of VNFs

  • \( S \): NS, consists of \( m \) sequential VNF, \( F = \{ 1,2,3,4, \ldots , m\} \)

  • \( \rho_{i,j} \): Processing time of VNF \( i \) at node \( j \)

  • \( \delta_{i} \): The buffer used by the node to which function \( i \) is mapped

  • \( B_{j} \): At some point, the available buffer size at node \( j \)

  • \( \beta_{i,j} \): 1 if node \( {\text{j}} \) can handle function \( i \), 0 otherwise

  • \( t_{l} \): Deadline time for which service to process

  • \( t_{i} \): Completion time of VNF \( i \)

  • \( t_{c} \): Current time of VNF \( i \)

  • \( t_{a} \): The time at which mapping and scheduling requests for the service arrived on the physical network

  • \( \pi_{j} \): Expected completion time of the last function waiting for processing at the corresponding virtual node \( j \)

  • \( \mu_{i} \): Start time of the first function waiting for processing at the corresponding virtual node \( j \)

The NFV-RA problem is to select a virtual node for \( j \in N(i) \) each VNF \( i \) and to select a completion time \( t_{i} \). Therefore, the NFV-RA problem is divided into two stages. First, a virtual node \( j \in N(i) \) (mapping problem) to which each VNF should be mapped is selected, and the order in which VNFs are executed in each node is determined (scheduling problem). Figure 2 shows the pseudo code of the proposed dynamic NFV-RA in this paper and Fig. 3 shows the VNFs supported by each node and each node constituting the network. Assume that the request for \( S_{1} = \{ f8 - f2 - f3 - f6 - f5\} \) arrives at time T1. Then \( S_{2} = \{ f6 - f8 - f4\} \) arrives. Figure 4 shows the scheduling map of the existing algorithm [5] and Fig. 5 shows the scheduling map proposed in this paper. Figures 4 and 5 show the scheduling map after S2 has been allocated, respectively. For the proposed algorithm, f8 is performed at \( n_{7} \) to reduce the queue latency at \( n_{1} \).

Fig. 2.
figure 2

Pseudo code of the proposed VNF allocation scheme

Fig. 3.
figure 3

Node capabilities and architecture of example node

Fig. 4.
figure 4

Static virtual network function scheduling

Fig. 5.
figure 5

Proposed virtual network function scheduling

Through the comparison of Figs. 4 and 5, it can be seen that the proposed algorithm reduces the execution time by one time unit.

4 Conclusion

One of the main challenges for the deployment of NFV is the efficient resource (VNF) allocation of demanded network services in NFV-based network infrastructures. However, the effective mapping and scheduling of VNFs are essential to successfully provide NFV services. In this paper, we proposed revised online (dynamic) virtual network function allocation scheme to cope with successive NS requests. Unlike previous research on resource allocation, we assumed that each virtual node processes one or more functions at a time using multiprocessing technologies as in the real environment. Compared with existing algorithms, it can be seen that the proposed algorithm reduces execution time by 10% time unit.