## 3 Bespoke Virtual Machine Orchestrator
### Architecture of Bespoke Virtual Machine Orchestrator  
A virtual-environment-construction architecture using provisioning resources is employed to realize the construction process presented in Section 3.1, as shown in Figure 4.  
Figure 3: OpenStack-Component Functional-Dependency Diagram.  
Table 4 describes the main components of the architecture presented in Figure 4.  
The main modules of each component implement the following roles:  
* Resource Template Management: this manages templates that specify the provisioning of resource-binding information that reflects user requirements;
* Pool Management: this supports creation, reading, updating and deletion (CRUD) of provisioned resources and the allocation of provisioned resources according to interpretation of user requirements;
* Virtual Machine Creation: this interprets template information and creates a virtual environment in which the provisioning resources are bound;
* Virtual Machine Configuration: this supports the creation, reconfiguration and assembly of orchestration templates to combine provisioned resources;
* Authority Management: this authenticates users and provides access to provisioning resources;
* Request Management: this invokes the application-programming interface (API) of the cloud platform that performs provisioning resource integration and requests resource combinations.  
Table 5 lists the resources used in the architecture.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Name** & **Description** \\ \hline Provisioning-Resource & A component that manages resources scattered in the \\ Handler & cloud environment to create a virtual environment \\ \hline Virtual-Environment & A component that builds, reconfigures and manages \\ Handler & virtual environments \\ \hline Access Handler & A component that handles resource-related requests for \\  & user authentication, resource-access-permission setting \\  & and requirements \\ \hline \hline \end{tabular}
\end{table}
Table 4: Main Component in Architecture.  
Figure 4: Architecture.  
As presented in the architecture, the provisioning-resource-handler component manages the provisioning resources and resource templates. The delivery of provisioned resources and API calls are delivered by an access-handler component. The virtual-environment-handler component combines resource items and creates templates based on them. In addition, it creates, separates and combines provisioned resources using templates. Therefore, a virtual environment reflecting these resources was built. The corresponding application scenarios are described in Section 3.4.  
Figure 5 shows the inclusion relationship based on the functional flow analyzed in Section 3.2 for the function and related resources of the proposed architecture.  
The hierarchy shown in Figure 5 is based on the dependencies of the OpenStack components shown in Figure 3. As shown in Figure 5, the authority management of the access handler is executed first. After the authority is normally executed, resource pool management, resource template management, VM creation and VM management are performed according to the given functions in the request management.