Post on 07-Apr-2016
Sistemas de localização dinâmica de serviços em ambientes de
computação móvel
Seminários GSD - 2003IME/USP
Ago/2003
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éricoEm 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ões1) 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)
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
LengthVersion FuncID
Length Flags Extension
Extension XID
LanguageLanguage Length
Cabeçalho binário:
- Mais campos específicos de cada tipo de mensagem (Length, Value)
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
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ço1) Obtém referência para LS2) Constrói ServiceItem:
a) Id (opcional)b) Proxyc) Atributos
3) Define política de Leasing4) Registra o serviço: ls.register(item,
time)5) Inicia serviço e espera requisições
Consulta1) Obtém referência para LS2) Constrói ServiceTemplate:
a) Seu idb) Atributosc) Tipo (interface Java)- ls.lookup(template)
3) Recebe service proxy4) Acessa o serviço
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ção Té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çã
o Rede Precisão Técnica
Active Badge Simbólica Infra-
vermelhoTamanho da
célula Proximidade
Active Bat Física Rádio 9cm – 95% Triangulação
GPS Física Rádio 10m – 95% Triangulação
Radar Física IEEE 802.11 3-5m – 50% Análise de Cenas
Ekahau Física IEEE 802.11 1-5m – 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
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, e-mails
Simulação
1) Obtém informação de localização2) Envia dados e loc para o proxy3) Instancia cliente do SDS escolhido4) Consulta serviço de impressão5) Seleciona servidor mais próximo6) Retorna info de acesso ao servidor7) Utiliza serviço8) Imprime arquivo
a) Inicia serviço de impressãob) Publica serviço com sua localização
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:
http://www.ime.usp.br/~lmap/prototipo/
IETF SLP:http://www.srvloc.org
Jini:http://www.sun.com/jini