Fog e edge computing : uma arquitetura híbrida em um ambiente de internet das coisas

Internet das Coisas (IoT) e considerada uma evolucao computacional que preconiza a existencia de uma grande quantidade de objetos fisicos embarcados com sensores e atuadores, conectados por redes sem fio e que se comunicam atraves da Internet. Desde o surgimento do conceito ate os dias atuais, a IoT e amplamente utilizada nos diversos setores da industria e tambem no meio academico. Uma das necessidades encontradas nessas areas foi a de estar conectado com dispositivos ou subsistemas de IoT espalhados por todo o mundo. Assim, cloud computing ganha espaco nesses cenarios, onde existe a necessidade de estar conectado e se comunicando com um middleware para realizar o processamento dos dados dos dispositivos. O conceito de cloud computing refere-se ao uso de memoria, armazenamento e processamento de recursos compartilhados, interligados pela Internet. No entanto, aplicacoes IoT sensiveis a latencia de comunicacao, tais como, aplicacoes medico-emergenciais, aplicacoes militares, aplicacoes de seguranca critica, entre outras, sao inviaveis com o uso de cloud computing, visto que para a execucao de todos os calculos e acoes e necessaria a troca de mensagens entre dispositivos e nuvem. Solucionando essa limitacao encontrada na utilizacao de cloud computing, surge o conceito de fog computing, cuja ideia principal e criar uma camada federada de processamento ainda na rede local dos dispositivos de computacao das extremidades da rede. Alem de fog computing tambem surge edge computing operando diretamente na camada dos dispositivos, realizando algum tipo de processamento, mesmo que de pouca complexidade computacional, a fim de diminuir ainda mais o volume de comunicacao, alem de colaborar para prover autonomia na tomada de decisoes ainda na camada das coisas. Um grande desafio tanto para fog quanto para edge computing dentro do cenario de IoT e a definicao de uma arquitetura de sistema que possa ser usada em diferentes dominios de aplicacao, como saude, cidades inteligentes entre outros. Esse trabalho apresenta uma arquitetura de sistema para dispositivos IoT capaz de habilitar o processamento de dados nos proprios dispositivos ou o mais proximo deles, criando a camada de edge e fog computing que podem ser aplicadas em diferentes dominios, melhorando a Qualidade dos Servicos (QoS) e autonomia na tomada de decisao, mesmo se os dispositivos estiverem temporariamente desconectados da rede (offline). A validacao dessa arquitetura foi feita dentro de dois cenarios de aplicacao, um de iluminacao publica em ambiente de IoT e outro simulando uma estufa agricola inteligente. Os principais objetivos das execucoes dos testes foram verificar se a utilizacao dos conceitos de edge e fog computing melhoram a eficiencia do sistema em comparacao com arquiteturas tradicionais de IoT. Os testes revelaram resultados satisfatorios, melhorando os tempos de conexao, processamento e entrega das informacoes as aplicacoes, reducao do volume de comunicacao entre dispositivos e core middleware, alem de melhorar a seguranca nas comunicacoes. Tambem e apresentada uma revisao de trabalhos relacionados tanto no meio academico como no da industria.