SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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)
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
    
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
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
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
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
Serviços




   Middleware orientado a mensagem
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
Desafios
    Protocolo de roteamento ad hoc

        table-driven X on-demand
    
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
Ambiente Java MicroEdition




O componente do middleware deve ir junto com a aplicação J2ME
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
Arquitetura
    Mostrar arquitetura – componentes


    Classes x em cada serviço

Classes
    Mostrar classes – relacionamentos


    Diagrama de classes

Classes
    Mostrar classes – relacionamentos


    Diagrama de seqüência, por cenários

Execução - Demonstração
    Uso do Sun WTK 2.2 ou superior

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

Referências

Mais conteúdo relacionado

Destaque (20)

Los animales
Los animalesLos animales
Los animales
 
Facer biografía
Facer biografíaFacer biografía
Facer biografía
 
Sistemas ..
Sistemas ..Sistemas ..
Sistemas ..
 
Òscar Orri. Canal pacient
Òscar Orri. Canal pacientÒscar Orri. Canal pacient
Òscar Orri. Canal pacient
 
Casamento marcos&flavia preview
Casamento marcos&flavia previewCasamento marcos&flavia preview
Casamento marcos&flavia preview
 
Alimentos
AlimentosAlimentos
Alimentos
 
O toamna minunata
O toamna minunataO toamna minunata
O toamna minunata
 
Actividade Experimental Colector
Actividade Experimental ColectorActividade Experimental Colector
Actividade Experimental Colector
 
BETEILIGUNG KOLLEKTIVE INTELLIGENZ EVENTWOCHE
BETEILIGUNG KOLLEKTIVE INTELLIGENZ EVENTWOCHEBETEILIGUNG KOLLEKTIVE INTELLIGENZ EVENTWOCHE
BETEILIGUNG KOLLEKTIVE INTELLIGENZ EVENTWOCHE
 
Unit 1
Unit 1 Unit 1
Unit 1
 
Josep Ramon Llopart. Badalona, ciutat accessible
Josep Ramon Llopart. Badalona, ciutat accessibleJosep Ramon Llopart. Badalona, ciutat accessible
Josep Ramon Llopart. Badalona, ciutat accessible
 
Misión sena
Misión senaMisión sena
Misión sena
 
1
11
1
 
Entity Framework 5 - Code First
Entity Framework 5 - Code FirstEntity Framework 5 - Code First
Entity Framework 5 - Code First
 
Ngu phap thay manh
Ngu phap thay manhNgu phap thay manh
Ngu phap thay manh
 
Aprendizaje colaborativo
Aprendizaje colaborativo Aprendizaje colaborativo
Aprendizaje colaborativo
 
Presentación de informatica
Presentación de informaticaPresentación de informatica
Presentación de informatica
 
Quem somos
Quem somosQuem somos
Quem somos
 
Casa orellana
Casa orellanaCasa orellana
Casa orellana
 
Arte prehistorico
Arte prehistoricoArte prehistorico
Arte prehistorico
 

Semelhante a Middleware Bluetooth

Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações emgsroma
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...frogstation
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Cloud Computing - Conceitos, história e APPs modernas com Microsoft Azure
Cloud Computing - Conceitos, história e APPs modernas com Microsoft AzureCloud Computing - Conceitos, história e APPs modernas com Microsoft Azure
Cloud Computing - Conceitos, história e APPs modernas com Microsoft AzureVitor Meriat
 
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...Nailton Andrade
 
Monografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoMonografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoApolonio Santiago
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisWindson Viana
 
Cloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemCloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemFlávio Lisboa
 
Ambient Talk
Ambient TalkAmbient Talk
Ambient Talkhome
 
Cloud
CloudCloud
CloudFYPA
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...tdc-globalcode
 
A internet
A internetA internet
A internetLeoReisb
 
A internet
A internetA internet
A internetLeoReisb
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 

Semelhante a Middleware Bluetooth (20)

Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações em
 
AuraSlides
AuraSlidesAuraSlides
AuraSlides
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Cloud Computing - Conceitos, história e APPs modernas com Microsoft Azure
Cloud Computing - Conceitos, história e APPs modernas com Microsoft AzureCloud Computing - Conceitos, história e APPs modernas com Microsoft Azure
Cloud Computing - Conceitos, história e APPs modernas com Microsoft Azure
 
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...
Extensão de um Barramento de Serviços para Descoberta e Acesso de dispositivo...
 
Monografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoMonografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_Invasao
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
 
Cloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvemCloudwalker - processamento distribuído em nuvem
Cloudwalker - processamento distribuído em nuvem
 
Ambient Talk
Ambient TalkAmbient Talk
Ambient Talk
 
Azure Overview
Azure OverviewAzure Overview
Azure Overview
 
Overview Azure
Overview AzureOverview Azure
Overview Azure
 
Cloud
CloudCloud
Cloud
 
Computação nas nuvens
Computação nas nuvensComputação nas nuvens
Computação nas nuvens
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
 
A internet
A internetA internet
A internet
 
A internet
A internetA internet
A internet
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 

Middleware Bluetooth

  • 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
  • 7. Serviços Middleware orientado a mensagem
  • 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
  • 11. Ambiente Java MicroEdition O componente do middleware deve ir junto com a aplicação J2ME
  • 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 
  • 16. Execução - Demonstração Uso do Sun WTK 2.2 ou superior 
  • 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 