| (13 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
| Linha 3: | Linha 3: | ||
= Justificativa = | = 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. | * 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. | ||
* Levando em conta o expressivo aumento dos serviços de IoT e as previsões futuras, é essencial que seja disponibilizada uma plataforma que permita agregar, processar, distribuir e publicar os vários e diversificados dados oriundos de fontes diferentes. Assim pode-se pensar seriamente em gerar resultados que possam ajudar na criação de novos negócios, novos requisitos e novas perspectivas de emprego dessa tecnologia. | |||
= Cronograma = | = Cronograma = | ||
<br> | |||
* Semanas: 18 semanas | |||
* [02] Fase I: Avaliação das tecnologias disponíveis | |||
* [02] Fase II: Benchmarking com outros players | |||
* [03] Fase III: Definição do projeto básico | |||
* [03] Fase IV: Definição dos cases | |||
* [02] Fase V: Avaliação da infraestrutura e recursos necessários | |||
* [04] Fase VI: Criação do projeto de TIC | |||
* [01] Fase VII: Validação junto aos Stakeholders | |||
* [01] Fase VIII: Aprovação e publicação dos resultados | |||
<br> | |||
= Metodologia = | = Metodologia = | ||
<br> | |||
* Para implementação das atividades de pesquisa são usadas as melhores práticas vigentes e que permitem ampla e ágil evolução dos trabalhos de estudo, desenvolvimento e apresentação dos resultados. | |||
* Para as atividades de gestão utilizamos a proposta de modelos ágeis que permitem aprimorar o processo de desenvolvimento de novas soluções. O objetivo final é fazer entregas com maior rapidez cumprindo as metas de cada fase. Nessa linha, cada um dos participantes se vê envolvido em cerimônias, práticas e métodos que aceleram o processo e conseguem inserir os novos colaboradores em processos atuais e eficientes. | |||
* Para maior aproveitamento da pesquisadora envolvida, foi possível potencializar a sua capacidade, introduzindo uma técnica inédita denominada J.A.C.I, que organiza as atividades de aprendizado e cooperação utilizando os 4 conceitos: Justo (Responsabilidades adaptadas ao nível de cada um), Autodidata (Capacitação sem professor e sem aulas mas com fontes de referências claras e facilitadas, com orientação efetiva), Colaborativo (Processo do início ao fim pautado no compartilhamento de informações em todos os segmentos) e Intenso (A pesquisadora recebeu uma série de desafios a serem superados e em tese nunca fica ociosa). | |||
* Para a Gestão do Conhecimento é usado o modelo de Wiki que permite que pessoas trabalhem de forma colaborativa com toda a equipe sem a necessidade de conhecimentos avançados da web. Os participantes podem colaborar na confecção de todos os documentos e assim compartilham informações com materiais on-line. Estas informações são facilmente acessadas pelas pessoas autorizadas onde cada conteúdo editado permite rastreabilidade. | |||
= Referencial Teórico = | = Referencial Teórico = | ||
| Linha 20: | Linha 39: | ||
<div style="text-indent:40px;text-align:center"> | <div style="text-indent:40px;text-align:center"> | ||
[[Arquivo:Estrutura_padrão_publish-subscriber.png| | [[Arquivo:Estrutura_padrão_publish-subscriber.png|400px]] | ||
</div> | </div> | ||
| Linha 35: | Linha 54: | ||
</div> | </div> | ||
== | ==Middleware== | ||
<div style="text-indent:40px;text-align:justify"> | <div style="text-indent:40px;text-align:justify"> | ||
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. | 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. | ||
| Linha 47: | Linha 66: | ||
= Estado da Arte = | = Estado da Arte = | ||
<div style="text-indent:40px;text-align:justify"> | |||
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 | |||
</div> | |||
<div style="text-indent:40px;text-align:center"> | |||
[[Arquivo:service-based.png|400px]] | |||
</div> | |||
<div style="text-indent:40px;text-align:justify"> | |||
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. | |||
</div> | |||
<div style="text-indent:40px;text-align:center"> | |||
[[Arquivo:cloud-based.png|400px]] | |||
</div> | |||
<div style="text-indent:40px;text-align:justify"> | |||
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. | |||
</div> | |||
<div style="text-indent:40px;text-align:center"> | |||
[[Arquivo:actor-based.png|400px]] | |||
</div> | |||
<div style="text-indent:40px;text-align:justify"> | |||
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. | |||
</div> | |||
= Trabalhos correlatos = | = Trabalhos correlatos = | ||
<div style="text-indent:40px;text-align:justify"> | |||
Existem vários trabalho nessa área, tanto na academia quanto na indústria, já que dispositivos IoT estão cada vez mais comum na vida das população e middlewares se mostram uma boa solução, para integrar vários dispositivos. Neste capítulo alguns desses trabalhos são listados, como exemplos de pesquisa nessa área. Um desses é o (NGU et al.,2017) que consiste em uma pesquisa nessa área, com descrição de tipos de middleware, analise dos desafios e tecnologias da área, além de uma descrição dos ingredientes essenciais para a composição, adaptabilidade e aspectos de segurança de um sistema IoT. | |||
</div> | |||
<div style="text-indent:40px;text-align:justify"> | |||
Outros trabalho na área é o (BANDYOPADHYAY et al., 2011), onde a um levantamento do sistema middleware para IoT, propondo a utilização de blocos funcionais fundamentais para criação do middleware, além de classificar recursos já existentes. No trabalho de (Razzaque et al., 2016) onde a uma descrição de um solução de middleware IoT para uma rede de sensores sem fio. No trabalho de (da Cruz et al., 2018) a um exploração das diferenças entre a internet atual e os sistemas baseados em IoT, além de destacar as dificuldades de alcançar e fazer cumprir um padrão mundial para sistemas middeware IoT. | |||
</div> | |||
<div style="text-indent:40px;text-align:justify"> | |||
Este trabalho consiste em uma breve analise dos sistemas já existentes, para que então, possa descrever um portal, com especificações de desenvolvimento, que reúna as informações e análise de dispositivos IoT de várias fontes diferentes. | |||
</div> | |||
Edição atual tal como às 12h55min de 17 de maio de 2022
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.
- Levando em conta o expressivo aumento dos serviços de IoT e as previsões futuras, é essencial que seja disponibilizada uma plataforma que permita agregar, processar, distribuir e publicar os vários e diversificados dados oriundos de fontes diferentes. Assim pode-se pensar seriamente em gerar resultados que possam ajudar na criação de novos negócios, novos requisitos e novas perspectivas de emprego dessa tecnologia.
Cronograma
- Semanas: 18 semanas
- [02] Fase I: Avaliação das tecnologias disponíveis
- [02] Fase II: Benchmarking com outros players
- [03] Fase III: Definição do projeto básico
- [03] Fase IV: Definição dos cases
- [02] Fase V: Avaliação da infraestrutura e recursos necessários
- [04] Fase VI: Criação do projeto de TIC
- [01] Fase VII: Validação junto aos Stakeholders
- [01] Fase VIII: Aprovação e publicação dos resultados
Metodologia
- Para implementação das atividades de pesquisa são usadas as melhores práticas vigentes e que permitem ampla e ágil evolução dos trabalhos de estudo, desenvolvimento e apresentação dos resultados.
- Para as atividades de gestão utilizamos a proposta de modelos ágeis que permitem aprimorar o processo de desenvolvimento de novas soluções. O objetivo final é fazer entregas com maior rapidez cumprindo as metas de cada fase. Nessa linha, cada um dos participantes se vê envolvido em cerimônias, práticas e métodos que aceleram o processo e conseguem inserir os novos colaboradores em processos atuais e eficientes.
- Para maior aproveitamento da pesquisadora envolvida, foi possível potencializar a sua capacidade, introduzindo uma técnica inédita denominada J.A.C.I, que organiza as atividades de aprendizado e cooperação utilizando os 4 conceitos: Justo (Responsabilidades adaptadas ao nível de cada um), Autodidata (Capacitação sem professor e sem aulas mas com fontes de referências claras e facilitadas, com orientação efetiva), Colaborativo (Processo do início ao fim pautado no compartilhamento de informações em todos os segmentos) e Intenso (A pesquisadora recebeu uma série de desafios a serem superados e em tese nunca fica ociosa).
- Para a Gestão do Conhecimento é usado o modelo de Wiki que permite que pessoas trabalhem de forma colaborativa com toda a equipe sem a necessidade de conhecimentos avançados da web. Os participantes podem colaborar na confecção de todos os documentos e assim compartilham informações com materiais on-line. Estas informações são facilmente acessadas pelas pessoas autorizadas onde cada conteúdo editado permite rastreabilidade.
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.
Middleware
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
Existem vários trabalho nessa área, tanto na academia quanto na indústria, já que dispositivos IoT estão cada vez mais comum na vida das população e middlewares se mostram uma boa solução, para integrar vários dispositivos. Neste capítulo alguns desses trabalhos são listados, como exemplos de pesquisa nessa área. Um desses é o (NGU et al.,2017) que consiste em uma pesquisa nessa área, com descrição de tipos de middleware, analise dos desafios e tecnologias da área, além de uma descrição dos ingredientes essenciais para a composição, adaptabilidade e aspectos de segurança de um sistema IoT.
Outros trabalho na área é o (BANDYOPADHYAY et al., 2011), onde a um levantamento do sistema middleware para IoT, propondo a utilização de blocos funcionais fundamentais para criação do middleware, além de classificar recursos já existentes. No trabalho de (Razzaque et al., 2016) onde a uma descrição de um solução de middleware IoT para uma rede de sensores sem fio. No trabalho de (da Cruz et al., 2018) a um exploração das diferenças entre a internet atual e os sistemas baseados em IoT, além de destacar as dificuldades de alcançar e fazer cumprir um padrão mundial para sistemas middeware IoT.
Este trabalho consiste em uma breve analise dos sistemas já existentes, para que então, possa descrever um portal, com especificações de desenvolvimento, que reúna as informações e análise de dispositivos IoT de várias fontes diferentes.