Arquitetura para gerenciamento de sistemas inteligentes baseados em IoT
O gerenciamento de soluções IoT é uma tarefa complexa devido à sua distribuição e heterogeneidade inerentes. As abordagens de gerenciamento de IoT se concentram em dispositivos e conectividade, faltando, portanto, uma compreensão abrangente dos diferentes componentes de \textit{software}, \textit{hardware} e comunicação que compõem uma solução baseada em IoT. Neste trabalho propomos uma nova arquitetura de gerenciamento de IoT de quatro camadas (IoTManA) que engloba vários aspectos de uma infraestrutura distribuída para gerenciar, controlar e monitorar componentes de \textit{software}, \textit{hardware} e comunicação, bem como fluxos de dados e qualidade de dados. Nossa arquitetura fornece uma visão baseada em grafo multi-camada do caminho fim-a-fim entre os dispositivos e a nuvem. O IoTManA foi implementado em um conjunto de componentes de \textit{software} denominado IoT Management System (IoTManS) e testado em dois cenários - Smart Agriculture e Smart Cities - mostrando que pode contribuir significativamente para o aproveitamento da complexidade do gerenciamento de soluções de IoT. A modelagem baseada em grafo multicamadas do IoTManA facilita ao sistema de gerenciamento implementado (IoTManS) a detecção e identificação de causas-raiz de falhas normalmente distribuídas que ocorrem em soluções de IoT. Realizamos uma análise de desempenho do IoTManS com foco em dois aspectos - tempo de detecção de falhas e escalabilidade - para demonstrar cenários e recursos de aplicativos. Os resultados mostram que o IoTManS pode detectar e identificar a causa-raiz das falhas em 806ms a 90.036ms dependendo do seu modo de operação, adaptando-se às diferentes necessidades de IoT. Além de validar a viabilidade da implementação da arquitetura, os experimentos demonstram também que a escalabilidade do IoTManS é diretamente proporcional à escalabilidade da plataforma IoT subjacente, gerenciando até 5.000 componentes simultaneamente. Realizamos ainda uma discussão sobre os recursos que ainda podem ser implementados na arquitetura e sistemas propostos.