Para prover algumas sugestões e ideias para o desenvolvimento de algoritmos de ro- teamento WirelessHART, esta seção apresenta alguns algoritmos de roteamento que não foram desenvolvidos especificamente para o WirelessHART. As ideias apresentadas po- dem servir de guia para novos algoritmos WirelessHART.
Para a tecnologia ISA100.11a, [Pham & Kim 2013] e [Pham & Kim 2014] aplicam um modelo matemático de Taxa de Recepção de Pacotes (Packet Reception Rate-PPR) para definir regiões de conectividade; tais regiões são classificadas pela taxa de sucesso de suas rotas. Dois grafos são construídos: o primeiro é baseado no consumo de energia dos nós, o segundo é baseado em latência. Então o algoritmo de escalonamento é aplicado
3.1. ESTADO DA ARTE ROTEAMENTO 37 nos dois grafos para que se mantenha o equilibrio de prioridades entre o consumo de energia e a latência. Os mesmos autores também produziram em [Quang & Kim 2014] um algoritmo de roteamento para Redes de Sensores de Rádio Cognitivo com base no ISA100.11a. O algoritmo estima a vazão máxima de dados para cada caminho e envia dados pelo caminho mais otimizado.
O algoritmo apresentado em [Quang & Kim 2014] utiliza uma estrutura baseada em clustersno qual os dispositivos (chamados de clusters) são responsáveis por sentir e alocar os canais de transmissão para os dispostivos vizinhos. Um Cluster Head é um nó especial que utiliza dois transmissores de rádio separados ao mesmo tempo, permitindo que o tempo ocioso do dos canais ISM licenciados sejam utilizados. Cada cluster pode estimar o estado do meio de transmissão utilizando o método de janela de média com média móvel exponencialmente ponderada (window mean with exponentially weighted moving average.
O protocolo Hydro, apresentado em [Dawson-Haggerty et al. 2010], tem o objetivo de reduzir o overhead de transmissões p2p (per-to-peer). O Hydro utiliza a métrica ETX [De Couto et al. 2003] para medir a qualidade do link, e adota três primitivas para para atingir os objetivos propostos. A primeira primitiva determina a formação de um Grafo Direcionado Acíclico (Directed Acyclic Graph–DAG), então cada nó deve manter uma lista de dispositivos de roteamento padrão que encaminhem os pacotes para os roteadores de borda. A segunda primitiva é construção de topologia global que define uma mensagem chamada Topology Report (Relatório de Topologia) que são anexados aos dados enviados. Este relatório contém informações sobre os melhores vizinhos na lista de rotas padrão, de modo que um grafo possa ser construído. E, finalmente, existe a instalação centralizada de rotas, a qual detemina quando as rotas devem ser instaladas/atualizadas nos dispositivos pelos roteadores de borda utilizando um mensagem de instalação de rota.
O trabalho em [Yu et al. 2014] propõe o protocolo REALFLOW, que tem enfoque específico em RISSF. Apesar de que o trabalho apresentado em [Yu et al. 2014] seja in- teressante devido a seu foco nos desafios das RISSFs, ele não está em confirmidade com a atual norma WirelessHART, se tornando mais como uma opção para futuras atualiza- ções na tecnologia. Contudo esse trabalho foi contemplado nessa subseção devido à sua proposta inovadora. O protocolo inclui um algoritmo de roteamento, o qual provê diver- sidade de multiplos caminhos (melhora da confiabilidade), desempenho para dados em tempo real, tolerância a mudanças súbitas de topologia e uma divisão da carga de traba- lho entre os dispositivos, minimizando o gasto de tempo de processamento com calculos de informações de roteamento. Para se atingir os objetivos propostos anteriormente, os autores dividem a solução em duas partes: a parte de estabelecimento e gerência de rotea-
mento e parte de encaminhamento de pacotes. O funcionamento destas partes e a estrutura da rede são mostradas na Figura 3.3 (adaptada de [Yu et al. 2014]).
Mensagem List-update Passo 1: Descoberta de Rede Mensagem List-response Passo 2: Resposta de descoberta Mensagem List-confirm Passo 3: Confirmação de Rede Gateway Mensagem de dados Passo 4: Transmissão de dados Nós da Rede 1 2 3
...
NFigura 3.3: Resumo de funcionamento do REALFLOW.
Os passos 1, 2, e 3 apresentados na Figura 3.3 representam as três mensagens de con- trole usadas para o estabelecimento e manutenção do roteamento. A descoberta de rede é realizada pela mensagem List-update, a qual é enviada em broadcast do gateway para os dispositivos levando informações sobre a intesidade de sinais, número de saltos e o endereço do nó anterior. Quando um dispositivo recebe uma mensagem List-update, este dispositivo atualiza os parâmetros contidos na mensagem e a encaminha em broadcast de acordo com a necessidade para que chegue toda a rede. O acúmulo dos níveis de inten- sidade sinais determinam as rotas mais confiáveis, o número de saltos evita reenvios sem fim (o pacote é descartado se a contagem de saltos for maior que a profundidade do nó) e o endereço do nó anterior mantém o registro do caminho percorrido por cada pacote. Após receber as mensagens de List-update, os nós da rede enviam um relatório para o gateway através de uma mensagem List-response. Esta mensagem contém informação sobre os nós vizinhos (irmãos, pais e filhos) e sobre o próximo dispositivo para onde en- caminhar pacotes a partir do dispositivo atual. O gateway utiliza estas informações para para construir a topologia da rede. Cada mensagem de List-update contém um número de sequência que evita a duplicação de pacotes. Finalmente, o gateway envia mensagens list-confirmpara todos os nós com a confirmação das listas de nós relacionados e decisões de escalonamento. A supracitada parte de encaminhamento de pacotes consiste em um
3.1. ESTADO DA ARTE ROTEAMENTO 39 conjunto de critérios que restringem a inundação de mensagens na rede, poupando recur- sos. O primeiro é a definição para cada nó n de uma lista local de nós relacionados Ln,
a qual contém uma lista de endereços dos nós considerados relacionados a n. Um nó x é considerado relacionado a um nó n se x está envolvido no encaminhamento de pacotes entre n e o gateway. Além disso, o critério define que uma vez que o nó n recebe um pa- cote, o nó só irá encaminhar tal pacote se o endereço de origem ou o endereço do destino do pacote entejam contidos em Ln.
A segunda parte consiste em marcar os pacotes com um identificador único. Este identificador encapsula o número de sequência do pacote e o endereço de origem do nó atual. Os identificadores de pacotes são armazenados em cada nó utilizando uma tabela de histórico H, e uma vez que um novo pacote é recebido, o identificador que chega é comparado aqueles contidos em H. Se o identificador estiver presente em H, o pacote é uma duplicata e deve ser tratado apropriadamente como tal. Finalmente, o último critério é a idade do pacote. Pacotes desatualizados são de uso limitados em redes industriais, então cada pacote carrega um valor de idade. Este valor de idade é comparado com o prazo de entrega ao gateway para aquele pacote antes de ser enviado. Caso a idade seja maior que o prazo de entrega ao gateway o pacote é descartado para que se evite a utilização de buffers desnecessariamente em nós intermediários.
O incoveniente do algoritmo de roteamento apresentado pelos autores em [Yu et al. 2014] é o aumento no consumo de energia devido ao uso do algortimo de inundação e o foco em confiabilidade e em desempenho em tempo real.