Upload
malu-gil-castelo
View
217
Download
2
Embed Size (px)
Citation preview
Ambientes de suporte à colaboração móvel
Introdução à Computação MóvelProf. Markus Endler
Hana Karina S. Rubinsztejn
Roteiro Motivação MOTION JEDI YACO STEAM YCab Conclusões
Motivação Desenvolvimento de redes sem fio Crescimento do uso de dispositivos portáteis e
móveis com interface de rede sem fio Características:
Conectividade intermitente Recursos limitados Mobilidade
Necessidade de novas aplicações para estes ambientes
Exemplo de aplicações Trabalho em equipe (colaboração) móvel em empresas -
Empregados desejam continuar o trabalho durante a locomoção de um lugar a outro
Colaboração entre grupos com interesse comum/proximidade
Gerenciamento de tráfego
Motivação Serviços necessários
Localização e compartilhamento de informações
Comunicação Formação de grupos
Baseados em interesses comuns Proximidade
Adaptações Explorem informações de contexto Perfis de usuário/dispositivo
MOTION MObile Teamwork Infrastructure for
Organizations Network Arquitetura de tecnologia de comunicação
e informação com boa escalabilidade e flexibilidade para colaboração móvel
Utiliza Peer-to-Peer para compartilhamento de
artefatos e Publish/Subscribe para mensagens e eventos
Engin Kirda, Pascal Fenkan, Gerald Reif e Harald Gall Distributed Systems Group in the Information Systems Institute
MOTIONMOTION
Arquitetura MOTION
MOTIONMOTION Serviços de grupo (TWS)
Componente DUMAS Gerenciamento de recursos (usuários, artefatos e
comunidade) Gerenciamento das permissões de acesso sobre os
recursos µDUMAS - implementação para dispositivos limitados (PDA)
Comunicação entre µDUMAS e DUMAS é realizada através da publicação de eventos XML
Componente de mensagens Serviço de mensagem integrado que possibilita o usuário
comunicar e trocar informações (SMTP, SMS, WAP SI) Sistema Usuário Comunidade
MOTIONMOTION Serviços TWS (cont)
Componente Publish/Subscribe Assinatura/Registro de eventos Uso de callbacks - intermediário entre o usuário e o
sistema Pub/Sub; Repositório MOTION
Armazenamento de artefatos e meta-dados (perfis XML); Gerenciador de artefatos
Compartilhamento de artefatos – via HTTP Busca distribuída
Localizar uma informação em uma configuração distribuída fracamente acoplada
Busca avançada - através da especificação de propriedades do artefato
YACO Yet Another Framework for Supporting
Mobile and Collaborative Work Framework para trabalho colaborativo móvel Siena - sistema pub/sub baseado em conteúdo
Seleciona os eventos de interesse e entrega ao usuário Conjunto de operadores usados nos filtros que
especificam as restrições sobre os atributos Algoritmos de roteamento otimizado
MobiKit - serviço de suporte a mobilidade de clientes em sistemas Pub/Sub
University of L’Aquila
Mauro Caporuscio e Paola Inverardi
YACOYACO MobiKit
Gerencia publicações e requisições dos clientes, durante desconexões e trocas de ponto de acesso destes
Serviço é implementado por componentes estáticos (mobility proxy objects) que rodam nos pontos de acesso do sistema P/S
Funções move-out e move-in
YACOYACO
Arquitetura do Sistema
YACOYACO Serviços
Mensagens destino: user-ID, group_ID ou all_user
Busca distribuída de artefatos parâmetros de busca e permissões de acesso
Serviço de transferência de arquivos Uso de mensagens ponto-a-ponto para requisição de
download e envio de artefatos Descoberta de Usuários
Publicação de evento de novo usuário indicando seu perfil
Busca especificando parâmetros específicos
JEDI Java Event-based Distributed Infrastructure
Objetos ativos Produtores e consumidores
Objetos reativos Despachante de eventos
Logicamente centralizado. Implementado como servidores distribuídos com topologia hierárquica
Filtros através de expressões para assunto e propriedades
Ordenação causal de eventos Suporte à mobilidade
Funções MoveIn e MoveOut
POLITECNICO DI MILANO
G Cugola, E Di Nitto, A. Fuggeta
JEDIJEDI OPSS (ORCHESTRA Process Supoprt
System) Suporte ao desenvolvimento e operação de
serviços de negócio Requisitos: escalabilidade, usuários dinâmicos…
Arquitetura OPSS: Agentes (softwares ou humanos) executam
atividades descritas Despachante de eventos Servidor de estado Visualizador OPSS
JEDIJEDI Servidor de estado
Repositório persistente do estado de processos Entidades: Atividades, Recursos, Artefatos Controle via transição de estados
Tripla (evento, condição, ação)
Visualizador Ferramenta de monitoração do estado do
processo
STEAM Scalable Timed Events And Mobility
Middleware baseado em eventos para aplicações colaborativas baseadas em localização
Modelo ad-hoc suporta acoplamento dinâmico de componentes
802.11b Arquitetura distribuída
Não requer infra-estrutura Middeware no dispositivo, e todos com mesmas
habilidades Componentes são location-aware Filtro distribuído de notificações de eventos
© René Meier e Vinny Cahill
STEAMSTEAM
Arquitetura STEAM
STEAMSTEAM Serviço de eventos
Eventos Tipos de eventos: (assunto, conteúdo, atributos) Proximidade: móvel ou estacionária
Filtros distribuídos Por assunto, conteúdo e proximidade
Disseminação multi-hop de eventos Proximidade limita a propagação dos eventos
Serviço de Localização Dados de sensores para cálculo localização
geográfica. Ex: GPS
STEAMSTEAM Serviço de descoberta de proximidade (PDS)
Uso de beacons para descoberta Mapeia proximidades a grupos e a subscriptions
Serviço de comunicação de grupos baseado em proximidade (PGCS)
Identificadores de grupo calculados por uma função hashing: assunto, proximidade (formato, dimensão e localização)
Entidades calculam o identificador do grupo de interesse
Permite o ingresso ao grupo, recebendo apenas eventos relevante
YCab Framework para serviços colaborativos
Redes ad-hoc Provê uma API leve e flexível que permite os
desenvolvedores criar rapidamente aplicações colaborativas otimizadas
Implementado em Java; Comunicação multicast sobre 802.11 Controle descentralizado Serviços pré-definidos
© © Dominik Buszko, Wei-Hsing Lee e Abdelsalam HelalDominik Buszko, Wei-Hsing Lee e Abdelsalam Helal
YCabYCab Componentes do
framework Gerentes de
serviço e comunicação;
Serviços de eleição e de sessão;
Gerente de reconstituição de estado;
Componentes GUI;
YCabYCab Gerente de comunicação
Core Messages Comunicações assíncrona entre os clientes através de
MulticastSocket Requer sincronização entre o “Thread Produtor” e o “Thread
Consumidor” Gerente do cliente
Responsável pela administração dos serviços, mantendo um mapeamento das propriedades do cliente, tais como, nome, grau, status do cooordenador
Responsável por instanciar, inicializar e manter referências para todos componentes;
YCabYCab Gerente de estado
Mantém o estado da sessão O estado do serviço consiste das mensagens enviadas para ele
Mantém uma lista de todos os serviços registrados API provê facilidades para gerenciar o estado dos dados
para cada serviço Atualizar, recuperar as informações de estado; ou limpar os dados
Roteador de Mensagem Responsável por rotear as mensagens para o serviço
apropriado; Modos de Operação
Modo normal; Modo de reconstituição/restauração de estado
YCabYCab
Controle descentralizado (protocolos) Criação, união, saída de sessão de
colaboração Reconstituição de estado Eleição do líder (coordenador da sessão) Pigging
YCabYCab Serviços
Serviços obrigatórios Serviço de eleição de líder Serviço do gerente de sessão
Serviços opcionais: Serviço de ping Chat Área de desenho Visualizador de imagens Serviço GPS Serviço de informações do cliente
Conclusões
Rede Comunicação
Contexto Implemetação
MOTION IE Pub/Sub e P2P Notebook, desk, PDA
YACO IE Pub/Sub Protótipo inicialJEDI IE Pub/Sub --STEAM AH Pub/Sub
Localização
Notebook
YCab AH Multicast 802.11
Notebook
ConclusõesConclusõesMOTION YACO JEDI STEAM YCab
Mensagens Sim Sim Sim Só grupo SimCompartilhamento de artefatos
Sim (P2P) Sim (P/S) Sim Não (imagens)
Eventos Sim Sim Sim Sim NãoBusca distribuída
Sim Sim Não Não Não
Controle acesso Sim Sim Não Não NãoCoordenação cliente/sessão
Sim Não Não Sim Sim (descent)
Comunicação Grupo
Sim Sim Não Sim (pro-ximidade)
Sim
Descoberta user Sim (P/S) Sim (P/S) Sim Grupos prox
Peer-list
Localização Não Não Não Sim – GPS Sim – GPS
Chat/quadro branco
Não Não Não Não Sim
Dúvidas ?