rdp no ambiente mobics

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

Upload: josiah-burks

Post on 30-Dec-2015

41 views

Category:

Documents


1 download

DESCRIPTION

RDP No Ambiente MobiCS. Rachel de Paula [email protected]. Objetivo. Apresentar o protocolo RDP Mostrar uma versão melhorada do protocolo Apresentar o simulador de protocolos MobiCS. Introdução. Numero de dispositivos móveis está aumentando. - PowerPoint PPT Presentation

TRANSCRIPT

1

RDP No Ambiente MobiCS

Rachel de Paula

[email protected]

2

Objetivo Apresentar o protocolo RDP

Mostrar uma versão melhorada do protocolo

Apresentar o simulador de protocolos MobiCS

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.

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.

5

Nomenclatura

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.

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.

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.

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).

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.

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.

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).

13

RDP - Exemplo

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.

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.

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.

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.

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) .

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.

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.

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.

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.

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.

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.

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.

26

Nova Versão - Exemplo

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.

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.

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.

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.

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.

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.

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.

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();

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

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.

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.

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

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.

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.