Um Framework Baseado no Protocolo IPv6 para Suporte a Ambientes Virtuais Distribuídos Leopoldo W. Malacrida Dundes [email protected] Ronaldo C. Messias Correia [email protected] Rogério Eduardo Garcia [email protected] Universidade Estadual Paulista “Júlio de Mesquita Filho” - UNESP Faculdade de Ciências e Tecnologia – FCT Presidente Prudente – SP ABSTRACT Most of architectures proposed for developing Distributed Virtual Environment (DVE) allow limited number of users. To support the development of applications using the internet infrastructure based on IPv4 protocol, with hundred or, perhaps, thousands users logged simultaneously on DVE, several techniques for managing resources, such as bandwidth and capability of processing, must be implemented. We have proposed a framework for supporting communication on DVE using the next generation protocol: IPv6. The facilities in IPv6, such as the scalability of multicast and anycast routing, allows for more efficient forwarding and greater flexibility to improve the communication process on a DVE. In this paper we present the results obtained by simulating a DVE using a framework based on IPv6, showing the protocol efficiency on DVE. Keywords IPv6, Multicast, Distributed Virtual Environment, Framework, Anycast, Quality of Service. 1. INTRODUÇÃO Ambientes virtuais distribuídos (AVD) devem satisfazer uma variedade de características, como: possibilidade de crescimento incremental, tolerância a falhas, facilidade de manutenção, interação em tempo real, escalabilidade, resposta rápida a novos requisitos de sistemas, fidelidade da inserção do usuário no ambiente (13). Satisfazer todas essas características é um problema complexo considerando a estrutura atual da Internet, cujo protocolo de comunicação utilizado é o IPv4. Sua implementação não garante níveis de performance satisfatórios a AVDs em larga escala, pois em geral, a entrada de novos usuários aumenta a quantidade de dados compartilhados e o nível de interação no ambiente, exigindo mais recursos de rede do que os proporcionados pelo IPv4 para manter os dados atualizados e disseminar as interações entre os participantes. Assim, como a rede é usada para transmitir informações e sincronizar objetos compartilhados no ambiente e fazer com que o ambiente se aproxime ao máximo de um ambiente real, a taxa de transferência e a escalabilidade desses sistemas ficam limitados aos escassos recursos do IPv4 em relação a sistemas distribuídos. Uma solução mais adequada para atingir todas as características inerentes a estes ambientes é a adoção do protocolo IPv6 no processo de comunicação. O IPv6 apresenta diversas funcionalidades que possibilitam obter um aumento na eficiência de comunicação em um ambiente distribuído se comparado com o IPv4, dentre elas: multicast nativo, roteamento mais eficiente, anycast, maior faixa de endereçamentos, IPSec (IP Security Protocol) integrado, QoS (Quality of Service) padronizado (12). Esta artigo tem o objetivo de apresentar o framework AVDNet6, capaz de manipular eficientemente funcionalidades do IPv6, fornecendo estrutura e comportamento genéricos para os AVDs e podendo ser adaptado ou estendido para atender variadas necessidades. A AVDNet6 teve motivação na necessidade de prover à AVDNet, que é uma arquitetura de software consistente e flexível para criação e gerenciamento de aplicações de realidade virtual distribuída não específicas (7), uma camada de gerenciamento mais eficaz e acima de tudo otimizar o uso dos limitados recursos de rede em AVDs não específicos de larga escala. Para apresentar detalhes desta pesquisa, o artigo encontra-se organizado como segue. Na seção 2 são apresentados conceitos e características inerentes aos ambientes virtuais distribuídos. Na seção 3 é apresentada a arquitetura AVDNet. São apresentados características que beneficiam o uso do IPv6 em AVDs na seção 4. A AVDNet6 é apresentada na seção 5. São apresentadas as simulações e a conclusão na seção 6 e 7, respectivamente. 2. AMBIENTES VIRTUAIS DISTRIBUÍDOS Ambientes Virtuais Distribuídos (AVDs) são sistemas de software que permitem que múltiplos usuários interajam em tempo real num ambiente compartilhado, independente da localização geográfica desses usuários (13). A variedade de funcionalidades que os AVDs devem apresentar torna esse tipo de sistema cada vez mais complexo à medida que se pretende aproximá-lo dos ambientes reais. Esses ambientes de simulação devem suportar intensa interação distribuída, pois com a participação de diversos usuários o ambiente deve garantir confiabilidade e desempenho satisfatórios para que participantes possam interagir entre si em tempo real, e inclusive reagir a informações do ambiente também em tempo real. A taxa máxima de transmissão e o tempo de retardo das redes de comunicação têm grande influência na qualidade dos AVDs, principalmente no que diz respeito à interação em tempo real e ao número máximo de participantes. Atualmente, o grande desafio encontrado na implementação de AVDs é o baixo desempenho das redes de computadores em geral, principalmente das redes Wide Area Network (WAN) (7). Os AVDs precisam garantir que a entrega de pacotes tenha latência mínima para permitir que as imagens do ambiente virtual sejam geradas, para cada um dos usuários, numa freqüência suficiente para garantir a ilusão de realidade. A unidade básica de transmissão de dados entre os participantes em um AVD é o PDU (Protocol Data Unit). Para ocorrer troca de informações em um AVD é necessário o uso de um padrão de mensagens para que todos os seus diversos participantes possam manipular de forma uniforme essas informações. Esse protocolo deve ser capaz de modelar todo o fluxo de informações necessárias para que o AVD funcione eficientemente. Na evolução dos AVDs, dois modelos merecem destaque: o protocolo DIS (Distributed Interactive Simulation), que consiste num grupo de padrões desenvolvidos pelo Departamento de Defesa Americano e por entidades da indústria cujo principal emprego destina-se a construção dos simuladores militares, mas especificamente para campos de batalha; e os protocolos Games que também são conhecidos como SRMPs (Scalable Reliable Multicast Protocols) e são inspirados em jogos multiusuários de computadores. Os protocolos Games não necessitam transmitir definições completas do estado de um objeto, podendo apresentar diversos tipos de PDUs especializadas para cada operação realizada por uma determinada entidade virtual (mover, falar, voar, etc.), ao contrário do protocolo DIS (14). adicionais que podem ser gerados pela distribuição dos dados (latência); modelagem dos objetos tridimensionais e seus comportamentos; sincronização da visualização do ambiente entre os participantes e resposta rápida a novos requisitos do sistema (7). A escalabilidade em ambientes virtuais distribuídos é determinada pelo número de participantes simultâneos que eles podem suportar. Para isso, métodos e técnicas que gerenciam recursos de largura de banda de rede e capacidade de processamento foram propostos e integrados na AVDNet, tais como: gerenciamento de áreas de interesse ou regiões, predição da posição dos objetos através do Dead reckoning, nível de detalhamento da imagem através da distância do avatar, agregação e compressão de pacotes de atualização, balanceamento da carga através de servidores adicionais, e em especial a proposta do protocolo de comunicação multicast em nível de aplicação, que permite a utilização das aplicações por qualquer host da Internet, independente dos roteadores suportarem ou não multicast nativo (3). A organização da arquitetura distribui os requisitos em vários componentes inter-relacionados, destacando-se três módulos de acordo com suas funcionalidades: Modelagem, Gerenciamento e Comunicação. Para cada um dos módulos, destacam-se os componentes, que oferecem e utilizam serviços uns dos outros e especificam os padrões e procedimentos para a realização de suas funções, conforme apresentado na Figura 1. Historicamente, padrões de mensagem que são usados em AVDs são compilados por software e todas as entidades que participam do ambiente devem utilizar esses padrões para que seja possível a interação entre todos os participantes. 3. A ARQUITETURA AVDNet A AVDNet é uma arquitetura de software consistente e flexível para criação e gerenciamento de aplicações de realidade virtual distribuída não específicas, capaz de suportar uma grande quantidade de participantes conectados ao ambiente, através da infra-estrutura disponível atualmente na Internet (7). Permite implementar a interação e a detecção de colisão de objetos em tempo real, mantendo a sincronia e consistência do estado dos objetos. Possibilita também o tratamento dos aspectos envolvidos na colaboração entre os participantes do mundo virtual. Ela identifica e sustenta os requisitos funcionais e não funcionais relacionados ao desenvolvimento e gerenciamento de AVDs, tais como: comunicação e interação entre os objetos e participantes do ambiente virtual em tempo real; tráfego gerado por sistemas desse tipo; impactos causados por atrasos Figura 1. Estrutura da AVDNet O módulo de Comunicação permite que as estações participem efetivamente em sessões de comunicação em grupo, fornecendo um canal de comunicação entre os grupos de participantes, de forma a aperfeiçoar e gerenciar as mensagens enviadas e recebidas entre os participantes. A AVDNet, baseada na infra-estrutura atual da Internet, propõe o protocolo de comunicação multicast em nível de aplicação como uma técnica alternativa para o gerenciamento da comunicação em grupo em aplicações de realidade virtual distribuída. O mapeamento da topologia física da proposta deste protocolo é apresentado na Figura 2, e por meio de uma análise rápida na qual é considerado somente o número de pacotes transmitidos em todos os enlaces físicos, identifica-se que são enviadas 33, 23, e 16 cópias de pacotes respectivamente para as comunicações unicast, multicast em nível de aplicação, e IP multicast. Assim, a respeito do unicast, o IP multicast reduz os recursos usados em 52% e multicast em nível de aplicação em 30%. Dependendo da distribuição física das estações esses percentuais podem variar, e para algumas situações o desempenho do multicast em nível de aplicação pode ser ainda melhor. de informações de forma eficiente ao longo da rede. A capacidade de rede é um recurso limitado, portanto deve ser cuidadosamente alocada aos fluxos gerados em um AVD. A variedade de características faz com que AVDs se tornem muito complexos a medida que se aproximam dos ambientes reais, o que se faz necessário o uso de uma tecnologia que possibilite que múltiplos usuários interajam simultaneamente de forma escalável e com ótimo desempenho. As vantagens do IPv6 são superiores quando comparados ao IPv4. Dentre as vantagens, destacam-se: capacidade de endereçamento expandida, cabeçalho aprimorado de 40 bytes com suporte a extensão, autoconfiguração de endereços, alocação e direcionamento de recursos, novo tipo de conexão, autenticação e privacidade bem definidos, conexão multicast nativa. A representação de endereços IPv6 utiliza 128 bits ao invés dos 32 bits do protocolo IPv4, aumentando significamente a possibilidade de representação de participantes em AVDs. Esse novo endereçamento exige uma notação diferente da representação decimal separada por pontos usada no IPv4. A seguir são apresentadas algumas funcionalidades do IPv6 que são exploradas na comunicação de AVDs para aumentar a eficiência no processo de comunicação, e que foram consideradas na AVDNet6: 4.1 Multicast Conexões multicast provêem um poderoso e flexível método para distribuir mensagens para um grande número de participantes em um AVD com o mínimo esforço de distribuição e uso dos recursos de rede. Figura 2. Mapeamento da Topologia Física da AVDNet. 4. PROTOCOLO IPV6 O IPv6 (Internet Protocol version 6), é o protocolo de comunicação tido como sucessor do IPv4. Apesar do tempo de uso do IPv4, que surgiu no final da década de 1970, o principal motivo para a atualização do IP foi a limitação no espaço de endereços, que poderá ser uma barreira ao aumento potencial dos aparelhos conectados a internet, proporcionado principalmente pelos aparelhos móveis: celulares, PDAs, câmeras (12). Porém, o IPv6 acabou incorporando muitas outras melhorias e funcionalidades. Apesar de muitas semelhanças conceituais entre os dois protocolos, o IPv6 muda a maior parte dos detalhes. Os projetistas aproveitaram a oportunidade para ajustar e ampliar aspectos do IPv4 com base na experiência operacional acumulada sobre esse protocolo. Muitas técnicas têm sido desenvolvidas para diminuir o tráfego de pacotes enviados a rede, porém poucas para gerenciar o fluxo É um tipo de serviço que permite a rede suportar comunicações ponto-multiponto, ou seja, um pacote pode ser endereçado para um grupo de participantes que possuem endereço único, assim o roteador é o responsável em replicar os pacotes e encaminhá-los para um ou mais participantes presentes na sua sub-rede. Portanto, para que conexões multicast sejam estabelecidas, é necessário que os roteadores dêem suporte a este tipo de conexão (7). Essa tecnologia já está disponível em grande parte dos equipamentos de rede mais recentes. A maioria dos novos roteadores já vem com suporte a IPv6 através do dual-stack. No entanto, o problema de se utilizar sistemas distribuídos multicast na Internet situa-se nos roteadores já instalados e ativos, já que na rede mundial de computadores é inviável prever um determinado caminho na qual existam somente roteadores habilitados com dual-stack e multicast. O uso de túneis faz-se necessário nesses casos para que pacotes IPv6 possam trafegar sobre uma rede IPv4. 4.2 QoS – Quality of Service O suporte a QoS implementado no IPv6 disponibiliza um mecanismo robusto de colaboração entre os objetos em um AVD. A especificação (15) determina uma estrutura mais aprimorada e mais simples que no IPv4, todo cabeçalho possui um campo Traffic Class de 8 bits e um Flow Label de 20 bits. O Traffic Class distingue as diferentes classes e prioridades no pacote IPv6. O que permite direcionar tipos de tráfegos especiais a determinados processamentos, podendo obter escalabilidade e processamento diferenciados a cada nó no caminho do tráfego. Já o Flow Label é usado para rotular pacotes que pertencem a fluxos particulares para os quais o remetente requisita tratamento especial. 4.2 Anycast Um mesmo endereço anycast pode ser atribuído a múltiplas interfaces de rede simultaneamente. Isso permite que um pacote destinado a um endereço anycast seja enviado para a melhor interface de rede de acordo com o protocolo de roteamento (17). eles não são aplicações completas, são definidos pontos de extensão que devem ser preenchidos pela aplicação que os utilizam. A organização da estrutura do framework AVDNet6 foi baseada em módulos separados de acordo com suas funcionalidades: Cliente e Servidor. Para cada módulo foram especificados componentes que interagem entre si e declaram padrões e procedimentos para a realização das respectivas funções: O anycast é geralmente usado como uma maneira de fornecer a disponibilidade elevada a determinado serviço ou servidor específico, além de ser usado também como forma de balanceamento de carga para serviços sem estado (6). Porém, a tecnologia requer uma infra-estrutura de controle mais complexa do que as requeridas em conexões unicast. E determinadas topologias em AVDs podem se beneficiar do uso do anycast, como topologias Cliente-Servidor de múltiplos servidores permitem que o participante possa encontrar o melhor servidor para conexão inicial ao ambiente (6). 4.4 Fragmentação/Remontagem O IPv6 não permite a fragmentação e remontagem de datagramas IP em roteadores intermediários, ao contrário do IPv4. Essas operações podem ser realizadas somente pelo remetente e pelo destinatário do tráfego. Assim, se um datagrama for maior que a MTU (Maximum Transmission Unit) da rede, o roteador simplesmente o descarta e envia uma mensagem ICMP (Internet Control Message Protocol) para a origem, que então o fragmenta em múltiplos datagramas menores. A montagem e fragmentação de datagramas IP são processos que consomem muito tempo, a execução de tais tarefas apenas nos sistemas finais acelera consideravelmente o repasse de pacotes e conseqüentemente melhora a eficiência em AVDs. Para evitar que os datagramas sejam fragmentados sucessivas vezes, o IPv6 utiliza uma técnica para que um percurso seja escolhido dinamicamente de modo que seja um bom caminho a ser percorrido pelos datagramas, técnica conhecida como PMTU (Path MTU Discovery). Se o caminho entre o remetente e o destinatário não estiver situado na mesma rede, provavelmente neste caminho existe uma rede que tenha menor MTU do que as outras, e assim o tamanho do pacote é limitado pela menor MTU das redes presentes no caminho do pacote. Enfim, o uso de IPv6 em AVDs pode aumentar substancialmente o troughput e suprir as necessidades de criação e gerenciamento de aplicações distribuídas que necessitem suportar uma grande quantidade de participantes conectados ao ambiente. Na Seção 5 são apresentados os resultados e desempenhos obtidos em relação aos protocolos IPv6 e IPv4. 5. FRAMEWORK AVDNet6 O desenvolvimento de um framework requer um enorme esforço de desenvolvimento, pois as principais características de um framework são, entre outras, modularidade, reusabilidade, extensibilidade e inversão de controle que eles oferecem aos desenvolvedores (7). Pela própria característica dos framework, Figura 3: Módulos AVDNet6 O framework AVDNet6 provê características específicas a AVDNet através do acoplamento de funcionalidades implementadas pelo IPv6 e que contribuem para aumentar a eficiência do ambiente. O framework, proposto para estudo neste artigo, é utilizado como uma camada de extensão da camada de comunicação da AVDNet. Assim como mostrado na figura 4: Figura 4. Extensão da Camada de Comunicação da AVDNet Além da AVDNet6 contribuir para que a AVDNet suporte IPv6, o framework pode ser facilmente estendido para uso em AVDs não específicos. A AVDNet6 atua como uma camada intermediária entre toda a comunicação estabelecida nos AVDs. As conexões pelos participantes do ambiente são efetuadas com o uso de threads de controle, fornecendo agilidade e funcionalidade inerentes à AVD. O dinamismo das threads na AVDNet6 permite que o módulo Servidor sempre fique disponível a conexões de participantes, e que o módulo Cliente sempre fique disponível para o envio de mensagens. A flexibilidade da AVDNet6 permite que cada módulo atue independentemente, tanto que garante recursos de usabilidade tanto para participantes que atuam como servidor, cliente, ou ambos. A simplicidade de utilização do framework garante que o AVDNet6 seja utilizado nas mais diversas arquiteturas de AVDs com alta confiabilidade. A curva de aprendizagem de usabilidade do framework é relativamente pequena, pois acima de tudo, o esforço de desenvolvimento na manutenção de parâmetros como simplicidade, integração e eficiência tornam-se fundamentais. encapsulado ao protocolo IPv6 para o envio aos destinatários presentes no AVD. 5.1 Troca de Mensagens Como os PDUs que são utilizados em AVDs são simples, e geralmente de tamanho pequeno (3), a leitura da mensagem XML para validação e manipulação é realizada com a criação de uma representação na memória em forma de árvore, também conhecido como parser DOM (Document Object Model). As interações podem ser realizadas entre participantes e entre participantes e objetos do ambiente em um AVD. Quando um objeto pode sofrer alterações de posição e orientação, e tais orientações devem ser replicadas a todos os participantes para garantir a integridade do ambiente. Além do mais, tradicionalmente, AVDs podem operar somente com padrões de mensagens que estão definidos quando o AVD inicia, ou seja, se algum novo protocolo ou PDU necessite ser adicionado à arquitetura, o ambiente tem que ser parado, compilado e reiniciado para que as novas alterações tenham efeito, contrariando totalmente a dinâmica e a percepção de realidade de AVDs. Como o framework AVDNet6 foi desenvolvido para atuar em diversos AVDs, inclusive na AVDNet, um padrão de mensagens foi desenvolvido para ser utilizado e garantir a heterogeneidade. A AVDNet6 utiliza o XML (Extensible Markup Language) para encapsular todas as trocas de informações entre os participantes. A figura a seguir, mostra o processo de comunicação da AVDNet6 em relação a AVDNet. A facilidade com que as mensagens são criadas e manipuladas permite explorar recursos específicos de determinado ambiente obtendo uma melhor performance da rede. Para evitar que mensagens XML inválidas possam trafegar pelo AVD, as mensagens XML que trafegam pelo AVDNet6 permitem que sejam validadas por um DTD (Document Type Definition), permitindo um desenvolvimento flexível, provendo um meio não proprietário, robusto, verificável e padronizado para armazenamento e transmissão de dados pela rede de comunicação (3). 6. Resultados Para que o AVDNet6 seja avaliado, é suficiente que o framework seja instanciado em algum AVD. Porém, no desenvolvimento dos AVDs pode ser implementados uma variedade de métodos e técnicas para garantir a gerência de recursos, como largura de rede e capacidade de processamento, compressão e agregação de pacotes, servidores adicionais, gerenciamento de interesse, etc. Entretanto, a avaliação do framework não pode depender do processamento de algum AVD, já que todo o processamento e gerência de recursos podem ser centralizados no AVD, o que não causaria confiabilidade nos resultados apresentados. Para que a AVDNet6 seja utilizada nas simulações foi criado um sistema de apoio para fornecer funcionalidade ao framework e simular o comportamento de um AVD. O sistema de apoio é capaz de gerar PDUs dinamicamente para que operações que envolvam troca de pacotes e avaliação de desempenho desses pacotes na rede de comunicação sejam avaliadas. Figura 5: Comunicação na AVDNet6 A linguagem XML define uma forma padronizada para adição de marcações e documentos contendo informação estruturada (5). A capacidade de extensão e flexibilidade da linguagem permite que ela se adapte a qualquer tipo de documento, favorecendo que qualquer sistema que possa suportar XML poderá participar do AVD através da AVDNet6. A linguagem é adequada a AVDs cuja necessidade de trabalhar com rápidas mudanças é fundamental, além de promover o reúso de informações, permitindo que as informações possam fluir entre aplicações diversas e AVDs de arquiteturas desconhecidas. Para que a AVDNet6 seja estendida a diversos AVDs, a AVDNet6 possui um mecanismo capaz de transformar um objeto PDU, gerado pelo AVD e de estrutura desconhecida ao framework, em um documento XML que é posteriormente A estrutura da rede Ethernet de comunicação utilizada para as simulações foi feita com o uso de dois computadores utilizando como Sistema Operacional GNU/Linux com Kernel 2.4.31 e com um switch interligando-os. A rede foi configurada para aceitar ambos os tipos de protocolos: IPv4 e IPv6. Para análise dos pacotes, foi utilizado um analisador de pacotes para que todo tipo de tráfego IPv6 ou IPv4 sejam capturados, chamado de Ethereal: ao mesmo pacote em IPv4. Porém, nesta simulação, diversos pacotes foram gerados para reproduzir o comportamento do modelo de tráfego de um AVD. A figura 8 mostra os resultados encontrados: Figura 6: Ethereal A partir do sistema de apoio, um único PDU de informações foi gerado e repassado para a AVDNet6 que posteriormente foi enviado pela rede de comunicação em formato XML por meio de comunicação unicast. O tamanho do PDU foi aumentado em cada sessão de envio para verificar as mudanças ocorridas no tempo de roteamento. O tempo que o pacote IPv6 levou para percorrer todo o caminho entre os dois computadores apresentou um menor tempo e, conseqüentemente, um melhor resultado da taxa de transferência do que o mesmo PDU empacotado pelo IPv4. O gráfico da Figura 7 exprime os resultados: Figura 8: Tempo de vantagem em segundos do IPv6 sobre o IPv4 por meio do envio crescente de PDUs de 86 bytes Os PDUs de atualização e estado dos participantes são freqüentes e de extrema importância em AVDs. Toda interação criada no AVD gera um PDU correspondente de atualização ou estado, como por exemplo: entrada de um novo participante no sistema, interações com objetos pelos participantes, movimentação pelo ambiente, etc. 7. Conclusão A popularização do uso de computadores nos mais diversos segmentos da sociedade e a expansão da internet são alguns dos fatores que têm impulsionado a pesquisa e o desenvolvimento de tecnologias computacionais cada vez mais elaboradas e parecidas ao cotidiano das pessoas. As facilidades de acesso a redes de comunicação são responsáveis em expandir o uso de computador na sociedade (7) (11). Os resultados apresentados pelas simulações da AVDNet6, mostram a potencialidade do protocolo IPv6 em integrar Ambientes Virtuais Distribuídos, contribuindo para um avanço no senso de realismo aos participantes envolvidos. Figura 7: Relação entre tamanho e tempo no IPv6 e IPv4 O pacote IPv6, apesar de apresentar um maior cabeçalho de dados do que o IPv4, obtêm um ganho significativo no roteamento pelo switch quando os pacotes de dados (PDUs) são de aproximadamente 1.000 bytes, ou maiores. Entretanto no modelo de tráfego de AVD, as estações geram uma grande quantidade de pacotes. As taxas de ativação desses serviços estão geralmente relacionadas com as ações realizadas pelos participantes do ambiente. O gráfico a seguir mostra a vantagem no tempo de tráfego que um PDU de 86 bytes empacotado pelo IPv6 leva em comparação Pacotes de informações de tamanho maior no IPv6 apresentam melhor tempo de envio do que pacotes de informações de tamanho menor. Pacotes maiores de dados exploram melhor os recursos de rede e são melhores roteados pelos equipamentos de rede. A AVDNet6 permite que procedimentos e métodos responsáveis pelo processo de comunicação da AVDNet possam ser retirados, movendo toda essa responsabilidade da camada de comunicação para a AVDNet6. Além da AVDNet, outros AVDs podem usufruir dessa vantagem e retirar a carga extra do sistema no processo de comunicação. A flexibilidade do framework AVDNet6 permite que AVDs com configurações heterogêneas possam ser integrados ao framework com sucesso e facilidade. Como padrão de mensagens para envio de dados, a linguagem XML não é um método compacto para representar dados. Para perspectivas futuras, técnicas de compressão XML podem ser usadas para produzirem mensagens de menor tamanho e possibilitar que menos recursos de redes de comunicação sejam utilizados. 8. REFERENCES [1] Balikhina, T.; Ball, F.; Duce, D.; Distributed Virtual Environments — An Active Future? The 20 th Eurographics UK Conference, De Montfort University, Leicester, UK , Junho 2002. [2] Çapin, T. K.; Pandzic, I. S.; Magnenat-Thalman, N.; Thalman, D.; Avatars in Networked Virtual Environments. John Wiley and Sons, 1999. [3] .Correia, R. C. M., Pellegrino, S. M., Scalable Distributed Virtual Environments Using Multicast Application Level. In: 9th International Conference on Computer Supported Cooperative Work in Design (CSCWD 2005), 2005, Coventry, UK. Proceedings of the 9th International [4] Conference on Computer Supported Cooperative Work in Design, 2005. v. 1. p. 140-145. [5] World Wide Web Consortium. XML W3C. http://www.w3.org/XML/ - Acessado em 16/08/2008 [6] Eraslan, M; Georganas, N. D. ; Gallardo, J. R.; Makrakis D.; A scalable network architeture for distributed virtual environments with dynamic QoS over Ipv6. School of Information Technology and Engineering, University of Ottawa, Ontario, Canada, 2007. [7] Correia, R. C. M. AVDNet-Arquitetura para Ambientes Virtuais Distribuídos Escaláveis Baseada na Infra-Estrutura Atual da Internet. Tese de Doutorado, Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, 2005. [8] Greenhalgh, C., Benford, S., Reynard, G., 1999. A QoS Architecture for Collaborative Virtual Environments. Proceedings of 1999 ACM Conference on Multimedia (MM’99), pp. 121-130. [9] Greenhalgh, C., Benford, S., 1995. Massive: A Collaborative Virtual Environment for Teleconferencing. In ACM transactions on Computer Human Interactions. Vol. 2, No. 3, pp. 239-261. [10] Santos, C. A. S.; Passos, C; Marques, M; Tecnologias para o processamento e documentos XML: Uma abordagem Java. CEPERC – Centro de Pesquisas Interdepartamental em Redes de Computadores – Salvador, BA, 2003. [11] Netto, A.V.; Machado, L. S.; Oliveira, M. C.; Realidade Virtual – Fundamentos e Aplicações. Visual Books, 2002. [12] Kurose, J. F.; Ross K. W.; Redes de computadores e Internet. Pearson Addison-Wesley, 2006. [13] Singhal, S.; Zyda, M. Networked Virtual Environments: Design and Implementation. 1. ed. Addison Wesley Pub Co Inc,1999. 331p. [14] Júnior, A. J. M. L.; Vidal, C. A.; ATAXIA: Uma arquitetura para a viabilização de NVE's voltados para a Educação a Distância através da Internet. Dissertação de Mestrado, Universidade Federal do Ceará, Fortaleza, CE, 2000 [15] Network Working Group. Internet Protocol, version 6 (IPv6), 1998, http://www.ietf.org/rfc/rfc2460.txt – Acessado em 15/01/2008