Next Article in Journal
SVM+KF Target Tracking Strategy Using the Signal Strength in Wireless Sensor Networks
Next Article in Special Issue
Enhancing Extensive and Remote LoRa Deployments through MEC-Powered Drone Gateways
Previous Article in Journal
Hydrogen Sensor: Detecting Far-Field Scattering of Nano-Blocks (Mg, Ag, and Pd)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Advanced Computation Capacity Modeling for Delay-Constrained Placement of IoT Services

MTA-BME Network Softwarization Research Group, Budapest University of Technology and Economics, 1111 Budapest, Hungary
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(14), 3830; https://doi.org/10.3390/s20143830
Submission received: 22 June 2020 / Accepted: 6 July 2020 / Published: 9 July 2020

Abstract

:
A vast range of sensors gather data about our environment, industries and homes. The great profit hidden in this data can only be exploited if it is integrated with relevant services for analysis and usage. A core concept of the Internet of Things targets this business opportunity through various applications. The virtualized and software-controlled 5G networks are expected to achieve the scale and dynamicity of communication networks required by Internet of Things (IoT). As the computation and communication infrastructure rapidly evolves, the corresponding substrate models of service placement algorithms lag behind, failing to appropriately describe resource abstraction and dynamic features. Our paper provides an extension to existing IoT service placement algorithms to enable them to keep up with the latest infrastructure evolution, while maintaining their existing attributes, such as end-to-end delay constraints and the cost minimization objective. We complement our recent work on 5G service placement algorithms by theoretical foundation for resource abstraction, elasticity and delay constraint. We propose efficient solutions for the problems of aggregating computation resource capacities and behavior prediction of dynamic Kubernetes infrastructure in a delay-constrained service embedding framework. Our results are supported by mathematical theorems whose proofs are presented in detail.

1. Introduction

Digital applications relying on information gathered by sensors and transmitted by infocommunication networks are becoming pervasive across industries. Data are continuously collected from production lines in mass-producing factories, while warehousing robots, delivery drones and driverless vehicles are ensuring the autonomous, cost efficient logistics of getting products to the end-customers. Agricultural sensors are providing unprecedented insight into the efficiency of industrial-scale food and crops production. A wide range of smart city sensors and actuators for traffic control, parking optimization, public transportation and sharing economy based urban mobility solutions make metropolitan lives more convenient and environment friendly. Autonomous video surveillance, consumer intelligence based advertisements, smart home appliances and smart phones make our lives safer, comfortable and filled with personalized user experience. Enormous amount of information and optimization opportunities lurk in this massive, hyper-connected system. The value of this huge amount of data can only be exploited if it is collected, analyzed, understood and acted upon. That is the core process to monetize information collected by various types of sensors, and that is the essence of the Internet of Things (IoT).
The high service quality requirements driven by consumer demands of the information society, pushes communication technology innovation and development forward. New applications built on top of the vast amount of process intelligence are coming out rapidly, and innovation is ongoing with a never-seen-before pace. These demands of the current world characterize the use-cases of 5G networks and their functional requirements, such as massive Machine Type Communication (mMTC), Ultra-Reliable Low-Latency Communication (URLLC) and enhanced Mobile Broadband (eMBB) [1]. A recent surge of 5G prototype architectures and the ongoing competition for commercial 5G network deployments are academia’s and industry’s response to these challenging requirements. 5G systems utilize the paradigms of Network Function Virtualization (NFV) and Software-Defined Networking (SDN) to decouple the services’ business logic from the hardware, and realize an efficient management of computation and communication resources [2].
A central optimization problem in realizing IoT applications using the enabling 5G technology, is allocating service components to resources, which is formalized in multiple NP-hard variants of the service placement problem. Service placement is one of the most difficult problems, as no solution exists which is scalable (i.e., do not rely on directly solving integer programs), provably meets all constraints and provides performance guarantees [3,4]. Due to the immediate relevance of the service placement problem, a wide range of practical heuristic algorithms have emerged, which are easy-to-deploy, highly extensible and possible to be continuously developed in an actual 5G software architecture [5].
In parallel to algorithmic research on the service placement problem, the computation infrastructure is also evolving, becoming more dynamic and heterogeneous to contribute to meeting the challenging, service-level user requirements. In contrast, the infrastructure model of placement algorithms mostly consider only fixed substrate capacities and rarely goes beyond different capacity volumes to model heterogeneity. In addition to tackling heterogeneity and dynamicity, infrastructure modeling is an essential tool to handle the difficulty of the VNE problem by devising higher abstraction resource views for better algorithmic scalabilty.
In this paper, we contribute to 5G-enabled IoT service placement systems by proposing theoretically founded infrastructure abstractions for aggregating capacities and modeling elastic resources. We propose a service component placement heuristic algorithm design schema for meeting constraints on service path delay requirements. We show how these results can be integrated into proven prototype architectures. The focus of our paper is modeling the modern capabilities of distributed computing infrastructures, where services are deployed with respecting end-to-end requirements. More specifically, our contribution is threefold:
  • We propose a method to design the step-by-step delay bounds of a greedy service placement algorithm to meet end-to-end delay requirements.
  • We define capacity aggregation to efficiently abstract the network resources, targeting scalability and information hiding. We propose an approximation algorithm to create the aggregate infrastructure view with the desired abstraction level.
  • We propose an elastic resource model and admission control for the Kubernetes container management system’s Horizontal Pod Autoscaler feature [6,7], and show how it can be integrated with service placement algorithms.
All of our results are complemented with rigorous mathematical proofs, shown in the Appendix A, Appendix B and Appendix C.
The paper is structured as follows. Section 2 puts our work in the context of a concrete IoT service deployment, and reviews related work on network abstraction and service placement. Section 3 explains the base system model, and introduces the service placement problem variant solved by our earlier works. Section 4 presents our results on end-to-end delay constraints and integrates it into our service placement framework. Our theoretical results on infrastructure modeling are presented in Section 5 and Section 6, which incrementally extend our base system model with capacity aggregation capability and resource elasticity modeling. Integration of our resource models to 5G-enabeld IoT orchestration systems is presented in Section 7. Finally, Section 8 concludes the paper.

2. Background and Related Work

2.1. Background

Meeting the Internet of Things communication requirements such as connectivity of vast number of devices with high mobility, low latency and high reliability bring grand challenges to communication networks. These are addressed by the 5G mobile technology, which enables the monetization of various sensor-aided IoT services. The enabling relationship between 5G and IoT is examined in [1], where the state-of-the-art is extensively surveyed, gaps and research challenges are identified. The survey studies Mobile Edge Computing (MEC), data center performance optimization, edge cloud and virtualization technologies to identify their role in realizing 5G-enabled IoT applications, such as cloud robotics, industrial cyber physical systems, smart vehicles and tactile internet. Facilitating the interactions between various entities of the networking ecosystem is required to realize end-to-end IoT services. Authors of [8] present their prototype for a functional 5G architecture for optimizing end-to-end IoT network slices, which is integrated with the Kubernetes-based Google Compute Engine.
In the following we present a remote security camera analytics and alerts use case, where the computation intensive and delay sensitive IoT services are deployed across big geographic distances by an Over-the-Top Service Provider (OTT SP). Figure 1 shows a wide area network from the Internet Topology Zoo [9], where a Communication Service Provider (CSP) gives network connection for an OTT SP between its service sites. The location of the security cameras is to the west ( l o i _ w ), while the end-user location ( s a p e ) is to the east. Service Access Points (SAPs) are the user locations where the service is to be consumed, possibly by another service or a person. Location of Interests (LOIs) represent location-bound points, where the sensors (i.e., security cameras) are located. These should be used as service delay reference points, because the service quality is primarily experienced here. All auxiliary functions realize the service needs to be allocated on a network path between the reference points with meeting the strict delay requirement. The CSP provides communication capabilities between the distributed cloud of a Cloud Provider (CP) having its computation nodes apart with significant geographic distance. The OTT SP is in a business relationship with a CP, reaching its data center through the CSP’s network, while also owning a private cloud proximate to site l o i _ w .
If the OTT SP wishes to provide high quality IoT service over the rented infrastructure, it needs to know information about the CSPs network in significant detail to make informed decision about the IoT service component placements. On the other hand, the CSP may want to hide information from its tenants as they might be valuable or sensitive [10], where appropriate network and computation resource abstractions are essential. In addition, the CSP might want to optimize the running services’ resource allocation to achieve higher computation resource efficiency, which should not be perceived by the OTT SP on its rented infrastructure view. The OTT SP’s orchestration system needs to work on an appropriate infrastructure view which resolves the mentioned conflicts. Aggregating servers into higher abstraction nodes (as shown in CSP Aggregate node of Figure 1) also helps the embedding algorithm to scale up to carrier-grade network sizes. Finally, the Cloud Provider should also be able to give a descriptive view of its Kubernetes-based, optimized, dynamic data center resources.

2.2. Network Abstraction

Network infrastructure abstraction has always been important in modern network management to address the various application needs serving on top of the increasingly complex communication substrate. In a simple case, when only throughput requirements between endpoints need to be satisfied, the hose model has been proposed to describe Virtual Private Networks (VPNs) over a common substrate. The hose model has proved to be useful to efficiently provision the VPNs using a convenient tree structure [11]. In addition to meeting the bandwidth requirements, routing costs must be considered in practical cases. Such a system has been described by an abstracted network map [12], where the significant nodes are connected by cheapest, i.e., shortest in terms of cost metric, and highest bandwidth capacity paths, i.e., widest paths in terms of throughput. As virtual networks are the most valuable when they connect geographically distant locations, the underlying network infrastructure is likely to be managed by multiple providers. Virtual Network Embedding (VNE) is studied across multiple administrative domains in [10], where the authors devise a distributed algorithm, segmenting the virtual networks and embedding their routes in individual steps. The presented model lacks admission control capabilities on the domain capacity resources, which is one of the main contribution of our work.
As Software Defined Networking (SDN) enabled the network-wide control from a logically centralized controller, end-to-end network management based on high abstraction policies is convenient. SDN control architecture proves to be indispensable to implement IoT networks, furthermore, their appropriate performance requires distributed SDN controller placement [13], where abstracting the low-level management of individual devices is important. Network infrastructure abstraction is a key component to make the SDN concepts reach their full potential as studied in an SDN scalability survey [14]. Addressing these issues, the Big Switch model has been proposed to describe a network by its transport characteristics between the endpoints [15], which can be used to provision user traffic on top of the network, without studying its low-level details. Thanks to Network Function Virtualization (NFV), network services are decoupled from specialized hardware, packaged using virtualization technologies (such as containers and micro-services) and freely moved across computation locations [16]. Our recent works have generalized the Big Switch model to include computation capabilities of a network and keep up infrastructure modeling with the increasingly interleaving computation and communication resources. We have defined the Big Switch-Big Software (BiS-BiS) model [17], which has been used to build a multi-domain SDN/NFV-aware orchestration system [18,19]. These earlier versions of the BiS-BiS model naively sum the computation capacities and aggregate the functional capabilities of the hidden infrastructure, which ignores essential bottlenecks and lacks configuration options for the abstraction-performance trade-off. Emerging deployments of the NFV/SDN-enabled technologies in Mobile Edge Computing (MEC), Fog Computing, Industry 4.0, Internet of Things (IoT) and 5G make the networks increasingly heterogeneous. Thus, the naive BiS-BiS model’s shortcomings are crucial in real deployments. Our current work addresses mathematically founded description of abstract, highly distributed, dynamic compute and network infrastructures.

2.3. Service Placement

