Directed Diffusion. Danilo Michalczuk Taveira 1. Grupo de Teleinformática e Automação (GTA) Disciplina CPE825 - Roteamento em Redes de Computadores

Documentos relacionados
Zone Routing Protocol - ZRP[1]

Sistemas Distribuídos

Redes de Computadores

Suburban Ad-Hoc Network (SAHN)

Roteamento Prof. Pedro Filho

Redes (celulares) tradicionais. Redes móveis ad hoc MANET. Redes ad hoc. Para que MANETs? Aplicações. Conectividade single hop com o mundo com fio

Roteamento e Roteadores. Conceitos Diversos

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

Ad Hoc On-Demand Distance Vector (AODV)

SISTEMA PARA PREVER A CHEGADA DE ÔNIBUS NOS PONTOS DE PARADA Felipe Saraiva da Costa¹, André Castelo Branco Soares².

Dynamic Source Routing (DSR)

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Gerenciamento de Redes: Protocolo SNMP

4 Sistema Computacional:

XX Seminário Nacional de Distribuição de Energia Elétrica SENDI a 26 de outubro Rio de Janeiro - RJ - Brasil

Protocolo Híbrido de comunicação em RSSF móvel com coordenação baseada em enxame de robôs com comunicação contínua com a base

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Transmissão Multicast Confiável e Experimentos na Internet

TreeDC: Um Algoritmo de Coleta de dados Ciente da Energia para Redes de Sensores sem Fio

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

Universidade Federal do Rio de Janeiro COPPE - UFRJ. Optimized Link State Routing Protocol (OLSR) Julio Heitor Silva Nóbrega

Ordenação de Eventos em Redes de Sensores. Clara de Mattos Szwarcman

Redes de Computadores. Prof. MSc André Y. Kusumoto

Aula 13 Roteamento Dinâmico com Protocolos Link-State (Protocolo OSPF)

Redes de Computadores

ROUTER. Alberto Felipe Friderichs Barros

Redes de Computadores III / /

Trabalho Prático 1 P2P-SDIS

Sub-Redes. Alberto Felipe Friderichs Barros

Compreendendo o Cisco Express Forwarding (CEF)

Reduzindo a sobrecarga da descoberta de rotas no roteamento em redes ad hoc móveis

Redes de Computadores. Prof. André Y. Kusumoto

Directional Routing Protocol (DRP)

Prof. Marcelo Cunha Parte 6

Redes de Computadores

Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável

Avaliação de Heurísticas para Coleta de Dados em Redes de Sensores

CST em Redes de Computadores

Modelo de Camadas. Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Nível de Rede. Funções do nível de rede GCAR

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

CENÁRIO 1: SINTAXE: [rede de destino] via [gateway direta] por [interface] custo [valor do custo]

Resumo: Dynamic MANET On-demand Routing Protocol (DYMO)

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Organização e Arquitetura de Computadores I

CPE Roteamento em Redes de Computadores

Protocolos de Roteamento link-state

Resolvendo o problema de snapshot em redes DTN utilizando algoritmos distribuídos

Redes de Computadores.

O Pronome PARENT 5.1. O Objeto que Declarou o Objeto Corrente da Execução

Redes de Computadores

Comunicação de Dados II

RIP Routing Information Protocol

INFO3M ARQ REDES. Prova 1 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

Aula 12 Protocolo de Roteamento EIGRP

Arquitetura geral. Redes de Sensores. Características. Arquitetura

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Submódulo Análise de falhas em equipamentos e linhas de transmissão

Redes de Sensores. Arquitetura geral. Características

Introdução à Computação

Definição Rede Computadores

Introdução a Redes de Computadores. Elementos de Interconexão

Sistemas Distribuídos

Figura 36: Interface gráfica de testes.

Mestrado em Telecomunicações. TP 525 Redes Convergentes

A subcamada de controle de acesso ao meio. LANs sem fios Pontes entre LANs

Redes sem Fio WPANs (IEEE ) Wireless Personal Area Networks. Ricardo Kléber. Ricardo Kléber

Computação móvel na nuvem Grover E. Castro Guzman Computação Móvel MAC5743 IME-USP

Escola Politécnica da Universidade de São Paulo

Seleção de Atributos 1

5 Proposta de Integração com as Redes Sociais Pervasivas

Técnicas de comutação

