• Nenhum resultado encontrado

Modelo dos protocolos da camada da rede

No documento Antônio Vicente Lourenço Dâmaso (páginas 111-116)

Trabalhos Relacionados

5.3 Modelo do consumo de energia da rede e do nó sen- sen-sor

5.3.1 Modelo dos protocolos da camada da rede

Esta tese não tem um modelo de consumo de energia genérico que pode ser usado para representar diferentes protocolos da camada de rede, visto que existe uma grande variedade de protocolos e características a serem modeladas. Então, foi criado um padrão (veja a Figura 5.15) contendo os elementos básicos.

Esse padrão estabelece que qualquer modelo de protocolo da camada de rede deve incluir dois lugares,in eout, para interagir com a aplicação (veja a Seção 5.2) e uma transição,LinkLayer, que atua como uma ponte para a camada de enlace. Os lugaresine out são conectados à camada de aplicação através dos lugaresine outda Figura 5.14, respectivamente.

A transiçãoAppPcktrepresenta a criação de um pacote pela aplicação,e.g., quando a ela coleta a temperatura e precisa enviá-la ao nó sorvedouro, enquanto a transiçãoCtrlPckt modela a criação de pacotes próprios do protocolo, e.g., uma fase de inicialização ou configuração do protocolo. A transição select é responsável por decidir qual será o próximo nó que o pacote deve ser enviado. Essa decisão é tomada usando uma lista de nós (lugarNodeLst). É importante observar que esse padrão não específica como esses caminhos são definidos, pois isto vai depender do algoritmo de roteamento adotado pelo protocolo.

Quando o modelo do protocolo dessa camada recebe alguma informação (e.g., tem-peratura coletada) vinda da camada da aplicação no lugar in, ele seleciona o próximo nó sensor e cria doistokens: um para a aplicação (lugar out), notificando a transição schedulerdo Modelo Principal (veja a Figura 5.14) para executar outra transição (outra tarefa ou evento) e o outrotoken, para o modelo da camada de enlace, indicando que um

Figura 5.15 Visualização do padrão da camada de rede

pacote deve ser enviado pela rede (lugarsend).

Quando o modelo do protocolo recebe um quadro da camada de enlace através da transiçãoLinkLayer, ele verifica quem o criou. Se o quadro foi criado pela transição AppPckt (i.e., um pacote da camada da aplicação), o modelo do protocolo dispara a transiçãoFwdAppque adiciona um elemento na lista de funções (Figura 5.14), indicando que a transição receive deve ser executada. No entanto, se o pacote foi criado pela transiçãoCtrlPckt, o modelo do protocolo dispara a transiçãoProPcktpara processá-lo.

Adicionalmente, o token é um tipo complexo para representar um quadro no modelo.

Esse tipo, denominado NODExPACKET, possui as informações de no nó sensor que o criou, do tamanho do quadro, qual nó sensor representa e assim por diante. Essas informações são atribuídas pelas transiçõesAppPckteSinkPckt; as demais transições apenas processam otoken.

Portanto, o Modelo de Rede pode usar qualquer modelo de energia. Esta tese usou o First Order Radio Model (Heinzelman et al., 2000) por sua simplicidade e por ser amplamente utilizado em RSSFs, pois considera o consumo de energia quando o nó sensor envia e recebe pacotes; ignorando o consumo de energia do processamento do pacote. Desta maneira, o consumo de energia do Modelo de Rede é contabilizado na camada de enlace (veja a Seção 5.3.2), a qual é responsável por enviar e receber pacotes

5.3. MODELO DO CONSUMO DE ENERGIA DA REDE E DO NÓ SENSOR

para/do ambiente. As outras camadas não existe o consumo de energia por processar os pacotes, o qual é ignorado peloFirst Order Radio Model.

Protocolo DIRECT

O protocolo DIRECT (Senouciet al., 2012) é ideal para redes pequenas, nas quais os nós sensores têm comunicação direta (único salto) com o nó sorvedouro. Nesse caso, este protocolo não necessita rotear os dados através da rede. A Figura 5.16 ilustra o modelo do protocolo DIRECT. É importante observar, nesse caso, que a lista de nós sensores (o lugarNodeLst) não é necessária, já que os mesmos têm comunicação direta.

Figura 5.16 Modelo do protocolo DIRECT seguindo o padrão da camada de rede

