• Nenhum resultado encontrado

Comunicações e redes entre drones aquáticos

N/A
N/A
Protected

Academic year: 2021

Share "Comunicações e redes entre drones aquáticos"

Copied!
123
0
0

Texto

(1)

Universidade de Aveiro Departamento deElectr´onica, Telecomunica¸c˜oes e Inform´atica, 2017

(2)
(3)

Universidade de Aveiro Departamento deElectr´onica, Telecomunica¸c˜oes e Inform´atica, 2017

Deolinda Rosa Moura

Comunica¸

oes e Redes entre Drones Aqu´

aticos

Disserta¸c˜ao apresentada `a Universidade de Aveiro para cumprimento dos requisitos necess´arios `a obten¸c˜ao do grau de Mestre em Engenharia Eletr´ o-nica e Telecomuo-nica¸c˜oes, realizada sob a orienta¸c˜ao cient´ıfica da Professora Doutora Susana Sargento, Professora Associada com Agrega¸c˜ao do Depar-tamento de Eletr´onica, Telecomunica¸c˜oes e Inform´atica da Universidade de Aveiro e co-orienta¸c˜ao cient´ıfica do Doutor Lucas Guardalben, Investigador do Instituto de Telecomunica¸c˜oes de Aveiro.

(4)
(5)

o j´uri / the jury

presidente / president Professor Doutor Andr´e Ventura da Cruz Marnoto Z´uquete

Professor Auxiliar, Departamento de Electr´onica, Telecomunica¸c˜oes e Inform´atica da Universidade de Aveiro

vogais / examiners committee Professora Doutora Ana Cristina Costa Aguiar

Professora Auxiliar, Departamento de Engenharia Electrot´ecnica e de Computado-res da Faculdade de Engenharia da Universidade do Porto (Arguente)

Professora Doutora Susana Isabel Barreto de Miranda Sargento Professora Associada com Agrega¸c˜ao, Departamento de Electr´onica, Telecomuni-ca¸c˜oes e Inform´atica da Universidade de Aveiro (Orientadora)

(6)
(7)

agradecimentos A entrega desta disserta¸c˜ao simboliza mais uma meta cumprida na minha vida, e ´e com enorme satisfa¸c˜ao que aqui deixo agradecimentos a todos os que, directa ou indirectamente, contribu´ıram para a realiza¸c˜ao deste traba-lho e me apoiaram ao longo do meu percurso acad´emico.

Em primeiro lugar, quero agradecer aos meus Av´os e Irm˜a por todo o apoio, motiva¸c˜ao e paciˆencia que tiveram comigo ao longo destes ´ultimos anos nada f´aceis, cheios de altos e baixos. Sem vocˆes eu n˜ao teria chegado at´e aqui, n˜ao seria o que sou hoje e todo este percurso n˜ao teria passado de uma mera utopia. Um Grande Obrigada! Quero agradecer tamb´em aos meus Primos e Tios que sempre acreditaram em mim e me motivaram a ir mais al´em. Muito Obrigada!

Quero agradecer `a Manuela Fernandes, que ´e a prova de que as amizades de infˆancia perduram, n˜ao morrendo a adversidades da vida. Consegues estar presente para me dar for¸ca sempre que ´e preciso, nem a distˆancia te impede. Muito Obrigada! Agrade¸co tamb´em `a Carolina Martins por toda a compreens˜ao, apoio, for¸ca e amizade demonstrada tanto nos bons como nos maus momentos. Sem d´uvida, outra amizade para a vida, Muito Obrigada! Quero agradecer ao R´uben Oliveira, ao Andr´e Barros, ao Tiago Almeida e ao Diogo Silva por toda a amizade que demonstraram desde os primeiros dias da minha existˆencia nesta Universidade. Obrigada por me aturarem tanto tempo e espero que continuem!

Quero agradecer `a Daniela Louren¸co e `a Am´elia Ramos por permitirem eu ser a Patroa de praxe babada que sou hoje! Obrigada meninas por sempre acreditarem e me motivarem a dar o melhor de mim! S˜ao as maiores vocˆes! Quero agradecer ao Jos´e Silva por todo o amor, apoio e motiva¸c˜ao demons-trado ao longo deste percurso a dois, que nem sempre foi f´acil. Obrigada por tudo!

Quero agradecer a todo o grupo de investiga¸c˜ao do NAP pela boa disposi-¸c˜ao e pelo bom ambiente de trabalho que proporcionaram. Quero destacar o Carlos Ferreira pela importante ajuda no in´ıcio deste trabalho pois sem ele o “Cross Compile” teria sido um “bicho de sete cabe¸cas”. Quero agrade-cer tamb´em `a “fila do fundo”, R´uben, Carolina e Rodrigo Almeida pela boa disposi¸c˜ao e dias bem passados no Laborat´orio de Redes. Obrigada! Quero agradecer ao grupo de investiga¸c˜ao BioMachines Lab do ISCTE por toda a ajuda, hospitalidade e boa disposi¸c˜ao demonstrada nas minhas esta-dias pela Capital! Obrigada!

Agrade¸co `a Professora Doutora Susana Sargento e ao Doutor Lucas Guar-dalben por me terem sugerido este tema e por toda a orienta¸c˜ao e apoio dados durante o desenvolvimento deste trabalho. Obrigada pela experiˆ en-cia!