The central problem in SDN and NFV-based computation network architectures is the service component placement problem, which has been well-studied by both industry and academia, stated in many forms. The general problem of service placement benefits from multiple areas of network management research, such as the Virtual Network Embedding (VNE) problem [20], Virtual Network Function (VNF) placement or Service Function Chain (SFC) resource allocation problem. Relations between these problem variants, and mutually useful results have been studied by survey papers [21]. The core of the service component placement problem addresses how to place the service-composing VNFs and how to route their connections with various constraints on the communication and computation characteristics. The problem is notoriously NP-hard and very difficult to approximate [3]. Moreover, modeling dynamic infrastructure capabilities such as reactive, automatic scale out of service components managed by modern container management systems is challenging. These behaviors cannot be formalized using linear constraints for integer programs, making solver-based optimization approaches hopeless [22]. A wide range of heuristic approaches have been proposed to solve many variants of the service placement problem, which are much more promising to meet high quality service requirements scaling to the immense size of IoT networks. We target complementing heuristic placement algorithms by providing theoretically founded generalizations of the infrastructure models to describe elasticity and abstraction. Indicating the hardness of the service placement related problems, no scalable solutions have been proposed so far which have performance guarantees and provably do not violate capacity constraints [4].
The surveys in [20,21] extensively study and categorize the earlier and more recent papers of VNE, defining a general optimization model, and proposing a taxonomy on the solutions based on their modeled features, algorithmic approaches and considered constraints. Focusing more on the technological aspects of VNE related problems, taking into account the modern developments in virtualization technologies, such as containerization, the survey in [5] presents a novel classification.
Concluding from the above state-of-the-art studies, many heuristics use a greedy approach to target easy prototypization and extension capabilities. Guarantees on the deployed service’s delay are important as many emerging applications are delay sensitive. Yet, besides some exceptions [23], delay guarantees are not well-studied in the current state-of-the-art. Other solutions propose a delay-aware model [24], but the presented greedy heuristic does not rigorously address the delay guarantee, as the service delay is the optimization objective. Minimizing the service delay often disregards other important optimization goals, such as deployment cost. Authors of [25] study the trade-off between load balancing the compute infrastructure and minimizing the end-to-end service delay, but the solution lacks delay guarantees, as the SFC delay is not considered as an optimization constraint. The state-of-the-art in service placement related problems lacks heuristic solutions, where delay is taken as a constraint to meet the QoS requirements, and minimize for independent objectives.
Our recent work on service placement took the approach of including delay as an optimization constraint with configurable objective function, and implementing it in an extensible heuristic algorithm framework. In our model, delay has been considered as a path-delay, i.e., end-to-end delay, constraint in the service graph. An earlier version focuses on tackling general service graph structures in the greedy VNF placement and routing algorithm [26]. The algorithm framework has been applied to data-plane component orchestration, where the input structures are translated to the general service graph structure, and the heuristic is tuned to the domain-specific needs [27]. Addressing the network operation scenarios, where service requests continuously arrive beyond 0-day deployments, we have extended our framework with hybrid online-offline optimization capability [28]. Most recently, the algorithm has been integrated with our multi-operator 5G proof-of-concept architecture [19], and its advanced features, such as path anti-affinity, has been studied by complexity theory methodologies. Our proof-of-concept implementation is conceptually similar to the previously referred IoT slice orchestration system in [8]. In this paper, our contribution is the extension of our well-established heuristic framework with mathematically founded guarantees for the end-to-end delay constraints. Our results on end-to-end delay and infrastructure abstraction could be applied and integrated with any heuristic algorithm which uses step-by-step placement of the individual service components.

3. Base System Model and Optimization Problem

To model a wide range of the previously mentioned dynamic and heterogeneous computation resource types, we introduce four types of substrate nodes arranged in two dimensions. One dimension is the nature of the node’s capacity in terms of flexibility. Substrate nodes with fixed capacity model physical servers, legacy hardware for hosting PNFs and static virtual computation capacities, etc., while elastic substrate nodes model modern pay-as-you-use cloud platforms and auto-scaling capable Virtual Infrastructure Managers (VIMs) such as a Kubernetes host.
The other dimension of infrastructure capability modeling is the level of abstraction represented by the node. A single computation node is represented by the single types, where the placed VNF is directly instantiated, e.g., a single server or a VIM managing a few VMs running on the same or proximate server racks. Finally, aggregate node types hide information of the underlying computation capabilities and show only an abstract view of multiple (possibly distant) VNF hosting possibilities. Except the aggregate elastic category, each infrastructure type is modeled in this paper and our contributions to the domain of infrastructure modeling are summarized by the considered resource types’ abbreviations in Table 1. The resource types are introduced one-by-one incrementally generalizing the system model, while their challenges are studied in detail. In this section we introduce the basic system model only using the single fixed, denoted by ( s . f . ) , as this is the only type generally considered by most of the related VNE, service placement and SFC embedding literature.

3.1. System Model and Problem Formulation

We model the substrate network as an undirected, connected graph S = ( V S , E S ) , where substrate nodes V S represent the compute resources of any type, their interconnections are the edge set E S V R × V R . Notations of the problem formulation and for the rest of the paper are summarized in Table 2. The VNF repository is represented by R ( v n f s ) , which contains all VNFs supported by any parts of the system, used for building services. Keeping aligned with our primary motivation of modeling the characteristics of the infrastructure, we keep the service model simple. We formulate the problem only for the online variant of the service placement problem, restricted to path request graphs. We introduce a general capacity function c S , which decides whether a set of VNFs can be placed to a substrate node due to capacity constraints. This function is incrementally extended as we introduce our proposed model for the heterogeneous substrate nodes. For now, the optimization problem is stated with only single fixed ( s . f . )  substrate nodes, whose capacity is described by the capacity function c S ( s . f . ) , while the VNF demand mapped to these substrate nodes is described with the corresponding demand function d R ( s . f . ) . The service deployment’s lifetime T R is considered at the time of component placement decision, as it might affect the incurring costs and the substrate network’s behavior. The placement cost of a VNF is specified by function p V R , taking the hosting time length and the mapping as input. Similarly, the routing cost of a request link is specified by p E R . If not stated otherwise, the costs p V R and p E R are regarded as input parameters. The node and link mapping functions, V and E , respectively, describe the request graph embedding solution. Link throughput capacities and requirements are not modeled in this paper as we focus on node resource abstraction. Such placement problem variants can be found in our previous work [19,26,27,28] and the literature [20,21].
Formulation 1 shows the service placement optimization problem, where the request graph may only be a path graph, with both ends fixed to substrate nodes from V S as shown in (3). A demonstrative solution for Formulation 1 and some examples for the notations of Table 2 are shown in Figure 2. Constraints (1) and (2) ensure that all elements of the service are mapped. The location function L R describes placement requirements for each VNF, which might come from operational policies, privacy restrictions, Service Access Point (SAP) matching rules or VNF functionality constraints. The set of feasible paths of a request edge P R ( e i ) represents not detailed path constraints like, link capacity and routing constraints. A basic graph embedding requirement is described by (4), which ensures that the source and termination of a request link’s hosting path goes between the hosts of its ends. The general capacity function c S defines for a set of VNFs whether a substrate node has enough capacity to run all functions. Prevention of overloading any substrate node (considering all resource types for extensions) is described by (5). The general capacity function is specified in (6) for single fixed ( s . f . ) substrate node types, where the demands are integers, simply summed and upper bounded by the integer capacity. This constraint is later extended as we introduce and study the details of other substrate node types. Finally, the objective is to minimize the overall deployment cost which is the total sum of all VNF hosting cost and all routing costs, as shown in (7).
The example on Figure 2 shows concrete values for some parameters. The service chains starting and ending nodes, v 0 and v 4 , respectively, have fixed locations (not subject to optimization) in the substrate graph s 0 and s 4 . VNF v 2 can only be located on substrate nodes s 5 and s 3 , and its cost on the latter location is 1$ for the whole service lifetime T R .
Formulation 1 Variation of the service placement problem studied in this paper.
Input: ( V S , E S ) , ( V R , E R ) , c S , c S ( s . f . ) , d R ( s . f . ) , L R , T R
Output: V , E
v i V R : V ( v i ) L R ( v i ) V S
e i E R : E ( e i ) P R ( e i ) P ( E S )
v 0 , v n + 1 V R : V ( v 0 ) = s 0 , and V ( v n + 1 ) = s n + 1 = t
( v i , v j ) E R : V ( v i ) = E ( v i , v j ) . s r c _ n o d e and V ( v j ) = E ( v i , v j ) . d s t _ n o d e
s i V S : c S ( { v j | V ( v j ) = s i , v j V R } , s i ) = 1  
    s i V S , r V R : c S ( r , s i ) = 1 , if v r d R ( s . f . ) ( v ) c S ( s . f . ) ( s i ) and T S ( s i ) = ( s . f . ) 0 , otherwise
subject to m i n i m i z e V , E v V R e E R p V R ( T R , v , V ( v ) ) + p E R ( T R , e , E ( e ) )

3.2. Heuristic Greedy Backtrack Approach

This section briefs our greedy backtracking algorithm framework for solving service placement for various constraints in our earlier works. Here we state only the general outline of the algorithm to give sufficient background, and a previously solved service placement peculiarities are listed.
Algorithm 1 takes as input the service and substrate graph structures  R = ( V R , E R ) and S = ( V S , E S ) , and returns a complete mapping structure of VNFs and their connections V and E , if any feasible is found. An ordered list of unit orchestration steps, i.e., legs ( e i , v i ) , a pair of VNF and adjacent request link, is stored in list Ψ R and generated by function OrderLegsForMapping( V R , E R ). In the current case the ordering is simple, as the request graph R = ( V R , E R ) is a path graph between a source and a destination. In more complicated applications this function returns the legs in an order so that their source is always placed by the M AP O NE NF ( e i , v i ) function, before their own placement decisions. We note that our results on the substrate graph model are general and independent of the service graph structure. Previously published and applied versions of the greedy backtrack approach are capable of handling general service structures [19,26,27,28]. The M AP O NE NF ( e i , v i ) function generates hosting candidates and filters them according to the constraints, as shown in Formulation 1. In case such a greedy step is not successful, the functions G ET B ACKTRACK O PTION ( e i , v i ) and U NDO G REEDY M APPING ( e i , v i ) are responsible to explore other greedy mapping directions and to maintain the resource reservations, constraint states and mapping structures. When a complete mapping structure solving Formulation 1 is found, Algorithm 1 returns the solution. Our earlier work also studies tackling the runtime complexity of such a greedy mapping approach for the NP-hard service placement problem [19,27], these examinations are out of the scope of this paper.
In our earlier work we used this greedy heuristic service placement algorithm framework in various different settings, including general service topology structure [26], data plane resource orchestration [27], hybrid online-offline operational setting [28], and integrated it into a 5G network architecture supporting advanced resource (anti)-affinity constraints [19]. Our greedy heuristic framework has served as basis for several patents submitted by Ericsson, patenting VNF decomposition option selection, elastic substrate capacity management and VNF interconnection constraints (Patents pending).
The versatility of the greedy backtracking approach allows it to be applied in various service graph embedding scenarios, including 5G-enabled IoT prototype architectures independent of our recent work [8]. Our algorithm framework can be easily extended, ideal for early deployment, prototype architecture integration and continuous development.
In this paper, we propose theoretical foundations to the greedy approach by providing guarantee on the embedding result’s end-to-end delay requirement. Subsequently, we present our mathematical analysis on node capacity allocation in a heterogeneous distributed computing environment by refining the substrate graph model.
Algorithm 1 Overview of the Greedy Backtrack Metaheuristic for VNE
Returns a set of complete mapping structures of service graph S to resource graph R.
1: procedure Map( S , R ) V , E
2:     Ψ R O RDER L EGS F OR M APPING ( V R , E R )    ▹ Lists all VNFs and links to be mapped
3:    while e i , v i Ψ R where V ( v i ) or E ( e i ) do
4:    while M AP O NE NF ( e i , v i ) not successful do
5:        e i , v i G ET B ACKTRACK O PTION ( e i , v i )
6:        U NDO G REEDY M APPING ( e i , v i )
7:        e i , v i e i , v i                    ▹ Try remapping another leg
8:    end while
9:    end while
10:    return V , E
11: end procedure

4. Result on Path Delay Constraint

This section extends our system and optimization model with latency values, formalizes path delay constraint and we present our result on how to design the step-by-step delay heuristics to approximate end-to-end delay requirements. The notations related to the delay model are shown in Table 3.
We annotate each substrate graph connection by communication delays, and calculate the distances of each substrate node pairs s i , s j V S , denoted by delay distance d s i s j . In our general greedy framework of Algorithm 1, the M AP O NE NF ( e i , v i ) function can allocate any path E ( e i ) for hosting the request edge e i E R , which is aligned with path constraints (see P R ( e i ) ). The delay of such feasible path is denoted by d s i s j ( f p ) . This substrate graph path delay for hosting a request graph edge is alternatively denoted by d v j v j + 1 ( E ) , to eliminate the indirection of the node mapping function V from the notation. Having the VNFs indexed in their order on the path request R as V R = { v 0 , v n , v n + 1 } , E R = { ( v 0 , v 1 ) , ( v n , v n + 1 ) } , we extend the original problem definition of Formulation 1 by a path delay requirement.
D n + 1 ( u s e d ) = ( v i , v i + 1 ) E R d v j v j + 1 ( E ) D ( r e q )
where D ( r e q ) denotes the maximal allowed path delay of the used route from the beginning to the end of the service graph path.
Assume that the function OrderLegsForMapping( V R , E R ) returns the edges of the path request graph in order, starting from the fix substrate node s 0 = V ( v 0 ) , where the chain starts from. The algorithm updates the remaining delay budget D ( V v i ) by subtracting the used path delay d V ( v i 1 ) V ( v i ) ( f p ) after the greedy mapping of a leg leading to VNF v i . The termination of the request path graph R is in substrate node V ( v n + 1 ) = s n + 1 , which is alternatively referred to as t. We state our result on delay guarantee in the following theorem.
Theorem 1
(End-to-end delay constraint guarantee). A greedy heuristic maps a VNF in each step v i { v 1 , v n } , where all VNFs until index i are greedily placed, i.e., V ( v i ) , and the hosting substrate node and path of leg ( e i + 1 , v i + 1 ) are being selected.
During the greedy mapping of a service graph, if for choosing the host of all VNFs v i + 1 { v 1 , v n } ,
  • used delay is a fraction of the path delay requirement: d v j v j + 1 ( E ) α D ( r e q ) , 1 + ϵ n + 1 < α 1 ,
  • the used substrate node’s distance is bounded: d V ( v i ) V ( v i + 1 ) + d V ( v i + 1 ) t > B ( d i s t ) , and d V ( v i + 1 ) t d s 0 t
  • and the remaining delay requirement is bounded: D ( V ( v i ) ) > B ( r e q ) ,
