View
215
Download
0
Category
Preview:
Citation preview
Gerenciamento de Dados Distribuídos em Ambientes
Virtuais de Grande Porte
Profa. Dra. Regina Borges de AraujoDC - UFSCar
DefiniçõesMundo Virtual
Modelagem geométrica tridimensional dos objetos Ambiente Virtual
Simulação do ambiente que permite a interação do usuário
Sistema de Realidade VirtualFornece suporte adequado para a apresentação e gerenciamento
dos ambientes virtuais
Realidade Virtualinterface natural e poderosa de interaçãohomem-máquina que permite ao usuário
interação, navegação e imersão, através de canais multi-sensoriais
em um ambiente 3D sintético, gerado pelo computador
Ambientes Virtuais de Grande Porte - AVGPAmbientes virtuais 3D extensos e/ou multidimensionais,
compartilhados por um número grande de usuários que interagem em aplicações, tais como
jogos multi-usuário, cidades virtuais, shoppings virtuais, treinamento militar (terra, ar, mar) etc
? Motores gráficos e telas? Dispositivos de controle e de interação? Sistema de Computação? Rede de comunicação
Entrada doUsuário
Computação
Exibição
Rede
Componentes de um Sistema de Realidade Virtual Típico
Generatenew picture
Post statechanges tonet
ComputationalModeling
Compute statechanges fromnet reads
Read network
Compute statechanges frominputs
Read inputdevices
SharedMemory
Figure 6-4 Multiple subsystems, multiple threads for the virtual world.
Input Subsystem
Net Read Subsystem
Modeling Subsystem
DisplaySubsystem
Net WriteSubsystem
Subsis Entrada
Subsis EntradaRede
Subsis Modelagem
Subsis Exibição
Subsis SaídaRede
Modelagemcomputacional
Lê Rede
Lê DisposEntrada
Computa troca de estado
A partir entradas
Computa troca de estado
A partir rede
Gera novaimagem
Alterações de estado para rede
Multiplos subsistemas, múltiplos threads para o ambiente virtual
Memóriacompartilhada
Recebe a entradado usuário
Modelo de Simula-ção não físico
Modelo de Simu-lação físico
Simulação física
Ajusta apl./pos./orient. do usuário
Atualiza MundoVirtual
Atualiza aparência./pos/orient. do usuário
Atualiza Força
Atualiza posic/orient. da câmera Atualiza posic/orient.
do ouvinte
Atualiza posic/orient. da fontedo som
Calcula o campode visão
Atualizaaparência do AV
Nível de detalhes
Ignora partes não-visíveis da cena
Cria lista devisualização
Simula modeloespacial do som
Renderiza o som Exerce respostatátil/corporal
[física]
[colisão]
[não física]
[canal de renderização] [auto-falantes] [resposta tátil]
Simulação visual Simulação de áudio
Diagramadas atividades
de uma Simulação
? Sistemas rigidamente acoplados aos requisitos iniciais ? arquiteturas monolíticas ? sistemas não extensíveis
? Impossibilidade de migração de funções de um sistema para outro
? Sistema tem que ser interrompido e “re-codificado” quando ocorrem modificações, para depois ser reiniciado
? Complexidade do sistema exige profundo conhecimento dos profissionais envolvidos
? Síndrome da “reinvenção da roda”? Baixa escalabilidade? Baixa Robustez? A rede é vista como uma “caixa preta”
Problemas no Projeto de AVGP
Requisitos de Projetos de AVGP (1)
? Extensibilidade do sistema em tempo de execução? Modificação no sistema sem ter que interrompê-lo
? Persistência? Existência de ambientes virtuais persistentes compartilhados
por milhares de usuários? Modificações são feitas “on-the-fly”? Não pode haver “reboot” global
? Componibilidade? Reuso/combinação de elementos de diferentes aplicações e
ambientes? Interoperabilidade
? Definição e uso de padrões que permitem a interação entre sistemas heterogêneos
? Adaptabilidade ? Grande número de usuários podem conectar ao sistema a
partir de dispositivos e redes heterogêneas com diferentes capacidades
? Segurança ? Garantia de segurança frente à incorporação de
novas funcionalidades ao sistema, frente à troca de informações sensíveis entre usuários, etc.
? Outros desafios? Renderização de modelos maiores do que Mega
polígonos? Interação mais eficaz do usuário no ambiente
virtual ? Etc.
Requisitos de Projetos de AVGP (2)
extensibilidade interoperabilidade
Persistência adaptabilidade
componibilidade
• Metodologias de projeto de componentes
• Protocolos de comportamento dinâmico
Requisitos de Projetos de AVGP (3)
Segurança princípios de políticas de segurança
Sistemas que utilizam estruturação orientada a objeto
? MAVERICK? Kernel pequeno baseado em princípios de
orientação a objeto
? VRJuggler? Toolkit para desenvolver AV portáteis, flexíveis e
reconfiguráveis em tempo real
? Bamboo? Objetiva promover reusabilidade e
interoperabilidade de código, independentemente da linguagem utilizada
? JADE - Java Adaptive Dynamic Environment
Protocolos de Comportamento Dinâmico
? Cada entidade no AV é capaz de definir seus próprios módulos de protocolo ? Expressam comportamento em AVs
? Mapeamento de mensagens de rede para eventos no AV? Múltiplos protocolos por entidade
? Usados para filtrar dados (um radar pode escolher ignorar tráfego de áudio de qualquer tipo)
? Desacoplados da implementação de protocolos do projeto da entidade? Protocolo de rede de uma entidade pode ser modificado durante a execução
do AV? Oferecem possibilidade de configuração de tráfego da rede em tempo de
execução ? Fácil manutenção? Escalabilidade ? novos comportamentos e entidades adicionadas “on the fly”
? Senso comum de espaço ? O ambiente virtual compartilhado, real ou fictício, deve
apresentar as mesmas características para todos os usuários participantes
? Senso comum de presença? Usuário é representado no ambiente virtual através de um
avatar? Senso comum de tempo
? T0 ou tn com n comum a todos os usuários? Uma forma de comunicação
? Gestos, voz, texto? Uma forma de compartilhamento
? O usuário interage no ambiente e esta interação deve ser perceptível por todos os outros usuários participantes
Características de Ambientes Virtuais Distribuídos
Michael Zyda - 2002
? A entrada de novos usuários no AV aumentam os dados compartilhados e o nível de interação no ambiente
? Mais largura de banda é necessária para manter os dados e disseminar as interações
? Conforme mais usuários entram no AV, mais ciclos de processador são necessários em cada um dos nós dos usuários existentes Michael Zyda - 2002
Escalabilidade e Desempenho
Escalabilidade e Desempenho? Relação entre a rede e o processamento
? chave para melhorar escalabilidade e desempenho
? Recursos = M * N * B * T * P? M – número de mensagens trocadas? N – número médio de nós destino para cada mensagem? B – largura de banda necessária para o envio de uma
mensagem? T – representa o tempo no qual cada pacote deve ser
entregue em cada destino? P – número de ciclos de processador necessários para
receber e processar cada mensagem? Como reduzir M (número de mensagens) e B (largura
de banda por mensagem) enquanto aumenta P (requisito de processador por pacote)?
Michael Zyda - 2002
? Envio de dados apenas para os nós que realmente precisam (ou querem) recebê-los
? Exemplo: Sistema MASSIVE ? Modelo de informação baseado no Conceito de
Aura - Nimbus? Aura - dados devem ser disponibilizados apenas para as
entidades que são capazes de “perceber” aquela informação
? Nimbus - dados devem estar disponíveis apenas para aqueles que estão interessados naquela informação
Desvantagem do modelo de informação Aura-Nimbus
Não escala!
Suporte à escalabilidade
Suporte à escalabilidadeLarga escala – suporte a um número “infinito” de usuários participantes? Gerenciamentro de Área de Interesse
? Uso de técnicas de filtragem de dados - filtros de dados explícitos em cada nó
? Permite gerenciamento de dados de granularidade fina - entrega apenas a informação que o nó destino precisa
? Redução do tráfego gerado pelas interações
? Uso de Multicasting? Modelagem previsiva
? Dead-reckoning
Gerenciamento de Área de Interesse
Questões envolvidas? Latência da Rede, Largura de Banda? Tempo de associação a um grupo multicast
(típicamente 0,5 segundos)? Espaço de endereçamento multicast ? IPv6? Número de grupos multicast suportados pelas
placas de rede do PC/estação de trabalho? Número de rotas multicast suportadas pelos
roteadores de rede? Natureza não confiável do multicast em larga
escala ? precisa de suporte de QoS
Técnicas de redução de tráfego na rede
Problemas com as técnicas de filtragem dos dados
Geração de tráfego desnecessário e redundante
Categorias de técnicas de filtragem? Filtragem baseada no servidor
? O servidor filtra as mensagens que são enviadas para entidades receptoras baseado na expressão de interesse da entidade destino (localização, atributo específico da aplicação)
? Filtragem baseada no transmissor? A entidade transmissora filtra as mensagens que são
enviadas para outras entidades receptoras baseado na expressão de interesse das entidades
? Filtragem baseada em região associada a multicast? O mundo virtual é particionado em regiões – para cada
região é atribuído um endereço multicast.? Interessados na região subscrevem-se no grupo multicast
associado a aquela região
Gerenciamento da Área de Interesse
Gerenciamento da Área de Interesse
? Filtragem baseada no servidor?Pode levar a gargalos, ponto
único de falha => atrasos mais longos, sistema menos interativo
? Filtragem baseada no transmissor? Supera problemas do cliente-
servidor, mas introduz maior complexidade em cada nó da aplicação
? Pode gerar mais tráfego => cada nó interage com todos os outros nós da aplicação
Filtragem de dados baseada em região? Em simulações não militares
? região (locales) pode ser uma sala, um espaço aberto, um hall de entrada
? um grupo multicast é atribuído à região? entidades transmissoras e receptoras interessadas
em uma região associam-se ao grupo multicastcorrespondente
? Em simulações militares? Divisão espacial por região em conformidade com
High Level Architecture (HLA) do DoD? Serviço de Gerenciamento da Distribuição de
Dados – Data Distribution Management (DDM) definido pela HLA
Gerenciamento da Área de interesse
Técnicas de DDM - HLAObjetivos do DDM? Limitar e controlar o volume de dados
trocados ao longo de uma simulações de AVs? Reduzir os requisitos de processamento de
cada nó participante do AV suprindo informação apenas apenas para aqueles que a requerem
Observação fundamental desta estratégia:
Objetos do mundo real podem estar interessados em apenas uma fração dos
objetos que o cercam
Domínio da Região de Interesse
Técnicas de DDM - HLA
Campo
de vis
ão
do ob
jeto
Esquadrão A Esquadrão B
Avião espião
Avião de esquadrão
? Compara diretamente as regiões de subscrição e publicação para encontrar quais as que se justapõem (matching exato)
? Pior caso: cada subscrição é comparada a cada publicação --> O(N2)
? Custo computacional alto? A cada modificação na região de publicação -->
matching com todas as regiões de subscrição? A cada criação ou modificação da região de
subscrição --> matching com todas as regiões de publicação em todos os nós do AV
? Cada nó cria e modifica suas regiões de publicação e subscrição localmente
? O matching tem que ser realizado entre regiões em todos os nós participantes do AV
Técnica Baseada em Região (Region-Based)
? Solução para o matching: Existência de um coordenador_DDM? Todos os nós enviam suas informações de interesse para o
Coordenador_DDM? Coordenador_DDM coleta informação de interesse em um Banco de
Dados? Coordenador_DDM executa o matching entre publicações e subscrições? Se uma intersecção é detectada, um grupo multicast é atribuído para
aquela região de publicação (GMP2)? Coordenador_DDM comunica o
resultado de volta aos nós parte da intersecção engatilhando-os para subscrever/sair no/do grupo multicast associado
? Problemas com a solução baseada em região? Coordenador_DDM e base de dados
centralizados? Matching exaustivo
Técnica Baseada em Região (Region-Based)
Região 1
Região 2
S1
P2
P1
? Esquema DDM baseado em Grade Fixa? cada célula de uma grade é associada a
um grupo multicast (na iniciação do sistema)
? Ao longo da simulação do AV cada nó mapeia as suas regiões de interesse às células da grade correspondente
? Vantagem? Não há processamento de intersecções de
forma direta (matching)? Não há coordenação central
Técnica Baseada em Grade (Grid-Based)
? Motivação: Reduzir os custos computacional e de comunicação do método baseado em região
? Cada região de interesse é mapeada sobre uma grade multi-dimensional que representa o espaço de roteamento
? Desvantagem? Há publicação mesmo que não haja interesse (intersecção) ? Envio
desnecessário de dados? Uso de grande número de grupos multicast
1 2
3 4Campo
de vis
ão
do ob
jeto
Esquadrão A Esquadrão B
Técnica Baseada em Grade (Grid-Based)
? Esquema DDM Híbrido? Busca reduzir o custo de processamento do
matching associado ao método baseado em região? Só executa o matching entre publicações e
subscrições que fazem parte de uma intersecção? Algoritmo
? Todos os nós enviam informação de interesse para um Coordenador_DDM único
? O coordenador determina as intersecções (mapeando as regiões de interesse em um grid)
? O coordenador executa o matching naquelas publicações e subscrições que são mapeadas para as células sobrepostas
? Vantagens? Limita a quantidade de matching que o coordenador_DDM
precisa fazer ? Desvantagem
? Requer coordenação central
Técnica Baseada em Grade (Grid-Based)
Exemplo? Subscrição do avião espião é mapeada
nas células 1 e 3? Publicação de cada avião do esquadrão A
é mapeada na célula 3? Os do esquadrão B na célula 4? Células que são parte de uma subscrição
e de uma publicação representam uma intersecção (célula3)
? Nós que publicam e/ou subscrevem na célula 3 são engatilhados a associarem-se a grupo multicast correspondente
? Apenas a região de subscrição sobrepõe múltiplas células
? Regiões de publicação tipicamente confinadas a uma célula cada
? Esquema DDM baseado em Grade Dinâmica? Impede que publicadores enviem dados quando não há interessados
(subscrições para aqueles dados)? Introduz as seguintes habilidades
? Detecta intersecção e aloca grupo multicast para a(s) célula(s) onde ocorreu a intersecção
? Engatilha associação de nós a grupos multicast
1 2
3 4Campo
de vis
ão
do ob
jeto
Esquadrão A Esquadrão B
Esquema DDM baseado em Grade Dinâmica? Vantagens
? Não é necessário um Coordenador_DDM centralizado ?torna o método relativamente “escalável”
? Grupos multicast são alocados dinamicamente baseado em intersecções atuais ? uso de número menor de grupos multicast
? Desvantagens? Precisão do matching tende a ser menor que a do método
baseado em região? Mapeamento de regiões de interesse para as células da
grade pode não ser exato? Fronteiras da região podem não ser exatas ? Geração de
tráfego desnecessário
Técnica Baseada em Grade (Grid-Based)
Comparação entre Técnicas de DDM
XX-X--Detecção deintersecção
X-X-X-Coordenaçãonão centralizada
XXX---Matching Não-Exaustivo
-X-XXXMatching Exato
GridDinâmico
HíbridoGrid Fixo
RegiãoTxServidorVariantes
? Inúmeros outros esquemas baseados em variações dos métodos baseados em grade e em regiões
? Esquema Grid-Filtered Region-Based? Combina as vantagens do esquemas baseado em região com
as vantagens do esquema baseado em grade? Reduz ainda mais o tráfego gerado, através de matching
mais preciso? Considera o tamanho da célula e a porcentagem de
sobreposição de uma região em relação a célula ? Por ex. 60% de sobreposição de uma região sobre uma
célula, o método considera multicasting para a célula toda, abaixo disso, faz verificação de sobreposição (matching) de área de interesse uma-a-uma
Técnica Baseada em Região e Grade (Grid-Based)
Recommended