Para terminar, quero fazer um agradecimento especial `as pessoas que por ironia do destino aparecem nos momentos mais dif´ıceis e que conseguem arrancar me um sorriso, quando eu mesma pensava que j´a n˜ao era poss´ıvel!

(8)
(9)

“- Why do we fall sir?

- So we can learn to pick ourselves up” by Alfred in Batman Begins

(10)
(11)

Resumo Os drones tˆem-se tornado cada vez mais comuns no dia-a-dia da nossa so-ciedade uma vez que podem ser utilizados para in´umeras aplica¸c˜oes. Dado que a maior parte da superf´ıcie do planeta Terra ´e coberta por ´agua, os dro-nes aqu´aticos podem-se revelar grandes aliados na monitoriza¸c˜ao do meio aqu´atico. Para tal ´e necess´ario um n´umero elevado de drones em constante comunica¸c˜ao, para assim se poderem auto-organizar de acordo com as suas miss˜oes, sendo tamb´em importante que as informa¸c˜oes recolhidas pelos seus sensores cheguem a esta¸c˜oes fixas em terra.

Esta disserta¸c˜ao prop˜oe um mecanismo que determina e avalia a qualidade da liga¸c˜ao entre os drones com base na for¸ca de sinal, na estabilidade da liga¸c˜ao e na sua largura de banda. Esta qualidade da liga¸c˜ao pode ser usada como um parˆametro relevante no sistema de controlo dos drones, para que estes se consigam organizar de forma a manterem uma rede de boa quali-dade. Como esperado, verifica-se que a qualidade da liga¸c˜ao decresce com a distˆancia entre drones, tendo sido poss´ıvel comunica¸c˜ao em ´agua a uma distˆancia m´axima de 110 metros com a tecnologia Wi-Fi.

Este mecanismo de avalia¸c˜ao da qualidade de liga¸c˜ao entre drones ´e pos-teriormente integrado no processo de encaminhamento numa DTN, para o transporte de informa¸c˜ao de sensores de forma eficiente dentro de um cluster de drones. Para o efeito s˜ao propostas trˆes estrat´egias de encami-nhamento: 1 - Encaminhamento atrav´es do primeiro contacto de vizinho recebido; 2 - Encaminhamento atrav´es do contacto com melhor Qualidade; e 3 - Encaminhamento atrav´es do contacto com melhor Qualidade para a Gateway. De forma a avaliar o desempenho das estrat´egias propostas foram efectuados testes em dois cen´arios, um onde os drones se encontram em posi¸c˜oes fixas e outro onde existem drones m´oveis. A estrat´egia de encami-nhamento que considera o contacto com melhor Qualidade para a Gateway ´

(12)
(13)

Abstract Drones have become increasingly commonplace in our daily basis since they can be used for numerous applications. Most of the Earth surface is covered by water, and therefore, aquatic drones can become great assets in aquatic environment monitoring tasks. Thus, we need to guarantee a per-sistent communication among a high number of drones required to assure the drones’ self-control, according to their tasks, as well as to make sure that sensors data can reach the fixed gateway placed ashore.

This dissertation proposes a mechanism to calculate and assess the link qua-lity between drones based on the signal strength, stabiqua-lity of the connection and its bandwidth. This link quality can be used as a relevant parameter to the drones control system, for them to be able to maintain a good quality network by self-organizing. The link quality is therefore used as an input parameter of the drones control system, to maintain the connectivity of the entire cluster. Real scenario results have shown that it is possible to maintain an acceptable level of communication in water up to a maximum distance of 110 meters with the Wi-Fi technology.

This quality evaluation mechanism is integrated in the routing process of a DTN for an efficient transport data information inside the cluster. In this approach, three routing strategies are proposed: 1 - Routing through the first contact received by the neighbour; 2 - Routing through the best Quality contact; 3 - Routing through the best Quality contact to the Gateway. To evaluate the performance of the proposed routing strategies, two distinct scenarios were adopted, with and without movement, and the results have shown that strategy “Best Quality Contact to the Gateway” presents the best results, in both scenarios, when compared to other routing strategies.

(14)
(15)

Conte´

udo

Conte´udo i

Lista de Figuras v

Lista de Tabelas ix

Lista de Equa¸c˜oes xi

Lista de Acr´onimos xiii

1 Introdu¸c˜ao 1

1.1 Contexto e Motiva¸c˜ao . . . 1

1.2 Objectivos e Contribui¸c˜oes . . . 2

1.3 Organiza¸c˜ao da Disserta¸c˜ao . . . 3

2 Estado da Arte 5 2.1 Descri¸c˜ao do Cap´ıtulo . . . 5

2.2 Drones . . . 5

2.2.1 Drones Aqu´aticos . . . 6

2.3 Redes Tolerantes a Atrasos . . . 8

2.3.1 Defini¸c˜ao . . . 8

2.3.2 Arquitectura . . . 9

2.3.3 Implementa¸c˜oes . . . 10

2.3.3.1 DTN2 . . . 10

2.3.3.2 IBR-DTN . . . 11

2.3.3.3 mobile Opportunistic enVironmEnt (mOVE) . . . 13

2.3.3.4 Compara¸c˜ao entre as diferentes implementa¸c˜oes de DTN . . . 18

2.4 Protocolos de Encaminhamento . . . 19

2.4.1 Epidemic . . . 19

2.4.2 Spray and Wait . . . 20

2.4.3 PRoPHET . . . 21

2.4.4 MaxProp . . . 22

2.4.5 RAPID . . . 23

2.4.6 Compara¸c˜ao entre os diferentes protocolos de encaminhamento . . . 23

(16)

3 Comunica¸c˜oes entre Drones Aqu´aticos 25

3.1 Descri¸c˜ao do Cap´ıtulo . . . 25

3.2 Problema . . . 25

3.3 Qualidade da Liga¸c˜ao . . . 26

3.4 Estrat´egias de encaminhamento da informa¸c˜ao . . . 28

3.4.1 Primeiro Contacto . . . 29

3.4.2 Contacto com melhor Qualidade . . . 29

3.4.3 Contacto com melhor Qualidade para a Gateway . . . 30

3.5 Arquitectura do Drone . . . 31

3.5.1 M´odulo Drone Quality Connection (DQC) . . . 32

3.5.1.1 Inicializa¸c˜ao . . . 32

3.5.1.2 Gestor de Vizinhos . . . 33

3.5.1.3 Eventos Peri´odicos . . . 33

3.5.1.4 Listening Socket . . . 34

3.5.1.5 Leitura do Signal Strength Intensity (SSI) . . . 34

3.5.1.6 Leitura da Largura de Banda Dispon´ıvel . . . 35

3.5.1.7 IPC Socket - Comunica¸c˜ao com o mOVE . . . 35

3.5.2 Comunica¸c˜ao com o M´odulo de Controlo do Drone . . . 36

3.6 Considera¸c˜oes do Cap´ıtulo . . . 38

4 Integra¸c˜ao e Implementa¸c˜ao 39 4.1 Descri¸c˜ao do Cap´ıtulo . . . 39

4.2 Modifica¸c˜oes Gerais . . . 39

4.2.1 Biblioteca de Suporte do mOVE e Cabe¸calho do Pacote . . . 39

4.2.2 M´odulo RX . . . 41

4.2.3 M´odulo Neighboring . . . 41

4.2.4 M´odulo Logging . . . 41

4.3 Descri¸c˜ao do M´odulo de Routing . . . 42

4.4 Implementa¸c˜ao das estrat´egias de encaminhamento propostas . . . 43

4.4.1 Primeiro Contacto . . . 45

4.4.2 Contacto com melhor Qualidade . . . 45

4.4.3 Contacto com melhor Qualidade para a Gateway . . . 48

4.4.4 Processo para evitar ciclos . . . 52

4.5 Considera¸c˜oes do Cap´ıtulo . . . 54

5 Resultados 55 5.1 Descri¸c˜ao do Cap´ıtulo . . . 55

5.2 Software e Equipamento . . . 55

5.3 M´etricas de Avalia¸c˜ao . . . 55

5.3.1 M´etricas do DQC . . . 56

5.3.2 M´etricas das estrat´egias de encaminhamento . . . 56

5.3.3 M´etricas da carga computacional . . . 57

5.4 Avalia¸c˜ao do DQC . . . 57

5.4.1 Cen´ario e considera¸c˜oes . . . 57

5.4.2 Resultados . . . 58

5.5 Avalia¸c˜ao das estrat´egias de encaminhamento . . . 63

(17)

5.5.2 Primeiro cen´ario . . . 64

5.5.2.1 Resultados . . . 64

5.5.3 Segundo cen´ario . . . 73

5.5.3.1 Resultados . . . 73

5.6 Considera¸c˜oes do Cap´ıtulo . . . 78

6 Conclus˜oes e Trabalho Futuro 81 6.1 Conclus˜oes . . . 81

6.2 Trabalho Futuro . . . 82

Bibliografia 83

(18)
(19)

Lista de Figuras

1.1 Distribui¸c˜ao dos drones por clusters . . . 1

2.1 Ziphius . . . 7

2.2 iBubble . . . 7

2.3 Seis drones aqu´aticos . . . 8

2.4 Bundle Forwarder Architecture . . . 9

2.5 Mecanismo de SCF . . . 10

2.6 Compara¸c˜ao entre o protocolo da Internet (esquerda) com o protocolo da DTN (direita) . . . 10

2.7 Arquitectura do DTN2 . . . 11

2.8 Arquitectura do IBR-DTN . . . 11

2.9 Arquitectura do mOVE . . . 14

2.10 Classes do m´odulo Neighboring . . . 15

2.11 Organiza¸c˜ao da Storage . . . 16

2.12 Classes do m´odulo Routing . . . 16

2.13 Exemplo de configura¸c˜ao do mOVE . . . 18

2.14 Fluxograma operacional do mOVE . . . 18

2.15 Exemplo do protocolo Epidemic . . . 20

2.16 Exemplo de mensagens trocadas no protocolo Epidemic . . . 20

2.17 Exemplo do protocolo Spray and Wait . . . 21

2.18 Exemplo do protocolo PRoPHET . . . 23

3.1 Cen´ario de monitoriza¸c˜ao do mar com drones aqu´aticos . . . 26

3.2 Exemplo da estrat´egia: Contacto com melhor Qualidade . . . 30

3.3 Exemplo da estrat´egia: Contacto com melhor Qualidade para a Gateway . . . . 31

3.4 Arquitectura do drone . . . 31

3.5 Fluxograma da Inicializa¸c˜ao do m´odulo DQC . . . 33

3.6 Estrutura dos pacotes trocados entre o DQC . . . 34

3.7 Estrutura dos pacotes enviados pelo cliente DQC . . . 35

3.8 Estrutura dos pacotes enviados pelo servidor (mOVE) . . . 35

3.9 Processo de desenvolvimento do controlador h´ıbrido para cada tarefa . . . 36

3.10 Drone Remote Console . . . 37

3.11 Estrutura dos pacotes de controlo . . . 38

4.1 Arquitectura do mOVE e cabe¸calho do pacote modificados . . . 40

4.2 Fluxograma da recep¸c˜ao de um pacote de acknowledgment . . . 44

(20)

4.4 Fluxogramada da actualiza¸c˜ao e envio de um pacote de dados para um vizinho 47 4.5 Fluxograma da decis˜ao de envio de um pacote de dados para a estrat´egia:

primeiro vizinho . . . 47

4.6 Fluxograma da decis˜ao de envio de um pacote de dados para a estrat´egia: vizinho com melhor qualidade . . . 48

4.7 Estrutura do pacote de advertisement . . . 49

4.8 Fluxograma da decis˜ao de envio dos pacotes de advertisements . . . 50

4.9 Fluxograma da recep¸c˜ao dos pacotes de advertisements . . . 51

4.10 Fluxograma da decis˜ao de envio de um pacote de dados para a estrat´egia: vizinho com melhor qualidade para a gateway . . . 53

4.11 Preven¸c˜ao de ciclos a um salto . . . 54

4.12 Preven¸c˜ao de ciclos a dois saltos . . . 54

4.13 Preven¸c˜ao de ciclos a v´arios saltos . . . 54

5.1 Drone Aqu´atico . . . 56

5.2 Cen´ario no Parque das Na¸c˜oes em Lisboa . . . 58

5.3 SSI medido entre os drones . . . 59

5.4 SSI normalizado entre os drones . . . 59

5.5 Estabilidade medida entre os drones . . . 60

5.6 Estabilidade normalizado entre os drones . . . 60

5.7 Largura de Banda Dispon´ıvel (Ab) medida entre os Drones . . . 60

5.8 Largura de Banda Efectiva (Ce) medida entre os drones . . . 61

5.9 Largura de Banda Dispon´ıvel normalizado entre os drones . . . 61

5.10 Qualidade da liga¸c˜ao entre os Drones . . . 61

5.11 Percentagem de utiliza¸c˜ao do CPU (`a esquerda: Drone 1, `a direita: Drone 2) . 62 5.12 M´edia da Carga (`a esquerda: Drone 1, `a direita: Drone 2) . . . 62

5.13 Primeiro cen´ario: N´os fixos . . . 64

5.14 Primeiro cen´ario - Teste 1: Percentagem de pacotes entregues `a gateway - Taxa de entrega . . . 65

