O documento descreve um middleware para expandir o alcance de serviços em redes Bluetooth por meio de dispositivos intermediários. O middleware permitiria que dispositivos acessem serviços fora de seu alcance real, agindo como um mecanismo de publicação, busca e comunicação com serviços de terceiros. Ele implementaria operações como registro, busca, conexão e transferência de dados entre dispositivos em redes Bluetooth multi-salto.
1. Um Middleware para Serviços de
Alcance Virtual em Redes Bluetooth
Autor: Vando Batista - vfb@cin.ufpe.br
Disciplina: Tópicos Avançados em
Sistemas Distribuídos I - CIn/UFPE
www.cin.ufpe.br/~redis/courses/middleware
(a middleware for Bluetooth multihop ad hoc networks)
2. Contextualização
Objetivo: implementação de um middleware que
ofereça serviços de alcance virtual (além do
alcance real do dispositivo) em redes Bluetooth
Proposta:
www.cin.ufpe.br/~redis/courses/middleware/projetos-04-
Plano de ensino – projeto de disciplina:
www.cin.ufpe.br/~redis/courses/middleware/plano.htm
3. Redes Bluetooth
Tecnologia de comunicação sem fio de curto
alcance, baixa potência e baixo custo para
pequenos dispositivos
Bastante utilizada atualmente: redes ad hoc
www.bluetooth.com
4. Problemática
Dispositivos tem comunicação muito restrita
Alcance de 10, 100 metros
Oferta/demanda de serviços limitada
Solução: uma camada de abstração em cada
dispositivo da rede capaz de tornar disponível
serviços oferecidos por terceiros
5. Cenário Real
Um telefone celular poderia achar e acessar um serviço
da impressora mesmo ela não estando ao alcance real
dele.
Conceito de redes ad hoc de múltiplos saltos
o alcance não fica limitado ao raio de ação de cada dispositivo
individualmente
6. O Middleware
Necessidade
um dispositivo poder descobrir e se conectar, através
do mecanismo oferecido pelo middleware, a um outro
dispositivo que está além do seu alcance real
Requisitos funcionais:
Publicar serviço
Procurar serviço
Estabelecer conexão
Transferir dados
• envolvem mecanismo de publicar, procurar, se comunicar
com serviços de terceiros: atuam como roteadores
8. Serviços
register: registra o serviço
lookup: procura pelo serviço desejado
connect: se conecta ao serviço especificado
send: envia dados ao serviço
receive: recebe dados do serviço
unregister: tira do registro o serviço
disconnect: desconecta do serviço
Name Service
Discovery Service
Communication Service
9. Desafios
Protocolo de roteamento ad hoc
table-driven X on-demand
10. Implementação
Baseada na API Java especificada pela JSR-82 (
www.jcp.org/en/jsr/detail?id=82)
Pacote fundamental javax.bluetooth
LocalDevice: representa o dispositivo local
DiscoveryAgent: executa descoberta na rede
DiscoveryListener: interface receptora de eventos de
descoberta
RemoteDevice: representa um dispositivo remoto
ServiceRecord: representa um serviço Bluetooth –
identificado por Universally Unique Identifier (UUID)
L2CAPConnection: representa uma conexão orientada a
pacotes L2CAP
12. Considerações
O único serviço realmente publicado na rede
será o do middleware
Os serviços de aplicações publicados pela
diretiva register, não publicados com um
serviço Bluetooth diretamente, estarão
disponíveis pela diretiva lookup do middleware
Durante o lookup, o middleware descobre os
serviços que cada dispositivo provê, e guarda no
cache para informação de procura posterior
O connect abre a conexão com o dispositivo
onde o serviço desejado encontra-se. Caso
especial: o dispositivo encontra-se fora do
alcance real / roteadores
13. Arquitetura
Mostrar arquitetura – componentes
Classes x em cada serviço
14. Classes
Mostrar classes – relacionamentos
Diagrama de classes
15. Classes
Mostrar classes – relacionamentos
Diagrama de seqüência, por cenários
17. Trabalhos Futuros
Implementação
Publicar o serviço da aplicação na rede
Estudo comparativo de desempenho:
uso com o middleware X uso somente com JSR-82
JXTA over Bluetooth