TE239 - Redes de Comunicação Lista de Exercícios 2

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

Aplicando Gestão de Energia ao Protocolo de Roteamento para Redes Ad Hoc Móveis VRP

Redes Orientadas a Conteúdo

Nível de Rede. Modelo de Referência OSI GCAR

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Conceitos computacionais

Roteamento e IP móvel

Submódulo Análise de falhas em equipamentos e linhas de transmissão

A Arquitetura do s

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Pocket Switched Networks: Real World Mobility and its consequences for opportunistic forwarding

Computadores. HW e SW

Redes de Computadores

Detecção e Mitigação de Ataque de Negação de Serviço Distribuído em Redes Centradas no Conteúdo.

CST em Redes de Computadores

Configurar o Internet Group Management Protocol (IGMP) ou a espião da descoberta do ouvinte do Multicast (MLD) em um interruptor

Seminário: André V. S. Cunha

Prof. Roitier Campos Gonçalves 1. Aula 02. Introdução aos Conceitos de Roteamento

Protocolo MPLS: Multiprotocol Label Switching

As mensagens HL7 de confirmação, ou ACK, são fundamentais para garantir que a comunicação HL7 em andamento seja continua e sem problemas.

Interconexão de redes locais. Repetidores. Pontes (Bridges) Existência de diferentes padrões de rede. Interconexão pode ocorrer em diferentes âmbitos

Introdução as Redes 02/04/2019. Técnico em Informática 4º Int. Redes de Computadores Fabricio A. Steinmacher. Estrela. Barrramento. Extendida.

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Controle de Topologia em RSSF

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Aula 1 Conceitos Básicos

Transcrição:

Directed Diffusion Danilo Michalczuk Taveira 1 1 Universidade Federal do Rio de Janeiro (UFRJ) Grupo de Teleinformática e Automação (GTA) Disciplina CPE825 - Roteamento em Redes de Computadores danilo@gta.ufrj.br 1. Introdução Com os avanços tecnológicos, os recursos computacionais como capacidade de processamento, memória e meios de armazenamento estão cada vez mais se tornando viáveis de serem incorporados a diferentes dispositivos. Esse processo possibilitou o surgimento de nós sensores inteligentes, capazes de se comunicarem entre si formando uma rede de sensores que pode realizar uma dada tarefa de sensoriamento, de acordo com ordens passadas aos nós sensores. Um aspecto importante desse tipo de rede é que os nós geralmente funcionam alimentados por bateria, tornando a energia um aspecto muito importante que deve ser observado tanto no projeto da sua arquitetura quanto nos protocolos e aplicações que sejam executadas nesses nós. O protocolo Directed Diffusion foi projetado para redes de sensores. O operador responsável pela rede pode enviar uma mensagem contendo o tipo de evento que deve ser analisado pelos nós sensores e a área de interesse. Os nós da rede irão repassar essa informação até que chegue aos nós da região de interesse. Os nós intermediários podem direcionar ou responder a mensagens de interesse em eventos com base em informações já conhecidas anteriormente, diminuindo a troca de informações desnecessárias, o que é importante para a redução do consumo de energia. 2. Directed Diffusion O protocolo é composto por vários elementos: interesses, mensagens de dados, gradientes e reforços. A mensagem de interesse é utilizada para propagar a tarefa a ser realizada pelos nós, sendo composta por parâmetros que irão definir o tipo de tarefa a ser realizada e a área a ser observada. As mensagens de dado são geradas a partir dos eventos observados e processados pelos nós sensores. Os dados, dessa forma, representam um evento que foi detectado pelos sensores, sendo descrito através de pares de atributos e valores. As mensagens de interesse quando são propagadas através da rede criam gradientes que são estados guardados pelos nós que receberam as mensagens de interesse, indicando os nós que enviaram interesses. Os gradientes definem os nós que devem receber os dados que sejam do interesse especificado. 2.1. Esquemas de nomes Os interesses e dados são representados por pares de atributos e valores que serão diferentes para cada tipo de rede de sensores. O interesse contém um campo de tipo que define o tipo de evento a ser analisado, um intervalo que representa a taxa de mensagens de dados ou eventos desejada, a duração da tarefa, uma estampa de tempo representando o horário em que foi gerado e as coordenadas da área de interesse.