5.15 Primeiro cen´ario - Teste 2: Percentagem de pacotes entregues `a gateway - Taxa de entrega . . . 66

5.16 Primeiro cen´ario - Teste 1: N´umero de pacotes transmitidos por n´o . . . 66

5.17 Primeiro cen´ario - Teste 2: N´umero de pacotes transmitidos por n´o . . . 67

5.18 Primeiro cen´ario - Teste 1: N´umero de pacotes recebidos por n´o . . . 67

5.19 Primeiro cen´ario - Teste 2: N´umero de pacotes recebidos por n´o . . . 67

5.20 Primeiro cen´ario - Teste 1: N´umero de pacotes na tabela noData por n´o . . . . 68

5.21 Primeiro cen´ario - Teste 2: N´umero de pacotes na tabela noData por n´o . . . . 68

5.22 Primeiro cen´ario - Teste 1: N´umero de pacotes de acknowledgments por n´o . . 68

5.23 Primeiro cen´ario - Teste 2: N´umero de pacotes de acknowledgments por n´o . . 69

5.24 Primeiro cen´ario - Teste 1: N´umero de pacotes ouvidos por n´o . . . 69

5.25 Primeiro cen´ario - Teste 2: N´umero de pacotes ouvidos por n´o . . . 69

5.26 Primeiro cen´ario - Teste 1: N´umero de pacotes repetidos por n´o . . . 70

5.27 Primeiro cen´ario - Teste 2: N´umero de pacotes repetidos por n´o . . . 70

5.28 Primeiro cen´ario - Teste 1: N´umero de pacotes de advertisements por n´o . . . 71

5.29 Primeiro cen´ario - Teste 2: N´umero de pacotes de advertisements por n´o . . . 71

5.30 Segundo cen´ario: Mobilidade . . . 73

(21)

5.32 Segundo cen´ario: Percentagem de pacotes entregues `a gateway - Taxa de entrega 74 5.33 Segundo cen´ario: Percentagem de pacotes entregues `a gateway - Taxa de

en-trega (com intervalos de confian¸ca) . . . 75

5.34 Segundo cen´ario: N´umero de pacotes transmitidos por n´o . . . 75

5.35 Segundo cen´ario: N´umero de pacotes recebidos por n´o . . . 76

5.36 Segundo cen´ario: N´umero de pacotes na tabela noData por n´o . . . 76

5.37 Segundo cen´ario: N´umero de pacotes de acknowledgments por n´o . . . 77

5.38 Segundo cen´ario: N´umero de pacotes ouvidos por n´o . . . 77

5.39 Segundo cen´ario: N´umero de pacotes repetidos por n´o . . . 78

5.40 Segundo cen´ario: N´umero de pacotes de advertisements por n´o . . . 78

A.1 N´umero de pacotes na tabela Expiry - Primeiro cen´ario, Teste 1 . . . 89

A.2 N´umero de pacotes na tabela onHold - Primeiro cen´ario, Teste 1 . . . 90

A.3 N´umero de pacotes na tabela noData - Primeiro cen´ario, Teste 1 . . . 90

A.4 N´umero de pacotes na tabela Own - Primeiro cen´ario, Teste 1 . . . 91

A.5 N´umero de pacotes na tabela Expiry - Primeiro cen´ario, Teste 2 . . . 91

A.6 N´umero de pacotes na tabela onHold - Primeiro cen´ario, Teste 2 . . . 92

A.7 N´umero de pacotes na tabela noData - Primeiro cen´ario, Teste 2 . . . 92

A.8 N´umero de pacotes na tabela Own - Primeiro cen´ario, Teste 2 . . . 93

A.9 N´umero de pacotes na tabela Expiry - Segundo cen´ario . . . 93

A.10 N´umero de pacotes na tabela onHold - Segundo cen´ario . . . 94

A.11 N´umero de pacotes na tabela noData - Segundo cen´ario . . . 94

(22)
(23)

Lista de Tabelas

4.1 Tabela de encaminhamento - Contacto com melhor Qualidade para a Gateway 49 5.1 Periodicidade de envio dos pacotes para o m´odulo de controlo (cPacket) e da

leitura das larguras de banda (wBest) para cada experiˆencia . . . 58 5.2 Pacotes armazenados inicialmente em cada n´o . . . 63 5.3 Primeiro cen´ario - Teste 1: Tamanho dos pacotes de dados, de

acknowledg-ments e de advertiseacknowledg-ments . . . 72 5.4 Primeiro cen´ario - Teste 2: Tamanho dos pacotes de dados, de

acknowledg-ments e de advertiseacknowledg-ments . . . 72 5.5 Segundo cen´ario: Tamanho dos pacotes de dados, de acknowledgments e de

(24)
(25)

Lista de Equa¸

oes

2.1 PRoPHET: Encontro directo . . . 21 2.2 PRoPHET: Diminui¸c˜ao ao longo do tempo . . . 22 2.3 PRoPHET: Propriedade transitiva . . . 22 3.1 Potˆencia do sinal em decibel miliwatts (dBm) . . . 27 3.2 Fun¸c˜ao da estabilidade entre um n´o A e um n´o B . . . 27 3.3 Fun¸c˜ao da Largura de Banda Dispon´ıvel entre um n´o A e um n´o B . . . 27 3.4 Fun¸c˜ao da qualidade entre um n´o A e um n´o B . . . 28 4.1 Fun¸c˜ao da qualidade de um n´o A at´e `a Gateway . . . 50 5.1 Utiliza¸c˜ao de CPU . . . 57

(26)
(27)

Lista de Acr´

onimos

API Application Programming Interface ARM Advanced RISC Machine

CLA Convergence Layer Adapter CPU Central Processing Unit CSV Comma-Separated Values dBm decibel miliwatts

DQC Drone Quality Connection DTN Delay Tolerant Network EID Endpoint Identifier

EUA Estados Unidos da Am´erica GPS Global Positioning System HTTP HyperText Transfer Protocol

IEEE Institute of Electrical and Electronics Engineers

IP Internet Protocol

IPC Inter Process Communication JSON JavaScript Object Notation

LoRa Long Range

MAC Medium Access Control MATLAB MATrix LABoratory

mOVE mobile Opportunistic enVironmEnt NAP Network Architectures and Protocols NTP Network Time Protocol

(28)

OSI Open Systems Interconnection

PRoPHET Probabilistic Routing Protocol using History of Encounters and Transitivity

RAM Random Access Memory

RAPID Resource Allocation Protocol for Intentional DTN RFC Request for Comments

RSU Road Side Unit

SBC Single Board Computer SCF Store-Carry-and-Forward

SN Sequence Number

SSI Signal Strength Intensity

SV Summary Vector

TCP Transmission Control Protocol UAV Unmanned Aerial Vehicles UDP User Datagram Protocol VANET Vehicular Ad-hoc NETwork

WAVE Wireless Access in Vehicular Environments WBest Wireless Bandwidth Estimation Tool Wi-Fi Wireless Fidelity

(29)

Cap´ıtulo 1

Introdu¸

ao

1.1

Contexto e Motiva¸

ao

A oceanografia ´e uma ´area que merece alguma aten¸c˜ao visto que mais de 70% da superf´ıcie do planeta Terra ´e coberta por oceanos e que em grande parte est´a inexplorada [1], existindo uma grande quantidade de recursos naturais a serem descobertos. Pensando no caso de Portugal, o mar representa um dos seus principais recursos.

Figura 1.1: Distribui¸c˜ao dos drones por clusters

Novas formas de explorar os recursos e as oportunidades mar´ıtimas s˜ao de particular interesse, sobretudo se considerarmos que alguns dos m´etodos usados actualmente colocam em risco a vida humana ou simplesmente s˜ao demasiado dispendiosas. Assim, os drones aqu´aticos tˆem vindo a ganhar bastante relevˆancia em determinadas tarefas e aplica¸c˜oes, tais como, a monitoriza¸c˜ao do meio aqu´atico, o patrulhamento das zonas costeiras, o aux´ılio em estudos de biologia marinha e aquecimento dos oceanos, entre outras. Estas tarefas exigem um n´umero elevado de drones, que devem estar em comunica¸c˜ao constante e partilhar entre eles informa¸c˜ao relevante (dados adquiridos dos sensores que se encontram a bordo dos

(30)

drones) para que um ou mais a possa fazer chegar a terra. Para garantir que nenhum drone fique isolado, ´e necess´ario que estes tenham capacidade de se auto-organizar, ou seja, de se reposicionarem tendo em conta a qualidade das liga¸c˜oes entre eles.

Pretende-se implementar e avaliar uma arquitectura de rede para drones aqu´aticos, o que por si s´o possui desafios importantes. Dada a sua mobilidade e as condi¸c˜oes do meio, h´a uma grande probabilidade de existir intermitˆencias nas comunica¸c˜oes. O facto de nem sempre existir comunica¸c˜ao com uma esta¸c˜ao base, leva a que os drones necessitem de, para al´em dos mecanismos de encaminhamento, incluir o armazenamento de informa¸c˜ao para posteriormente a enviarem para outros drones ou gateways de forma a chegar ao destino. Nesta disserta¸c˜ao apenas ser˜ao abordadas as comunica¸c˜oes Wireless Fidelity (Wi-Fi) dentro de um cluster, ou seja, a informa¸c˜ao dos sensores de cada drone ter´a de chegar a uma gateway de forma eficiente. Uma gateway ´e um drone com capacidade de comunicar tamb´em a longo alcance. Outro desafio prende-se com o facto de analisar como os drones se devem movimentar na ´agua para garantir constante comunica¸c˜ao, e atrav´es da qualidade da rede que eles formam, dar ordens para que eles se organizem e mudem de localiza¸c˜ao consoante as respectivas miss˜oes, no sentido de n˜ao deixar nenhum drone sem contacto. Assim, torna-se essencial garantir uma constante comunica¸c˜ao entre o mecanismo de controlo do drone e a rede.

Desta forma, a motiva¸c˜ao deste trabalho ´e melhorar a comunica¸c˜ao em cen´arios de drones aqu´aticos, oferecendo mais valor com menores custos, explorando a possibilidade de usar so-lu¸c˜oes de comunica¸c˜ao que possam ser aplicadas em dispositivos prontos a usar neste tipo de cen´arios. Como base de comunica¸c˜ao ser˜ao usadas Redes Tolerantes a Atrasos (Delay Tolerant Networks (DTNs)) porque s˜ao adequadas para trabalhar com fragmenta¸c˜oes da rede, devido aos seus mecanismos de tolerˆancia a atrasos (armazenamento, transporte e encaminhamento). Para lidar com as intermitˆencias nas comunica¸c˜oes, s˜ao propostas estrat´egias de encaminha-mento baseadas no pr´oximo salto e/ou na qualidade das liga¸c˜oes de forma a seleccionar os melhores caminhos para encaminhar as informa¸c˜oes dos drones.

1.2

Objectivos e Contribui¸

oes

O objectivo desta disserta¸c˜ao ´e o estudo de mecanismos para a comunica¸c˜ao entre os drones aqu´aticos e implementa¸c˜ao de estrat´egias de encaminhamento de informa¸c˜ao num cluster de drones. De seguida s˜ao apresentados os principais objectivos:

• Estudo, implementa¸c˜ao e avalia¸c˜ao em ambiente real de um mecanismo que calcula a qualidade da comunica¸c˜ao entre drones com base no Signal Strength Intensity (SSI), na estabilidade e na largura de banda dispon´ıvel, de forma a descobrir os limites de distˆancia que dois drones conseguem manter a comunica¸c˜ao.

• Fornecer informa¸c˜oes da rede, nomeadamente o valor da qualidade da liga¸c˜ao, ao sistema de controlo dos drones, para assim interligar o seu movimento n˜ao s´o com as suas tarefas, mas tamb´em com a manuten¸c˜ao da rede com uma boa qualidade e impedir que os drones saiam do alcance de comunica¸c˜ao.

• Implementa¸c˜ao e avalia¸c˜ao de estrat´egias de encaminhamento numa DTN para enca-minhar a informa¸c˜ao dos sensores integrados nos drones, de forma eficiente at´e uma gateway dentro do cluster.

(31)

1.3

Organiza¸

ao da Disserta¸

ao

A presente disserta¸c˜ao est´a organizada da seguinte forma:

• Cap´ıtulo 1 cont´em o contexto, motiva¸c˜ao e objectivos desta disserta¸c˜ao.

• Cap´ıtulo 2 exp˜oe o estado de arte dos drones aqu´aticos, redes tolerantes a atrasos e protocolos de encaminhamento.