then the used total path delay ( 1 + ϵ ) approximates the path delay requirement:
D n + 1 ( u s e d ) ( 1 + ϵ ) D ( r e q ) , ϵ R + ,
where
0 < B ( d i s t ) < n + α n + 1 D ( r e q ) ,
    0 < B ( r e q ) < α D ( r e q ) + d s 0 t ,
B ( d i s t ) B ( r e q ) n + α ϵ n + 1 ( α D ( r e q ) + d s 0 t ) D ( r e q ) .
The proof of the Theorem 1 is presented in Appendix A.
Theorem 1 helps designing a heuristic algorithm’s step-by-step bounds on the latency values to guarantee the ( 1 + ϵ ) -approximation of the end-to-end path delay constraint. It is important to note that the algorithm does not need to minimize for delay to comply with the constraint, i.e., shortest path calculation for each request edge might be done for the cost metric, while keeping the theorem’s bounds on the delay. The corresponding subproblem is the restricted shortest path problem, for which efficient algorithms have been proposed [29].
Furthermore, the presented result does not utilize the previously well-studied backtracking capability of the proposed embedding framework. If substrate elements with the desired bounds can not be found, or the ( 1 + ϵ ) -violation of the delay constraint needs to be mitigated, undoing some earlier greedy placement steps may solve the issue. Relation between the ( 1 + ϵ ) approximation ratio and the required search space for the backtracking might be studied to design a fully polynomial-time approximation scheme (FPTAS) for the problem. A numerical example for applying Theorem 1 is shown in Section 7.
Having demonstrated how advanced constraints, such as end-to-end delay, can be supported by the greedy backtrack framework, now we turn to refining the substrate graph model which provides powerful benefits for the embedding algorithm.

5. Result on Resource Aggregation

5.1. Revisit the BiS-BiS Model

Network abstractions of various types have proved useful in the past, such as network abstraction map [12], hose model for VPN design [11] and more recently the Big Switch abstraction in SDN [15]. The Big Switch model describes network segments with their end-to-end transport characteristics. As computation and networking are increasingly interleaving thanks to softwarization and virtualization, the Big Switch approach was extended to describe both by the Big Switch-Big Software (BiS-BiS) abstraction [17,18]. Our work refines the BiS-BiS abstraction and provides theoretic foundation to it.
To describe an abstract view of distributed computation sites and to supply valuable information for latency sensitive applications, we propose adding internal aggregate nodes to the BiS-BiS model which describe transport and/or computation resources. Figure 3 shows an abstract view of the lower level infrastructure view of Figure 1. In this example, the CSP chooses to show its network aggregated into two BiS-BiS domains, describing the west and east segments of its infrastructure by CSP BiSBiS1 and CSP BiSBiS2, respectively. The CSP’s three computing locations, Server2, Server3 and Server4 of Figure 1 are aggregated into the CSP Aggr. node of Figure 3. The other non-aggregated nodes, Server1, DataCenter1 and Cluster1 of Figure 1 are represented by CSP Single, DC and OTT Priv nodes, respectively. To simplify the networking structure and to hide some lower level topological information, forwarding nodes of the infrastructure are also aggregated. For instance, the two abstract forwarding nodes of CSP BiSBiS2 in Figure 3 represent the eastern side of the forwarding topology in Figure 1. The edges connecting the internal nodes of a BiS-BiS are annotated by delay values, describing the transport characteristics. Our embedding algorithm proposed in Section 3 is able to operate on a substrate graph, which has such BiS-BiS domains, and is able to map service graphs with end-to-end delay constraints as described in Section 4. The extensions required for the capacity constraints (6) to model the aggregate capacity are presented in this section.
We assume that defining the set of substrate nodes to be aggregated is out-of-scope of the underlying optimization problem, as the clustering might be more influenced by the CSP’s operational policies than rigorous mathematical measures. An extensive survey on clustering algorithms in sensor networks can be found in the literature [30], while general graph clustering is studied in [31].
As it was shown in previous experiments on abstract infrastructure views [19], communicating the bottlenecks is in the interest of both the OTT SP and the CSP to avoid overbooking and under-utilization. To facilitate the effective communication of the bottlenecks, the aggregation must hold an essential property shown in Remark 1.
Remark 1
(Essential property of substrate abstraction). If a set of VNFs composing the service graph R seems to be hostable on an aggregate substrate node, then the VNF set must be able to be mapped to the underlying hidden network segment.
Given the clustering of the underlying substrate nodes which are to be aggregated, the central problem in creating the BiS-BiS view is the aggregation of the hidden nodes’ capacities into a single abstract node’s capacity. The aggregating BiS-BiS view must comply with Remark 1 and maximize the shown capabilities of the hidden network segment. In the next section we formulate this central problem as the resource contraction problem, and propose an effective solution to it.

5.2. Resource Contraction Problem

To formulate the resource abstraction problem as an optimization we first restate and generalize the capacity allocation subproblem of Formulation 1, characterized by (1), (5) and (6).
First, the capacity allocation problem should be independent of the request graph instance R = ( V R , E R ) , as the aggregation view should be applicable to any service supported by the system. So we introduce a multiset of the base VNF set ( R ( v n f s ) , m R ) including not only any set of VNFs but also their repetitions m R . VNFs in an IoT service might appear multiple times, e.g., data processing and noise filtering might need to be done in multiple distributed locations, close to the sensors or end-users. Notations corresponding to this chapter are shown in Table 4. The set of substrate nodes to be aggregated is denoted by V S V S . Formulation 2 shows the capacity allocation problem generalized to multisets of the possible VNFs and arbitrary subsets of the substrate graph. The equations are formalized for a listing of the request multiset ( R ( v n f s ) , m R ) , where elements with higher multiplicity are repeated accordingly. All repetitions of all VNF v i must be placed somewhere, as expressed by (13). The problem only checks whether an allocation is possible, solving a subproblem of Formulation 1 with (13) and (14) relating to (1) and (5), (6) respectively.
Formulation 2 Capacity Allocation Problem (CAP)
Input: V S , ( R ( v n f s ) , m R ) , c S ( s . f . ) , d R ( s . f . )
Output: True if V , False otherwise
N : = s i z e ( ( R ( v n f s ) , m R ) )
    v i { v 1 , v 2 , v N } : V ( v i ) V S
s i V S : v j | V ( v j ) = s i , v j { v 1 , v N } d R ( s . f . ) ( v j ) c S ( s . f . ) ( s i )
The resource contraction problem shown in Formulation 3 builds on the capacity allocation problem. It takes as input a subset of the substrate nodes V S V S to be aggregated, and returns an aggregate fixed substrate node s ¯ with resource type T S ( s ¯ ) = ( a . f . ) and aggregate capacity c S ( a . f . ) ( s ¯ ) = A . Such an example is shown in Figure 3, where the CSP decides to aggregate its single fixed type servers in Figure 1 into a single aggregate substrate node. This is contained in the BiS-BiS created for the western part of the CSP’s infrastructure and is connected to the other parts of the substrate graph through aggregate forwarding nodes shown in Figure 3. The essential property of substrate abstraction of Remark 1 is formalized in (16). For all VNF sets with any multiplicity, if it seems to be placeable on the aggregate node s ¯ using the Capacity Allocation Problem (CAP), then it must be possible to allocate it to the hidden nodes. The capacity of the aggregate node shall be maximized to show as accurate view as possible, which is formalized by the objective in (17). The capacity of the aggregate node should never exceed the sum of the hidden nodes’ capacities, formalized in (15). Note that for evaluating the condition of (16), the Equation (14) simplifies to d e m _ s u m ( ( V R , m R ) ) c S ( s . f . ) ( s ¯ ) = c S ( a . f . ) ( s ¯ ) = A .
Formulation 3 Resource contraction problem (RCP)
Input: V S , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . )
Output: A , s ¯ , c S ( a . f . ) : { s ¯ } { A } , T S ( s ¯ ) = ( a . f . )
A Z + : A s i V S c S ( s . f . ) ( s i )  
V R R ( v n f s ) , ( V R , m R ) : If CAP ( { s ¯ } , ( V R , m R ) , c S ( s . f . ) ( s ¯ ) = A , d R ( s . f . ) ) is True then CAP ( V S , ( V R , m R ) , c S ( s . f . ) , d R ( s . f . ) ) is True
subject to m a x i m i z e A Z + A
To this end, if the RCP is solved for a set of single fixed type ( s . f . ) substrate nodes V S V S with capacity function c S ( s . f . ) and its accompanying demand function d R ( s . f . ) , then their contracted view is the aggregate fixed type ( a . f . ) substrate node s ¯ with capacity A. Note that it is not necessary to define a different demand function for placing VNFs on aggregate fixed nodes, i.e., d R ( a . f . ) = d R ( s . f . ) . Instead of showing the whole set of substrate nodes V S , the CSP can choose to publish the aggregate node, which integrates to the resource view of the OTT SPs.
Extending the substrate graph model with the aggregation node s ¯ specified by the resource contraction problem, we extend Formulation 1 to include aggregate fixed nodes in (6) as shown in (18):
s i V S , r V R : c S ( r , s i ) = 1 , if v r d R ( s . f . ) ( v ) c S ( s . f . ) ( s i ) and T S ( s i ) = ( s . f . ) 1 , if v r d R ( s . f . ) ( v ) c S ( a . f . ) ( s i ) and T S ( s i ) = ( a . f . ) 0 , otherwise
This describes a heterogeneous view of the infrastructure, while hiding some topology information as desired. The view might be periodically updated as the capacities saturate, to keep the shared information up-to-date and useful, according to the agreement among the providers.
Similar to many assignment problems, the CAP, and thus the RCP as well are NP-hard. The CAP is a subproblem of the notoriously hard VNE problem, and proven to be NP-hard by reducing it to the famous 3-SAT problem [3]. In the following we present an approximation algorithm for solving the RCP, and we analyze its performance.

5.3. Approximating Resource Contraction

We propose a solution to efficiently approximate the NP-hard resource contraction problem (RCP) presented in Formulation 3.
The pseudo-code of aprxRCP is shown in Algorithm 2. The VNF v max with largest demand d max is selected from the input base VNF set. In lines 6 and 8 the big and small capacity substrate nodes are defined, based on being or not being able to fit d max , defining a 2-partition of the to-be-aggregated nodes V S . Note that operating on integer demands and capacities is important to achieve the approximation result. A component of the final aggregation capacity A 0 is defined by accounting for at least d max space in each big node V S ( b i g ) in line 7. This way, the maximum amount of repetition of the biggest VNF v max is handled in the input multiset ( R ( v n f s ) , m R ) of CAP while solving the RCP. In addition, this approach ensures that the CAP on the hidden substrate nodes is possible, as a lower limit on the sum of such a capacity allocation is calculated. The function aprxRCP runs recursively by accounting for the highest amount of reservable capacities for the second largest VNF, by removing v max from the base VNF set R ( v n f s ) and executing the whole function only for the small substrate nodes V S ( s m a l l ) in line 10. As the recursively returned aggregation component A 1 cannot be higher than d max (otherwise the essential property of Remark 1 might be violated), a result is produced. A termination criterion for the recursion is an empty input VNF set, which results in summing the capacities of the input substrate nodes (recursively remaining nodes with small capacities) in line 3.
In each recursive call, at least one VNF, the current v max , is taken out of the input VNF set, so the recursion is at most | R ( v n f s ) | deep. The algorithm performs polynomial number of steps in the input sizes in each recursive call, so the recursion always terminates and its complexity is  O ( | R ( v n f s ) | 2 | V S | ) . We state the performance guarantee of aprxRCP presented in Algorithm 2 in relation to the optimal solution of RCP.
Theorem 2
( 1 2 -approximation of the Resource Contraction Problem). Given any subset of the substrate graph nodes V S V S and base VNF set R ( v n f s ) with capacity function c S ( s . f . ) and VNF demand function d R ( s . f . ) , Algorithm 2 1 2 -approximates the optimal solution of the Resource Contraction Problem of Formulation 3:
1 2 O P T { RCP ( V S , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . ) ) } APRX RCP ( V S , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . ) )
The proof of Theorem 2 is presented in Appendix B. A numeric example for Formulation 3 solved by aprxRCP is presented in Section 7.
Supported by Theorem 2, we can efficiently calculate the capacity of an aggregate fixed ( a . f . ) type substrate node, hiding a set of single fixed ( s . f . ) type substrate nodes. This enables a CSP to provide a heterogeneous infrastructure view to its tenant OTT SPs, hiding sensitive parts of the topology, while being able to show exact views where it is necessary, as it is demonstrated in Figure 3. The CSP can use aprxRCP to 1 2 -approximate the optimal aggregate capacity to be shown to its tenants’ resource orchestrators. The presented greedy heuristic framework Algorithm 1 in Section 3.2 can be easily extended to respect the multiple types of substrate nodes, because only the capacity calculation function of Formulation 1 needs to be modified. The aggregation scheme also contributes to the scalability of the embedding algorithm executed by the OTT SP, as it decreases the number of substrate nodes in its infrastructure view. As shown in (18), the capacity interpretation is extended for ( a . f . ) type nodes and its implementation can be done in the M AP O NE NF ( e i , v i ) function.
Algorithm 2 Resource contraction algorithm solving Formulation 3
Input: V S , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . )
Output: A
1: procedure aprx RCP( V S , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . ) ) A
2:  if R ( v n f s ) = then
3:      return c a p _ s u m ( V S ′)
4:  else
5:       v max , d max max d R ( s . f . ) { R ( v n f s ) }             ▹ Get the VNF with biggest demand  
6:       V S ( b i g ) { s i | s i V S , d max c S ( s . f . ) ( s i ) }    
7:       A 0 s i V S ( b i g ) max c S ( s . f . ) ( s i ) 2 + 1 , c S ( s . f . ) ( s i ) d max + 1  
8:       V S ( s m a l l ) { s i | s i V S , d max > c S ( s . f . ) ( s i ) }  
9:      if V S ( s m a l l ) then
10:       A 1 APRX RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } , c S ( s . f . ) , d R ( s . f . ) )  
11:      return A 0 + min d max 1 , A 1
12:      else
13:      return A 0
14:      end if
15:  end if
16: end procedure

