• No results found

4.2 Skjøtselsplan

4.2.3 Vannkvalitet i Semsvannet

Neste cap´ıtulo foram apresentados e discutidos diferentes algoritmos de difus˜ao para re- des sem fios n˜ao infraestruturadas. Como pode ser observado na Tab. 2.1 os algoritmo de difus˜ao podem ser divididos em dois grupos principais: i) os n˜ao cientes do contexto e ii) os cientes do contexto. Os algoritmos n˜ao cientes do contexto s˜ao mais simples uma vez que apenas utilizam informac¸˜ao com que foram configurados inicialmente, nas suas tomadas de decis˜ao. Por´em, estes algoritmos n˜ao disp˜oem de mecanismos capazes de adaptar esta configurac¸˜ao inicial em func¸˜ao das caracter´ısticas da rede onde est˜ao inseri- dos o que poder´a resultar num desperd´ıcio dos recursos dos n´os ou na reduc¸˜ao da taxa de entrega. No entanto, ao n˜ao manterem estado, estes algoritmos n˜ao requerem o envio de mensagens de controlo peri´odicas (por forma a actualizar esse estado), n˜ao impondo um tr´afego adicional na rede. Outra vantagem da ausˆencia de estado ´e a maior adaptac¸˜ao, por parte dos algoritmos, a cen´arios em que os n´os apresentem movimento.

Os algoritmos cientes do contexto, devido `a utilizac¸˜ao de informac¸˜ao proveniente do ambiente onde est˜ao inseridos na sua tomada de decis˜ao e `a necessidade de manter estado, s˜ao mais complexos. Por´em, devido a esta maior complexidade, conseguem obter um me- lhor desempenho poupando assim os recursos dos n´os como, por exemplo, a bateria. No entanto, a actualizac¸˜ao do estado, em alguns algoritmos ´e efectuada `a custa de mensa- gens peri´odicas, que acarretam um custo adicional e, al´em disto, o estado pode estar, em alguns casos, inconsistente o que poder´a diminuir o desempenho dos algoritmos. Estas desvantagens s˜ao mais acentuadas em cen´arios em que os n´os apresentem movimento.

De entre os algoritmos cientes de contexto, os que se baseiam unicamente no tr´afego de dados para decidir se retransmitem uma mensagem, esperam um intervalo de tempo aleat´orio de modo a recolher informac¸˜ao necess´aria para tomarem essa decis˜ao. Por´em, devido ao tempo de espera ser aleat´orio, a eficiˆencia dos algoritmos pode diminuir caso os n´os retransmissores se encontrem muito pr´oximos uns dos outros, diminuindo assim a utilidade da retransmiss˜ao.

Os algoritmos que utilizam o n´umero de vizinhos ajustam a sua probabilidade de retransmiss˜ao consoante este valor. No entanto, estes algoritmo podem apresentar um

Cap´ıtulo 2. Difus˜ao em redes n˜ao infraestruturadas 14

Tabela 2.1: Algoritmos de difus˜ao

Algoritmo

N˜ao Ciente Contexto Ciente

N´umero vizinhos Tr´afego Dados Distˆancia Localizac¸˜ao absoluta Localizac¸˜ao Relativa Dependˆencias Contexto Inundac¸˜ao √ Probabilista √ GOSSIP1 √ GOSSIP2 √ GOSSIP3 √ Smart Gossip √ Pampa √ √ Six-shot √ BPS √ [18] √ LAB √ [21] √ ProbA √ DCB √ √

problema de cobertura. Isto ´e, dois n´os muito pr´oximos poder˜ao retransmitir a mensagem cobrindo, no pior dos casos, os mesmo n´os, levando a um desperd´ıcio de recursos.

Os algoritmos que utilizam as dependˆencias entre os v´arios n´os tentam identificar n´os cr´ıticos na propagac¸˜ao das mensagens por forma a tentar maximizar a taxa de entrega. No entanto, em alguns destes algoritmos as dependˆencias entre os v´arios n´os variam conso- ante a origem da mensagem recebida, o que ir´a afectar a probabilidade de retransmiss˜ao dos n´os.

Os algoritmos que utilizam a distˆancia dos vizinhos para seleccionar aqueles que ir˜ao retransmitir as mensagens tˆem como objectivo aumentar a eficiˆencia das retransmiss˜oes, ou seja, maximizar a ´area coberta pela nova retransmiss˜ao relativamente `a retransmiss˜ao anterior. No entanto, existem casos em que os n´os mais distantes podem n˜ao ser os mais indicados para retransmitir uma mensagem. Estes cen´arios surgem quando existe um n´o cr´ıtico para a propagac¸˜ao da mensagem que n˜ao seja o mais distante.

Os algoritmos que utilizam a localizac¸˜ao geogr´afica para obter os pr´oximos retrans- missores s˜ao os mais promissores uma vez que conseguem obter uma melhor gest˜ao dos recursos dispon´ıveis e uma cobertura ´optima da rede. No entanto, estas aproximac¸˜oes necessitam que os n´os disponham de um servic¸o de localizac¸˜ao geogr´afica, o que limita a aplicabilidade dos algoritmos. Seria de todo o interesse desenvolver um algoritmo que apresentasse as mesmas vantagens n˜ao sendo dependente de um sistema de posiciona- mento global.

Cap´ıtulo 3

Digest Exchange Broadcast Algorithm

Neste cap´ıtulo ´e apresentado o algoritmo de difus˜ao desenvolvido, intitulado Digest Ex- change Broadcast Algorithm (DEBA), bem como as escolhas tomadas no seu desenvolvi- mento e suas justificac¸˜oes.

Inicialmente, o DEBA ´e apresentado de uma forma mais abstracta, descrevendo-se o seu modo de funcionamento e as estruturas de dados necess´arias, e posteriormente ser´a descrito de forma mais concreta, referindo-se os detalhes de implementac¸˜ao.

O DEBA tem como objectivo beneficiar das vantagens apresentadas pelos algoritmos

cientes do contexto dependentes da localizac¸˜ao geogr´afica mas sem recorrer a um servic¸o de posicionamento global. Para tal, os n´os no DEBA trocam ciclicamente informac¸˜ao que permite estimar a proximidade entre os seus vizinhos. O DEBA tenta reduzir o n´umero de retransmiss˜oes redundantes, ou seja, o n´umero de retransmiss˜oes que cobrem os mesmos n´os que retransmiss˜oes anteriores, visto que para cobrir uma dada regi˜ao bastaria apenas a um dos n´os, presentes nessa regi˜ao, retransmitir a mensagem.

Por forma a estimar as proximidades entre os v´arios n´os, cada n´o cont´em um identi- ficador local, gerado de forma descentralizada, que ser´a posteriormente enviado aos seus vizinhos directos (ou seja, aos n´os que se encontram dentro do seu raio de transmiss˜ao) atrav´es de mensagens de sinalizac¸˜ao peri´odicas. Quando um n´o recebe um identificador de um vizinho, este ir´a agreg´a-lo com o seu pr´oprio identificador, passando a propagar o resultado desta agregac¸˜ao. Assim, o identificador de cada n´o ir´a partilhar parte da informac¸˜ao agregada com os identificadores dos seus vizinhos, mas n˜ao a totalidade uma vez que os n´os ter˜ao vizinhos diferentes entre si. As noc¸˜oes de proximidade s˜ao obtidas atrav´es da comparac¸˜ao dos v´arios identificadores.

