Repensando a Internet das Coisas: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(46 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=[[Media:Rethinking-Internet-Of-Things-Book.pdf|Rethinking Internet of Things]]=
=Repensando a Internet das Coisas=


Síntese de algumas ideias apresentadas no livro  <ref name=Costa>Francis da Costa. Rethinking the Internet of Things: A scalable approach to connecting everything. Apress Open, 2013.</ref>.
Página Wiki com síntese de algumas ideias do livro '''[[Media:Rethinking-Internet-Of-Things-Book.pdf|Rethinking Internet of Things]]''' (Costa, 2013) <ref name=Costa>Francis da Costa. [[Media:Rethinking-Internet-Of-Things-Book.pdf|Rethinking Internet of Things]]: A scalable approach to connecting everything. Apress Open, 2013.</ref>. O autor apresenta uma nova arquitetura para IoT fruto de sua experiência com diferentes tecnologias que são combinadas na Internet das Coisas.


==Introdução==
==Introdução==


O crescimento do número de dispositivos voltados a Internet das Coisas e predominância da comunicação máquina máquina (M2M) vai exigir outro tipo de infraestrutura de rede.  
O crescimento do número de dispositivos voltados a '''Internet das Coisas''' e predominância da '''comunicação máquina máquina''' ('''M2M''') vai exigir outro tipo de infraestrutura de rede.  


Algumas razões que justificam uma nova estrutura de rede <ref name=Costa/> (p. xxv).
Algumas razões que justificam uma '''nova infraestrutura de rede''' <ref name=Costa/> (p. xxv).
*Apesar do IPv6 atender o requisito de endereçamento para os dispositivos para IoT, como sensores e atuadores, a maioria deles têm limitações de processamento, memória e taxas de transmissão para suportar a pilha de protocolos IP.  
*Apesar do '''IPv6''' atender o requisito de endereçamento para os dispositivos para IoT, como '''sensores''' e '''atuadores''', a maioria deles têm '''limitações de processamento''', '''memória''' e '''taxas de transmissão''' para suportar a pilha de protocolos IP.  
*A implementação do IP exige conhecimento da rede por parte dos dispositivos, como a definição de endereços MAC para todos os tipos de dispositivos.
*A implementação do '''IP''' exige conhecimento da rede por parte dos dispositivos, como a definição de endereços '''MAC''' para todos os tipos de dispositivos.
*As necessidades de rede dos dispositivos de IoT são completamente diferentes da comunicação da Internet. O tipo de informação trocada entre estes dispositivos envolve dados assimétricos, com mais dados fluindo dos sensores, que o contrário, e, em muitos casos, a perda de uma mensagem ou ruídos não terão consequências catastróficas. Muitos desdes dispositivos vão operar de forma autônoma, independente de ter ou não alguém "escutando" por uma informação.
*As necessidades de rede dos dispositivos de '''IoT''' são completamente diferentes da comunicação da '''Internet'''. O tipo de informação trocada entre estes dispositivos envolve dados assimétricos, com mais dados fluindo dos sensores, que o contrário, e, em muitos casos, a perda de uma mensagem ou ruídos não terão consequências catastróficas. Muitos desdes dispositivos vão operar de forma autônoma, independente de ter ou não alguém "escutando" por uma informação.
*Quando há sensoreamento em tempo real e laços estritos de resposta, o controle fim a fim da das arquiteturas de rede tradicionais falham.
*Quando há '''sensoreamento em tempo real''' e laços estritos de resposta, o controle fim a fim da das arquiteturas de rede tradicionais falham.
*A comunicação par-a-par das redes IP dificultam a riqueza da comunicação entre os dispositivos para IoT. Para estes, somente um modelo como '''''publisher/subscriber''''' pode atender as demandas de escala e de coleta de informações dos sensores e distribuição das mesmas aos interessados nos dados.
*A comunicação par-a-par das redes IP dificultam a riqueza da comunicação entre os dispositivos para IoT. Para estes, somente um modelo como '''''publisher/subscriber''''' pode atender as demandas de escala e de coleta de informações dos sensores e distribuição das mesmas aos interessados nos dados.


Linha 19: Linha 19:
*'''Integrador de funções''' visando análise, controle e interface humana para IoT.
*'''Integrador de funções''' visando análise, controle e interface humana para IoT.


As mensagens coletadas dos dispositivos terminais serão bastante simples, como temperatura medida por um sensor ou o estado de uma válvula, e coletadas continuamente, sendo cada uma individualmente não críticas. As mensagens serão coletadas em algum lugar da rede pelos nós propagadores, onde serão filtradas, empacotadas e encaminhadas para o integrador de funções para serem utilizadas no controle dos sistemas de IoT.  
As mensagens coletadas dos '''dispositivos terminais''' serão bastante simples, como temperatura medida por um sensor ou o estado de uma válvula, e coletadas continuamente, sendo cada uma individualmente não críticas. As mensagens serão coletadas em algum lugar da rede pelos '''nós propagadores''', onde serão filtradas, empacotadas e encaminhadas para o '''integrador de funções''' para serem utilizadas no controle dos sistemas de IoT.  


[[Arquivo:4-Multiple-identical-messages-may-be-received-some-are-discarted.png|300px]] <ref name=Costa/>(p. 6)
[[Arquivo:4-Multiple-identical-messages-may-be-received-some-are-discarted.png|300px]] <ref name=Costa/>(p. 6)


Na Internet das Coisas os dispositivos situados nas bordas da rede serão bastante diversos e limitados em termos de processamento, memória e hardware para suportar interfaces de rede sofisticadas.
Na '''Internet das Coisas''' os '''dispositivos''' situados nas bordas da rede serão bastante diversos e '''limitados em termos de processamento''', '''memória''' e '''hardware''' para suportar interfaces de rede sofisticadas.


Protocolos de redes tradicionais como o TCP/IP foram projetados para trabalhar com transmissão garantida de dados, por meio de reconhecimentos e retransmissões. Estes não são requisitos para os dispositivos da Internet das Coisas, como são múltiplas pequenas mensagens enviadas periodicamente, não faz sentido reenviá-las individualmente, já que a possível perda de uma delas pode não ser catastrófico.
Protocolos de redes tradicionais como o '''TCP/IP''' foram projetados para trabalhar com '''transmissão garantida de dados''', por meio de reconhecimentos e retransmissões. Estes não são requisitos para os dispositivos da '''Internet das Coisas''', como são múltiplas pequenas mensagens enviadas periodicamente, não faz sentido reenviá-las individualmente, já que a possível perda de uma delas pode não ser catastrófico.


Dispositivos como computadores pessoais e smartfones possuem hardware e sistemas operacionais sofisticados para implementar a pilha de protocolos TCP/IP. Para um dispositivos para IoT seria muito mais interessante uma interface de rede mais simples em termos de hardware e software necessário.
Dispositivos como computadores pessoais e smartfones possuem hardware e sistemas operacionais sofisticados para implementar a pilha de protocolos TCP/IP. Para um '''dispositivos para IoT''' seria muito mais interessante uma '''interface de rede mais simples''' em termos de hardware e software necessário.


[[Arquivo:5-Contrasting-the-processor-OS-memory-and-power-necessary-for-traditional-protocols.png|400px]] <ref name=Costa/> (p. 8)
[[Arquivo:5-Contrasting-the-processor-OS-memory-and-power-necessary-for-traditional-protocols.png|400px]] <ref name=Costa/> (p. 8)


Na arquitetura proposta para Internet das Coisas, nas bordas da rede estariam os dispositivos sensores e atuadores (lado esquerdo da figura abaixo) transmitindo (ou recebendo) pequenas mensagens de dados até os nós propagadores. Os nós propagadores decidem como empacotarão e encaminharão as mensagens recebidas a outros nós propagadores ou a dispositivos integradores de mais alto nível.  
Na arquitetura proposta para Internet das Coisas, nas bordas da rede estariam os '''dispositivos sensores e atuadores''' (lado esquerdo da figura abaixo) transmitindo (ou recebendo) pequenas mensagens de dados até os '''nós propagadores'''. Os nós propagadores decidem como empacotarão e encaminharão as mensagens recebidas a outros nós propagadores ou a dispositivos '''integradores de função''' de mais alto nível.  


[[Arquivo:Emerging-architecture-for-the-Internet-of-Things.png|400px]] <ref name=Costa/> (p. 18)
[[Arquivo:Emerging-architecture-for-the-Internet-of-Things.png|400px]] <ref name=Costa/> (p. 18)


Devido aos fatores de escala da IoT, nós propagadores devem ser capazes de se alto organizarem e descobrirem outros nós vizinhos, utilizando recursos como as redes sem fio (''mesh'') ou protocolos de roteamento. Protocolos standards de rede podem ser utilizados, com os nós propagadores fazendo a transição entre diferentes tecnologias de rede (como Bluetooth, ZigBee, Wifi, etc).  
Devido aos fatores de escala da IoT, '''nós propagadores''' devem ser capazes de se '''alto organizarem''' e '''descobrirem outros nós vizinhos''', utilizando recursos como as '''redes ''mesh''''' ou '''protocolos de roteamento'''. Protocolos standards de rede podem ser utilizados, com os nós propagadores fazendo a transição entre diferentes tecnologias de rede (como Bluetooth, ZigBee, Wifi, etc).  


Para interagir com os nós integradores, o modelo ''publisher/subscriber'' poderia ser utilizado, com os nós propagadores fazendo o papel de publicadores.
[[Arquivo:Propagator-nodes-independently-build-routing-tables-and-thus-the-network-topology.jpg|400px]] <ref name=Costa/> (p. 34)


Os integradores de funções fazem a coleta, análise e integração dos dados para decidirem as ações a serem tomadas sobre o sistema de IoT, além de proverem a interface humana do sistema.
Alguns dispositivos podem '''combinar múltiplas funções de IoT''' num simples pacote, combinando vários dispositivos terminais e o nó propagador provendo a interconexão com a rede.
 
[[Arquivo:Some-devices-incorporate-multiple-IoT-functions-in-a-single-package-Here-multiple.png|400px]] <ref name=Costa/> (p. 20)
 
==''Chirp'' e arquiteturas de rede para IoT==
 
;Chirp:
 
As mensagens geradas pelos dispositivos terminais são bastante simples e não críticas, não necessitando de mecanismos de recobrimento de erros, exceto uma checagem de erros simples (''checksum'') para descartar pacotes incorretos. Este pacote de dados mínimo, chamado '''''chirp''''', deve oferecer somente as funcionalidades necessárias para este tipo de mensagem, incluindo '''setas''' (''arrows'') indicando o sentido da transmissão, '''identificação do dispositivo''' e '''''checksum''''' modesto.
 
A '''seta de direção''' (''arrows'') em uma mensagem ''chirp'' indica se a mensagem é gerada ou direcionada para o dispositivo.
 
Cada ''chirp'' pode se conectar a um nó propagador usando diferentes tecnologias, como ''wireless'', ''power lines'', conexão física, etc. Também um nó propagador pode estar em comunicação com um grande número de dispositivos e provendo serviços para todos.
 
[[Arquivo:IoT-devices-will-communcated-over-various-means.jpg|400px]] <ref name=Costa/> (p. 54)
 
;Nós propagadores:
 
Os '''nós propagadores''' receberão estas pequenas mensagens, realizarão as filtragens necessárias e as agruparão em pacotes e incluirão outros elementos de contexto, como localização, data e hora, etc, para serem encaminhadas pela rede.
 
[[Arquivo:Chirps-are-collected-within-propagator-nodes.png|600px]] <ref name=Costa/> (p. 25)
 
A comunicação entre os dispositivos terminais e nós propagadores é caracterizada por envio periódico e constante de mensagens (super provisionamento), de forma que possíveis mensagens perdidas possam ser compensadas por novas mensagens transmitidas. Por outro lado, os nós propagadores podem apagar ou ignorar mensagens recebidas em excesso dos dispositivos terminais.
 
;Arquitetura de transporte e arquitetura funcional:
 
A comunicação na IoT combina duas arquiteturas de rede: uma arquitetura de transporte e uma arquitetura funcional. A '''arquitetura de transporte''' é onde todo o tráfego de informações é transportado e é provido, primeiramente, pelos nós propagadores recebendo mensagens dos dispositivos terminais e encaminhando os dados através da rede Internet. A '''arquitetura funcional''' é a zona virtual de interesse criada pelos integradores de função, independente dos caminhos físicos  <ref name=Costa/> (p. 34).
 
;Integradores de funções:
 
Os '''integradores de funções''' consistem de softwares especializados operando em plataformas computacionais conectadas a rede Internet. Implementam a '''arquitetura funcional''' dos sistemas de IoT, através da análise das informações de interesse e da definição das ações de controle sobre os sistemas.
 
A análise das informações e a atuação sobre o sistema de IoT pode ser melhor gestionada através do '''modelo publicador/subscritor'''. No caso, os '''dispositivos terminais''', através dos '''nós propagadores''', fazem a '''publicação''' das informações e os '''integradores de funções''' fazem a '''subscrição''' dos dados de interesse. Ou o contrário no caso de uma '''ação de controle''' e '''atuação''' sobre um dispositivo.
 
[[Arquivo:Piblisher-and-subscriber-toward-integrator-functions.png|400px]] <ref name=Costa/> (p. 27)
 
Os integradores de funções podem também fazer uso de outros dados públicos ou privados, de interesse do sistema em questão, a fim de incrementar a análise e controle do sistema.
 
;Exemplo de integrador de funções:
 
Um exemplo de integrador de funções pode ser um sistema de monitoramento para agricultura de precisão, incluindo sensores para monitorar a umidade do solo e as demais condições atmosféricas.
 
[[Arquivo:Example-of-integrator-function.png|400px]] <ref name=Costa/> (p. 38)
 
Os dados coletados são encaminhados pelo nó propagador, com outras informações de contexto. O nó propagador pode ser um publicador (modelo publicador/subscritor) utilizando a rede internet como transporte.
 
Nos integradores de função as informações subscritas podem ser combinadas com dados da vizinhança da fazenda, assim como boletins meteorológicos de outras fontes públicas ou privadas.
 
==Rede em dois níveis de controle==
 
Uma vantagem da arquitetura com três camadas proposta para os sistemas de IoT, com os '''dispositivos terminais''', '''nós propagadores''' e '''integradores de função''', é dividir a rede de comunicação em dois níveis distintos de controle.
 
Um nível mais baixo, na comunicação entre os dispositivos terminais e os nós propagadores, através de mensagens e protocolos de rede simples. O segundo nível, entre os nós propagadores e os integradores de função, que fazem uso de protocolos tradicionais de rede, em particular a rede internet.
 
Esta abordagem leva em consideração as limitações de hardware e software dos dispositivos terminais para implementar interfaces sofisticadas de rede, necessárias aos protocolos de redes tradicionais.
 
[[Arquivo:Tradicional-IP-networking-x-IoT-architecture.png|400px]] <ref name=Costa/> (p. 88)
 
O uso da rede IP tradicional até cada dispositivo terminal de um sistema de IoT exigiria a implementação completa da pilha TCP/IP em dada dispositivo, havendo ainda o problema o ''overhead'' de cabeçalho em cada mensagem enviada pelos dispositivos e o controle fim a fim da comunicação, baseada no modelo cliente servidor.
 
O modelo de rede com dois níveis de controle é mais próximo do '''modelo publicador/subscritor''' utilizado em sistemas de '''''big data''''',  e pode ser uma extensão para os sistemas de Internet das Coisas com os '''integradores de função''', utilizando '''''web services''''' e '''''cloud servers''''' para subscrever diferentes fontes de dados.


==Referências==
==Referências==

Edição atual tal como às 12h31min de 24 de abril de 2021

Repensando a Internet das Coisas

Página Wiki com síntese de algumas ideias do livro Rethinking Internet of Things (Costa, 2013) [1]. O autor apresenta uma nova arquitetura para IoT fruto de sua experiência com diferentes tecnologias que são combinadas na Internet das Coisas.

Introdução

O crescimento do número de dispositivos voltados a Internet das Coisas e predominância da comunicação máquina máquina (M2M) vai exigir outro tipo de infraestrutura de rede.

Algumas razões que justificam uma nova infraestrutura de rede [1] (p. xxv).

  • Apesar do IPv6 atender o requisito de endereçamento para os dispositivos para IoT, como sensores e atuadores, a maioria deles têm limitações de processamento, memória e taxas de transmissão para suportar a pilha de protocolos IP.
  • A implementação do IP exige conhecimento da rede por parte dos dispositivos, como a definição de endereços MAC para todos os tipos de dispositivos.
  • As necessidades de rede dos dispositivos de IoT são completamente diferentes da comunicação da Internet. O tipo de informação trocada entre estes dispositivos envolve dados assimétricos, com mais dados fluindo dos sensores, que o contrário, e, em muitos casos, a perda de uma mensagem ou ruídos não terão consequências catastróficas. Muitos desdes dispositivos vão operar de forma autônoma, independente de ter ou não alguém "escutando" por uma informação.
  • Quando há sensoreamento em tempo real e laços estritos de resposta, o controle fim a fim da das arquiteturas de rede tradicionais falham.
  • A comunicação par-a-par das redes IP dificultam a riqueza da comunicação entre os dispositivos para IoT. Para estes, somente um modelo como publisher/subscriber pode atender as demandas de escala e de coleta de informações dos sensores e distribuição das mesmas aos interessados nos dados.

Conceito de arquitetura em três camadas para as redes para IoT

  • Dispositivos terminais simples;
  • Nós propagadores para transportar e rotear as informações coletadas para a Internet;
  • Integrador de funções visando análise, controle e interface humana para IoT.

As mensagens coletadas dos dispositivos terminais serão bastante simples, como temperatura medida por um sensor ou o estado de uma válvula, e coletadas continuamente, sendo cada uma individualmente não críticas. As mensagens serão coletadas em algum lugar da rede pelos nós propagadores, onde serão filtradas, empacotadas e encaminhadas para o integrador de funções para serem utilizadas no controle dos sistemas de IoT.

[1](p. 6)

Na Internet das Coisas os dispositivos situados nas bordas da rede serão bastante diversos e limitados em termos de processamento, memória e hardware para suportar interfaces de rede sofisticadas.

Protocolos de redes tradicionais como o TCP/IP foram projetados para trabalhar com transmissão garantida de dados, por meio de reconhecimentos e retransmissões. Estes não são requisitos para os dispositivos da Internet das Coisas, como são múltiplas pequenas mensagens enviadas periodicamente, não faz sentido reenviá-las individualmente, já que a possível perda de uma delas pode não ser catastrófico.

Dispositivos como computadores pessoais e smartfones possuem hardware e sistemas operacionais sofisticados para implementar a pilha de protocolos TCP/IP. Para um dispositivos para IoT seria muito mais interessante uma interface de rede mais simples em termos de hardware e software necessário.

[1] (p. 8)

Na arquitetura proposta para Internet das Coisas, nas bordas da rede estariam os dispositivos sensores e atuadores (lado esquerdo da figura abaixo) transmitindo (ou recebendo) pequenas mensagens de dados até os nós propagadores. Os nós propagadores decidem como empacotarão e encaminharão as mensagens recebidas a outros nós propagadores ou a dispositivos integradores de função de mais alto nível.

[1] (p. 18)

Devido aos fatores de escala da IoT, nós propagadores devem ser capazes de se alto organizarem e descobrirem outros nós vizinhos, utilizando recursos como as redes mesh ou protocolos de roteamento. Protocolos standards de rede podem ser utilizados, com os nós propagadores fazendo a transição entre diferentes tecnologias de rede (como Bluetooth, ZigBee, Wifi, etc).

[1] (p. 34)

Alguns dispositivos podem combinar múltiplas funções de IoT num simples pacote, combinando vários dispositivos terminais e o nó propagador provendo a interconexão com a rede.

[1] (p. 20)

Chirp e arquiteturas de rede para IoT

Chirp

As mensagens geradas pelos dispositivos terminais são bastante simples e não críticas, não necessitando de mecanismos de recobrimento de erros, exceto uma checagem de erros simples (checksum) para descartar pacotes incorretos. Este pacote de dados mínimo, chamado chirp, deve oferecer somente as funcionalidades necessárias para este tipo de mensagem, incluindo setas (arrows) indicando o sentido da transmissão, identificação do dispositivo e checksum modesto.

A seta de direção (arrows) em uma mensagem chirp indica se a mensagem é gerada ou direcionada para o dispositivo.

Cada chirp pode se conectar a um nó propagador usando diferentes tecnologias, como wireless, power lines, conexão física, etc. Também um nó propagador pode estar em comunicação com um grande número de dispositivos e provendo serviços para todos.

[1] (p. 54)

Nós propagadores

Os nós propagadores receberão estas pequenas mensagens, realizarão as filtragens necessárias e as agruparão em pacotes e incluirão outros elementos de contexto, como localização, data e hora, etc, para serem encaminhadas pela rede.

[1] (p. 25)

A comunicação entre os dispositivos terminais e nós propagadores é caracterizada por envio periódico e constante de mensagens (super provisionamento), de forma que possíveis mensagens perdidas possam ser compensadas por novas mensagens transmitidas. Por outro lado, os nós propagadores podem apagar ou ignorar mensagens recebidas em excesso dos dispositivos terminais.

Arquitetura de transporte e arquitetura funcional

A comunicação na IoT combina duas arquiteturas de rede: uma arquitetura de transporte e uma arquitetura funcional. A arquitetura de transporte é onde todo o tráfego de informações é transportado e é provido, primeiramente, pelos nós propagadores recebendo mensagens dos dispositivos terminais e encaminhando os dados através da rede Internet. A arquitetura funcional é a zona virtual de interesse criada pelos integradores de função, independente dos caminhos físicos [1] (p. 34).

Integradores de funções

Os integradores de funções consistem de softwares especializados operando em plataformas computacionais conectadas a rede Internet. Implementam a arquitetura funcional dos sistemas de IoT, através da análise das informações de interesse e da definição das ações de controle sobre os sistemas.

A análise das informações e a atuação sobre o sistema de IoT pode ser melhor gestionada através do modelo publicador/subscritor. No caso, os dispositivos terminais, através dos nós propagadores, fazem a publicação das informações e os integradores de funções fazem a subscrição dos dados de interesse. Ou o contrário no caso de uma ação de controle e atuação sobre um dispositivo.

[1] (p. 27)

Os integradores de funções podem também fazer uso de outros dados públicos ou privados, de interesse do sistema em questão, a fim de incrementar a análise e controle do sistema.

Exemplo de integrador de funções

Um exemplo de integrador de funções pode ser um sistema de monitoramento para agricultura de precisão, incluindo sensores para monitorar a umidade do solo e as demais condições atmosféricas.

[1] (p. 38)

Os dados coletados são encaminhados pelo nó propagador, com outras informações de contexto. O nó propagador pode ser um publicador (modelo publicador/subscritor) utilizando a rede internet como transporte.

Nos integradores de função as informações subscritas podem ser combinadas com dados da vizinhança da fazenda, assim como boletins meteorológicos de outras fontes públicas ou privadas.

Rede em dois níveis de controle

Uma vantagem da arquitetura com três camadas proposta para os sistemas de IoT, com os dispositivos terminais, nós propagadores e integradores de função, é dividir a rede de comunicação em dois níveis distintos de controle.

Um nível mais baixo, na comunicação entre os dispositivos terminais e os nós propagadores, através de mensagens e protocolos de rede simples. O segundo nível, entre os nós propagadores e os integradores de função, que fazem uso de protocolos tradicionais de rede, em particular a rede internet.

Esta abordagem leva em consideração as limitações de hardware e software dos dispositivos terminais para implementar interfaces sofisticadas de rede, necessárias aos protocolos de redes tradicionais.

[1] (p. 88)

O uso da rede IP tradicional até cada dispositivo terminal de um sistema de IoT exigiria a implementação completa da pilha TCP/IP em dada dispositivo, havendo ainda o problema o overhead de cabeçalho em cada mensagem enviada pelos dispositivos e o controle fim a fim da comunicação, baseada no modelo cliente servidor.

O modelo de rede com dois níveis de controle é mais próximo do modelo publicador/subscritor utilizado em sistemas de big data, e pode ser uma extensão para os sistemas de Internet das Coisas com os integradores de função, utilizando web services e cloud servers para subscrever diferentes fontes de dados.

Referências

  1. 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 1,11 1,12 Francis da Costa. Rethinking Internet of Things: A scalable approach to connecting everything. Apress Open, 2013.

Evandro.cantu (discussão) 15h01min de 22 de abril de 2020 (-03)