6. Results on Elastic Resources

6.1. Modeling Resource Elasticity

To capture important characteristics of state-of-the-art computation infrastructure, we model elastic capacity and on-demand billing. Kubernetes is widely used in the industry today, thanks to its active open source community, enabling the rapid development of practical IoT deployments. As it was demonstrated earlier, Kubernetes-based virtualization architectures are a good candidate to meet the extreme requirements of IoT services [8]. We take the widely used Horizontal Pod Autoscaler (HPA) of the Kubernetes container management system [6] as a representative example to model resource elasticity. We propose a mathematical model of Kubernetes HPA to extend our detailed model of the heterogeneous compute and network infrastructure.
Using Kubernetes terminology, we refer to a single instance of a containerized VNF as pod, which is managed by HPA and replicated or terminated in response to changing workload. By default, HPA measures the average of all instantiated pods’ utilization of their allocated CPU capacity, and compares it to a target utilization [7].
Definition 1 lists the HPA parameters and formalizes its operation, which is the base for describing the behavior of a single elastic substrate node s i V S .
Definition 1
(Kubernetes HPA parameters and operation). The following parameters are configured by the operator of HPA [7]:
1. 
c m i n and c m a x are the minimal and maximal allowed pod count,
2. 
u ^ [ 0 , 1 ] is the targeted scaling metric average of all running pods,
3. 
t ( s c a ) R + time length of a scaling interval, when HPA evaluates metrics for scaling decisions,
4. 
σ [ 0 , 1 ] is the scaling tolerance,
5. 
N ( s c a ) : = T R t ( s c a ) , T R > t ( s c a ) is the number of scaling intervals during the lifetime T R  of the service R.
u j [ 0 , 1 ] is the measured scaling metric average of all running pods in scaling interval j { 1 , 2 , N ( s c a ) } . A scaling decision is made in scaling interval j, when
| u j u ^ 1 | > σ ,
and the number of pods in interval j + 1 recursively yields:
c j + 1 = c j u j u ^ .
After applying the limits, pods are terminated or instantiated to meet the count
c j + 1 = APPLY P OD L IMITS ( c j + 1 ) = c j + 1 i f c m i n c j + 1 c m a x c m i n i f c j + 1 < c m i n c m a x i f c j + 1 > c m a x .
During a given scaling interval, the number of pods (i.e., VNF replicates) processing the incoming task of a VNF v i is fixed. Elementary tasks of a VNF model are for example sensor data processing tasks, video processing requests, HTTP requests for a webserver VNF, flow classification requests for a firewall VNF or incoming images for an image processing VNF, etc. We extend our VNF model by assigning incoming elementary task rate λ i and processing rate μ i to VNF v i . Notations for the service and substrate model extensions of this section are gathered in Table 5.
As the default configuration of HPA uses CPU resources as scaling metric, we primarily assume the modeling characteristics based on the nature CPU utilization of computation intensive tasks. We propose to model the pod utilization states using a classic M/M/c queue, where “c” number of pods are processing the VNF’s incoming tasks in parallel. The corresponding assumptions are collected in Proposition 1.
Proposition 1
(Model scaling interval as M/M/c queue). A scaling interval of the Kubernetes HPA j { 1 , 2 , N ( s c a ) } for a single VNF v i V R can be described by a classic M/M/c model supposing the following assumptions:
1. 
the pods are instantiated and terminated instantly,
2. 
the arrival process of the VNF’s task is memoryless with constant rate λ = λ i during the scaling interval,
3. 
each pod has identical characteristics, including the VNF’s task processing with an identical, memoryless process with constant rate μ = μ i during the scaling interval,
4. 
the task queue of VNF v i has infinite length and the task-to-pod assignment takes negligible time, assuming computation intensive tasks and CPU utilization scaling metrics, the pods have two distinct utilization states: busy and idle, with 100% and 0% scaling metric utilization, respectively,
5. 
scaling metric u j is the average utilization of all running pods.
Note that the HPA utilization metric can be easily configured and thus the assumptions of Proposition 1 would still hold for the general scaling metric. For instance, if the application is I/O intensive, and HPA is configured to scale based on I/O resource usage, Proposition 1 remains realistic.
We state our analytical results on the M/M/c queue model in Theorem 3.
Theorem 3
(Analysis of M/M/c queue). If inequality c μ λ holds for and M/M/c queue with arrival rate λ and "c" instances of servers with processing rate μ, then the expected values E of the following real random variables exist and can be calculated as follows:
  • Total busy time Θ c : measures the length of time until the first idle moment of an M/M/c system starting from c busy servers.
    E [ Θ c ] = k = 1 c d d s η k ( 0 )
  • Weighted total busy time Ω c : measures the area under the time–busy server count chart for an M/M/c system starting from c busy servers until the first idle moment.
E [ Ω c ] = k = 1 c d d s β k ( 0 )
where η k ( s ) and β k ( s ) are the Laplace–Stieltjes Transform of the random variables composing the total busy time Θ c and weighted total busy time Ω c respectively. The exact definitions of the random variables and their calculations are shown in Appendix C.
The proof of Theorem 3 is detailed in Appendix C. We propose to use the expected values E [ Θ c ] and E [ Ω c ] to estimate the scaling metric of HPA.
Proposition 2
(Usage of Theorem 3 to model HPA). The measured scaling metric u j of Kubernetes HPA in any scaling interval j { 1 , 2 , N ( s c a ) } for a single VNF v i V R can be estimated:
u j u ˜ = E [ Ω c ] c E [ Θ c ]
calculated for an M/M/c queue with server count, arrival and departure rates c = c j , λ = λ i and μ = μ i , respectively.
Argumentation. 
The momentary utilization of an M/M/c system in any given time–busy server count trajectory (i.e., a concrete realization of the random process) is calculated by the number of busy servers (pods) divided by the number of total servers "c". Thus, the average utilization in an interval t can be calculated by the area below the time–busy pod count chart until t, divided by the maximal possible (rectangular) area c t . As  Ω c measures the area under the trajectory chart and Θ c measures the time until the idle state, their fraction gives the average utilization. Applying the assumptions of Proposition 1 this metric equals to the scaling metric which would be measured by HPA on the given pod count trajectory. This estimation neglects the dependence of the two random variables and assumes that the probability P ( t > Θ c ) is negligible, which are realistic assumptions in a practical setting. Theorem 3 states the expected values E [ Θ c ] and E [ Ω c ] , which can be used to estimate the measured scaling metric u j u ˜ .

6.2. Describing Elastic Resource Behavior

