Sistemas de localização dinâmica de serviços em ambientes de computação móvel Seminários GSD - 2003 IME/USP Ago/2003.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas distribuídos
Localização de Pessoas e Objetos ( Projeto Location Stack)
Sistemas de Localização baseados em
Universal Plug And Play Integrando inteligências computacionais por Marcio Belo R. Silva 7 de agosto de 2002 Orientador: Prof. Orlando Loques UFF - Universidade.
Internet - 1 Funcionamento da Internet m a Internet não foi projectada para serviços específicos mas como uma infraestrutura genérica e eficiente para.
Sistemas Distribuídos Web Services
Comunicação Distribuída
Interação Cliente Servidor
DNS Introdução.
SOA e Web Services Aluno: Thiago Caproni Tavares
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Comunicação Inter-Processos
Redes para Automação Industrial
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Service Discovery Protocols For mobile users Jul/2001.
Mobilidade Cláudia Ribeiro.
Sistemas Distribuídos
Middleware e Sistemas Distribuídos
Tecnologia de Informática
Carlos Eduardo Calvente Ribeiro Universidade Federal do Rio de Janeiro
Rodrigo de Souza Couto Redes de Computadores II
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Sistemas Distribuídos
Web Services Uninorte Semana de Tecnologia da Informação
IP MÓVEL 4º PERÍODO DISCIPLINA: REDES DE COMPUTADORES
Chamada Remota de Procedimentos
Redes de Computadores Aula Inaugural.
Marcela Bezerra da Silva Cin - UFPE
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Carolina Gelenske Carlos Eduardo Laís Xavier
Concorrência e Java RMI
Conceitos de J2EE para a WEB
Gerenciamento de Redes Utilizando Agentes Móveis
Endereçamento IP.
Sistemas Distribuídos
Mole: Um Sistema de Agentes Móveis Baseado em Java Curso de Ciência da Computação Departamento de Informática Disciplina de Tópicos Especiais em Computação.
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio.
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Java RMI João Gabriel (jggxm).
DHCP 1. Introdução Inicialmente, a necessidade de automatizar a requisição e distribuição do endereço IP deu-se em função da existência de estações.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
A Planejamento de Tecnologia da Informação nas Empresas – 3ª Fase continuação Diagrama de Entidade - Relacionamento Representa o relacionamento de todas.
Redes de computadores Interligação de máquinas diferentes, através de conexões físicas (cabos metálicos, fibras óticas)
INTRODUÇÃO AO IPv6.
7 © 2005 by Pearson Education SIP  Session Initiation Protocol  Desenvolvido pelo IETF Visão de longo prazo do SIP  Todas chamadas telefônicas.
Equipe ADA Recife, 2003 Projeto de Desenvolvimento de Software Profs. Hermano Perrelli e Jacques Robin MARCO ZERO Equipe ADA Francisco De A. M. Valadares.
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
STUN – Simple Traversal of UDP Through NATs
1 BSP no InteGrade II WorkShop do InteGrade c. 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com.
A High Performance Java Middleware with a Real Application HUERT, Fabrice; CAROMEL, Denis; Bal, Henri E. Supercomputing 2004 Trabalho desenvolvido por:
Java – Remote Method Invocation (RMI)
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
SyncML Apresentação –Introdução Motivação Iniciativa SyncML –XML (eXtensible Markup Language) –Protocolos SyncML –Sincronização em duas vias –Conclusões.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Jini Network Technology MAC Seminário Nov/2001.
A Multilayer P2P Framework for Distributed Synchronous Collaboration Fernando Abrahão Afonso Leonardo Kunz Programação com Objetos Distribuídos Trabalho.
1 Edgar Marçal de Barros Filho Orientador: Riverson Rios Co-Orientadora: Rossana Andrade Aprendizagem utilizando Dispositivos Móveis com Sistemas de Realidade.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Sistemas Distribuídos
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
Equipe ADA Recife, 2003 Projeto de Desenvolvimento de Software Profs. Hermano Perrelli e Jacques Robin MARCO ZERO Equipe ADA Francisco De A. M. Valadares.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

Sistemas de localização dinâmica de serviços em ambientes de computação móvel Seminários GSD IME/USP Ago/2003

Roteiro Problema Motivação Soluções Protótipo Trabalhos Futuros Bibliografia

