Introduction

Container developed into a paradigm also supports various multiple technologies such as IoT, FoT, cloud and AI. If the IoT application deploys over the Internet, the container makes the flexible of the packages. The independency among the platform is the important factor in container reliable on the services or the application. The IoT application extends via the container makes as the simple and building for the deployment of the application. The performance achieved in different constraints like I/O, memory, disk and network usage. The performance comparison shows that the reliable is the container sustainment for enhancing features. In this paper, multiple containers are proposed in each system for the single application which give more efficiency. IoT enabled edge devices for rescue from lagging process in generalized containers for each of the applications to come under multicontainers acquisition path. Simply, there is a multiple container execution in cluster of devices for the efficiency achievement.

In performance evaluation techniques, there are so many constraints for the enhancement of application executions. The performance evaluations on CPU utilization, execution, power consumptions and time constraints can be computed in the test bed scenario for the container implementations and can be improvised in the level of execution. Further, different kinds of techniques can be applicable on container technology especially for the IoT applications to give better results. Multitasking is also an important factor nowadays. Hence, multiple one is more efficient than the single one. IoT ecosystem comprises of edge devices which transmits the information through the network like the way containers communicate over the network. Because of choosing edge devices, it can be able to handle the data from the container, sensor, etc. The containers can easily support instructions from the master and quick as the response. The gateway at the network edge can be used for the IoT application’s deployment and synchronized with the container. Several approaches are proposed for physical device connectivity and synchronization and run software with the network available with the challenging environment when there is a system resource available to the specific container that should be controlled by the control groups (cgroups). The work may be split or combine together, and then, it can be executed by the application. Kernel of the system decides the responsibility and controls the resource usability.

In general, it is known that the IoT application interacts among other applications for the unsuspicious abstraction of the process. The heterogeneous numbers of IoT devices available in recent years are capable of facing a lot of challenges under considerations. The container-based edge management (CEM) is used for monitoring, scheduling and image provisioning and controlled the activities. Also the IoT application is composed of multiple modules for keeping backup services. Based on the work loads, services may scale up or down for the direct interaction among the cooperative nodes [1]. The capabilities of the container should integrate among the FoT devices provisioning of extreme performance in applications [1]. To switch over on the container provides better memory consumptions and CPU usage when compared with the virtual machine (VM). FoT provides consistency among networks for application regarding packages. Executions also implement the local server with FoT server [2]. According to the SOFT services approach, the containment of services and devices involves network constraints. There are the different types of applications available in the heterogeneous network.

The rest of this paper is organized as follows: "Related Work" section covers the related work; "Enabling Technologies" section provides a description of enabling technologies. "Container" section focuses on the proposed network model. "IoT (Internet of Things)" section focuses on the performance evaluation. "FoT (Fog of Things)" section covers the performance comparisons, and finally, "SOFT (Self-Organizing Fog of Things)" section contains the conclusions and future research work.

Related Work

In [3], Roberto Morabito proposed a Docker container engine, which allows to simply build, manage and remove a containerized application. It produces little overhead and runs multiple containers with limited computation resources such as single-board computer (SBC) platforms.

In [4], Janice Cañedo and Anthony Skjellum et al. proposed that the number of edge devices and gateways is used in IoT environment. The functional task of an edge device is to perform a particular function (for example, monitoring and control). Edge device controls the data flow at the limit between two networks. It collects the data from various devices and transfers to gateways system. The gateways are used to enhance the network connectivity. Gateways are key element that incorporate protocols for networking and help manage storage space and edge analytics on the data.

In [5], ZHOU Pengfei et al proposed that, in this approach, they used containers to manage and monitor an application. Scalability is one of the most valuable and predominant features of network edge computing. With this, IoT resource management framework relies on a federated, domain-based approach. At runtime dynamically allocated containers, resources made available by IoT-based edge devices such as smart phones or smart car can be utilized more efficiently.