As described in Definition 1, the only non-deterministic part of HPA is the scaling metric measurement u j in scaling interval j. Having the estimation u j u ˜ as shown in Proposition 2, we can model an elastic node’s behavior in response to various loads.
Algorithm 3 determines a single elastic substrate node s i ’s behavior (https://github.com/nadamdb/k8s-hpa-modeling) by the trajectory of the varying pod numbers working on a single to-be-placed VNF’s task during the whole service lifetime T R . Procedure modelHPAbehavior takes as input a VNF’s intensity characteristics, and a possible elastic host node’s HPA settings. It iteratively uses the subroutine nextHPAPodCount to determine the nature of the scaling decision in each scaling interval during the lifetime of the service. The pod count trajectory function f ( p o d ) is continuous in its first argument, which tells for each time instance the predicted number of running pods which would process the VNF v i ’s tasks on substrate location s i . If in any scaling interval the pod count is restricted by the maximal number of pods c m a x , the trajectory is invalidated by terminating the algorithm according to the condition in line 7. As shown in line 17, the algorithm has to handle scaling intervals when the M/M/c model’s stability criterion, i.e., a condition of Theorem 3 is not met. A cumulative overload parameter ρ ( o v e r l o a d ) is used between iterations, which compensates the estimated utilization metric by adding the volume of the overload. Line 21 gets the scaling metric estimation based on Proposition 2, and the overload parameter is decreased by the compensated amount. The scaling decision and the number of running pods are determined according to the HPA operation shown in Definition 1 and formalized in Algorithm 3 starting from line 24.
Note that Proposition 1 only requires the arrival and processing rates to be constant during the scaling interval. Algorithm 3 is able to handle different rates in each scaling interval, enabling it to follow dynamic changes in the request arrival or changes in the computation circumstances. The presented algorithm has been tuned to real measurements taken on a Kubernetes HPA to properly model the overloaded states, when Theorem 3 cannot be used. The overload parameter ρ ( o v e r l o a d ) aligns the model’s prediction with experiments. A validative comparison between the estimated pod count trajectory of Algorithm 3 and a measurement on the real pod count trajectory of a Kubernetes cluster managed by HPA is discussed in Section 7.
Algorithm 3 Pod count trajectory modeling of Kubernetes HPA
Input: v i , s j , parameters for s j defined in Definition 1
Output: f ( p o d ) : [ 0 , T R ] × V R × V S N { 0 }
1: procedure model HPABehavior( v i , λ i , μ i , s j : : [ c 0 , c m i n , c m a x , u ^ , t ( s c a ) , σ , N ( s c a ) ] )
2:     c ( c u r r ) c 0
3:     t [ 0 , t ( s c a ) ] : f ( p o d ) ( t , v i , s i ) = c 0        ▹ Initialize output HPA trajectory function
4:     ρ ( o v e r l o a d ) 0                      ▹ Cumulative overload parameter
5:    for k { 1 , 2 , N ( s c a ) } do
6:     c k , ρ ( o v e r l o a d ) NEXT HPAP OD C OUNT ( c ( c u r r ) , λ i , μ i , u ^ , σ , ρ ( o v e r l o a d ) )
7:    if c k > c m a x then
8:     return⊥                    ▹ Invalidate trajectory function f ( p o d )
9:    else
10:      c ( c u r r ) APPLY P OD L IMITS ( c k , c m i n , c m a x )       ▹ Use HPA pod limits in (22)
11:      t ( k t ( s c a ) , ( k + 1 ) t ( s c a ) ] : f ( p o d ) ( t , v i , s i ) = c ( c u r r )
12:    end if
13:    end for
14:    return f ( p o d )
15: end procedure
16: procedure nextHPAPodCount( c ( c u r r ) , λ i , μ i , u ^ , σ , ρ ( o v e r l o a d ) )
17:    if λ i > c ( c u r r ) μ i then                  ▹ In this case the M/M/c is instable
18:     ρ ( o v e r l o a d ) ρ ( o v e r l o a d ) + λ i c ( c u r r ) μ i
19:     u ( c u r r ) 1 . 0
20:    else                               ▹ Use M/M/c based model
21:     u ( c u r r ) min ( u ˜ + ρ ( o v e r l o a d ) , 1.0 )              ▹ Get u ˜ from Proposition 2
22:     ρ ( o v e r l o a d ) ρ ( o v e r l o a d ) ( u ( c u r r ) ρ ( o v e r l o a d ) )
23:    end if 
24:    if | u ( c u r r ) u ^ 1 | > σ then                   ▹ Use (20) with u j = u ( c u r r )  
25:     c ( n e x t ) c ( c u r r ) u ( c u r r ) u ^              ▹ Use (21) with ( c u r r ) as scaling interval j
26:    else
27:     c ( n e x t ) c ( c u r r )
28:    end if
29:    return c ( n e x t ) , ρ ( o v e r l o a d )
30:end procedure
Using this model of an single elastic ( s . e . ) substrate node, we interpret their capacities, the demands of the to-be-placed VNFs and further extend the capacity and demand functions with an additional type:
t [ 0 , T R ] , v i V R , s j V S , T S ( s j ) = ( s . e . ) : d R ( s . e . ) = MODEL HPAB EHAVIOR ( v i , λ i , μ i , s j : : [ c 0 , c m i n , c m a x , u ^ , t ( s c a ) , σ , N ( s c a ) ] ) d R ( s . e . ) ( t , v i , s j ) = f ( p o d ) ( t , v i , s j )
s i V S , T S ( s i ) = ( s . e . ) : c S ( s . e . ) ( s i ) = s i : : c m a x
The demand function of a single VNF, to-be-placed on an elastic node is defined as the output of Algorithm 3, being either the pod count trajectory f ( p o d ) or the invalid character ⊥. Assuming a strict QoS approach for each VNF, we allow the placement of a set of VNFs, if their sum of demand functions (i.e., their pod count trajectories) would never go above the maximal pod count c m a x of an elastic node s i . Furthermore, if a VNF alone would exceed c m a x , the containing VNF set is considered not placeable.
The above interpretation of elastic resource capacities and demands, defines the admission control function for computation capacity managed by Kubernetes HPA. The effect of the incoming requests are modeled based on the infrastructure’s configuration, and this is used to compare the predicted dynamic demand to the allocated infrastructure capabilities. Further extending the capacity constraint (18) (which is an extension of (6) of Formulation 1) we get:
s i V S , r V R : c S ( r , s i ) = 1 , if v r d R ( s . f . ) ( v ) c S ( s . f . ) ( s i ) and T S ( s i ) = ( s . f . ) 1 , if v r d R ( s . f . ) ( v ) c S ( a . f . ) ( s i ) and T S ( s i ) = ( a . f . ) 0 , if v r : d R ( s . e . ) ( t , v , s i ) = and T S ( s i ) = ( s . e . ) 1 , if t [ 0 , T R ] : v r d R ( s . e . ) ( t , v , s i ) c S ( s . e . ) ( s i ) and T S ( s i ) = ( s . e . ) 0 , otherwise
In addition to modeling the capacity of an elastic node, the defined demand function enables us to refine the cost model of a VNF deployment on elastic substrate. If the cost of running a pod of VNF v i on elastic node s j for one time unit is p ( p o d ) ( v i , s j ) , then the total cost of placing the VNF here for the whole service lifetime T R can be calculated:
v i V R , s j V S , T S ( s j ) = ( s . e . ) , T R R + : p V R ( T R , v i , s j ) = p ( p o d ) ( v i , s j ) 0 T R d R ( s . e . ) ( τ , v i , s j ) d τ
The elastic substrate node model integrates into our heterogeneous infrastructure model, enabling the CSP to expose its detailed view of its dynamic infrastructure towards an OTT SP if necessary. The OTT SP’s orchestration algorithm can utilize this information to make VNF placement decisions and accurate cost estimations using pod count trajectory prediction. Implementing Algorithm 3 and Equations (25) and (26) inside the M AP O NE NF ( e i , v i ) function, enables our greedy heuristic framework to serve as the OTT SP’s orchestration algorithm over the CSP’s hybrid detailed-abstract infrastructure resources.

7. Practical Exploitation

In this section we summarize how our results could be integrated with the referred 5G prototype systems [8,19], and how they can be used for the example remote security camera analytics and alerts IoT use case. We demonstrate the running time of Algorithm 1, and compare it to the times required by other components of our prototype system. Furthermore, we present numeric examples for applications of Theorem 1, the resource contraction problem solved by Algorithm 2 and comparing the elastic resource model of Algorithm 3 to measurement. Figure 4 positions the presented algorithms in a general 5G-enabled IoT framework. Finally, we briefly discuss the challenges of the aggregate elastic resource type.

7.1. Result Application Examples

As shown by Figure 4, the core service graph embedding is executed by the OTT SP’s orchestration logic, which must guarantee the end-to-end delay requirements, and be aware of the various substrate node types of the underlying heterogeneous infrastructure. As it was demonstrated, our contribution enables Algorithm 1 to solve and extended version of Formulation 1 including the delay constraint of (8) and computation capacity constraints in (25). Our results empower existing and future 5G architecture deployments to realize various IoT services, spanning wide geographic regions over software-controlled, abstract and dynamic infrastructures provided by multiple communication and computation entities.

7.1.1. Real-World Prototype Experiment

We have conducted experiments in a real-world sandbox environment, where the computation nodes managed by Algorithm 1 are distributed across multiple European locations [19]. The proof-of-concept (PoC) 5G architecture prototype integrates Virtual Infrastructure Managers (VIMs), which expose their computation resources for an OTT SP’s orchestrator running Algorithm 1. Comparing our PoC to Figure 4, the role of a CSP is played by European Internet Service Providers, while the computation infrastructure is provided by the participating institutions of the research project. We measured the deployment time of two types of Robot Control services with high reliability constraints, i.e., having the robot’s control logic provided by two independently deployed VNFs. The details of the sandbox environment, prototype implementation and the experiment scenarios are published in our earlier work [19], here we only summarize the relevant findings.
Table 6 shows the experiment results in terms of timing, for both application types. The difference in the services is their communication underlay, which from the service placement algorithm’s perspective means different number of components. In both cases the running time of Algorithm 1 is orders of magnitudes smaller than the deployment time required by the underlying VIMs for starting and configuring the to be instantiated VNFs. In the IP routing case more components of the whole PoC architecture are involved in creating the service, this is the result of the significantly higher overall time.
We conclude that the computation requirement of Algorihtm 2 do not cause any bottlenecks in the PoC, so enriching its features with the elastic resource modeling and infrastructure aggregating of the well-scaling algorithms presented in this paper is possible. Our current paper complements this PoC with firm theoretical results to propose foundations for modeling the infrastructure resources.

7.1.2. Application of Theorem 1

Our result on greedy heuristic bound for end-to-end delay, can be used to design the step-by-step bounds for guaranteed constraint approximation performance. The OTT SP’s orchestration logic can use the conditions of Theorem 1 to make a path-delay-aware decision while choosing the routing path for individual service graph connections. Path options are illustrated by dashed arrows in Figure 4. The following numerical example demonstrates how such bounds can be designed.
The expression for the bounds product B ( d i s t ) B ( r e q ) of Theorem 1 can be rearranged to express the estimation of ϵ :
ϵ n + α ( n + 1 ) B ( d i s t ) B ( r e q ) D ( r e q ) ( α D ( r e q ) + d s 0 t ) .
To numerically calculate the example, we take a 10-long service chain as the service graph, i.e., n = 10 . Taking a permissive approach for designing the bounds (i.e., B ( d i s t ) and B ( r e q ) ), and preserving their dependency on problem input parameters, we may take the 3 2 of their allowed intervals, as shown in Table 7.
Substituting these bounds to Equation (27) and making the simplifications we get actual bound for the approximation value ϵ , shown in Table 7. Having the bound for ϵ we can choose the value of α from its allowed interval α = 0.9 ( 14 43 , 1 ] . This enables us to calculate the numeric value for all other algorithm parameters, presented in the last column of Table 7.
Note that the shown ( 1 + ϵ ) -approximation does not utilize the backtracking capability of the greedy heuristic, which drastically lowers the end-to-end delay augmentation or meets the requirement. The shown method formalizes the design process of greedy end-to-end heuristics, to tackle the trade-off between computation complexity and constraint violation. This result enables us to control the computational impact of Algorithm 1 in the whole orchestration process.

7.1.3. Resource Contraction Example Using Algorithm 2

To facilitate the VNF placement on the aggregate fixed ( a . f . ) type substrate nodes, the CSP wishes to aggregate the capacities of its servers, and show an abstract view of the computation capacities to the OTT SP’s orchestration logic. The CSP Aggr. compute node of Figure 4 illustrates this scenario. The VNF placement logic uses the ( a . f . ) case of (25) to decide whether a VNF can be placed on the aggregate substrate node. The following numerical example shows the 1 2 -optimal solution of the NP-hard problem of Formulation 3 by our proposed approximation algorithm shown in Algorithm 2.
For simplicity we omit the capacity and demand functions from the inputs of the related problems and algorithms, and only list the substrate node capacities, VNF demands in the CAP, RCP and aprxRCP arguments. We take the base VNF set R ( v n f s ) with capacity demands D e m = { 1 , 2 , 4 } and to-be-aggregated substrate nodes V S with capacities C a p = { 2 , 3 , 5 , 7 , 8 } . First, we estimate O P T { RCP ( C a p , D e m ) } , which is obviously smaller than 20, as 5 times the VNF with demand 4 could be allocated on the aggregate node, i.e., CAP ( { 20 } , { 4 , 4 , 4 , 4 , 4 } ) is true, but could not be allocated on the hidden nodes, i.e., CAP ( C a p , { 4 , 4 , 4 , 4 , 4 } ) is false. Our proposed resource contraction algorithm APRX RCP ( C a p , D e m ) , shown in Algorithm 2, in its first iteration with d max = 4 , calculates A 0 = 2 + 4 + 5 = 11 for the big capacities { 5 , 7 , 8 } . In the second iteration for the small capacities, it calculates A 1 = APRX RCP ( { 2 , 3 } , { 1 , 2 } ) = 3 . So the aggregate capacity APRX RCP ( C a p , D e m ) = A 0 + min { d max 1 , A 1 } = 14 , which is at least 14 19 -approximation of the optimal solution.
In conclusion, the CSP can efficiently show its resources meeting the essential property for abstraction, as described in Remark 1, which view can be quickly generated.

7.1.4. Comparison of Algorithm 3 to Measurement

Finally, our results on modeling Kubernetes HPA, the OTT SP, running Algorithm 1, can estimate the trajectory of VNF replication states for the IoT service’s lifetime in response to user traffic. The trajectory estimation is presented in Algorithm 3 and should be implemented in the OTT SP’s orchestration logic, making placement decisions based on (25). This is illustrated by the placements of Extract DB VNF and Webserver VNF to single elastic ( s . e . ) substrate nodes on Figure 4.
Figure 5 shows the predicted pod count trajectory and its comparison to the behavior of a real Kubernetes cluster deployment managed by HPA. The experiment uses a webserver VNF packaged in a pod, receiving independent, identically and exponentially distributed user requests with constant arrival ( λ i = 10 r e q u e s t m i n ) and processing intensity ( μ i = 1 r e q u e s t m i n ) for an hour.
The HPA’s scaling interval t ( s c a ) is set to 1 min, with targeted scaling metric u ^ = 0.5 , scaling tolerance σ = 0.1 and pod limits c m i n = 1 , c m a x = 20 . The model utilizes the calculated arrival and processing rate of the webserver VNF during the current scaling interval. So that, not only a fixed pair of arrival rate λ i and processing rate μ i is given (as shown in Algorithm 3), but the realization of the randomized processes is used to calculate the local rates. This approach slightly generalizes the algorithm to provide a reasonable comparison to the measurement, as the Kubernetes HPA is not aware of the exact rates used for generating the arrival and processing times. These estimated rates are used as the input for the nextHPAPodCount() function to predict the utilization metric, and thus predict the number of active pods for the next scaling interval. The experiment starts with a single running pod, when both the model and the measurement initially over-provisions with very similar extent and timing. Both trajectories follow the slight oscillation around the equilibrium pod count of 11–13, resulting in at most −/+15% deviation.
Using this model the OTT SP can make a well-informed decision for deploying its IoT service over the CSP’s elastic and heterogeneous infrastructure.

7.2. Aggregate Elastic Substrate Node Type

Designing a model for aggregate elastic ( a . e . ) infrastructure node types is extremely challenging, as modeling elasticity requires various parameters describing the dynamic behavior, while aggregation abstracts the lower level infrastructure details. For instance, aggregating the view of multiple Kubernetes HPA nodes using the resource contraction problem (RCP) would require allocating a fix capacity to each of the to-be-hidden clusters. This goes against preserving the dynamic nature of the underlying nodes. On the other hand, describing the aggregate elastic node’s capabilities using well-studied queuing systems, such as the M/M/c queue, would require crude simplifications of infrastructure characteristics.
This is a possible future research direction in infrastructure modeling as dynamicity increasingly gains momentum in cloud computing, while network management of edge resources is already challenging, calling for higher computing and communication resource abstractions.

8. Conclusions

We have identified a gap between the rapid evolution of virtualization-based infrastructure technologies and the essentially unchanged substrate models of service placement algorithms. Distributed computing solutions, such as Mobile Edge Computing and 5G utilize increasingly capable infrastructure technologies for addressing quickly changing user demands, and scaling up to the immense sizes of IoT networks. On the contrary, the service component placement algorithms, managing service deployment on top of these architectures, only consider fixed substrate capacities.
Primarily, we have presented our resource aggregation model to support the scalability of network management algorithms, and help preserving sensitive infrastructure information during inter-provider control-plane communication. Secondly, we have used our classic queuing theory results to build an elastic resource model for the auto-scaling mechanism of the wide-spread container management system, Kubernetes. Our results on infrastructure modeling empower existing 5G prototype architectures to place delay-constrained IoT service components on highly dynamic and abstract resource views. In addition, we demonstrated how scalable service placement algorithms can meet path delay requirements by making greedy decisions, while optimizing for independent metrics. Our results integrate with placement algorithms using elementary service-to-resource mapping decisions, enabling their easy deployments already in the proof-of-concept phase. All of our results are complemented with rigorous mathematical theorems whose proofs have been presented in detail.
Finally, we have showcased the practical applicability of our theorems and algorithms to demonstrate what roles our results play for realizing the remote security camera analytics and alerts IoT application across wide geographic areas. The infrastructure resources provided by multiple CSPs and CPs are used by customers facing OTT SPs, who provide IoT services. All players of these complex business relations benefit from higher resource abstraction, accurate modeling of dynamic resources and efficient service placement algorithms.
The computation and communication infrastructure for realizing various IoT applications is becoming increasingly capable to keep up with the user requirements for high service quality. In emerging modern networks, the management algorithms not only have to handle communication resources, but the coordinated management of computation needs to be blended in. The contributions of this paper are believed to be essential for effective abstract resource information exchange and detailed modeling of elastic resources. We hope that our results could serve as a basis for such communication protocol definitions and standardized data models for multi-domain, heterogeneous 5G infrastructures.

Author Contributions

Conceptualization, B.N. and B.S.; formal analysis, B.N.; writing—original draft preparation, B.N. and B.S.; writing—review and editing, B.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Proof of Theorem 1. 
For easier notation and without loss of generality, we index the substrate nodes by the index of the hosted VNFs v i V R , V ( v i ) = s i , with potential substrate aliases for VNF colocation (i.e., s 1 = s 2 , V ( v 1 ) = V ( v 2 ) ).
As the delay distances between any two substrate nodes s i , s j V S is pre-calculated, the following fraction could be calculated in each greedy step of the algorithm. The numerator is a lower estimation of the total used delay (if v i + 1 is going to be hosted on the specific substrate node s i + 1 ) until the end of the whole service graph path V ( v n + 1 ) = s n + 1 = t . This expression can be interpreted as the sum of path delay on a feasible path for request edge ( v i , v i + 1 ) E R , and the host candidate s i + 1 ’s distance to t. The denominator is an upper estimation of the numerator as it expresses the local remaining delay budget, if V ( v i + 1 ) = s i + 1 .
F i = d s i s i + 1 ( f p ) + d s i + 1 t D ( r e q ) j = 0 i 1 d s j s j + 1 ( f p ) , v i V R = { v 0 , v 1 , v n } , V ( v i ) = s i
The fraction F i is always positive, as the numerator represents distances and the denominator is the remaining delay budget D ( s i ) at the given greedy step. The delay budget at the beginning of the mapping is the end-to-end delay requirement D ( r e q ) , when the current VNF is v 0 with fixed location s 0 . Let us take the commonly known inequalities between the harmonic and arithmetic means of the n + 1 fractions F i v i { v 0 , v 1 , v n } :
H a r m o n i c ( F i ) = n + 1 i = 0 n D ( r e q ) j = 0 i 1 d s j s j + 1 ( f p ) d s i s i + 1 ( f p ) + d s i + 1 t i = 0 n d s i s i + 1 ( f p ) + d s i + 1 t D ( r e q ) j = 0 i 1 d s j s j + 1 ( f p ) n + 1 = A r i t h m e t i c ( F i )
Upper bounding the right side expression by replacing the internal denominator by the delay requirement bound B ( r e q ) , we get common denominator for each element. Furthermore, replacing the delay distance bound d s i + 1 t d s 0 t as stated in the conditions of the theorem, each element is strictly increased as shown in (A3). Upper bounding each feasible path delay by α D ( r e q ) , and simplifying by ( n + 1 ) we get the final upper bound.
A r i t h m e t i c ( F i ) i = 0 n d s i s i + 1 ( f p ) + d s 0 t ( n + 1 ) B ( r e q ) ( n + 1 ) α D ( r e q ) + d s 0 t ( n + 1 ) B ( r e q ) = α D ( r e q ) + d s 0 t B ( r e q )
Secondly, we lower bound the harmonic mean of the fractions, by applying the trivial lower bound for the feasible path delay d s i s i + 1 ( f p ) d s i s i + 1 . This decreases the denominator in each element of the sum, which increases the total in the main denominator, resulting in a lower main fraction value. The second lower estimation is done by replacing each element’s denominator by the lower bound on the used substrate node’s distance B ( d i s t ) , resulting in a common denominator:
H a r m o n i c ( F i ) n + 1 i = 0 n D ( r e q ) j = 0 i 1 d s j s j + 1 ( f p ) d s i s i + 1 + d s i + 1 t ( n + 1 ) B ( d i s t ) i = 0 n D ( r e q ) j = 0 i 1 d s j s j + 1 ( f p )
Next, we increase the denominator by discarding negative values from each element of the sum, moreover, for each index i only the last element of the inner sum (with the highest index j) is kept. Rearranging the sum, we get the total used path delay until VNF v n , which equivalently can be rewritten as shown in (A5). As the feasible path delay is upper bounded by α D ( r e q ) for each step, we get the last lower estimation.
( n + 1 ) B ( d i s t ) ( n + 1 ) D ( r e q ) D n ( u s e d ) = ( n + 1 ) B ( d i s t ) ( n + 1 ) D ( r e q ) D n + 1 ( u s e d ) + d s n t ( f p ) ( n + 1 ) B ( d i s t ) ( n + 1 + α ) D ( r e q ) D n + 1 ( u s e d )
Meeting the two sides of the estimations we get
( n + 1 ) B ( d i s t ) ( n + 1 + α ) D ( r e q ) D n + 1 ( u s e d ) α D ( r e q ) + d s 0 t B ( r e q )
which can be rearranged to a general upper bound of the total used path delay D n + 1 ( u s e d )
D n + 1 ( u s e d ) ( n + 1 + α ) D ( r e q ) ( n + 1 ) B ( d i s t ) B ( r e q ) α D ( r e q ) + d s 0 t .
Substituting the expression as stated for the product of the bounds B ( d i s t ) B ( r e q ) , we upper bound the right-hand side and get the main statement of the theorem for ( 1 + ϵ ) -approximation. The upper limits stated for the bounds individually can be verified by substituting them into (A6). □

Appendix B

Proof of Theorem 2. 
First of all, we state and prove some lemmas, to support the claims of the theorem (Thanks for Márton Zubor, PhD for his essential help with this proof).
Lemma A1. 
Let VNF v max R ( v n f s ) be with maximum demand d max : = max d R ( s . f . ) ( R ( v n f s ) ) , and let substrate node s V S be with capacity c S ( s . f . ) ( s ) d max . Furthermore, let request multiset be ( V R , m R ) , V R R ( v n f s ) , such that d e m _ s u m ( ( V R , m R ) ) = v i V R d R ( s . f . ) ( v i ) m R ( v i ) > c S ( s . f . ) ( s ) .
Then, ( V R , m R ) ( V R , m R ) so that
max { c S ( s . f . ) ( s ) 2 + 1 , c S ( s . f . ) ( s ) d max + 1 } d e m _ s u m ( ( V R , m R ) ) c S ( s . f . ) ( s )
Proof of Lemma A1. 
Choose elements of ( V R , m R ) from ( V R , m R ) in non-increasing order (starting with highest demand VNF), until the inequality d e m _ s u m ( ( V R , m R ) ) c S ( s . f . ) ( s ) holds. Then clearly (even if v max was the only chosen element) c S ( s . f . ) ( s ) d max < d e m _ s u m ( ( V R , m R ) ) holds. As the values are integers, adding 1 to the right-hand side, the inequality is reached.
Without loss of generality we can index the ordered list of ( V R , m R ) , where M = s i z e ( ( V R , m R ) ) : d R ( s . f . ) ( v 1 ) d R ( s . f . ) ( v 2 ) d R ( s . f . ) ( v M ) . We define the notation for the multisets with listed elements in this order and their corresponding demand sum as
( V R ( i ) , m R ( i ) ) = { v 1 , v i } , i = 1 M
D i = d e m _ s u m ( ( V R ( i ) , m R ( i ) ) ) , i = 1 M
Since d max c S ( s . f . ) ( s ) , we can choose and index k { 1 M 1 } such that
d R ( s . f . ) ( v 1 ) = D 1 < < D k c S ( s . f . ) ( s ) < D k + 1 < < D M = d e m _ s u m ( ( V R ( M ) , m R ( M ) ) )
Looking at the interesting part of these inequalities
D k c S ( s . f . ) ( s ) < D k + 1 = D k + d R ( s . f . ) ( v k + 1 )
c S ( s . f . ) ( s ) d R ( s . f . ) ( v k + 1 ) < D k
From the initial indexing d R ( s . f . ) ( v k + 1 ) d R ( s . f . ) ( v k ) and we get d R ( s . f . ) ( v k + 1 ) D k as the demand of v k is contained in D k . Adding this to the previous equation
c S ( s . f . ) ( s ) < 2 D k
With using the chosen index k as the multiset to be found ( V R , m R ) , we get the remaining term of the statement of the lemma:
c S ( s . f . ) ( s ) 2 + 1 D k = d e m _ s u m ( ( V R , m R ) )
 □
Lemma A2. 
Let A 0 be as defined in line 7 of Algorithm 2, then the following inequalities hold:
c a p _ s u m ( V S ( b i g ) ) 2 A 0 O P T { RCP ( V S ( b i g ) , R ( v n f s ) , c S ( s . f . ) , d R ( s . f . ) ) }
Proof of Lemma A2. 
The right inequality directly follows from the definition of A 0 , because for all substrate nodes with big capacity s i V S ( b i g ) the inequality c S ( s . f . ) ( s i ) 2 max { c S ( s . f . ) ( s i ) 2 + 1 , c S ( s . f . ) ( s i ) d max + 1 } .
The second inequality means we can solve the Capacity Allocation Problem for all request multisets V R R ( v n f s ) , ( V R , m R ) , where d e m _ s u m ( ( V R , m R ) ) A 0 because the condition of the essential property in (16) are met, i.e., the sum of demands is lower than the capacity of the aggregate node created from the big capacity substrate nodes V S ( b i g ) . For proving the inequality, we need to provide a solution for the Capacity Allocation Problem for all VNF multisets ( V R , m R ) onto substrate nodes V S ( b i g ) .
If there is any substrate node s i V S ( b i g ) , which can fit all of the VNFs, i.e., d e m _ s u m ( ( V R , m R ) ) c S ( s . f . ) ( s i ) , then the allocation is given. Otherwise, in this situation, according to Lemma A1 we can choose some VNF multiset ( V R , m R ) ( V R , m R ) , which completely fits to a substrate node s i V S ( b i g ) . Repeat this step by discarding the used substrate node s i and the allocated VNFs ( V R , m R ) , until a complete mapping of ( V R , m R ) is found. Indirectly suppose that this iterative method fails, which means there is a multiset of VNFs ( V R , m R ) for which d e m _ s u m ( ( V R , m R ) ) > A 0 , but this contradicts the initial condition of fitting to the aggregate node. □
Lemma A3. 
If substrate node set V S V S is disjoint union of V S ( 0 ) and V S ( 1 ) , then (the capacity and demand functions are omitted for readibility)
O P T { RCP ( V S , R ( v n f s ) ) } O P T { RCP ( V S ( 0 ) , R ( v n f s ) ) } + O P T { RCP ( V S ( 1 ) , R ( v n f s ) ) }
Proof of Lemma A3. 
Let
A = O P T { RCP ( V S , R ( v n f s ) ) }
A ( 0 ) = O P T { RCP ( V S ( 0 ) , R ( v n f s ) ) }
A ( 1 ) = O P T { RCP ( V S ( 1 ) , R ( v n f s ) ) }
Then the left side of the inequality means we can solve CAP ( V S , ( V R , m R ) , c S ( s . f . ) , d R ( s . f . ) ) for any request multiset V R R ( v n f s ) , ( V R , m R ) , where d e m _ s u m ( ( V R , m R ) ) A . While on the right side, if we take the same VNF multiset ( V R , m R ) we can solve the corresponding CAP-s if ( V R , m R ) has a special 2-set partition ( V R ( 0 ) , m R ( 0 ) ) and ( V R ( 1 ) , m R ( 1 ) ) so that d e m _ s u m ( ( V R ( 0 ) , m R ( 0 ) ) ) A ( 0 ) and  d e m _ s u m ( ( V R ( 1 ) , m R ( 1 ) ) ) A ( 1 ) . These request sets can be collected from the solution of the CAP for the initial substrate set V S as V S ( 0 ) and V S ( 1 ) are given.
As the O P T { RCP } function is subadditive for the substrate graph sets (i.e., adding new substrate nodes does not necessarily increase O P T { RCP } due to e.g., not being able to map more VNFs anyway), and the CAPproblems are feasible, the inequality follows. □
Now we return to the proof of the main statement. Note that the demand and capacity functions are omitted from the input of O P T { RCP } and aprxRCP as they do not change during the proof. We prove O P T { RCP ( V S , R ( v n f s ) ) } 2 · APRX RCP ( V S , R ( v n f s ) ) by induction on the number of elements in  R ( v n f s ) .
We take the partition of the substrate nodes V S into big capacity nodes V S ( b i g ) and small capacity nodes V S ( s m a l l ) as it is used in Algorithm 2. From Lemma A2 and from (15) of Formulation 3, respectively we get
c a p _ s u m ( V S ( b i g ) ) 2 A 0 ( Lemma A 2 )
O P T { RCP ( V S ( b i g ) , R ( v n f s ) ) } c a p _ s u m ( V S ( b i g ) ) ( 15 )
O P T { RCP ( V S ( b i g ) , R ( v n f s ) ) } 2 A 0
Solving the RCP for the small substrate nodes V S ( s m a l l ) is clearly the demand of the smallest fitting VNF (reminiscent of line 11 of Algorithm 2):
O P T { RCP ( V S ( s m a l l ) , R ( v n f s ) ) } = min d max 1 , O P T { RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } ) }
where VNF v max R ( v n f s ) is with maximum demand d max : = max d R ( s . f . ) ( R ( v n f s ) ) . By the inductive assumption on the number of VNFs we know
O P T { RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } ) } 2 APRX RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } )
Substituting it into the previous equation we get the inequality
O P T { RCP ( V S ( s m a l l ) , R ( v n f s ) ) } 2 min d max 1 , APRX RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } )
Adding together the inequalities (A20) and (A23), we get the recursive return value of aprxRCP on the right side:
O P T { RCP ( V S ( b i g ) , R ( v n f s ) ) } + O P T { RCP ( V S ( s m a l l ) , R ( v n f s ) ) } 2 A 0 + 2 min d max 1 , APRX RCP ( V S ( s m a l l ) , R ( v n f s ) { v max } )
Finally, applying Lemma A3 to the disjoint sets of V S ( b i g ) and V S ( s m a l l ) we get the lower estimation by the optimal value on the left side:
O P T { RCP ( V S , R ( v n f s ) ) } 2 · APRX RCP ( V S , R ( v n f s ) )
 □

