Runlet: a cross-platform IoT tool for interactive job execution over heterogeneous devices with reliable message delivery
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , |
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: | |
Á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 |