• Cap´ıtulo 3 descreve o problema das comunica¸c˜oes entre drones aqu´aticos, o conceito de qualidade da liga¸c˜ao, as estrat´egias de encaminhamento e a arquitectura proposta para cada drone.

• Cap´ıtulo 4 descreve a implementa¸c˜ao e integra¸c˜ao da solu¸c˜ao implementada. • Cap´ıtulo 5 apresenta os resultados da avalia¸c˜ao da solu¸c˜ao implementada. • Cap´ıtulo 6 apresenta as conclus˜oes e trabalho futuro.

(32)
(33)

Cap´ıtulo 2

Estado da Arte

2.1

Descri¸

ao do Cap´ıtulo

Neste cap´ıtulo ser˜ao apresentados alguns cen´arios de aplica¸c˜ao, onde os drones poder˜ao desempenhar um papel importante, ser˜ao apresentados exemplos de drones aqu´aticos e ´e feita uma breve descri¸c˜ao dos drones aqu´aticos utilizados neste trabalho. De seguida ser´a apresentada a defini¸c˜ao e arquitectura das redes tolerantes a atrasos, sendo tamb´em apre-sentadas algumas implementa¸c˜oes j´a existentes, entre elas o mobile Opportunistic enViron-mEnt (mOVE), a DTN utilizada neste trabalho. Por fim, ser˜ao apresentados exemplos de protocolos de encaminhamento aplicados a DTNs.

2.2

Drones

Actualmente vivemos numa era onde a evolu¸c˜ao tecnol´ogica cresce exponencialmente e onde surgem conceitos novos diariamente. Uma das tecnologias mais emergentes e com maior impacto nos ´ultimos anos ´e a comercializa¸c˜ao de Unmanned Aerial Vehicles (UAV), mais conhecidos como drones [2] [3] [4] . Estes drones surgiram inicialmente para fins militares, nos anos noventa nos Estados Unidos da Am´erica (EUA) [5]; contudo ganharam notoriedade e j´a come¸cam a fazer parte do uso civil de forma bastante relevante. Este facto veio contribuir para in´umeras aplica¸c˜oes civis, devido a serem vistos como objectos ´uteis em in´umeras manobras que poderiam colocar em risco a vida de um ser humano, proporcionando assim benef´ıcios na realiza¸c˜ao de certas tarefas tanto a n´ıvel de dificuldade operacional como a n´ıvel monet´ario.

Existem v´arios cen´arios de aplica¸c˜oes civis [6] onde os drones poder˜ao desempenhar um papel importante:

Investiga¸c˜ao

• Pesquisa meteorol´ogica

• Acidentes nucleares - monitoriza¸c˜ao, medi¸c˜ao da contamina¸c˜ao • Erup¸c˜oes vulcˆanicas - an´alise de nuvens de cinzas

• Silvicultura - acompanhamento do crescimento das ´arvores • Monitoriza¸c˜ao de oceanos e mares

(34)

Aplica¸c˜oes de protec¸c˜ao civil

• Aplica¸c˜oes policiais para a seguran¸ca civil • Combate a incˆendios florestais

• Vigilˆancia das fronteiras e da costa

• Vigilˆancia de grandes eventos desportivos ou sociais com elevado risco de confrontos f´ısicos

• Monitoriza¸c˜ao de cat´astrofes naturais Inspec¸c˜oes industriais

• Inspec¸c˜oes de oleodutos ou gasodutos • Inspec¸c˜oes de turbinas e´olicas ou pontes

• Inspec¸c˜oes de linhas de energia ou postes de alta tens˜ao

Capta¸c˜ao de v´ıdeo e fotografia, permitindo o registo de imagem para v´arios tipos de finalidades

• Eventos sociais p´ublicos ou particulares • Controlo de fronteira

• Apoio a´ereo no combate a incˆendios florestais • Monitoriza¸c˜ao de esp´ecies mar´ıtimas

Em suma, existe um grande leque de tarefas de dif´ıcil execu¸c˜ao onde os drones se revelam ser uma ferramenta preciosa.

2.2.1 Drones Aqu´aticos

Nos ´ultimos anos tem surgido uma nova gera¸c˜ao de drones aqu´aticos.

O Ziphius1´e o primeiro prot´otipo portuguˆes capaz de navegar sobre lagos, mar ou piscinas, controlado directamente por um telem´ovel ou tablet (iOS ou Android). Este drone tem um alcance de comunica¸c˜ao com os utilizadores de aproximadamente 90 metros. Possuiu uma cˆamara HD inclin´avel que permite ver tanto acima como abaixo da superf´ıcie, e transporta a bordo um Raspberry Pi 2.

O iBubble 3 ´e um prot´otipo francˆes projectado para facilitar a vida dos mergulhadores, uma vez que consegue submergir capturando fotos e v´ıdeos de diversos ˆangulos de forma aut´ o-noma, o que permite que o mergulhador fique com as m˜aos livres para poder explorar o fundo do mar. Tudo o que for gravado pode ser reproduzido num telem´ovel ou tablet via Wi-Fi ou Bluetooth. O mergulhador possui ainda uma pulseira de controlo com algumas funciona-lidades: possibilidade de controlar manualmente os movimentos da cˆamara; iniciar/parar a grava¸c˜ao de v´ıdeos e a possibilidade de chamar o drone para perto do mergulhador.

1http://myziphius.com/ 2

https://www.raspberrypi.org/

(35)

Figura 2.1: Ziphius 1

Figura 2.2: iBubble 3

Existem muitos outros drones aqu´aticos, tais como, Aquabotix 4 e Trident 5, que tˆem diversas caracter´ısticas em comum com os primeiros. Para al´em de terem um custo bastante elevado, s˜ao mais direccionados para entretenimento e o seu software n˜ao ´e open source, apre-sentando tamb´em algumas limita¸c˜oes de comunica¸c˜ao, uma vez que n˜ao comunicam entre si e apenas comunicam com telem´oveis ou tablets, n˜ao conseguindo agir de forma aut´onoma.

Os drones aqu´aticos tˆem sido estudados para um grande leque de aplica¸c˜oes: monito-riza¸c˜ao ambiental [7], geologia [8], arqueologia [9], hidrografia [10], defesa [11] e seguran¸ca mar´ıtima [12]. Nos ´ultimos anos foram realizados investimentos p´ublicos e privados impor-tantes na ´area dos drones aqu´aticos [13] [14]. O foco principal tem sido em sistemas de um ´

unico robˆo com um grau elevado de complexidade de hardware e software. Embora estes sistemas tenham sido aplicados a uma variedade de cen´arios e tenham provado ser comer-cialmente vi´aveis, tˆem custos elevados, limitados em termos das tarefas que podem realizar (por exemplo, monitoriza¸c˜ao de grandes ´areas) e requerem uma comunica¸c˜ao constante entre a esta¸c˜ao base e os drones.

4

http://www.aquabotix.com/

(36)

De forma a combater estas limita¸c˜oes, os autores de [15] [16] [17] prop˜oem um sistema de drones aqu´aticos de larga escala, compostos por drones simples, de baixo custo e com um controlo descentralizado, sendo capazes de tomar decis˜oes de forma aut´onoma nas mais diversas tarefas mar´ıtimas. A Figura 2.3 apresentada seis drones. Para a comunica¸c˜ao entre os drones ´e proposta a utiliza¸c˜ao de uma rede sem fios ad-hoc baseada em IEEE 802.11g (Wi-Fi) onde toda a informa¸c˜ao ´e enviada em broadcast, ou seja, n˜ao tem qualquer tipo de inteligˆencia. Foram tamb´em testadas em [18] outras tecnologias de comunica¸c˜ao de baixo alcance, XBee 6 e de longo alcance, LongRange(LoRa)T M 7, para futuramente ser implementada uma rede heterog´enea entre os drones. Um ponto importante que ser´a abordado neste trabalho ´e a comunica¸c˜ao entre a camada de rede e o controlo do drone, de forma a este poder tomar decis˜oes com base nas informa¸c˜oes da rede, o que ainda n˜ao acontece.

Figura 2.3: Seis drones aqu´aticos [17]

2.3

Redes Tolerantes a Atrasos

2.3.1 Defini¸c˜ao

Uma Rede Tolerante a Atrasos, denominada Delay Tolerant Network (DTN), ´e definida em [19] como sendo “a ´area das redes que aborda os desafios de redes intermitentes e sem uma conex˜ao end-to-end ”. Este tipo de rede foi criada principalmente para assegurar a comu-nica¸c˜ao em ambientes extremos, tais como comunica¸c˜oes espaciais ou interplanet´arias. Estes ambientes s˜ao caracterizados pela sua latˆencia elevada (que pode atingir horas ou mesmo dias) e taxas elevadas de erros.

Uma vez que este tipo de protocolo de rede foi desenvolvido tendo em conta esses am-bientes, as DTNs s˜ao muito mais flex´ıveis e podem-se adaptar a outros ambientes extremos, al´em do espa¸co. Ap´os a publica¸c˜ao do primeiro rascunho desta arquitectura [20], os autores pretenderam usar a arquitectura DTN nas redes sem fios da Terra.

6

https://www.digi.com/lp/xbee

(37)

2.3.2 Arquitectura

A arquitectura da DTN tem como objectivo adaptar-se `a interrup¸c˜ao da rede e tamb´em `a heterogeneidade dos protocolos subjacentes utilizados para fornecer funcionalidades de rede, como transporte e encaminhamento. De acordo com [21], a DTN usa camadas, encapsula-mento e armazenaencapsula-mento persistente para ligar partes heterog´eneas de uma rede.

Uma DTN pode usar protocolos diferentes para a entrega de dados (Transmission Control Protocol (TCP)/Internet Protocol (IP), Ethernet). Uma vez que cada protocolo tem as suas pr´oprias conven¸c˜oes e semˆanticas, a arquitectura da DTN inclui um m´odulo denominado de Convergence Layer Adapter (CLA), que ´e respons´avel por fornecer todas as fun¸c˜oes necess´arias para transportar os pacotes de dados da DTN (chamados bundles) para o respectivo protocolo. Como se pode observar na Figura 2.4, o elemento central da arquitectura da DTN ´e o Bundle Forwarder, que ´e respons´avel pelo encaminhamento de pacotes entre a storage, o CLA e as aplica¸c˜oes, dependendo das decis˜oes tomadas pelos algoritmos de encaminhamento.

Figura 2.4: Bundle Forwarder Architecture [21]

