Novel NFV Aware Network Service for Intelligent Network Slicing Based on Squatting-Kicking Model

Future networks starting from 5G will depend on network slicing to meet a wide range of network services (NSs) with various quality of service (QoS) requirements. With the powerful Network Function Virtualization (NFV) technology available, network slices can be rapidly deployed and centrally managed, giving rise to simplified management, high resource utilization, and cost-efficiency. This is achieved by realizing NSs on general-purpose hardware, hence, replacing traditional middleboxes. However, realizing fast deployment of end-to-end network slices still requires intelligent resource allocation algorithms to efficiently use the network resources and ensure QoS among different slice categories during congestion cases. This is especially important at the links of the network because of the scarcity of their resources. Consequently, this paper proposes a paradigm based on NFV architecture aimed at providing the massive computational capacity required in the NSs and supporting the resource allocation strategy proposed for multiple slice networks based on resources utilization optimization using a proposed and analyzed Squatting-Kicking model (SKM). SKM is a suitable algorithm for dynamically allocating network resources to different priority slices along paths and improving resource utilization under congested scenarios. Simulation results show that the proposed service deployment algorithm achieves 100% in terms of both overall resource utilization and admission for higher priority slices in some scenarios in bandwidth-constrained contexts, which cannot be achieved by other existing schemes due to priority constraints.


I. INTRODUCTION
In network slicing of future networks starting from 5G, the intent is to take infrastructure resources from the spectrum, antennas and all of the backend network and devices and use them to realize multiple sub-networks with different properties. Each sub-network slices the resources from the physical network End-to-End (E2E) to realize its own independent, no-compromise network for its favored applications. The Third-Generation Partnership Project (3GPP) has defined four main slices types [1], [2]: the enhanced Mobile Broadband (eMBB) targets to meet ultra-high data rates as The associate editor coordinating the review of this manuscript and approving it for publication was Zehua Guo . required for 4K or immersive 3d video; the Massive Internet of Thing (MIoT) is targeted for devices that require massive connections like agriculture; the ultra-reliable low latency communications (URRLC) is targeted for ultra-low latency and high-reliability services like self-driving vehicles; and the vehicle-to-everything (V2X) is targeted for advanced driving assistance services and needs ultra-low latency and high data rates. Moreover, the architecture are adaptable to the different slice types that may emerge in the future. Because it would be far too costly to allocate a complete E2E network to each type of slice, the network infrastructure that promotes 5G will employ sharing techniques (virtualization technologies such as NFV), which allow for multiple slice types to coexist without having too many resources [3], [4]. With NFV, VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ network resources can be efficiently allocated and the process of implementing user-oriented services accelerated which saves both cost and time by enabling the implementation and deployment of middleboxes as virtual network functions (VNFs) running on Virtual Machines (VMs). In other words, by using NFV paradigm, network slices associated with resources can ensure optimization of resource provisioning to the end-users with high quality of service (QoS) and guarantee the performance of VNFs operations, including minimum latency and failure rate. Moreover, NFV simplifies service deployment by exploiting the concept of service chaining [5]- [10]. Virtualization and progressive softwarization of network function in NFV architecture give rise to new opportunities for improving application tools and platforms in the market, like management and orchestration (MANO), for controlling the life-cycles of the slices and as well as the underlying VNFs at the network levels; for instance, European Telecommunications Standards Institute (ETSI) standardizes the VNF structure [11] and suggests the OpenSource MANO (OSM) [12] platform. These platforms can undoubtedly facilitate the sharing of resources between slices, but they still require intelligent resource allocation algorithms to permit a particularised slice to meet its service level agreement (SLA) such as QoS and bandwidth. Moreover, such intelligent algorithms can improve load balancing, resource utilization, and network performance.
Realizing an E2E slice (e.g. Access, core, Transport, Backhauls) entails resource provisioning across both nodes and links of the network infrastructure as shown in Fig. 1. However, the management of link resources is a more critical aspect of the network slicing problem compared to node resource management. This is due to the complexity related to bandwidth allocation along a path and management of the prioritization on the links, among others, while jointly ensuring that the routing paths meet the QoS constraints under limited network resources [13]- [17]. In addition, it is difficult to select an optimal path for different priority demands and subsequent allocation of resources from source to destination in the physical substrate network.
Therefore, optimal resource allocation algorithms are vital to optimize link resource utilization, meeting various QoS requirements of services and providing high admission for higher priority slices under congested scenarios [18], [19]. Currently, few works, in literature focus on the link resources management (e.g., bandwidth management) considering a multi-slice scenario with prioritized demands despite its necessity for the realization of future network services characterized by massive bandwidth requirements [20]- [22]. Regarding bandwidth resource management under a multislice scenario, SKM exhibits competitiveness compared to Bandwidth Allocation Models (BAMs) and best-effort algorithms, especially during congested scenarios [23]. We, therefore, consider the SKM algorithm for this work.
In this work, we develop an algorithm that uses the intelligence of SKM strategy for efficient deployment and allocation of network resources in a multi-slice scenario while aiming at maximizing the utilization by choosing less congested paths based on the computation algorithms executed in the NFV architecture. We formally define the proposed algorithm to solve the problem of real-time resource allocation for QoS E2E routing considering realistic network behavior. This is carried out by incorporating strict constraints such as priority and bandwidth, and considering full network topology under online and offline demand arrival. Cognizant of this fact, this paper focuses on how intelligence can be deployed in NFV in order to provide efficient utilization of link bandwidth resources in a multi-service scenario considering strict constraints as required in 5G networks. Moreover, we want to point out that other parameters such as delay can be integrated into our proposed algorithm. SKM has squatting and kicking techniques. The squatting technique allows higher priority slices of service to utilize resources reserved for lower priority ones when being unused and vice versa. For higher priority slices, it is intended to improve the utilization, increase the acceptance ratio of the demands, and guarantee no rejection of demands when there are any unutilized resources in the network. On the other hand, the kicking technique guarantees better QoS of higher priority traffic, where the higher priority slices can kick lower priority ones from their currently allocated resources. The results demonstrate that our proposed algorithm strictly prioritizes higher priority slices in congested scenarios while resulting in similar performance compared to other algorithms using BAMs in the non-congested scenarios.
The rest of the paper is organized as follows: Section II, lists the current limits in 5G networks and positions our contribution. Section III presents related work in literature.
In section IV the network model and problem formulation are presented. In section V, we present and describe our proposed algorithm for the intelligent management of the multi-slice network. Section VI describes the performance evaluation of our algorithm. Finally, section VII concludes the paper and proposes recommendations for future work.

