• Nenhum resultado encontrado

DANIEL HENRIQUE JOPPI. Implementação do Protocolo de Roteamento AntHocNet no Network Simulator 2

N/A
N/A
Protected

Academic year: 2021

Share "DANIEL HENRIQUE JOPPI. Implementação do Protocolo de Roteamento AntHocNet no Network Simulator 2"

Copied!
102
0
0

Texto

(1)

Implementação do Protocolo de Roteamento

AntHocNet no Network Simulator 2

Joinville

2011

(2)

BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

DANIEL HENRIQUE JOPPI

IMPLEMENTAÇÃO DO PROTOCOLO DE ROTEAMENTO

ANTHOCNET

NO NETWORK SIMULATOR 2

Trabalho de conclusão de curso submetido à Universidade do Estado de Santa Catarina como parte dos requisitos para a obtenção do grau de Bacharel em Ciência da Computação

Orientador: Doutor, Claudio Cesar de Sá

Joinville

2011

(3)

IMPLEMENTAÇÃO DO PROTOCOLO DE ROTEAMENTO

ANTHOCNET

NO NETWORK SIMULATOR 2

Este Trabalho de Conclusão de Curso foi julgado adequado para a obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Ciência da Computação Integral do CCT/UDESC.

Banca Examinadora:

Orientador:

Doutor, Claudio Cesar de Sá

Membro:

Doutor, Rafael Rodrigues Obelheiro

Membro:

Doutor, Cristiano Damiani Vasconcellos

(4)

À minha mãe.

Aos meus familiares e amigos. Àqueles que lutam por um mundo melhor.

(5)

Aos professores do Departamento de Ciência da Computação pelos seus ensi-namentos, em especial aos professores Claudio Cesar de Sá, Rafael Rodrigues Obelheiro e Roberto Silvio Ubertino Rosso Junior, pelos muitos “puxões de orelha”, pois sem eles não teria concretizado o trabalho.

Aos meus pais, Nelson Luiz Joppi e Lucia Anita Zancanella Joppi, pelo grande incen-tivo na realização deste trabalho.

Ao Bahia (Danilo Gonçalves da Cruz), Bolha (Fernando de Souza Rebelo), Cabelo (Cristian Rossi), Carioca (Fábio Merciris Dutra Thuller), Cavalo (Alessandro Hoss), Ci-cero (CiCi-cero Gazola), Geladeira (Pedro Roman), Germano (Estevan Eduardo Diedrich), Joelho (Reinaldo Besen), Jogador (Rafael Ledoux Rosa), Julhote (Júlio César Zambonin), Lesko (Silvio Antônio Teston), Pepê (Pedro Lyra de Toledo e Gazel), Piraberaba (Fábio Haertel Kochhann), Sabugo (Fernando Garcia), Tchê (Éverton Da Silva Amorim), Ve-lhão (Marcelo Preis Ferreira), Xunda (Tacio Basso) e demais Rangos Compatriotas pela confiança depositada nessa grande caminhada de realizações e conquistas.

(6)

zendo, isto não seria chamado de pes-quisa, seria?

- Albert Einstein

O único modo de evitar os erros é ad-quirindo experiência. Contudo, a única maneira de adquirir experiência é come-tendo erros.

(7)

Neste trabalho será apresentada a implementação do protocolo de roteamento AntHocNet para redes móveis ad hoc (MANET - Mobile Ad hoc NETwork ) no simulador de rede Network Simulator 2 (NS-2), pois atualmente não existe uma implementação válida para este protocolo, neste simulador. Com isso, o trabalho reforça o uso da Inteligência de Enxames (SI - Swarm Inteligence) em roteamento de redes. O projeto foi validado ao comparar os resultados obtidos entre o AntHocNet e AODV no NS-2, utilizando as mes-mas métricas e cenários aplicados por Di Caro (Di Caro, Ducatelle e Gamberdella 2005), ao usar simulador QualNet.

PALAVRAS-CHAVE: AntHocNet, AODV, Inteligência de Enxames, Rede Móvel Ad Hoc, NS-2, Simulação

(8)

This work will present the implementation of the routing protocol AntHocNet for Mobile Ad Hoc Networks (MANET) in the network simulator Network Simulator 2 (NS-2), be-cause currently there isn’t a valid implementation for this protocol, this simulator. With that, the work reinforces the use of Swarm Intelligence (SI) in routing networks. The project was validated by comparing the results between the AntHocNet and AODV in NS-2, using the same metrics and scenarios applied by Di Caro (Di Caro, Ducatelle and Gamberdella 2005), using QualNet simulator.

KEYWORDS: AntHocNet, AODV, MANET, Mobile Ad Hoc Networks, NS-2, Simulation, Swarm Intelligence

(9)

2.1 Mobilidade dos nós na MANET . . . 10

2.2 Descoberta de rota do AODV na MANET, onde o nó N6 deseja iniciar uma comunicação com o nó N1 . . . 17

3.1 Trilha de Feromônio entre a Colônia e a Fonte de Alimento . . . 22

3.2 Trilhas de feromônio entre o nó origem N1 e o nó destino N8. . . 32

3.3 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 1, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede (Di Caro, Ducatelle e Gamberdella 2005). . . 35

3.4 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 2, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede(Di Caro, Ducatelle e Gamberdella 2005). . . 36

3.5 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 3, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede (Di Caro, Ducatelle e Gamberdella 2005). . . 37

4.1 Configuração da Máquina Virtual. . . 40

4.2 Interfaces implementadas pelo AntHocNet para interagir com o NS-2. . . . 42

4.3 Diagrama da hierarquia das classes de formigas. . . 48

4.4 Classe PheromoneTable gerencia as tabelas de feromônio. . . 50

4.5 Diagrama de classe de PheromoneTable. . . 51

4.6 Trilhas de feromônio gerenciadas pelo formigueiro. . . 53

4.7 Algorítimo de atualização de feromônio. . . 54

(10)

4.10 Algorítimo de recebimento de pacotes. . . 58

5.1 Movimento dos nós n, representados por vetores ~n. . . 64

6.1 Emissão de formiga proativa por broadcast nos 2 primeiros saltos. . . 71

6.2 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre o Atraso Médio Fim-a-Fim. . . 73

6.3 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre a Taxa de Pacotes Entregues. . . 73

6.4 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre o Overhead de Roteamento. . . 74

6.5 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre o Atraso Médio Fim-a-Fim. . . 75

6.6 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre a Taxa de Pacotes Entregues. . . 76

6.7 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre o Overhead de Roteamento. . . 76

6.8 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre o Atraso Médio Fim-a-Fim. . . 77

6.9 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre a Taxa de Pacotes Entregues. . . 78

6.10 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre o Overhead de Roteamento. . . 79

(11)

2.1 Tabela comparativa entre as classificações dos protocolos de roteamentos

para MANET (Przybysz e Júnior 2005). . . 14

2.2 Tabela de roteamento do nó N6, antes do deslocamento do nó N1. . . 17

2.3 Tabela de roteamento do nó N6, após o recebimento da RERR. . . 17

2.4 Nova tabela de roteamento do nó N6, após o deslocamento do nó N1. . . . 18

2.5 Nova tabela de roteamento do nó N7. . . 18

4.1 Tabela com as estruturas de dados do AntHocNet. . . 45

4.2 Tabela com as constantes globais disponibilizadas pela classe AntHocNetUtils. 46 4.3 Tabela metadados da classe AntBasicPacket. . . 47

4.4 Tabela metadados da classe AntBackPacket. . . 48

4.5 Tabela metadados da classe AntRepairPacket. . . 49

4.6 Tabela das estruturas de armazenagem da classe PheromoneTable. . . 50

4.7 Tabela das estruturas de dados da classe AntNest. . . 52

(12)

ACO Ant Colony Optimization

ANSI Ad Hoc Networking with Swarm Intelligence AODV Ad-hoc On demand Distance Vector

ARA Ant-Colony Based Routing Algorithm CBR Constant Bit Rate

DSDV Destination Sequenced Distance Vector DSR Dynamic Source Routing

IETF Internet Engineering Task Force MANET Mobile Ad-hoc NETwork

NS-2 Network Simulator 2 PRBA PRoactive Backward Ant PRFA PRoactive Forward Ants PSO Particle Swarm Optimization REBA REactive Backward Ant REFA REactive Forward Ant RERR Route ERRor

RRBA Route Repair Backward Ant RREP Route REPly

RREQ Route REQuest

RRFA Route Repair Forward Ant RWP Random Waypoint

SI Swarm Intelligence

TSP Traveling Salesman Problem VM Virtual Machine

(13)

SUMÁRIO

1 INTRODUÇÃO . . . 1 1.1 CONTRIBUIÇÃO DO TRABALHO . . . 3 1.2 OBJETIVO GERAL . . . 4 1.2.1 Objetivos Específicos . . . 4 1.3 ORGANIZAÇÃO DO TRABALHO . . . 5 1.3.1 Capítulo 1: Introdução . . . 5

1.3.2 Capítulo 2: Roteamento em Rede Ad Hoc . . . 5

1.3.3 Capítulo 3: Inteligência de Enxames . . . 5

1.3.4 Capítulo 4: Implementação da Proposta . . . 6

1.3.5 Capítulo 5: Modelagem dos Cenários . . . 6

1.3.6 Capítulo 6: Simulação do AntHocNet . . . 6

1.3.7 Capítulo 7: Conclusão . . . 6

2 ROTEAMENTO EM REDE AD HOC . . . 8

2.1 PROTOCOLOS . . . 11

2.1.1 Classificação . . . 12

2.1.1.1 Pró-ativo . . . 12

2.1.1.2 Reativo . . . 13

2.1.1.3 Híbrido . . . 14

2.1.2 AODV - Ad-hoc On demand Distance Vector . . . 15

2.2 CONSIDERAÇÕES DO CAPÍTULO . . . 18

3 INTELIGÊNCIA DE ENXAMES . . . 20

(14)

3.3 ACO APLICADO A ROTEAMENTO . . . 24

3.3.1 AntHocNet . . . 27

3.3.1.1 Componente Reativa . . . 28

3.3.1.2 Componente Pró-ativo . . . 30

3.3.1.3 Quebras de Conexão . . . 32

3.3.2 Comparativo entre AntHocNet e AODV . . . 33

3.4 CONSIDERAÇÕES DO CAPÍTULO . . . 38

4 IMPLEMENTAÇÃO DA PROPOSTA . . . 39

4.1 AMBIENTE DE DESENVOLVIMENTO . . . 39

4.2 NETWORK SIMULATOR 2 . . . 40

4.3 IMPLEMENTAÇÃO DO ANTHOCNET . . . 42

4.3.1 Estruturas de Dados do AntHocNet . . . 43

4.3.2 Classe AntHocNetUtils: constantes globais . . . 45

4.3.3 Classe AntBasicPacket : formiga . . . 46

4.3.4 Classe PheromoneTable: tabela de feromônio . . . 49

4.3.5 Classe AntNest : formigueiro . . . 52

4.3.6 Classe AntHocNet : protocolo . . . 56

4.4 CONSIDERAÇÕES DO CAPÍTULO . . . 59

5 MODELAGEM DOS CENÁRIOS . . . 61

5.1 CRIAÇÃO AUTOMATIZADA DE TCL . . . 62

5.2 CENÁRIO 1: AUMENTO DO TEMPO DE PARADA DOS NÓS . . . 63

5.3 CENÁRIO 2: AUMENTO DE NÓS . . . 65

5.4 CENÁRIO 3: AUMENTO DA ÁREA . . . 67

5.5 CONSIDERAÇÕES DO CAPÍTULO . . . 68

(15)

6.1 IMPLICAÇÕES NA IMPLEMENTAÇÃO . . . 70

6.2 SIMULAÇÃO E VALIDAÇÃO . . . 71

6.2.1 Resultado da Simulação no Cenário 1 . . . 72

6.2.2 Resultado da Simulação no Cenário 2 . . . 74

6.2.3 Resultado da Simulação no Cenário 3 . . . 77

6.3 CONSIDERAÇÕES DO CAPÍTULO . . . 79

7 CONCLUSÃO . . . 80

(16)

1 Introdução

A facilidade de encontrar informações nos dias de hoje, se deve ao grande desenvolvimento das redes de comunicação. Isto é, a troca de informações onde antes seria praticamente impossível, devido às dificuldades de acesso ou mesmo pela complexidade do terreno. Tendo como exemplo um desastre natural ou uma guerra onde facilmente superadas ao se transmitir dados via rede wireless ou rede sem fio (Harte 2004). Esse tipo de rede, diferencia-se a grosso modo, das redes guiadas convencionais, pela simples troca da trans-missão de dados física, via cabos, por uma transtrans-missão de dados utilizando ondas de rádio.

Essa mudança, ao se utilizar transmissões de dados sem fio possibilita uma grande flexibilidade ao se montar uma rede, mas isso, segundo Johnson (Johnson e Maltz 1996), também proporcionou o surgimento de tipos mais específicos de redes wireless, isto é, de acordo com a sua topologia ela pode ser separada em redes wireless estruturadas e redes wireless não estruturadas.

A rede wireless não estruturada, ou rede móvel Ad Hoc (MANET - Mobile Ad hoc NETwork ), tema deste trabalho, é caracterizada por não precisar de nenhuma infraes-trutura, nem na fase de formação (Haas et al. 2002). Isto é, diferente da rede wireless estruturada, que necessita de pontos de acesso fixos ou de estação base para se poder iniciar uma transmissão de dados.

A MANET é formada por um conjunto de nós interligados, com liberdade de movi-mentação, sendo esta é a causa da constante alteração nas tabelas de roteamento de todo o conjunto (Haas et al. 2002). Assim sendo, a topologia das MANETs proporcionam um desafio para a determinação de rotas, devido à sua forma dinâmica, que pode mudar de maneira imprevisível, afetando as tabelas de roteamento de todo o conjunto.

Uma vez que um nó entre ou saia do conjunto da MANET, é gerada uma modificação nas rotas da rede. Essa mudança pode ter consequências significativas, no caso de um nó intermediário desligar-se do conjunto e causar uma quebra de comunicação, e, consequen-temente, gerar perdas de pacotes entre nós que dele dependem. Outra característica da MANET, é que o roteamento de pacotes é realizado em cada nó do conjunto.

(17)

A variação da topologia da MANET, a torna suscetível às quebras de conexões ne-cessitando que os protocolos de roteamento sejam capazes de se adaptar a esse ambi-ente dinâmico. Os protocolos de roteamento usados na MANET podem ser classificados em: Pró-ativos como o DSDV (Perkins e Bhagwat 1994), que exige que cada nó da rede possua rotas sempre atualizadas para os demais integrantes, o que pode causar uma sobrecarga devido a quantidade elevada de pacotes emitidos, sugerindo altas taxas de overhead. Em contrapartida, os protocolos classificados como Reativos, como por exem-plo o AODV (Perkins e Roye 1999) e DSR (Johnson e Maltz 1996), possibilitam uma re-dução no overhead ao restringir o envio de pacotes broadcast apenas quando houver a necessidade de buscar novos nós ou quando é detectada uma quebra de conexão.

Em muitos casos, a MANET necessita da participação de um terceiro nó, ou mais nós intermediários, para encaminhar dados de um ponto a outro na rede. Essa cooperação entre o conjunto de nós interligados da MANET se assemelha ao comportamento coletivo de alguns insetos como abelhas, formigas ou cupins. Isolados, são como agentes com capacidades limitadas de resolver seus problemas, mas quando agrupados, seja na intenção de buscar alimento ou para proteger a colônia, tais insetos, tendem a apresentar um comportamento coletivo inteligente (White, Pagurek e Oppache 1998). Essa observação do comportamento coletivo de certas espécies, possibilitou o desenvolvimento de pesquisas e estudos, inclusive na computação como o Swarm Intelligence (SI) (Beni e Wang 1989) ou Inteligência de Enxames que pode ser divido em duas ramificações:

• Particle Swarm Optimization (PSO) ou Otimização por Enxames de Partículas, desenvolvida por (Kennedy e Eberhart 2001), cuja heurística é inspirada na obser-vação da coreografia de animais, como a de pássaros voando em bando e de peixes nadando em cardumes;

• Ant Colony Optimization (ACO) ou Otimização por Colônias de Formigas, desen-volvido por (Dorigo e Stützle 2006), esta heurística é inspirada no comportamento da colônia de formigas em sua busca por alimento.

O ACO foi inicialmente utilizado para resolver problemas como do caixeiro viajante, mas hoje é possível encontrar várias aplicações, sendo uma delas no uso do descobri-mento de rotas numa rede ao aplicar o uso de agentes móveis (exemplo: formigas) e estigmergia (exemplo: feromônio). Estas propriedades, de acordo com Kassabalidis

(18)

(Kassabalidis et al. 2001), tornam o SI capaz de atender aos requisitos da MANET. Isto é, conseguem se adaptar muito bem à estrutura dinâmica que essa rede possui, usufruindo do sistema de comunicação indireta, no caso o feromônio, que pode ser utilizado para de-cidir uma rota adequada até o destino.

A escolha da rota é probabilística, geralmente o caminho que contém a maior quanti-dade de feromônio têm preferência, e é um método comum em protocolos de roteamento que se baseiam em ACO, tais como os protocolos: ARA (Gunes, Sorges e Bouazzi 2002),

AntHocNet (Ducatelle 2007), ANSI (Rajagopalan e Shen 2005) e o Termite (Roth e Wicker 2003).

Neste trabalho, é proposto uma implementação do protocolo de roteamento AntHoc-Net (Ducatelle 2007). Visto que em comparações feitas com o AODV, o AntHocAntHoc-Net se mostrou mais escalável ao apresentar melhores taxas na entrega de pacotes, atraso mé-dio de delay, num cenário onde a quantidade de nós variava conforme o tempo. Tendo sido testados e simulados no QualNet (QualNet 2011). A proposta é realizar as mesmas simulações, só que desta vez no Network Simulator 2 (NS-2) (NS-2 2011).

O NS-2 é um simulador de código fonte aberto e gratuito, além de ser muito utilizado nos meios acadêmicos. A validação é feita através da comparação dos protocolos AntHoc-Net e o AODV, após a simulação e análise dos resultados obtidos no NS-2. Os parâmetros para a avaliação seguem os mesmos modelos de cenários e métricas usadas por Di Caro (Di Caro, Ducatelle e Gamberdella 2005) no QualNet.

1.1 Contribuição do Trabalho

Dada a importância do protocolo de roteamento AntHocNet para MANET, e a análise dos seus experimentos no QualNet (QualNet 2011), um simulador comercial, neste traba-lho é apresentado a implementação do protocolo de roteamento AntHocNet no simulador de rede NS-2 (NS-2 2011).

O NS-2 é um simulador é livre e gratuito, além de estar difundido nos meios acadê-micos. Atualmente não exitei uma implementação válida para o protocolo de roteamento AntHocNet, em tal simulador. Esta implementação reforça o uso da SI em roteamento de

(19)

redes, possibilitando que novos estudos possam ser desenvolvidos a partir desse trabalho.

1.2 Objetivo Geral

O principal objetivo deste trabalho é implementar o protocolo de roteamento AntHoc-Net no simulador de rede NS-2. Sendo a validação feita ao realizar a comparação dos resultados obtidos entre o AntHocNet e o AODV no NS-2. A análise é realizada seguindo as mesmas configurações de cenários e métricas utilizadas nas simulações feitas por Di Caro no simulador QualNet 4.0.

1.2.1

Objetivos Específicos

Os objetivos específicos para a resolução deste trabalho envolvem o estudo dos conceitos que tratam sobe:

• Embasamento teórico sobre das MANET;

• Estudado do roteamento numa MANET, dando enfoque à análise do protocolo de roteamento AODV;

• Embasamento teórico sobre SI;

• Estudar SI para ambiente de roteamento para MANET, dando enfoque ao estudo do protocolo de roteamento AntHocNet ;

• Implementar o protocolo de roteamento AntHocNet no simulador de rede NS-2;

• Modelagem dos cenários a serem usados nas simulações no NS-2;

• Análise das métricas utilizadas no QualNet 4.0, a serem usadas no comparativo dos protocolos no NS-2.

• Executar as simulações dos cenários modelados no NS-2 para comparar os resultados entre os protocolos: AODV e AntHocNet ;

(20)

1.3 Organização do Trabalho

A formulação deste trabalho é dividida em sete capítulos. Dos quais as primeiras par-tes tratam dos levantamentos bibliográficos das definições da MANET e SI. Apresentando as características dos protocolos de roteamento AODV e AntHocNet.

O estudo das partes teóricas serve de base para o desenvolvimento das próximas partes, criando capítulos que descrevem a implementação do protocolo AntHocNet no NS-2, assim como a modelagem dos cenários e as métricas a serem usadas nas simulações.

A simulação dos protocolos AODV e AntHocNet, é apresentada nas últimas partes do trabalho, onde são gerados gráficos comparativos, proporcionando a análise dos resultados obtidos.

1.3.1

Capítulo 1: Introdução

No Capítulo 1 é apresentada a síntese do trabalho sobre a implementação do protocolo de roteamento AntHocNet. Assim como o objetivo geral do trabalho e seus objetivos específicos para a confecção e organização de cada capítulo.

1.3.2

Capítulo 2: Roteamento em Rede Ad Hoc

No Capítulo 2 são estudados o funcionamento e características da MANET. O levan-tamento bibliográfico é feito de forma a descrever os diferentes tipos de protocolos de roteamento utilizados nas MANETs. Esse estudo caracteriza a análise dos protocolos pró-ativos, reativos e híbridos, como também, serve de base para apresentar o protocolo de roteamento AODV.

1.3.3

Capítulo 3: Inteligência de Enxames

No Capítulo 3 é apresentado o levantamento bibliográfico da utilização da Inteligência de Enxames no roteamento de redes, dando enfoque à heurística das Colônias de Formigas no descobrimento de rotas.

(21)

O estudo se baseia na explicação do funcionamento biológico da heurística das Colô-nias de Formigas, bem como a sua utilização na resolução do problema do caixeiro viajante.

Essa base é utilizada para a definição do ACO, aplicado no roteamento de redes, descrevendo o protocolo AntHocNet, onde também é realizado o estudo das análises de resultados de simulação realizadas entre o AntHocNet e o AODV no simulador de rede QualNet.

1.3.4

Capítulo 4: Implementação da Proposta

No Capítulo 4 são apresentados os modelos das classes desenvolvidas para a implemen-tação do protocolo de roteamento AntHocNet no NS-2, descrevendo o funcionamento das principais funções de roteamento da implementação, segundo a arquitetura de classes do simulador.

1.3.5

Capítulo 5: Modelagem dos Cenários

No Capítulo 5 é descrita a modelagem dos cenários utilizados na simulação no NS-2. Essa modelagem se baseia na estruturação de fórmulas matemáticas para a obten-ção das informações do comportamento do cenário e assim, gerar os scripts em TCL com o comportamento semelhante ao descrito na mesma simulação feita por Di Caro (Di Caro, Ducatelle e Gamberdella 2005) no QualNet.

1.3.6

Capítulo 6: Simulação do AntHocNet

No Capítulo 6 é realizada a simulação e validação do AntHocnet no NS-2, tendo como objetivo fundamental verificar os resultados gerados seguindo os mesmos parâmetros e cenários utilizados por Di Caro ao comparar o AntHocNet com o AODV.

1.3.7

Capítulo 7: Conclusão

No Capítulo 7 é elaborada a síntese dos conhecimentos obtidos nas etapas anteriores, em que são apresentadas as conclusões sobre a implementação e os resultados gerados pela simulação dos protocolos AODV e AntHocNet, gerando as propostas de trabalhos futuros

(22)
(23)

2 Roteamento em Rede Ad Hoc

As redes wireless, ou redes sem fio, são caracterizadas por facilitarem a montagem de uma rede, pois não necessitam de cabos para conectar os computadores, apenas do “ar”. Em outras palavras, a transmissão de dados é feita via ondas de rádio. Isto descarta a utilização de switches e hubs, bastando apenas que cada computador possua uma placa de rede que emita e receba ondas de rádio direcionadas a um roteador fixo. Sendo assim, se houver o interesse de um novo nó entrar em determinada rede, este necessariamente precisa estar no raio de transmissão do roteador da mesma.

Em seu livro, Tanenbaum (Tanenbaum 2003) descreve uma rede wireless formada por nós móveis, ou ainda: computadores móveis, com liberdade de se movimentarem pelo cenário, sem a necessidade de se prenderem a um roteador fixo para iniciarem uma transmissão de dados com outro membro da rede. Isso possibilita a introdução de um novo problema nos sistemas de comunicação, pois inicialmente é necessária a localização deste nó móvel na rede, para que assim seja gerada a rota e se inicie a transmissão dos pacotes de dados até ele.

Esta nova característica de movimento dos nós possibilitou criar redes wireless livres de pontos acesso fixos, proporcionando criar redes sem fio totalmente móveis, também conhecidas como redes móveis Ad Hoc (MANET - Mobile Ad hoc NETwork ). Assim segundo Johnson (Johnson e Maltz 1996), pode-se classificar as redes wireless em duas topologias. A primeira diz respeito às redes wireless estruturadas, já que estas necessitam de uma infraestrutura fixa previamente instalada, com por exemplo roteadores fixos. A outra forma são as redes wireless não estruturadas, ou MANETs, sendo que estas não necessitam de infraestrutura.

As MANETs diferem significativamente das convencionais redes, pois apresentarem uma topologia dinâmica onde as interligações wireless entre os membros da rede são descentralizadas, isto é, não existem equipamentos que centralizam a função de rotea-mento, mas sim, um conjunto de indivíduos que cooperam entre si, dividindo as funções de roteamento. Assim, a saída de um dos nós da rede não acarretará no fim da mesma, pois os demais nós se auto-organizam para manter a estrutura de comunicação da rede

(24)

funcionando.

Os protocolos do roteamento utilizados em redes cabeadas podem ser divididos basi-camente em protocolos de roteamento baseados em vetor de distância (distance-vector ) e baseados em estado do enlace (link state) (Tanenbaum 2003). Qualquer um deles pode ser numa MANET. Ambos permitem que um nó-origem localize pelo menos uma rota para alcançar um determinado destino, mas estudos realizados mostram que ao utilizar protocolos de rede cabeada numa MANET geram inconveniências, como por exemplo na demora para convergirem as novas atualizações sobre a topologia da rede, além de inse-rirem muitas informações nos pacotes (Perkins e Bhagwat 1994). Devido à capacidade limitada de transmissão numa rede wireless, os pacotes devem possuir o mínimo de in-formações necessárias para o roteamento, de maneira a não comprometer a estrutura da rede.

Uma qualidade da MANET, é que a sua estrutura de rede pode ser criada rapidamente, sem a existência prévia de nenhuma infraestrutura. Isto pode acarretar consequências que, de acordo com Haas et al. (Haas et al. 2002), proporcionam que seus nós possam entrar e sair da estrutura da rede a qualquer momento, muitas vezes sem nenhum aviso, e possibilitando quebras na comunicação entre outros nós da rede. Geralmente, as MANETs são formadas por poucos usuários ao atender uma finalidade específica e, em seguida são desfeitas. São alguns exemplos do uso das MANETs:

• Operações táticas - para estabelecer rapidamente uma rede militar durante o envio de tropas para um terreno hostil;

• Missões de resgate - para comunicação em áreas sem a devida cobertura wireless com pontos de acesso;

• Uso comercial - para uso em conferências ou em reuniões executivas.

Esta mobilidade que os nós da rede possuem, podem gerar consequências para a topologia da MANET, como observado na Figura 2.1, onde o nó E é responsável pela comunicação de duas partes distintas da MANET (Figura 2.1a), sendo assim, a sua pre-sença ou ausência, pode alterar a estrutura de comunicação de todo conjunto. Isto é demonstrado quando este nó se desliga da MANET, e causa uma quebra na comunicação entre os demais membros do conjunto. Desta forma, a MANET passará a ser dividida em

(25)

duas redes distintas (Figura 2.1b): uma com os nós A, B e C (rede 1), e outra com os nós D e F (rede 2).

Figura 2.1: Mobilidade dos nós na MANET

Há duas situações para que essas redes possam se conectar novamente: a primeira seria o aparecimento de um nó que realize pelo menos uma ligação com as redes 1 e 2. A outra opção é a aproximação dos nós das redes em função do movimento, isto é, as redes poderiam se movimentar, e assim ficarem mais próximas fisicamente uma da outra não necessitando que um novo nó as interligue.

Os nós da MANET, segundo Yoshitaka (Yoshitaka et al. 2006), podem se comunicar uns com os outros a qualquer momento, e sem restrições, exceto quando não existir nenhuma rota que os conecte. Essa característica possibilita que a MANET realize uma troca de informações que independe das mudanças na topologia da rede. Em Haas et al. (Haas et al. 2002) é comentado que as diferenças de padrões de hardware e da propagação das ondas eletromagnéticas, tornam as condições variáveis com o tempo, e podem resultar em distintas conexões entre os nós vizinhos, isto é, enviar uma informação de um nó A para um nó B por uma determinada rota, pode não ser a mesma ao enviar o mesmo pacote do nó B para o nó A. O resultado é uma variação de rota, proporcionado, por exemplo, pela diferença na capacidade de transmissão de cada nó, podendo gerar um tempo de resposta variado ao se detectar uma mudança na topologia de rede.

(26)

Portanto, é necessário que os protocolos de roteamento para a MANET, sejam ca-pazes de detectar estas variações de topologia, e realizarem as alterações nas rotas, de acordo com a necessidade da rede. Aliado a estas características, o protocolo deve ser capaz de lidar com as quebras de comunicação e com o atraso no roteamento de pacotes. Uma classificação bastante usada para dividir os protocolos de roteamento utilizados nas MANETs, podem ser separados em pró-ativos, reativos ou híbridos (Liang e Haas 2006).

2.1 Protocolos

Os protocolos de roteamento são protocolos utilizados especificamente para realizar o gerenciamento de rotas numa rede de comunicação, isto é, são responsáveis por garantir que um membro da rede consiga enviar suas mensagens para seu destino, sem se preocupar como, ou por onde ela irá passar (Tanenbaum 2003).

Normalmente, numa rede estruturada, existe pelo menos um nó responsável pela função de roteamento na rede, conhecido como roteador. Sendo assim, pode-se afirmar que numa MANET, todos os integrantes acumulam a função dos roteadores.

Geralmente, cada roteador ao se conectar na rede, certifica-se de conhecer seus vizi-nhos, isto é, quais os nós que poderão auxiliá-lo no envio de pacotes, ou também chamados de gateways (Tanenbaum 2003). Dependendo do protocolo de roteamento adotado, o ro-teador irá procurar mais informações na rede para formar a sua tabela de roteamento, como por exemplo verificar a distância ou o custo da rota até o destino.

Os protocolos de roteamento podem ser divididos em: Pró-ativos, Reativos e Híbridos. Um protocolo de roteamento pró-ativo, requer que cada nó mantenha uma tabela de ro-teamento atualizada, de forma a possuir uma rota sempre disponível para todos os nós da MANET. O DSDV (Perkins e Bhagwat 1994) é um exemplo de protocolo de roteamento pró-ativo.

Nos protocolos de roteamento reativos, o nó não tem a responsabilidade de manter uma rota atualizada para um determinado destino, de maneira que quando necessite comunicar-se com tal destino, iniciará um processo de busca por rota. Os protocolos de roteamento AODV (Perkins e Roye 1999) e DSR (Johnson e Maltz 1996) são exemplos de protocolos reativos.

(27)

o overhead causado à rede, mas no momento em que uma rota conhecida sua sofra uma alteração, sugerindo que um nó intermediário tenha desaparecido, cria-se a necessidade do nó origem refazer a rota, emitindo novos pacotes de busca por rota. Geralmente essas busca são realizadas via broadcast, e podem contribuir para o congestionamento da rede, o que se agrava caso a rede possua uma quantidade elevada de nós.

Um protocolo de roteamento híbrido, como por exemplo o ZRP (Haas 1997), que foi proposto para combinar o benefício de ambas as características, utilizando as estratégias pró-ativas somente quando um nó necessitar manter suas informações atualizadas sobre os nós contidos na sua zona de roteamento, de forma que a ligação com os demais nós fora da sua zona é feita usando as características reativas.

2.1.1

Classificação

Segundo Tanenbaum (Tanenbaum 2003), de acordo com o modelo OSI, a terceira ca-mada, também conhecida como camada de rede, é responsável pelo roteamento que en-volve duas operações básicas: a determinação das rotas e o encaminhamento de paco-tes (Câmara 2000). Estas operações são realizadas por cada membro no conjunto da MANET, isto demonstra a característica dos nós possuírem a função de roteamento de pacotes. Por isso, segundo Bisnik (Bisnik, Abouzeid e Busch 2006), os protocolos de ro-teamento desenvolvidos para redes guiadas não trabalham eficientemente nas MANETs, pois elas não possuem uma infraestrutura regular, com switches e roteadores por exemplo. Destaca-se o fato de que os nós da rede possuem uma distância limitada para transmissão e recebimento de dados, com os demais integrantes do conjunto.

Os protocolos de roteamento podem ser classificados conforme a construção de suas ro-tas, em protocolos pró-ativos, protocolos reativos ou protocolos híbridos (Liang e Haas 2006).

2.1.1.1 Pró-ativo

Protocolos pró-ativos guardam o máximo de informações sobre os nós da MANET em suas tabelas de roteamento. As rotas são periodicamente atualizadas, independente de serem usadas. Essa característica, possibilita a vantagem de sempre se ter uma rota para um nó destino quando esta for solicitada (Bisnik, Abouzeid e Busch 2006) (Liang e Haas 2006).

(28)

iniciar transmissões rapidamente, uma vez que já possuam pelo menos um caminho para o destino (Inkinen 2004). Apesar dessa vantagem, os protocolos de roteamento pró-ativos necessitam de uma grande quantidade de armazenamento, largura de banda e processa-mento para manter as tabelas de roteaprocessa-mento atualizadas em cada nó da MANET.

O maior problema dos protocolos pró-ativos são causados pelas constantes atualizações que devem ser realizadas cada vez que ocorre uma mudança na MANET, como quando um novo nó entra na rede ou um antigo nó a deixa. O mesmo pode ocorrer quando um nó se move para um novo local, necessitando que conheça os novos nós vizinhos. Desta forma, todos os nós na rede precisarão procurar uma nova rota para este nó. Aumentando o overhead na rede, pois cada requisição de rota, exige uma transmissão de pacotes via broadcast, para todos os nós contidos no conjunto da MANET.

Esses problemas são característicos de redes com grandes variações na quantidade ou na composição de nós, já em redes de pequeno porte, ou que possuem poucos nós, os protocolos de roteamento pró-ativos podem funcionar de forma eficiente.

2.1.1.2 Reativo

Os protocolos reativos guardam apenas as informações sobre as rotas que são de seu interesse ou que necessitem de sua participação para comunicação entre os nós da MANET (Bisnik, Abouzeid e Busch 2006) (Liang e Haas 2006).

Pode se dizer que esses protocolos atendem os pedidos de rota sobre demanda, isto é, somente quando um nó da rede deseja iniciar a comunicação com um outro que o protocolo fará a busca do caminho. Isso pode acarretar um atraso até que a nova rota seja desco-berta e comunicada ao nó que deu origem a requisição. Segundo Inkinen (Inkinen 2004), tal tempo de atraso para iniciar uma nova comunicação aumenta significantemente com acréscimo de nós na MANET. Para minimizar a taxa de envio de mensagens de controle, os nós da rede mantém armazenadas apenas as rotas que estão sendo utilizadas.

Uma das vantagens de se adotar esta estratégia, é de diminuir significativamente a quantidade de informações que serão guardadas em cada nó da rede. Mas tem a des-vantagem, de sempre que necessitar de uma rota para um nó inexistente na tabela de roteamento, implicará num tempo de espera, até que esta nova rota seja construída. Esta desvantagem também se aplica caso um nó intermediário se desligue do conjunto no

(29)

mo-mento que a rota estiver em uso.

2.1.1.3 Híbrido

Protocolos de roteamento híbridos são os que combinam tanto estratégias pró-ativas quanto reativas. Isso pode ser aplicado quando se utiliza características pró-ativas com os nós da rede que estão próximos fisicamente, enquanto que os nós mais distantes se localizam de forma reativa (Inkinen 2004) (Liang e Haas 2006).

Tabela 2.1: Tabela comparativa entre as classificações dos protocolos de roteamentos para MANET (Przybysz e Júnior 2005).

Características Pró-Ativo Reativo Híbrido Troca de

Informações Periódica Quando Ambos sobre a topologia necessária

da MANET

Disponibilidade Sempre Quando Ambos de rota disponíveis necessária

Como lida com Atualizações Manutenção Ambos mobilidade dos nós Periódicas de rota

Tráfego de mensagens Alto Baixo Médio de controle

A vantagem de se combinar essas duas estratégias tão diferentes, pode ser analisada, pela comparação demonstrada na Tabela 2.1. Pode-se ampliar, por exemplo, a capacidade de resposta de um protocolo pró-ativo, de maneira que poderia utilizar uma rota para um nó próximo, imediatamente após a requisição desta. Ou mesmo, quando este nó estiver se comunicando com um nó distante e ocorrer uma quebra de comunicação, bastando que os nós intermediários recuperem a rota com base nas informações de seus nós vizinhos.

Apesar dos protocolos híbridos possibilitarem combinar ambas as características, a Internet Engineering Task Force (IETF MANET 2008) sugeriu o protocolo reativo AODV como possível padrão adotado em MANETs.

(30)

2.1.2

AODV - Ad-hoc On demand Distance Vector

O protocolo de roteamento AODV, foi proposto por Perkins (Perkins e Roye 1999) ao verificar que o DSDV possuía o problema de contínuos envios de mensagens de atualizações por rotas, aumentando o tráfego de pacotes de controle na rede e, consequentemente, aumentando o overhead. Segundo Perkins (Perkins e Roye 1999), as emissões de pacotes do DSDV cresciam na proporção de (n2), onde n é o número de nós na rede. Este protocolo também exige que cada nó mantenha uma rota para cada destino dentro da MANET, sendo que dificilmente um nó irá utilizar todas estas rotas. Por este motivo, o AODV foi proposto com a diferença que os nós adicionam apenas rotas que são de seu interesse, assim, é considerado um protocolo reativo e é candidato a virar um padrão para a MANET, segundo a IETF (IETF MANET 2008).

O processo de descobrimento de rota começa assim que um nó necessitar se comunicar com outro nó, o qual não tem nenhuma informação na sua tabela de roteamento. Assim, o nó inicia a busca por uma rota, enviando um pacote RREQ (Route Request ) via broadcast para todos seus vizinhos, que por sua vez retransmitem o pacote. Um pacote RREQ contém:

< source_addr ; source_sequence_num ; broadcast_id ; dest_addr ; destination_sequence_num ; hop_cnt >

Como no DSDV, o protocolo AODV mantém um número de sequência, a fim de manter as suas rotas atualizadas, verificando se o pacote que lhe foi transmitido é atual ou antigo. Este número de sequência é denotado da seguinte forma: Sxxx_Ni, onde

Ni representa o nó onde for criado e Sxxx representa o valor do número de sequência,

que é incrementado cada vez que as conexões do nó em questão, se alteram, devido a modificações na topologia da rede.

No pacote RREQ, contém os números de sequência tanto do nó origem (source_ sequence_num) como do nó destino (destination_sequence_num). Ao retransmitir o RREQ, o nó incrementa a quantidade de saltos (hop_cnt ).

Estes pacotes, também possuem um identificador chamado de broadcast_id, que ao ser recebido pelo nó é adicionado temporariamente na tabela de roteamento, guardando também, o endereço do nó origem (source_addr ) onde o gateway corresponde ao nó que

(31)

o enviou. O identificador possibilita que o nó evite retransmitir o mesmo pacote RREQ, prevenindo a formação de loops, ao descartá-lo.

Quando um nó recebe um pedido de rota, ao qual possui o nó destino contido na tabela de roteamento, este verifica se o número de sequência do nó destino que está guardado na tabela de roteamento é mais recente que o contido no pedido. Se for, é enviado um RREP (Route Reply) para o nó de origem contendo a rota. Caso o nó não possua uma rota para o destino ou o número de sequência do pacote for o mais recente, este nó retransmite a mensagem. O RREP possui os seguintes campos:

< source_addr ; dest_addr ; destination_sequence_num ; hop_cnt ; lifetime >

Ao receber o pacote RREP, o nó adiciona o endereço do destino (dest_addr ), asso-ciando o nó que o enviou como gateway. Assim, ao ser enviada para o nó de origem (source_addr ), o RREP incrementa a quantidade de saltos (hop_cnt ) em cada nó que passar. É interessante ressaltar que ao contrário do RREQ, o RREP é enviado para o nó origem por apenas uma rota (ver Figura 2.2).

Se no processo de comunicação um nó intermediário desaparecer, será necessário que seja iniciada uma nova descoberta de rota. A detecção de quebra de comunicação com o nó é detectada utilizando mensagens hello periódicas. As mensagens são enviadas num intervalo de tempo regular pelo nó aos seus nós vizinhos envolvidos na transmissão. Desta forma, se um nó não receber o hello de um nó vizinho no devido período de tempo, assume-se que ocorreu uma quebra na comunicação e o nó realiza uma nova busca enviando um RREQ (Chakeres e Belding-Royer 2004).

Quando um nó intermediário descobre uma quebra de comunicação, de acordo com Chakeres (Chakeres e Belding-Royer 2004), este envia um pacote RERR (Route Error ) via broadcast para os nós vizinhos, envolvidos na comunicação, que retransmitem o RERR. Se o nó de origem ainda necessitar de uma rota até o destino, pode enviar um novo RREQ.

Um exemplo de uma busca por rota, pode ser visto na Figura 2.2, onde o nó N6 (origem) deseja iniciar uma comunicação com o nó N1, então é envido um RREQ (Figura 2.2a) para todos os nós da MANET, assim, quando o nó N1 é localizado, este envia um RREP (Figura 2.2b) atualizando as tabelas de roteamento do N2, N4 e N6. Após um determinado tempo, o N1 se move na rede, e passa a se conectar com o nó N7, portanto, quando o nó N2 verificar a quebra de comunicação, este enviará um RERR (Figura 2.2c)

(32)

Figura 2.2: Descoberta de rota do AODV na MANET, onde o nó N6 deseja iniciar uma comunicação com o nó N1

informando a quebra na rota, ocasionando numa nova busca por rota do nó N6 (Figura 2.2d). Pode-se observar que além do nó N1, os nós N3, N5 e N8 também se movimentaram.

Tabela 2.2: Tabela de roteamento do nó N6, antes do deslocamento do nó N1. Destino Gateway Saltos Número de Nós Vizinhos Tempo

(Métrica) sequência Ativos de Duração

N1 N4 3 S406_N1 N4 1000

Estas mudanças podem ser verificadas quando o nó N6 recebe a RREP e atualiza a sua tabela de roteamento (Tabela 2.2). Desta forma, o nó N6 incia a comunicação com o nó N1.

Tabela 2.3: Tabela de roteamento do nó N6, após o recebimento da RERR. Destino Gateway Saltos Número de Nós Vizinhos Tempo

(Métrica) sequência Ativos de Duração

N1 N4 ∞ S406_N1 N4 1000

Supondo que, após um tempo de transmissão, o nó N1 se movimente em direção ao nó N7, isto gera uma quebra de comunicação, detectada pelo nó N2, que envia um RERR alertando o nó N6. Este por sua vez, atualiza a tabela de roteamento, mudando o valor dos

(33)

saltos, para o nó N1, para ∞ (Tabela 2.3), necessitando do envio de um novo RREQ caso a comunicação com N1 não tenha sido finalizada. Assim, pode-se notar que na Tabela 2.4, o novo gateway para o nó N1, passa a ser o nó N7, associado ao novo número de sequência S512_N1.

Tabela 2.4: Nova tabela de roteamento do nó N6, após o deslocamento do nó N1. Destino Gateway Saltos Número de Nós Vizinhos Tempo

(Métrica) sequência Ativos de Duração

N1 N7 2 S512_N1 N4 1000

Na Tabela 2.5, observa-se que o nó N7 mantém os nós N1 e N6 na parte de vizinhos ativos, pois está servindo como nó intermediário na comunicação entre estes dois nós. N7 passa então a enviar periodicamente, mensagens hello para estes nós vizinhos, assim, é possível saber se ocorreu uma nova quebra na comunicação.

Tabela 2.5: Nova tabela de roteamento do nó N7.

Destino Gateway Saltos Número de Nós Vizinhos Tempo (Métrica) sequência Ativos de Duração N1 N1 1 S512_N1 N1, N6 1000 N6 N6 1 S204_N1 N1, N6 1000

Basicamente o AODV cria uma única rota até um determinado destino. Isso possibilita vantagens quanto ao consumo de memórias, mas em contra partida pode causar problemas ao se detectar uma quebra de comunicação envolvendo um ou mais nós da rede e assim pode-se ocasionar perdas de pacote, como também pode acabar fazendo com que um nó da rede fique responsável pelo encaminhamento de vários pacotes o tornando um possível ponto critico na rede.

2.2 Considerações do Capítulo

Os protocolos de roteamento fornecem um caminho apropriado entre o nó origem e o nó destino, usufruindo da cooperação de possíveis nós intermediários, para realizar o envio de dados pela rede. Ocasionalmente, ocorre de um destes nós intermediários ou mesmo os nós de origem e destino, se moverem para regiões fora do alcance de transmissão dos demais nós envolvidos na comunicação.

(34)

necessita que o protocolo utilizado no roteamento seja flexível o suficiente para se adaptar a possível mudança de rota.

O problema em se buscar uma nova rota poderia ser resolvido se o protocolo possi-bilitasse múltiplas rotas até o destino, isto será visto no Capitulo 3 onde será estudado um protocolo que se baseiam na melhoria continua de suas rotas e assim o torna menos suscetível a perdas de pacotes e atrasos na obtenção de rotas.

(35)

3 Inteligência de Enxames

Inteligência de Enxames (SI - Swarm Intelligence), segundo Dorigo (Dorigo 2007), estuda o comportamento coletivo de sistemas compostos por um grande número de indivíduos que interagem entre si, usando estruturas descentralizadas e auto-organizadas para alcançar os objetivos de todo o conjunto.

Os sistemas baseados em SI, de acordo com White (White, Pagurek e Oppache 1998), são compostos por uma população de agentes capazes de interagir com seu ambiente, usando simples capacidades de atuação afim de efetuar escolhas baseadas em caracte-rísticas locais, conduzindo a um comportamento global e complexo (Beni e Wang 1989). Essas escolhas incluem a modificação do ambiente no qual o agente atua.

Neste comportamento inteligente frequentemente, surge de uma comunicação indireta entre os agentes, sendo este o princípio da estigmergia Grassé (1984) apud (Dorigo 2007). Contudo, individualmente os agentes não possuem um conhecimento global do problema apresentado, isto é, eles não sabem se a escolha adotada resultará em uma solução vá-lida, desta forma que segundo Dorigo, os resultados são proporcionados pela sociedade de agentes através do coletivismo apresentado pelo enxame. SI pode ser divida, em duas ra-mificações: Otimização por Enxames de Partículas (PSO - Particle Swarm Optimization) (Kennedy e Eberhart 2001) e Otimização por Colônias de Formigas (ACO - Ant Colony Optimization) (Dorigo e Stützle 2006).

A heurística de enxames de partículas (PSO) foi desenvolvida por Russ Eberhart e James Kennedy em 1995. Esta heurística é inspirada na observação da coreografia de animais, como a de pássaros voando em bando e de peixes nadando em cardumes (Kennedy e Eberhart 2001). Dentre outras, o PSO é aplicado para otimizações de funções, treinamento de redes neurais, cálculo de carga em sistemas elétricos, segmentação de imagens e verificação de voz. Diferente do PSO, a heurística das colônias de formigas (ACO), desenvolvida por Marco Dorigo em 1996, é inspirada no comportamento da colônia de formigas em sua busca por alimento. O ACO foi inicialmente utilizada para resolver problemas como do caixeiro viajante, mas hoje é possível encontrar várias aplicações para seu uso, como: escalonamento de tarefas, coloração de mapas, bioinformática, mineração

(36)

de dados e roteamento (Dorigo e Stützle 2006).

A SI tem se tornado uma fonte de inspiração para o desenvolvimento de algoritmos distribuídos e adaptáveis, como por exemplo, protocolos de roteamento. Segundo Di Caro (Di Caro, Ducatelle e Gamberdella 2005), os protocolos de roteamento baseados em SI fo-ram inspirados no comportamento coletivo apresentado por Dorigo (Dorigo e Stützle 2006) ao descrever a heurística de colônias de formigas.

A seguir, serão abordados os princípios observados nos insetos sociais ao se auto-organizarem em favorecimento de sua colônia (Seção 3.1), e como foram usados por Dorigo ao criar a heurística das colônias de formigas (Seção 3.2). De maneira a apresentar como o ACO inspirou o desenvolvimento de protocolos de roteamento (Seção 3.3).

3.1 Princípio Biológico

Na natureza, observar-se a interação entre agentes e o ambiente, representados por sociedades de insetos sociais, sejam elas formigas, abelhas ou cupins. O comportamento apresentado por estes insetos sociais, é observado na forma como eles reagem ao encontra-rem obstáculos nas suas trilhas até o alimento, ou na construção e defesa da sua colônia.

As formigas são, provavelmente, os insetos sociais mais estudados, pois podem adaptar-se coletivamente às mudanças do ambiente e encontrar o caminho mais curto para fonte de alimento Hölldobler e Wilson (1990) apud (Labella, Dorigo e Deneubourg 2006). Ou-tros insetos que apresentam características coletivas são os cupins, que são capazes de construir ninhos grandes e complexos e as abelhas, que coletivamente escolhem um novo local para o seu ninho. A comunicação direta raramente é observada: estes insetos usam apenas as informações locais disponíveis ao explorar as características presentes no ambiente, comunicando-se indiretamente através da estigmergia Grassé (1959) apud (Labella, Dorigo e Deneubourg 2006). Os resultados do comportamento coletivo destes insetos, geralmente ultrapassam as capacidades de um único inseto, sugerindo que o

traba-lho de todo o conjunto tende a ser auto-organizável Camazine (2001) apud (Izquierdo-Torres 2004).

O conceito de estigmergia foi introduzido pelo biólogo francês Pierre-Paul Grassé ao estudar a forma como os cupins construíam suas colônias. Ele verificou que o processo de construção não dependia apenas das decisões dos cupins, mas da forma como a colônia estava sendo feita. Estas escolhas de onde deveriam ser construídas as próximas partes da

(37)

colônia são processos que envolvem decisões locais, isto é, cada vez que um cupim realiza uma ação de construir, modifica a configuração local. Esta nova configuração irá então, influenciar outras ações específicas dos demais cupins envolvidos no processo. Isto conduz a uma quase perfeita coordenação no trabalho coletivo, que segundo Dorigo (Dorigo 2007), pode dar a impressão de que a colônia está seguindo um projeto de construção.

Outro uso de estigmergia é apresentado pelas formigas, onde esta comunicação indi-reta é realizada usando produtos químicos voláteis chamados de feromônios. De acordo com Dorigo (Dorigo e Stützle 2006), as formigas depositam o feromônio à medida que percorrem o caminho até o alimento, esta modificação causada no ambiente, proporciona que as próximas formigas que forem passar pelo caminho, sejam influenciadas a escolher trilhas que contenham a maior quantidade da substância. Assim, quanto mais feromônio é depositado numa trilha, mais formigas são influenciadas a seguirem por aquela trilha, e consequentemente mais feromônio é depositado, este processo é chamando de retroali-mentação positiva.

Figura 3.1: Trilha de Feromônio entre a Colônia e a Fonte de Alimento

As formigas ao percorrerem um determinado caminho (Figura 3.1a), tendem a encon-trar e utilizar a menor rota entre a colônia e a fonte de alimento. Quando se introduz um obstáculo, as formigas são obrigadas a aprenderem um novo caminho, onde num primeiro momento é visto que aproximadamente 50% das formigas escolhem o caminho mais longo e outros 50% escolhem o mais curto (Figura 3.1b). Esta escolha tende a ser randômica, pois não existe feromônio depositado em nenhuma das duas trilhas após o obstáculo ser inserido. Mas à medida que o tempo passa e as formigas do caminho mais curto começam a ir e voltar da fonte de alimento com maior intensidade (Figura 3.1c), a trilha mais curta

(38)

tende a ficar com uma maior concentração de feromônio em relação ao caminho mais longo. Este aumento na quantidade de feromônio depositado torna-se evidente quando a trilha de menor caminho passa a ser a opção de rota para a grande maioria das formigas da colônia (Figura 3.1d), isto de acordo com Dorigo (Dorigo e Stützle 2006) é considerado um processo autocatalítico, ao melhorar as menores rotas, descartando as demais.

Outro processo que contribui para o melhoramento das trilhas é o processo de evapo-ração, que tende a diminuir a concentração de feromônio numa trilha. Assim, uma trilha com pouca concentração de feromônio será mais afetada pela evaporação do que uma tri-lha com muito feromônio depositado, pois com o passar do tempo rotas pouco utilizadas pelas formigas serão extintas. Este efeito é chamando de retroalimentação negativa, pois deteriora o feromônio existente, contribuindo para que os melhores caminhos se fortale-çam em detrimento dos piores. Geralmente, a trilha que contém a maior quantidade de feromônio, segundo White (White 1997), é a que possui o melhor caminho até o alimento, fornecendo um sofisticado sistema de sinalização.

3.2 Heurística de Colônia de Formigas

O processo de localizar caminhos entre a colônia e a fonte de alimento utilizado pelas formigas foi uma fonte importante de inspiração para o desenvolvimento das bases da heu-rística de colônia de formigas (Dorigo e Stützle 2006) (ACO - Ant Colony Optimization). Esta estrutura possibilitou o desenvolvimento de algoritmos para resolver problemas do optimização.

A idéia principal do ACO se baseia na utilização de formigas artificiais para construção de soluções. Assim, quando uma formiga localiza uma possível solução, monta uma trilha de feromônio artificial, o qual é armazenado e atualizado numa matriz de feromônio artificial. Os algoritmos de ACO tendem a trabalhar de forma que todas as formigas artificiais possam construir soluções paralelamente, usando a matriz de feromônio artificial (Ducatelle 2007). Desta maneira, a matriz de feromônio guarda as informações sobre as melhores soluções que foram encontradas, e permite que as futuras formigas consigam decidir suas escolhas usando esta informação ao construir soluções novas.

O primeiro algoritmo de ACO que foi desenvolvido para problemas de caixeiro viajante (TSP - Traveling Salesman Problem), foi proposto originalmente por Dorigo em 1992. No

(39)

algoritmo, o valor do feromônio F(i, j) é associado a um custo de G(i, j), onde i e j representam duas cidades interligadas. Assim, o algoritmo utiliza as formigas artificiais para construir as soluções usando este feromônio artificialF, que será atualizado baseado na qualidade da solução obtida.

O algoritmo funciona em iterações, sendo que a cada iteração é escolhida uma cidade aleatória para cada formiga, de maneira que elas se movimentem de uma cidade para outra, construindo uma solução para o TSP.

Desta forma, a formiga se move de uma determinada cidade para outra, sendo que não pode visitar a uma mesma cidade mais de uma vez. Esta escolha de qual será a próxima cidade a ser visitada é probabilística, onde para cada possível cidade existe uma probabilidade pk(i, j), sendo k representa a formiga, i é a cidade atual e j a próxima

cidade, a equação é dada por:

pk(i, j) =      [F(i, j)]α[G(i, j)]β P l∈Ni k[F(i, l)] α[G(i, l)]β se j ∈ N i k 0 senão (3.1)

Na equação, Nki representa o conjunto de cidades que são vizinhas de i e que não foram visitadas pela formiga k. G(i, j) é igual 1

d(i, j), isto é, o inverso da distância entre i e j, que serve como um valor heurístico que irá ajudar na construção das soluções. Assim, quando a formiga tiver chegado na cidade j, é gerada uma estimativa que será incorporada ao feromônio relacionado a trajetória por onde ela passou. Esta estimativa terá maior ou menor valor dependendo se a distância total for baixa ou não.

Os parâmetros α e β são os pesos relativos dados respectivamente ao feromônio e à distância heurística no processo de decisão: sendo β = 0, as decisões são baseadas pu-ramente no feromônio, significando a experiência adquirida nas iterações anteriores, mas quando o valor de α = 0, as decisões serão baseadas puramente na distância heurística, causando uma busca gulosa.

3.3 ACO Aplicado a Roteamento

O roteamento envolve problemas de decisões que somente podem ser feitas com base nas informações locais, devido ao atraso de pacotes e a dificuldade em definir rotas que

(40)

não estejam congestionadas.

Estas características possibilitaram o desenvolvimento de protocolos, como no caso do AntNet (Di Caro e Dorigo 1998) que se baseia no ACO, ao utilizar valores de feromônio como meio de determinar a probabilidade que cada pacote teria para ser encaminhado por uma determinada rota. Sendo que o AntNet também utiliza multiagentes (formigas) para determinar as rotas numa rede guiada, de maneira que um agente é responsável por localizar o destino e outro é responsável por comunicar e atualizar as tabelas de roteamento referentes à rota gerada, estes agentes são chamados respectivamente de Forward Ant e Back Ant.

Segundo Dorigo (Dorigo, Di Caro e Gambardella 1999), para se utilizar SI (usando os princípios do ACO) em roteamento de redes, deve-se basear o encaminhamento das infor-mações em amostras do ambiente (feromônio) usado como base de decisão pelos pacotes, que são chamados de formigas. Em Di Caro (Di Caro, Ducatelle e Gamberdella 2004) afirma que as formigas são geradas simultaneamente e de forma independente pelos nós, com a tarefa de testar um caminho para um destino atribuído. O envio das formigas possibilitam recolher informações sobre a qualidade da rota entre origem e destino (por exemplo, o atraso médio, a quantidade de saltos, entre outros), e assim utilizar estas informações para atualizar os valores de feromônio referentes a rota.

As tabelas de roteamento associam uma porcentagem de feromônio a cada rota, o que pode gerar, para um mesmo destino, a inclusão de mais de um gateway correspondente, por isso, as tabelas de roteamento passam a ser denominadas de tabelas de feromônio (Di Caro, Ducatelle e Gamberdella 2005). Assim, quando uma formiga for enviada para um nó destino, está poderá ser encaminhada probabilisticamente por um dos gateways, sendo que esta probabilidade será baseada no feromônio.

Este processo é semelhante ao feromônio usado pelas formigas reais quando se deslo-cam da colônia para a fonte de alimento. Tal como as formigas reais, as formigas artificiais são agentes autônomos que através da atualização das tabelas de feromônio participam do processo de comunicação. De acordo com Di Caro (Di Caro, Ducatelle e Gamberdella 2004), isto é o resultado do comportamento de aprendizagem coletiva, na qual cada formiga tem baixa complexidade e pouca importância, enquanto todo o enxame junto pode coletar e manter atualizada as informações de roteamento.

(41)

esco-lhendo geralmente rotas que possuam uma maior probabilidade associado a valores ele-vados de feromônio. Isto possibilita que os pacotes de dados enviados para um mesmo destino possam ser enviados por múltiplas rotas, resultando num balanceamento de carga (Ducatelle 2007).

De acordo com Ren (Ren e Meng 2006), os protocolos de roteamento baseados em SI estão sendo usados em redes de telefonia, redes guiadas e redes Ad Hoc (MANET, Rede Mesh e Rede de Sensor). Embora estes protocolos de roteamento sejam inspirados nos mesmos princípios biológicos, foram desenvolvidos de várias maneiras para cumprir objetivos diversificados.

Um destes protocolos de roteamento baseados em ACO é o AntHocNet (Ducatelle 2007) que foi desenvolvido para possibilitar múltiplas rotas para um mesmo destino numa rede Ad Hoc, e assim, proporcionar uma distribuição dos pacotes de dados ao distribuir a carga de roteamento para mais nós da rede. A utilização de escolhas probabilísticas para deter-minar qual rota será usada para enviar os pacotes de dados são comuns em protocolos de roteamento que se baseiam em ACO, tal como o ARA (Gunes, Sorges e Bouazzi 2002), Termite (Roth e Wicker 2003) e o ANSI (Rajagopalan e Shen 2005).

Em simulações realizado com estes protocolos que usam o ACO, todos tiveram resul-tados satisfatórios ao serem comparados com o protocolo de roteamento AODV, sendo que cada um foi testado num tipo de cenário diferente do outro.

Os protocolos ARA, ANSI e Termite, obtiveram melhores resultados em termos de overhead que o apresentado pelo AODV, sendo que o ARA foi testado numa para ser melhor aplicado a uma rede de pequeno porte, sendo que na simulação foram utilizados 50 nós móveis. Já o Termite foi comparado apenas em termos de aumento da velocidade dos nós dentro do cenário, tendo apresentado bons resultados em termos de overhead.

Na tese de Ducatelle (Ducatelle 2007), o AntHocNet foi comparado: ao ANSI, por ambos serem baseados em SI e apresentarem características híbridas, e ao AODV, por este estar sendo estudado pela (IETF MANET 2008) para ser tornar o protocolo padrão em MANETs.

Nestas simulações, o AntHocNet se mostrou superior ao ANSI e ao AODV quando comparadas suas taxas de entrega de pacotes e a média de delay. Já quando comparado ao overhead causado na rede, o AntHocNet apresentou taxas menores que o ANSI, mas

(42)

em algumas situações o AODV manteve uma taxa de overhead menor que a apresentada pelo AntHocNet.

3.3.1

AntHocNet

O AntHocNet (Ducatelle 2007) é um protocolo de roteamento híbrido que possibilita múltiplas rotas entre origem e destino. É um protocolo baseado nos princípios da SI para roteamento.

Apesar de ser baseado no AntNet (utilizado em redes guiadas), o AntHocNet se dife-rencia ao não manter rotas para todos os nós da rede, ele apenas cria suas rotas quando são necessárias. Isto é feito ao utilizar características reativas, quando um determinado nó de origem deseja se comunicar com um nó destino, enviando formigas via broadcast para descobrir pelo menos uma rota (Di Caro, Ducatelle e Gamberdella 2004).

De acordo com Di Caro (Di Caro, Ducatelle e Gamberdella 2005), as rotas são criadas sob a forma de tabelas, que guardam respectivas quantidades de feromônio depositadas para cada gateway. Assim, após a configuração do percurso, a origem inicia o envio dos dados probabilisticamente pelas rotas, possibilitando escolhas de caminhos diferentes dependendo da tabela de feromônio.

Enquanto os dados estão sendo transmitidos, os caminhos são monitorados, mantidos e melhorados utilizando estratégias pró-ativas por onde diferentes agentes, chamados de PRFAs (PRoactive Forward Ants) realizam o processo de exploração e manutenção de rotas. O protocolo reage à quebra de conexões, com reparações de rotas localmente (se for possível) ou notificando os demais nós participantes.

Os nós guardam suas informações de rotas nas tabelas de feromônio. No AntHocNet, cada nó i constrói sua tabela de feromônio Ti, numa matriz de duas dimensões. Assim,

para uma entrada Tndi nesta matriz representa a quantidade de feromônio depositada sobre uma rota do nó i para o nó d com gateway n. Este valor é atualizado a cada passagem das formigas. Desta forma, quando um nó i deseja enviar uma formiga para um nó d, deve-se decidir probabilisticamente, calculando a probabilidade Pnd para cada gateway n,

(43)

Pnd = (Ti nd)B1 P j∈Ni d(T i jd)B1 ,B1 ≥ 1 (3.2)

Além da tabela de feromônio Ti, cada nó da MANET guarda uma tabela de nós

vizinhos Ni, onde Ndi é o conjunto de gateways de i para o destino conhecido d. Sendo que um valor baixo para o parâmetro B1 (valor próximo a 1), os pacotes de dados ou

formigas terão a característica de serem enviados por múltiplas rotas, enquanto valores altos em B1 tendem a concentrar a maioria dos dados na trilha de maior concentração de

feromônio.

Como o AntHocNet é um protocolo de roteamento híbrido, é constituído por duas componentes: uma reativa, usada para localizar e gerar pelo menos uma rota entre entre uma origem e um destino; e outra pró-ativa que, além de manter a rota criada pela componente reativa, possibilita o surgimento de outras rotas, de maneira a proporcionar múltiplas rotas para o destino. Se ocorrer alguma quebra de conexão, o AntHocNet irá enviar formigas para tentar reparar esta rota.

