## 3 Simple Resource Algorithm
### Advertising Cloud Formulation
In this scenario, the client is referred to as \"fuxfs\", and the server is called \"fuxfs server\", and they communicate using normal communication protocols. ### The NMS Server

The NMS server is a simple program that provides networked block storage; so should be easy to migrate between networks. This NMS server is working with the FUSE system. Hence this executable was called the Fuxfs server. Figure 10: Basic Capability System Library (BCSL). ### The FUSE Client

This is the client side of the FUSE code and runs on the mobile node. The executable was called \"Fuxfs\" and interacts with the Fuxfs_server to manage and store data. ### NMS Part of FUSE as a Service

This framework can be used to implement microservices in vehicular environments. Microservices are faster to migrate and hence can be used to maintain QoS in these networks. As our first use case, we consider a FUSE file system that is a user space file system commonly employed in the Linux environment. The setup, which is shown in Figure 11, provides a storage platform for mobile users as the NMS provides block network storage to FUSE clients which run on mobile phones. If a mobile user moves to another network then the NMS is migrated in order to achieve better performance. In order to test the Service Management Framework, the NMS will be migrated from one cloud server to another. In this paper, we show how to implement the NMS in the Docker's private repository and migrate it to a new location. We installed Docker on a Linux Ubuntu 20.04 machine and set up a private repository to store our services. This allows us to use computing resources for migrating to cloud environments. ### Requirements Table

Table 6 explains the requirements for the prototype implementation to do a successful migration. \begin{table}
\begin{tabular}{c c} \hline \hline
**Name** & **Details** \\ \hline Docker private repository & Secure Migration \\ NMS & Microservices \\ RASP & Migration Protocol \\ SMF & Service Management Framework \\ Fuse Client & Uses NMS as Backing Store \\ Capabilities & Users, Devices, Service, Servers \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Requirements table for Prototype. Figure 11: Implementation scenario: FUSE architecture with NMS. ### Make Fuxfs Multithreaded

In order to develop the prototype, it was decided to make the client (i.e., the fuxfs program) multithreaded. One thread called SMF_THREAD was used to manage the interaction with the SMF as shown in Figure 12. In this prototype, the FUSE client was used to tell the SMF to migrate the service. ### SMF Commands

The SMF was developed to manage services and migrate and replicate services in a secure environment. To check secure migration on the Service Management Framework (SMF), we developed C programs on the Ubuntu 20.04 platform. We used a private Docker [18] repository to migrate our service and tested them in our local environment. The SMF provides the following functions:

* **Register Service:** The function allows the service to be registered with the SMF. It collects information on the service, including the service name, the description of the service, the version of the service (i.e., 0 is the latest version), the TCP/UDP port number, and the service capability. Once the service has been successfully registered with the SMF, the SMF generates the global_id. The local_id is generated by the CMS. * **Register User:** This function helps the new user register with the SMF. It collects information about the user, including the first name, surname, role, rank, and specialisation, as well as the capability of the user to register. Once the user has been successfully registered with the SMF, the SMF will generate their global user ID. * **Register Device:** This register device function allows the devices to register with SMF. To register a device, the name of the device, the first name and surname of the device owner, and the device capability are also collected once the device is registered. Each device will have a unique local device ID and a global device ID.