Skip to main content
Log in

SM@RMFFOG: sensor mining at resource management framework of fog computing

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Due to the increasing use of sensors/devices in smart cities, IoT/cloud data centers must provide adequate computing resources. Efficient resource management is of the biggest challenges in distributed computing. This research proposes a solution to use the activity log of sensors to extract their activity patterns. These patterns contribute to the resource management to predict future resource requirements and act accordingly. In this framework, called sensor mining at resource management framework, the pattern extraction can be performed by the sensor mining algorithm at cloud-only data centers (SM@RMFCLOUD) or cloud/fog servers (SM@RMFFOG). Experiments apply both CityPulse and ideal datasets to evaluate the presented frameworks. The sensor mining in both cloud/fog and cloud-only frameworks improves throughput, response time, and execution delay without increasing costs, energy, and bandwidth consumption compared to the frameworks with no sensor mining.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig.16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24

Similar content being viewed by others

Data availability

There are two datasets available in this study that can be described as follows: The CityPulse dataset analyzed during the current study is available in the [CityPulse dataset collection] repository, [http://iot.ee.surrey.ac.uk:8080/. The ideal dataset generated in this study is fully described in the context of the manuscript.

References

  1. Mahmud R, Kotagiri R, Buyya R (2018) Fog computing: a taxonomy, survey, and future directions. Internet of everything. Springer, pp 103–130

    Chapter  Google Scholar 

  2. Zhang H et al (2017) A hierarchical game framework for resource management in fog computing. IEEE Commun Mag 55(8):52–57

    Article  Google Scholar 

  3. Gupta H et al (2017) iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, edge and fog computing environments. Softw Pract Exp 47(9):1275–1296

    Article  Google Scholar 

  4. Ali MI, Gao F, Mileo A (2015) Citybench: a configurable benchmark to evaluate rsp engines using smart city datasets. In: International Semantic Web Conference. 2015. Springer

  5. Tönjes R et al (2014) Real time iot stream processing and large-scale data analytics for smart city applications. In: poster session, European Conference on Networks and Communications. .n

  6. Kolozali S et al (2014) A knowledge-based approach for real-time iot data stream annotation and processing. In: 2014 IEEE International Conference on Internet of Things (iThings), and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom). IEEE

  7. Bischof S et al (2014) Semantic modelling of smart city data

  8. Yu L, Jiang T, Zou Y (2017) Fog-assisted operational cost reduction for cloud data centers. IEEE Access 5:13578–13586

    Article  Google Scholar 

  9. Gu L et al (2015) Cost efficient resource management in fog computing supported medical cyber-physical system. IEEE Trans Emerg Top Comput 5(1):108–119

    Article  Google Scholar 

  10. Tai J et al (2011) Ara: Adaptive resource allocation for cloud computing environments under bursty workloads. In: 30th IEEE international performance computing and communications conference. IEEE

  11. Kim M et al (2011) IMAV: an intelligent multi-agent model based on cloud computing for resource virtualization. In: International Conference on Information and Electronics Engineering, IPCSIT

  12. Deng R et al (2015) Towards power consumption-delay tradeoff by workload allocation in cloud-fog computing. In: 2015 IEEE International Conference on Communications (ICC). IEEE

  13. Gill SS, Garraghan P, Buyya R (2019) ROUTER: Fog enabled cloud based intelligent resource management approach for smart home IoT devices. J Syst Softw 154:125–138

    Article  Google Scholar 

  14. Do CT, et al (2015) A proximal algorithm for joint resource allocation and minimizing carbon footprint in geo-distributed fog computing. In: 2015 International Conference on Information Networking (ICOIN). 2015. IEEE

  15. Lee W et al (2016) A gateway based fog computing architecture for wireless sensors and actuator networks. In: 2016 18th International Conference on Advanced Communication Technology (ICACT). 2016. IEEE.

  16. Stojkoska BR, Trivodaliev K (2017) Enabling internet of things for smart homes through fog computing. In 2017 25th Telecommunication Forum (TELFOR). IEEE

  17. Gazis V et al. (2015) Components of fog computing in an industrial internet of things context. In: 2015 12th Annual IEEE International Conference on Sensing, Communication, and Networking-Workshops (SECON Workshops). IEEE

  18. Aazam M et al (2016) PRE-Fog: IoT trace based probabilistic resource estimation at Fog. In 2016 13th IEEE Annual Consumer Communications & Networking Conference (CCNC). 2016. IEEE

  19. Aazam M et al (2016) MeFoRE: QoE based resource estimation at Fog to enhance QoS in IoT. In: 2016 23rd International Conference on Telecommunications (ICT). 2016. IEEE.

  20. Hou X et al (2016) Vehicular fog computing: a viewpoint of vehicles as the infrastructures. IEEE Trans Veh Technol 65(6):3860–3873

    Article  Google Scholar 

  21. Sohani M, Jain S (2021) A predictive priority-based dynamic resource provisioning scheme with load balancing in heterogeneous cloud computing. IEEE Access 9:62653–62664

    Article  Google Scholar 

  22. Saxena D, Singh AK, Buyya R (2021) OP-MLB: an online VM prediction based multi-objective load balancing framework for resource management at cloud datacenter. IEEE Trans Cloud Comput

  23. Kumar J, Singh AK, Buyya R (2021) Self directed learning based workload forecasting model for cloud resource management. Inf Sci 543:345–366

    Article  Google Scholar 

  24. Barker S et al (2012) Smart*: an open data set and tools for enabling research in sustainable homes. SustKDD 111(112):108

    Google Scholar 

  25. https://fluxicon.com/blog/2017/06/disco-2-0/. 2021

  26. Wadhonkar A, Theng D (2016) A survey on different scheduling algorithms in cloud computing. In: 2016 2nd International Conference on Advances in Electrical, Electronics, Information, Communication and Bio-Informatics (AEEICB). IEEE

  27. Vaishla N, Singh A (2021) Competitive study of various task-scheduling algorithm in cloud computing. Advances in communication and computational technology. Springer, pp 1043–1053

    Chapter  Google Scholar 

  28. Hameed A et al (2016) A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems. Computing 98(7):751–774

    Article  MathSciNet  Google Scholar 

  29. Ghobaei-Arani M, Souri A, Rahmanian AA (2020) Resource management approaches in fog computing: a comprehensive review. J Grid Comput 18(1):1–42

    Article  Google Scholar 

  30. van der Aalst W (2011) Process mining. Springer, Berlin

    Book  MATH  Google Scholar 

  31. Gupta EP (2014) Process mining a comparative study. Int J Adv Res Comput Commun Eng 3(11):5

    Google Scholar 

  32. Naqvi NZ, Preuveneers D, Berbers Y (2013) Cloud computing: a mobile context-awareness perspective. Cloud computing. Springer, pp 155–175

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Faramarz Safi-Esfahani.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Definition and concepts

