A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

© 2004 – Ricardo Couto Antunes da Rocha1 Ricardo Couto Antunes da Rocha Middleware para Serviços Baseados em Localização.

Apresentações semelhantes


Apresentação em tema: "© 2004 – Ricardo Couto Antunes da Rocha1 Ricardo Couto Antunes da Rocha Middleware para Serviços Baseados em Localização."— Transcrição da apresentação:

1 © 2004 – Ricardo Couto Antunes da Rocha1 Ricardo Couto Antunes da Rocha Middleware para Serviços Baseados em Localização

2 © 2004 – Ricardo Couto Antunes da Rocha2Roteiro Motivação Motivação Aplicações de Serviços baseados em Localização Aplicações de Serviços baseados em Localização Arquitetura de Software para LBS Arquitetura de Software para LBS Requisitos para Middleware para LBS Requisitos para Middleware para LBS Modelos de Middleware para LBS Modelos de Middleware para LBS Conclusões Conclusões

3 © 2004 – Ricardo Couto Antunes da Rocha3Motivação Cenário atual: popularização de dispositivos móveis e de tecnologia de posicionamento (como GPS) Cenário atual: popularização de dispositivos móveis e de tecnologia de posicionamento (como GPS) Cenário habilita o desenvolvimento de aplicações de LBS Cenário habilita o desenvolvimento de aplicações de LBS Algumas operadores de telefonia oferecem aplicações simples de LBS. Exemplo: DoCoMo i-area. Algumas operadores de telefonia oferecem aplicações simples de LBS. Exemplo: DoCoMo i-area.

4 © 2004 – Ricardo Couto Antunes da Rocha4Motivação Ambiente de computação móvel são tradicionalmente heterogêneos: Ambiente de computação móvel são tradicionalmente heterogêneos: Rede: GPRS, TCP, Rede: GPRS, TCP, Identidade: usuário/senha, device id, telefone celular Identidade: usuário/senha, device id, telefone celular Posicionamento: GPS, cell id,... Posicionamento: GPS, cell id,... Middleware habilita o desenvolvimento de aplicações apesar do ambiente heterogêneo. Middleware habilita o desenvolvimento de aplicações apesar do ambiente heterogêneo. Fio motivador: Fio motivador: Características necessárias e modelos interessantes para um middleware para permitir a implementação de aplicações de LBS. Características necessárias e modelos interessantes para um middleware para permitir a implementação de aplicações de LBS.

5 © 2004 – Ricardo Couto Antunes da Rocha5 Aplicações de LBS Recuperar a localização de um usuário móvel é um desafio menor. Recuperar a localização de um usuário móvel é um desafio menor. Desafios mais evidentes: Desafios mais evidentes: Tratamento homogêneo da localização Tratamento homogêneo da localização Casamento de interesse entre consumidores de informação e disseminadores de informação Casamento de interesse entre consumidores de informação e disseminadores de informação Disseminação seletiva de informações, dependendo da localização Disseminação seletiva de informações, dependendo da localização Volume grande de dados: Volume grande de dados: Localização não está associada apenas aos usuários móveis mas também às informações distribuídas

6 © 2004 – Ricardo Couto Antunes da Rocha6 Aplicações de LBS Exemplo: Exemplo: Um estudante de pós-graduação deseja estudar PAA na biblioteca. Ele acessa uma aplicação de LBS em seu PDA e registra o seu interesse (estudar PAA) e requisita à aplicação encontrar outro estudante com o mesmo interesse e próximo da biblioteca. A aplicação mostra três estudantes que atendem a esses requisitos e o estudante envia uma mensagem para um deles, sugerindo o estudo em grupo.

7 © 2004 – Ricardo Couto Antunes da Rocha7 Arquitetura de Software para LBS

8 © 2004 – Ricardo Couto Antunes da Rocha8 Requisitos para Middleware para LBS Capacidade de tratar diferentes aspectos da localização: Capacidade de tratar diferentes aspectos da localização: Aspecto espacial Aspecto espacial Temporalidade Temporalidade Inaccuracy, imprecisão e incerteza Inaccuracy, imprecisão e incerteza Grandes volumes de dados Grandes volumes de dados Queries contínuas Queries contínuas Capacidade de funcionar com tecnologias heterogêneas Capacidade de funcionar com tecnologias heterogêneas Canais de notificação (GPRS, SMS, ) Canais de notificação (GPRS, SMS, ) Posicionamento (GPS, cell id, indoor) Posicionamento (GPS, cell id, indoor) Conceitos de posicionamento (lat/long, célula, rua,...) Conceitos de posicionamento (lat/long, célula, rua,...) Permitir o casamento complexo de interesses entre diversos usuários Permitir o casamento complexo de interesses entre diversos usuários

9 © 2004 – Ricardo Couto Antunes da Rocha9 Modelos de middleware para LBS Publish/Subscribe Publish/Subscribe Baseado em conteúdo Baseado em conteúdo Baseado em subject spaces Baseado em subject spaces Espaço de tuplas Espaço de tuplas Baseado em DBMS Baseado em DBMS

10 © 2004 – Ricardo Couto Antunes da Rocha10 Modelo Publish/Subscribe Comunicação é intermediada por um serviço de eventos ou event broker Comunicação é intermediada por um serviço de eventos ou event broker Modelo de eventos push/pull Modelo de eventos push/pull Publicador de eventos é o publisher: envia os eventos ativamente para o broker Publicador de eventos é o publisher: envia os eventos ativamente para o broker Consumidor de eventos é o subscriber: registra no broker o interesse por eventos e é notificado quando o evento desejado ocorre Consumidor de eventos é o subscriber: registra no broker o interesse por eventos e é notificado quando o evento desejado ocorre Modelo de comunicação assíncrono e desacoplado Modelo de comunicação assíncrono e desacoplado Tipos de publish/subscribe: tópico, tipo, conteúdo e subject spaces Tipos de publish/subscribe: tópico, tipo, conteúdo e subject spaces

11 © 2004 – Ricardo Couto Antunes da Rocha11 Publish/Subscribe baseado em Conteúdo Eventos são formados por um conjunto de atributos. Eventos são formados por um conjunto de atributos. Exemplo: E = {(MAC ID=05:AA:01:02:11), (CPU=70%),(location=(13,234))} Exemplo: E = {(MAC ID=05:AA:01:02:11), (CPU=70%),(location=(13,234))} O subscriber registra o interesse por eventos com uma série de predicados que descrevem restrições aos valores dos atributos de eventos. O subscriber registra o interesse por eventos com uma série de predicados que descrevem restrições aos valores dos atributos de eventos. Exemplo: (location, (x < 10) and (y <=200)) Exemplo: (location, (x < 10) and (y <=200)) Características do evento localização: Características do evento localização: Pode mudar em uma taxa relativamente alta Pode mudar em uma taxa relativamente alta O publicador de eventos pode ser um agente externo O publicador de eventos pode ser um agente externo

12 © 2004 – Ricardo Couto Antunes da Rocha12 Publish/Subscribe baseado em Conteúdo Abordagem alternativa para pub/sub para LBS Abordagem alternativa para pub/sub para LBS L-ToPSS: localização é tratada separadamente das demais informações de contexto L-ToPSS: localização é tratada separadamente das demais informações de contexto Arquitetura: Arquitetura:

13 © 2004 – Ricardo Couto Antunes da Rocha13 Cenário Cenário Uma loja de café envia propagandas para usuários móveis na vizinhança de 1 Km Uma loja de café envia propagandas para usuários móveis na vizinhança de 1 Km Um consumidor quer receber tais notificações, mas ele não bebe mais do que 2 copos no intervalo de 5 horas Um consumidor quer receber tais notificações, mas ele não bebe mais do que 2 copos no intervalo de 5 horas Modelos publish/subscribe tradicionais não tratam muito bem este cenário: Modelos publish/subscribe tradicionais não tratam muito bem este cenário: Desafio é evitar o recebimento de notificações redundantes ou que não sejam do interesse Desafio é evitar o recebimento de notificações redundantes ou que não sejam do interesse Notificação depende do tempo em que foi feito a última notificação (só após 5 h, sistema pode enviar outra notificação) Notificação depende do tempo em que foi feito a última notificação (só após 5 h, sistema pode enviar outra notificação) Publisher estabelece uma restrição (área de 1 Km) Publisher estabelece uma restrição (área de 1 Km) Publish/Subscribe Subject Spaces

14 © 2004 – Ricardo Couto Antunes da Rocha14 Publish/Subscribe Subject Spaces Características básicas: Características básicas: Stateful Stateful Publishing e subscription são igualmente tratados Publishing e subscription são igualmente tratados Subject space é um espaço multidimensional em que cada dimensão representa um atributo de um assunto (subject) Subject space é um espaço multidimensional em que cada dimensão representa um atributo de um assunto (subject) Formalmente, é uma tupla {D o,V o }, onde D o ={d 1,d 2,..d n } e V o é o conjunto de valores permitidos neste espaço Formalmente, é uma tupla {D o,V o }, onde D o ={d 1,d 2,..d n } e V o é o conjunto de valores permitidos neste espaço Exemplo: d l = {(x,double),(y,double),(z,double)} Exemplo: d l = {(x,double),(y,double),(z,double)}

15 © 2004 – Ricardo Couto Antunes da Rocha15 Publish/Subscribe Subject Spaces Relacionamento entre Subject Spaces Relacionamento entre Subject Spaces S2S2 S1S1 S3S3 S4S4 S5S5

16 © 2004 – Ricardo Couto Antunes da Rocha16 Publish/Subscribe Subject Spaces Objeto de interesse: entidade monitorada pelo publisher e que pode ser do interesse de um ou mais subscribers Objeto de interesse: entidade monitorada pelo publisher e que pode ser do interesse de um ou mais subscribers Cada objeto de interesse possui um conjunto de predicados: triplas com dimensão, operador, valor. Cada objeto de interesse possui um conjunto de predicados: triplas com dimensão, operador, valor. Exemplo: L 1 = {(x < 10), (y <= 20)} Exemplo: L 1 = {(x < 10), (y <= 20)} Portanto, um objeto pode ocupar uma região em um subject space Portanto, um objeto pode ocupar uma região em um subject space

17 © 2004 – Ricardo Couto Antunes da Rocha17 Publish/Subscribe Subject Spaces Mudança de estado de um objeto em um sistema de publish/subscribe ocorre em três situações: Mudança de estado de um objeto em um sistema de publish/subscribe ocorre em três situações: 1.Adicionando um objeto no subject space 2.Atualizando um objeto no subject space 3.Removendo um objeto no subject space Subscriptions são conjuntos de requisitos que especificam o interesse de um subscriber Subscriptions são conjuntos de requisitos que especificam o interesse de um subscriber

18 © 2004 – Ricardo Couto Antunes da Rocha18 Publish/Subscribe Subject Spaces Outros operadores e formalismos: Outros operadores e formalismos: Filtro: mapeia um conjunto de regiões em verdadeiro ou falso. É utilizado em subscriptions Filtro: mapeia um conjunto de regiões em verdadeiro ou falso. É utilizado em subscriptions Tempo: tratado como um domínio discreto. Duas funções são definidas: Tempo: tratado como um domínio discreto. Duas funções são definidas: Função-π: mais recente instante em que duas regiões combinaram Função-σ: mais recente instante em que duas regiões deixaram de combinar Now: instante atual

19 © 2004 – Ricardo Couto Antunes da Rocha19 Publish/Subscribe Subject Spaces Espaço é multidimensional portanto a verificação do casamento entre publications e subscriptions é mais complexa implementação pode ser menos eficiente. Espaço é multidimensional portanto a verificação do casamento entre publications e subscriptions é mais complexa implementação pode ser menos eficiente. Algumas técnicas para passar espaço multidimensional para unidimensional podem ser aplicadas. Algumas técnicas para passar espaço multidimensional para unidimensional podem ser aplicadas. Vantagens do modelo Vantagens do modelo Evita notificações redundantes Evita notificações redundantes Modelo publish/subscribe é simétrico Modelo publish/subscribe é simétrico Usa operações de atualização, ao invés de remoção e inclusão Usa operações de atualização, ao invés de remoção e inclusão