Para superar as quest˜oes associadas `a interrup¸c˜ao da rede, conectividade intermitente, atraso longo ou vari´avel, taxas de dados assim´etricas e taxas de erro altas, as DTNs usam um mecanismo chamado Store-Carry-and-Forward (SCF) (ilustrado na Figura 2.5). Este mecanismo permite receber dados, armazen´a-los e s´o os encaminhar´a quando a comunica¸c˜ao estiver dispon´ıvel.

Dependendo do tipo de rede onde as DTNs s˜ao usadas, a comunica¸c˜ao pode ficar indis-pon´ıvel para um n´o por um per´ıodo de tempo consider´avel (horas ou dias). Al´em disso, se existir uma interrup¸c˜ao na comunica¸c˜ao durante a transmiss˜ao de informa¸c˜ao, tal informa¸c˜ao deve ser armazenada no n´o remetente para posterior retransmiss˜ao. Como resultado, os n´os precisam de ser equipados com discos r´ıgidos para fins de armazenamento. Em conclus˜ao, o mecanismo SCF ´e a resposta `a conectividade intermitente.

Para incluir o mecanismo SCF na rede, a arquitectura da DTN adiciona uma nova camada entre as camadas de Aplica¸c˜ao e de Transporte. De acordo com [20], a camada do pacote

(38)

Figura 2.5: Mecanismo de SCF [22]

(Bundle) ´e respons´avel por aplicar o armazenamento persistente como uma contramedida `a conectividade intermitente, assim como o mecanismo SCF. A Figura 2.6 representa o modelo Open Systems Interconnection (OSI) integrando a camada de Bundle referida anteriormente.

Figura 2.6: Compara¸c˜ao entre o protocolo da Internet (esquerda) com o protocolo da DTN (direita) [22]

2.3.3 Implementa¸c˜oes

2.3.3.1 DTN2

O DTN2 [23] ´e a implementa¸c˜ao de referˆencia do Bundle Protocol [24] e seu principal ob-jectivo ´e fornecer uma estrutura de software flex´ıvel e robusto para experimenta¸c˜ao, extens˜ao e implanta¸c˜ao do mundo real. A arquitectura do DTN2 ´e apresentada na Figura 2.7 sendo os seus m´odulos descritos de seguida.

Bundle Router e Bundle Forwarder: O Bundle Router ´e respons´avel por tomar decis˜oes de encaminhamento (por exemplo, seleccionar uma rota). Ele toma as decis˜oes com base em eventos externos e passa um conjunto de instru¸c˜oes para o Bundle Forwarder que ´e respons´avel pela execu¸c˜ao das decis˜oes de encaminhamento.

Convergence Layers: As Convergence Layers permitem estabelecer uma conex˜ao entre n´os DTN e os protocolos de transporte, por exemplo TCP ou User Datagram Protocol (UDP). Permitem a convers˜ao de pacotes em fluxos de dados adequados capazes de serem transpor-tados por protocolos de transporte de um n´o para outro.

Persistent Storage: Este m´odulo ´e composto por duas bases de dados que s˜ao respon-s´aveis por armazenar o conte´udo dos pacotes durante a fase carry do mecanismo SCF.

Fragmentation Module: Este m´odulo ´e respons´avel pela fragmenta¸c˜ao e posterior re-constitui¸c˜ao de pacotes. Quando todos os fragmentos de um determinado pacote forem rece-bidos, este m´odulo sinaliza o Bundle Router.

(39)

Figura 2.7: Arquitectura do DTN2 [23]

Contact Manager: Este m´odulo ´e respons´avel por manter um registo actualizado sobre os links de comunica¸c˜ao dispon´ıveis com outros n´os. Essas informa¸c˜oes incluem dados hist´ ori-cos sobre sua conectividade e desempenho. Estas informa¸c˜oes s˜ao usadas pelo Bundle Router para tomar decis˜oes de encaminhamento.

2.3.3.2 IBR-DTN

O IBR-DTN [25] foi especialmente desenvolvido para sistemas embutidos e funciona em OpenWRT8, que ´e um sistema operativo baseado em Linux criado para correr em sistemas embutidos. A implementa¸c˜ao do IBR-DTN pretende ser o mais modular poss´ıvel e pretende minimizar os requisitos externos (por exemplo, bibliotecas), uma vez que estas dependˆencias externas nem sempre se encontram dispon´ıveis para determinadas plataformas ou o espa¸co de mem´oria dispon´ıvel n˜ao ser o suficiente para tais requisitos. A Figura 2.8 apresenta a arquitectura do IBR-DTN sendo os seus m´odulos descritos de seguida.

Figura 2.8: Arquitectura do IBR-DTN [25]

(40)

Event Switch

O Event Switch ´e o m´odulo principal do IBR-DTN sendo este m´odulo respons´avel por encaminhar um conjunto de eventos padr˜ao para todos os sub-m´odulos relevantes. Os eventos padr˜ao existem para lidar com o armazenamento e encaminhamento de pacotes, e com a comunica¸c˜ao entre os vizinhos.

Discovery Agent

O m´odulo Discovery Agent ´e respons´avel pela descoberta de n´os vizinhos, ou seja, gera eventos relacionados com a descoberta e o desaparecimento de vizinhos. Quando ´e detectado um novo vizinho, o m´odulo Base Router verifica se existe algum pacote para ser transferido para este vizinho, caso exista envia-o.

Connection Manager

O Connection Manager ´e o m´odulo respons´avel por gerir os protocolos de n´ıvel inferior usados pelo IBR-DTN para comunicar com outros n´os. Os protocolos de n´ıvel inferior usados para estabelecer uma conex˜ao entre n´os DTN s˜ao chamados de Convergence Layer Adapters, estando estes implementados como m´odulos na arquitectura do IBR-DTN. Assim, atrav´es destes m´odulos ´e poss´ıvel transferir pacotes entre n´os. O IBR-DTN possui quatro convergence layers:

• O TCPCL usa o mecanismo de handshake entre os diferentes n´os DTN e tem a capaci-dade de dividir os pacotes em fragmentos, sendo estes reconhecidos nos n´os receptores. • O UDPCL permite uma maneira simples de trocar pacotes utilizando o protocolo UDP.

O tamanho m´aximo dos pacotes ´e limitado pelo tamanho m´aximo dos pacotes UDP. • O HTTPCL ´e baseado no libcurl [26] e usa um servidor HyperText Transfer Protocol

(HTTP) para enviar e receber pacotes.

• O LowPANCL suporta o protocolo IEEE 802.15.4 MAC [27] e ´e tipicamente usado em redes de sensores.

Base Router

O Base Router ´e respons´avel por gerir os v´arios m´odulos de encaminhamento, podendo es-tes operar em simultˆaneo. Este m´odulo recebe atrav´es do Discovery Agent informa¸c˜oes sobre novos vizinhos e ´e informado sempre que chegam novos pacotes. Quando um m´odulo de enca-minhamento pretende enviar um pacote, este solicita ao Connection Manager a convergence layer mais adequada para o enviar. O IBR-DTN inclui v´arios m´odulos de encaminhamento:

• Static: Todas as rotas e caminhos s˜ao configurados no in´ıcio da execu¸c˜ao e ´e assumido que eles est˜ao sempre dispon´ıveis.

• Epidemic: Todos os n´os transmitem constantemente todas as mensagens para todos os n´os que encontra caso ainda n˜ao tenham as mensagens. Uma descri¸c˜ao mais completa deste protocolo de encaminhamento ´e apresentada na Sec¸c˜ao 2.4.1.

(41)

• Neighbor : Os pacotes s˜ao enviados para os vizinhos descobertos pelo Discovery Agent no momento da decis˜ao.

• Retransmission: Este m´odulo ´e respons´avel por erros de sinaliza¸c˜ao ocorridos durante a transmiss˜ao de um pacote. Quando ocorre um erro de transmiss˜ao, o pacote permanece armazenado para posterior retransmiss˜ao. Existem dois tipos de erros, permanentes e tempor´arios. Um pacote ´e retransmitido somente se o erro for tempor´ario.

• PRoPHET: Uma descri¸c˜ao mais completa do protocolo Probabilistic Routing Protocol using History of Encounters and Transitivity (PRoPHET) ´e apresentada na Sec¸c˜ao 2.4.3. Bundle Storage

O Bundle Storage ´e o m´odulo capaz de armazenar pacotes por longos per´ıodos de tempo. Este m´odulo oferece uma interface para armazenar e recuperar pacotes por diferentes crit´erios de pesquisa, por exemplo pelo ID do pacote. Existem trˆes tipos de armazenamento de pacotes: • Memory: Este tipo de mem´oria ´e um armazenamento vol´atil em que todos os pacotes s˜ao armazenados na Random Access Memory (RAM) e ´e o tipo de armazenamento padr˜ao no IBR-DTN. Um limite de tamanho m´aximo pode ser definido, tipicamente limitado pelo sistema operativo.

• File Based Storage: Neste caso os pacotes s˜ao armazenados persistentemente (por exem-plo, num disco r´ıgido) e permanecem armazenados mesmo se o dispositivo estiver des-ligado.

• SQLite: Esse tipo de armazenamento depende de uma base de dados SQLite 9 e pode ser ´util para os m´odulos de encaminhamento mais complexos.

Wall Clock

O Wall Clock estabelece um rel´ogio global para ser usado pelo IBR-DTN. Este m´odulo fornece um evento de tempo global que ´e enviado a todos os outros m´odulos atrav´es do Event Switch. Este evento ´e tamb´em usado por m´odulos simples para iniciar tarefas.

IBR-DTN API

O IBR-DTN fornece uma Application Programming Interface (API) baseada em sockets, a IBR-DTN API. A interface pode ser um TCP socket para estabelecer comunica¸c˜ao atrav´es de diferentes m´aquinas, ou um Unix Domain Socket, para ser usado localmente. O IBR-DTN fornece uma biblioteca para ser ligada a aplica¸c˜oes a fim de simplificar a cria¸c˜ao de pacotes. 2.3.3.3 mOVE

O mOVE ´e um software de DTN desenvolvido e implementado pelo grupo de investiga¸c˜ao Network Architectures and Protocols (NAP) 10. A linguagem de programa¸c˜ao utilizada foi C/C++ e o software foi projectado para ser modular e extens´ıvel. O mOVE suporta comunica-¸

c˜oes usando o padr˜ao de referˆencia IEEE 802.11p e protocolos Wireless Access in Vehicular Environments (WAVE), al´em da tecnologia Wi-Fi convencional, IEEE 802.11a/b/g.

9

https://www.sqlite.org/

(42)

Arquitectura

A Figura 2.9 apresenta uma vis˜ao geral da arquitectura do mOVE. Esta ´e composta por seis m´odulos: Neighboring, Socket, API Management, Storage, RX e Routing. Cada um deles ´e respons´avel por implementar e executar um conjunto de fun¸c˜oes necess´arias para o correcto funcionamento da DTN. Para executar as suas fun¸c˜oes, os m´odulos podem interagir entre si atrav´es de Inter Process Communication (IPC) sockets, e um n´o pode trocar pacotes com outros n´os usando o protocolo de transporte UDP.

De seguida, ´e feita uma breve descri¸c˜ao de cada m´odulo.

Figura 2.9: Arquitectura do mOVE, baseado em [28]

(43)

O m´odulo Socket ´e uma camada de abstrac¸c˜ao para enviar/receber pacotes de/para n´os vizinhos e gere o acesso a um UDP socket.

• M´odulo RX

O m´odulo RX possui uma thread interna que verifica constantemente se foi recebido algum pacote no UDP socket. Quando recebe um pacote, o m´odulo RX analisa-o e classifica-o de acordo com as suas flags, o Endpoint Identifier (EID) do destino e/ou o serviceID. Ap´os esta classifica¸c˜ao, o m´odulo encaminha os pacotes de an´uncios de vizinhos para o m´odulo Neighboring e os restantes para o m´odulo de Routing.

• M´odulo Neighboring

Este ´e o m´odulo respons´avel pela descoberta dos vizinhos de um n´o. Cada n´o envia pe-riodicamente um pacote de an´uncio de vizinho a anunciar a sua presen¸ca. Quando um n´o recebe um pacote de an´uncio de vizinho actualiza as suas tabelas internas com a in-forma¸c˜ao do novo vizinho: EID, IP, tipo (por exemplo WiFi) e o porto de comunica¸c˜ao.

´

E poss´ıvel operar com diferentes tipos de n´os vizinhos dependendo da interface de co-munica¸c˜ao utilizada, sendo que o mOVE suporta Wi-Fi, WAVE, interfaces de Ethernet e rotas est´aticas (Figura 2.10).

Figura 2.10: Classes do m´odulo Neighboring [28]

• M´odulo Storage

Este m´odulo ´e respons´avel pelo armazenamento de pacotes dos n´os, isto ´e, ´e respon-s´avel por manter os pacotes de dados juntamente com as informa¸c˜oes necess´arias para encaminh´a-los para um vizinho. De um modo geral, os m´etodos mais importantes en-volvem armazenar/retirar (push e pull ) um pacote na/da storage; verificar o EID de destino e obter uma c´opia do pacote (peek ), serviceID ou tempo de expira¸c˜ao; e remo-ver e consultar a existˆencia de um pacote espec´ıfico da storage. Este m´odulo tamb´em cont´em dois sub-m´odulos, StorageRAM e StorageDisk.

A StorageRAM implementa na mem´oria quatro tabelas de informa¸c˜oes para consultas r´apidas, sendo estas as seguintes:

– Tabela Expiry: Pacotes ordenados por tempo restante at´e a expira¸c˜ao. – Tabela onHold : Pacotes ordenados por tempo onHold.

– Tabela Own: Pacotes ordenados por service ID, n˜ao destinados a encaminhamento para outros n´os pois s˜ao destinados ao pr´oprio.

– Tabela noData: Pacotes ordenados por tempo de expira¸c˜ao, conhecidos na rede, mas nenhum dado ´e armazenado.

(44)

A StorageDisk tem v´arias fun¸c˜oes: gere o armazenamento de pacotes em disco, executa opera¸c˜oes de leitura e escrita para obter pacotes, e usa as tabelas da StorageRAM para optimizar o seu desempenho. A Figura 2.11 ilustra a organiza¸c˜ao deste m´odulo.

Figura 2.11: Organiza¸c˜ao da Storage [28]

• M´odulo de Routing

O m´odulo de Routing ´e respons´avel por decidir quais os pacotes que devem ser enviados, para qual vizinho e quando os deve enviar. O encaminhamento ´e feito de uma forma h´ıbrida, ou seja, por vizinho e pelo tipo do pacote. A primeira decis˜ao de encaminha-mento ´e baseada no tipo do pacote (dados ou controlo), sendo esta feita no m´odulo RX. Mas todo o processo seguinte depende do tipo do n´o, como se pode observar na Figura 2.12. Para enviar um pacote, o n´o deve verificar se tem vizinhos dispon´ıveis e seleccionar um (ou mais) para o enviar.

Os tipos de n´os existentes s˜ao: WiFi endpoint tipicamente sensores ou enpoints, servidor (Server ), Road Side Unit (RSU) e On Board Unit (OBU). Como estes tipos de n´os foram implementados tendo em conta uma rede veicular, neste trabalho ser˜ao implementados novos tipos de n´os para os cen´arios de drones aqu´aticos, descritos na Sec¸c˜ao 4.3.

Figura 2.12: Classes do m´odulo Routing [28]

• M´odulo API Management

Um n´o mOVE interage com aplica¸c˜oes externas atrav´es do m´odulo API Management. Este m´odulo usa UNIX sockets Datagram Communications para gerir mensagens de con-trolo e de dados entre o mOVE e as aplica¸c˜oes do mesmo (mOVE Apps). As mensagens IPC s˜ao usadas para separar as mensagens de controlo das mensagens de dados. Este m´odulo tem uma thread para tratar os pacotes das mOVE Apps atrav´es da API socket, e cria uma camada de abstrac¸c˜ao para enviar/receber pacotes para/da API. Al´em disso, gere o acesso das mOVE Apps ao mOVE (registo e cancelamento do registo). Tem ainda uma thread auxiliar respons´avel por recolher os pr´oprios pacotes do m´odulo Storage.

(45)

Existe um conjunto de mOVE Apps que j´a foram desenvolvidas e testadas, como mO-VEPing, mOVESend-String/mOVERecvString, mOVESendFile/mOVEInbox e mOVE-Monitor /mOVECollectmOVE-Monitor.

Estrutura dos pacotes

A camada de bundle ´e implementada sobre a camada de transporte, tal como ´e sugerido na especifica¸c˜ao de referˆencia de DTN, Request for Comments (RFC) 4838 [29]. No entanto, a implementa¸c˜ao do mOVE n˜ao segue estritamente a especifica¸c˜ao de referˆencia do protocolo de bundle descrito na RFC 5050 [24]. A principal diferen¸ca est´a relacionada com os pacotes, que neste caso s˜ao chamados mOVE Packets. Segue uma breve descri¸c˜ao da estrutura do pacote (ver Figura 2.9):

• Cabe¸calho do mOVE (mOVE Header ): – Vers˜ao do mOVE

– Tipo de servi¸co

– EIDs da origem (srcEID) e do destino (dstEID) – EID do vizinho anterior (prevEID)

– Hash (identificador ´unico para um pacote) – Data de expira¸c˜ao (tempo de cria¸c˜ao + vida ´util) – Tamanho da informa¸c˜ao ´util (dados)

– Tamanho das op¸c˜oes – Prioridade

– N´umero actual de vizinhos que receberam o pacote – Flags para identificar o tipo de pacotes

• Op¸c˜oes:

Este ´e um campo opcional, as op¸c˜oes podem ser adicionadas mais tarde (por exemplo, lista de vizinhos que j´a receberam o pacote)

• Payload :

Matriz de bytes com um m´aximo de 32 KB (se as op¸c˜oes foram adicionadas, o tamanho m´aximo deste campo diminuir´a)

Configura¸c˜ao

A configura¸c˜ao do mOVE ´e feita usando um ficheiro JavaScript Object Notation (JSON) 11 que ´e lido e analisado no in´ıcio da execu¸ao. Este ficheiro cont´em v´arias configura¸oes tais como a capacidade de armazenamento e o caminho, o EID do n´o, nome das interfaces de comunica¸c˜ao, a vers˜ao do routing, entre outras. Na Figura 2.13 encontra-se um exemplo de configura¸c˜ao.

Fluxograma operacional

(46)

Figura 2.13: Exemplo de configura¸c˜ao do mOVE

Como se pode observar na Figura 2.14 o mOVE ´e um software multi-thread composto por v´arios m´odulos a correrem simultaneamente. Antes de iniciar todas as threads de cada m´odulo, ´e analisado o ficheiro de configura¸c˜ao (Figura 2.13). Assim, `a medida que o ficheiro ´e lido, os m´odulos s˜ao criados e inicializados. Uma vez que todas as threads foram iniciadas, o mOVE ´e executado at´e que um sinal externo seja enviado.