Appendix A: Definition and concepts

1.1 Cloud computing

The research work [26] introduces cloud computing as a model to provide adequate access to processing resources when needed. In this model, configurable computing resources such as server, storage space, application, and network can be accessed through the network. Cloud data centers allow us to streamline existing workloads between several more minor services that demonstrate optimal performance more efficiently. Cloud computing combines better-known concepts such as virtualization, distribution, cluster, and grid. Data centers in the cloud environment use virtualization technology. Data centers allow us to streamline existing workloads between several more minor services that demonstrate optimal performance more efficiently. Payment in the cloud computing environment is based on the pay-as-you-go model, which means users only pay based on the number and type of services [27]. Services are provided in the cloud environment at three levels, Software as a service (SaaS) such as office 360, Google apps, platform as a service (PaaS) such as AWS Elastic Beanstalk, Microsoft Azure, and infrastructure as a service (IaaS) such as Force.com, OpenShift, Apache Stratos, Amazon Web Services (AWS) [28].

1.2 Fog computing

Many smart devices to enable IoT-based applications to improve human life have increased in recent years. With the rapid development of IoT applications, cloud computing to provide the computing platform needed for these applications is a topic that has received a great deal of attention, both in academia and in industry. Due to the large amount of information that IoT smart applications need, cloud platforms have faced latency, network bandwidth, security, and data transmission challenges. Cisco introduced a new distributed computing technology called "fog computing" as an intermediate layer between cloud servers and IoT devices such as sensors and actuators to overcome these challenges [29]. Another advantage of using a fog computing environment is that it provides solutions using location awareness, context awareness, distributed data analysis, and interaction to perform processes [29].

1.3 Resource management

According to research [29], resource management strategies in a fog computing environment can be divided into six parts. These six sections include program deployment, resource planning, offloading, load balancing, resource allocation, and resource provisioning. This study describes an approach to improving resource management by predicting workloads and using these predictions to modify scheduling queues.

In contrast, only the subset information of the fog environment is considered for decision-making in the decentralized model. The combined hierarchical method uses centralized and decentralized methods. In the hierarchical method, several decisions are made at the local level. Then several semi-centralized decision-making centers also intervene on a larger scale in placement decisions. Resource scheduling attempts to find an optimal order for running services with specific time constraints on fog servers with diverse resources. Scheduling is considered an np-hard optimization problem. Resource scheduling can be done in static, dynamic, and hybrid. Unlike static mode, the scheduling queue is adjusted based on environmental conditions and quality contracts [29].