II. ISSUE AND POSITIONING OF OUR CONTRIBUTION
In this paper, the authors are exploiting the results from their previous work in El-mekkawi et al. [23] in the following aspects: • Proposing a service deployment algorithm based on the intelligence of the SKM model defined on [23] to maximize the number of successfully allocated service demands while maximizing the utilization and uniformly distributing the traffic across the different links of the network. Moreover, this algorithm can handle service requirements with different strict constraints, in both off-line and on-line modes.
• Adopting a realistic 5G network environment: the work proposed in [23] was analysed based on scenarios that are not representative of a realistic 5G network environment by considering single link network topology. However, in this work, we have analysed based on a realistic 5G scenario where the network topology is complex, the transmission is real-time, the requests arrive in online mode, and the demand structure is much more complicated compared to the mentioned paper (i.e., the demands are defined by source, destination, bandwidth, priority and lifetime to be allocated along the requested in a given network). Hence, finding routing paths in a given network and allocating/reserving the resources along the path should be considered, which makes it more complex than the setup of the mentioned paper. In addition, the online arrival of requests makes it imperative to keep the status of the substrate network resources always up-to-date, in order to directly assess the probabilities of allocating other requests as they arrive. This is more complicated in a full network topology setting.
• The performance of the proposed algorithm is analyzed by not only representative examples, but also long simulations that vary in terms of the system parameters as well as using topologies and metrics. The proposed solution aims at smartly sharing resources among different slices of services according to their service needs and assigned priorities. 5G network management with network slicing scenario faces numerous challenges that can be addressed through our proposed model including but not limited to the following: • Admission control and resource allocation problems: With the fast growth of 5G networks demands, limitation of resources and the QoS requirements of users, it is essential to know the maximum number of users that can be admitted simultaneously to the system while efficiently using the available resources and satisfying the QoS requirements [1]. Thus, we are motivated to find a solution for admission control and resource allocation problems in 5G networks that can achieve a targeted level of QoS by efficiently sharing the same resources between different priority application scenarios users.
• The need for a preemption policy: The 5G networks should allow a flexible means to enforce prioritization among the services under congested cases. The traffic prioritization may be enforced by adjusting resource utilization or preempting lower priority traffic [2]. In this regard, in this work, we exploit the kicking technique defined in [23] to ensure E2E high admission for higher priority slices during congested cases.
• E2E QoS for a service: Setting up QoS policies in nodes along the path is a complicated task. However, another constraint must be addressed; it is the routing with QoS constraints. In other words, how to ensure that the used path meets the user' bandwidth requirements [24]. SKM strives to find the most suitable path to meet the QoS requirements of users through differentiation of traffic slices and resource allocation using squatting and kicking techniques.
• Suitable strategy for future application scenarios: Our solution is deployable in any queue-based system. However, the benefits of our algorithm are more distinctive for future networks starting from 5G characterized by massive bandwidth requirements with prioritization under limited network resources in congested and extreme scenarios such as emergency and disasters. This is even more significant in a network slicing environment. In summary, our contributions are the following: 1) An intelligent service deployment algorithm that uses SKM strategy to jointly maximize resource utilization, acceptance rate and ensure QoS for higher priority slices while meeting various service constraints in a multi-slice scenario. The algorithm is defined mathematically considering a real-time application for full network topology with strict constraints demand such as priority and bandwidth. The algorithm proposed takes into account QoS management and QoS constraint routing with autonomic features and feasible computation time. Moreover, the proposed algorithm can be adapted to different constraints, topologies and scenarios.
2) The proposed algorithm provides a novel policy for E2E network slicing deployment based on efficient selection and serving demands. This policy takes into account QoS constraints for different priorities/slices. It is also suggested for optimizing the behavior of network slicing using intelligent mechanism that is proposed to be adopted in NFV architecture. Moreover, it acts as an admission control function to ensure proper performance of QoS levels while increasing the overall use of resources across the entire substrate network. VOLUME 8, 2020 3) Performance evaluations and analyses of the proposed algorithm are presented against service deployment algorithms incorporating BAM strategies in terms of several metrics. These metrics aim at reflecting the algorithm ability to manage multi-slice demands under various input traffic loads in a resource-limited 5G network. Moreover, we compared our proposed algorithm against the recent work from Reale et al [25].

III. RELATED WORK
In this section, we review recent works and briefly introduce studies on enabling technologies related to the mechanism of network slicing. We mainly focus on exiting works that relate to: (i) E2E network slicing; (ii) Define a new multi-path routing strategy that considers QoS constraints based on the NFV architecture and (iii) Resource allocation and QoS models.

A. E2E NETWORK SLICING
The concept of network slicing has been proposed to address the diversified service requirements in future networks (e.g., 5G networks). Network slicing is still a nascent paradigm and needs management and orchestration of network functions, mapping and service descriptions. In the existing literature, few works are conducted on the deployment of E2E network slicing despite its necessity for the realization of network slices as it provides the operators with the ability to customize networks and meet various service demands. Moreover, E2E slices need to be instantiated rapidly. In [10], the authors demonstrate network slicing as a service (NSaaS) and present a business model of NSaaS. The authors in [26] present PERMIT slice orchestration system, which is the first to deal with E2E slicing. In [27], the authors design various algorithms and measurement indicators to meet various service requirements for only two types of slices (rate constraints and delay constraints) and to solve the E2E maximum access rate of the entire system. However, these works still suffer from inefficiency in terms of deployment and management of E2E slices and need crucial and promising models to address the above challenges.

B. ADAPTIVE QoS ASSIGNMENT FOR MULTIPATH NETWORKS
Ensuring a right QoS level for multi-path networks is one of the significant challenges for multi-slice networks, especially where bandwidth resource consumption restrictions appear [28], [29]. The impact of multi-path and QoS can only actually be felt when real-time demands are routed over the network, especially in future large-scale networks, whose bandwidth is one of the main concerns. Notwithstanding the many multi-path routing methods, these remain limited when paths have asymmetric performances and demands are delicate to SLA violations. In [30], the authors propose a model of the adaptive and dynamic VNF allocation problem considering VNF migration. Moreover, they also consider service function chains (SFCs) with QoS constraints. On the other hand, the authors in [31] propose and evaluate the performance of an algorithm to allocate and compute optical bandwidth resources in an NFV environment to minimize their costs while taking into account the different costs of the Infrastructure Providers. In [32] the authors propose a methodical way to elastically tune the proper link and server usage of each demand, compute a proper routing path length, and decide whether to reuse resources for each function incrementally or not. From the aforementioned works in terms of path selection, as it computes an optimal routing path while taking into account how the resources are accessed according to a predefined set of slices on multi-sliced networks. Our algorithm strictly consider priorities and significantly differentiates between them under congested scenarios to improve the utilization and provide high protection for higher priority slice users depending on traffic, thus guaranteeing QoS and SLA.

C. RESOURCE ALLOCATION AND QoS MODELS
In the existing literature, several works deal with the dynamic resource allocation for ensuring a given QoS level per class, controlling how the resources are accessed and optimizing utilization. In terms of managing bandwidth allocation, BAMs are of high value in the context of QoS assurance. These BAMs are based on the Maximum Allocation Model (MAM) [33], the Russian Doll Model (RDM) [34] and the AllocTC-Sharing Model (AllocTC) [35]. In [36], the authors proposed an algorithm based on RDM to support dynamic bandwidth allocation for Differentiated services (DS) classes and improve bandwidth efficiency by providing the triple-play services to share the bandwidth. The allocation of bandwidth is based on the classification and prioritization of service. The proposed algorithm is applied to Ethernet Passive Optical Network (EPON) and assigns the fairness factor and services priority to the required bandwidth of the request.
The common problem of the algorithms based on RDM is that the resources reservation is made from the bottom to top; the low priority traffic shares its resources with the higher priority traffic and not the reverse, [37]- [39]. The common problem of the algorithms based on MAM is that there is no ability for sharing resources among traffic classes [40]. i To improve resource utilization, the reservation of resources should be supported in both directions. To this end, the authors in [35], proposed a model called AllocTC, which allows sharing of the unused bandwidth of high bandwidth applications with low priority and vice versa. In [41], the authors assessed the effectiveness of the AllocTC model compared to the RDM model. The authors have also shown by simulation that AllocTC is more efficient in terms of maximizing the link use and that it is better adapted to elastic traffic and high bandwidth usage. In [42], the authors launch a new approach to switch autonomously between models (MAM, RDM, G-RDM, and AllocTC) based on a controller. Switching from one algorithm to another can be done in different metrics, for example, link use, congestion probability, and packet number. In [25], the authors proposed the Generalized Bandwidth Allocation algorithm (G-BAM) that adopted the BAM approach to improve the efficiency and performance of the Multiprotocol Label Switching DS-Traffic Engineering (MPLS DS-TE) network in an autonomous way. In Bahnasse [24], the authors proposed a new SDN-based architecture following a new smart and dynamic model (smart Alloc) for allocating and controlling the QoS and routing with QoS restrictions for a DS-TE network. This model is based on RDM, and AllocTC approaches. Firstly, it aims at classifying flows based on their threshold severity (high, medium, and low). Whatever the priority of the flow belonging to the high threshold, the latter can benefit from the loans of the other categories. Secondly, to collect bandwidth from other categories and to determine the fairness index to allocate resources precisely to all flows while taking into account their priorities. Smart Alloc was implemented on a controller to manage QoS and routing for only the MPLS DS-TE networks. However, these models cannot ensure high admission for higher priority classes and give high network utilization at the same time.
In our previous works, El-mekkawi et al. [43], [44], we proposed the concept of SKM aiming at realizing a 100% overall network utilization while guaranteeing high admission for higher priority classes. In El-mekkawi et al. [43], an offline resource allocation strategy is proposed for EON embedding to improve the computational capacity. The proposed model considers priority classes and utilizes NFV architecture. The proposed algorithm is described, analyzed, and compared with existing models in terms of flexibility in resource allocation per class and prioritization of channel usage. Besides the fact that the performance of this work was not compared with the recent state-of-the-art work such as AllocTC under various scenario conditions, this work considers only offline scenario. Moreover, no formal description of the SKM strategy was given in this work. In Elmekkawi et al. [44], we introduced a new flexible admission control mechanism on a pool of resources based on squatting and kicking techniques (SKM) which can be employed under network slicing scenario. Moreover, the algorithm used in El-mekkawi et al. [44] only checks the capacity of the system (i.e., a pool of resources) to potentially accept the demand without considering the links. Therefore, it only focuses on satisfying the simple demands, where the demands are just admitted according to a pool of resources.