In [6], Flavio Bonomi et al. proposed the work used for fog computing approach. Fog computing is an add-on service of cloud, and it reduced the quantity of data that need to be shifted to the cloud for handling the process, analysis and storage. It is greatly virtualized policy that provides work out, storage and networking services between end devices. Fog nodes are integrated and shared the data with low latency. It propose to go the cloud capacity (compute, network and storage) to the continuum from the cloud to the things. Due to its locality and proximity, fog computing, when compared to cloud computing, provides faster reaction. It gives the system good flexibility under different traffic loads and does not create too much overhead with an additional scaling server.

In [2], Cássio Prazeres et al., in this way, proposed FoT-based platform called SOFT-IoT. With this approach, self-organized cluster network can be formed for better network performance. In these techniques, it can be used to avoid the resource delay between the devices and increased the efficiently. Within the network, it shares the resource and performs data processing. It avoids the traditional approach of centralized cloud computing.

In [7, 8], Hao Zeng, Baosheng and Wang et al. proposed to investigate and analyze the container-based network model. Network also failed when deploying the containers to make challenges. Bandwidth and latency are the two core procedures used to measure the performance of I/O.

In [9], Roberto Morabito deal with the container technology especially for the IoT application which is the emerging technology needs that are depended. Containers which are connect with the single-board computers as per low power and other devices already proved in existing systems. According to the application, the latency and the bandwidth are to be required. The edge computing is used to boost network efficiency, data delivering low latency, bandwidth efficient and resilient end-user services in the infrastructure. Edge device cannot be connected the different network. Edge device cannot be connected without networking which makes too difficult.

It measured the performance throughput of wired and wireless network. Throughput can be measured by the typical number of requests per second among all clients, and latency as the average request dealing out time among all request services. The Docker creates a connection edge between the container and host in a virtual network and allows communication from containers to the exterior network, secure network address translation (SNAT).

In [10], Kyungwoon Lee et al. proposed that the single-board computers are to be tested as per the performance based on power consumption and CPU performance in stress based, memory and RAM performance criteria. Through this, the packet size is the major factor for container performance. The network performance of the container should be evaluated based on the network significance like the UDP and TCP with different packet sizes. The container on UDP network, more similar to the native environment, but the packet size which is differs on that.

In [11], Marcel Grobmann and Clemens Klug explain the monitoring with different services along with the single-board computer, which are sending the monitoring activity details to the PyMon server. Each container as per the host system on the edge of the network should be monitored. The details about the key competitors may Kubernetes or Docker, and their usage of the resource in the network should be evaluated by PyMon. And the container to run in the privileged container modes, which have the JSON element, is the wrap about the container.

In [1], Roberto Morabito et al. lightweight virtualization and platforms may absolutely play a major role in enabling the desired trade-off between flexibility and performance. IoT services can be partitioned into two manners. They are (1) container-based pair-oriented IoT service provisioning (CPIS), which connects the two devices directly, and (2) container-based edge-managed clustering (CEMC), which connects the two devices with the help of supervisor device. The analysis in a real test bed exhibits that lightweight virtualization allows executing a broad range of IoT applications in both wireless and wired networks while enabling the desired concept level. At the same level, IoT and mobile edge computing benefits from container virtualization by utilize the chance of using these technologies not only in data centers but also on devices.

The CEM is the maintainer of the network availability nodes, or system should perform the actions on two different structures for containing IoT service provisioning: one for straight communication between devices and another for managing cluster management.

In [2], Cassio Prazeres and Martin Serrano proposed the process which succeeds over the devices like sensor or actuators input gathering from to it. In this process the container devices like system to the application progress as to output. The container is used not only for the storage and management of devices, but also for monitoring the network edge scenarios. In this paper proposed, to extending the fog network with the support of SOFT enhanced in container.

In [14], Naylor et al. proposed that the large network companies used the containers to create virtualization and they have been highlighted. The containers generate a virtualization at OS level. Without the virtual instance, the container does not run the applications at the distributed environment. In this method, it is probable to create several individual systems that run on a single host and right to use a single kernel. In single system, single container is not an efficient to perform the numerous applications, which can be utilized for the multiple systems to be connected.