Appendix C

Proof of Theorem 3. 
The condition of c μ λ ensures the stability of the system, i.e., all of the subsequently defined random variables have first moments [32,33].
We build our results on the foundational analytical work on M/M/c models presented in [33]. We restate some of their results and definitions using the notations of our paper to prove the theorem. We take the definition of the M/M/c busy period T k as the time until the first occasion the system decreases the number of active pods from k to k 1 . It is formalized in Definition A1.
Definition A1 
(Busy period T k of M/M/c [33]). Let k { 1 , 2 , c } be the number of busy pods in an M/M/c system, and let T k R + be a random variable:
T k = m i n [ t : k j o b s i n t h e s y s t e m a t t i m e 0 + , k 1 j o b s i n t h e s y s t e m a t t i m e t ] .
Using the definition of T k we formally define the total busy time Θ c used in Theorem 3 as the sum of all busy times. Due to the memoryless property of the M/M/c system, the subsequent values of the independent random variables T k can be summed.
Definition A2 
(Total busy time Θ c of M/M/c). The random variable of the total busy time Θ c measures the length of time until the first idle moment of an M/M/c system starting from c busy servers.
Θ c = k = 1 c T k
Following the idea of [33] for the definition of T k , we analogously define the random variable of the single weighted busy period B k . A demonstration is shown in Figure A1 and the formal definition in Definition A3.
Figure A1. Illustration for the recursive definition of B k .
Figure A1. Illustration for the recursive definition of B k .
Sensors 20 03830 g0a1
Definition A3 
(Weighted single busy period B k of M/M/c). Let I k be the random variable of inter-event time of the aggregate Poisson process of an M/M/c system with
  • k Poisson processes (pods) serving requests with rate μ and
  • the arrival Poisson process with rate λ.
