Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery - Cândido, Vandré Leal (2020)
A natureza heterogênea e dinâmica da Internet das Coisas (IoT) cria desafios que vão além do modelo tradicional de rede baseado em computador. Esses desafios são comumente relacionados à mistura fragmentada e imprevisível de dispositivos com recursos individuais que podem representar uma barreira para alcançar a interoperabilidade e gerenciar dispositivos no contexto da IoT. Este estudo aborda os desafios de interoperabilidade e gerenciamento, introduzindo uma ferramenta para alcançar a execução de tarefas interativas em uma rede de dispositivos heterogêneos. A ferramenta proposta, chamada Runlet, é um aplicativo de plataforma cruzada que funciona em muitas arquiteturas e sistemas operacionais, como ARM, Linux, macOS e Windows. Ele usa o protocolo AMQP (Advanced Message Queuing Protocol) e o broker RabbitMQ para entrega confiável de mensagens. O protocolo AMQP é um protocolo de mensagens de publicação / assinatura de padrão aberto Machine-to-Machine (M2M) otimizado para redes de alta latência e não confiáveis ​​que permite que aplicativos clientes se comuniquem com intermediários de middleware de mensagens em conformidade. RabbitMQ é um agente de mensagens leve de código aberto que oferece suporte a vários protocolos de mensagens e pode ser implantado no local e na nuvem. A arquitetura do Runlet é discutida em detalhes conceitualmente e computacionalmente, incluindo o raciocínio por trás das decisões arquitetônicas e tecnologias selecionadas. A avaliação é conduzida por meio de uma abordagem experimental que avalia a interatividade e confiabilidade em uma bancada de teste de dispositivos compostos por computadores ARM de placa única e laptops. Os resultados experimentais mostram que o aplicativo oferece interatividade em diferentes cenários e fornece entrega confiável de mensagens mesmo após o failover do servidor.