Uma plataforma integrada para aplicações de realidade virtual distribuída e colaborativa Pedro Ferreira[1], João Orvalho[2] e Fernando Boavida[3] Laboratório de Comunicações e Serviços Telemáticos CISUC – Centro de Informática e Sistemas da Universidade de Coimbra Polo II, 3030 COIMBRA – PORTUGAL Tel.: +351-239-790000, Fax: +351-239-701266 E-mail: { pmferr , orvalho, [email protected]} [1] Departamento de Engenharia Informática da Escola Superior de Tecnologia, Instituto Politécnico de Tomar [2] Escola Superior de Educação, Instituto Politécnico de Coimbra [3] Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologia, Universidade de Coimbra Aspectos DCVE Visualização – OpenGL, DirectX/Direct3D, Java3D Transmissão do estado – Extensa investigação – Ainda não existe solução padrão integrada DCVE = Distributed Common Virtual Environment Requisitos DCVE Escalabilidade Boa interacção com o utilizador Manutenção da consistência – – Latência abaixo de 150 ou 200 milisegundos, conforme o autor Jitter aceitável Heterogeneidade – Alta dos dados Áudio, vídeo, vrml frequência dos eventos Elevado número de participantes Atrasos de sincronização Frequência de actualização do dispositivo de visualização Arquitectura Diagrama de blocos da plataforma A p lic a ç ã o D C V E CONCHA JS D T STF ARM S JS D T ARMS – Augmented Relyable Multicast Corba Event Service CONCHA – Conference System based on java and corba event channels STF – Status Transmission Framework JSDT – Java Shared Data Toolkit ARMS Extensão ao serviço de eventos CORBA padrão Suporte para distribuição multicast confiável de eventos via lrmp Mecanismos de QoS – – – Controlo de admissão Controlo de jitter Suportado por funções de: • • Monitorização Adaptação Arquitectura orientada a objectos Objectos específicos para: – – Monitorização de perdas Monitorização de jitter Funciona – – STFStateMessage STF Key State Tim estam p Priority sobre qualquer tipo de canal CONCHA JSDT ARMS Pode receber, processar e transmitir qualquer tipo de estado Categoriza estados segundo: – – – Redundância: Essenciais ou redundantes Volatilidade: Voláteis e não voláteis Junção tardia: Independentes ou cumulativos Organiza as mensagens de estado em streams de interacção Mensagens de estado constituídas por chave, estado, prioridade e marca de tempo Controlo de lag de transmissão e recepção Mecanismo de sincronização temporal distribuída interno Mecanismo de suporte a junção tardia distribuída CONCHA 2.0 Sistema de controle de conferências Arquitectura de controle hierárquica Utiliza canais de comunicação – – JSDT ARMS Interface aplicacional transparente Suporte a bases de dados via JDBC Segue as recomendações: – – ITU T.124 ITU T.120 Integra a API STF para suporte de aplicações de realidade virtual Application Testes à STF Application A D STF STF B C ARMS Transm itter ARMS Receiver IP N etw ork Utilizaram-se – – – três streams: Estados redundantes, voláteis e independentes Estados redundantes, não voláteis e independentes Estados essenciais, não voláteis e independentes Executaram-se – – Variou-se o ritmo de transmissão e maneteve-se o tamanho do estado Variou-se o tamanho do estado e manteve-se o ritmo de transmissão Pontos – – – – dois testes: de recolha de dados: A: Estados transmitidos á STF pela aplicação B: Estados transmitidos pela STF para a camada ARMS C: Estados transmitidos pela camada ARMS para a STF D: Estados entregues pela STF á aplicação Resultados dos testes 40 Average total message delay ( milliseconds ) 35 30 25 Total delay 20 40 15 35 10 30 Average total message delay ( milliseconds ) 5 380 395 335 350 365 305 320 275 290 230 245 260 200 215 155 170 185 125 140 95 110 50 65 80 20 35 5 0 Messages / second Latência como função do ritmo de transmissão 20000 18000 25 20 Total delay 15 10 16000 5 12000 Processed 25222 24522 23822 23122 22422 21722 21022 20322 19622 18922 18222 17522 16822 16122 15422 14722 14022 13322 12622 9822 11922 11222 9122 10522 8422 7722 7022 6322 5622 4922 4222 3522 2822 2122 1422 22 Transmitted 722 0 Received 10000 State size ( bytes ) 8000 Latência como função do tamanho do estado 6000 4000 2000 395 380 365 350 335 320 305 290 275 260 245 230 215 200 185 170 155 140 125 95 110 80 65 50 35 20 0 5 Messages in 20 seconds 14000 Messages / second Mensagens como função do ritmo de transmissão Latência – – sempre aceitável Sempre abaixo dos 30 milisegundos Normalmente mesmo abaixo dos 20 milisegundos Sucesso na optimização dos recursos de rede utilizados Trabalho futuro Mais testes: – Escalabilidade – Junção tardia – Lags Optimizações Suporte a mais tipos de multimédia DCVE = Distributed Common Virtual Environment