Enabling Technologies

Container

Virtual to real translation can be overcome by the container to avoid additional layer set on the top of operating system (OS). Generally, the containers support the virtualization-based approach in the overhead of the virtualization layer for each system like windows, Linux, etc.

The containers are generally the Linux container (LXC), which support multiple platforms. The interoperability should be achieved through this LXC. It can be created in different platforms using windows or Ubuntu.

The containers communicate over the network through IP packets for getting more information about another network. Containers are combined to work together in any application insisting master container. Each of the systems has the container tools like Docker, Kubernetes, RKT and Microsoft container. These tools are creating the container as image for the application execution on each system as shown in Fig. 1. The containers are created in the Docker tool as per the priority. The master is responsible for load sharing, work distribution and response assigner to the worker. The master device manages and monitors entire process activities. It depends on the application of significance co-workers which is created. The works may split and combine together among all the containers. The container wants to communicate with the container on system through the network only. There is an IP packet of the system which consists of information about the container like the request. Each container contains the IP address and name of the owner, who creates the container.

Fig. 1
figure 1

Container management

IoT (Internet of Things)

The IoT application may depend on the constraints as the SBCs which execute, and the performance can be measured. Containers are available in each system, which enables the IP tables in the network gateway and executes the application. The communication among the containers is performed through the commands only. IoT services are enabled through FoT paradigm. The architecture of IoT application interactions is shown in Fig. 2. The devices are connected among the network and set the SBCs according to the needs of applications. The devices must be connected with the FoT over the IoT. An input recognizes from the devices and performs the required operations as the services.

Fig. 2
figure 2

IoT application interaction

The IoT application executes through over the container as easy to deployment. Applications dependency needs the SBCs required.

FoT (Fog of Things)

FoT is the paradigm which comprises the IoT and fog computing platforms, data acquisition or data processing from the devices in small servers. FoT server manages the request from the user within the local server or small server as the fog computing. These also comprise the FoT server, FoT devices, FoT gateway for the service contribution. These can support the container in which application should be executed.

The fog paradigm combines with the container for the local level of processing by the FoT. Figure 3 shows blow detail about the container communication among FoT. FoT server should analyze the request from the nearest containers, and the application saturation makes as the outcome. Fog devices cooperate with the gateway, and the application needs packages for the execution and build processed based on the Docker image.

Fig. 3
figure 3

FoT interaction

SOFT (Self-Organizing Fog of Things)

In SOFT technique, the container will present the deployment of the application in the FoT gateway. The input from actuators and sensors can be detached that should pass to the host via FoT devices [2]. SOFT manages based on the protocols like TATU, MQTT which help to support the recognizant of the inputs for the application building. Hence, this type of application needs the data from the surrounding (or) the remote area, make to analyze and processing for the application execution. The remote server needs the heavy computational resource when it is away from the data generation, and the local service occurrences are managed by SOFT through fog. The main performance by the container is application build and deployment for the required services.

The self-organizing thing is a kind of different IoT services like monitoring, deployment, recovery and managing profiles. These must be achieved by only the FoT constrains only over the container.

Graph Contraction

In [12, 13], Joon Heo and Taehwan Kim proposed the graph contraction technique. Graph contraction forming the cluster based on self-organizing networks and the topology aware address. It automatically detects the node and forms a cluster network. This is practically an easy method and can be applied to make simpler in complex network without any topological constraints. It means that any form of topology and any scale of network can be simplified using this techniques.

Proposed Network Architecture Method

It is important that the appropriate model should be considered in the design and development process of network architecture. From the above said technologies and the related work, we should find the idea about the container which performs the different activities like cluster monitoring and scheduling services that are performed by the CEM.