20 © 2004 – Ricardo Couto Antunes da Rocha20 Modelo baseado em tuplas Modelo proposto para coordenação de atividades entre processos concorrentes. Originado em Linda. Modelo proposto para coordenação de atividades entre processos concorrentes. Originado em Linda. Implementações para computação móvel: Lime e L2imbo Implementações para computação móvel: Lime e L2imbo Permite comunicação desacoplada e anônima Permite comunicação desacoplada e anônima Dois elementos se comunicam lendo e escrevendo em um espaço de tuplas: Dois elementos se comunicam lendo e escrevendo em um espaço de tuplas: Coleção global e persistente de tuplas Coleção global e persistente de tuplas Uma tupla pode ser um dado tipado, contendo um conjunto de valores, ou especificar um tipo de dado Uma tupla pode ser um dado tipado, contendo um conjunto de valores, ou especificar um tipo de dado

21 © 2004 – Ricardo Couto Antunes da Rocha21 Modelo baseado em tuplas Um elemento pode realizar três operações básicas: Um elemento pode realizar três operações básicas: Out(t): insere a tupla t no espaço de tuplas Out(t): insere a tupla t no espaço de tuplas In(p): extrai uma tupla do espaço de tuplas que combina com o padrão de tupla p. In(p): extrai uma tupla do espaço de tuplas que combina com o padrão de tupla p. Rd(p): similar a In(p), exceto que não remove a tupla do espaço de tuplas Rd(p): similar a In(p), exceto que não remove a tupla do espaço de tuplas Outras operações são providas por diferentes implementações de middlewares de tuplas. Outras operações são providas por diferentes implementações de middlewares de tuplas. Em LBS: Em LBS: Publicador registra a informação na forma de uma tupla Publicador registra a informação na forma de uma tupla Consumidor recupera a informação lendo no espaço de tuplas Consumidor recupera a informação lendo no espaço de tuplas Modelo utiliza uma interação do tipo pull e não permite disseminação de informação adequadamente. Modelo utiliza uma interação do tipo pull e não permite disseminação de informação adequadamente.

22 © 2004 – Ricardo Couto Antunes da Rocha22 Modelo baseado em DBMS Compreende o uso do modelo de interação de banco de dados para implementar comunicação e coordenação entre elementos. Compreende o uso do modelo de interação de banco de dados para implementar comunicação e coordenação entre elementos. Permite o modelo de interação pull Permite o modelo de interação pull Permite operações relacionais flexíveis para recuperação de informação Permite operações relacionais flexíveis para recuperação de informação Modelo disseminado na indústria e implementado por boa parte dos GIS Modelo disseminado na indústria e implementado por boa parte dos GIS

23 © 2004 – Ricardo Couto Antunes da Rocha23Conclusões Middleware é uma abordagem adequada para superar problemas de interoperabilidade e heterogeneidade típicos do ambiente móvel. Middleware é uma abordagem adequada para superar problemas de interoperabilidade e heterogeneidade típicos do ambiente móvel. Por outro lado, o número crescente de propostas de middlewares pode criar novos problemas de interoperabilidade e inibir sua adoção. Por outro lado, o número crescente de propostas de middlewares pode criar novos problemas de interoperabilidade e inibir sua adoção. Esta apresentação discutiu requisitos que middlewares (implementações e modelos) devem ser capazes de atender para permitir a implementação de cenários de LBS. Esta apresentação discutiu requisitos que middlewares (implementações e modelos) devem ser capazes de atender para permitir a implementação de cenários de LBS. Entretanto, isso não pressupõe o desenvolvimento de novos middlewares mas a adequação dos modelos atuais aos requisitos de LBS. Entretanto, isso não pressupõe o desenvolvimento de novos middlewares mas a adequação dos modelos atuais aos requisitos de LBS.


Carregar ppt "© 2004 – Ricardo Couto Antunes da Rocha1 Ricardo Couto Antunes da Rocha Middleware para Serviços Baseados em Localização."

Apresentações semelhantes


Anúncios Google