# UAV Support for Mission Critical Services
## VMCS Concept
### VMCS Orchestration
#### 5.2.3 VMCS Fog Orchestration  
The Fog-specific orchestration issues, mostly in the context of IoT orchestration, have already been addressed by some papers. All fog orchestrators consider constrained resources and high unreliability of nodes, a need for resource and service discovery, the possibility of quick topology changes and continuous system monitoring and adaptation. In [58; 59], a survey on Fog orchestration is provided. The mentioned paper describes the OpenFog Reference Architecture (OpenFog RA) designed by the OpenFog Consortium [60].  
The architecture is based on several pillars that include orchestration scalability, openness, autonomy (failure resistance), programmability and reliability. One of the key features of OpenFog RA is a hierarchy, which helps in the federation of multiple Fog subsystems (domains). The paper also mentions SORTS and SOAFI orchestrators. The SORTS (Supporting the Orchestration of Resilient and Trustworthy Fog Services) orchestrator is composed of the Communication Manager that handles the communication between different Fog orchestrators, the Resource Manager that monitors the infrastructure resources usage, Planner Mechanisms that places and schedule the system processes, Service Discovery component that provides information about services, the Status Monitor that monitors the behaviour of the system and the Optimisation Mechanisms that optimise the performance of the system.  
The SORTS infrastructure is split between the IoT Level, Fog level and the Cloud level. IoT level (the lowest level, group of terminals) allows for the creation of IoT clusters that cooperate. Another approach, SOAFI (Service Orchestrator Architecture for Fog-enabled Infrastructure), uses a centralised Fog orchestrator. It consists of functions related to resources (discovery, catalogue and allocation) and services (service catalogue and services management functionality). Each SOAFI node (cloudlet) has a Fog Orchestration Agent, which interacts with the orchestrator. Some SORTS and SOAFI mechanisms are used in VMCS orchestration.  
Fog service placement is an optimisation problem that can be solved using different optimisation algorithms and AI. An example approach that uses the genetic algorithm to solve the problem is presented in [61; 62], another approach that uses constraint programming is described in [63] and a survey of Fog service placement issues is presented  
Figure 6: VMCS architecture.  
in [64] and combined service placement in Cloud and Fog is described in [65]. For the Fog of VMCS, we decided to use the FogFrame framework described in [66]. The concept provides generic mechanisms needed for Fog orchestration and is in line with OpenFog recommendations. The overall FogFrame architecture is depicted in Figure 7.  
The FogFrame architecture is composed of the following entities:  
* Fog Cells represent virtual resources of UEs (also the IoT devices) that Fog services use.
* Fog Nodes are specific Fog Cells that act as access points for other Fog cells and provide connectivity with other Fog Nodes.
* Fog Colonies act as micro data centres composed of distributed resources that consist of Fog Cells and their terminals connected to a Fog Node. Each Fog colony has one Head Fog Node.
* The Fog Controller is used for the discovery of new resources. It provisions resources in the Edge or Cloud that support Fog operations. If Cloud or Edge is available, the Fog controlled can be placed in the Edge or Cloud, respectively.  
The communication between Fog Colonies is provided via a dedicated node called Head Fog Node. The internal architecture of a FogFrame Node and Cell is depicted in Figure 8. More details describing this approach can be found in [66].