Objetivo

Projetar um Middleware IoT, com a especificação de desenvolvimento de um portal que reúna as informações e análise de dispositivos IoT de várias fontes diferentes.

Justificativa

Atualmente existem vários dispositivos conectados a rede que estão constantemente mandando informação para a rede. Essas informações chegam em tempos diferentes ou podem ter uma mudança de estado muito rápida, tornando difícil sua análise de maneira manual, tornando viável a criação de uma plataforma que reúna e minere esse dados, entregando a informação pronta para o usuário.

Cronograma

Metodologia

Referencial Teórico

Internet das coisas

Internet das coisas, do inglês internet of things(IOT), é um conceito proposto por Kevin Ashton (ASHTON, 2009), de acordo com ele ”se tivéssemos computadores que soubessem tudo o que há para saber sobre as coisas - usando os dados que eles coletaram sem nossa ajuda - seríamos capazes de rastrear e contar tudo e reduzir muito o desperdício, a perda e o custo. Saberíamos quando as coisas precisassem ser substituídas, reparadas ou recuperadas, e se estavam novas ou ultrapassadas.”. Onde a palavra coisas faz referência a qualquer objeto físico capaz de reunir dados e transmiti-los. Um bom exemplo de objetos que entram nesta definição são veículos, sensores e dispositivos com tecnologia embarcada.

Atualmente a uma ampla variedade de protocolos, domínios e aplicações estão em envolta deste assunto, sendo os principais a tecnologia de identificação por rádio frequência (RFID) e o protocoloMQ Telemetry Transport(MQTT). O RFID é uma tecnologia desenvolvida na segunda guerra mundial para identificar aviões, aliados ouinimigos, a partir de um sinal enviado a um transpônder que podia refletir o sinal enviado ou enviar seu próprio. Já o MQTT é um protocolo de mensagens simples otimizado para redes TCP/IP, que usa o modelo de troca de mensagem Publicador-Subscritor, onde os dispositivos são os publicadores e os usuários são os subscritos, como mostra a Figura 1.


Os sistemas IOT sofrem de alguns maus como a fragmentação da plataforma, falta de um padrão de projeto, grande volume de dados gerados e segurança, tanto das informações geradas, quanto dos dispositivos, devido, em sua maior parte, a simplicidade destes dispositivos, que geralmente exercem apenas uma função.

Big data

O termo big data surgiu, em 1997, para denominar um problema onde um conjunto de dados é muito maior que um disco físico e, devido isso, vários discos são utilizados(Cox; Ellsworth, 1997). Atualmente Big data é uma área de conhecimento responsável pelo estudo de como tratar, analisar e obter informações a partir de grandes conjuntos de dados.

Big data também faz referência ao termo 3Vs, proposto por Doug Laney, em 2001(LANEY, 2001), para denominar um desafio envolvendo aumento de dados quanto a velocidade, volume e variedade. Onde a velocidade se refere a coleta e analise de forma mais rápida e oportuna. O volume é a quantidade escalar que os dados estão sendo coletados e armazenados. Já a variedade é como os dados chegam no banco, que podem chegar tanto da forma semiestruturadas ou não estruturadas, como da forma estruturada normal.

Middeware

O Middleware é um software de gerenciamento de aplicações IoT. Ele age entre os dispositivos e o usuário coletando, armazenando, analisando e disponibilizando os dados de todos os dispositivos conectados a ele, sem a necessidade do usuário conectar em cada dispositivo e fazer a analise por conta própria.

A figura 2 mostra uma arquiteto comum entre os middleware, onde esses são divididos em três partes. A primeira parte consiste na entrada do dispositivo, onde é feito a coleta dos dados e gerenciamento do mesmo. A segunda parte é a de processamento dos dados, é essa parte que o usuário vê e tem acesso a analise dos dados e dos dispositivos. A terceira parte é de segurança, responsável por dar acesso apenas a usuários autenticados(BEHARA, 2019).

Estado da Arte

De acordo com (NGU et al., 2017), os middleware IoT poderem ser divididos em três tipos de arquitetura, asservice-based, ascloud-basede, por fim, as do tipo actor-based. A arquitetura service-based foi desenvolvida em um projeto europeu, para padronização das plataformas IoT, chamado OpenIoT(SOLDATOS et al., 2015). Essa arquitetura é dividida tem três camadas (Figura 3), uma camada física, onde se encontra os dispositivos, uma para visualização, onde esta a infraestrutura, e uma para aplicação, onde esta os utilitários. É um arquitetura pesada e de alto desempenho, que rodam na nuvem ou em gateways, que, porém de coletar dados, é incapaz de analisa-los e não pode ser usado para comunicação de dispositivos (NGU et al., 2017). Um exemplo de middlewares com arquitetura service-based são o GSN e a Hydra

A arquitetura cloud-based(Figura 4) tem um componente onde está as funcionalidades do middleware, que pode ser um sistema de armazenamento de alto desempenho ou um sistema de analise e monitoramento dos dispositivos. Sendo que esses serviços podem ser acessados ou controlados apenas por aplicações do provedor do mesmo ou API’s com suporte em nuvem. Sendo que que ele é muito depende do provedor de nuvem que ele usa, ficando difícil a portabilidade para outros provedores.

A terceira, e ultima arquitetura, é a actor-based. Três camada (Figura 5) podem estar nesta arquitetura, onde uma camada é responsável por pelos dispositivos (sensores e atenuadores), uma segunda camada é responsável pelo acesso móvel e uma terceira pela nuvem. O ator pode agir em cima de qualquer uma dessas camada, encapsulando um estado e uma thread de controle, recebendo reaquisições, processando e passando elas para frente (VENKATASUBRAMANIAN et al., 2004). Sendo essa a arquitetura que provem melhor latência e escalabilidade em larga escala.

Todas as três arquiteturas tem módulos de segurança e privacidade implementadas de alguma forma, sendo que a da cloud-basedé de responsabilidade do provedor, já nas outras arquiteturas o usuário tem controle sobre esses módulos. A desvantagem em qualquer uma das arquiteturas é a fraca segurança entre o dispositivo físicos e o middleware já que este não pode estar embarcado nos dispositivos. Além de que todo middleware deve prover um serviço de descobrimento, para manter a qualidade do serviço.

Trabalhos correlatos