IV. NETWORK MODEL AND PROBLEM FORMULATION
This section is divided into three subsections: infrastructure network model, slice request model and problem formulation.

A. INFRASTRUCTURE NETWORK MODEL
The substrate network is modelled as a directed graph G(X , L) where X and L denote the set of all substrate nodes and substrate links respectively. If such a connection exists, we use l i,j ∈ L to denote a single edge substrate link between substrate node i ∈ X and substrate node j ∈ X . Each substrate link l i,j is characterized by i) Maximum link resources capacity R(l i,j ); ii) Available link resources at a given time denoted by R t a (l i,j ); iii) Consumed link resources R t z (l i,j ) at time t; iv) A set of traffic slices assigned along the link are denoted by CTs(l i,j ), where CT N (l i,j ) is the highest priority slice and CT 1 (l i,j ) is the lowest priority slice; v) Actually allocated resources to slice c S c (l i,j ), where c ∈ [1, N ]; vi) Slice resource constraints RC c (l i,j ). If such a path exists, we use P k s,r to denote kth shortest path between source node s ∈ X and destination node r ∈ X , where k ∈ [1, K ]. P s,r set denotes the set of all K shortest paths from node s to node r. V(P k s,r ) represents the set of feasible physical substrate nodes to map VNFs for P k s,r .

B. SLICE REQUEST MODEL
In our model, each request belonging to any kind of slice to be allocated in the substrate network is denoted by i) A source node s ∈ X ; ii) A destination node r ∈ X ; iii) The amount of resources required belonging to slice c, d w (CT c ), where demand w ∈ [1, D]; iv) priority c d w ∈ [1,3] and v) lifetime interval t d w . Further, in this work, we assume that the request volume is the required number of link resources, thus the potential paths from source to destination are determined when the request arrives. A description of all parameters, decision variables and main metrics used in this article is provided in Table 1.

C. PROBLEM FORMULATION
We propose the resource allocation problem to maximize the network resource utilization by allocating all service demands of slices identified below in the appropriate substrate network resources. The problem is formulated subject to the link and slice constraints, considering service demands with different priorities and link capacity requirements. The slice requirements and the available link resources are the inputs to the resource allocation phase along the substrate network. The output is the best routing path for a given slice request that optimizes network resources usage while guaranteeing high acceptance rates for higher priority slices. In this work, we considered three main application scenarios as defined by 3GPP. These are described below: 1) eMBB: This application scenario does not need a special QoS guarantee. Hence, this slice is adopted in this work to satisfy the service requests of the lowest priority. 2) MIoT: This application scenario is characterised by a massive number of connected devices, usually transmitting a relatively low volume of non-delay sensitive data. Hence, this application scenario is adopted in this work to satisfy the service requests of the intermediate priority.

3) uRLLC:
This application scenario is more stringent on delay requirements. Hence, this application scenario is adopted in this work to satisfy the service requests of the highest priority. Please note that in this study, to simplify the evaluation of our proposed algorithm, we assume that a network service demand is acceptable when the link resources are available along the requested path from the source node to the destination node.
The mathematical definition of the proposed algorithm is expressed as follows: The ultimate goal is to maximize network resource utilization while meeting demand constraints. Therefore, the major goal can be expressed by U(T) is the utilization of the links along the network at each time window T. The link resource utilization is related to the ratio of link resources used to the link capacity averaged across all substrate links described as follows: where X t,l i,j w ∈ [1, 0] is a binary variable equal to 1 if resources are allocated to the request w ∈ W on the link l i,j ∈ L, zero otherwise. d w (CT c ) indicates the bandwidth resources required by the w request. T indicates the duration of the simulation window in time units. The total used resources at link l i,j ∈ L at any unit time t descried by: This goal is subject to the following: 1) link constraints: Eq. (4) ensures that the maximum reservable bandwidth for a link l i,j at any time is less than or equal to the link capacity for that link. Eq. (5) specifies if request w is allocated at a given time. In other words, the demand will be successfully allocated from source to destination if all links along the path have more available resources than required. 2) Slice constraints: To allocate the demand into a set of traffic slices for each link along the requested path, we use SKM model proposed in [23]. SKM's model contains two techniques; squatting and kicking techniques. Squatting technique helps in sharing of unused resources between higher and lower priority service slices while kicking technique ensures proper QoS for higher traffic priority slices by expelling lower priority slices from resources directly assigned to them. SKM performs four steps to allocate each demand, which are as follows: Step 1 (MAM): Upon arrival of a demand d w (CT c ) belonging to slice c, the following constraints are checked: Eq. (6) ensures that the resources needed to serve the already existing demands plus the new demand do not exceed slice resources constraint while Eq. (7), ensures that the total amount of slices resources constraints should be equal to R(l i,j ). If constraints are satisfied, d w (CT c ) is accepted. Otherwise, try step 2.
Step 2 (Squatting-High or RDM): Try to squat unused resources starting from the higher adjacent priority slice upwards until there are enough resources to satisfy d w (CT c ). If the resources are enough, then accept d w (CT c ), otherwise, try step 3. Note that the total allocatable resources in CT c (l i,j ) cannot exceed the slice resource constraint RC c (l i,j ) plus all squatted resources from higher priority slices as in Eq. (8). Eq. (9) indicates that SH q (l i,j ) is less or equal to the difference between the slice resource constraint and the minimum between the allocated and the reserved resources for the same slice. Note that the highest priority slice cannot use Squatting-High strategy.
Step 3 (Squatting-Low): Try to squat unused resources starting from the lower adjacent priority slice downwards until there are enough resources to satisfy d w (CT c ). If the squatted higher resources plus the squatted lower resources satisfy d w (CT c ), then accept d w (CT c ), otherwise, try step 4. Eq. (10) indicates that the total allocatable resources in CT c (l i,j ) cannot exceed the slice resource constraint plus all squatted resources in both squatting high and low. Moreover, SL q (l i,j ) works like SH q (l i,j ), but from lower slices, as shown in Eq. (11). Note that the lowest priority slice cannot use Squatting-Low strategy.
Step 4 (Kicking): Try to kick the assigned resources partially or totally starting from the lowest priority slice upwards through the lower adjacent slice until there are enough resources to satisfy d w (CT c ). If the sum of squatted higher resources plus the squatted lower resources plus the kicked lower resources satisfy d w (CT c ), then accept d w (CT c ) and count the kicked demands as blocked demand for the same slice else, d w (CT c ) will be rejected. Eq. (12) ensures that the total allocatable resources cannot exceed the total of slice resource constraint plus all squatted resources in both squatting high and low plus all kicked resources from the lower priority slices. Moreover, the total kicked resources from lower slice q, K q (l i,j ) cannot exceed the slice resource constraints RC q (l i,j ) as Eq. (13). Note that the lowest priority slice cannot use kicking strategy.
Obtaining an optimal solution for the above-formulated problem would involve computing all possible paths between source and destination, then enumerating all service deployment combinations in order to identify the optimal solution from all the feasible solutions. Evidently, this is a typical NP-hard problem. As such, exact solutions, as well as approaches based on conventional solvers such as CPLEX and Gurobi to solve the above problem, are not feasible in terms of execution time for delay-sensitive 5G applications which is the target of this paper, especially for large scale networks. Therefore, this motivates the adoption of our heuristic approach as it is able to realize the near-optimal solution with feasible execution time.

V. DEPLOYMENT POLICY OF MULTIPLE NETWORK SLICES
In this section, we discuss the proposed algorithm for serving of priority requests in a multi-slice network. Specifically, we give a detailed discussion of the different steps involved in implementing the algorithm.
Network slicing requires effective QoS management models to provide fast and dynamic detection and reservation of network resources that often vary in type, implementation and priorities. Consequently, the main goal of the deployment process is to optimize the use of resources by effectively allocating different priority service requirements in terms of link resources across the entire network. We use SKM strategy in nodes to optimally assign the demands in terms of bandwidth in a multi-slice network. Since this is an NP-hard problem, even the algorithms proposed would consume a considerable processing load to calculate the solution. As such, they will be forwarded to the NFV architecture under the shape of a Service Chain of VNFs. With NFV, each service instance is composed of a sequence of virtual network nodes (VNNs) and virtual links, which can be illustrated as a service chain (SC). VNNs which carry dedicated VNFs can be deployed onto network data centers (DCs) and run on general-purpose hardware. A virtual link between VNNs can be realized as a multi-hop physical path. Hence, the network slicing resource allocation can be defined as a possible path that slice traffic should follow in infrastructure networks with adequate resource availability. To this end, SKM is used in nodes along the requested routed physical path to organize VNFs execution in the reconfigurable graphs (i.e., VNF forwarding graphs (VNF-FGs) or as defined by ETSI SC) in order to realize network service elastically as shown in Fig. 2. This is because the traffic flowing through VNF-FGs can exhibit high throughput and high burstiness in the dynamic nature of bandwidth-intensive services.
The deployment process includes three main steps to allocate each demand: 1) Search for all possible paths from source to destination with the specified routing algorithm; 2) Allocation decisions and 3) Optimal path selection strategy. Below is a detailed description of the steps.

