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