# UAV Support for Mission Critical Services
## VMCS Concept
### VMCS Orchestration
#### 5.2.2 VMCS Edge Orchestration  
The Edge has a special meaning in VMCS. It generally has more resources than Fog and is more reliable Fog Fog and Edge virtualisation in MCS should consider constrained and dynamic resources and the lack of stable links that can be used for the management and operations. This means that the orchestration should be able to cope with dynamically available and mobile resources, such as UAVs, and may request deployment of needed nodes in certain locations in order to achieve the requested MCS functionality (coverage, service supporting nodes, etc.). For Edge (and Fog) a lightweight and relatively simple virtualization technology should be used (for example containers, ClickOs [53], OSGi/JADE [54] or mobile agents' [55]). VMCS has some specific requirements concerning Edge orchestration, which have to be considered:  
* _Dynamic Edge infrastructure._ There is a need to efficiently collect, process and maintain information about the state of the VMCS Edge infrastructure. It includes operations for discovering new nodes and links, their geo-position, evaluating nodes' battery state and amount of offered resources and links, providing nodes' and links' reputation evaluation (in terms of reliability) and predicting resources status. The information about the resource state (offered and consumed resources) should be, for reliability, kept in a lightweight, distributed database. * _Distributed and reliable management and orchestration of the Edge._ To cope with unreliability, there is a need for using multiple, synchronised copies of functional entities involved in orchestration. It implies a definition of an orchestrator that can cope with vanishing orchestrator functions--when one of them disappears (due to lack of energy or communication link breakdown), the backup function should conclude the management or orchestration task. Moreover, the orchestration commands should have multiple copies transferred using a disjoint path (if possible) to cope with the unreliability of links. Some network nodes should be used as relays for management and orchestration messages, with additional mechanisms ensuring their reliable delivery. * _Exploitation of Edge nodes mobility._ In VMCS, some nodes, particularly UAVs, are mobile. The Edge orchestrator should cope with the nodes' mobility and should be able to exploit it--if possible, the orchestrator should define their optimal position and steer them to achieve this position. * _Edge service templates specifics._ The service template (aka blueprint) of VMCS needs to have a different form than the templates used by the MANO orchestrator. It should allow for the implementation of DTN [56] based services, i.e., the temporary absence of a link should be accepted as a normal state and information collected by a node should be transferred to another node when connectivity is restored. The template should include duplicated nodes/functions (in case of failure or node disconnection), a specific mechanism for delivery and delivery confirmation of sent messages. More details about VMCS services implementation will be provided in the subsequent subsection. The orchestration components of VMCS Edge can be orchestrated by the Cloud orchestrator or by themselves. A high-level sketch of the proposed VMCS EDGE orchestration architecture is presented in Figure 6. It is composed of the following entities that are implemented using Edge resources:* _Edge Node Manager (ENM)_. This is a component of each Edge node. It performs overall management of the node and, via COA and FOA, interacts with Fog and Cloud orchestrators. It discovers entities of the Edge orchestration system. * _Fog Orchestration Agent (FOA)_. This is a component of each Edge node. It is involved in Fog orchestration (if applicable), playing a master role. It monitors the Fog infrastructure and drives Fog orchestration. * _Cloud Orchestration Agent (COA)_. This is a component of each Edge node. It takes orders from the Cloud orchestrator (if applicable) regarding Edge orchestration.