A. ROUTING ALGORITHM STEP
To find all possible paths to allocate the service request from the source node (s) to the destination node (r), VOLUME 8, 2020 several algorithms can be used like brute force and others. Because of the path computation complexity, in this study, we are adopting the k-shortest path (KSP) algorithm. Moreover, in this study, all possible paths are examined first, and then the best routing path is determined by examining node per node to see if there are enough resources. This is performed using SKM according to service requests and the available resources in the network.

B. ALLOCATION DECISIONS STEP
Since the substrate is shared, the number of concurrent instances can be optimized through approaches and algorithms to control how the resources are accessed and dynamically optimize the network utilization according to a set of service slices. The allocation decisions steps are described below: • Check all potential paths according to the available resources' metric defined using a specific allocation strategy.
• Adopt a specific allocation strategy (SKM) for individual node allocation optimization based on efficient utilization. SKM performs the admission control to check if the resources of the user demands are sufficient for the QoS requirements.
• For each path (check node-per-node), calculate the available resources along the routing path by using a specific allocation strategy according to the demand requirements. Note that if there are not enough resources in one link to allocate the demand, the path will be discarded. Algorithm 1 summarizes the steps of SKM to allocate the demand in a multi-slice network.

C. PATH SELECTION STRATEGY STEP
After checking all feasible routing paths by using SKM in nodes, we must choose the best path based on available Execute MAM strategy using Eq. (6) ; end else if the total allocatable resources in slice c S c (l i,j ) ≤ the sum of CT c (l i,j ) and all squatted resources from higher priority slices then Execute RDM strategy using Eq. (8);

j ) and all squatted resources in both higher and lower priority slices then
Execute Squatting-Low strategy using Eq. (10); resources in the links belonging to that path in order to achieve reliable user traffic. In this work, allocating a demand in the optimal path depends on three tasks: 1) SKM calculates the resources available in the links along the routing paths. Up to this task, SKM gets an overview of the link capacity and the resources available in the link. Then, 2) determines the highest available resource path, taking into account service quality constraints. Finally, in 3) in the case of the presence of two or more paths, having the same available resources, the demand will be allocated in the path with the least bandwidth resource consumption.
For task 1, the available link resources at any time can be calculated as below: Eq. (14) shows the calculation of available resources in a link. Moreover, R t z (l i,j ) can be determined by the summation of the difference between R(l i,j ), and the minimum between assigned and reserved resources for each slice as in Eq. (15), where N is the number of slices along the link l i,j .
Then, the link's available resources is the minimum value of R t a (l i,j ) = Min(R t a (l i,j )). Task 2, aims at selecting the best path taking into account the constraints of bandwidth resources in the links. The best path in relation to QoS constraints can be determined when their links satisfy the resource constraints.
The links meeting the resource constraints are defined by Eq. (16): In the final task, if there are two or more paths with the same amount of optimal available resources, then, select the path with the least bandwidth resource consumption to be optimal as as expressed in Eq. (17).
Algorithm summarizes the procedure for highest available routing path selection. After defining the optimal path that meets QoS constraints, the demand will be allocated based on the SKM in the network.

VI. PERFORMANCE EVALUATION
In this section, technical comparison of SKM against the state-of-the-art algorithms, the evaluation methodology for our service deployment policy behavior for both online and offline modes including the performance metrics and description of the simulations scenarios are presented. Later on, the results obtained are presented and discussed.

A. COMPARED ALGORITHMS
BAMs are of great value in the context of efficient and customized use of network resources among several traffic classes (slices). Therefore, in this work, we compare our proposed algorithm against other states of art BAMs. We complement the case study presented by simulating our proposed algorithm using full network topology and comparing the results against the most referenced MAM, RDM, G-RDM and AllocTC. The resource allocation algorithms that are compared in different simulations are summarized in Table 2 Algorithm Path Selector Algorithm Input: Set of accepted paths A p Output: Path connecting a source s to a destination r with highest available resources path P k s,r . PROCESS for each link l i,j ∈ path P k s,r ∈ A p do Calculate available resources of a link l i,j ; (l i,j )); end for each (P k s,r ∈ A p and R t a (l i,j ) > 0) do Select the optimal path based on highest available resources; if two paths or more have same amount of available resources along the path then compute the less consumption path of bandwidth resources; Min with their key attributes indicated. The algorithms are compared considering a number of simulation scenarios with each scenario intended to meet a given objective. The scenarios considered for the performance analysis are indicated in VI-D. In all simulations, algorithms were developed using Eclipse IDE for Java Developers, version: Mars.2 Release (4.5.2) and conducted on a desktop computer running Windows operating system with the following specifications: Intel(R) Core(TM) 2 CPU 6400 @ 2.13GHz Memory 6GB.

B. OFFLINE AND ONLINE BEHAVIORS OF THE PROPOSED DEPLOYMENT POLICY
The deployment policy proposed in this paper is designed to customize service demands between a set of network slices to work with both offline and online scenarios. In offline mode, all demands are known in advance, while in the online scenario, they are assumed to arrive in real-time, where each demand has a lifetime. The following sub-subsections introduce the overall idea of each scenario.   3) Finally, the evaluation phase to assess the performance of our proposed service deployment policy including several metrics.

1) OFFLINE BEHAVIOR OF THE PROPOSED DEPLOYMENT POLICY
Additionally, this behavior includes a new decision strategy for allocating resources to demands and promotes resource management and reservation. As we mentioned before, in offline behavior, the numbers of demands are known in advance. Therefore, to simplify the path computation in terms of resource allocation, we order the demands according to their priorities and capacities. This means that if two or more demands have the same priority, the largest demand is allocated first to keep resource usage high in most cases. This is meant to simplify the procedure of assigning accepted demands in all links along the routing path since this strategy will make kicking unnecessary (i.e., kicking action will be unnecessary since the higher priorities are processed before). Fig. 4 is a flowchart showing the general procedures of the online behavior of the proposed deployment policy. By applying this behavior, network traffic can be distributed fairly according to the QoS strategy across all links along the paths. This gives efficient use of network resources and solves online allocation problems such as priority forwarding across all links along paths throughout unit times. In this behavior, the demands are arranged according to size and priority to minimize the number of kicking operations. The contrast between SKM offline and online behavior is that in offline mode, sorting is done before the process of the allocation of Alg 1 in each unit time. In other words, for each unit of time, the algorithm fetches a set of multiple demands sequentially from the demand generation file (D) list and checks for the expiration of the allocated demands. After checking the expiration stage, demands will be ranked according to size and priority level from highest to lowest. Once the arrangement stage occurs, the process assignment of Alg 4 will be used to allocate demands along the network topology paths. Once successful allocating occurs, the algorithm updates all the changed substrate network resources and moves to the next unit time. However, if the selected paths from source to destination do not have sufficient resources to accommodate demands at a unit time, the algorithm rejects these demands and moves to the next unit time. This process continues until no more requests are processed. Please note that in both offline/online modes, the demands arranging step improves the resource usage in the network because arranging demands according to the size leads to higher utilization rate in most cases. Moreover, arranging demands, according to the priority, guarantees the least amount of kicking procedure.

C. PERFORMANCE METRICS
The performance of our service deployment policy is compared with the chosen state-of-the-art policies with regards to several performance metrics including the total acceptance ratio (AR) and the overall utilization (U), among others. These are commonly used metrics in the literature for assessing the performance of the resource allocation algorithms [45], [46]. All the performance metrics used are described below for each one of the behaviors.