Na fase de inicialização do protocolo, o nó sorvedouro envia uma mensagem (SinkPckt) para todos os nós sensores. Cada nó sensor, ao receber esse pacote, calcula a distância entre ele e o nó sorvedouro e modifica a potência do rádio para o mínimo necessário que é exigido para haver a comunicação entre eles. Essa ação é representada pela transição ProPckt. Depois da inicialização, as aplicações dos nós sensores começam a enviar os pacotes (disparando a transiçãoAppPckt) para o nó sorvedouro (quando recebe um pacote, notifica sua aplicação através da transiçãoFwdApp).

Protocolo FLOODING

Um nó sensor usando o protocolo FLOODING (Ko et al., 2004) envia um pacote in broadcast, em que seus vizinhos recebem o pacote e o repassa (também embroadcast) até o pacote alcançar o destinatário. Essa característica não precisa preparar e armazenar os caminhos até o destinatário. Então, o modelo do FLOODING (ilustrado na Figura 5.17) também não precisa do lugarNodelst. Nesse caso, a transiçãoselectapenas atribui o valorbroadcastpara o pacote criado.

Figura 5.17 Modelo do protocolo FLOODING seguindo o padrão da camada de rede Quando um nó sensor recebe o pacote, ele verifica se o pacote é destinado a ele ou não. Se for, ele repassa o pacote para a aplicação (transiçãoFwdApp). Caso contrário, ele roteia o pacote para seus vizinhos (transiçãoRoutePckt).

Protocolo GOSSIPING

O protocolo GOSSIPING (Hedetniemiet al., 1988), diferentemente do protocolo FLO-ODING, escolhe um nó sensor randomicamente e repassa o pacote para o nó sensor escolhido (como ilustrado na Figura 5.18). Na fase de configuração do protocolo, todos os nós sensores devem enviar um sinal (transiçãoSigPckt) embroadcast. Quando um nó sensor recebe esse pacote, ele calcula a distância entre ele e o transmissor e muda o valor

5.3. MODELO DO CONSUMO DE ENERGIA DA REDE E DO NÓ SENSOR

da lista de nós (lugarNodeLst).

Figura 5.18 Modelo do protocolo GOSSIPING seguindo o padrão da camada de rede Na fase de execução do protocolo, quando o nó sensor cria um pacote da aplicação (transiçãoAppPckt), ele seleciona (transiçãoselect) outro nó sensor e muda a potência do rádio para um valor mínimo necessário para alcançar o receptor. Quando o nó sensor recebe esse pacote, ele verifica quem é o destinatário. Caso o destinatário seja ele, o pacote é repassado para a camada de aplicação (transição FwdApp). Caso contrário, o pacote é enviado para outro nó sensor (transição RoutePckt), o qual é selecionado randomicamente (tal como o nó sensor remetente fez).

Protocolo LEACH

O protocolo LEACH (Low-Energy Adaptive Clustering Hierarchy) (Heinzelman, 2000;

Heinzelmanet al., 2000) é um dos mais usados para roteamento hierárquico da RSSF.

Esse protocolo dinamicamente criaclustersdentro da rede e os nós sensores usam os líderes dosclusters(CHs) para rotear os seus pacotes até o nó sorvedouro. De tempos em tempos, um novo nó sensor se torna um líder de umcluster. Essa estratégia reduz a dissipação de energia entre os nós sensores, incrementando o tempo de vida da rede.

Adicionalmente, esse protocolo assume que todos os nós sensores podem se comunicar com o nó sensor diretamente. Essas características são modeladas na Figura 5.19.

Esse protocolo divide suas atividades em duas fases: fase de configuração e fase estável. A fase de configuração é usada para criar osclusters. Nessa fase, todos os nós sensores geram um número randômico entre 0 e 1 para determinar se será um líder de um clusterou não. Se o valor gerado for menor do que a entradaT(n), ele se torna um líder de

Figura 5.19 Modelo do protocolo LEACH seguindo o padrão da camada de rede

umclustere notifica os demais (transiçãoNewCHPckt). Quando os nós sensores recebem essa notificação, eles verificam qual é o líder mais próximo (transição CHSelection) e enviam um pacote para o líder escolhido para participar do seu cluster (transição JoinPckt). No próximo passo (fase estável), os nós sensores enviam periodicamente um pacote para o líder docluster(transiçãoAppDataPckt), o qual agrega os dados recebidos (transiçãoCHAggr) e os envia para o nó sorvedouro (transiçãoCHDataPckt). Após um determinado tempo definido pelo usuário, a fase de configuração começa novamente (transiçãoNewCHPckt), criando novosclusters. Dessa forma, o LEACH elege novos nós sensores para serem líderes declustersem tempo em tempo.

No documento Antônio Vicente Lourenço Dâmaso (páginas 111-116)