Denote the probabilities of an arrival and departure of such aggregated Poisson process by p k ( a r r ) and p k ( d e p ) , respectively. Let B k , k { 1 , 2 , c } be the weighted total load of an M/M/c system while first time reducing the number of currently active pods from k to k 1 :
B k = = k I k + B k + 1 + B k , w i t h p r o b a b i l i t y p k ( a r r ) k I k , w i t h p r o b a b i l i t y p k ( d e p ) i f 1 k < c = c T c i f k = c .
At Definition A3 we recursively use the mixture distribution of random variables, defined by the arrival and departure events. For the case of 1 k < c the first event is either a departure or arrival after I k time has passed. The area under the chart until this event is k I k , which concludes the B k if this event was the departure of a served request, with probability p k ( d e p ) . In case of an arrival, in addition to the previously calculated area k I k , the random variable recursively consists of the sum of B k + 1 and B k , because the number of jobs in the system has increased by one, and eventually returns back to k. Due to the memoryless property of the M/M/c system, the random variables are independent so they can be summed. Thus, the value of the B k adds up to the total area under the time–number of busy pods chart, during the time interval T k as illustrated by Figure A1. In the case of k = c , the area under the chart is the length of the interval T c (see Definition A1) times the maximal number of busy servers c.
The distribution of the inter-event time I k is exponentially distributed with rate λ + k μ . The probabilities of an arrival or departure event if there are k busy pods in the defined aggregate Poisson process can be calculated [33]:
p k ( d e p ) = k μ λ + k μ ; p k ( a r r ) = λ λ + k μ
Analogously to Definition A2, we formally define the total weighted busy time Ω c . Due to the memoryless property of the M/M/c system, the subsequent B k values are independent random variables, so they can be simply summed.
Definition A4 
(Weighted total busy time Ω c of M/M/c). The weighted total busy time measures the area under the time–busy pod count function for an M/M/c system starting from c busy servers until the first idle moment:
Ω c = k = 1 c B k
Both considered composite random variables Θ c and Ω c are composed of independent random variables as defined earlier, so their expected values can be calculated summing the expected values of the components:
E [ Θ c ] = k = 1 c E [ T k ]
E [ Ω c ] = k = 1 c E [ B k ]
In the following we show how to calculate these expected values using Laplace–Stieltjes Transform (LST).
Lemma A4 
(Laplace–Stieltjes Transform (LST) properties [32]). Let F X ( x ) be the CDF of X arbitrary random variable with LST φ X ( s ) .
a X F X ( x a ) ,   w h e r e a R + ,
F X ( x a ) L S T φ X ( a s ) ,     w h e r e a R + ,
F X + Y ( x ) L S T φ X ( s ) φ Y ( s ) , w h e r e X a n d Y a r e i n d e p e n d e n t r a n d o m v a r i a b l e s ,
E [ X ] = d d s φ X ( 0 )   i s t h e e x p e c t e d v a l u e o f X .
Referring to earlier works on the M/M/c analysis, the previously defined distributions’ LSTs have been calculated [33], we state them here as lemmas.
Lemma A5 
(Laplace–Stieltjes Transform of T k [33]). Let η k ( s ) be the Laplace–Stieltjes Transform of the cumulative distribution function (CDF) of busy period T k :
η k ( s ) = k μ s λ λ η k + 1 ( s ) + k μ i f 1 k < c , c μ s + λ λ η c ( s ) + c μ i f k = c
Using (A32) of Lemma A4 we can calculate the elements of the summation in (A27), which concludes the calculation of the first expected value:
c E [ Θ c ] = c k = 1 c E [ T k ] = c k = 1 c d d s η k ( 0 )
Lemma A6 
(Laplace–Stieltjes Transform of I k [33]). Let the LST of the CDF of inter-event time I k be υ k ( s ) :
υ k ( s ) = λ + k μ s + λ + k μ
Lemma A7 
(Laplace–Stieltjes Transform of B k ). Let β k ( s ) be the LST of the CDF of weighted single busy period B k :
β k ( s ) = p k ( d e p ) υ k ( k · s ) 1 p k ( a r r ) υ k ( k · s ) β k + 1 ( s ) i f 1 k < c , η c ( c · s ) i f k = c .
Proof of Lemma A7. 
As B k is recursively defined in Definition A3, we express its LST in a recursive form. Using the first two properties of Lemma A4, the LSTs of the random variables are scaled. Summation of the independent variables means multiplication in the LST-space as shown in Lemma A4. Using Lemma A6 and Lemma A5, the LSTs of inter-arrival time I k and single busy period T k are known. Applying the mixture distribution of random variables with probabilities p k ( a r r ) and p k ( d e p ) to the case 1 k < c of Definition A3 we get:
β k ( s ) = p k ( d e p ) υ k ( k · s ) + p k ( a r r ) υ k ( k · s ) β k + 1 ( s ) β k ( s ) if 1 k < c
Finally, arranging the equation to β k ( s ) , and expressing β k ( s ) for the case of k = c , we get the statement of the lemma. □
Using (A32) of Lemma A4 we can calculate the elements of the summation in (A28), which concludes the calculation of the second expected value:
E [ Ω c ] = k = 1 c E [ B k ] = k = 1 c d d s β k ( 0 )
Dividing (A35) by the previously calculated expression (A33), we get the directly calculable fraction for the scaling metric estimation, as used in Proposition 2:
u ˜ = E [ Ω c ] c E [ Θ c ] = k = 1 c d d s β k ( 0 ) c k = 1 c d d s η k ( 0 )
 □