1) OFFLINE PERFORMANCE METRICS
For the case of permanent demands (without lifetime), the total acceptance ratio (AR), the total blocking probability (Bp), the total utilization (U), the acceptance ratio per slice (ARc), the blocking probability per slice (Bpc), the utilization per slice (Uc), load balancing and overloaded link can be evaluated in Eq. (18)(19)(20)(21)(22)(23)(24)(25) as below: Acceptance ratio, AR: Acceptance ratio per slice, AR c : Blocking probability, Bp: Blocking probability per slice, Bp c : Utilization, U : Utilization per slice, U c : Load balancing, LB(L): Overloaded link, L ov : Please note that, AD, AD c , BD, BD c , D, D c , s c (l i,j ), µ and R(l i,j ) definitions are given in Table 1.

2) ONLINE PERFORMANCE METRICS
The metrics for the finite duration (online) demands considered in our work are as follows: Average acceptance ratio, AR(T ): This parameter is a direct measure of how an algorithm is able to share the resources among the multiple demands in an effective manner. This is expressed as a ratio of the allocated demands to the total demands in the system, whereas, the demands in the system include both the admitted and pending demands. Therefore, the allocating algorithm should guarantee a good AR performance with the constraint that there is no degradation in the QoS of the allocated users. Mathematically, the average AR is given in Eq. (26) [45]. Where the observation time of the system is from t until T.

VOLUME 8, 2020
Average blocking probability, Bp(T ): This parameter is evaluated as the ratio between the total number of blocked demands and the total number of demands received by the system throughout the entire simulation window. Mathematically, the average Bp(T ) is given in Eq. ( 27).
Average acceptance ratio per slice, AR c (T ): This parameter is a direct measure of how an algorithm is able to share the resources into set of traffic slices among the multiple demands in an effective manner. This is expressed as a ratio of accepted demands by each slice separately and the total demands for the same slice throughout the entire simulation window. Mathematically, the average AR c (T ) is given in Eq. ( 28).
Average blocking probability per slice, Bp c (T ): This parameter is a direct measure of the ratio between the total blocked demands by each slice separately and the total demands for the same slice received by throughout the entire simulation window. Mathematically, the average Bp c (T ) is given in Eq. ( 29).
Average resource utilization, U (T ): This parameter considers the average utilization of the links throughout the entire simulation window. The link resource utilization as defined in [46] is the ratio of the used resources to the link capacity averaged over all substrate links. The mathematical formulation of these parameters is given in Eq. ( 30).
Average resource utilization per slice, U c (T ): This parameter takes into account the average use of slices in links throughout the entire simulation window. The utilization per slice is the ratio of the used resources by each slice separately to the total capacity of resources of the same slice. The mathematical formulation of these parameters is given in Eq. ( 30).
Average load balancing, LB(L)(T ): In this work, we use the variance of the link resource consumption to calculate the load balancing in the network. Mathematically, the average load balancing performance, LB(L)(T) across the links of the full network is given in Eq.( 32) [46].
where L is the set of all links in the network and |L| is the cardinality of this set. U(T) as illustrated in Eq.( 30) is the average resource utilization on the link l i,j and µ is the mean value of this parameter along the network. Average overloaded link, L ov (T ): High overloaded links will be the reason for having long term queues, and thus, higher delay and higher packet loss rate will occur. Moreover, in order to achieve a better QoS for the service request, the link loads and the number of links across the network should be reduced. The performance of overloaded link across the network can be expressed mathematically by Eq. ( 33).

3) EXAMPLE OF OUR PROPOSED ONLINE DEPLOYMENT POLICY
In this example: The network topology consists of 6 Nodes and 9 links as illustrated in Fig. 5. In this substrate network, it is assumed that all links have the same capacities which are equal to 30 units. Moreover, each link is split into three priority slices having same amount of resources equal to 10 units. Four requests attempt to be mapped based on the resources available in the network as indicated below. For each request, the deployment algorithm will execute three steps as follows: i) In the routing algorithm step, we assumed that the K-shortest path search algorithm is applied with the value of k set to 2 in order to allocate the request; ii) Then, SKM strategy will be used to allocate the requests across the network, and iii) Finally, the performance of our deployment policy is evaluated through a number of metrics. Moreover, the generation rate is one request per each unit time as follows:   Table 3 illustrates the online behavior of the proposed policy in the example shown above, taking into account the online mode in terms of resource allocation and on-demand reservation. This is realized by considering traffic slices and link capacities. Furthermore, the above example shows that SKM can make efficient path setting decisions according to the priority of requests. In the table, the first column represents the service requirements and the best paths to set on the substrate network. The second column on the left shows the routing step for the proposed policy. In each time unit, the algorithm first verifies that allocated requests have expired and the substrate network is updated. Then, the algorithm performs the allocation process as illustrated in the third and fifth columns (expired requests, and the resources available at each link of the path). For example, the algorithm in the fourth unit time updates the network resources because the VOLUME 8, 2020 request #2 : 10 3 (0) has expired, and then begins the allocation process for the new arrival request #4 : 24 1 (6). Moreover, during the allocation process, the algorithm performs a sorting operation for all requests according to size and priority to ensure that the higher priority request is allocated first as indicated in the sixth column (Alive demands after sorting).
As an example showing how to implement the sorting operation, in the fourth time unit, the algorithm implemented the sort operation by rearranging all live requests including new access request #4 : 24 1 (6). Accordingly, the requests #3 : 20 2 (3) and #4 : 24 1 (6) are assigned, respectively. In addition, in this example, in the third unit time, SKM is executing the kicking operation because there aren't enough resources in the network to set the new arrival request #3 : 20 3 (3) which has the highest priority. This is accomplished by verifying all of the least-priority requests that are not expired that can be expelled. Thus, the request #1 : 15 2 (3) is expelled from the substrate network to assign the request #3 : 20 3 (3) as indicated in the seventh column (Execution). In the last column on the right, the algorithm determines which routing path that can be optimized for assigning requests based on available resources. The results of the evaluation metrics are shown in the Table 4

D. EVALUATION SCENARIOS
We carried out our simulations scenarios to fully demonstrate the difference in the performance between the SKM and the BAMs. It is essential to mention that the potential dynamic behavior of our proposed deployment algorithm is the target of the presented simulations. These simulations focus on validating the reproducibility characteristics of our algorithm to ensure the QoS levels (especially the higher priority slices) and to achieve high resource utilization. Moreover, five sets of simulation scenarios, aiming at evaluating our proposed algorithm performance, are conducted in this paper: 1) Scenario one: We generally evaluate our proposed algorithm performance in terms of U(T), U c (T ), AR(T), AR c (T ) and P re in full network by comparing our solution against the most referenced models, MAM, RDM and G-RDM in one scenario similar to [25], as explained in VI-E. The objective of this scenario is to validate the techniques of bandwidth allocation approach of SKM and their ability to generate high admission for the higher priority slices across full network. 2) In the remaining sets of the simulation scenarios, we investigate our proposed solution performance on limited resource networks under different traffic loads. Moreover, this comparison is in terms of U(T), U c (T ), AR(T), AR c (T ) and P re , LB and L ov considering MAM, RDM and AllocTC. We performed our scenarios in both online and offline modes as follows: • Scenario two: under this scenario, the objective is to evaluate the impact of mesh topology where nodes are reachable in a single hop from each other on the performance of SKM against other algorithms considering different load distributions. An online simulation under mesh network topology and different generated traffic loads for traffic slices of all priorities are considered and described in VI-F. The reason for using the mesh network topology is that bottlenecks are minimal, which gives a more accurate view regarding the scalability of SKM with the size of the network compared to other topologies which have huge bottlenecks links, and this was the basis for this scenario.
• Scenario three: An offline simulation under mesh network topology and different generated traffic loads for traffic slices of all priorities are considered and described in VI-G. The objective of this scenario is to analyze the robustness of SKM under permanent loading stress in a mesh network topology.
• Scenario four: Online simulation under NSF network topology and different generated traffic loads are considered and described in VI-H. The objective of this scenario is to analyze the impact of different network complexity on our proposed algorithm performance against the other algorithms. The NSF topology has more bottlenecks which further complicates resource allocation and QoS management compared to mesh topology.
• Scenario five: An Offline simulation under NSF network topology and various generated traffic load for traffic slices of all priorities are considered and described in VI-I. The objective of this scenario is to analyze the robustness of SKM under permanent loading stress in the NSF topology.

E. SCENARIO 1: OVERALL PERFORMANCE IN A FULL NETWORK TOPOLOGY
In this evaluation, our proposed solution is compared to G-BAM, MAM and RDM under saturation case. In this scenario, the demands arrive dynamically, and the traffic load is generated high in the lower priority slices to evaluate the performance of each algorithm before and after the saturation case based on different metrics. Our proposed algorithm is specially designed for highly crowded scenarios with strict constraints for the higher priority slices. On the other hand, when the traffic is not saturated, the SKM behaves similar to MAM, RDM and AllocTC in a single solution.