Problema abordado Usuário móvel (UM) conectado a uma rede sem fio Deseja utilizar serviço de impressão Localizar impressora mais próxima Configuração automática

Problema genérico Em uma rede: Serviços disponíveis são desconhecidos Características dos serviços não são conhecidas Dificuldade de acesso ao serviço

Problema (cont.) Em uma rede: Configuração manual Usuários móveis (redes sem fio)  Recursos da rede subutilizados  Aumento das tarefas administrativas

Desejável Busca de serviços por características Localização do serviço mais conveniente Reconfiguração dinâmica Acesso transparente

Desejável (cont.) Divulgação de novos serviços Tolerância a falhas do servidor  Administração “zero”  Redes “plug and play”

Questões 1) Como prover um mecanismo de busca aos serviços da rede? 2) Como obter acesso transparente ao serviço? 3) Como obter a localização física das unidades móveis?

Soluções Sistemas de Localização de Serviços (SLS): Repositório de serviços, classificados ou “páginas amarelas” Middleware entre cliente e servidor Framework para implementação de serviços

SLS - Arquiteturas SLP – Service Location Protocol Jini Network Technology Microsoft Universal Plug and Play Salutation Bluetooth SDP

SLP - IETF Especificado pelo IETF através de RFCs Baseado em trocas de mensagens via TCP/IP ou UDP Serviços simples: registro através de URLs (IP + porta)

Elementos Service Agent (SA) User Agent (UA) Directory Agent (DA) * (*) Opcional

Operações Localização do DA Registro de um serviço Consulta - Operações realizadas através de troca de mensagens: unicast ou multicast

Mensagens LengthVersionFuncID LengthFlagsExtension XID Language Language Length Cabeçalho binário: - Mais campos específicos de cada tipo de mensagem (Length, Value)

Simulação SrvRqst DAAdvert SrvReg SrvAck Localiza DA Registra SA UADASA

Simulação (cont.) SAAdvert SrvRqst SrvRply Consulta Srv (com DA) Consulta Srv (sem DA) UASADA

Problemas Forma de acesso ao serviço não é contemplada Não possui seleção automática do serviço mais conveniente Não soluciona o problema da impressora mais próxima

Implementação SLP SA registra um atributo com a sua localização física Foi criada uma nova mensagem: SrvRqstWithLocation equivalente ao SrvRqst Adicionado um campo adicional User Location, que representa a localização da UM

Implementação SLP UA envia ao DA uma mensagem SrvRqstWithLocation informando a sua localização DA foi modificado para receber e interpretar a nova mensagem Mecanismo de seleção do serviço foi reescrito para encontrar o servidor mais próximo ao cliente

Jini - Arquitetura Desenvolvido em Java Utiliza fortemente a camada RMI Baseado na troca de objetos distribuídos Mobilidade de código

Elementos Service Provider (SP) Client (C) Lookup Service (LS) * (*) elemento principal

Micro-protocolos Localização do LS Publicação de um serviço Consulta - Operações realizadas através do LS

Localização do LS Modos: Multicast Request Multicast Announcement Unicast Discovery Retorna objeto remoto ServiceRegistrar (stub RMI) representando o LS

Publicação do Serviço 1) Obtém referência para LS 2) Constrói ServiceItem: a) Id (opcional) b) Proxy c) Atributos 3) Define política de Leasing 4) Registra o serviço: ls.register(item, time) 5) Inicia serviço e espera requisições

Publicação do Serviço SP RMI LS Service Proxy ServiceItem Attr 1 Attr n

Consulta 1) Obtém referência para LS 2) Constrói ServiceTemplate: a) Seu id b) Atributos c) Tipo (interface Java) - ls.lookup(template) 3) Recebe service proxy 4) Acessa o serviço

Consulta 4 Cliente SP RMI LS Service Proxy 1 2 3

Problemas Não possui seleção de serviços: por demanda localidade Não resolve o problema da impressora mais próxima

Implementação Jini Serviço de impressão registra um atributo com a sua localização física Classe ServiceRegistrar, que representa LS, foi estendida Método lookup do LS foi sobrecarregado para: Receber localização da UM Escolher a impressora mais próxima de acordo com a sua semântica de proximidade

