Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouJoão Gabriel Coimbra Amorim Alterado mais de 8 anos atrás
1
Transmissão de estados em ambientes de realidade virtual distribuídos e colaborativos Tese de Mestrado em Engenharia Informática Elaborada por: Lic. Pedro Miguel da Fonseca Marques Ferreira Escola Superior de Tecnologia de Tomar Instituto Politécnico de Tomar pmferr@ipt.pt / pmferr@dei.uc.pt Sob orientação de: Prof. Doutor Fernando P.L. Boavida Fernandes Dep. Eng. Informática, FCTUC boavida@dei.uc.pt Co-orientação de: Prof. Doutor João Gilberto de Matos Orvalho Escola Superior de Educação de Coimbra orvalho@dei.uc.pt DEI:http://tejo.dei.uc.pt/ ESTT:http://193.137.5.227/stf/
2
2002STF2 Estrutura da apresentação Realidade virtual Transmissão de estados Enquadramento anterior CONCHA 2.0 STF: Status Transmission Framework Testes à STF e resultados obtidos Conclusões Trabalho futuro
3
2002STF3 Realidade Virtual Tecnologias e protocolos Tecnologias de visualização: VRML Java3D 3DML OpenGL DirectX / Direct3D MPEG-4 QuickTime VR MetaStream Protocolos de comunicação: TCP/IP TCP UDP RTP/I CORBA JSDT Protocolos específicos DVW: VRTP DWTP DIS Mu3D
4
2002STF4 Realidade Virtual VRML/WEB3D: Investigação BIOTA Formato binário comprimido Interoperabilidade e conformância Tecnologias para empresas e bases de dados Simulação distribuída e interactiva EAI Animação humanóide Input via teclado Living Worlds VRTP Streaming VRML Conteúdos GeoVRML Extensões orientadas a objectos NLP e animações Bibliotecas multimédia universais Scripts VRML Interacção multimédia / 3D VRML - MPEG4 X3D / VRML-NG
5
2002STF5 Realidade Virtual Áreas de aplicação Edição colaborativa Visualização colaborativa Mundos virtuais Jogos interactivos Telemedicina Simulações do mundo real Engenharia de processos de fabrico Comércio electrónico
6
2002STF6 Transmissão de estados Problemas, requisitos Tipo de média: Interactivo distribuído: Contínuo Discreto Problemas: Transmissão e recepção Replicação Consistência Particionamento Junção tardia Sincronização temporal Requisitos CVE/DVW: Requisitos técnicos Requisitos de segurança Partilha de dados Baixa largura de banda e latência Heterogeneidade da rede Interacções distribuídas Tolerância a falhas Escalabilidade
7
2002STF7 Transmissão de estados Particionamento, sincronização Particionamento: Espacial: GRID LOD BSP Células e portais Caixas limite (Bounding boxes) Técnicas específicas para mundos virtuais multiutilizador: Filtragem Locales e Beacons Aura Sincronização temporal: Características Sincronização absoluta impossível Fonte de tempo externa Atrasos de rede Mecanismos e algoritmos normalmente complexos Requisitos Concordância Precisão Protocolos e algoritmos Software (NTP,SNTP) Hardware
8
2002STF8 Transmissão de estados Consistência, local lag Consistência: Aproximações: Pessimistas Floor control Locking Optimistas Dead reckoning Local lag Reparação de inconsistências de curto prazo: Previsão e transmissão de estados Requisição de estados O algoritmo de timewarp Local lag: Redução de inconsistências de curto prazo A execução da operação é atrasada por um determinado período de tempo T T = Tempo de lag local (local lag) Marca de tempo da mensagem > Tempo em que esta é emitida pelo utilizador Problema: Estimar o valor correcto para o lag local (T)
9
2002STF9 Transmissão de estados Dead reckoning A aplicação conhece o comportamento do objecto “por defeito”, na ausência de mensagens A aplicação prevê o estado do objecto, caso não receba mensagens sobre este Caso uma mensagem seja recebida que altere o estado do objecto, este é corrigido Algumas desvantagens: Não permite verdadeira colaboração Pode causar bastantes inconsistências de curto prazo Necessita de largura de banda
10
2002STF10 Transmissão de estados Timewarp Cada participante: Grava o estado do mundo virtual de tempos a tempos Regista todas as alterações efectuadas desde aí Caso exista uma inconsistência de curto prazo, esta é corrigida: O estado do mundo virtual é recuperado do último gravado Todas as operações são repetidas até à operação imediatamente anterior à que causou a inconsistência Algumas desvantagens: Gasta bastante memória e espaço em disco Necessita de lógica aplicacional complexa
11
2002STF11 Enquadramento anterior CONCHA 1.0 Sistema de gestão de conferências baseado em Java, JSDT e CORBA Baseado em dois serviços nucleares: Gestão de conferências Baseado nas recomendações ITU T.124 (através do uso do JSDT) Comunicação multiponto para as aplicações Baseado na norma ITU T.122 Baseado numa topologia em árvore, com nós proxy e nós terminais Utiliza canais JSDT ou CORBA
12
2002STF12 Enquadramento anterior ARMS Plataforma de middleware para difusão de eventos Compatível com o serviço de eventos CORBA padrão Suporta comunicação multicast de eventos Utiliza o protocolo LRMP Suporta parametrização de QoS - Quality of Service Possibilita comunicação com diferentes níveis de QoS por mensagem: Não fiável Não fiável com notificação de perdas Não fiável com notificação de perdas e ordenação Fiável
13
2002STF13 O novo sistema CONCHA 2.0 Evolui o CONCHA 1.0 nos seguintes pontos: Arquitectura mais modular Sistema mais extensível Utilização de Java 2 (1.3) e a API Swing Interface para aplicações transparente em relação ás tecnologias de comunicação Adicionado suporte para applets Adicionado servidor dedicado Integração ARMS transparente para as aplicações Suporte a JDBC mais transparente Evolução para JSDT 2.0
14
2002STF14 Status Transmission Framework API para transmissão de estados A API fornece interfaces para mecanismos de: Transmissão de estados Recepção de estados Suporte a junção tardia Particionamento do mundo virtual Definição de chaves Definição e classificação de estados Sincronização temporal interna Tratamento e sinalização de timewarps Geração de dados estatísticos para testes
15
2002STF15 Status Transmission Framework Transmissão de estados Streams de interacção: Sequências de STFStateMessage (mensagens de estado), que inclui, entre outros: Chave do estado Estado propriamente dito Marca de tempo Prioridade Classificação de estados: Quanto a redundância Redundantes Essenciais Quanto a volatilidade Volátil Não volátil Quanto a junção tardia Cumulativos Independentes
16
2002STF16 Status Transmission Framework Transmissão de estados Lags de recepção e transmissão
17
2002STF17 Status Transmission Framework Sincronização temporal Sincronização temporal: Exemplo para 3 nós: 2 clientes 1 servidor Processo de votação: Exemplo para 3 nós: 2 participantes 1 candidato (iniciador)
18
2002STF18 Status Transmission Framework Junção tardia Arquitectura: Distribuída Replicada Tolerante a falhas Mecanismo Activado se necessário Automático
19
2002STF19 Status Transmission Framework Junção tardia Processo de junção tardia: Exemplo para 3 nós: 2 servidores 1 cliente (Nó que se junta)
20
2002STF20 Status Transmission Framework Junção tardia Identificação única de mensagens previne repetição da mesma mensagem no mesmo servidor replicado Identificador único de mensagem de estado: Nó de origem Tempo de início de sessão no nó de origem Número de sequência da mensagem no nó de origem
21
2002STF21 Status Transmission Framework Aplicações desenvolvidas Aplicações exemplo com suporte a junção tardia: Chat Whiteboard Aplicação de testes intensivos Permite controlar parâmetros de: Streams de interacção Transmissão Recepção Sincronização temporal Junção tardia
22
2002STF22 Status Transmission Framework Sincronização dos testes Sincronização distribuída dos testes intensivos Funciona para qualquer número de nós em teste maior do que dois Diagrama de sequência UML para três nós em teste:
23
2002STF23 Status Transmission Framework Testes efectuados Testes funcionais Aplicações exemplo Chat Whiteboard Testes de desempenho Aplicação de testes intensivos Testes intensivos à: Transmissão e recepção de estados Junção tardia Sincronização temporal
24
2002STF24 Testes à STF Plataforma de testes Software instalado: Windows 2000 Professional Java Software Development Kit 1.3, da Sun Microsystems e o Java Shared Data Toolkit 2.0 NTPTime Hardware: A- Tejo e B-Sado: Pentium III 733Mhz 128 MB de memória RAM C-Concha Pentium III 500Mhz 128 MB de memória RAM Rede: Ligações ethernet full-duplex a 100Mbit Computadores interligados por um switch
25
2002STF25 Testes à STF Pontos de recolha de dados Nº de mensagens em (B) = Nº de mensagens em (C) A: Processadas B (=C): Transmitidas D: Recebidas
26
2002STF26 Testes à STF Testes de transmissão 3 Streams de interacção simultâneas: Stream 1: Estados redundantes, voláteis e independentes. Stream 2: Estados redundantes, não voláteis e independentes. Stream 3: Estados essenciais, não voláteis e independentes. Prioridade de mensagens: Highest 2 séries de testes Testes de ritmo de transmissão Fixa tamanho do estado, varia ritmo de transmissão Testes de tamanho do estado Fixa ritmo de transmissão, varia tamanho do estado
27
2002STF27 Testes à STF Testes de transmissão Teste de ritmo de transmissão Tamanho do estado 22 bytes, chave 6 bytes (total 28 bytes) Ritmo inicial 5 m/s por cada stream Passos de 5 m/s por cada stream Paragem a 400 m/s por cada stream = 1200 m/s total Paragem forçada se atingido atraso superior a 1 segundo Teste do tamanho do estado Ritmo fixo a 200 m/s por cada stream = 600 m/s total Tamanho inicial do estado = 22 bytes Passos de 100 bytes Paragem forçada se atraso superior a 1 segundo
28
2002STF28 Testes à STF Testes de transmissão Cada teste individual correu durante 20 segundos Lags de recepção e transmissão foram desactivados Sincronização temporal interna desactivada Mecanismo de suporte a junção tardia desactivado Os computadores foram externamente sincronizados via NTP
29
2002STF29 Testes à STF Testes de transmissão
30
2002STF30 Testes à STF Testes de transmissão
31
2002STF31 Testes à STF Testes de transmissão
32
2002STF32 Testes à STF Testes de transmissão Resultados sobre JSDT e sobre ARMS semelhantes Atraso de recepção médio sempre menor que 25 ms Atraso de recepção médio normalmente menor que 20 ms Alvo de 400 m/s atingido sem dificuldades Tamanho do estado não prejudica gravemente o ritmo de transmissão Mensagens descartadas da forma prevista Eficiente utilização dos recursos de rede
33
2002STF33 Testes à STF Testes de junção tardia 3 Streams de interacção simultâneas: Stream 1: Estados redundantes, voláteis e independentes. Stream 2: Estados redundantes, não voláteis e independentes. Stream 3: Estados essenciais, não voláteis e independentes. Prioridade de mensagens: Highest 2 séries de testes (tamanho do estado fixo) Testes de ritmo de transmissão Fixa ritmo de checkpointing, varia ritmo de transmissão Testes do ritmo de checkpointing Fixa ritmo de transmissão, varia ritmo de checkpointing
34
2002STF34 Testes à STF Testes de junção tardia Teste de ritmo de transmissão Ritmo inicial 5 m/s por cada stream Passos de 5 m/s por cada stream Paragem a 400 m/s por cada stream = 1200 m/s total Teste do tamanho do estado Ritmo fixo a 200 m/s por cada stream = 600 m/s total Ritmo de checkpointing: Inicialmente 1 segundo Terminou em 20 segundos Incrementos de 1 segundo
35
2002STF35 Testes à STF Testes de junção tardia Tamanho do estado 22 bytes, chave 6 bytes (total 28 bytes) Cada teste individual correu durante 20 segundos Lags de recepção e transmissão foram desactivados Sincronização temporal interna desactivada Os computadores foram externamente sincronizados via NTP Checkpointing local Timeout de junção tardia: 2 segundos
36
2002STF36 Testes à STF Testes de junção tardia
37
2002STF37 Testes à STF Testes de junção tardia
38
2002STF38 Testes à STF Testes de junção tardia Mecanismo de suporte a junção tardia possui um efeito na eficiência da STF: Não negligenciável Negativo Mais negativo com o aumento do ritmo de transmissão Menos negativo quanto maior for o ritmo de checkpointing Os resultados são semelhantes sobre JSDT e sobre ARMS
39
2002STF39 Testes à STF Testes de sincronização 3 Streams de interacção simultâneas: Stream 1: Estados redundantes, voláteis e independentes. Stream 2: Estados redundantes, não voláteis e independentes. Stream 3: Estados essenciais, não voláteis e independentes. Prioridade de mensagens: Highest 3 séries de testes (tamanho do estado fixo) Testes de ritmo de transmissão Testes do ritmo de heart beat Teste do mecanismo de cálculo do atraso de rede
40
2002STF40 Testes à STF Testes de sincronização Tamanho do estado 22 bytes, chave 6 bytes (total 28 bytes) Cada teste individual correu durante 5 minutos Lags de recepção e transmissão foram desactivados Mecanismo de suporte a junção tardia desactivado
41
2002STF41 Testes à STF Testes de sincronização
42
2002STF42 Testes à STF Testes de sincronização
43
2002STF43 Testes à STF Testes de sincronização
44
2002STF44 Testes à STF Testes de sincronização Os resultados são semelhantes sobre JSDT e sobre ARMS O relógio virtual mantém sincronizado, com ajustes abaixo dos 4 ms Com um ritmo de transmissão de até 5000 m/s Outras conclusões: Quanto maior o intervalo de heartbeat, maiores os ajustes Intervalo de cálculo de atraso de rede não influencia grandemente o mecanismo Número de processos de votação baixo, servidor de tempo muda bastante raramente
45
2002STF45 Conclusões A camada de middleware STF funciona adequadamente A STF resolve os seguintes problemas de manuseamento de estados: Transmissão e recepção mantendo consistência Particionamento do mundo virtual Junção tardia distribuída Sincronização temporal A STF encontra-se preparada para ser utilizada em aplicações reais
46
2002STF46 Trabalho futuro Novos testes Novas optimizações Integração com novas versões do ARMS Suporte a outros tipos de média Maior suporte ao algoritmo de timewarp Desenvolvimento de mais aplicações Implementação da STF em C++ Integração Java3D / OpenGL / Direct3D Investigação e teste: Novos algoritmos, etc.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.