As mensagens de dado geradas pelos nós sensores quando detectam o evento de interesse, contém a informação do tipo de evento que foi observado, a localização do nó, estampa de tempo da observação do evento e pode ainda conter campos contendo o valor e confiança do valor medido para o evento, caso aplicável. 2.2. Interesses e Gradientes Os interesses podem ser originados em qualquer um dos nós da rede, geralmente através de uma tarefa programada por uma pessoa. O nó que origina o interesse é chamado de nó sorvedouro e será o nó que receberá os eventos correspondentes ao interesse gerado. Os interesses devem ser inicialmente propagados pela rede, para o estabelecimento dos gradientes e o posterior envio dos dados dos eventos. Quando uma tarefa é passada ao nó sorvedouro, ela é guardada em uma tabela de tarefas do nó e só será removida após o período de duração que foi especificado inicialmente. Para cada tarefa que o nó sorvedouro possui, são enviadas mensagens de interesse para cada um dos seus vizinhos. Essas mensagens de interesse contêm a mesma duração e área que foram especificadas na tarefa original. Já o campo de intervalo entre os eventos é alterado para um valor maior do que o original. Dessa forma, são criados e propagados interesses com uma taxa de eventos menor do que a original. Esses interesses são chamados de interesses exploratórios e têm como objetivo determinar se existem nós sensores da rede que irão atender ao interesse original. Os interesses exploratórios são constantemente reenviados pelo nó sorvedouro, alterando apenas a estampa de tempo do interesse. O procedimento de reenvio é utilizado, pois a rede de sensores geralmente não possui confiabilidade na transmissão dos pacotes. Cada nó da rede mantém um cache de interesses, onde cada item corresponde a um interesse distinto. Se dois interesses recebidos forem do mesmo tipo e suas áreas não forem disjuntas, eles podem ser agregados em apenas um interesse, reduzindo o número de estados na tabela de interesses. Cada uma das entradas da tabela de interesses contém um campo de estampa de tempo que é atualizado a cada interesse recebido. Além disso, cada entrada também contém vários campos de gradientes, para cada um dos vizinhos que enviaram o interesse. Cada um dos gradientes contém a informação da taxa de eventos que foi solicitada e a duração do gradiente, ambos derivados do interesse recebido. Quando um nó recebe um interesse, ele primeiramente verifica se o interesse existe na tabela de interesses. Caso ainda não exista, é criada uma nova entrada na tabela, com apenas um gradiente para o nó que enviou o interesse. Caso o interesse recebido já esteja presente na tabela de interesses, verifica-se então se existe um gradiente para o nó de origem do interesse. Se o gradiente para o nó não existir, é criado um novo gradiente. Independentemente do gradiente já existir ou não, os campos da estampa de tempo e duração da tabela interesse são atualizados com base nos dados do interesse recebido. No momento em que um gradiente para um determinado nó expira, ele é removido da entrada da tabela de interesses ao qual estava associado. No momento em que o último gradiente de um determinado interesse é removido, o interesse também é removido da tabela.