Por forma a ilustrar estes conceitos, a Fig. 3.1 representa uma rede composta por quatro n´os dos quais o n´o A, B e D mantˆem conectividade entre si, e o n´o C apenas mant´em conectividade com o n´o B. Os valores junto dos n´os A, D e C correspondem `a agregac¸˜ao do identificador do n´o com o identificador dos seus vizinhos directos. O n´o B ao receber e comparar a informac¸˜ao dos seus vizinhos ir´a assumir que os n´os A e D s˜ao

Cap´ıtulo 3. Digest Exchange Broadcast Algorithm 16

C

A

B

D

[A, B, D]

[A, B, D]

[B, C]

Figura 3.1: Exemplo da configurac¸˜ao de uma rede

vizinhos entre si, uma vez que apresentam identificadores iguais. No caso do n´o C, dado que este apresenta um identificador diferente de A e de D, B ir´a assumir que C se encontra numa localizac¸˜ao distinta.

3.1

Estruturas de dados

O algoritmo desenvolvido ´e totalmente descentralizado e assume que cada n´o n cont´em

um identificador ´unico (En) que pode ser, por exemplo, o seu enderec¸o de rede ou MAC.

Adicionalmente, cada n´o n, mant´em ainda as seguintes estruturas de dados.

Vector Local O vector local de um n´o n (V Ln) (que corresponde ao identificador local

na secc¸˜ao anterior) ´e um conjunto de k inteiros seleccionados aleatoriamente do inter-

valo [0, maxI]. O algoritmo ´e ortogonal ao mecanismo utilizado para a gerac¸˜ao de V Ln,

requerendo apenas que a probabilidade de dois quaisquer n´os seleccionarem o mesmo conjunto seja baixa. Um gerador de n´umeros aleat´orios ou uma sequˆencia de operac¸˜oes

de dispers˜ao (hash) aplicadas a Ens˜ao exemplos de func¸˜oes que podem ser utilizadas.

Vector de Vizinhanc¸a Um vector de vizinhanc¸a de um n´o n (V Vn) ´e a uni˜ao dos ele-

mentos de V Lncom os elementos dos vectores locais de todos os seus vizinhos directos.

No ˆambito do vector de vizinhanc¸a, n˜ao ´e feita qualquer associac¸˜ao entre os seus elemen- tos e o n´o que contribuiu com esses elementos para o vector. De notar que o vector de vizinhanc¸a n˜ao ´e imut´avel, sendo refrescado com a aprendizagem dos vectores locais dos seus vizinhos. Contudo, numa rede onde os dispositivos n˜ao se movem, os vectores de vizinhanc¸a estabilizam ap´os algumas iterac¸˜oes.

Tabela de Vizinhanc¸a A Tabela de Vizinhanc¸a (T Vn) de um n´o n ´e uma associac¸˜ao

entre cada vizinho v a um salto de n e o vector de vizinhanc¸a anunciado por v. A tabela

Cap´ıtulo 3. Digest Exchange Broadcast Algorithm 17

apenas na uni˜ao de todos os elementos de T Vn. Por outro, oferece ao n´o uma estimativa da

proximidade dos seus vizinhos, pela comparac¸˜ao dos elementos em comum nos vectores de vizinhanc¸a de cada um dos seus vizinhos.

De modo a ilustrar os conceitos anteriores, a Fig. 3.2 apresenta a mesma rede da Fig. 3.1 mas utilizando as estruturas de dados apresentadas. As estruturas V L, V V e T V junto a cada n´o apresentam os valores ap´os a estabilizac¸˜ao do algoritmo. Por clareza da

apresentac¸˜ao, os membros de V Vn que pertencem simultaneamente a V Ln est˜ao assina-

lados com um asterisco (*).

TVb =

[

VLb = {3,4} VVb = {1, 2, *3, *4, 5, 6, 7, 8} d, {1, 2, 3, 4, *7, *8} c, {3, 4, *5, *6} b, {3, 4} a, {*1, *2, 3, 4, 7, 8} VLc = {5,6} VVc = {3, 4, *5, *6} c, {5, 6} TVc =

]

b, {1, 2, *3, *4, 5, 6, 7, 8} a, {1, 2} TVa = d, {1, 2, 3, 4, *7, *8} VLa = {1,2} VVa = {*1, *2, 3, 4, 7, 8}

[

]

b, {1, 2, *3, *4, 5, 6, 7, 8}

[

]

a, {*1, *2, 3, 4, 7, 8} b, {1, 2, *3, *4, 5, 6, 7, 8} VLd = {7,8} VVd = {1, 2, 3, 4, *7, *8} d, {7, 8}

[

TVd = A B C D

]

Figura 3.2: Estruturas de dados utilizadas pelo algoritmo DEBA

Tal como explicado para a Fig. 3.1, pode observar-se que V VA = V VD o que sugere

ao n´o B que A e D se encontram pr´oximos. Analogamente, T VB mostra uma clara

diferenc¸a entre estes vectores e V VC, o que sugere que os primeiros n˜ao se encontram

no raio de transmiss˜ao do ´ultimo. Por sua vez, os n´os A e D, podem aperceber-se da sua proximidade e da diferenc¸a do vector de vizinhanc¸a de B, por este ´ultimo conter os

elementos em V LC, o que n˜ao acontece com V VAe V VD.