Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003
Roteiro Problema Motivação Soluções Implementação Plano de trabalho Bibliografia
Problema 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”
Solução 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
Solução (cont.) Sistemas de Localização de UMs: Tecnologia para ambiente indoor Utilize somente protocolo da rede Sistemas existentes para redes IEEE b: Ekahau e Microsoft Radar
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 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 Publicação de um serviço Consulta - Operações realizadas através de troca de mensagens: unicast ou multicast
Simulação SrvRqst DAAdvert SrvReg SrvAck Localiza DA Registra SA UADASA
Simulação (cont.) SrvRqst DAAdvert 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
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 (stub RMI) representando o LS
Publicação do Serviço 1) Obtém referência para LS 2) Constrói Service Item: a) Id (opcional) b) Proxy c) Atributos 3) Define política de Leasing 4) Registra o serviço
Publicação do Serviço SP RMI LS Service Proxy Service Item Attr 1 Attr n
Consulta 1) Obtém referência para LS 2) Informa o LS sobre o serviço procurado, através de: a) Seu id b) Atributos c) Tipo (interface Java) 3) Recebe service proxy 4) Acessa o serviço
Consulta 4 Cliente SP RMI LS Service Proxy 12 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 - 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 a nova mensangem Método getMatchedURL do DA foi reescrito para encontrar o serviço mais próximo ao cliente
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 modificado para: Receber localização da UM Escolher a impressora mais próxima de acordo com a sua semântica de proximidade
Plano de Trabalho Implementação em outro sistema (UPnP e/ou Salutation) Migração do sistema para outras plataformas (Palm m515) Testes práticos utilizando um sistema de localização: Ekahau
Plano de Trabalho (cont.) Estudo de melhorias no sistema: Otimização do uso das impressoras (análise da fila de impressão) Uso de localização futura da UM na escolha da impressora mais próxima Semântica de proximidade (paredes, andares, etc.)
Bibliografia IETF SLP: Jini: Salutation:
Bibliografia (cont.) Microsoft UPnP: Bluetooth SDP: Minha página: mestrado.html