The proposed work consists of managing the overall system architecture by using CEM. In this system, architecture consists of components and the deployment requirements of it. The design is the important factor for representing the view of the concepts. In the system, there are two constraints as follows. The container is the first constraint, and the application is the other hand. Each of the systems consists of container. The systems also maintain the container as the application system required. The application also provides the wide approach to the container modeling. System-specified software that is the Docker should create the container. That related containers are available for the Dockerization. The design is the important factor for representing the view of the concepts. Docker tool consists of the Docker engine and the related machines for the consortium procedures. The Docker tool is more flexible than other container for the container-related applications. When the application packages should be built in the Docker container, the error should be found by the in-built tool configuration.

The major implementation of the CEM is to deploy the application-based IoT. It monitors the entire applications and organizes self-required containerized edge devices available in the FoT environment and performs the application. For many kinds of the application accordance, available containerized devices are deployed.

Figure 4 shows that the applications are managed and detached the responsibility as per the priority. Not only the AO services but also the container is also responsible to control the performance which can be achieved by multiple containers within the single devices. SOFT also provides the cluster of devices, and each of the devices makes multiple containers consume the same memory, power and the network. Hence, the financial trades gain more through the technology implementation support when implementing really.

Fig. 4
figure 4

Proposed network architecture

The proposed network architecture is shown in Fig. 4. The CEM is responsible for maintenance and monitoring the container. It should be interconnected with the FoT which makes to simply support the client application. FoT analyzes the available devices which make to execute the application based on the specification and the outcomes to be improvised.

Performance Metrics

The main parameters of container performance analysis are CPU, memory, block I/O and network I/O. Within a Docker container, a more number of processes/applications can run at the same time. Alternatively, to design an application with multiple containers, this can interact with each other through a linking system. It provides the guarantees to an application, and conflict will occur between the devices at runtime.

The performance between single containers and multiple containers can be differentiated by the chart representation. The single container efficiency has been clarified for the same application. The container performance comparisons are shown in Fig. 5 as the container achieved the impaction from the single as differentiated in the device which is the host, by forming through the cluster only. Metrics are measured in centum constraints.

Fig. 5
figure 5

Container comparisons

The performance can be measured by using the command/cgroup. In Linux, the control groups can be used to expose metrics about CPU, memory and block I/O usage.

In Linux systems, they are as follows:

  • CPU usage per core

    The CPU usage metrics can be calculated by

    The CPU usage metrics can be calculated by

  • Memory usage per core

    The subsequent command will display a more information about the memory usage,

    /sys/fs/cgroup/memory/docker/$CONTAINER_ID/memory.stat

  • I/O usage

    The subsequent command will display a more information about the I/O usage,

    /sys/fs/cgroup/blkio/docker/$CONTAINER_ID/.

The IoT application may depend on the constraints as the single-board computers can be executed and the performance should be measured. That is, the performance of the multiple containers should be compared with the single container and also shows that the performance delay of each should be measured in the way of approach. The containers are available in each system where the IP tables in the network gateway enabled and the application can be executed based on the packages.

Performance Comparisons

By comparing container with VMs, the Docker engine container encompasses the application and its dependencies. It runs as an each individual process in user space on the host operating system, sharing the kernel with other containers. Moreover, the self-organized IoT extends the network, expands the scalability and improves the efficiency of CPU, memory and I/O performance of the services.

Conclusions and Future Work

Container is the lightweight technology for supporting extended lifting needs. Its main intent is approaching interoperability consortium in different perspectives. The container should maintain the need of multitasking on all even activities; hence, in single system, single container, as like single devices, is not enough for the overloading of an application. In multitasking to enhance the service by the containers. It makes as to simplify the containerized demand. Container support for the purpose of containerization requirements satisfaction. This paper focused on the performance evaluation of container-based technologies using Docker. It has been evaluated for the container-based IoT solution. The cloud and fog technologies live in data stream over the Internet. Finally, this paper proposed a new paradigm for IoT scalable architecture. In future work, conduct related experiments with further data compression and processing software when running within a container, and improve the container in multiple applications in cloud environment, machine learning and deep learning areas.