References

  1. Varga, P.; Peto, J.; Franko, A.; Balla, D.; Haja, D.; Janky, F.; Soos, G.; Ficzere, D.; Maliosz, M.; Toka, L. 5G support for Industrial IoT Applications—Challenges, Solutions, and Research gaps. Sensors 2020, 20, 828. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Blanco, B.; Fajardo, J.O.; Giannoulakis, I.; Kafetzakis, E.; Peng, S.; Pérez-Romero, J.; Trajkovska, I.; Khodashenas, P.S.; Goratti, L.; Paolino, M.; et al. Technology pillars in the architecture of future 5G mobile networks: NFV, MEC and SDN. Comput. Stand. Interfaces 2017, 54, 216–228. [Google Scholar] [CrossRef] [Green Version]
  3. Rost, M.; Schmid, S. Charting the Complexity Landscape of Virtual Network Embeddings. In Proceedings of the IFIP Networking Conference (IFIP Networking) and Workshops, Zurich, Switzerland, 14–16 May 2018. [Google Scholar]
  4. Rost, M.; Schmid, S. Virtual Network Embedding Approximations: Leveraging Randomized Rounding. IEEE/ACM Trans. Netw. 2019, 27, 2071–2084. [Google Scholar] [CrossRef]
  5. Laghrissi, A.; Taleb, T. A Survey on the Placement of Virtual Resources and Virtual Network Functions. IEEE Commun. Surv. Tutor. 2019, 21, 1409–1434. [Google Scholar] [CrossRef] [Green Version]
  6. Kubernetes Documentation. Available online: https://kubernetes.io/docs/home/ (accessed on 27 March 2020).
  7. Horizontal Pod Autoscaler—Kubernetes. Available online: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ (accessed on 24 March 2020).
  8. Fernandez, J.M.; Vidal, I.; Valera, F. Enabling the Orchestration of IoT Slices through Edge and Cloud Microservice Platforms. Sensors 2019, 19, 2980. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  9. Knight, S.; Nguyen, H.; Falkner, N.; Bowden, R.; Roughan, M. The Internet Topology Zoo. IEEE J. Sel. Areas Commun. 2011, 29, 1765–1775. [Google Scholar] [CrossRef]
  10. Chowdhury, M.; Samuel, F.; Boutaba, R. PolyViNE: Policy-Based Virtual Network Embedding across Multiple Domains. In Proceedings of the Second ACM SIGCOMM Workshop on Virtualized Infrastructure Systems and Architectures—VISA ’10, New Delhi, India, 3 September 2010; Association for Computing Machinery: New York, NY, USA, 2010; pp. 49–56. [Google Scholar] [CrossRef]
  11. Kumar, A.; Rastogi, R.; Silberschatz, A.; Yener, B. Algorithms for provisioning virtual private networks in the hose model. IEEE/ACM Trans. Netw. 2002, 10, 565–578. [Google Scholar] [CrossRef]
  12. Ravindran, R.; Smith, P.A.; Wang, G.Q.; Zhang, H. Method and Apparatus for Computing Metric Information for Abstracted Network Links. US Patent 7,382,738, 3 June 2008. [Google Scholar]
  13. Tran, A.K.; Piran, M.J.; Pham, C. SDN Controller Placement in IoT Networks: An Optimized Submodularity-Based Approach. Sensors 2019, 19, 5474. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  14. Karakus, M.; Durresi, A. A survey: Control plane scalability issues and approaches in Software-Defined Networking (SDN). Comput. Netw. 2017, 112, 279–293. [Google Scholar] [CrossRef] [Green Version]
  15. Kang, N.; Liu, Z.; Rexford, J.; Walker, D. Optimizing the “One Big Switch” Abstraction in Software-Defined Networks. In Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies—CoNEXT ’13, Santa Barbara, CA, USA, 9–12 December 2013; Association for Computing Machinery: New York, NY, USA, 2013; pp. 13–24. [Google Scholar] [CrossRef] [Green Version]
  16. Gil Herrera, J.; Botero, J.F. Resource Allocation in NFV: A Comprehensive Survey. IEEE Trans. Netw. Serv. Manag. 2016, 13, 518–532. [Google Scholar] [CrossRef]
  17. Sonkoly, B.; Szabo, R.; Jocha, D.; Czentye, J.; Kind, M.; Westphal, F.J. UNIFYing Cloud and Carrier Network Resources: An Architectural View. In Proceedings of the 2015 IEEE Global Communications Conference (GLOBECOM), San Diego, CA, USA, 6–10 December 2015; pp. 1–7. [Google Scholar] [CrossRef]
  18. Vaishnavi, I.; Czentye, J.; Gharbaoui, M.; Giuliani, G.; Haja, D.; Harmatos, J.; Jocha, D.; Kim, J.; Martini, B.; MeMn, J.; et al. Realizing services and slices across multiple operator domains. In Proceedings of the NOMS 2018—2018 IEEE/IFIP Network Operations and Management Symposium, Taipei, Taiwan, 23–27 April 2018; pp. 1–7. [Google Scholar] [CrossRef]
  19. Sonkoly, B.; Szabó, R.; Németh, B.; Czentye, J.; Haja, D.; Szalay, M.; Dóka, J.; Gerő, B.P.; Jocha, D.; Toka, L. 5G Applications from Vision to Reality: Multi-Operator Orchestration. IEEE J. Sel. Areas Commun. 2020, 38, 1401–1416. [Google Scholar] [CrossRef]
  20. Fischer, A.; Botero, J.F.; Beck, M.T.; de Meer, H.; Hesselbach, X. Virtual Network Embedding: A Survey. IEEE Commun. Surv. Tutor. 2013, 15, 1888–1906. [Google Scholar] [CrossRef]
  21. Xie, Y.; Liu, Z.; Wang, S.; Wang, Y. Service Function Chaining Resource Allocation: A Survey. arXiv 2016, arXiv:1608.00095. [Google Scholar]
  22. Moens, H.; Turck, F.D. VNF-P: A model for efficient placement of virtualized network functions. In Proceedings of the 10th International Conference on Network and Service Management (CNSM) and Workshop, Rio de Janeiro, Brazil, 17–21 November 2014; pp. 418–423. [Google Scholar]
  23. Qu, L.; Assi, C.; Shaban, K.; Khabbaz, M.J. A Reliability-Aware Network Service Chain Provisioning with Delay Guarantees in NFV-Enabled Enterprise Datacenter Networks. IEEE Trans. Netw. Serv. Manag. 2017, 14, 554–568. [Google Scholar] [CrossRef]
  24. Gouareb, R.; Friderikos, V.; Aghvami, A. Virtual Network Functions Routing and Placement for Edge Cloud Latency Minimization. IEEE J. Sel. Areas Commun. 2018, 36, 2346–2357. [Google Scholar] [CrossRef]
  25. Leivadeas, A.; Kesidis, G.; Ibnkahla, M.; Lambadaris, I. VNF Placement Optimization at the Edge and Cloud. Future Internet 2019, 11, 69. [Google Scholar] [CrossRef] [Green Version]
  26. Németh, B.; Sonkoly, B.; Rost, M.; Schmid, S. Efficient service graph embedding: A practical approach. In Proceedings of the 2016 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Palo Alto, CA, USA, 7–10 November 2016; pp. 19–25. [Google Scholar] [CrossRef]
  27. Sonkoly, B.; Szabó, M.; Németh, B.; Majdán, A.; Pongrácz, G.; Toka, L. FERO: Fast and Efficient Resource Orchestrator for a Data Plane Built on Docker and DPDK. In Proceedings of the IEEE INFOCOM 2018—IEEE Conference on Computer Communications, Honolulu, HI, USA, 16–19 April 2018; pp. 243–251. [Google Scholar] [CrossRef]
  28. Németh, B.; Szalay, M.; Dóka, J.; Rost, M.; Schmid, S.; Toka, L.; Sonkoly, B. Fast and efficient network service embedding method with adaptive offloading to the edge. In Proceedings of the IEEE INFOCOM 2018—IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Honolulu, HI, USA, 15–19 April 2018; pp. 178–183. [Google Scholar] [CrossRef] [Green Version]
  29. Holzmüller, D. Improved Approximation Schemes for the Restricted Shortest Path Problem. arXiv 2017, arXiv:1711.00284. [Google Scholar]
  30. Abbasi, A.A.; Younis, M. A survey on clustering algorithms for wireless sensor networks. Comput. Commun. 2007, 30, 2826–2841. [Google Scholar] [CrossRef]
  31. Schaeffer, S.E. Graph clustering. Comput. Sci. Rev. 2007, 1, 27–64. [Google Scholar] [CrossRef]
  32. Lakatos, L.; Szeidl, L.; Telek, M. Introduction to Queueing Systems with Telecommunication Applications; Springer Publishing Company, Incorporated: New York, NY, USA, 2013. [Google Scholar]
  33. Omahen, K.; Marathe, V.M. Analysis and Applications of the Delay Cycle for the M/M/c Queueing System. J. ACM (JACM) 1978, 25, 283–303. [Google Scholar] [CrossRef]
Figure 1. Demonstration of a wide area network with heterogeneous computation components with multiple stakeholders: Communication Service Provider (CSP) and Cloud Provider (CP) selling infrastructure to Over-the-Top Service Provider (OTT SP), who provide remote security camera analytics and alerts Internet of Things (IoT) services to its tenants.
Figure 1. Demonstration of a wide area network with heterogeneous computation components with multiple stakeholders: Communication Service Provider (CSP) and Cloud Provider (CP) selling infrastructure to Over-the-Top Service Provider (OTT SP), who provide remote security camera analytics and alerts Internet of Things (IoT) services to its tenants.
Sensors 20 03830 g001
Figure 2. Demonstration of placing a path request graph, meeting the constraints of Formulation 1.
Figure 2. Demonstration of placing a path request graph, meeting the constraints of Formulation 1.
Sensors 20 03830 g002
Figure 3. Demonstration of modeling an abstract view of the heterogeneous computation and network infrastructure (rented from the CSP and CP) of Figure 1. This figure shows the topological information which is used by the OTT SP’s orchestration logic to deploy services across the abstract multi-domain view.
Figure 3. Demonstration of modeling an abstract view of the heterogeneous computation and network infrastructure (rented from the CSP and CP) of Figure 1. This figure shows the topological information which is used by the OTT SP’s orchestration logic to deploy services across the abstract multi-domain view.
Sensors 20 03830 g003
Figure 4. Illustration of applying the presented results in a 5G prototype architecture for the remote security camera analytics and alerts IoT application.
Figure 4. Illustration of applying the presented results in a 5G prototype architecture for the remote security camera analytics and alerts IoT application.
Sensors 20 03830 g004
Figure 5. Validative example of single elastic resource model by Algorithm 3 compared to a real Kubernetes Horizontal Pod Autoscaler (HPA) pod count trajectory.
Figure 5. Validative example of single elastic resource model by Algorithm 3 compared to a real Kubernetes Horizontal Pod Autoscaler (HPA) pod count trajectory.
Sensors 20 03830 g005
Table 1. The modeled substrate node types in the dimensions of flexibility and abstraction, summarizing our contribution to the state-of-the-art (StoA) and the studied substrate node type abbreviations.
Table 1. The modeled substrate node types in the dimensions of flexibility and abstraction, summarizing our contribution to the state-of-the-art (StoA) and the studied substrate node type abbreviations.
FixedElastic
single ( s . f . ) ( s . e . )
Considered in majority of SotAOur contribution based on M/M/c results
aggregate ( a . f . ) ( a . e . )
Our contribution based on BiS-BiS modelBriefly discussed
Table 2. Notations used in embedding algorithm description.
Table 2. Notations used in embedding algorithm description.
NotationDescription
S = ( V S , E S ) Substrate graph structure for hosting the request R
R ( v n f s ) Base set of all VNFs used to build any type of service
R = ( V R , E R ) , V R R ( v n f s ) Request path graph of n VNFs connecting s 0 , t V S
P ( Q ) Power set, i.e., all possible subsets, of set Q
L R : V R P ( V S ) VNF placement constraints
P R ( e i ) P ( E S ) , e i E R Set of feasible paths for request edge e i
c S : P ( R ( v n f s ) ) × V S { 0 , 1 } General capacity function deciding hosting capabilities
T S : V S { ( s . f . ) , ( s . e . ) , ( a . f . ) , ( a . e . ) } Substrate node type of a substrate node
c S ( s . f . ) : V S Z + Capacity function of single fixed substrate node types
d R ( s . f . ) : R ( v n f s ) Z + Demand of a VNF if mapped to a single fixed substrate node type
T R R + Number of time units the service is expected to run
p V R : R + × R ( v n f s ) × V S R + Mapping cost of a VNF to a substrate node for a time interval
p E R : R + × E R × P ( E S ) R + Mapping cost of a request edge to a substrate path for a time interval
V : V R V S Hosting substrate node of request node (VNF)
E : E R P ( E S ) Hosting substrate path of request edge
e i , v i E S × V S = Ψ R Leg, the unit orchestration step
Table 3. Notations for the end-to-end latency results.
Table 3. Notations for the end-to-end latency results.
NotationDescription
d s i s j , s i , s j V S Delay distance of two substrate nodes
d s i s j ( f p ) , s i , s j V S Delay of a feasible path between two substrate nodes.
V ( v 0 ) = s 0 , V ( v n + 1 ) = s n + 1 = t Source and target of the path request graph.
D ( r e q ) , D n + 1 ( u s e d ) Required and used path delay on VNF path V R = { v 0 , v n , v n + 1 } .
d v j v j + 1 ( E ) = d V ( v j ) V ( v j + 1 ) ( f p ) Delay of the hosting substrate path between V ( v j ) and V ( v j + 1 )
D ( V ( v i ) ) = D ( r e q ) j = 0 i 1 d v j v j + 1 ( E ) Remaining delay budget while all VNFs until v i are mapped.
Table 4. Notations for modeling the Big Switch-Big Software (BiS-BiS) nodes.
Table 4. Notations for modeling the Big Switch-Big Software (BiS-BiS) nodes.
NotationDescription
( Q , m Q ) , m Q : Q N { 0 } Multiset of set Q, with multiplicity function m Q
s i z e ( ( Q , m Q ) ) = q Q m Q ( q ) Size of a multiset, i.e., including item multiplicity
V S V S Subset of the substrate nodes for allocation/aggregation
CAP( V S ’, (Q, m Q ), c S ( s . f . ) , d R ( s . f . ) )Shorthand of solving the problem of Formulation 2
c a p _ s u m ( V S ) = s i V S c S ( s . f . ) ( s i ) Sum of capacities of a substrate node set V S
d e m _ s u m ( ( V R , m R ) ) = v i V R d R ( s . f . ) ( v i ) m R ( v i ) Sum of demands of VNF multiset ( V R , m R )
c S ( a . f . ) : V S Z + Capacity function of aggregate fixed type substrate nodes
Table 5. Notations for modeling the elasticity of substrate nodes.
Table 5. Notations for modeling the elasticity of substrate nodes.
NotationDescription
λ i v i V R Incoming elementary task rate of VNF v i
μ i v i V R Processing rate of elementary tasks of VNF v i running in a single instance
s i : : [ x , y ] , s i V S Local parameters x and y for substrate node s i , e.g., parameters of Definition 1
c j , c j , c m i n , c m a x , c ( c u r r ) Pod numbers in various situations
u j , u ^ , u ( c u r r ) , u ˜ Scaling metric in various situations
c S ( s . e . ) : V S Z + Capacity function of single elastic substrate node type.
d R ( s . e . ) : R + × V R × V S Demand function of a VNF to-be-placed on ( s . e . ) type substrate node
N { 0 }
Table 6. Sandbox experiments of our prototype implementation of Algorithm 1 [19].
Table 6. Sandbox experiments of our prototype implementation of Algorithm 1 [19].
Robot Control (SDN Routing)Robot Control (IP Routing)
Running time of Algorithm 1 0.25 s 0.32 s
VNF deployment at the VIMs 110.23 s 217.96 s
Overall time 112.67 s 219.2 s
Table 7. Numerical example for applying Theorem 1 for greedy algorithm design.
Table 7. Numerical example for applying Theorem 1 for greedy algorithm design.
AlgorithmChosen FormulaNumerical Value
Parameter( n = 10 , α = 0.9 )
B ( d i s t ) 3 2 n + α n + 1 D ( r e q ) 0.85 D ( r e q )
B ( r e q ) 3 2 ( α D ( r e q ) + d s 0 t ) 0.78 D ( r e q ) + 0.87 d s 0 t
ϵ 1 4 ( n + α ) 2.72

Share and Cite

MDPI and ACS Style

Németh, B.; Sonkoly, B. Advanced Computation Capacity Modeling for Delay-Constrained Placement of IoT Services. Sensors 2020, 20, 3830. https://doi.org/10.3390/s20143830

AMA Style

Németh B, Sonkoly B. Advanced Computation Capacity Modeling for Delay-Constrained Placement of IoT Services. Sensors. 2020; 20(14):3830. https://doi.org/10.3390/s20143830

Chicago/Turabian Style

Németh, Balázs, and Balázs Sonkoly. 2020. "Advanced Computation Capacity Modeling for Delay-Constrained Placement of IoT Services" Sensors 20, no. 14: 3830. https://doi.org/10.3390/s20143830

APA Style

Németh, B., & Sonkoly, B. (2020). Advanced Computation Capacity Modeling for Delay-Constrained Placement of IoT Services. Sensors, 20(14), 3830. https://doi.org/10.3390/s20143830

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop