Controle de acesso ao Ambiente – floor control
Controle de acesso ao ambiente Introdução
Introdução Avanço da tecnologia das redes Avanço da tecnologia das redes Múltiplos tipos de mídia Múltiplos tipos de mídia
Introdução Maior interação e novos meios de interface Maior interação e novos meios de interface Com a rede Com a rede Entre usuários Entre usuários
Introdução Trabalhos em grupo Trabalhos em grupo
Introdução Exemplo do homebanking Exemplo do homebanking O Problema O Problema
Sumário Introdução Introdução Conceitos Conceitos Aplicações práticas Aplicações práticas Implementação Implementação Conclusão Conclusão
Controle de acesso ao ambiente Conceitos
Conceitos Histórico Histórico Estudos psicolingüístico nos anos 80 Estudos psicolingüístico nos anos 80 Teleconferências Teleconferências
Conceitos Atua em conflitos em espaços de trabalho compartilhados. Atua em conflitos em espaços de trabalho compartilhados. Ajuda a coordenar atividades conjuntas ou competitivas e seus processos computacionais que interagem entre si Ajuda a coordenar atividades conjuntas ou competitivas e seus processos computacionais que interagem entre si Ajuda a preservar a coerência da informação local e a remota. Ajuda a preservar a coerência da informação local e a remota.
Conceitos O que é floor? O que é floor? São permissões temporárias garantidas dinamicamente a usuários colaborativos para corrigir condições de corrida e garantir exclusão mútua ao uso de recursos. São permissões temporárias garantidas dinamicamente a usuários colaborativos para corrigir condições de corrida e garantir exclusão mútua ao uso de recursos.
Conceitos Onde atua? Onde atua? Áreas de conferência Áreas de conferência Telecooperação Telecooperação Aplicações compartilhadas Aplicações compartilhadas
Conceitos Tipos Tipos Otimista Otimista Pessimista Pessimista
Conceitos Política: Política: Automática Automática Interativa Interativa
Conceitos Política: Política: Justa Justa Uniforme Uniforme
Conceitos Políticas: Políticas: Dependente do papel do usuário Dependente do papel do usuário
Conceitos Políticas: Políticas: Granularidade Granularidade Ex.: Global, específica do objeto. Ex.: Global, específica do objeto.
Conceitos Políticas Políticas Durabilidade Durabilidade Ex.: Longo ou curto tempo Ex.: Longo ou curto tempo
Conceitos Exemplo de desenho em ambiente colaborativo: Exemplo de desenho em ambiente colaborativo: Floor control uniforme: Floor control uniforme: ao apertar o botão do mouse sobre o objeto, o usuário requisita o controle do objeto ao apertar o botão do mouse sobre o objeto, o usuário requisita o controle do objeto ao soltá-lo, o usuário estará liberando tal controle ao soltá-lo, o usuário estará liberando tal controle Granularidade: Objeto Granularidade: Objeto Durabilidade: Curta Durabilidade: Curta
Conceitos Ambiente Colaborativo Ambiente Colaborativo
Controle de acesso ao ambiente Aplicações Práticas
Quais os tipos de recursos? Quais os tipos de recursos? Texto (editores, chat, , agenda, programação, entre outros), Texto (editores, chat, , agenda, programação, entre outros), Áudio (voz e sons), Áudio (voz e sons), Imagens (paradas ou em movimento), Imagens (paradas ou em movimento), Gráficos 2D ou 3D (parados ou e movimento), Gráficos 2D ou 3D (parados ou e movimento), WWW (world wide web) WWW (world wide web) Realidade virtual Realidade virtual
Aplicações práticas Telemedicina Telemedicina Cirurgia Cirurgia Diagnóstico Diagnóstico Monitoramento Monitoramento Consulta Consulta Ensino Ensino
Aplicações Práticas Telemedicina colaborativa - Ensino Telemedicina colaborativa - Ensino
Aplicações Práticas no momento da manipulação, provendo um filtro dos eventos de mouse e teclado vindos do cliente no momento da manipulação, provendo um filtro dos eventos de mouse e teclado vindos do cliente
Aplicações práticas Conferência e tele-robótica Conferência e tele-robótica
Aplicações Práticas Rendezvous Rendezvous Linguagem Linguagem Arquitetura Arquitetura Desenvolvimento de aplicações multiusuários Desenvolvimento de aplicações multiusuários Suporte a Floor Control Suporte a Floor Control
Aplicações Práticas Rendezvous Rendezvous
Aplicações Práticas Rendezvous – Jogo da velha Rendezvous – Jogo da velha
Aplicações práticas Rendezvous – Jogo da velha Rendezvous – Jogo da velha Floor Control automático: os usuários são obrigados a realizar a jogada Floor Control automático: os usuários são obrigados a realizar a jogada
Aplicação Prática Rendezvous – Jogo da velha Rendezvous – Jogo da velha floor control é relaxado e seletivo, pois essa movimentação não altera o conteúdo do tabuleiro floor control é relaxado e seletivo, pois essa movimentação não altera o conteúdo do tabuleiro
Controle de acesso ao ambiente Implementação
Implementação Depende do caso Depende do caso Algoritmos derivados da: Algoritmos derivados da: Exclusão mútua Exclusão mútua Controle de concorrência Controle de concorrência
Implemenação – Mecanismos Negociação Negociação Anárquico Anárquico Cada um por si Cada um por si Sem presença de floor. Sem presença de floor.
Implemenação – Mecanismos Token Passing Token Passing Passagem de um token em uma ordem definida Passagem de um token em uma ordem definida Token ring Token ring Token tree Token tree
Implemenação – Mecanismos Token asking Token asking Usuários pedem do atual possuidor do token Usuários pedem do atual possuidor do token Usuários pedem o token para o árbitro Usuários pedem o token para o árbitro
Implemenação – Mecanismos Time Stamping Time Stamping Usado com outros mecanismos para garantir a corretude Usado com outros mecanismos para garantir a corretude Ex.: Ordenar pedidos com um relógio global sincronizado. Ex.: Ordenar pedidos com um relógio global sincronizado.
Implemenação – Mecanismos Two-phase locking Two-phase locking Existem duas fases: Existem duas fases: uma de crescimento, onde adquire- se o bloqueio uma de crescimento, onde adquire- se o bloqueio outra de encolhimento onde libera-se o bloqueio outra de encolhimento onde libera-se o bloqueio
Implementação Two-phase locking Two-phase locking
Implemenação – Mecanismos Blocking Blocking Semáforos distribuídos Semáforos distribuídos Guarda sessões críticas de um trabalho em grupo Guarda sessões críticas de um trabalho em grupo
Implemenação – Mecanismos Activity Sensing Activity Sensing Verifica se o recurso está liberado Verifica se o recurso está liberado Senão, não tenta obtê-lo, mas pode tentar mais tarde Senão, não tenta obtê-lo, mas pode tentar mais tarde
Implemenação – Mecanismos Reservation Reservation Aloca recurso em: Aloca recurso em: Ordem determinada Ordem determinada Duração deteminado Duração deteminado Time-slot determinado Time-slot determinado
Implemenação – Mecanismos Dependency detection Dependency detection Ordena as requisições de floor de acordo com uma semântica causal Ordena as requisições de floor de acordo com uma semântica causal
Implemenação Políticas de entrega, requisição ou oferta do floor Políticas de entrega, requisição ou oferta do floor Podem usar os mecanismo para serem implementadas Podem usar os mecanismo para serem implementadas Diferentes políticas numa mesma sessão para diferentes floors Diferentes políticas numa mesma sessão para diferentes floors
Implementação - Políticas Chair guidance Chair guidance Um dos usuários é o árbitro Um dos usuários é o árbitro Pode ser eleito Pode ser eleito
Implementação - Políticas Agenda orientation Agenda orientation Entrega do floor em ordem pré estabelecida Entrega do floor em ordem pré estabelecida Entrega do floor em ordem estabelecida “on the fly” Entrega do floor em ordem estabelecida “on the fly”
Implementação - Políticas Time Orientation Time Orientation Requisição e uso do floor possuem timeouts definidos por eventos ou condições do sistema Requisição e uso do floor possuem timeouts definidos por eventos ou condições do sistema
Implementação - Políticas Predefined Ordering Predefined Ordering O floor é requisitado ou oferecido em uma ordem pré-definida O floor é requisitado ou oferecido em uma ordem pré-definida Pode usar token passing Pode usar token passing
Implementação - Políticas Ad hoc reordering Ad hoc reordering Coloca os requisitos a um recuso em uma fila e os serve d acordo com tempo, prioridade ou requisitos de QoS. Coloca os requisitos a um recuso em uma fila e os serve d acordo com tempo, prioridade ou requisitos de QoS.
Implementação - Políticas Ad hoc reordering – wheighted far queue Ad hoc reordering – wheighted far queue
Implementação - Políticas Election Election Votação para escolher que é o próximo a receber o floor Votação para escolher que é o próximo a receber o floor
Implementação - Políticas Lottery scheduling Lottery scheduling Utiliza tíquetes de loteria em um modo probabilisticamente justo. Utiliza tíquetes de loteria em um modo probabilisticamente justo.
Implementação - Políticas Lottery scheduling Lottery scheduling
Implementação - Políticas Floor credit Floor credit Da créditos a quem pouco usa o floor e consome de quem o utiliza Da créditos a quem pouco usa o floor e consome de quem o utiliza
Controle de acesso ao ambiente Conclusão
Conclusão Centrado no usuário Centrado no usuário Tende a aumentar se uso Tende a aumentar se uso