15.04.2013 Views

Arquiteturas para Redes de Sensores Sem Fio - DCC/UFMG

Arquiteturas para Redes de Sensores Sem Fio - DCC/UFMG

Arquiteturas para Redes de Sensores Sem Fio - DCC/UFMG

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Após <strong>de</strong>terminar a sua coor<strong>de</strong>nada virtual, os nós <strong>de</strong> borda realizam o roteamento segundo as<br />

seguintes regras:<br />

• O pacote é roteado <strong>para</strong> o nó mais próximo em direção ao <strong>de</strong>stino;<br />

• Se não existe nenhum nó mais próximo do <strong>de</strong>stino do que o nó atual, é verificado se o<br />

pacote é <strong>de</strong>stinado a este nó. Caso seja, o pacote chegou ao seu <strong>de</strong>stino. Caso não seja,<br />

não é possível entregar o pacote;<br />

GeoMote. O GeoMote (Geographic Multicast for networked sensors)<br />

[Broadwell et al., 2004], é baseado no GeoCast [Navas and Imielinski, 1997] (protocolo<br />

<strong>de</strong>senvolvido <strong>para</strong> re<strong>de</strong>s “Internet-like”). Os <strong>de</strong>stinatários das mensagens são en<strong>de</strong>reçados<br />

através <strong>de</strong> polígonos. Desta forma é possível realizar comunicações multicast localizadas.<br />

No GeoMote, cada nó possui uma função específica durante todo o tempo <strong>de</strong> vida da re<strong>de</strong>,<br />

<strong>de</strong>finida no momento da sua programação. Existem três categorias <strong>de</strong> nós sensores: GeoHosts<br />

(que produzem dados), GeoRouters (que repassam dados produzidos pelos GeoHosts) e os<br />

GeoGateways (que atuam como pontos <strong>de</strong> entrada e saída <strong>de</strong> dados).<br />

Figura 4.9: Envio <strong>de</strong> dados<br />

no GeoMote.<br />

Para transmitir seus dados, o GeoHost que <strong>de</strong>seja<br />

comunicar com outro nó da re<strong>de</strong> repassa pacotes<br />

<strong>para</strong> um GeoGateway na sua vizinhança. O GeoGateway<br />

irá repassar os dados <strong>para</strong> um GeoRouter, que por<br />

sua vez encaminha os dados até o GeoGateway mais<br />

próximo do nó (ou região) alvo da comunicação através<br />

<strong>de</strong> um caminho multi-hop (figura 4.9). O caminho <strong>de</strong><br />

propagação das mensagens é <strong>de</strong>finido por um algoritmo<br />

guloso. Neste algoritmo, os GeoRouters repassam<br />

os pacotes <strong>para</strong> o GeoRouter mais próximo dos<br />

<strong>de</strong>stinatários da mensagem. Por <strong>de</strong>finir funções estaticamente<br />

aos nós, o protocolo é ina<strong>de</strong>quado <strong>para</strong> re<strong>de</strong>s<br />

on<strong>de</strong> os nós são lançados ou posicionados <strong>de</strong> forma<br />

arbitrária. Os GeoHosts, por exemplo, <strong>de</strong>vem possuir<br />

pelo menos um GeoGateway ao alcance do seu rádio, o<br />

que po<strong>de</strong> não acontecer caso os nós sejam posicionados<br />

arbitrariamente.<br />

GEAR. O GEAR (Geographical and Energy Aware<br />

Routing) [Yu et al., 2001] é um protocolo <strong>de</strong> roteamento<br />

geográfico que procura minimizar o consumo <strong>de</strong><br />

energia da re<strong>de</strong>. Como o GeoMote, são en<strong>de</strong>reçadas regiões da re<strong>de</strong> através <strong>de</strong> retângulos. O<br />

repasse <strong>de</strong> dados utiliza um algoritmo guloso, on<strong>de</strong> o nó que irá repassar os dados é aquele que<br />

possui o menor custo <strong>de</strong> envio até a região <strong>de</strong>sejada. O custo <strong>de</strong> envio é calculado em função<br />

da distância e energia residual dos nós que compõem a menor rota até a região especificada.<br />

Inicialmente, a função custo é aproximada. A cada pacote enviado <strong>para</strong> a região, a função custo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!