1 / 39

RDP No Ambiente MobiCS

RDP No Ambiente MobiCS. Rachel de Paula rpaula@ime.usp.br. 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.

Download Presentation

RDP No Ambiente MobiCS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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 melhorabordagem 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 ereenviá-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 alocalizaçã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 umamensagem 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óveisnão mais locais ou indisponíveis para comunicação sãoperdidas. • 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ávelem retransmitir o resultado de uma requisição para um dado Mh, o protocolo provê balanceamentode 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 é criadono Mss responsável pelo Mh nomomento em que ele inicioua 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çãode 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 umareferência para o proxy (pRef). • O Mh também armazena uma flag que indica quando um proxy já reenviouo 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 mudoudo 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 novalocalizaçã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 proxyirá 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, oMss_n coloca o Mh na sualista de Mhs locais, e envia seu endereço para o proxy. • Se um Mh se torna inativo logo apósreceber 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 outrainformação precisa ser armazenada no Mss.O Mss pode descartar os resultados dasrequisiçõ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 aspectoscomo: • alta taxa de erros nacomunicação sem fio. • Mobilidade das estações. • Energia dos dispositivos. • Devido a esta complexidade, simuladores têm sidoutilizados com o objetivo de facilitar a prototipagem, testes e avaliação dosprotocolos.

  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ísticada Universidade de São Paulo para obtenção do grau de mestre em Ciência daComputação.

  31. Simulador MobiCS • Mobics (Mobile Computing Simulator), é um simulador de protocolos distribuídos para computação móvel, que integraem uma única ferramenta a prototipagem, teste, validação e avaliação de protocolos distribuídos. • O simulador facilitaa 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 testadosatravé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ísticoque será seguido durante a simulação é implementado no método script, que deve ser especializadopelo usuário. • Para configurar a simulação são oferidas várias interfaces ao usuário, com elas o usuário podedeterminar os tipos de mensagens que serão exibidas, criar pontos de sincronização e controlaras 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();

  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ásticacomplementa 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 comoo usuário implementa a simulação. • Na simulação determinística o usuário deve especificar oselementos 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 asmá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 DistributedComputing Systems (ICDCS), IEEE, Taiwan, R.O.C., April 2000.

More Related