1 rdp no ambiente mobics rachel de paula [email protected]

39
1 RDP No Ambiente MobiCS Rachel de Paula [email protected]

Upload: bernardo-mancera

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

1

RDP No Ambiente MobiCS

Rachel de Paula

[email protected]

Page 2: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

2

Objetivo Apresentar o protocolo RDP

Mostrar uma versão melhorada do protocolo

Apresentar o simulador de protocolos MobiCS

Page 3: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

3

Introdução Numero de dispositivos móveis está

aumentando.

Os protocolos de comunicação têm que prover suporte à mobilidade.

Esta é uma área muito ativa e em vários pontos ainda não existe um consenso sobre a melhor abordagem a ser escolhida.

Page 4: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

4

Nomenclatura Mh (Mobile Host): Unidade Móvel, comunicação

sem fio. Mss (Mobile Support Stations): Estação Base,

ligada a rede fixa. Proxy: representa o Mh. Tem como função receber

mensagens do servidor e reenviá-las para o Mh. Célula: Uma célula é uma área geográfica atendida

por por uma estação base. Handoff: Quando uma unidade móvel atravessa a

região de fronteira entre estações base adjacentes.

Page 5: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

5

Nomenclatura

Page 6: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

6

RDP M. Endler e D.M. da Silva.

RDP: A Result Delivery Protocol for Mobile Computing.

O RDP é um protocolo que define regras para a entrega confiável de mensagens de servidores a clientes móveis.

Page 7: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

7

RDP Garantia de resposta.

O cliente móvel instancia proxies em várias estações base, cada uma correspondendo a uma das requisições pendentes.

Page 8: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

8

RDP - Funcionamento Para cada requisição é criado um proxy

no Mss responsável pelo Mh no momento exato em que a requisição é enviada.

O proxy faz o recebimento, armazenamento e reenvio de respostas dos servidores para a localização atual do Mh.

Page 9: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

9

RDP - Funcionamento Cada proxy guarda uma referência

(currentLoc) para o Mss responsável do Mh depois do último hand-off.

Para cada Mh, guarda-se uma lista de proxys (pList).

Page 10: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

10

RDP - Funcionamento O proxy recebe a resposta do servidor e

a reenvia para Mss atual do Mh (currentLoc).

Depois de recebida a confirmação de recebimento pelo Mh, o proxy providencia para que os registros de pendência dessa resposta sejam apagados.

Page 11: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

11

RDP - Handoff Mh migra da célula do Mss_o para a célula do Mss_n.

Mss_n envia mensagem do tipo dereg para Mss_o.

Mss_o envia pList, com a lista de todos os proxys do Mh.

Mss_o remove o Mh de sua lista de Mhs locais.

Page 12: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

12

RDP - Handoff Mss_n coloca Mh em sua lista de Mhs

locais.

Mss_n envia o seu endereço, através de uma mensagem updateCurrLoc, para cada proxy do Mh.

Cada proxy corrige a posição do Mh (currentLoc).

Page 13: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

13

RDP - Exemplo

Page 14: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

14

RDP - Conclusão Mensagens para clientes móveis não

mais locais ou indisponíveis para comunicação são perdidas.

Tamanho da lista de proxies pode aumentar indiscriminadamente.

Page 15: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

15

RDP - Conclusão A maior vantagem deste protocolo é

que apesar de a cada momento somente um Mss ser responsável em retransmitir o resultado de uma requisição para um dado Mh, o protocolo provê balanceamento de carga global dinâmico entre o conjunto de Mss.

Page 16: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

16

Nova Versão RDP M. Endler, D.M. da Silva, K. Okuda. A Reliable Connectionless Protocol for

Mobile Clients.

Nova versão do protocolo RDP, na qual um cliente móvel cria e mantém no máximo um proxy a cada cada instante.

Page 17: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

17

Nova Versão - Funcionamento Um proxy é criado para cada Mh que

deseja fazer requisições para o servidor. Ele é criado no Mss responsável pelo Mh no momento em que ele iniciou a série de requisições.

O proxy existirá até que sejam recebidas as confirmações (Acks) para todas as requisições.