1) SIMULATION SCENARIO SETTINGS
We adopted the settings of [25] where the full network is used to assess the performance of the algorithms. In other words, the choice of this work was deliberate for two main reasons: This work used the full network to assess the performance of the algorithm which proved to be comparable, and in most cases, superior, to state-of-the-art in several performance metrics. The strength of the G-BAM algorithm is derived from the fact that it switches autonomously between models (MAM and RDM) based on a controller. This is performed to decide and/or follow the most adequate transitions according to the defined high-level management configuration requirements such as SLA, QoS, among others. Moreover, this algorithm achieves improvement in network quality parameters like link utilization and preemption. The network topology used is the NTT network containing 55 nodes and 144 links of 622 Mbps (STM-4 -SDH) (see [25]). In this evaluation scenario, a single traffic source (node 0) is defined for each traffic slice (class) and destiny. The destination nodes (54, 52, 48 and 45) are chosen randomly and each link consists of three traffic slices. Slice 3 has the highest priority applications, slice 2 has the medium priority applications, and slice 1 has the lowest priority applications. Nodes (routed paths) are statically defined in order to compete in a high number of links. Consequently, saturated links are forced during simulation in order to observe the consequences: • Table 5 shows the CTs that can be used through the bandwidth constraint of each slice and obtained in the form of percentage and amount of resources.
• Demand bandwidth is a uniformly distributed bandwidth: 5 Mbps to 15 Mbps.
• Exponential modeled demand request arrival intervals in phases as in Table 6 • Exponentially modeled demand time life: average of 200 seconds (should cause link saturation) • Simulation stop criteria: 1 h (3600 seconds). Please note that if RDM algorithm is used in the simulation, the resource constraints for CT3 would be equal to 40% of the link capacity, resource constraints for CT2 would be equal to 70% and resource constraints for CT1 would be equal to 100%. However, if SKM and MAM algorithms are used, the resource constraints for CT3 would be equal to 30% of the link capacity, resource constraints for CT2 would be equal to 30% and resource constraints for CT1 would be equal to 40% as shown in Table 5. Table 6 shows the phases of demand arrival. Phases 1 to 3 create a traffic profile where there are, initially, only low priority demands. These are followed by medium priority demands and then, followed by high priority demands in a high flow rate forcing them to be used to the maximum. In phase 4, the rate of high priority demand arrivals is reduced and, in phase 5, the medium priority ones are reduced. In phase 6, we maintain a low arrival rate of medium priority demands and we increase the arrival rate of high priority demand. In phase 7, we generate a high number of demands for all slices in order to saturate the link. Finally, in phase 8, we reduce the arrivals of high and medium priority   demands, and we maintain the high arrival flux of low priority demands. Fig. 6 shows the results obtained by each model in terms of U(T), AR(T) and P re . As shown in Figs. 6a -6c, the MAM behavior in which there are no preemptions (inherent behavior of MAM) limits the link utilization to 491.35 Mbps on average for the entire simulation window. This results from the fact that, in the simulation, the U(T) most of the time is below the 622 Mbps link capability even when CT1, CT2 and CT3 are congested. This is because MAM does not support resource sharing between slices. At the same time, the simulations use different times of demand arrival phases that increase traffic load in some slices and decrease it in others along the entire simulation window. As such, RDM and SKM show improvement in link utilization as it reaches the maximum capability of 622 Mbps most of the time in relation to MAM. This is because RDM and SKM behaviors allow lower priority slices to share unused resources from higher slices. Fig. 6d illustrates the behavior of the G-BAM algorithm when RDM switches to MAM after reaching 25 preempted demands and also when MAM switches to RDM after reaching 65% link utilization. This figure represents an example of the G-BAM that uses a controller to manage the link utilization to decrease the high number of preempted demands by using RDM approach alone. However, by using the G-BAM approach, the link utilization will be less than that of RDM and SKM under any cases of traffic load due to switching between MAM and RDM behaviors as illustrated in this example where the U was 520 Mbps.

2) RESULTS EVALUATION
SKM outperforms MAM, RDM and G-BAM in the highest priority slice by 22.5%, 21.9% and 20.8% in terms of average U 3 respectively due to kicking operation. Similarly, SKM outperforms MAM, RDM and G-BAM by 54.2%, 50.5% and 53.6% respectively in terms of average AR 3 (see Figs. 6f -6i). Moreover, SKM and RDM have similar performance in terms of AR by achieving 65.4% on average and better than both MAM by 34.7% and G-BAM by 30.8% for traffic patterns in which lower priority slices have greater demands for resources.
Figs. 6e illustrates that, under link saturation, SKM allows the optimization of link utilization with a fewer number of preempted demands (equal to 150 demands) which cannot be achieved by using the RDM approach (approximately 248 demands). This is because the load is low in higher priority slices, so, a smaller number of lower priority demands are kicked. However, if G-BAM behavior is used, the number of preempted is the lowest (105 demands) compared to RDM and SKM, but the link utilization is not improved with the algorithm converted from RDM to MAM.

F. SCENARIO 2: PERFORMANCE IN ONLINE MODE UNDER MESH TOPOLOGY
In this online scenario, we investigate SKM performance on limited resources of mesh network under different traffic loads and under fixed demands lifetime, in terms of several metrics, compared to MAM, RDM and AllocTC. Moreover, this scenario consists of three experiments. The main objective of the experiments below is to analyze the performance of SKM under different load distributions between different priority slices across an entire network. The assessment experiments are as follows: • Experiment 1: more traffic load in lower priority slices. • Experiment 2: same traffic load in all priority slices. • Experiment 3: more traffic load in higher priority slices. The purpose of experiment one is to demonstrate that SKM has an equivalent behavior to RDM and AllocTC at high loads for lower priority slices along the network. The simulation experiment enforces the sharing or squatting strategy inherent in RDM along the network. The purpose of experiment two is to demonstrate that SKM ensures acceptance of more demands for higher priority slices than AllocTC, RDM and MAM in case of similar loads in traffic slices along the network. The purpose of experiment three is to demonstrate that SKM has an equivalent behavior to AllocTC before the saturation case when the load is high for higher priority slices along the network. This is checked by executing the share strategy of AllocTC or squatting strategy. Moreover, SKM admits more requests than AllocTC and RDM at high loads for higher priority slices, which is due to it being stricter on priorities than the other algorithms after saturation case.

1) SIMULATION SCENARIO SETTINGS
In order to evaluate our solution, the simulated scenario uses different traffic sources and different destinations on the mesh network consisting of 5 nodes and 10 links as shown in Fig. 7. The capacity of the links is equal to R(l i,j ) = 150 units. Moreover, the link resources are divided into three slices (eMBB, MIoT and uRLLC); each slice has RC c (l i,j ) = 50 units. For the routing step, using the k-shortest path, the maximum value of k was set to 5. In all experiments of this simulation scenario, the demands are generated with a fixed lifetime equals to 1-time slot and the size of each demand is also fixed to 1 unit as the minimum granularity for allocation. Each demand has single priority generated in a random manner from (1 to 3) with a generation rate of demands per each unit time equals to 2500 demand. The total number of demands among slices generated until 10 unit time is 25,000 for each experiment. Table 7 shows the traffic load consideration (number of demanded resources in each slice) for the validation experiments in each slice in each unit time. Please note that in all experiments, the capacity of each slice along the network is 500 unit (RC c (l i,j ) * 10 links = total size of the slice across the network).

2) RESULTS EVALUATION
Figs. 8-9 show the results of each algorithm in terms of U, AR, U c , AR c , P re , LB and L ov using different traffic load according to experiments 1-3.
In terms of U and AR, Fig. 8g and Fig. 8h illustrate the results from the three experiments for the MAM, RDM, AllocTC and SKM. In the first experiment, SKM, AllocTC and RDM result in 100% U and 58.95% AR where 1475 demands are accepted from 2500 demands per each unit time. On the other hand, MAM achieved the lowest performance and resulted in 95.2% U and 56% AR where 1400 demands are accepted from 2500 demands per each unit time. In the second experiment, SKM, AllocTC, RDM and MAM resulted in 100% U and 58.88% AR where 1472 demand from 2500 are accepted per each unit time. In the third experiment, SKM and AllocTC have similar performance in terms of U and AR by achieving 100% U and 59% where 1475 demand are accepted from 2500 demand per each unit time. On the other hand, MAM and RDM performance is the lowest one among the four strategies by achieving 94.5% in terms of U and 55.54% in terms of AR. This is because there is no ability to share resources among the slices.