Figura 2.14: Fluxograma operacional do mOVE [28]

2.3.3.4 Compara¸c˜ao entre as diferentes implementa¸c˜oes de DTN

Nesta sec¸c˜ao foram apresentadas algumas das implementa¸c˜oes de DTNs mais comuns. As primeiras implementa¸c˜oes apresentadas foram projectadas para serem usadas numa gama

(47)

ampla de dispositivos e plataformas, pelo que o seu uso n˜ao ´e optimizado para ambientes espec´ıficos como uma rede de drones aqu´aticos. De forma a superar esta caracter´ıstica e obter uma implementa¸c˜ao de DTN capaz de se ajustar `as necessidades de ambientes espec´ıficos, o grupo de investiga¸c˜ao NAP desenvolveu uma nova solu¸c˜ao chamada mOVE. O mOVE foi inicialmente projectado para redes veiculares, no entanto, como ´e uma implementa¸c˜ao inicial ´e poss´ıvel melhorar e optimiz´a-la para ambientes espec´ıficos de drones aqu´aticos, sendo por este motivo seleccionado para ser utilizado neste trabalho. O Cap´ıtulo 4 descreve as melhorias e modifica¸c˜oes necess´arias para o seu funcionamento na rede de drones aqu´aticos considerada.

2.4

Protocolos de Encaminhamento

O encaminhamento ´e o processo que escolhe o caminho para enviar informa¸c˜oes para um destino na rede. Tipicamente, a ideia ´e ter um algoritmo a correr nos n´os capaz de seleccionar o melhor caminho para o destino de cada n´o [30]. O melhor caminho pode ser definido por um conjunto de factores, tais como: o caminho mais curto para o destino, o caminho mais seguro, o caminho mais r´apido para entregar dados, etc. Existem muitos algoritmos de encaminhamento, alguns precisam de mais informa¸c˜oes sobre a rede para operar bem e outros precisam de menos, contudo nem todos os algoritmos s˜ao adequados para todos os tipos de rede. O foco principal desta sec¸c˜ao ser´a o encaminhamento em DTNs.

De seguida s˜ao descritos protocolos de encaminhamento aplicados a DTNs: Epidemic e Spray and Wait que foram estudados em ambientes de comunica¸c˜ao mar´ıtima por [31], PRoPHET, MaxProp e Resource Allocation Protocol for Intentional DTN (RAPID).

2.4.1 Epidemic

O Epidemic [32] ´e um protocolo de encaminhamento onde todos os n´os transmitem cons-tantemente todas as mensagens para todos os n´os que encontra caso ainda n˜ao tenham as mensagens. O principal objectivo ´e maximizar a taxa de entrega e minimizar o atraso end-to-end, considerando que os n´os da rede tˆem uma mem´oria infinita e o tempo de contacto entre n´os ´e longo o suficiente para a transmiss˜ao completa. Contudo, estas considera¸c˜oes n˜ao s˜ao necessariamente verdade pois os n´os continuam a enviar as mensagens mesmo quando j´a foram recebidas no destino. Assim, este processo consome muitos recursos ao longo da rede, sendo o principal a mem´oria.

A Figura 2.15 ilustra um exemplo do processo de encaminhamento do Epidemic. Os c´ırculos a lil´as representam os n´os m´oveis e os c´ırculos a picotado representam o alcance das suas comunica¸c˜oes Wi-Fi. Na Figura 2.15 (a), o n´o origem S pretende enviar uma mensagem para o destino D mas n˜ao existe nenhum caminho dispon´ıvel entre estes dois n´os. Assim, o n´o S vai enviar a mensagem para os vizinhos que est˜ao no seu alcance, C1 e C2. Mais tarde (Figura 2.15 (b)), verifica-se que os n´os C1 e C2 se moveram, estando o n´o C2 no alcance de comunica¸c˜ao do n´o C3 ´e enviada a mensagem para o n´o C3. Como o n´o C3 est´a no alcance de comunica¸c˜ao do n´o D, a mensagem ´e finalmente entregue ao destino.

O Epidemic implementa o mecanismo de Summary Vectors (SVs) para limitar o n´umero de mensagens transferidas. Um SV cont´em uma representa¸c˜ao compacta das mensagens armazenadas num certo n´o. Por exemplo, na Figura 2.16 o n´o A encontra o n´o B. O n´o A em vez de enviar as suas mensagens, vai enviar um SV que cont´em uma lista compacta das suas mensagens (1). O n´o B analisa o SV recebido e em resposta vai transmitir um vector de

(48)

Figura 2.15: Exemplo do protocolo Epidemic [32]

mensagens que n˜ao cont´em (2). Finalmente, o n´o A recebe este vector e transmite apenas as mensagens que faltam ao n´o B (3).

Figura 2.16: Exemplo de mensagens trocadas no protocolo Epidemic [32]

Uma vez que a maioria dos dispositivos tem recursos limitados e o Epidemic desperdi¸ca bastante mem´oria e largura de banda, pode ser aconselh´avel usar outras t´ecnicas de enca-minhamento. Contudo, em algumas circunstˆancias e cen´arios, esta pode ser a ´unica op¸c˜ao vi´avel para uma entrega bem sucedida dos dados.

2.4.2 Spray and Wait

O Spray and Wait [33] ´e um protocolo de encaminhamento simples mas eficiente, dese-nhado com o objectivo de aumentar a taxa de entrega limitando o n´umero de c´opias por mensagem permitidas na rede. O Spray and Wait consiste em duas fases: a fase spray e a fase wait.

Durante a fase spray, quando uma mensagem ´e gerada num n´o origem, este n´o ´e respon-s´avel por distribuir uma c´opia para L n´os distintos. Quando um n´o recebe uma c´opia, este come¸ca a fase wait, ou seja, o n´o mant´em a mensagem at´e encontrar directamente o destino e ser poss´ıvel envi´a-la. Este mecanismo gera L c´opias da mensagem, que ´e o m´aximo de c´opias permitidas na rede.

Por exemplo, na Figura 2.17 o n´o F encontra-se na fase spray uma vez que pretende enviar uma mensagem para o n´o D. Inicialmente, no instante t+t0o n´o F ´e respons´avel por distribuir

(49)

uma c´opia para 4 n´os distintos (L = 4). No instante t + t1 encontra o n´o X a quem envia uma c´opia, assim o n´o X come¸ca a fase wait e o n´o F fica com 3 c´opias para distribuir. Por fim, no instante t + t2 o processo repete-se para o n´o W, no entanto como o n´o X encontra o n´o destino D ir´a enviar-lhe a respectiva mensagem.

Figura 2.17: Exemplo do protocolo Spray and Wait, baseado em [34]

2.4.3 PRoPHET

O PRoPHET [35] [36] considera que a maioria dos n´os n˜ao se movimentam de uma forma completamente aleat´oria, isto ´e, existem padr˜oes previs´ıveis nos seus movimentos. Se um n´o visitou com frequˆencia um certo local, ´e prov´avel que ele visite esse local novamente. Esta informa¸c˜ao ´e utilizada para melhorar o desempenho do encaminhamento. Assim, o PRoPHET define uma m´etrica probabil´ıstica chamada delivery predictability, P(A,B) ∈ [0, 1], que indica a probabilidade de um determinado n´o A entregar uma mensagem a um outro n´o B.

O mecanismo do PRoPHET ´e bastante semelhante ao do Epidemic (Figura 2.16), isto ´e, quando dois n´os se encontram trocam entre si SVs que contˆem as informa¸c˜oes de delivery predictability armazenadas nos n´os. Essas informa¸c˜oes s˜ao usadas para actualizar o vector interno de delivery predictability. O summary vector ´e usado para decidir quais os pacotes que ser˜ao trocados entre os dois n´os com base na estrat´egia de encaminhamento usada. O c´alculo da delivery predictability ´e dividido em trˆes etapas:

• A primeira etapa consiste em actualizar a m´etrica delivery predictability sempre que ´e encontrado um n´o. Esta c´alculo ´e apresentado na Equa¸c˜ao 2.1, onde o Pinitcorresponde a uma constante inicial entre o intervalo [1, 0].

P(A,B)= P(A,B)old+ (1 − P(A,B)old) × Pinit (2.1)

• A segunda etapa ocorre quando dois n´os n˜ao se encontram durante algum tempo, o que significa que a probabilidade de trocarem mensagens entre eles vai diminuir. Assim, a

(50)

m´etrica delivery predictability deve diminuir como ´e mostrado na Equa¸c˜ao 2.2, onde γk ´

e a constante que permite reduzir a delivery predictability e k ´e o n´umero de unidades de tempo que passou desde a ´ultima vez que a m´etrica foi reduzida. A unidade de tempo deve ser definida de acordo com a aplica¸c˜ao e os atrasos esperados na rede.

P(A,B)= P(A,B)old× γk (2.2)

• A terceira etapa ´e relativa a uma propriedade transitiva que se baseia no seguinte: se um n´o A encontra frequentemente um n´o B e o n´o B encontra frequentemente um n´o C, provavelmente o n´o B ´e um bom n´o para encaminhar pacotes entre os n´os A e C. Na Equa¸c˜ao 2.3 pode-se observar o impacto da transitividade na m´etrica delivery predictability, onde β ∈ [0, 1] ´e a constante que controla esse impacto.

P(A,C)= P(A,C)old+ (1 − P(A,C)old) × P(A,B)× P(B,C)× β (2.3)

Para uma melhor compreens˜ao do mecanismo de encaminhamento do PRoPHET, a Fi-gura 2.18 apresenta um exemplo da propriedade transitiva na m´etrica delivery predictability e da opera¸c˜ao b´asica do PRoPHET. Na Figura 2.18 ´e ilustrado um cen´ario onde o n´o A cont´em um pacote cujo destino ´e o n´o D. Nas Figura 2.18 a) e b) s˜ao apresentadas para cada n´o a tabela de delivery predictability. Supondo que os n´os C e D se encontram com alguma frequˆencia, na Figura 2.18 a) isso implica que os valores de delivery predictability que tˆem um com o outro v˜ao ser altos. Supondo que o n´o C tamb´em encontra frequentemente o n´o B, os seus valores de delivery predictability tamb´em v˜ao ser elevados, como se pode ver na Figura 2.18 c). Assim, a propriedade transitiva vai aumentar o valor que o n´o B tem para o n´o D para um valor interm´edio. Finalmente, o n´o B encontra o n´o A que tem um pacote para o n´o D (Figura 2.18 c)). A Figura 2.18 d) mostra a troca dos SVs e as informa¸c˜oes de delivery predictability entre o n´o A e o n´o B. Ap´os o n´o A verificar que o n´o B n˜ao cont´em o pacote e que P(B,D) > P(A,D), ´e enviado o pacote do n´o A para o n´o B.

2.4.4 MaxProp

O MaxProp [38] ´e um protocolo baseado em flooding mas cai na categoria de protocolos baseados em replica¸c˜ao. Este protocolo utiliza v´arios mecanismos que trabalham em conjunto para aumentar a taxa de entrega e diminuir a latˆencia dos pacotes entregues no destino. O MaxProp ´e capaz de determinar quais os pacotes que devem ser transmitidos primeiro pois possui uma fila ordenada com base no destino de cada pacote. Assim s˜ao transmitidos os pacotes para outros n´os numa ordem espec´ıfica que tem em conta o n´umero de saltos e a probabilidade de entrega com base em encontros anteriores. Por exemplo, quando dois n´os se encontram, trocam entre si a probabilidade estimada desse encontro, e com base nesta informa¸c˜ao e no n´umero de saltos, o n´o pode ent˜ao calcular um caminho mais curto para o destino. Al´em disso, este protocolo informa os seus vizinhos para eliminar as c´opias dos pacotes entregues no destino atrav´es de acknowledgments enviados em broadcast para toda a rede.

(51)

Figura 2.18: Exemplo do protocolo PRoPHET [37]

2.4.5 RAPID

O RAPID [39] ´e um protocolo de encaminhamento baseado em replica¸c˜ao que permite optimizar uma m´etrica de encaminhamento especificada, como por exemplo a latˆencia de entrega do pior caso ou o n´umero de pacotes que s˜ao entregues dentro de um determinado prazo. Para conseguir isso ´e usada uma vari´avel aleat´oria para representar o encontro entre dois n´os e s˜ao propagadas mensagens atrav´es da rede com essa informa¸c˜ao. O envio dessas mensagens depende da sua utilidade marginal. A utilidade marginal ´e calculada usando uma fun¸c˜ao de utilidade que se baseia na rela¸c˜ao entre o tamanho da mensagem e o atraso m´ınimo da entrega no destino. Ap´os isto, apenas as mensagens com uma utilidade marginal positiva s˜ao replicadas na rede. Assim, tamb´em este protocolo ´e baseado em replica¸c˜ao onde a replica¸c˜ao ´e controlada pela utilidade marginal.

2.4.6 Compara¸c˜ao entre os diferentes protocolos de encaminhamento

Alguns protocolos abordados nesta sec¸c˜ao n˜ao tˆem conhecimento total da rede, tˆem con-sumos de recursos elevados e sobrecarregam a rede quando trocam informa¸c˜oes acerca da mesma. Quanto ao processo de encaminhamento estes protocolos adoptam estrat´egias basea-das em flooding e replica¸c˜ao, o que leva `a existˆencia de muitos pacotes redundantes na rede e a sobrecarga da mesma. Para combater a sobrecarga da rede e consumo de recursos elevados ´e proposta uma estrat´egia com base na qualidade das liga¸c˜oes (Sec¸c˜ao 3.4.3), que selecciona a informa¸c˜ao que ´e enviada nas tabelas de encaminhamento com base no destino (gateways). Al´em disso, apenas os n´os que n˜ao s˜ao gateways ir˜ao enviar essa informa¸c˜ao. Assim esta estra-t´egia tem um conhecimento mais abrangente da rede at´e `a gateway n˜ao se limitando apenas

(52)

ao conhecimento dos vizinhos que est˜ao a um salto. Uma vez que o mOVE se encontra numa fase inicial de implementa¸c˜ao para cen´arios de drones aqu´aticos, como referido anteriormente, torna-se poss´ıvel ter um conhecimento global de toda a implementa¸c˜ao existente. Por estes motivos consegue-se ter um maior controlo sobre as decis˜oes de envio e recep¸c˜ao dos pacotes na DTN caso sejam desenvolvidas estrat´egias na mesma.

2.5

Considera¸

oes do Cap´ıtulo

Neste cap´ıtulo foram apresentados cen´arios de aplica¸c˜oes dos drones e exemplos de drones aqu´aticos, onde se observa que existem aspectos a serem melhorados tanto a n´ıvel de software como hardware, assim como a n´ıvel da comunica¸c˜ao entre eles. De seguida, foram apresentadas as redes tolerantes a atrasos, o mOVE e exemplos de protocolos de encaminhamento aplicados a DTNs.

O pr´oximo cap´ıtulo apresenta o problema das comunica¸c˜oes sem fios (Wi-Fi) entre os drones aqu´aticos, o conceito de qualidade da liga¸c˜ao, e s˜ao propostas trˆes estrat´egias de encaminhamento implementadas no mOVE. Por fim ser´a apresentada a arquitectura proposta para cada drone.

(53)

Cap´ıtulo 3

Comunica¸

oes entre Drones

Aqu´

aticos

3.1

Descri¸

ao do Cap´ıtulo

Neste cap´ıtulo ser´a descrito o problema das comunica¸c˜oes sem fios (Wi-Fi) entre os drones aqu´aticos. De seguida ser´a apresentado um conceito de qualidade da liga¸c˜ao e propostas trˆes estrat´egias, implementadas numa DTN, para encaminhar a informa¸c˜ao de sensores num cluster de drones. Por fim ser´a apresentada a arquitectura de cada drone onde ser´a descrito o m´odulo Drone Quality Connection (DQC) e a respectiva integra¸c˜ao com a DTN e o m´odulo de controlo do drone.

3.2

Problema

A Figura 3.1 apresenta um exemplo de um cen´ario de monitoriza¸c˜ao do mar com drones aqu´aticos. Como se pode observar os drones s˜ao organizados por clusters comunicando entre si atrav´es da tecnologia Wi-Fi. Dentro de cada cluster existe um ou mais drones com capacidade de comunicar a longo alcance, designados por gateways. Cada gateway tem capacidade de comunicar por Wi-Fi dentro do cluster, utilizando por exemplo a tecnologia LoRa ou rede celular para comunica¸c˜ao com outros clusters ou esta¸c˜oes fixas em terra. Caso um drone sem capacidade de comunicar a longo alcance se afaste de um cluster, a liga¸c˜ao da comunica¸c˜ao fica fraca sendo necess´ario agir de forma a voltar para o alcance do cluster.

A comunica¸c˜ao entre drones tem uma importˆancia crucial para que a miss˜ao dentro de um cluster de drones seja bem sucedida (por exemplo, monitoriza¸c˜ao de uma certa ´area). Esta comunica¸c˜ao ´e importante para que, sempre que poss´ıvel, nenhum drone saia do alcance de, pelo menos, um outro drone (drone mais `a esquerda na Figura 3.1), e por sua vez, que a informa¸c˜ao recolhida pelos seus sensores circule dentro do cluster de forma eficiente at´e chegar a um drone com a capacidade de comunicar com um outro cluster (gateways na Figura 3.1) ou directamente com uma esta¸c˜ao fixa em terra, sendo este o objectivo primordial dos drones. Uma primeira abordagem para esta comunica¸c˜ao, implementada por [40], ´e a utiliza¸c˜ao de uma rede sem fios ad-hoc baseada em IEEE 802.11g (Wi-Fi). Todo o tipo de mensagens trocadas, controlo ou dados, ´e feita em broadcast. Nesta abordagem nenhum drone tem conhecimento do estado da rede enquanto est´a a executar as suas tarefas. Isto implica que, se um drone deixar de ter comunica¸c˜ao com os seus vizinhos, pode estar isolado, e ao se