Page 18: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

18

Nova Versão - Funcionamento O mesmo Mh poderá causar a criação de

um novo proxy no mesmo ou em outro Mss.

O proxy armazena o endereço do Mss responsável pelo Mh após o último hand-off (currentLoc). Ele também possui uma lista que contém todas as requisições pendentes do Mh (requestList) .

Page 19: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

19

Nova Versão - Funcionamento Para atualizar sua localização no

proxy a cada migração, cada Mh possui uma referência para o proxy (pRef).

O Mh também armazena uma flag que indica quando um proxy já reenviou o resultado do sua última requisição pendente e pode ser deletado.

Page 20: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

20

Nova Versão - Funcionamento Mss recebe uma nova requisição de um Mh.

Se o Mh já possui um proxy ele reenvia a requisição. Senão um novo proxy é criado localmente.

Quando um Mh migra de um Mss_o para um Mss_n. O Mss_n envia para o proxy a mensagem updateCurrentLoc.

Está mensagem também é enviada quando um Mss recebe uma mesagem de greet de um Mh, idicando que o Mh mudou do estado inativo para ativo.

Page 21: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

21

Nova Versão - Funcionamento Quando esta mensagem chega ao proxy, a

variável currentLoc é atualizada e todas as requisições que ainda não receberam um Ack são reenviadas para a nova localização.

Assim que o resultado de uma requisição chega no proxy, ele reenvia a mensagem para o Mss indicado na variável currentLoc.

Page 22: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

22

Nova Versão - Funcionamento O Mh envia um Ack desta mensagem.

O proxy marca a mensagem como concluída e a remove da lista requestList.

Se o Mss não conseguir localizar o Mh ele não reenvia a mensagem, o proxy irá fazer-lo assim que receber a nova localização do Mh.

Page 23: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

23

Nova Versão - Funcionamento Enquanto o proxy não receber um Ack

confirmando que o resultado da mensagem foi recebido pelo Mh, ele irá reenviar o resultado toda vez qua a variável currentLoc for atualizada.

Isto garante que todo resultado de uma requisição será eventualmente recebido pelo Mh. Porém, este resultado poderá ser recebido pelo Mh mais de uma vez.

Page 24: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

24

Nova Versão - Handoff Mh migra da célula do Mss_o para a

célula do Mss_n,

Mss_n envia uma mensagem dereg.

Mss_o envia uma mensagem deregAck para o Mss_n que contém a localização do proxy do Mh e o remove da sua lista de Mhs locais.

Page 25: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

25

Nova Versão - Handoff Ao receber a referência para o proxy do Mh,

o Mss_n coloca o Mh na sua lista de Mhs locais, e envia seu endereço para o proxy.

Se um Mh se torna inativo logo após receber o resultado da mensagem (mas não envia um Ack), ele irá receber esta mensagem novamente quando se tornar ativo.

Page 26: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

26

Nova Versão - Exemplo

Page 27: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

27

Nova Versão - Conclusão O envio redundante de mensagens não é

um problema grave, desde que o Mh seja capaz de identificar mensagens duplicadas.

Uma das vantagens deste protocolo é que, com exceção da referência para o proxy, nenhuma outra informação precisa ser armazenada no Mss. O Mss pode descartar os resultados das requisições após tentar enviá-las para o Mh.

Page 28: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

28

Nova Versão - Conclusão A sobrecarga deste protocolo é limitada

por duas mensagens extras:

O updateCurrLoc toda vez que um Mh migra ou se torna ativo.

Um Ack Extra enviado do Mss para o proxy toda vez que o Mh envia o Ack de uma mensagem.

Page 29: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

29

Simuladores De Protocolos Os sistemas para computação móvel devem

levar em consideração vários aspectos como: alta taxa de erros na comunicação sem fio. Mobilidade das estações. Energia dos dispositivos.

Devido a esta complexidade, simuladores têm sido utilizados com o objetivo de facilitar a prototipagem, testes e avaliação dos protocolos.

Page 30: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

30

Simulador MobiCS Simulador de protocolos desenvolvido

como trabalho de dissertação de mestrado de Ricardo Couto Antunes da Rocha.

