• Nenhum resultado encontrado

2.2 A Comunica¸c˜ao Publish/Subscribe

2.2.2 Publish/Subscribe nas RASSFs

A ado¸c˜ao do modelo de comunica¸c˜ao publish/subscribe, em fun¸c˜ao das trˆes dimens˜oes de desacoplamento que proporciona, simplifica o processo de coordena¸c˜ao entre os n´os nas RASSFs. A coordena¸c˜ao das intera¸c˜oes, contudo, ´e fortemente dependente da arquitetura utilizada pela rede de atuadores e sensores sem fio: “automatizada” ou “semi-automatizada”, conforme a defini¸c˜ao adotada na Subse¸c˜ao 2.1.2.

Neste n´ıvel de abstra¸c˜ao, o paradigma publish/subscribe se incumbe de definir os n´os da rede que, em ´ultima instˆancia, atuar˜ao como produtores ou consumidores de informa¸c˜ao e a forma como os diferentes agentes se relacionar˜ao.

Em geral, os pap´eis dos agentes nas RASSFs s˜ao claramente distribu´ıdos entre os n´os: os sensores atuam como publishers e os atuadores como subscribers. Em situa¸c˜oes excepcionais, contudo, um sensor pode necessitar de dados fornecidos por outros n´os da rede, por exemplo, para gerar uma informa¸c˜ao consistente e, assim, atuar como subscriber dos dados adicionais. Da mesma forma, os atuadores de uma RASSF podem operar como publishers quando compartilham informa¸c˜oes diante da necessidade de coordena¸c˜ao entre os atuadores.

^E^KZ ͚ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ƉƵďůŝƐŚĞƌ ^E^KZ dhKZ ƐƵďƐĐƌŝďĞƌ dhKZ dhKZ ƐƵďƐĐƌŝďĞƌ dhKZ ƐƵďƐĐƌŝďĞƌ dhKZ

(a) Arquiteturas “Automatizadas”.

^E^KZ ͚ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ^E^KZ ƉƵďůŝƐŚĞƌ ƐƵďƐĐƌŝďĞƌ dhKZ dhKZ ƐƵďƐĐƌŝďĞƌdhKZ dhKZ ƐƵďƐĐƌŝďĞƌ dhKZ ƐƵďƐĐƌŝďĞƌ ƉƵďůŝƐŚĞƌ (b) Arquiteturas “Semi-Automatizadas”.

Figura 2.6: Formas de Intera¸c˜ao Publish/Subscribe nas RASSFs.

Deste modo, temos que nas arquiteturas “automatizadas” os sensores comumente operam como publishers de informa¸c˜oes, que s˜ao encaminhadas atrav´es de diferentes caminhos aos atuadores (subscribers), cujas subscri¸c˜oes coincidem com os atributos dos dados publicados. Nas arquiteturas “semi-automatizadas”, entretanto, o destino imediato da informa¸c˜ao publicada pelos sensores (publishers de uma dada RASSF)

´e o sorvedouro da rede, que atua como subscriber de todos os dados publicados e, por conseguinte, como publisher das informa¸c˜oes a serem encaminhadas para os atuadores (subscribers da RASSF). As Figuras 2.6(a) e 2.6(b) exemplificam, res- pectivamente, as arquiteturas e as intera¸c˜oes entre sensores e atuadores das RASSFs “automatizadas” e “semi-automatizadas”.

Na literatura das RSSFs, talvez a proposta de comunica¸c˜ao publish/subscribe mais conhecida seja o protocolo ‘Directed Diffusion’, proposto originalmente por INTANAGONWIWAT et al. em [59]. Em [60], foram apresentados trˆes diferen- tes modos de comunica¸c˜ao para este protocolo: ‘Two-Phase Pull’, ‘One-Phase Pull’ e ‘Push’, que se diferenciam basicamente pela omiss˜ao ou ado¸c˜ao das mensagens de divulga¸c˜ao de dados e interesses, consideradas opcionais para o paradigma pu- blish/subscribe.

O Directed Diffusion ´e um protocolo centrado em dados e projetado para a disse- mina¸c˜ao de informa¸c˜oes vizinho-a-vizinho em redes de sensores sem fio. Entretanto, apesar de ser um protocolo facilmente adapt´avel `as redes de atuadores e sensores sem fio, sua proposta n˜ao se aplica a demandas de comunica¸c˜ao que necessitem observar o cumprimento de prazos.

Na literatura das RASSFs, os trabalhos [33, 36, 39] apresentam solu¸c˜oes para o controle descentralizado atrav´es de comunica¸c˜oes por m´ultiplos saltos coordenadas pelo paradigma publish/subscribe, sem atribuir alcances de transmiss˜ao diferentes para os dois tipos de n´os: sensores e atuadores. Outros trabalhos propuseram a uti- liza¸c˜ao do publish/subscribe para a coordena¸c˜ao das comunica¸c˜oes nas RASSFs, con- tudo, sem optar pela completa descentraliza¸c˜ao das a¸c˜oes de controle. ´E o caso das propostas de PRINSLOO et al. [17] e MATTHYS et al. [21], que consideram formas centralizadas de controle, enquanto BOUKERCHE et al. [27] e BRANCH et al. [19] apresentam solu¸c˜oes distintas de clusteriza¸c˜ao, onde as decis˜oes s˜ao parcialmente descentralizadas nos pr´oprios atuadores ou em m´ultiplas entidades concentradoras integradas `a rede.

O trabalho de TAHERIAN et al. [33] prop˜oe um middleware que utiliza o modelo publish/subscribe para a dissemina¸c˜ao de eventos pela RASSF e m´aquinas de estado que processam predicados geradores de eventos. O paradigma publish/subscribe ´e implementado atrav´es de um protocolo de comunica¸c˜ao baseado em localiza¸c˜ao, que associa os locais de ocorrˆencia a seus eventos e delimita ´areas de publica¸c˜ao e subscri¸c˜ao.

Em [36], os autores prop˜oem um controle descentralizado utilizando o modelo pu- blish/subscribe. ´E apresentada uma solu¸c˜ao soft-state clusterizada e hier´arquica na qual cada cluster estabelece uma rede publish/subscribe independente, que ´e repre- sentada pelo seu clusterhead na comunica¸c˜ao inter-cluster global. No seu esquema de comunica¸c˜ao, a existˆencia de uma lista de identificadores dos destinat´arios de cada

notifica¸c˜ao permite o encaminhamento das mensagens de trˆes modos: para todos os subscribers, para apenas um destino no pr´oximo salto ou para somente um destino de pr´oximo salto em cada subgrupo pr´e-estabelecido.

RUSSELLO et al. [39] tamb´em adotam o modelo publish/subscribe para coor- denar as comunica¸c˜oes em sua proposta de controle descentralizado. Nesse traba- lho, um middleware composto por um agente publish/subscribe e um gerenciador de pol´ıticas promove a separa¸c˜ao do comportamento interativo de sensoriamento- rea¸c˜ao das funcionalidades b´asicas da RASSF. O gerenciador de pol´ıticas de cada n´o avalia todas as intera¸c˜oes entre agentes e entre agente-aplica¸c˜ao, empregando regras seletivas atrav´es de um modelo de programa¸c˜ao proposto, denominado ‘Event-State- Condition-Action’ (ESCAPE). O agente de comunica¸c˜ao gerencia os interesses e subscri¸c˜oes dos n´os, implementados atrav´es do protocolo Directed Diffusion nos mo- dos Push ou One-Phase-Pull, dependendo de caracter´ısticas de cada implementa¸c˜ao, como o n´umero de n´os sensores da rede.