The scheduling service can be changed first by the static scheduling method in the hybrid method and then by using environmental contexts and contract conditions. Offloading in the fog computing environment solves the lack of energy or computational resources in the fog nodes at the network's edge. In processes with a high computational load or much energy, sending the process to another entity for execution is necessary, called the offloading process. Offloading methods are divided into two types, single and group. In the single offloading method, the task with a high processing load is done only on one node, but the load is done on several nodes to allow parallel processing in the group method. Load balancing is another issue in resource management, which refers to the division of input load between node nodes. Load balancing algorithms avoid any nods in terms of wasted resources due to low load or increased response time due to high load. Load balancing methods can be divided into centralized, decentralized, and combined. The nodes are divided into independent clusters in the decentralized method, and the load balancing is done in each cluster [29].

In contrast, in the centralized method, all the nodes are controlled by a resource management center. The combined method tries to take advantage of both methods. Allocating resources in the environment means creating optimal resources with the necessary and diverse resources in different geographical areas to meet the processing needs of IoT devices. Resource allocation includes two methods: auction and optimization. The auction method is a market-based method that sells the available nodes at the highest possible price and based on the user's needs. It causes both users and suppliers of nodes to improve their performance by adequately allocating resources in the market. An appropriate allocation is tried—various nodes to perform IoT services with the expected quality level. Resource provision means allocating resources to existing services in a way that is not more or less than they need. This section creates nodes dynamically to process the existing work correctly and with minimal cost. Resource supply is divided into three passive, active, and combined methods. In the passive method, no prediction of workload is made, and it responds only to the current conditions of the system. The active method predicted the future workload and the required resources [29].

1.4 Process mining

Conversely, process mining is between data mining and machine learning and, on the other hand, between organizational process modeling and analysis. Process mining means discovering, monitoring, and improving real-world processes by extracting information from information system event data. Each recorded event refers to an activity and is related to a sample, and process mining analyzes processes using event data [30]. According to researchers, process mining can be divided into two main categories: process-based process mining, which focuses on a sequence of activities, and organization-based process mining, which focuses on process builders and process components. This approach uses the relationships between the factors involved in the process. Various algorithms for process exploration are briefly described below as three of the most widely used algorithms. The Heuristic Process Mining Algorithm is suitable for showing the general behavior in the log file and examining the occurrence of events per case. Genetic Process Mining Algorithm This method allows us to conduct a comprehensive exploration using a genetic algorithm. This algorithm allows it to overcome repetition in activities, hidden activities, and disruption. Fuzzy Process Mining Algorithm This algorithm is suitable for natural environments where the data is unstructured or semi-structured. This algorithm can create a model in which the log shows inconsistent behavior, in which minor connections and passive nodes are eliminated, and high-cooperation nodes are represented as a single node. The issue reduces the complexity of the resulting model. It allows us to consider only meaningful connections and nodes [31].

1.5 Context-awareness

Context-awareness in research in which programs try to transform their behavior into adaptive behavior based on information from different environments and factors. Context-awareness is a prominent feature in intelligent environments. The concept of "context" was first introduced by Schilit and Theimer in 1994, and to date, several definitions have been proposed. Chen et al. define context as a set of environmental states and conditions under which an application can determine its behavior and decide which event at the application level is most appropriate for users. Dey et al. define the context interaction of an application with its user, environment, and resources' situation. He considers the context to include any knowledge that helps us describe the conditions of an entity. Chaari's definition of context includes a set of external parameters that can affect the behavior of an application by defining new perspectives on existing data and services [32].

In a cloud/fog computing environment, context -awareness is any dynamic adaptation of existing programs or management infrastructures. For example, environmental context-awareness includes information such as time and place. Program context-awareness includes program requirements and the program's sensitivity to delays. Awareness of the context at the user level includes information about how users work and their characteristics in the study environment. At the device level, information about the resources available to the device refers to context awareness. Awareness of context at the network level includes knowledge of bandwidth and traffic information, and other network-related elements. Creating scalable and sustainable applications in the cloud environment requires proper architecture in cloud services and requires management decisions based on environmental information and conditions [32].

1.6 Tuple

Tuples form the fundamental unit of communication between entities in the Fog. Tuples are represented as instances of the Tuple class in iFogSim, inherited from the Cloudlet class of CloudSim. A tuple is characterized by its type and the source and destination application modules. The attributes of the class specify the processing requirements (defined as Million Instructions (MI)) and the length of data encapsulated in the tuple [3]. This concept is referenced in this study in Sect. 3.

1.7 AppModule

Instances of AppModule class represent processing elements of Fog applications. AppModule is implemented by extending the class PowerVm in CloudSim. For each incoming tuple, an AppModule instance processes it and generates output tuples sent to the subsequent modules in the DAG. The number of output tuples per input tuple is decided using a selectivity model—which can be based on a fractional selectivity or a burst model [3]. This concept is referenced in this study in Sect. 3.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Masoudi, S., Safi-Esfahani, F. SM@RMFFOG: sensor mining at resource management framework of fog computing. J Supercomput 78, 19188–19227 (2022). https://doi.org/10.1007/s11227-022-04592-3

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04592-3

Keywords

Navigation