"Uma arquitetura para simulação flexível de protocolos para Computação Móvel". Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do grau de mestre em Ciência da Computação.

Page 31: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

31

Simulador MobiCS Mobics (Mobile Computing Simulator), é um

simulador de protocolos distribuídos para computação móvel, que integra em uma única ferramenta a prototipagem, teste, validação e avaliação de protocolos distribuídos.

O simulador facilita a programação de protótipos de protocolos, tendo como base um modelo de programação modular e orientado a eventos, baseado no conceito de micro-protocolos.

Page 32: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

32

Simulador MobiCS O MobiCS possui dois modos de simulação.

O modo determinístico, nele o cenário de simulação é descrito detalhadamente pelo usuário através de um script.

O modo estocástico, nele os protocolos são testados através de simulações exaustivas e randômicas.

Page 33: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

33

MobiCS – Modo Determinístico Uma simulação determinística deve estender a

classe DetermSimulation, o script determinístico que será seguido durante a simulação é implementado no método script, que deve ser especializado pelo usuário.

Para configurar a simulação são oferidas várias interfaces ao usuário, com elas o usuário pode determinar os tipos de mensagens que serão exibidas, criar pontos de sincronização e controlar as máquinas simuladas.

Page 34: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

34

MobiCS – Modo Determinístico Exemplo:

O script deve descrever situações críticas

nas quais o protocolo precisa ser testado.

Mh1.moveTo(cell1);Mh1.send(Req);Mss3.send(server, new Ack(req));Mh2.unavailable();

Page 35: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

35

MobiCS – Modo Estocástico A simulação estocástica consiste em executar

o protocolo de maneira exaustiva e randômica, possibilitando a avaliação do desempenho do protocolo em um cenário realístico e aleatório.

É impossível criar todos os possíveis cenários determinísticos, portanto a simulação estocástica complementa a avaliação da corretude do protocolo.

Page 36: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

36

MobiCS - Simulação A principal diferença entre o modo de simulação

determinístico e estocástico é o modo como o usuário implementa a simulação.

Na simulação determinística o usuário deve especificar os elementos de simulação e cada ação que será efetuada durante a execução do protocolo.

Na simulação estocástica o usuário apenas define os elementos de simulação, que são as máquinas fixas, estações base, estações móveis, etc.

Page 37: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

37

MobiCS - Simulação Sequência de passos p/ implementar e simular

Declarar as interfaces e programar o protocolo Escolher o modo de simulação (determ./ estocástico) Programar um modelo de simulação adequado ao

protocolo (script deterministico ou classes simulação) Estender a classe DetermSimulation (ou

StochSimulation) definindo o ambiente de rede (elementos simulados & topologia, outros conceitos)

Implementar um programa Java que cria e inicia um objeto Simulação e chamar o método Simulation.start

Page 38: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

38

MobiCS - Simulação Etapas de implementação de um

protocolo. Definir todas as mensagens trocadas entre

elementos e seus respectivos micro-protocolos. Declarar cada uma das mensagens na forma

de uma subclasse de Message. Declarar as interfaces dos micro-protocolos. Declarar uma subclasse de Protocol que

implementa todas as interfaces dos micro-protocolos.

Implementar os métodos.

Page 39: 1 RDP No Ambiente MobiCS Rachel de Paula rpaula@ime.usp.br

39

Referências Dissertação de mestrado de Ricardo Couto Antunes da

Rocha, "Uma arquitetura para simulação flexível de protocolos para Computação Móvel".

Site com a versão atualizada do simulador MOBICS: http://www-di.inf.puc-rio.br/~endler/MobiCS/ M. Endler, D.M. da Silva, K. Okuda. A Reliable

Connectionless Protocol for Mobile Clients. Relatório Técnico RT-MAC-9911, IME-USP, September 1999. M. Endler, D.M. da Silva, K. Okuda. RDP: A Result Delivery

Protocol for Mobile Computing, Proc. of the Int. WNMC at the 20th Int. Conference on

Distributed Computing Systems (ICDCS), IEEE, Taiwan, R.O.C., April 2000.