a: CONSIDERING HIGH LOAD IN LOWER PRIORITY SLICES
As expected, SKM, AllocTC, RDM and MAM have similar behavior in terms of U3 and AR3 by achieving 25.60% and 100% (417/417) AR3, respectively. This is because the load distributions on slice 3 across the network was lower than its capacity (the demanded resources for slice 3 was 417 unit). Moreover, SKM outperforms AllocTC, RDM and VOLUME 8, 2020  MAM by 18.02%, 18.34%, 22.54% in terms of U2 due to the kicking operation (see Fig. 8a). Furthermore, SKM, in terms of ARc, achieved 12.5% for slice 2 more than MAM, RDM and AllocTC which achieved 33.34%, 33.76% and 41.58%, respectively (see Fig. 8d).
As shown in Fig. 9a, SKM, AllocTC and RDM resulted in 740, 739 and 745 respectively in terms of P re . Moreover, Figs. 9d illustrate that SKM, AllocTC and RDM have a very close performance in terms of LB and L ov . This is because these algorithms have a 100% U value of network resource utilization ( almost all links are fully used). Moreover, MAM gives the lowest performance in terms of LB and L ov as it resulted in 0.0011 LB and 0.047 L ov where more links are not fully used across the network.   U3 and 41.17% in terms of AR3. Also, the results show that SKM outperforms MAM, RDM and AllocTC in slice 2 by 11.94% in terms of U2 and by 17.39% in terms of AR2 (as the expected from the behaviors) due to the kicking operation as shown in Fig. 8b and Fig. 8e.
As shown in Fig. 9b Fig. 8c and Fig. 8f illustrate that the SKM outperforms AllocTC, RDM and MAM in the highest priority slice by 47.79%, 53.14% and 53.14% respectively in terms of U3 and by 54.28%, 60.95%, 60.95% respectively in terms of AR3. Moreover, the results of Fig. 9c shows that SKM outperforms RDM and AllocTC by 657 and 43 respectively in terms of P re since the load was too low in lower slices, so there is no need to use the kicking operation. Further, Fig. 9f illustrates that SKM and AllocTC have a similarly good performance as they achieve zero in terms of both LB and L ov where all links are fully used in the network. Moreover, RDM and MAM give the worst performance in terms of LB and L ov and resulted in 0.0117 and 0.0474, respectively, where more links are not fully used across the network.

G. SCENARIO 3: PERFORMANCE IN OFFLINE MODE UNDER MESH TOPOLOGY
In this offline scenario, we used the same network topology and settings for the second scenario but with infinite demand lifetimes while considering a number of demands that vary from 201 to 2001 for each experiment in the studied scenario (see Table 8). Please note that the goal of this scenario is to investigate the robustness of SKM under constant load stress. Besides, SKM provides a good QoS level among different priority slices.   have similar performance in terms of both U3 and AR3 as they achieve 22.80% and 100% respectively. Moreover, SKM outperforms AllocTC, RDM and MAM by 6.45%, 6.26% and 10.50% in terms of U2 and by 14.44%, 14.44% and 26.84% respectively in terms of AR2 due to the sorting operation of SKM. Furthermore, Figs. 11a-11c reveal that as demand size increases, irrespective of traffic load distribution for slices, SKM results in superior performance in terms of P re compared to other algorithms as it achieves zero preempted demands due to sorting operation of SKM. Fig. 11d reveals that as demand size increases as in the case where the size equals to 2001, SKM, AllocTC and RDM have similar performance in terms of LB and L ov and result in almost zero since all links are fully used across the network. On the other hand, MAM gives the lowest performance in terms of LB and L ov as it results in 0.0014 and 0.071, respectively where more links are not fully used across the network.
In terms of U and AR, SKM, AllocTC and RDM have similar behavior and result in 100% and 74.10% respectively. This is as expected from the performance of SKM, AllocTC and RDM where the lower slices can share unused resources from the higher ones. On the other hand, MAM gives the lowest performance because there is no sharing of unused resources between different priority slices and results in achieving 89.53% of U and 63.77% of AR. Fig. 10b and Fig. 10e reveal that as demand size increases as in the case where the size is 2001, SKM outperforms the other models in terms of both U3 and AR3 by 12.59% and 27.60%, respectively. Similarly, SKM outperforms the other models in terms of both U2 and AR2 by 11.87% and 26.24% respectively, because of the kicking operation. Moreover, Fig. 11d reveals that as demand size increases as in the case where the size is 2001, all algorithms have similar performance in terms of both LB and L ov with an average value of zero, since all links are fully used across the network. In terms of U and AR, all algorithms have similar performance as they resulted in 100% and 72.96%, respectively. This is because the number of demands was higher than all capacities of slices. In terms of U and AR, SKM and AllocTC have similar behavior as they both resulted in 100% and 74.26% where higher priority slices have greater demands for resources than other slices. This is as expected from the performance of SKM and AllocTC where higher slices can share all unused resources from the lower ones while this is not possible in RDM and MAM. Therefore, RDM and MAM had the lowest performance as they result in 89.13% for U and 66.07% for AR.

H. SCENARIO 4: PERFORMANCE IN ONLINE MODE UNDER NSF TOPOLOGY
In this online scenario we investigate SKM performance on limited resources of NSF network under different traffic loads and under fixed demands lifetime, in terms of U, AR, U c , AR c , P re , LB and L ov compared to MAM, RDM and AllocTC. Moreover, in this scenario we used the same experiments that were considered in the second scenario.

1) SIMULATION SCENARIO SETTINGS
In order to evaluate our solution, the simulated scenario uses different traffic sources and different destinations on the NSF network consisting of 14 nodes and 21 links as shown in Fig. 12. The capacity of the link is equal to R(l i,j ) = 150 units. Moreover, the link resources are divided into four slices; each slice has RCc(l i,j ) = 50 units. As for the routing step, using the k-shortest path,the maximum value of k is set to 10. In all experiments of this simulation scenario, the demands are generated with a fixed lifetime equal to 1-time slot and the size of each demand is also fixed equal to 1 unit as the minimum granularity for allocation. Each demand has single priority generated in a random manner from (1 to 3) with a generation rate of demands per each unit time equal to 4000 demand. The total number of demands among slice generated until 10 unit time is 40,000 for each experiment.  Table 9 shows the traffic load consideration (number of demanded resources in each slice) for the validation experiments in each slice in each unit time. Please note that, in all experiments, the capacity of each slice along the network is 1050 units (RC c (l i,j ) * 21 links = total size of the slice across the network).

2) RESULTS EVALUATION
Figs. 13-14 show the results of each algorithm in terms of U, AR, U c , AR c , P re , LB and L ov using different traffic load according to experiments 1-3.
In terms of U and AR, Fig. 13g and Fig. 13h, illustrate the results from the three experiments for the MAM,

a: CONSIDERING HIGH LOAD IN LOWER PRIORITY SLICES
SKM, AllocTC, RDM and MAM have similar behavior in terms of both U3 and AR3 as they both achieve 23.98% and 73.72%, respectively because of the load distributions on slice 3 across the network being lower than its capacity. Moreover, SKM outperforms AllocTC, RDM and MAM by 20.14%, 20.61% and 24.32% in terms of U2. Further, in terms of ARc, SKM, achieves 12.5% for slice 2 more than MAM, RDM and AllocTC which achieves 15.29%, 15.71%, 20.63%, respectively due to the kicking operation (see Fig. 13a and Fig. 13d). Furthermore, Fig. 14a Fig. 13 shows that the SKM outperforms MAM, RDM and AllocTC in the highest priority slice by 30.14% in terms of U3 and 29.26% in terms of AR3 due to the kicking operation as shown in Fig. 13b and Fig. 13e. Moreover, Fig. 16b shows that the SKM outperforms AllocTC and RDM by 298 and 71 respectively in terms of P re due to the kicking operation.
Furthermore, Fig. 14e shows that the performance of SKM, AllocTC, RDM and MAM are similar in terms of LB and L ov as they result in average 0.024 and 0.12, respectively due to the algorithms having similar utilization performance. Fig. 13c and Fig. 13f illustrate that the SKM outperforms AllocTC, RDM and MAM in the highest priority slice by 35.17%, 41.71% and 41.71% in terms of U3 and by 23.8%, 33.19% and 33.19% respectively in terms of AR3 (as the expected from the behaviors) due to the kicking operation. Moreover, from the results of Fig. 14c, SKM outperforms RDM and AllocTC by 1665 and 205 respectively in terms of P re since the load is too low on the lower priority slices, so, there is no need to use the kicking operation of SKM. Furthermore, Fig. 14f illustrate that SKM and AllocTC have a similarly good performance as they achieve 0.025, 0.12 in terms of both LB and L ov . Moreover, RDM and MAM give the worst performance in terms of LB and L ov and result in 0.028 and 0.16, respectively, where more links are not fully used across the network.

