Service Discovery Protocols - IME-USP

Propaganda
Sistemas de localização dinâmica
de serviços em ambientes de
computação móvel
Seminários GSD - 2003
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
Cabeçalho binário:
Version
FuncID
Length
Flags
Length
Extension
Extension
XID
Language Length
Language
- Mais campos específicos de cada tipo de
mensagem (Length, Value)
Simulação
UA
SA
SrvRqst
DA
SrvRqst
DAAdvert
Localiza DA
DAAdvert
SrvReg
SrvAck
Registra SA
Simulação (cont.)
UA
DA
SA
SrvRqst
Consulta Srv
(com DA)
SrvRply
SrvRqst
SAAdvert
Consulta Srv
(sem DA)
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)
2)
Obtém referência para LS
Constrói ServiceItem:
a)
b)
c)
3)
4)
5)
Id (opcional)
Proxy
Atributos
Define política de Leasing
Registra o serviço:
ls.register(item, time)
Inicia serviço e espera requisições
Publicação do Serviço
1
RMI
4
SP
2
3
LS
ServiceItem
Service
Proxy
Attr 1
Attr n
Consulta
1)
2)
Obtém referência para LS
Constrói ServiceTemplate:
Seu id
b)
Atributos
c)
Tipo (interface Java)
- ls.lookup(template)
a)
3)
4)
Recebe service proxy
Acessa o serviço
Consulta
1
RMI
Cliente
3
2
LS
Service
Proxy
SP
4
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ãocolineares (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
Infravermelho
Tamanho 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
Ekahau - Exemplo de Uso
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, e-mails
Cliente Palm

PalmEmu:
Lista de registros
Visualização do registro
Simulação
a)
Inicia serviço de impressão
b)
Publica serviço com sua localizaçã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
Simulação
8
PrintSrv
a)
SP
7
Proxy
3
b)
4
Cliente
LS
6
2
5
Palm
Início
1
Loc.
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
Bibliografia (cont.)

Ekahau:
http://www.ekahau.com

Waba:
http://www.waba.com

Homepage:
http://www.ime.usp.br/~lmap/mest
rado/
Download