3.3.1.1 Componente Reativa

A característica reativa do AntHocNet é responsável pela descoberta de uma rota entre um nó de origem e um nó destino desconhecido. Por isso, quando um nó origem necessita iniciar uma transmissão com um nó destino e não possui nenhuma rota para encaminhar os pacotes de dados, ele então envia uma REFAs (REactive Forward Ant ) via broadcast.

Assim, se um nó intermediário possuir uma ou mais rotas válidas para o destino, ele en-caminha a REFA (probabilisticamente) para o destino baseando-se nos valores de feromô-nio depositados para cada rota. Com isso Di Caro (Di Caro, Ducatelle e Gamberdella 2004) afirma que, se não existir nenhum de valor de feromônio disponível para o nó destino, a formiga é retransmitida via broadcast. Estas transmissões broadcast possibilitam o aumento do overhead causado a MANET, mas em contrapartida possibilitam que as for-migas possam se proliferar rapidamente pela rede, seguindo caminhos diferentes para o destino.

Estas REFAs ao serem enviadas para os demais nós da rede, recebem uma identificação gerada pela origem que auxilia os nós intermediários a reconhecerem e descartarem REFAs repetidas, contribuindo para o processo de criação de uma rota válida evitando loops.

(44)

Dessa forma, segundo Di Caro (Di Caro, Ducatelle e Gamberdella 2005), apenas uma rota será criada inicialmente.

Durante o envio de dados entre a origem e destino, mais caminhos são adicionados através do mecanismo de exploração e manutenção de rotas, caracterizando o comporta-mento pró-ativo do AntHocNet, que fornecerá um conjunto de rotas para um determinado nó da MANET.

Desta forma, cada REFA acrescenta o nó que visitou numa lista P. Assim, quando a REFA alcançar o nó destino, é transformada numa REBA (REactive Backward Ant ) que retorna para a origem através do caminho guardado em P.

Em cada nó i ∈P(i < d), a REBA verifica a estimativa local Hi

i+1do tempo que levou

para vir do nó vizinho i + 1, isto é, do nó que transmitiu a REBA. Assim, o tempo total que a REBA levou para vir do nó destino d até o nó i será dado por: Hi

d, representado na fórmula: Hi d= d X j=i Hj j+1 (3.3)

Esta estimativa Hid é então combinada com o número de saltos h entre o nó i até o destino d, a fim de se calcular a estimativa de feromônio ti

dque será usada para atualização,

expressa na seguinte fórmula:

tid = Hi d+ hSχ 2 −1 (3.4)

Onde o Sχ é um valor fixo pré-determinado que representa o tempo que cada salto h

supostamente levaria. A partir deste resultado é calculado o inverso, pois quanto maior o custo (neste caso o tempo) menor será quantidade de feromônio depositada na trilha. Com isso, o valor do feromônio Tndi é atualizado do seguinte modo:

Tndi = γTndi + (1 − γ)tid, γ ∈ [0, 1] (3.5)

Assim o valor da estimativa tid é somado ao valor de feromônio Tndi já existente. Sendo que γ é um parâmetro, que por exemplo: se possuir um valor próximo 1 aumentará significantemente a importância do valor do feromônio Tndi depositado anteriormente, mas se possuir um valor próximo de 0, sugere que a estimativa ti

(45)

3.3.1.2 Componente Pró-ativo

O componente pró-ativo do AntHocNet é responsável pela manutenção e pela exploração de rotas, que possibilitam opções alternativas para um determinado nó destino. Durante o processo de transmissão de dados, o nó origem envia as PRFAs para atualizar as in-formações sobre as rotas que estão sendo usadas, bem como possui a probabilidade de encontrar novos e melhores caminhos para o destino.

As PRFAs são enviadas para o destino utilizando as trilhas de feromônio depositadas nas tabelas de roteamento. Entretanto, a MANET caracteriza-se por possuir mudanças constantes na sua topologia, necessitando que as formigas sejam emitidas numa frequên-cia elevada, podendo contribuir para o congestionamento da rede. Além disso, para se encontrar novas rotas, as formigas deveriam ser enviadas por caminhos aleatórios ou via transmissões broadcast, aumentando o overhead causado a rede. Desta forma, Ducatelle (Ducatelle 2007) descreve a necessidade de se distribuir o feromônio a fim de espalhar as informações disponíveis sobre a rede, com o uso de periódicas mensagens de atualização e reparos de rotas. Este processo fornece uma forma de atualizar as tabelas de feromônio sobre rotas existentes, e criam bases de escolhas utilizadas pelas formigas ao explorarem a MANET em busca do melhor caminho para o nó destino.

Esta distribuição de feromônio utiliza mensagens curtas de hello que são transmitidas pelos nós, periodicamente de modo assíncrono, via broadcast para todos seus vizinhos. Nestas mensagens de hello, o nó i envia uma lista contendo no máximo k nós destinos. De acordo com Ducatelle (Ducatelle 2007), o k geralmente possui valor igual 10, mas ele sugere um valor aleatório para o k, caso o número de destinos contidos na tabela de feromônio for maior que 10. Assim, para cada destino d associado ao maior valor de feromônio de i para d, Ti

md onde m representa o gateway para d (m ∈ Ndi).

Quando o nó vizinho n recebe a mensagem de hello vinda de i, extrai da lista os valores de feromônio e verifica se algum dos destinos contidos na mensagem é de seu interesse. Caso localize uma informação que contenha um destino d que pode ser usado em uma de suas comunicações, o nó utiliza o custo de feromônio que levaria para enviar um pacote de n para d com gateway em i usando o valor de Ti

md, representado por vdi.

Assim, n inicia o reparo de rota, de forma a calcular uma nova estimativa de feromônio correspondente ao gateway i com destino d, dado pela equação:

(46)

widn = ((vid)−1+ tni)−1 (3.6)

Desta forma, a tabela de feromônio passa a guardar dois tipos de feromônios: um regular T e outro virtual W . De modo que se uma rota estiver sendo utilizada para o envio de dados o valor do feromônio Tn

id usa a estimativa do feromônio virtual wnid como

estimativa de feromônio tnd para se atualizar.

Caso o nó n não esteja enviando pacotes de dados para o nó d sendo i o gateway utilizado, o feromônio virtual Wn

id é então atualizado da mesma forma que o feromônio

regular Tn

id, com a simples diferença de utilizar wnid como estimativa, visto na fórmula:

Widn = γWidn+ (1 − γ)widn, γ ∈ [0, 1] (3.7)

Com esta distribuição de feromônio, as PRFAs conseguem usar tanto o feromônio regular quanto o virtual no processo de exploração de rotas, assim, se um determinado nó i não possuir um valor regular de feromônio Ti

nd na tabela, Wndi é utilizado para indicar

uma possível rota nova para d tendo como gateway n. Entretanto, este trajeto nunca foi utilizado por uma formiga devido o processo que distribuição de feromônio utilizar as mensagens de hello. Sendo que estas rotas proporcionadas pelo feromônio virtual podem levar a loops não detectados e conexões instáveis, de modo que não são usadas para enviar de dados. A fórmula usada pela PRFA para verificar as probabilidades de cada gateway é dada por: Pndi = [max(T i nd, Wndi )]B2 P j∈Ni d[max(T i jd, Wjdi )]B2 ,B2 ≥ 1 (3.8)

Isto possibilita que o feromônio virtual possa ser testado pelas PRFA. Desta maneira, o feromônio virtual é verificado e tem a probabilidade de ser usado para gerar uma nova rota regular, como no caso de uma PRFA alcançar o destino e ser transformada numa PRBA (PRoactive Backward Ant ), atualizando as trilhas de feromônio (da mesma forma que uma REBA), proporcionando que esta nova rota possa ser utilizada para enviar os dados pela rede, aumentando o número dos rotas disponíveis para o roteamento dos dados e permitindo que o protocolo explore novas oportunidades na topologia dinâmica da MANET.

Referências

Documentos relacionados

Este trabalho apresentou uma análise experimental da transferência de calor por convecção natural na camada-limite sobre um aquecedor 3D montado rente a uma das

a) política nacional de desenvolvimento do turismo; b) promoção e divulgação do turismo nacional, no país e no exterior; c) estímulo às iniciativas públicas e privadas de

The present study showed that patients with mild AD who received a multimodal experimental rehabilitation intervention (experimen- tal group) had an improvement in global

In this single-case experimental research, we assessed physio- logical (heart rate, respiratory rate, cardiac vagal tone, sympathetic balance and skin conductance) and

P/ ASSUNTOS ADMINISTRATIVOS (SUBADM) DEPARTAMENTO DE AQUISIÇÕES E LOGÍSTICA (DAL) Divisão de Compras de Bens e Serviços (DICOMP) MÊS REF: JUN/14 MODALIDADE: DISPENSA DE

Tânia Terezinha da Silva, no uso de suas atribuições, conforme autorização contida na Resolução do Conselho Curador Nº 213, de 26 de outubro de 2017, TORNA PÚBLICO

Neste contexto, o ponto de partida dessa investigação procurou confirmar ou não às seguintes hipóteses: será que a proposta de Educação Sanitária da Secretaria de Estado de

Nesse sentido este trabalho teve como objetivo o desenvolvido de um protótipo de automação de uma esteira transportadora com um sistema de Picking, utilizando a tecnologia