ProFog: a proactive elasticity model for fog computing-based IoT applications

Carregando...
Imagem de Miniatura

Data de defesa

Autor(a)



Orientador(a)


Título do periódico

ISSN

Título do volume

Nome da instituição

Universidade do Vale do Rio dos Sinos

Departamento

Programa

Agência de fomento

Resumo

Internet of Things has been without a doubt on the rise over the last few years as more and more companies, in varying fields, start to automate their processes with the help of Internet-Of-Things (IoT). IoT systems are often connected to critical processes of companies, such as production line monitoring, requiring reliable and scalable environments. Cloud Computing has been prevailing as an architecture of choice for IoT implementations due to its highly scalable nature. However, that has brought forth challenges related to security, Quality of Service, network congestion, and latency. Fog Computing has been on the rise as an alternative to address those challenges as it allows not only increased security and reduced latency but also reduced network congestion. Multiple studies suggest different models for Cloud-Fog architectures for IoT implementations, mostly focusing on task execution and job scheduling, but not thoroughly addressing elasticity control mechanisms. In this context, this article presents ProFog, a proactive elasticity model for Cloud-Fog architectures for IoT scenarios. ProFog makes use of the Auto-Regressive Integrated Moving Average (ARIMA) mathematical formalism to predict load behaviors and trigger scaling actions as close to when they are required as possible, allowing the delivery of new resources prior to reaching an overloaded state. We developed a prototype in order to validate ProFog on a simplified use case and its results were compared to those of a reactive model. The results showed an improvement of 11,21% in energy consumption in favor of ProFog due to data smoothing achieved by the ARIMA predictions and open way for additional studies on proactive elasticity for fast deployment environments