I. SCENARIO 5: PERFORMANCE IN OFFLINE MODE UNDER NSF TOPOLOGY
In the case of the offline scenario, we used the same NFS network topology and settings for the fourth scenario but with infinite demand lifetimes and considering a number of demands that varies from 501 to 3000 for each experiment in the studied scenario (see Table 10).   Fig. 15a and Fig. 15d reveal that as demand size increases as in the case when the size is 3000, SKM outperforms the other algorithms in terms of both U3 and AR3 by achieving 12.38% and 27.2% respectively. Moreover, SKM outperforms AllocTC, RDM and MAM by 3.46% in terms of U2 and by 5.5% in terms of AR2 due to the sorting operation of SKM. Furthermore, in terms of U and AR, SKM, AllocTC and RDM have similar behavior and result in 80.16% and 47.90% respectively. On the other hand, MAM gives the lowest performance because there is no sharing of unused resources between different priority slices which results in achieving 78.51% of U and 46.60% of AR.
Figs. 16a-16c reveal that as demand size increases, irrespective of traffic load distribution for slices, SKM results in superior performance in terms of P re compared to other algorithms as they achieve zero preempted demands due to the sorting operation of SKM. Moreover, Fig. 16d reveals that as demand size increases, as in the case where the size is 3000, SKM, AllocTC and RDM have similar performance in terms of LB and L ov and result in 0.03 and 0.2, respectively since all links are fully used across the network. On the other hand, MAM gives the lowest performance in terms of LB and L ov as it results in 0.036 and 0.22, respectively where more links are not fully used across the network. Fig. 15b and Fig. 15e reveal that as demand size increases, as in the case where the size is 3000, SKM outperforms the other models in terms of both U3 and AR3 by 30.61% and 38.9%, respectively due to the sorting operation of SKM. Moreover, in terms of U and AR, all algorithms have similar performance as they result in 81.21% and 48.13%, respectively, because the number of demands was higher than all capacities of slices. Furthermore, Fig. 11d reveals that as demand size increases, as in the case where the size is 3000, all algorithms have similar performance in terms of both LB and L ov as they result in 0.04 and 0.19 where more links are not fully used across the network. Fig. 15c and Fig. 5f reveal that as demand size increases, as as in the case where the size is 3000, SKM outperforms AllocTC, RDM and MAM in terms of AR3 by 35.68%, 37.14% and 37.14% and by 30.8%, 33.4% and 33.4% respectively in terms of AR3 due to the sorting operation of SKM. Moreover, in terms of U and AR, SKM and AllocTC have similar behavior as they both resulted in 82.63% and 48.70% where higher priority slices have greater demands for resources than other slices. Moreover, Fig. 16f reveals that as demand size increases, as in the case where the size is 3000, SKM and AllocTC have similar performance in terms of LB and L ov and result in 0.036 and 0.17, respectively. On the other hand, MAM and RDM give the lowest performance in terms of LB and L ov as they result in 0.039 and 0.19, respectively, where more links are not fully used across the network.

J. SUMMARY OF THE FINDINGS FROM THE SIMULATIONS
As observed from the simulation results of the above scenarios especially 2, 3, 4 and 5, the following points highlight the main findings:

1) THE EFFECT OF SKM PERFORMANCE COMPARED TO BAMs ON THE NETWORK TOPOLOGY
The proposed algorithm achieves up to 100% in terms of U in bandwidth-constrained environments. Therefore, the algorithm significantly enhances the user experience and resource utilization. Moreover, irrespective of the load division between slices, such as in scenario two, the algorithm resulted in 100% admission for the higher priority users whenever the resource requirements of the higher priority request does not exceed the available network resources as compared to a range of 38.54% for other algorithms (see Fig. 8b and Fig. 8e). To this effect, the proposed algorithm is well suited for emerging technologies such as network slicing that are constrained by strict QoS requirements and prioritized admission. Such technologies require dynamic allocation of resources and prioritized admission control.

2) THE IMPACT OF THE NETWORK TOPOLOGY ON THE PERFORMANCE OF THE ALGORITHMS
Despite NSF topology having more nodes and links, mesh topology provides better performance in terms of link utilization. This is attributed to the fact that all nodes are reachable within a single hop, and has a low betweenness centrality value compared to NSF, leading to fewer bottlenecks experienced by mesh topology. Since most demands are mapped on a single link path, minimal bottlenecks are experienced. Again, mesh topology provides for a high degree of connectivity due to the closeness of nodes and as a result, fewer links are used for mapping of each demand from source to destination, thus, achieving improved AR, U, load balancing, resource consumption and the number of preempted demands performances across all the algorithms (see Fig. 8b, Fig. 8b3, Fig. 13b and Fig. 13e).

3) COMPARISON OF ONLINE AND OFFLINE SCENARIOS
The results of online scenario are better than that of the offline in terms of the total AR, since there is a chance for initially accepting low priority users which is not the case with offline scenario whenever the demanded resources of the high priority users exceed the available resources. In terms of average resources utilization, the offline scheme is higher than the online scheme. This is because the resources are unused in the initial stages (unit-times) for the online case. Considering 10 trails and obtaining the average value, the results obtained were as follows: In experiment 3 (more load in higher priority demands) of scenario 4 (NSF), SKM gives in online mode 88.84% of U, 5.75%, 11.07%, 71.57% of Uc, 41.05% of AR and 21.45%, 23.41%, 59.22% of ARc (see Fig. 13g, Fig. 13h, Fig. 13b and Fig. 13e). But in case of offline, with the increases of demand size (4000 demands) SKM gives 94.30% of U, 2.54%, 6.78%, 84.98% of Uc, 23.12% of AR and 3.63%, 8.23%, 14.16% of ARc.

4) TIME FOR EXECUTION
The proposed algorithm contains a sorting step, which introduces an extra overhead in terms of run time on the SKM algorithm. As an example, from the considered number of requests of experiment 3 in scenario 4, the average execution time in milliseconds for each admitted request is 53.87, 48.5, 36.23, 43.2, and 43.2 for the proposed algorithm and other algorithms that used AllocTC, RDM and MAM strategies respectively, averaged across all requests numbers. This result demonstrates that the proposed algorithm can process each demand in feasible time. Furthermore, the execution time for all algorithms increases with an increase in the number of requests. This is due to the additional complexity (e.g., the need for preemption / kicking actions) associated with the computation of additional paths to satisfy the different demands.

5) THE PROPOSED DEPLOYMENT ALGORITHM DRAWBACK
The algorithm needs to consider the aforementioned thresholds to define and guarantee the minimum resources for each slice which would avoid resources beat down for lower priority slices due to kicking process under congested scenarios.

VII. CONCLUSION AND FUTURE WORK
The paper discussed the problem of allocating resources to demands of different priority slices in a multi-slice network for both offline and online modes. This was based on the proposed SKM strategy for the purpose of effectively allocating available resources to serve demands in physical network paths. Since the computational load to find paths from the source node to destination node and their selection for the demands is huge even when using our proposed algorithm, then, the algorithm is forwarded to NFV architecture in order to provide the huge computational capacity required for the network service. SKM can be adapted to allocate bandwidth resources and any general resource management where resources require a reservation in addition to allocation stages, between different entities such as NFV service chain allocation and, of course, network slicing in future networks. Simulation results showed that thanks to our proposed algorithm, not only can we significantly improve the overall network usage, but also achieve the appropriate QoS and prioritized admission control for different E2E slice users. Moreover, our proposed algorithm can accept demands of considerable size, hence, guaranteeing a high admission of higher priority slices compared to other efficient schemes. This is mainly because the proposed algorithm implements a policy for resources selection that tends to increase the resources usage efficiency. Besides, it was proven that the algorithm is scalable with increasing substrate network demand sizes.
As a future addition, SKM will be improved by looking at the above-mentioned thresholds to identify and ensure minimum resources for each slice which would prevent resources beat down for lower priority slices. Moreover, we intend to perform a heuristic to provide a speedy response, which is critical in 5G networks.