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

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

Embed Size (px)

Citation preview

Sistemas de localização dinâmica de serviços em ambientes de

computação móvel

Seminários GSD - 2003IME/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é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)

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

LengthVersion FuncID

Length Flags Extension

Extension XID

LanguageLanguage Length

Cabeçalho binário:

- Mais campos específicos de cada tipo de mensagem (Length, Value)

Simulação

SrvRqstSrvRqst

DAAdvert

DAAdvert

SrvReg

SrvAck

Localiza DA

Registra SA

UA DASA

Simulação (cont.)

SAAdvert

SrvRqst

SrvRqst

SrvRplyConsulta Srv(com DA)

Consulta Srv(sem DA)

UA SADA

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ç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

Publicação do Serviço

SP

RMI

LS

ServiceProxy

ServiceItem

Attr 1

Attr n

1

32

4

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

Consulta

4

Cliente

SP

RMILS

ServiceProxy

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çã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

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

Lista de registros Visualização do registro

PalmEmu:

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

Simulação

Palm

SP

Loc.

LSClienteProxy

PrintSrv

Início

a)

b)

1

2

3 4

5

6

7

8

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/mestrado/