Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Cândido, Vandré Leal lattes
Orientador(a): Silva, Flávio de Oliveira lattes
Banca de defesa: Neto, Augusto José Venâncio lattes, Miani, Rodrigo Sanches lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Uberlândia
Programa de Pós-Graduação: Programa de Pós-graduação em Ciência da Computação
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
IoT
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufu.br/handle/123456789/31190
http://doi.org/10.14393/ufu.di.2020.716
Resumo: The heterogeneous and dynamic nature of the Internet of Things (IoT) creates challenges that go beyond the traditional computer-based network model. These challenges are commonly related to the fragmented and unpredictable mixture of devices with individual capabilities that may pose a barrier to achieving interoperability and managing devices in the context of IoT. This study addresses interoperability and management challenges by introducing a tool for achieving interactive job execution over a network of heterogeneous devices. The proposed tool, named Runlet, is a cross-platform application that runs across many architectures and operating systems, such as ARM, Linux, macOS, and Windows. It uses both the protocol Advanced Message Queuing Protocol (AMQP) and the broker RabbitMQ for reliable message delivery. The protocol AMQP is an open standard Machine-to-Machine (M2M) publish/subscribe messaging protocol optimized for high-latency and unreliable networks that enables client applications to communicate with conforming messaging middleware brokers. RabbitMQ is an open-source lightweight message broker that supports various messaging protocols and can be deployed on-premises and in the cloud. The architecture of Runlet is discussed in detail both conceptually and computationally, including the reasoning behind architectural decisions and selected technologies. The evaluation is conducted through an experimental approach that assesses interactivity and reliability on a testbed of devices composed of single-board ARM computers and laptop devices. The experimental results show that the application offers interactivity under different scenarios and provides reliable message delivery even after server failover.
id UFU_71871986137a5eec43565975aa90c57a
oai_identifier_str oai:repositorio.ufu.br:123456789/31190
network_acronym_str UFU
network_name_str Repositório Institucional da UFU
repository_id_str
spelling 2021-02-02T11:28:12Z2021-02-02T11:28:12Z2020-08-13CÂNDIDO, Vandré Leal. Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Uberlândia, Uberlândia, 2020. Disponível em: http://doi.org/10.14393/ufu.di.2020.716.https://repositorio.ufu.br/handle/123456789/31190http://doi.org/10.14393/ufu.di.2020.716The heterogeneous and dynamic nature of the Internet of Things (IoT) creates challenges that go beyond the traditional computer-based network model. These challenges are commonly related to the fragmented and unpredictable mixture of devices with individual capabilities that may pose a barrier to achieving interoperability and managing devices in the context of IoT. This study addresses interoperability and management challenges by introducing a tool for achieving interactive job execution over a network of heterogeneous devices. The proposed tool, named Runlet, is a cross-platform application that runs across many architectures and operating systems, such as ARM, Linux, macOS, and Windows. It uses both the protocol Advanced Message Queuing Protocol (AMQP) and the broker RabbitMQ for reliable message delivery. The protocol AMQP is an open standard Machine-to-Machine (M2M) publish/subscribe messaging protocol optimized for high-latency and unreliable networks that enables client applications to communicate with conforming messaging middleware brokers. RabbitMQ is an open-source lightweight message broker that supports various messaging protocols and can be deployed on-premises and in the cloud. The architecture of Runlet is discussed in detail both conceptually and computationally, including the reasoning behind architectural decisions and selected technologies. The evaluation is conducted through an experimental approach that assesses interactivity and reliability on a testbed of devices composed of single-board ARM computers and laptop devices. The experimental results show that the application offers interactivity under different scenarios and provides reliable message delivery even after server failover.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.Pesquisa sem auxílio de agências de fomentoDissertação (Mestrado)engUniversidade Federal de UberlândiaPrograma de Pós-graduação em Ciência da ComputaçãoBrasilhttp://creativecommons.org/licenses/by/3.0/us/info:eu-repo/semantics/openAccessCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOMensagens eletrônicasInternet das coisasRunletIoTAMQPRabbitMQRunlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message deliveryRunlet: uma ferramenta IoT multi-plataforma para execução interativa de tarefas em dispositivos heterogêneos com entrega confiável de mensagensinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisSilva, Flávio de Oliveirahttp://lattes.cnpq.br/3190608911887258Neto, Augusto José Venânciohttp://lattes.cnpq.br/1467664612924239Miani, Rodrigo Sancheshttp://lattes.cnpq.br/2992074747740327http://lattes.cnpq.br/4059345633306483Cândido, Vandré Leal8488026656reponame:Repositório Institucional da UFUinstname:Universidade Federal de Uberlândia (UFU)instacron:UFUORIGINALRunletCrossPlatform.pdfRunletCrossPlatform.pdfDissertaçãoapplication/pdf22290182https://repositorio.ufu.br/bitstream/123456789/31190/10/RunletCrossPlatform.pdf793dcba9ec2786e94cb09f56a64ced05MD510CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.ufu.br/bitstream/123456789/31190/11/license_rdf2b2ab6ec8a6a222739b9c0e57c635c2eMD511LICENSElicense.txtlicense.txttext/plain; charset=utf-81792https://repositorio.ufu.br/bitstream/123456789/31190/12/license.txt48ded82ce41b8d2426af12aed6b3cbf3MD512TEXTRunletCrossPlatform.pdf.txtRunletCrossPlatform.pdf.txtExtracted texttext/plain79382https://repositorio.ufu.br/bitstream/123456789/31190/13/RunletCrossPlatform.pdf.txtfbf7b2025397792b9d03f38e2b6bf350MD513THUMBNAILRunletCrossPlatform.pdf.jpgRunletCrossPlatform.pdf.jpgGenerated Thumbnailimage/jpeg1354https://repositorio.ufu.br/bitstream/123456789/31190/14/RunletCrossPlatform.pdf.jpg51cf09b4e21859ad2f82a9d01bc0a0a6MD514123456789/311902021-02-03 03:16:12.791oai:repositorio.ufu.br:123456789/31190w4kgbmVjZXNzw6FyaW8gY29uY29yZGFyIGNvbSBhIGxpY2Vuw6dhIGRlIGRpc3RyaWJ1acOnw6NvIG7Do28tZXhjbHVzaXZhLCBhbnRlcyBxdWUgbyBkb2N1bWVudG8gcG9zc2EgYXBhcmVjZXIgbm8gUmVwb3NpdMOzcmlvLiBQb3IgZmF2b3IsIGxlaWEgYSBsaWNlbsOnYSBhdGVudGFtZW50ZS4gQ2FzbyBuZWNlc3NpdGUgZGUgYWxndW0gZXNjbGFyZWNpbWVudG8gZW50cmUgZW0gY29udGF0byBhdHJhdsOpcyBkbyBlLW1haWwgIHJlcG9zaXRvcmlvQHVmdS5ici4KCkxJQ0VOw4dBIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCgpBbyBhc3NpbmFyIGUgZW50cmVnYXIgZXN0YSBsaWNlbsOnYSwgby9hIFNyLi9TcmEuIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpOgoKYSkgQ29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBVYmVybMOibmRpYSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZW50cmVndWUgKGluY2x1aW5kbyBvIHJlc3Vtby9hYnN0cmFjdCkgZW0gZm9ybWF0byBkaWdpdGFsIG91IGltcHJlc3NvIGUgZW0gcXVhbHF1ZXIgbWVpby4KCmIpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50byBsaGUgw6kgcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UgZW50aWRhZGUuCgpjKSBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSBjb250w6ltIG1hdGVyaWFsIGRvIHF1YWwgbsOjbyBkZXTDqW0gb3MgZGlyZWl0b3MgZGUgYXV0b3IsIGRlY2xhcmEgcXVlIG9idGV2ZSBhdXRvcml6YcOnw6NvIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBwYXJhIGNvbmNlZGVyIMOgIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFViZXJsw6JuZGlhIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MgZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLgoKU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBVYmVybMOibmRpYSwgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIgb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgpBIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFViZXJsw6JuZGlhIGlkZW50aWZpY2Fyw6EgY2xhcmFtZW50ZSBvKHMpIHNldShzKSBub21lKHMpIGNvbW8gbyhzKSBhdXRvcihlcykgb3UgZGV0ZW50b3IgKGVzKSBkb3MgZGlyZWl0b3MgZG8gZG9jdW1lbnRvIGVudHJlZ3VlLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalONGhttp://repositorio.ufu.br/oai/requestdiinf@dirbi.ufu.bropendoar:2021-02-03T06:16:12Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU)false
dc.title.pt_BR.fl_str_mv Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
dc.title.alternative.pt_BR.fl_str_mv Runlet: uma ferramenta IoT multi-plataforma para execução interativa de tarefas em dispositivos heterogêneos com entrega confiável de mensagens
title Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
spellingShingle Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
Cândido, Vandré Leal
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Runlet
IoT
AMQP
RabbitMQ
Mensagens eletrônicas
Internet das coisas
title_short Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
title_full Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
title_fullStr Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
title_full_unstemmed Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
title_sort Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
author Cândido, Vandré Leal
author_facet Cândido, Vandré Leal
author_role author
dc.contributor.advisor1.fl_str_mv Silva, Flávio de Oliveira
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/3190608911887258
dc.contributor.referee1.fl_str_mv Neto, Augusto José Venâncio
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/1467664612924239
dc.contributor.referee2.fl_str_mv Miani, Rodrigo Sanches
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/2992074747740327
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/4059345633306483
dc.contributor.author.fl_str_mv Cândido, Vandré Leal
contributor_str_mv Silva, Flávio de Oliveira
Neto, Augusto José Venâncio
Miani, Rodrigo Sanches
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Runlet
IoT
AMQP
RabbitMQ
Mensagens eletrônicas
Internet das coisas
dc.subject.por.fl_str_mv Runlet
IoT
AMQP
RabbitMQ
dc.subject.autorizado.pt_BR.fl_str_mv Mensagens eletrônicas
Internet das coisas
description The heterogeneous and dynamic nature of the Internet of Things (IoT) creates challenges that go beyond the traditional computer-based network model. These challenges are commonly related to the fragmented and unpredictable mixture of devices with individual capabilities that may pose a barrier to achieving interoperability and managing devices in the context of IoT. This study addresses interoperability and management challenges by introducing a tool for achieving interactive job execution over a network of heterogeneous devices. The proposed tool, named Runlet, is a cross-platform application that runs across many architectures and operating systems, such as ARM, Linux, macOS, and Windows. It uses both the protocol Advanced Message Queuing Protocol (AMQP) and the broker RabbitMQ for reliable message delivery. The protocol AMQP is an open standard Machine-to-Machine (M2M) publish/subscribe messaging protocol optimized for high-latency and unreliable networks that enables client applications to communicate with conforming messaging middleware brokers. RabbitMQ is an open-source lightweight message broker that supports various messaging protocols and can be deployed on-premises and in the cloud. The architecture of Runlet is discussed in detail both conceptually and computationally, including the reasoning behind architectural decisions and selected technologies. The evaluation is conducted through an experimental approach that assesses interactivity and reliability on a testbed of devices composed of single-board ARM computers and laptop devices. The experimental results show that the application offers interactivity under different scenarios and provides reliable message delivery even after server failover.
publishDate 2020
dc.date.issued.fl_str_mv 2020-08-13
dc.date.accessioned.fl_str_mv 2021-02-02T11:28:12Z
dc.date.available.fl_str_mv 2021-02-02T11:28:12Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv CÂNDIDO, Vandré Leal. Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Uberlândia, Uberlândia, 2020. Disponível em: http://doi.org/10.14393/ufu.di.2020.716.
dc.identifier.uri.fl_str_mv https://repositorio.ufu.br/handle/123456789/31190
dc.identifier.doi.pt_BR.fl_str_mv http://doi.org/10.14393/ufu.di.2020.716
identifier_str_mv CÂNDIDO, Vandré Leal. Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Uberlândia, Uberlândia, 2020. Disponível em: http://doi.org/10.14393/ufu.di.2020.716.
url https://repositorio.ufu.br/handle/123456789/31190
http://doi.org/10.14393/ufu.di.2020.716
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/3.0/us/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/3.0/us/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Uberlândia
dc.publisher.program.fl_str_mv Programa de Pós-graduação em Ciência da Computação
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Uberlândia
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFU
instname:Universidade Federal de Uberlândia (UFU)
instacron:UFU
instname_str Universidade Federal de Uberlândia (UFU)
instacron_str UFU
institution UFU
reponame_str Repositório Institucional da UFU
collection Repositório Institucional da UFU
bitstream.url.fl_str_mv https://repositorio.ufu.br/bitstream/123456789/31190/10/RunletCrossPlatform.pdf
https://repositorio.ufu.br/bitstream/123456789/31190/11/license_rdf
https://repositorio.ufu.br/bitstream/123456789/31190/12/license.txt
https://repositorio.ufu.br/bitstream/123456789/31190/13/RunletCrossPlatform.pdf.txt
https://repositorio.ufu.br/bitstream/123456789/31190/14/RunletCrossPlatform.pdf.jpg
bitstream.checksum.fl_str_mv 793dcba9ec2786e94cb09f56a64ced05
2b2ab6ec8a6a222739b9c0e57c635c2e
48ded82ce41b8d2426af12aed6b3cbf3
fbf7b2025397792b9d03f38e2b6bf350
51cf09b4e21859ad2f82a9d01bc0a0a6
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU)
repository.mail.fl_str_mv diinf@dirbi.ufu.br
_version_ 1792331582616371200