Como cada nó transmite os interesses sem a informação sobre o nó sorvedouro, os nós não tem como distinguir entre a mensagem de interesse enviada pelo sorvedouro e outra mensagem que foi enviada por um segundo nó que recebeu e repassou a mensagem de interesse do próprio nó. Dessa forma, são criados gradientes bidirecionais, que criam loops. O problema da resolução dos loops é feito através do algoritmo de propagação dos dados, que será visto em seguida. Ao receber um interesse, um nó deve enviar interesses para os seus vizinhos de forma a possibilitar a propagação dos interesses através da rede. Uma possibilidade para o envio de interesses é o nó enviá-los para todos os seus vizinhos, inundando toda a rede com as mensagens de interesse. Outra possibilidade é enviar os interesses apenas na direção dos nós especificados na área de interesse, assumindo a existência de informações geográficas sobre o posicionamento dos vizinhos de cada nó. Outra maneira de enviar seletivamente os interesses é através do uso de cache de dados. Um nó que anteriormente recebeu informações sobre uma determinada área através de um de seus vizinhos, irá enviar as mensagens de interesse para essa área através desse vizinho. Uma outra possibilidade que pode ser explorada é o estabelecimento de gradientes através de mensagens de dados recebidas. Esse mecanismo é vantajoso para redes onde é necessário que um nó informe aos demais sobre um determinado evento, mesmo sem outros nós terem enviados interesse para o evento. 2.3. Propagação dos Dados Um nó que esteja na região de algum dos interesses recebidos, liga os seus sensores para monitorar os eventos que foi projetado para observar, já que os sensores normalmente ficam desligados para economizar energia. Ao detectar algum evento a partir dos seus sensores, o nó processa o evento e procura na sua tabela de interesses se existe algum interesse que coincida com o tipo de evento que foi observado. Se existir algum interesse para o evento observado, o nó envia uma mensagem de dados em unicast contendo a descrição do evento para todos os nós que são listados nos gradientes para o interesse. Um nó que receba uma mensagem de dados verifica se possui algum interesse que corresponda ao tipo e a área onde o evento informado pela mensagem de dados. Se o nó não possuir nenhum interesse para o dado, ele é descartado, já que não será utilizado pelo nó e o mesmo não possui nenhum gradiente para outros nós com interesse no evento. Por outro lado, caso exista algum interesse para o dado recebido, o nó verifica o cache de dados associado à entrada da tabela de interesses. Esse cache de dados guarda as últimas mensagens de dados que foram recebidas recentemente. Caso a mensagem esteja presente no cache de dados, significa que ela foi recebida recentemente, fazendo com que ela não seja reencaminhada, para evitar a formação de loops, já que o mecanismo de estabelecimento de gradientes não garante a ausência de loops. Caso a mensagem não esteja presente no cache, ela é adicionada ao cache e reencaminhada para todos os vizinhos que são listados nos gradientes para o interesse. O cache de dados também é utilizado para determinar a taxa de eventos que está sendo recebida pelo nó. Antes de reenviar a mensagem de dados, o nó verifica a taxa de eventos para cada um dos seus gradientes. Se a taxa dos gradientes for maior ou igual à taxa de eventos que está sendo recebida, as mensagens são encaminhadas. Caso algum

dos gradientes tenha uma taxa de eventos menor, o nó não envia algumas mensagens de dados para os nós com taxa de evento menor, de forma a não ultrapassar a taxa de eventos que foi requisitada no interesse do nó representado pelo gradiente. 2.4. Reforço dos Caminhos O sorvedouro repetidamente envia interesses exploratórios para o evento desejado com uma baixa taxa de eventos, de forma a descobrir quais os nós da rede que podem fornecer informações sobre o evento desejado. Quando algum dos nós detecta o evento que era de interesse, ele começa a enviar dados a uma baixa taxa, que foi especificada nos interesses exploratórios. Esses eventos que são recebidos inicialmente são chamados de eventos exploratórios. Pelo próprio mecanismo de propagação dos interesses, os eventos exploratórios irão chegar ao nó sorvedouro através de vários caminhos. Quando o sorvedouro recebe os eventos exploratórios, tem que realizar o reforço de um ou mais caminhos, de forma a receber os eventos na taxa que foi inicialmente especificada na tarefa recebida. 2.4.1. Reforço Positivo O primeiro passo a ser realizado pelo nó sorvedouro ao receber eventos exploratórios é reforçar os vizinhos dos quais o nó recebeu um evento que não foi recebido anteriormente. Para realizar o reforço de um determinado nó, o sorvedouro reenvia um interesse com um intervalo de tempo menor, o que representa uma taxa de eventos maior. Quando o vizinho do nó sorvedouro recebe o novo interesse ele atualiza o campo do gradiente para o nó sorvedouro com a nova taxa de eventos e verifica se a taxa de todos os seus outros gradientes é menor do que a atual. Caso positivo, a taxa atual de eventos que é recebida pelo nó não será capaz de satisfazer ao novo gradiente. Nesse caso, o nó que recebeu o interesse do sorvedouro faz o reforço de alguns de seus vizinhos, da mesma forma como foi feito pelo nó sorvedouro e o processo é repetido para todos os nós que precisarem reforçar seus vizinhos. No processo de reforço dos nós vizinhos, um nó pode escolher reforçar todos os vizinhos dos quais recebeu eventos recentemente ou, então, reforçar o vizinho que enviou o último evento. Nesse caso podem ser escolhidos vários caminhos, fazendo com que os dados cheguem de forma mais rápida ao compromisso da utilização de mais recursos da rede, já que serão necessárias mais transmissões para a utilização de múltiplos caminhos. 2.4.2. Reparo Local O reforço positivo pode ser utilizado também para o reparo de caminhos que falharam, o que é comum em redes de sensores sem-fio. Quando um determinado nó detecta que um caminho que estava sendo utilizado para receber os dados falhou, o nó realiza um processo de reforço positivo de alguns de seus vizinhos, como foi mostrado anteriormente. Dessa forma, novos caminhos podem ser utilizados de forma a tentar garantir a taxa de eventos solicitada no interesse.

