1. INTRODUCTION
Cloud computing has become more popular over the last two decades as it is widely used to deliver a variety of IT services over the Internet. This is due to economic benefits such as rapid setup, eases of use, reduced effort, better price, effective resource utilization, high performance, adaptability, elasticity, and on-demand service (Montes, Sachez, Memishi, Perez & Antiniu, 2013). The cloud computing involves various activities (Aceto, G., Botta, A., Donato, W. D., & Pescapè, A. 2013) such as resource planning and management, data center management, SLA management and billing, cloud troubleshooting, performance management, fault management (Gokhroo, M. K., Govil, M. C., & Pilli, E. S. 2017), configuration management, security management and data management (Al-Zinati, Al-Thebyan & Jararweh. 2019). Monitoringthese activities is an essential task for the smooth operation of the cloud. Monitoring is the process of reviewing, controlling, and managing the operational workflow and processes within a cloud infrastructure (Bulla and Birje. 2019).
The cloud resources are heterogeneous and dynamic in nature. As the number of Cloud-based services, cloud users, and the Internet of Things (IoT) (Birje, Kumbi & Sutagundar.2017) nodes has increased rapidly in the last few years, the complexity of the cloud infrastructure also has increased. Monitoring the complex (Espinoza, Sosa, Gonzalez. 2015), heterogeneous and dynamic infrastructure of the cloud has become more challenging. The IoT nodes have limited computing and storage resources to perform advanced analytical tasks. So it is essential to send collected data to the cloud in encoded form for analysis (Psannis, Stergiou & Gupta.2018). The cloud collects, processes the data, and responds in a timely manner. The data transfer between IoT nodes and the cloud over the Internet increases network delay and traffic. To reduce the latency, network traffic, and other implications, Cisco introduced fog computing. In a fog computing environment, the data processing takes place in a data hub on a smart device, or a smart router or gateway, thus reducing the amount of data sent to the cloud. The fog computing performs lightweight operations at fog node and heavyweight operations are transferred to the cloud node.
Fog computing involves various activities (Birje & Bulla, 2019) such as resource planning and management, energy management, security management, and data management (Aceto, G., Botta, A., Donato, W. D., & Pescapè, A. 2013). Monitoring and managing of these activities are intricate due to heterogeneous resources in fog environment. Hence it is essential to adopt an efficient monitoring system that monitors and manages fog computing resources. The monitoring task involves various phases like data collection, aggregation, and analysis. The data collection phase collects the data from various probes and updates the data based on a certain condition. The data aggregation (Breunig & Schneider.2019; Pourghebleh & Navimipour. 2017) phase gathers the data from multiple sources and represents in a summarized form. The aggregated data is used for analysis to extract useful information to make management decisions.
The existing data collection and aggregation models are designed for the cloud, and these models are not suitable for fog environment due to frequent data collection at fog node. These data collection models update the data based on the static and dynamic intervals. The data is updated periodically in the model, which uses static interval update and hence contains redundant data (Birje & Manvi, 2010) which consumes more communication bandwidth. The model that uses dynamic interval, update the data based on dynamic user tolerant degree (UTD). The user tolerant degree (UTD) describes how tolerant a user is to status inaccuracy and it depends on the specific application environment. The small UTD value means frequent update and large UTD value means less frequent updates. The dynamic UTD values decrease for each update step and may reach zero which leads to a high update rate. The data coherence is the difference between new data at IoT node and previously updated data at the collection agent. The smaller UTD value indicates higher data coherence. Further, the existing monitoring system uses the publish-subscript (Lu, Yin, Xiong, Deng, He, & Yu. 2016) method to transfer the data to the monitoring nodes. The publish-subscript model consumes more communicational bandwidth as it transfers all the subscribed data. Hence, there is a need to develop an efficient data collection and aggregation model that consumes less communication bandwidth and improves data coherence.
Therefore this work proposes a multi-agent based data collection and aggregation model for a monitoring system that consumes less communication bandwidth. A Multi-Agent System (MAS) (Birje & Manvi, 2011) is a distributed system with multiple interactive software agents, which form a loosely coupled network to achieve a task or solve complex problems. Multiple agents are installed in various parts of fog and cloud environments. The proposed data collection and aggregation model uses a modified hybrid push-pull algorithm that updates to new data when there is a certain change in the old data. A critical range of each resource and IoT node value is also defined, and the update the data frequently when the data is in the critical range. Once the data is collected, it is essential to send the data to the cloud for analysis purposes. Since the sending of data to the cloud consumes more communication bandwidth, the proposed model summarizes the collected data using a tree-based data aggregation model (Perez, Baets & Gagolewski. 2019) which is used to aggregate the data before the data is transferred to the cloud. To improve the performance of fog-enable cloud monitoring system, two objectives should be met:
Objective 1: The data collection model: The fog-enable cloud generates a vast amount of redundant data frequently. To manage vast data, a scalable and efficient data collection model is required.
Objective 2: The data aggregation model: once the data collected, the fog nodes send these data to the cloud for analysis. The collected is aggregated before it sends it to the cloud to reduce the network bandwidth consumption. Hence, an efficient data aggregation model is required.
To meet the objectives above, A Multi-agent based Data collection and Aggregation Model (MADCAM) is presented. The contributions of this paper are:
- 1.
An efficient data collection model is implemented that consumes less communication bandwidth and improves the data cohrence.
- 2.
A tree-based data aggregation model is implemented that consumes less bandwidth while transfering collected data to the cloud for analysis.
The remainder of the paper is organized as follows: related work is summarized in Section 2. In Section 3, the proposed data collection and aggregation models are presented. The evaluation results are described in Section 4. Finally, the conclusion is summarized.