Soluções (cont.) Sistemas de Localização de UMs: Surgiram no final da década de 80 Objetivo: rotear chamadas PABX para ramal mais próximo ao destinatário Técnicas utilizadas: Triangulação Proximidade Análise de cenas

Técnica de Triangulação Baseada nas propriedades geométricas de triângulos Subdividida em: Lateração: utiliza medidas de distância entre a UM e pontos de referência Angulação: utiliza medidas de ângulo para computar a localização

Lateração Distâncias da UM a três pontos não- colineares (2D) ou quatro pontos (3D) Heurísticas de medição: Direta: ação física, difícil de automatizar Time-of-flight: tempo do sinal até o ponto de referência, vel. cte conhecida Atenuação: intensidade do sinal, função f(d)

Angulação Utiliza ângulo de recebimento do sinal emitido e a distância conhecida entre os dois pontos de referência (2D) Técnica de AngulaçãoTécnica de Lateração

Proximidade Identifica quando a UM está em uma área conhecida Técnicas de identificação: Contato físico: sensores de toque, pressão, etc. Receptores de acesso: recebe o sinal da UM Sistema de identificação: terminais, computadores, etc.

Análise de Cenas Utiliza características de uma cena observada de uma posição estratégica Armazena base de dados com características da cena x localização Compara as características observadas com a base de dados pré-armazenada A cena pode ser uma imagem de uma câmera ou outro fenômeno mensurável

Outras Propriedades Ambientes externos x indoor Localização física x simbólica Posição absoluta x relativa Precisão e Exatidão Computação local Reconhecimento

Tecnologias Active Badge: pioneiro, baseado em sinais IR, beacons, badge, localização simbólica Active Bat: pulsos ultra-som, UM acoplada ao Bat Tag, triangulação GPS: externo, através de 24 satélites, time-of-flight Microsoft RADAR e Ekahau: análise de cenas, baseado na intensidade do sinal

Tecnologias (cont.) LocalizaçãoRedePrecisãoTécnica Active Badge Simbólica Infra- vermelho Tamanho da célula Proximidade Active Bat FísicaRádio9cm – 95%Triangulação GPS FísicaRádio10m – 95%Triangulação Radar FísicaIEEE m – 50% Análise de Cenas Ekahau FísicaIEEE m – 75% Análise de Cenas

Tecnologia utilizada Sistema para ambiente indoor Utilize somente protocolo da rede sem fio Sem hardware adicional API de acesso em Java

Ekahau Positioning Engine Utiliza apenas a infra-estrutura da rede sem fio, sem hardware adicional Baseado na intensidade de sinal (RSSI). O sistema é calibrado e armazena o RSSI de cada ponto de amostra Compara RSSI da UM com o BD e infere a localização da mesma Fornece localização relativa física (e simbólica)

Ekahau Positioning Engine Módulos : Positioning Engine * Ekahau Manager/Calibrator Device Service (*) API Java de acesso ao Positioning Engine

Ekahau - Exemplo de Uso

Protótipo Módulos : Servidor de Impressão: canal de comunicação final com a impressora Localização: cliente do ekahau e semântica de proximidade SLP: agentes do SLP Jini: elementos do jini Palm: cliente móvel do sistema

Cliente Palm Exemplo de cliente móvel do sistema para pequenos dispositivos Implementação em Java – Arquitetura Waba™ Poucos recursos  Proxy Client(sds, loc, dados) GUI para dados a serem impressos: AddressBook, ToDo, E-Docs, s

Cliente Palm Lista de registros Visualização do registro PalmEmu:

Simulação 1) Obtém informação de localização 2) Envia dados e loc para o proxy 3) Instancia cliente do SDS escolhido 4) Consulta serviço de impressão 5) Seleciona servidor mais próximo 6) Retorna info de acesso ao servidor 7) Utiliza serviço 8) Imprime arquivo a) Inicia serviço de impressão b) Publica serviço com sua localização

Simulação Palm SP Loc. LSClienteProxy PrintSrv Início a) b)

Trabalhos Futuros Implementação de outras semânticas de proximidade “Bridge” entre SLP e Jini Testes em outras plataformas (Pocket PC) Otimizações – Cache no LS

Bibliografia Protótipo: prototipo/ IETF SLP: Jini:

Bibliografia (cont.) Ekahau: Waba: Homepage: rado/