(54)

Figura 3.1: Cen´ario de monitoriza¸c˜ao do mar com drones aqu´aticos

aperceber disso, pode j´a ser tarde e n˜ao conseguir voltar a entrar em contacto com outros drones do cluster (liga¸c˜ao vermelha na Figura 3.1). Para prevenir este tipo de situa¸c˜oes ´e proposto um mecanismo que calcula a qualidade das liga¸c˜oes (Sec¸c˜ao 3.3) entre um drone e os seus vizinhos e reporta esses valores periodicamente ao mecanismo de controlo do drone. Assim, o drone ´e alertado antecipadamente que se poder´a estar a afastar, tendo uma menor probabilidade de se perder.

O encaminhamento da informa¸c˜ao (dados de sensores, por exemplo temperatura da ´agua) na rede tamb´em n˜ao tem qualquer tipo de inteligˆencia e/ou mecanismos que tratem de dis-rup¸c˜oes e persistˆencia da informa¸c˜ao, ou seja, todos os drones enviam esta informa¸c˜ao em broadcast. Isto pode levar `a circula¸c˜ao de muito tr´afego na rede. Existe tamb´em a preo-cupa¸c˜ao das in´umeras reflex˜oes na ´agua e a consequente perda de informa¸c˜ao. De forma a optimizar este processo s˜ao propostas estrat´egias de encaminhamento (Sec¸c˜ao 3.4), imple-mentadas numa DTN, que consideram a informa¸c˜ao fornecida pelo mecanismo de c´alculo da qualidade da rede para identificar o melhor vizinho ao qual ser´a enviada a respectiva infor-ma¸c˜ao, reduzindo assim o tr´afego a circular na rede e a possibilidade de perda da informa¸c˜ao, assim como a perda de conectividade com a rede (liga¸c˜oes Wi-Fi na Figura 3.1).

3.3

Qualidade da Liga¸

ao

A qualidade da liga¸c˜ao, nesta disserta¸c˜ao, ´e definida como uma vari´avel adimensional, que tem como objectivo descrever a capacidade que a liga¸c˜ao entre dois n´os tem em trocar dados de forma eficiente em redes sem fios. Para medir a qualidade ´e necess´ario definir e usar m´etricas num´ericas, tendo estas uma rela¸c˜ao qualitativa com a qualidade das liga¸c˜oes. S˜ao consideradas trˆes m´etricas: o Signal Strength Intensity (SSI), a estabilidade da liga¸c˜ao e a largura de banda dispon´ıvel.

• O SSI ´e a diferen¸ca entre a potˆencia de sinal medida na antena receptora e uma dada referˆencia. Tem como unidade o dBm que se expressa pela potˆencia absoluta mediante uma rela¸c˜ao logar´ıtmica, isto ´e, define-se como o n´ıvel de potˆencia em decib´eis em

Imagem

Figura 3.1: Cen´ ario de monitoriza¸ c˜ ao do mar com drones aqu´ aticos
Figura 3.3: Exemplo da estrat´ egia: Contacto com melhor Qualidade para a Gateway
Figura 3.9: Processo de desenvolvimento do controlador h´ıbrido para cada tarefa [54]
Figura 4.2: Fluxograma da recep¸ c˜ ao de um pacote de acknowledgment
+7

Referências

Documentos relacionados

Entre os CPC’s emitidos pelo Comitê de Pronunciamentos Contábeis, destacamos o Pronunciamento Conceitual Básico (CPC 00), o qual institui a Estrutura Conceitual para Elaboração

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

LIMITES DEFINIDOS PELO CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO E ENVIADOS AO CONGRESSO NACIONAL PARA APROVAÇÃO..

Entrando para a segunda me- tade do encontro com outra di- nâmica, a equipa de Eugénio Bartolomeu mostrou-se mais consistente nas saídas para o contra-ataque, fazendo alguns golos

3 — Constituem objectivos prioritários das áreas de intervenção específica a realização de acções para a recu- peração dos habitats naturais e da paisagem, a manutenção

Implementar um plano de intervenção com vistas à redução da incidência da Diabetes mellitus descompensada na Unidade Básica de Saúde Vilas Reunidas tem uma grande

Este estudo foi realizado com o objetivo de avaliar o crescimento inicial de tilápias do Nilo (Oreochromis niloticus) da linhagen Chitralada (Tailandesa) e uma linhagem

Nos valores totais para o corpus percebe-se um bom desempenho da ferramenta OGMA, levando em consideração que aproximadamente 1/3 das palavras-chave atribuídas