2.4.3. Reforço Negativo O mecanismo de reforço negativo é utilizado para amenizar o problema do uso de múltiplos caminhos, que acabam consumindo mais energia da rede. Quando um dos caminhos é reforçado, deve-se realizar um reforço negativo no caminho utilizado anteriormente. Uma das possibilidades para realizar o reforço negativo é através da expiração de gradientes que não são reforçados. Dessa forma, para deixar de utilizar um caminho o nó simplesmente para de enviar interesses para o nó que não quer reforçar o caminho. Os interesses exploratórios, no entanto, continuam sendo enviados mesmo para o nó do caminho que está sofrendo o processo de reforço negativo. A abordagem de esperar os gradientes expirarem apesar de ser mais simples não é tão eficiente em comparação com a realização do reforço negativo de forma explícita, através de uma mensagem especial enviada aos vizinhos que não são mais úteis. Quando um vizinho sofre um reforço negativo, ele verifica se todos os seus outros gradientes são exploratórios. Caso positivo, ele não precisa receber eventos a taxas maiores, e realiza o reforço negativo dos seus vizinhos. A proposta do protocolo é realizar o reforço negativo para todos os nós que não enviaram eventos em um determinado tempo T ou se já foram recebidos um número N de eventos a partir de outros nós, desde o último evento recebido. A prevenção de loops que é feita através do cache de dados, pode ser otimizada através do reforço negativo dos caminhos que contém loops, de forma a aumentar a eficiência da rede, já que as mensagens de dados não serão mais enviadas em forma duplicada, diminuindo o consumo de energia. 3. Conclusão O protocolo Directed Diffusion é diferente dos outros protocolos de roteamento que são geralmente utilizados em redes de sensores e redes ad hoc, pois todo o protocolo é baseado nos dados e no interesse pelos dados, não existindo o conceito de encaminhamento dos dados para um determinado grupo de destinatários especificado pela origem. Os dados podem ser reencaminhados para alguns dos vizinhos ou descartados pelos nós intermediários, o que não acontece nos protocolos tradicionais, onde a fonte especifica o destino e os nós intermediários apenas reencaminham os pacotes. Dessa forma, não existe o conceito de um nó atuar como roteador ou encaminhar pacotes de dados, já que cada nó pode interpretar as mensagens de dados. Esse paradigma se justifica já que as redes de sensores não são redes de propósito geral, o seu principal objetivo é encaminhar os dados de eventos observados pelos sensores até um determinado nó sorvedouro da rede. Alguns aspectos do protocolo, no entanto, podem causar problemas de implementação, como a necessidade de informação sobre a localização geográfica dos nós para a determinação se os mesmos pertencem a região de interesse ou não. Apesar da possibilidade dessa limitação poder ser resolvida através da configuração manual da informação de posição de cada nó, ela não é viável para redes com muitos nós, tornando necessário que os nós possuam um sistema de posicionamento global (GPS), o que encarece os nós e gasta mais energia. Além disso, o protocolo utiliza estampas de tempo para informar o instante da ocorrência dos eventos, o que torna necessário um mecanismo de sincronia entre os relógios dos nós sensores, para obter um resultado preciso sobre o momento de ocorrência dos eventos.

Referências [1] C. Intanagonwiwat, R. Govindan e D. Estrin, Directed diffusion: a scalable and robust communication paradigm for sensor networks, em Mobile Computing and Networking, pp. 56 67, 2000. [2] C. Intanagonwiwat, R. Govindan, D. Estrin, J. Heidemann e F. Silva, Directed diffusion for wireless sensor networking, em Transactions on Networking, feb 2003. [3] C. Intanagonwiwat, Directed diffusion: An application-specific and data-centric communication paradigm for wireless sensor networks, dezembro de 2002. Computer Science Department.